UNPKG

@jsonjoy.com/json-type

Version:

High-performance JSON Pointer implementation

22 lines 935 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DiscriminatorCodegen = void 0; const json_expression_1 = require("@jsonjoy.com/json-expression"); const Vars_1 = require("@jsonjoy.com/json-expression/lib/Vars"); const operators_1 = require("@jsonjoy.com/json-expression/lib/operators"); const util_1 = require("../util"); class DiscriminatorCodegen { } exports.DiscriminatorCodegen = DiscriminatorCodegen; DiscriminatorCodegen.get = (0, util_1.lazyKeyedFactory)((or) => { const expr = or.schema.discriminator; if (!expr || (expr[0] === 'num' && expr[1] === 0)) throw new Error('NO_DISCRIMINATOR'); const codegen = new json_expression_1.JsonExpressionCodegen({ expression: expr, operators: operators_1.operatorsMap, }); const generated = codegen.run().compile(); return (data) => +generated(new Vars_1.Vars(data)); }); //# sourceMappingURL=index.js.map