UNPKG

1.04 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6// (C) 2007-2018 GoodData Corporation
7var invariant_1 = __importDefault(require("invariant"));
8var find_1 = __importDefault(require("lodash/find"));
9var every_1 = __importDefault(require("lodash/every"));
10var Rules = /** @class */ (function () {
11 function Rules() {
12 this.rules = [];
13 }
14 Rules.prototype.addRule = function (tests, callback) {
15 this.rules.push([tests, callback]);
16 };
17 Rules.prototype.match = function (subject, params) {
18 var _a = find_1.default(this.rules, function (_a) {
19 var tests = _a[0];
20 return every_1.default(tests, function (test) { return test(subject, params); });
21 }), callback = _a[1];
22 invariant_1.default(callback, "Callback not found :-(");
23 return callback;
24 };
25 return Rules;
26}());
27exports.Rules = Rules;