UNPKG

@bitbite/filtered-list

Version:

filter a list of items

29 lines (28 loc) 931 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var FilteredList = /** @class */ (function () { function FilteredList(list) { var _this = this; this.list = list; this.filtered = []; this.assertions = []; this.assertAll = function (item) { return _this.assertions.some(function (assertion) { return assertion(item) === false; }) ? false : true; }; } /** * Assert all * @param assertions a list of assertions to be executed */ FilteredList.prototype.assert = function () { var assertions = []; for (var _i = 0; _i < arguments.length; _i++) { assertions[_i] = arguments[_i]; } this.assertions = assertions; this.filtered = this.list.filter(this.assertAll); return this.filtered; }; return FilteredList; }()); exports.FilteredList = FilteredList;