@breadstone/ziegel-platform-mapping
v0.0.9
Published
A convention based object to object mapper.
Readme
@breadstone/ziegel-platform-mapping
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
npm install @breadstone/ziegel-platform-mapping
# or
yarn add @breadstone/ziegel-platform-mapping🧩 Features & Usage Examples
Auto Mapping
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
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
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
import {
// Auto Mapping
AutoMapper,
// Configuration
MapperConfiguration,
Mapper,
// Transformation
TransformationPipeline,
// Utilities
MappingProfile,
MapperOptions
} from '@breadstone/ziegel-platform-mapping';📚 API Documentation
For detailed API documentation, visit: API Docs
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
