@breadstone/ziegel-platform-serialization
v0.0.9
Published
Includes a set of serialization providers. (Json, Xml)
Readme
@breadstone/ziegel-platform-serialization
Advanced serialization and deserialization services for the ziegel platform. Provides JSON, XML, binary serialization with custom formatters and type preservation for enterprise applications.
Serialization: Enterprise serialization with multiple formats, type preservation, and custom serializers.
🚀 Overview
@breadstone/ziegel-platform-serialization provides:
- Multiple Formats: JSON, XML, Binary, and custom serialization formats
- Type Preservation: Maintain TypeScript types during serialization/deserialization
- Custom Serializers: Extensible serializer system for complex objects
- Schema Validation: Built-in validation during deserialization
- Performance Optimization: Efficient serialization with streaming support
- Decorator Support: Attribute-based serialization configuration
📦 Installation
npm install @breadstone/ziegel-platform-serialization
# or
yarn add @breadstone/ziegel-platform-serialization🧩 Features & Usage Examples
JSON Serialization
import { JsonSerializer, Serializable, SerializeProperty } from '@breadstone/ziegel-platform-serialization';
@Serializable()
class User {
@SerializeProperty({ name: 'user_id' })
id: number;
@SerializeProperty()
name: string;
@SerializeProperty({ ignore: true })
password: string;
}
const serializer = new JsonSerializer();
const json = serializer.serialize(user);
const deserializedUser = serializer.deserialize<User>(json, User);XML Serialization
import { XmlSerializer, XmlElement, XmlAttribute } from '@breadstone/ziegel-platform-serialization';
@XmlElement('Person')
class Person {
@XmlAttribute()
id: number;
@XmlElement()
name: string;
@XmlElement('contact-info')
email: string;
}
const xmlSerializer = new XmlSerializer();
const xml = xmlSerializer.serialize(person);Custom Serializers
import { SerializerBase, ISerializationContext } from '@breadstone/ziegel-platform-serialization';
class DateSerializer extends SerializerBase<Date> {
serialize(value: Date, context: ISerializationContext): string {
return value.toISOString();
}
deserialize(value: string, context: ISerializationContext): Date {
return new Date(value);
}
}Binary Serialization
import { BinarySerializer } from '@breadstone/ziegel-platform-serialization';
const binarySerializer = new BinarySerializer();
const buffer = binarySerializer.serialize(complexObject);
const restored = binarySerializer.deserialize<ComplexObject>(buffer, ComplexObject);📚 Package import points
import {
// JSON Serialization
JsonSerializer,
Serializable,
SerializeProperty,
// XML Serialization
XmlSerializer,
XmlElement,
XmlAttribute,
// Binary Serialization
BinarySerializer,
// Custom Serializers
SerializerBase,
ISerializationContext,
// Configuration
SerializationOptions
} from '@breadstone/ziegel-platform-serialization';📚 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
