ruch
Version:
Revolutionary React TypeScript CLI with hexagonal architecture & AI-powered development assistance. Create maintainable, scalable applications with domain-driven design and integrated AI tooling.
40 lines (35 loc) • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getPortTemplate = void 0;
const getPortTemplate = (domainName) => {
const capitalizedName = domainName.charAt(0).toUpperCase() + domainName.slice(1);
return `import type { ${capitalizedName}Entity, ${capitalizedName}CreationData, ${capitalizedName}UpdateData } from '../entities/${capitalizedName}';
/**
* Port interface for ${capitalizedName} domain
* This interface defines the contract that adapters must implement
*/
export interface ${capitalizedName}Port {
/**
* Get all ${domainName} entities
*/
getAll(): Promise<${capitalizedName}Entity[]>;
/**
* Get a ${domainName} entity by ID
*/
getById(id: string): Promise<${capitalizedName}Entity>;
/**
* Create a new ${domainName} entity
*/
create(data: ${capitalizedName}CreationData): Promise<${capitalizedName}Entity>;
/**
* Update an existing ${domainName} entity
*/
update(id: string, data: ${capitalizedName}UpdateData): Promise<${capitalizedName}Entity>;
/**
* Delete a ${domainName} entity
*/
delete(id: string): Promise<void>;
}`;
};
exports.getPortTemplate = getPortTemplate;
//# sourceMappingURL=ports.js.map