UNPKG

@apollo/client

Version:

A fully-featured caching GraphQL client.

1 lines 18.2 kB
{"version":3,"file":"masking.cjs","sources":["utils.js","maskDefinition.js","maskFragment.js","maskOperation.js"],"sourcesContent":["import { Slot } from \"optimism\";\nimport { invariant } from \"../utilities/globals/index.js\";\nimport { canUseWeakMap, canUseWeakSet } from \"../utilities/index.js\";\nexport var MapImpl = canUseWeakMap ? WeakMap : Map;\nexport var SetImpl = canUseWeakSet ? WeakSet : Set;\n// Contextual slot that allows us to disable accessor warnings on fields when in\n// migrate mode.\n/** @internal */\nexport var disableWarningsSlot = new Slot();\nvar issuedWarning = false;\nexport function warnOnImproperCacheImplementation() {\n if (!issuedWarning) {\n issuedWarning = true;\n globalThis.__DEV__ !== false && invariant.warn(52);\n }\n}\n//# sourceMappingURL=utils.js.map","import { Kind } from \"graphql\";\nimport { getFragmentMaskMode, maybeDeepFreeze, resultKeyNameFromField, } from \"../utilities/index.js\";\nimport { disableWarningsSlot } from \"./utils.js\";\nimport { invariant } from \"../utilities/globals/index.js\";\nexport function maskDefinition(data, selectionSet, context) {\n return disableWarningsSlot.withValue(true, function () {\n var masked = maskSelectionSet(data, selectionSet, context, false);\n if (Object.isFrozen(data)) {\n maybeDeepFreeze(masked);\n }\n return masked;\n });\n}\nfunction getMutableTarget(data, mutableTargets) {\n if (mutableTargets.has(data)) {\n return mutableTargets.get(data);\n }\n var mutableTarget = Array.isArray(data) ? [] : Object.create(null);\n mutableTargets.set(data, mutableTarget);\n return mutableTarget;\n}\nfunction maskSelectionSet(data, selectionSet, context, migration, path) {\n var _a;\n var knownChanged = context.knownChanged;\n var memo = getMutableTarget(data, context.mutableTargets);\n if (Array.isArray(data)) {\n for (var _i = 0, _b = Array.from(data.entries()); _i < _b.length; _i++) {\n var _c = _b[_i], index = _c[0], item = _c[1];\n if (item === null) {\n memo[index] = null;\n continue;\n }\n var masked = maskSelectionSet(item, selectionSet, context, migration, globalThis.__DEV__ !== false ? \"\".concat(path || \"\", \"[\").concat(index, \"]\") : void 0);\n if (knownChanged.has(masked)) {\n knownChanged.add(memo);\n }\n memo[index] = masked;\n }\n return knownChanged.has(memo) ? memo : data;\n }\n for (var _d = 0, _e = selectionSet.selections; _d < _e.length; _d++) {\n var selection = _e[_d];\n var value = void 0;\n // we later want to add acessor warnings to the final result\n // so we need a new object to add the accessor warning to\n if (migration) {\n knownChanged.add(memo);\n }\n if (selection.kind === Kind.FIELD) {\n var keyName = resultKeyNameFromField(selection);\n var childSelectionSet = selection.selectionSet;\n value = memo[keyName] || data[keyName];\n if (value === void 0) {\n continue;\n }\n if (childSelectionSet && value !== null) {\n var masked = maskSelectionSet(data[keyName], childSelectionSet, context, migration, globalThis.__DEV__ !== false ? \"\".concat(path || \"\", \".\").concat(keyName) : void 0);\n if (knownChanged.has(masked)) {\n value = masked;\n }\n }\n if (!(globalThis.__DEV__ !== false)) {\n memo[keyName] = value;\n }\n if (globalThis.__DEV__ !== false) {\n if (migration &&\n keyName !== \"__typename\" &&\n // either the field is not present in the memo object\n // or it has a `get` descriptor, not a `value` descriptor\n // => it is a warning accessor and we can overwrite it\n // with another accessor\n !((_a = Object.getOwnPropertyDescriptor(memo, keyName)) === null || _a === void 0 ? void 0 : _a.value)) {\n Object.defineProperty(memo, keyName, getAccessorWarningDescriptor(keyName, value, path || \"\", context.operationName, context.operationType));\n }\n else {\n delete memo[keyName];\n memo[keyName] = value;\n }\n }\n }\n if (selection.kind === Kind.INLINE_FRAGMENT &&\n (!selection.typeCondition ||\n context.cache.fragmentMatches(selection, data.__typename))) {\n value = maskSelectionSet(data, selection.selectionSet, context, migration, path);\n }\n if (selection.kind === Kind.FRAGMENT_SPREAD) {\n var fragmentName = selection.name.value;\n var fragment = context.fragmentMap[fragmentName] ||\n (context.fragmentMap[fragmentName] =\n context.cache.lookupFragment(fragmentName));\n invariant(fragment, 47, fragmentName);\n var mode = getFragmentMaskMode(selection);\n if (mode !== \"mask\") {\n value = maskSelectionSet(data, fragment.selectionSet, context, mode === \"migrate\", path);\n }\n }\n if (knownChanged.has(value)) {\n knownChanged.add(memo);\n }\n }\n if (\"__typename\" in data && !(\"__typename\" in memo)) {\n memo.__typename = data.__typename;\n }\n // This check prevents cases where masked fields may accidentally be\n // returned as part of this object when the fragment also selects\n // additional fields from the same child selection.\n if (Object.keys(memo).length !== Object.keys(data).length) {\n knownChanged.add(memo);\n }\n return knownChanged.has(memo) ? memo : data;\n}\nfunction getAccessorWarningDescriptor(fieldName, value, path, operationName, operationType) {\n var getValue = function () {\n if (disableWarningsSlot.getValue()) {\n return value;\n }\n globalThis.__DEV__ !== false && invariant.warn(48, operationName ?\n \"\".concat(operationType, \" '\").concat(operationName, \"'\")\n : \"anonymous \".concat(operationType), \"\".concat(path, \".\").concat(fieldName).replace(/^\\./, \"\"));\n getValue = function () { return value; };\n return value;\n };\n return {\n get: function () {\n return getValue();\n },\n set: function (newValue) {\n getValue = function () { return newValue; };\n },\n enumerable: true,\n configurable: true,\n };\n}\n//# sourceMappingURL=maskDefinition.js.map","import { Kind } from \"graphql\";\nimport { MapImpl, SetImpl, warnOnImproperCacheImplementation, } from \"./utils.js\";\nimport { invariant } from \"../utilities/globals/index.js\";\nimport equal from \"@wry/equality\";\nimport { maskDefinition } from \"./maskDefinition.js\";\nimport { createFragmentMap, getFragmentDefinitions, } from \"../utilities/index.js\";\n/** @internal */\nexport function maskFragment(data, document, cache, fragmentName) {\n if (!cache.fragmentMatches) {\n if (globalThis.__DEV__ !== false) {\n warnOnImproperCacheImplementation();\n }\n return data;\n }\n var fragments = document.definitions.filter(function (node) {\n return node.kind === Kind.FRAGMENT_DEFINITION;\n });\n if (typeof fragmentName === \"undefined\") {\n invariant(fragments.length === 1, 49, fragments.length);\n fragmentName = fragments[0].name.value;\n }\n var fragment = fragments.find(function (fragment) { return fragment.name.value === fragmentName; });\n invariant(!!fragment, 50, fragmentName);\n if (data == null) {\n // Maintain the original `null` or `undefined` value\n return data;\n }\n if (equal(data, {})) {\n // Return early and skip the masking algorithm if we don't have any data\n // yet. This can happen when cache.diff returns an empty object which is\n // used from watchFragment.\n return data;\n }\n return maskDefinition(data, fragment.selectionSet, {\n operationType: \"fragment\",\n operationName: fragment.name.value,\n fragmentMap: createFragmentMap(getFragmentDefinitions(document)),\n cache: cache,\n mutableTargets: new MapImpl(),\n knownChanged: new SetImpl(),\n });\n}\n//# sourceMappingURL=maskFragment.js.map","import { invariant } from \"../utilities/globals/index.js\";\nimport { createFragmentMap, getFragmentDefinitions, getOperationDefinition, } from \"../utilities/index.js\";\nimport { maskDefinition } from \"./maskDefinition.js\";\nimport { MapImpl, SetImpl, warnOnImproperCacheImplementation, } from \"./utils.js\";\n/** @internal */\nexport function maskOperation(data, document, cache) {\n var _a;\n if (!cache.fragmentMatches) {\n if (globalThis.__DEV__ !== false) {\n warnOnImproperCacheImplementation();\n }\n return data;\n }\n var definition = getOperationDefinition(document);\n invariant(definition, 51);\n if (data == null) {\n // Maintain the original `null` or `undefined` value\n return data;\n }\n return maskDefinition(data, definition.selectionSet, {\n operationType: definition.operation,\n operationName: (_a = definition.name) === null || _a === void 0 ? void 0 : _a.value,\n fragmentMap: createFragmentMap(getFragmentDefinitions(document)),\n cache: cache,\n mutableTargets: new MapImpl(),\n knownChanged: new SetImpl(),\n });\n}\n//# sourceMappingURL=maskOperation.js.map"],"names":["canUseWeakMap","canUseWeakSet","Slot","invariant","maybeDeepFreeze","Kind","resultKeyNameFromField","getFragmentMaskMode","equal","createFragmentMap","getFragmentDefinitions","getOperationDefinition"],"mappings":"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"}