UNPKG

@thisisagile/easy

Version:

Straightforward library for building domain-driven microservice architectures

30 lines (29 loc) 812 B
// src/utils/Traverse.ts var traverse = (subject, property = "") => { subject ??= {}; const props = property.split("."); const p = props.shift(); return props.length === 0 ? subject[p] : traverse(subject[p], props.join(".")); }; var traverseSet = (subject, property, value) => { const props = property.split("."); const p = props.shift(); return { ...subject, [p]: props.length === 0 ? value : traverseSet(subject[p], props.join("."), value) }; }; var accumulate = (items, ...keys) => items.map((t, i, arr) => { const acc = keys.reduce( (acc2, v) => traverseSet(acc2, v, i === 0 ? traverse(t, v) : traverse(arr[i - 1], v) + traverse(t, v)), t ); arr[i] = acc; return acc; }); export { traverse, traverseSet, accumulate }; //# sourceMappingURL=chunk-SSROJBD5.mjs.map