@kgdata/annotation
Version:
annotation
46 lines (42 loc) • 1.2 kB
text/typescript
export const mergeConfig = (nextConfig: any, defaultConfig: any) => {
if (!nextConfig) {
return defaultConfig;
}
let layout = {
...(defaultConfig?.layout || {}),
...(nextConfig?.layout || {}),
};
let nodeLabelCfg = {
...(defaultConfig?.defaultNode?.labelCfg || {}),
...(nextConfig?.defaultNode?.labelCfg || {}),
};
let nodeStyle = {
...(defaultConfig?.defaultNode?.style || {}),
...(nextConfig?.defaultNode?.style || {}),
};
let defaultNode = {
...(defaultConfig?.defaultNode || {}),
...(nextConfig?.defaultNode || {}),
...{ labelCfg: nodeLabelCfg, style: nodeStyle },
};
let edgeLabelCfg = {
...(defaultConfig?.defaultEdge?.labelCfg || {}),
...(nextConfig?.defaultEdge?.labelCfg || {}),
};
let edgeStyle = {
...(defaultConfig?.defaultEdge?.style || {}),
...(nextConfig?.defaultEdge?.style || {}),
};
let defaultEdge = {
...(defaultConfig?.defaultEdge || {}),
...(nextConfig?.defaultEdge || {}),
...{ labelCfg: edgeLabelCfg, style: edgeStyle },
};
return {
...defaultConfig,
...nextConfig,
layout,
defaultNode,
defaultEdge,
};
};