@bitbite/filtered-list
Version:
filter a list of items
29 lines (28 loc) • 931 B
JavaScript
;
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;