MCPcopy
hub / github.com/inkeep/open-knowledge / deepMerge

Function deepMerge

packages/cli/src/config/loader.ts:24–39  ·  view source on GitHub ↗
(
  base: Record<string, unknown>,
  override: Record<string, unknown>,
)

Source from the content-addressed store, hash-verified

22const DEFAULT_CONFIG_CACHE_MS = 1000;
23
24function deepMerge(
25 base: Record<string, unknown>,
26 override: Record<string, unknown>,
27): Record<string, unknown> {
28 const result = { ...base };
29 for (const key of Object.keys(override)) {
30 const baseVal = base[key];
31 const overrideVal = override[key];
32 if (isObject(overrideVal) && isObject(baseVal)) {
33 result[key] = deepMerge(baseVal, overrideVal);
34 } else if (overrideVal !== undefined) {
35 result[key] = overrideVal;
36 }
37 }
38 return result;
39}
40
41interface LoadedYamlFile {
42 value: Record<string, unknown> | null;

Callers 1

loadConfigFunction · 0.85

Calls 1

isObjectFunction · 0.90

Tested by

no test coverage detected