@dipscope/type-manager
Version:
Transform JSON strings or plain objects into JS class instances.
33 lines • 1.78 kB
TypeScript
import { ReferenceHandler } from '../reference-handler';
import { ReferenceKey } from '../reference-key';
import { ReferenceValue } from '../reference-value';
import { ReferenceValueGetter } from '../reference-value-getter';
import { SerializerContext } from '../serializer-context';
/**
* Circular reference handler which preserves references as is even if the circular is detected.
*
* @type {CircularReferenceHandler}
*/
export declare class CircularReferenceHandler implements 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=circular-reference-handler.d.ts.map