File tree Expand file tree Collapse file tree 1 file changed +10
-4
lines changed
packages/node_modules/overmind/src Expand file tree Collapse file tree 1 file changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -30,10 +30,16 @@ export const makeStringifySafeMutations = (mutations: IMutation[]) => {
3030export function deepCopy ( obj ) {
3131 if ( isPlainObject ( obj ) ) {
3232 return Object . keys ( obj ) . reduce ( ( aggr : any , key ) => {
33- if ( obj . __lookupGetter__ ( key ) )
34- aggr . __defineGetter__ ( key , obj . __lookupGetter__ ( key ) )
35- else
36- aggr [ key ] = deepCopy ( obj [ key ] )
33+ const originalDescriptor = Object . getOwnPropertyDescriptor ( obj , key )
34+ const isAGetter = originalDescriptor && 'get' in originalDescriptor
35+ const value = obj [ key ]
36+
37+ if ( isPlainObject ( value ) && ! isAGetter ) {
38+ aggr [ key ] = deepCopy ( value )
39+ } else {
40+ Object . defineProperty ( aggr , key , originalDescriptor as any )
41+ }
42+
3743 return aggr
3844 } , { } )
3945 } else if ( Array . isArray ( obj ) ) {
You can’t perform that action at this time.
0 commit comments