UNPKG

@dipscope/type-manager

Version:

Transform JSON strings or plain objects into JS class instances.

32 lines 1.62 kB
import { ReferenceKey } from './reference-key'; import { ReferenceValue } from './reference-value'; import { ReferenceValueGetter } from './reference-value-getter'; import { SerializerContext } from './serializer-context'; /** * Reference handler to resolve object references. * * @type {ReferenceHandler} */ export interface ReferenceHandler { /** * Defines reference. Called during serialization. * * @param {SerializerContext<any>} serializerContext Serializer context. * @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a serializing object. * @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key. * * @returns {ReferenceValue} Resolved reference value. */ define(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue; /** * Restores reference. Called during deserialization. * * @param {SerializerContext<any>} serializerContext Serializer context. * @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a deserializing object. * @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key. * * @returns {ReferenceValue} Resolved reference value. */ restore(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue; } //# sourceMappingURL=reference-handler.d.ts.map