15 lines
640 B
JavaScript
15 lines
640 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.deserialize = deserialize;
|
|
const registry_1 = require("../registry");
|
|
const generic_1 = require("./generic");
|
|
function deserialize(deserializer, into, registry = registry_1.GlobalRegistry) {
|
|
var _a;
|
|
const de = registry.deserializers.get(into);
|
|
if (de == null) {
|
|
throw new ReferenceError(`No deserializer for ${into.name}`);
|
|
}
|
|
else {
|
|
return de(new generic_1.ProxyDeserializer(deserializer, (_a = into === null || into === void 0 ? void 0 : into[Symbol.metadata]) === null || _a === void 0 ? void 0 : _a.serde));
|
|
}
|
|
}
|