Files
puaros/packages/guardian/examples/good-architecture/application/mappers/UserMapper.ts
imfozilbek 03705b5264 feat(guardian): add guardian package - code quality analyzer
Add @puaros/guardian package v0.1.0 - code quality guardian for vibe coders and enterprise teams.

Features:
- Hardcode detection (magic numbers, magic strings)
- Circular dependency detection
- Naming convention enforcement (Clean Architecture)
- Architecture violation detection
- CLI tool with comprehensive reporting
- 159 tests with 80%+ coverage
- Smart suggestions for fixes
- Built for AI-assisted development

Built with Clean Architecture and DDD principles.
Works with Claude, GPT, Copilot, Cursor, and any AI coding assistant.
2025-11-24 02:54:39 +05:00

45 lines
1.1 KiB
TypeScript

import { User } from "../../domain/aggregates/User"
import { UserResponseDto } from "../dtos/UserResponseDto"
/**
* User Mapper
*
* DDD Pattern: Mapper
* - Converts between domain and DTOs
* - Isolates domain from presentation
* - No business logic
*
* SOLID Principles:
* - SRP: only mapping
* - OCP: extend for new DTOs
*
* Clean Architecture:
* - Application layer
* - Protects domain integrity
*/
export class UserMapper {
/**
* Map domain entity to response DTO
*/
public static toDto(user: User): UserResponseDto {
return {
id: user.userId.value,
email: user.email.value,
firstName: user.firstName,
lastName: user.lastName,
fullName: user.fullName,
isActive: user.isActive,
isBlocked: user.isBlocked,
registeredAt: user.registeredAt.toISOString(),
lastLoginAt: user.lastLoginAt?.toISOString(),
}
}
/**
* Map array of entities to DTOs
*/
public static toDtoList(users: User[]): UserResponseDto[] {
return users.map((user) => UserMapper.toDto(user))
}
}