Object mapping and transformation utilities for the ziegel platform. Provides powerful mapping patterns, auto-mapping capabilities, and data transformation pipelines for enterprise applications.
Data Mapping: Enterprise object mapping with auto-mapping, transformation pipelines, and flexible mapping configurations.
🚀 Overview
@breadstone/ziegel-platform-mapping provides:
- Auto Mapping: Automatic object-to-object mapping based on property names
- Custom Mapping: Flexible mapping configuration with custom transformation rules
- Transformation Pipelines: Chained transformations for complex data processing
- Validation Integration: Built-in validation during mapping operations
- Performance Optimization: Efficient mapping with caching and optimization
- Type Safety: Full TypeScript support with type inference
📦 Installation
bash
npm install @breadstone/ziegel-platform-mapping
# or
yarn add @breadstone/ziegel-platform-mapping🧩 Features & Usage Examples
Auto Mapping
typescript
import { AutoMapper } from '@breadstone/ziegel-platform-mapping';
interface SourceModel {
id: number;
name: string;
email: string;
}
interface TargetModel {
id: number;
name: string;
email: string;
}
const mapper = new AutoMapper();
const target = mapper.map<SourceModel, TargetModel>(source, TargetModel);Custom Mapping Configuration
typescript
import { MapperConfiguration, Mapper } from '@breadstone/ziegel-platform-mapping';
const config = new MapperConfiguration()
.createMap<User, UserDto>()
.forMember(
(dest) => dest.fullName,
(opt) => opt.mapFrom((src) => `${src.firstName} ${src.lastName}`),
)
.forMember(
(dest) => dest.isActive,
(opt) => opt.mapFrom((src) => src.status === 'active'),
);
const mapper = new Mapper(config);
const userDto = mapper.map(user, UserDto);Transformation Pipelines
typescript
import { TransformationPipeline } from '@breadstone/ziegel-platform-mapping';
const pipeline = new TransformationPipeline<RawData, ProcessedData>()
.addStep((data) => normalizeData(data))
.addStep((data) => validateData(data))
.addStep((data) => enrichData(data));
const result = await pipeline.execute(rawData);📚 Package import points
typescript
import {
// Auto Mapping
AutoMapper,
// Configuration
MapperConfiguration,
Mapper,
// Transformation
TransformationPipeline,
// Utilities
MappingProfile,
MapperOptions,
} from '@breadstone/ziegel-platform-mapping';📚 API Documentation
Related Packages
- @breadstone/ziegel-platform: Core platform services
- @breadstone/ziegel-core: Foundation utilities and type definitions
License
MIT
Issues
Please report bugs and feature requests in the Issue Tracker
Part of the ziegel Enterprise TypeScript Framework