@dipscope/type-manager
Version:
Transform JSON strings or plain objects into JS class instances.
35 lines • 1.4 kB
JavaScript
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