"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createMembershipSet = createMembershipSet; exports.membershipAdd = membershipAdd; exports.membershipHas = membershipHas; exports.membershipDelete = membershipDelete; exports.membershipClear = membershipClear; exports.membershipFromArray = membershipFromArray; exports.membershipToArray = membershipToArray; exports.membershipDedupeArray = membershipDedupeArray; exports.membershipForEach = membershipForEach; function createMembershipSet() { return new Map(); } function membershipAdd(set, key) { set.set(key, true); return set; } function membershipHas(set, key) { return set.has(key); } function membershipDelete(set, key) { return set.delete(key); } function membershipClear(set) { set.clear(); } function membershipFromArray(items) { const set = createMembershipSet(); for (const item of items) { set.set(item, true); } return set; } function membershipToArray(set) { return [...set.keys()]; } /** 去重数组(替代 Array.from(new Set(...)) / [...new Set(...)]) */ function membershipDedupeArray(items) { return membershipToArray(membershipFromArray(items)); } function membershipForEach(set, fn) { for (const key of set.keys()) { fn(key); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtYmVyc2hpcFNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9NZW1iZXJzaGlwU2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0Esa0RBRUM7QUFFRCxzQ0FHQztBQUVELHNDQUVDO0FBRUQsNENBRUM7QUFFRCwwQ0FFQztBQUVELGtEQU1DO0FBRUQsOENBRUM7QUFHRCxzREFFQztBQUVELDhDQUlDO0FBMUNELFNBQWdCLG1CQUFtQjtJQUMvQixPQUFPLElBQUksR0FBRyxFQUFXLENBQUM7QUFDOUIsQ0FBQztBQUVELFNBQWdCLGFBQWEsQ0FBSSxHQUFxQixFQUFFLEdBQU07SUFDMUQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkIsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBZ0IsYUFBYSxDQUFJLEdBQTZCLEVBQUUsR0FBTTtJQUNsRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELFNBQWdCLGdCQUFnQixDQUFJLEdBQXFCLEVBQUUsR0FBTTtJQUM3RCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FBSSxHQUFxQjtJQUNwRCxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQWdCLG1CQUFtQixDQUFJLEtBQWtCO0lBQ3JELE1BQU0sR0FBRyxHQUFHLG1CQUFtQixFQUFLLENBQUM7SUFDckMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN2QixHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQUksR0FBNkI7SUFDOUQsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELDREQUE0RDtBQUM1RCxTQUFnQixxQkFBcUIsQ0FBSSxLQUFrQjtJQUN2RCxPQUFPLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVELFNBQWdCLGlCQUFpQixDQUFJLEdBQTZCLEVBQUUsRUFBb0I7SUFDcEYsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMzQixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDWixDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiDpobnnm67npoHnlKjljp/nlJ8gU2V077yI5bCP5ri45oiP6L+Q6KGM5pe25a+56YOo5YiGIFNldCDnlKjms5XkuI3nqLPlrprvvInjgIJcclxuICog55SoIE1hcDxLLCB0cnVlPiDooajnpLrmiJDlkZjpm4blkIjvvIxBUEkg5LiOIFNldCDlr7npvZDjgIJcclxuICovXHJcbmV4cG9ydCB0eXBlIE1lbWJlcnNoaXBTZXQ8Sz4gPSBNYXA8SywgdHJ1ZT47XHJcbmV4cG9ydCB0eXBlIFJlYWRvbmx5TWVtYmVyc2hpcFNldDxLPiA9IFJlYWRvbmx5TWFwPEssIHRydWU+O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1lbWJlcnNoaXBTZXQ8Sz4oKTogTWVtYmVyc2hpcFNldDxLPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxLLCB0cnVlPigpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWVtYmVyc2hpcEFkZDxLPihzZXQ6IE1lbWJlcnNoaXBTZXQ8Sz4sIGtleTogSyk6IE1lbWJlcnNoaXBTZXQ8Sz4ge1xyXG4gICAgc2V0LnNldChrZXksIHRydWUpO1xyXG4gICAgcmV0dXJuIHNldDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1lbWJlcnNoaXBIYXM8Sz4oc2V0OiBSZWFkb25seU1lbWJlcnNoaXBTZXQ8Sz4sIGtleTogSyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHNldC5oYXMoa2V5KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1lbWJlcnNoaXBEZWxldGU8Sz4oc2V0OiBNZW1iZXJzaGlwU2V0PEs+LCBrZXk6IEspOiBib29sZWFuIHtcclxuICAgIHJldHVybiBzZXQuZGVsZXRlKGtleSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtZW1iZXJzaGlwQ2xlYXI8Sz4oc2V0OiBNZW1iZXJzaGlwU2V0PEs+KTogdm9pZCB7XHJcbiAgICBzZXQuY2xlYXIoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1lbWJlcnNoaXBGcm9tQXJyYXk8Sz4oaXRlbXM6IEl0ZXJhYmxlPEs+KTogTWVtYmVyc2hpcFNldDxLPiB7XHJcbiAgICBjb25zdCBzZXQgPSBjcmVhdGVNZW1iZXJzaGlwU2V0PEs+KCk7XHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcclxuICAgICAgICBzZXQuc2V0KGl0ZW0sIHRydWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHNldDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1lbWJlcnNoaXBUb0FycmF5PEs+KHNldDogUmVhZG9ubHlNZW1iZXJzaGlwU2V0PEs+KTogS1tdIHtcclxuICAgIHJldHVybiBbLi4uc2V0LmtleXMoKV07XHJcbn1cclxuXHJcbi8qKiDljrvph43mlbDnu4TvvIjmm7/ku6MgQXJyYXkuZnJvbShuZXcgU2V0KC4uLikpIC8gWy4uLm5ldyBTZXQoLi4uKV3vvIkgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG1lbWJlcnNoaXBEZWR1cGVBcnJheTxLPihpdGVtczogSXRlcmFibGU8Sz4pOiBLW10ge1xyXG4gICAgcmV0dXJuIG1lbWJlcnNoaXBUb0FycmF5KG1lbWJlcnNoaXBGcm9tQXJyYXkoaXRlbXMpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1lbWJlcnNoaXBGb3JFYWNoPEs+KHNldDogUmVhZG9ubHlNZW1iZXJzaGlwU2V0PEs+LCBmbjogKGtleTogSykgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgZm9yIChjb25zdCBrZXkgb2Ygc2V0LmtleXMoKSkge1xyXG4gICAgICAgIGZuKGtleSk7XHJcbiAgICB9XHJcbn1cclxuIl19