@jsonjoy.com/json-expression
Version:
High-performance JSON Pointer implementation
41 lines (40 loc) • 1.12 kB
JavaScript
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;
;