UNPKG

@gooddata/gooddata-js

Version:
28 lines (27 loc) 1.04 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); // (C) 2007-2018 GoodData Corporation var invariant_1 = __importDefault(require("invariant")); var find_1 = __importDefault(require("lodash/find")); var every_1 = __importDefault(require("lodash/every")); var Rules = /** @class */ (function () { function Rules() { this.rules = []; } Rules.prototype.addRule = function (tests, callback) { this.rules.push([tests, callback]); }; Rules.prototype.match = function (subject, params) { var _a = find_1.default(this.rules, function (_a) { var tests = _a[0]; return every_1.default(tests, function (test) { return test(subject, params); }); }), callback = _a[1]; invariant_1.default(callback, "Callback not found :-("); return callback; }; return Rules; }()); exports.Rules = Rules;