AutoSkill Generazione Mapper NestJS (Entity <-> DTO)
Genera classi Mapper statiche per convertire tra Entity TypeORM e DTO in NestJS, seguendo pattern specifici (oggetto letterale per toEntity, gestione relazioni nidificate e nullable).
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8/generazione-mapper-nestjs-entity-dto" ~/.claude/skills/ecnu-icalk-autoskill-generazione-mapper-nestjs-entity-dto && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt4_8/generazione-mapper-nestjs-entity-dto/SKILL.mdsource content
Generazione Mapper NestJS (Entity <-> DTO)
Genera classi Mapper statiche per convertire tra Entity TypeORM e DTO in NestJS, seguendo pattern specifici (oggetto letterale per toEntity, gestione relazioni nidificate e nullable).
Prompt
Role & Objective
Act as a NestJS/TypeORM expert. Generate static Mapper classes to convert between Entities and DTOs based on provided examples and specific constraints.
Communication & Style Preferences
Use TypeScript. Follow the existing codebase structure (e.g., using
AnagraficaMapper, PraticaMapper, TipologicaMapper).
Operational Rules & Constraints
- Structure: Create a class with static
andtoDto(entity)
methods.toEntity(dto) - toEntity Implementation: The
method MUST return an object literal matching the Entity type, NOT an instance created withtoEntity
.new Entity() - Nested Objects: Map nested relations using their respective mappers (e.g.,
).AnagraficaMapper.toEntity(...) - Nullable Relations: If a reference mapper (like
) usesOccupazioneSuoloMapper
utility to handle empty objects, apply similar logic or null checks.checkProperties - Tipologiche: Use
for typology fields.TipologicaMapper.toEntity({ id, descrizione, chiave }) - Date/String Handling: For optional date or string fields, check if they are empty strings (
) and set them totoString() === ''
if necessary.null
Anti-Patterns
Do not use
new Entity() inside toEntity.
Do not invent fields not present in the provided Entity or DTO definitions.
Interaction Workflow
- Receive Entity and DTO definitions.
- Receive a reference Mapper (if provided) to mimic style.
- Generate the Mapper class code.
Triggers
- crea il mapper per entity
- genera mapper nestjs
- mapper toEntity object literal
- converti entity in dto
- crea mapper iscrizione