Skip to content

MIT LicenseTypeScriptnpm

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

  • @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

Released under the MIT License.