type-plus
Version:
Provides additional types for TypeScript.
8 lines • 381 B
JavaScript
import { reduceByKey } from './reduceKey.js';
export function split(target, ...splitters) {
const keyMap = {};
const s = splitters.map(s => reduceByKey(s, (p, k) => ((keyMap[k] = true), (p[k] = target[k] ?? s[k]), p), {}));
const r = reduceByKey(target, (p, k) => (keyMap[k] ? p : ((p[k] = target[k]), p)), {});
return [...s, r];
}
//# sourceMappingURL=split.js.map