Frontend Entity (Angular)
Overview
Criar entidades de domínio em TypeScript puro — sem dependências Angular, HttpClient ou PrimeNG. Aplicar o tipo Result<T, E> para retornos sem exceções (estilo Go).
Guidelines
- Entidades são TypeScript puro — sem
import { inject } from '@angular/core'. - Usar
type Result<T, E = AppError> = Ok<T> | Err<E>com helpersok()eerr(). - Construtor privado + static factory
create()retornandoResult<Entity>. - Validações no
create()retornamerr()em vez dethrow. - Erros específicos do BC como
type <Bc>Errorouenum <Bc>ErrorCode.
Workflow
- Criar
Result<T, E>emshared/result/result.ts(reutilizado por todos os BCs). - Criar interface
<Nome>(dados) e class<Nome>Entitycom factorycreate(). - Validações retornam
err(message)— nuncathrow. - Criar em
features/<bc>/domain/<nome>.entity.ts.
References
- Consultar references/angular-entity-pattern.md para código completo.
- Consultar ../skills-standards.md para convenções globais.
Global Standards
- Consultar ../skills-standards.md para padrões globais de nomenclatura e convenções gerais entre skills.