@ts-utilkit/serialization
v0.2.0
Published
Serialization and deserialization utilities for various data formats
Downloads
136
Maintainers
Readme
@ts-utilkit/serialization
Data serialization and deserialization utilities for TypeScript.
Installation
npm install @ts-utilkit/serializationFeatures
- 🚀 TypeScript-first with complete type definitions
- ✅ Comprehensive test coverage (>95%)
- 📦 Tree-shakeable ESM and CommonJS support
- 🔒 Type-safe with strict TypeScript configuration
- 📖 Extensive JSDoc documentation
- 🔄 Multiple format support (JSON, CSV, XML, YAML, Binary, Buffer, Query String)
- 🛡️ Circular reference handling
- 🗜️ Flattening/unflattening for complex structures
Available Functions (18)
Serialization Functions
serializeToJSON- Serialize data to JSON stringserializeToCSV- Serialize array of objects to CSV formatserializeToXML- Serialize data to XML formatserializeToYAML- Serialize data to YAML formatserializeToBinary- Serialize data to binary formatserializeToBuffer- Serialize data to Node.js BufferserializeToQueryString- Serialize object to URL query string
Deserialization Functions
deserializeFromJSON- Deserialize from JSON string with type safetydeserializeFromCSV- Deserialize from CSV format to array of objectsdeserializeFromXML- Deserialize from XML formatdeserializeFromBinary- Deserialize from binary formatdeserializeFromBuffer- Deserialize from Node.js BufferdeserializeFromQueryString- Deserialize from URL query string
Utility Functions
cloneViaSerialization- Deep clone by serializing and deserializinghandleCircularReferences- Handle circular references in objectssanitizeForSerialization- Sanitize data before serializationflattenForSerialization- Flatten nested structures for serializationunflattenFromSerialization- Unflatten serialized data back to nested structure
Quick Example
import {
serializeJSON,
deserializeJSON,
serializeXML,
} from '@ts-utilkit/serialization';
serializeJSON({ a: 1 }); // '{"a":1}'
deserializeJSON('{"a":1}'); // {a: 1}
serializeXML({ root: { item: 'value' } }); // '<root><item>value</item></root>'License
MIT © Mykyta Forofontov
Contributing
Contributions are welcome! Please see the main repository for contribution guidelines.
