type-plus
Version:
Provides additional types for TypeScript.
12 lines • 542 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.split = void 0;
const reduceKey_js_1 = require("./reduceKey.js");
function split(target, ...splitters) {
const keyMap = {};
const s = splitters.map(s => (0, reduceKey_js_1.reduceByKey)(s, (p, k) => ((keyMap[k] = true), (p[k] = target[k] ?? s[k]), p), {}));
const r = (0, reduceKey_js_1.reduceByKey)(target, (p, k) => (keyMap[k] ? p : ((p[k] = target[k]), p)), {});
return [...s, r];
}
exports.split = split;
//# sourceMappingURL=split.js.map