UNPKG

@c11/engine.db

Version:

The engine db

54 lines 4.84 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.triggerWildcardFn = void 0; var engine_types_1 = require("@c11/engine.types"); var getNode_1 = __importDefault(require("./getNode")); var pathExists_1 = __importDefault(require("./pathExists")); var splitPath_1 = __importDefault(require("./splitPath")); var triggerListener_1 = require("./triggerListener"); function triggerWildcardFn(db, path, fnId, patch) { if (patch === void 0) { patch = []; } var fns = db.updates.fns[path]; if (!fns || !fns[fnId] || !fns[fnId].fn) { return; } var refinee = fns[fnId].refinee; var parts = (0, splitPath_1.default)(path); var idx = parts.indexOf("*"); var root = "/" + parts.slice(0, idx).join("/"); var sufix = parts.slice(idx + 1); if (refinee.type === engine_types_1.AccessMethods.isObserved) { var triggers = db.updates.triggers[root]; if (!triggers) { return; } var selected = triggers.filter(function (x) { return x !== path; }); var len = selected.length; while (len--) { (0, triggerListener_1.triggerListenerFn)(db, path, fnId, [{ path: selected[len], op: "test" }]); } } else { var node_1 = (0, getNode_1.default)(db, root); if (node_1) { Object.keys(node_1).forEach(function (x) { if (node_1[x] && sufix.length > 0) { var nodePath = "".concat(root, "/").concat(x, "/").concat(sufix.join("/")); if ((0, pathExists_1.default)(db, nodePath)) { (0, triggerListener_1.triggerListenerFn)(db, path, fnId, [{ path: nodePath, op: "test" }]); } } else { (0, triggerListener_1.triggerListenerFn)(db, path, fnId, [ { path: "".concat(root, "/").concat(x), op: "test" }, ]); } }); } } } exports.triggerWildcardFn = triggerWildcardFn; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcldpbGRjYXJkRm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZm4vdHJpZ2dlcldpbGRjYXJkRm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQWtEO0FBRWxELHNEQUFnQztBQUNoQyw0REFBc0M7QUFDdEMsMERBQW9DO0FBQ3BDLHFEQUFzRDtBQUV0RCxTQUFnQixpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFVO0lBQVYsc0JBQUEsRUFBQSxVQUFVO0lBQzFELElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRS9CLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ3ZDLE9BQU87S0FDUjtJQUVELElBQUksT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFFaEMsSUFBTSxLQUFLLEdBQUcsSUFBQSxtQkFBUyxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLElBQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsSUFBTSxJQUFJLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRCxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVuQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssNEJBQWEsQ0FBQyxVQUFVLEVBQUU7UUFDN0MsSUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU87U0FDUjtRQUNELElBQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLEtBQUssSUFBSSxFQUFWLENBQVUsQ0FBQyxDQUFDO1FBQ3BELElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFFMUIsT0FBTyxHQUFHLEVBQUUsRUFBRTtZQUNaLElBQUEsbUNBQWlCLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMxRTtLQUNGO1NBQU07UUFDTCxJQUFNLE1BQUksR0FBRyxJQUFBLGlCQUFPLEVBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksTUFBSSxFQUFFO1lBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQyxDQUFDO2dCQUMxQixJQUFJLE1BQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDL0IsSUFBSSxRQUFRLEdBQUcsVUFBRyxJQUFJLGNBQUksQ0FBQyxjQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUUsQ0FBQztvQkFDakQsSUFBSSxJQUFBLG9CQUFVLEVBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFO3dCQUM1QixJQUFBLG1DQUFpQixFQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQ3JFO2lCQUNGO3FCQUFNO29CQUNMLElBQUEsbUNBQWlCLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7d0JBQ2hDLEVBQUUsSUFBSSxFQUFFLFVBQUcsSUFBSSxjQUFJLENBQUMsQ0FBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUU7cUJBQ3JDLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7S0FDRjtBQUNILENBQUM7QUExQ0QsOENBMENDIn0=