@dipscope/type-manager
Version:
Transform JSON strings or plain objects into JS class instances.
28 lines • 936 B
TypeScript
import { SerializerContext } from './serializer-context';
import { TypeLike } from './type-like';
/**
* Serializer.
*
* @type {Serializer<TObject>}
*/
export interface Serializer<TObject> {
/**
* Serializes provided value.
*
* @param {TypeLike<TObject>} x Some value.
* @param {SerializerContext<TObject>} serializerContext Serializer context.
*
* @returns {TypeLike<any>} Serialized value.
*/
serialize(x: TypeLike<TObject>, serializerContext: Readonly<SerializerContext<TObject>>): TypeLike<any>;
/**
* Deserializes provided value.
*
* @param {TypeLike<any>} x Some value.
* @param {SerializerContext<TObject>} serializerContext Serializer context.
*
* @returns {TypeLike<TObject>} Deserialized value.
*/
deserialize(x: TypeLike<any>, serializerContext: SerializerContext<TObject>): TypeLike<TObject>;
}
//# sourceMappingURL=serializer.d.ts.map