From be7e3b9a0cb81b78a744993fef2fa2fd2833fa9c Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Sun, 9 Mar 2025 14:28:01 +0900 Subject: refactor(frontend): scripts -> utility --- packages/frontend/src/scripts/clone.ts | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 packages/frontend/src/scripts/clone.ts (limited to 'packages/frontend/src/scripts/clone.ts') diff --git a/packages/frontend/src/scripts/clone.ts b/packages/frontend/src/scripts/clone.ts deleted file mode 100644 index ea8eea14b5..0000000000 --- a/packages/frontend/src/scripts/clone.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * SPDX-FileCopyrightText: syuilo and misskey-project - * SPDX-License-Identifier: AGPL-3.0-only - */ - -// structredCloneが遅いため -// SEE: http://var.blog.jp/archives/86038606.html -// あと、Vue RefをIndexedDBに保存しようとしてstructredCloneを使ったらエラーになった -// https://github.com/misskey-dev/misskey/pull/8098#issuecomment-1114144045 - -export type Cloneable = string | number | boolean | null | undefined | { [key: string]: Cloneable } | { [key: number]: Cloneable } | { [key: symbol]: Cloneable } | Cloneable[]; - -export function deepClone(x: T): T { - if (typeof x === 'object') { - if (x === null) return x; - if (Array.isArray(x)) return x.map(deepClone) as T; - const obj = {} as Record; - for (const [k, v] of Object.entries(x)) { - obj[k] = v === undefined ? undefined : deepClone(v); - } - return obj as T; - } else { - return x; - } -} -- cgit v1.2.3-freya