UNPKG

@jsonjoy.com/json-expression

Version:

High-performance JSON Pointer implementation

41 lines (40 loc) 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Vars = void 0; const get_1 = require("@jsonjoy.com/json-pointer/lib/get"); const util_1 = require("@jsonjoy.com/json-pointer/lib/util"); const validate_1 = require("@jsonjoy.com/json-pointer/lib/validate"); class Vars { constructor(env) { this.env = env; this.vars = new Map(); this.env = env; } get(name) { if (!name) return this.env; return this.vars.get(name); } set(name, value) { if (!name) throw new Error('Invalid varname.'); this.vars.set(name, value); } has(name) { if (!name) return true; return this.vars.has(name); } del(name) { if (!name) throw new Error('Invalid varname.'); return this.vars.delete(name); } find(name, pointer) { const data = this.get(name); (0, validate_1.validateJsonPointer)(pointer); const path = (0, util_1.toPath)(pointer); return (0, get_1.get)(data, path); } } exports.Vars = Vars;