Как реализовать Decorator паттерн в Node.js?

Middle
251 просмотров
AFK Offer AI

Decorator добавляет поведение без изменения оригинального объекта. Функциональный стиль: function withLogging(fn: T): T { return (async (...args) => { logger.info("calling", fn.name); const result = await fn(...args); logger.info("done", fn.name); return result; }) as any as T }. Класс декоратор: class CachedUserRepo implements IUserRepository { constructor(private repo: IUserRepository, private cache: Cache) {} async findById(id) { return this.cache.get(id) ?? await this.repo.findById(id) } }. TypeScript @decorator синтаксис — дополнительный уровень.

Следующий вопрос

Как тестировать микросервисы в Node.js?