annotations-design-patterns
    Preparing search index...

    Function Validate

    • Valida los argumentos antes de ejecutar el método: si el guard no devuelve true, lanza TypeError con el motivo y el método NO se ejecuta (precondiciones, diseño por contrato).

      Type Parameters

      • Args extends unknown[]

      Parameters

      Returns <This, Return>(
          target: (this: This, ...args: Args) => Return,
          context: ClassMethodDecoratorContext<
              This,
              (this: This, ...args: Args) => Return,
          >,
      ) => (this: This, ...args: Args) => Return

      class Account {
      @Validate((amount: number) => amount > 0 || 'el importe debe ser positivo')
      deposit(amount: number): void { ... }
      }