From dfeb25127bffffa3a3e10fb9ff72e4b9d0206b67 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Fri, 11 Aug 2023 02:50:24 +0530 Subject: [PATCH] remove cleanClone --- packages/mermaid/src/cleanClone.ts | 24 ---------------------- packages/mermaid/src/diagrams/pie/pieDb.ts | 10 ++++----- 2 files changed, 5 insertions(+), 29 deletions(-) delete mode 100644 packages/mermaid/src/cleanClone.ts diff --git a/packages/mermaid/src/cleanClone.ts b/packages/mermaid/src/cleanClone.ts deleted file mode 100644 index 8f9cb7c26..000000000 --- a/packages/mermaid/src/cleanClone.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ - -export function removeUndefined(data: any): any { - if (typeof data === 'object') { - const entries: [string, any][] = Object.entries(data).filter( - ([, value]: [string, any]) => value !== undefined - ); - - const clean: any[][] = entries.map(([key, v]: [string, any]) => { - const value = typeof v == 'object' ? removeUndefined(v) : v; - return [key, value]; - }); - - return Object.fromEntries(clean); - } else if (Array.isArray(data)) { - return data.filter((value: any) => value !== undefined); - } - return data; -} - -export function structuredCleanClone(defaultData: T, data?: Partial): T { - const cleanValue: T = removeUndefined(data); - return structuredClone({ ...defaultData, ...cleanValue }); -} diff --git a/packages/mermaid/src/diagrams/pie/pieDb.ts b/packages/mermaid/src/diagrams/pie/pieDb.ts index bdd7957c2..d381aa985 100644 --- a/packages/mermaid/src/diagrams/pie/pieDb.ts +++ b/packages/mermaid/src/diagrams/pie/pieDb.ts @@ -15,7 +15,7 @@ import type { ParseDirectiveDefinition } from '../../diagram-api/types.js'; import type { PieFields, PieDB, Sections } from './pieTypes.js'; import type { RequiredDeep } from 'type-fest'; import type { PieDiagramConfig } from '../../config.type.js'; -import { structuredCleanClone } from '../../cleanClone.js'; +import { cleanAndMerge } from '../../utils.js'; export const DEFAULT_PIE_CONFIG: Required = { useMaxWidth: true, @@ -31,16 +31,16 @@ export const DEFAULT_PIE_DB: RequiredDeep = { let sections: Sections = DEFAULT_PIE_DB.sections; let showData: boolean = DEFAULT_PIE_DB.showData; -let config: Required = structuredCleanClone(DEFAULT_PIE_CONFIG); +let config: Required = structuredClone(DEFAULT_PIE_CONFIG); const setConfig = (conf: PieDiagramConfig): void => { - config = structuredCleanClone(DEFAULT_PIE_CONFIG, conf); + config = cleanAndMerge(DEFAULT_PIE_CONFIG, conf); }; const getConfig = (): Required => config; const resetConfig = (): void => { - config = structuredCleanClone(DEFAULT_PIE_CONFIG); + config = structuredClone(DEFAULT_PIE_CONFIG); }; const parseDirective: ParseDirectiveDefinition = (statement, context, type) => { @@ -48,7 +48,7 @@ const parseDirective: ParseDirectiveDefinition = (statement, context, type) => { }; const clear = (): void => { - sections = structuredCleanClone(DEFAULT_PIE_DB.sections); + sections = structuredClone(DEFAULT_PIE_DB.sections); showData = DEFAULT_PIE_DB.showData; commonClear(); resetConfig();