UNPKG

@enspirit/emb

Version:

A replacement for our Makefile-for-monorepos

21 lines (20 loc) 707 B
import deepmerge from '@fastify/deepmerge'; export const byName = (item) => item.name; export const deepMergeArray = (target, source, identifierFn) => { if (!identifierFn) { return deepmerge()(target, source); } const overridden = target.map((item) => { const id = identifierFn(item); const override = source.find((item) => identifierFn(item) === id); if (override) { return deepmerge()(item, override); } return item; }); const additional = source.filter((item) => { const id = identifierFn(item); return !target.find((item) => identifierFn(item) === id); }); return [...overridden, ...additional]; };