@jplorg/jpl
Version:
JPL interpreter
79 lines (78 loc) • 3.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {
getOptions: true,
parse: true,
run: true,
getBuiltins: true,
parseFunction: true
};
exports.default = void 0;
Object.defineProperty(exports, "getBuiltins", {
enumerable: true,
get: function () {
return _builtins.default;
}
});
exports.parse = exports.getOptions = void 0;
Object.defineProperty(exports, "parseFunction", {
enumerable: true,
get: function () {
return _parseFunction.default;
}
});
exports.run = void 0;
var _builtins = _interopRequireDefault(require("./builtins"));
var _createSingleton = _interopRequireDefault(require("./createSingleton"));
var _interpreter = _interopRequireWildcard(require("./interpreter"));
var _parseFunction = _interopRequireDefault(require("./interpreter/parseFunction"));
var library = _interopRequireWildcard(require("./library"));
Object.keys(library).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === library[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return library[key];
}
});
});
var _program = require("./program");
var _runtime = require("./runtime");
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const getGlobalOptions = exports.getOptions = (0, _createSingleton.default)(async () => ({
interpreter: {},
program: {},
runtime: {
vars: {
...(await (0, _builtins.default)())
}
}
}));
const parse = async (source, options) => {
const globalOptions = await getGlobalOptions();
const interpreter = new _interpreter.default({
interpreter: (0, _interpreter.applyInterpreterDefaults)(options?.interpreter, globalOptions.interpreter),
program: (0, _program.applyProgramDefaults)(options?.program, globalOptions.program),
runtime: (0, _runtime.applyRuntimeDefaults)(options?.runtime, globalOptions.runtime)
});
return interpreter.parse(source);
};
exports.parse = parse;
const run = async (source, inputs, options) => {
const program = await parse(source, options);
return program.run(inputs);
};
exports.run = run;
var _default = exports.default = {
...library,
run,
parse,
parseFunction: _parseFunction.default,
getBuiltins: _builtins.default,
getOptions: getGlobalOptions
};