diff --git a/modules/store/src/meta-reducers/immutability_reducer.ts b/modules/store/src/meta-reducers/immutability_reducer.ts index c157103ed8..ecec65ce9d 100644 --- a/modules/store/src/meta-reducers/immutability_reducer.ts +++ b/modules/store/src/meta-reducers/immutability_reducer.ts @@ -20,16 +20,20 @@ function freeze(target: any) { const targetIsFunction = isFunction(target); Object.getOwnPropertyNames(target).forEach(prop => { - const propValue = target[prop]; if ( hasOwnProperty(target, prop) && (targetIsFunction ? prop !== 'caller' && prop !== 'callee' && prop !== 'arguments' - : true) && - (isObjectLike(propValue) || isFunction(propValue)) && - !Object.isFrozen(propValue) + : true) ) { - freeze(propValue); + const propValue = target[prop]; + + if ( + (isObjectLike(propValue) || isFunction(propValue)) && + !Object.isFrozen(propValue) + ) { + freeze(propValue); + } } });