UNPKG

@dipscope/type-manager

Version:

Transform JSON strings or plain objects into JS class instances.

35 lines 1.4 kB
var PlainReferenceHandler = (function () { function PlainReferenceHandler() { } PlainReferenceHandler.prototype.define = function (serializerContext, referenceKey, referenceValueGetter) { var referenceMap = serializerContext.referenceMap; var referenceValue = referenceMap.get(referenceKey); if (referenceValue === undefined) { referenceMap.set(referenceKey, referenceKey); var value = referenceValueGetter(); referenceMap.set(referenceKey, value); return value; } if (referenceValue === referenceKey) { return undefined; } return referenceValue; }; PlainReferenceHandler.prototype.restore = function (serializerContext, referenceKey, referenceValueGetter) { var referenceMap = serializerContext.referenceMap; var referenceValue = referenceMap.get(referenceKey); if (referenceValue === undefined) { referenceMap.set(referenceKey, referenceKey); var value = referenceValueGetter(); referenceMap.set(referenceKey, value); return value; } if (referenceValue === referenceKey) { return undefined; } return referenceValue; }; return PlainReferenceHandler; }()); export { PlainReferenceHandler }; //# sourceMappingURL=plain-reference-handler.js.map