We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent bca65db commit 80879d1Copy full SHA for 80879d1
src/shared.ts
@@ -52,7 +52,7 @@ export type TODO = any
52
* @param path
53
*/
54
export function walkGet(obj: Record<string, any>, path: string): any {
55
- return path.split('.').reduce((target, key) => target[key], obj)
+ return path.split('.').reduce((target, key) => target && target[key], obj)
56
}
57
58
/**
@@ -75,10 +75,12 @@ export function walkSet<T extends object = Record<any, unknown>>(
75
const target: any = keys.reduce(
76
(target, key) =>
77
// @ts-expect-error:
78
- target[key],
+ target && target[key],
79
obj
80
)
81
82
+ if (target == null) return
83
+
84
return Array.isArray(target)
85
? target.splice(Number(key), 1, value)
86
: (target[key] = value)
0 commit comments