diff options
Diffstat (limited to 'packages/frontend/src/scripts/clone.ts')
| -rw-r--r-- | packages/frontend/src/scripts/clone.ts | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/packages/frontend/src/scripts/clone.ts b/packages/frontend/src/scripts/clone.ts index 96b53684f3..ac38faefaa 100644 --- a/packages/frontend/src/scripts/clone.ts +++ b/packages/frontend/src/scripts/clone.ts @@ -8,7 +8,7 @@ // あと、Vue RefをIndexedDBに保存しようとしてstructredCloneを使ったらエラーになった // https://github.com/misskey-dev/misskey/pull/8098#issuecomment-1114144045 -type Cloneable = string | number | boolean | null | { [key: string]: Cloneable } | Cloneable[]; +type Cloneable = string | number | boolean | null | undefined | { [key: string]: Cloneable } | Cloneable[]; export function deepClone<T extends Cloneable>(x: T): T { if (typeof x === 'object') { @@ -16,7 +16,7 @@ export function deepClone<T extends Cloneable>(x: T): T { if (Array.isArray(x)) return x.map(deepClone) as T; const obj = {} as Record<string, Cloneable>; for (const [k, v] of Object.entries(x)) { - obj[k] = deepClone(v); + obj[k] = v === undefined ? undefined : deepClone(v); } return obj as T; } else { |