UNPKG

@apollo/client

Version:

A fully-featured caching GraphQL client.

40 lines (39 loc) 1.37 kB
import { Kind } from "graphql"; import { Slot } from "optimism"; import { __DEV__ } from "@apollo/client/utilities/environment"; import { invariant } from "@apollo/client/utilities/invariant"; // Contextual slot that allows us to disable accessor warnings on fields when in // migrate mode. /** * @internal * * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time. */ export const disableWarningsSlot = new Slot(); export function getFragmentMaskMode(fragment) { const directive = fragment.directives?.find(({ name }) => name.value === "unmask"); if (!directive) { return "mask"; } const modeArg = directive.arguments?.find(({ name }) => name.value === "mode"); if (__DEV__) { if (modeArg) { if (modeArg.value.kind === Kind.VARIABLE) { __DEV__ && invariant.warn(44); } else if (modeArg.value.kind !== Kind.STRING) { __DEV__ && invariant.warn(45); } else if (modeArg.value.value !== "migrate") { __DEV__ && invariant.warn(46, modeArg.value.value); } } } if (modeArg && "value" in modeArg.value && modeArg.value.value === "migrate") { return "migrate"; } return "unmask"; } //# sourceMappingURL=utils.js.map