@c11/engine.db
Version:
The engine db
54 lines • 4.84 kB
JavaScript
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=
;