annotations-design-patterns
    Preparing search index...

    Function Decorate

    • Aplica el patrón Decorator a un método: lo sustituye por la versión envuelta que devuelve wrapper. Se pueden apilar varios; el más cercano al método se aplica primero (queda más adentro).

      Type Parameters

      • This
      • Args extends unknown[]
      • Return

      Parameters

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

      const logged: MethodWrapper<unknown, unknown[], unknown> = (original) =>
      function (...args) {
      console.log('llamada con', args);
      return original.apply(this, args);
      };

      class Service {
      @Decorate(logged)
      work(): void { ... }
      }