Files
agentic-dev/turbo/generators/templates/reader/reader.ts.hbs
2026-07-12 08:15:46 +00:00

26 lines
858 B
Handlebars

// packages/{{kebabCase feature}}/src/integrations/readers/{{kebabCase feature}}.reader.ts
import type { I{{pascalCase feature}}Reader } from "./{{kebabCase feature}}.reader.interface";
/**
* Internal implementation of I{{pascalCase feature}}Reader.
* Wraps existing use cases — does not add domain logic.
* Constructed by bind-production / bind-dev-seed; never exported.
*
* All injected use cases MUST be ReadOnly-branded (mutates: false).
*/
export class {{pascalCase feature}}Reader implements I{{pascalCase feature}}Reader {
// Inject ReadOnly-branded use cases via constructor:
//
// constructor(
// private getUser: ReadOnly<IGetUserUseCase>,
// ) {}
//
// Then delegate:
//
// async exists(userId: string): Promise<boolean> {
// const user = await this.getUser({ id: userId });
// return user !== null;
// }
}