UNPKG

@selfage/counter

Version:

A dead simple in-memory Counter class.

20 lines 2.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.eqCounter = eqCounter; const test_matcher_1 = require("@selfage/test_matcher"); function eqCounter(expected) { return (actual) => { if (expected === undefined) { (0, test_matcher_1.assertThat)(actual, (0, test_matcher_1.eq)(undefined), `nullity`); return; } (0, test_matcher_1.assertThat)(actual.size, (0, test_matcher_1.eq)(expected.length), `counter size`); let i = 0; for (let [key, count] of actual) { (0, test_matcher_1.assertThat)(key, expected[i][0], `${i}th key`); (0, test_matcher_1.assertThat)(count, (0, test_matcher_1.eq)(expected[i][1]), `${i}th count`); i++; } }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9tYXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdF9tYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsOEJBZ0JDO0FBbEJELHdEQUFnRTtBQUVoRSxTQUFnQixTQUFTLENBQ3ZCLFFBQXNDO0lBRXRDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNoQixJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFBLHlCQUFVLEVBQUMsTUFBTSxFQUFFLElBQUEsaUJBQUUsRUFBQyxTQUFTLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM3QyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUEseUJBQVUsRUFBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUEsaUJBQUUsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ2hDLElBQUEseUJBQVUsRUFBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5QyxJQUFBLHlCQUFVLEVBQUMsS0FBSyxFQUFFLElBQUEsaUJBQUUsRUFBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEQsQ0FBQyxFQUFFLENBQUM7UUFDTixDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvdW50ZXIgfSBmcm9tIFwiLi9jb3VudGVyXCI7XHJcbmltcG9ydCB7IE1hdGNoRm4sIGFzc2VydFRoYXQsIGVxIH0gZnJvbSBcIkBzZWxmYWdlL3Rlc3RfbWF0Y2hlclwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVxQ291bnRlcjxLPihcclxuICBleHBlY3RlZD86IEFycmF5PFtNYXRjaEZuPEs+LCBudW1iZXJdPlxyXG4pOiBNYXRjaEZuPENvdW50ZXI8Sz4+IHtcclxuICByZXR1cm4gKGFjdHVhbCkgPT4ge1xyXG4gICAgaWYgKGV4cGVjdGVkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgYXNzZXJ0VGhhdChhY3R1YWwsIGVxKHVuZGVmaW5lZCksIGBudWxsaXR5YCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGFzc2VydFRoYXQoYWN0dWFsLnNpemUsIGVxKGV4cGVjdGVkLmxlbmd0aCksIGBjb3VudGVyIHNpemVgKTtcclxuICAgIGxldCBpID0gMDtcclxuICAgIGZvciAobGV0IFtrZXksIGNvdW50XSBvZiBhY3R1YWwpIHtcclxuICAgICAgYXNzZXJ0VGhhdChrZXksIGV4cGVjdGVkW2ldWzBdLCBgJHtpfXRoIGtleWApO1xyXG4gICAgICBhc3NlcnRUaGF0KGNvdW50LCBlcShleHBlY3RlZFtpXVsxXSksIGAke2l9dGggY291bnRgKTtcclxuICAgICAgaSsrO1xyXG4gICAgfVxyXG4gIH07XHJcbn1cclxuIl19