UNPKG

@dipscope/type-manager

Version:

Transform JSON strings or plain objects into JS class instances.

31 lines 1.2 kB
export class PlainReferenceHandler { define(serializerContext, referenceKey, referenceValueGetter) { const referenceMap = serializerContext.referenceMap; const referenceValue = referenceMap.get(referenceKey); if (referenceValue === undefined) { referenceMap.set(referenceKey, referenceKey); const value = referenceValueGetter(); referenceMap.set(referenceKey, value); return value; } if (referenceValue === referenceKey) { return undefined; } return referenceValue; } restore(serializerContext, referenceKey, referenceValueGetter) { const referenceMap = serializerContext.referenceMap; const referenceValue = referenceMap.get(referenceKey); if (referenceValue === undefined) { referenceMap.set(referenceKey, referenceKey); const value = referenceValueGetter(); referenceMap.set(referenceKey, value); return value; } if (referenceValue === referenceKey) { return undefined; } return referenceValue; } } //# sourceMappingURL=plain-reference-handler.js.map