monorepo-shared-assets
Version:
Shared assets used by various packages from nodemonorepo
47 lines • 1.64 kB
JavaScript
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
;