UNPKG

@apollo/client

Version:

A fully-featured caching GraphQL client.

34 lines 886 B
import "../globals/index.js"; import { isNonNullObject } from "./objects.js"; function deepFreeze(value) { var workSet = new Set([value]); workSet.forEach(function (obj) { if (isNonNullObject(obj) && shallowFreeze(obj) === obj) { Object.getOwnPropertyNames(obj).forEach(function (name) { if (isNonNullObject(obj[name])) workSet.add(obj[name]); }); } }); return value; } function shallowFreeze(obj) { if (__DEV__ && !Object.isFrozen(obj)) { try { Object.freeze(obj); } catch (e) { if (e instanceof TypeError) return null; throw e; } } return obj; } export function maybeDeepFreeze(obj) { if (__DEV__) { deepFreeze(obj); } return obj; } //# sourceMappingURL=maybeDeepFreeze.js.map