UNPKG

monorepo-shared-assets

Version:

Shared assets used by various packages from nodemonorepo

47 lines 1.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const in_iter_1 = tslib_1.__importDefault(require("../.utils/in-iter")); var classify; (function (classify) { function singleDistribute(values, classifier, duplicationChecker) { const db = {}; for (const item of values) { const name = classifier(item); const set = db[name]; if (set) { in_iter_1.default(item, set, duplicationChecker) || set.push(item); } else { db[name] = [item]; } } return db; } classify.singleDistribute = singleDistribute; function multiDistribute(values, classifier, duplicationChecker) { const classified = {}; const unclassified = []; for (const item of values) { const classes = classifier(item); if (classes.length) { for (const name of classes) { const array = classified[name]; if (array) { in_iter_1.default(item, array, duplicationChecker) || array.push(item); } else { classified[name] = [item]; } } } else { unclassified.push(item); } } return { classified, unclassified }; } classify.multiDistribute = multiDistribute; })(classify = exports.classify || (exports.classify = {})); exports.default = classify; //# sourceMappingURL=index.js.map