serde-ts/dist/de/impl.js

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));
}
}