UNPKG

110 kBSource Map (JSON)View Raw
1{"version":3,"file":"utilities.cjs","sources":["graphql/directives.js","graphql/fragments.js","common/objects.js","graphql/storeUtils.js","graphql/getFromAST.js","common/arrays.js","graphql/transform.js","common/mergeDeep.js","policies/pagination.js","common/cloneDeep.js","common/maybeDeepFreeze.js","observables/iteration.js","observables/asyncMap.js","common/canUse.js","observables/subclassing.js","observables/Concast.js","common/incrementalResult.js","common/errorHandling.js","common/compact.js","common/makeUniqueId.js","common/stringifyForDisplay.js","common/mergeOptions.js"],"sourcesContent":["import { invariant } from '../globals';\nimport { visit, BREAK, } from 'graphql';\nexport function shouldInclude(_a, variables) {\n var directives = _a.directives;\n if (!directives || !directives.length) {\n return true;\n }\n return getInclusionDirectives(directives).every(function (_a) {\n var directive = _a.directive, ifArgument = _a.ifArgument;\n var evaledValue = false;\n if (ifArgument.value.kind === 'Variable') {\n evaledValue = variables && variables[ifArgument.value.name.value];\n __DEV__ ? invariant(evaledValue !== void 0, \"Invalid variable referenced in @\".concat(directive.name.value, \" directive.\")) : invariant(evaledValue !== void 0, 40);\n }\n else {\n evaledValue = ifArgument.value.value;\n }\n return directive.name.value === 'skip' ? !evaledValue : evaledValue;\n });\n}\nexport function getDirectiveNames(root) {\n var names = [];\n visit(root, {\n Directive: function (node) {\n names.push(node.name.value);\n },\n });\n return names;\n}\nexport var hasAnyDirectives = function (names, root) { return hasDirectives(names, root, false); };\nexport var hasAllDirectives = function (names, root) { return hasDirectives(names, root, true); };\nexport function hasDirectives(names, root, all) {\n var nameSet = new Set(names);\n var uniqueCount = nameSet.size;\n visit(root, {\n Directive: function (node) {\n if (nameSet.delete(node.name.value) &&\n (!all || !nameSet.size)) {\n return BREAK;\n }\n },\n });\n return all ? !nameSet.size : nameSet.size < uniqueCount;\n}\nexport function hasClientExports(document) {\n return document && hasDirectives(['client', 'export'], document, true);\n}\nfunction isInclusionDirective(_a) {\n var value = _a.name.value;\n return value === 'skip' || value === 'include';\n}\nexport function getInclusionDirectives(directives) {\n var result = [];\n if (directives && directives.length) {\n directives.forEach(function (directive) {\n if (!isInclusionDirective(directive))\n return;\n var directiveArguments = directive.arguments;\n var directiveName = directive.name.value;\n __DEV__ ? invariant(directiveArguments && directiveArguments.length === 1, \"Incorrect number of arguments for the @\".concat(directiveName, \" directive.\")) : invariant(directiveArguments && directiveArguments.length === 1, 41);\n var ifArgument = directiveArguments[0];\n __DEV__ ? invariant(ifArgument.name && ifArgument.name.value === 'if', \"Invalid argument for the @\".concat(directiveName, \" directive.\")) : invariant(ifArgument.name && ifArgument.name.value === 'if', 42);\n var ifValue = ifArgument.value;\n __DEV__ ? invariant(ifValue &&\n (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), \"Argument for the @\".concat(directiveName, \" directive must be a variable or a boolean value.\")) : invariant(ifValue &&\n (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), 43);\n result.push({ directive: directive, ifArgument: ifArgument });\n });\n }\n return result;\n}\n//# sourceMappingURL=directives.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport { invariant, InvariantError } from '../globals';\nexport function getFragmentQueryDocument(document, fragmentName) {\n var actualFragmentName = fragmentName;\n var fragments = [];\n document.definitions.forEach(function (definition) {\n if (definition.kind === 'OperationDefinition') {\n throw __DEV__ ? new InvariantError(\"Found a \".concat(definition.operation, \" operation\").concat(definition.name ? \" named '\".concat(definition.name.value, \"'\") : '', \". \") +\n 'No operations are allowed when using a fragment as a query. Only fragments are allowed.') : new InvariantError(44);\n }\n if (definition.kind === 'FragmentDefinition') {\n fragments.push(definition);\n }\n });\n if (typeof actualFragmentName === 'undefined') {\n __DEV__ ? invariant(fragments.length === 1, \"Found \".concat(fragments.length, \" fragments. `fragmentName` must be provided when there is not exactly 1 fragment.\")) : invariant(fragments.length === 1, 45);\n actualFragmentName = fragments[0].name.value;\n }\n var query = __assign(__assign({}, document), { definitions: __spreadArray([\n {\n kind: 'OperationDefinition',\n operation: 'query',\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'FragmentSpread',\n name: {\n kind: 'Name',\n value: actualFragmentName,\n },\n },\n ],\n },\n }\n ], document.definitions, true) });\n return query;\n}\nexport function createFragmentMap(fragments) {\n if (fragments === void 0) { fragments = []; }\n var symTable = {};\n fragments.forEach(function (fragment) {\n symTable[fragment.name.value] = fragment;\n });\n return symTable;\n}\nexport function getFragmentFromSelection(selection, fragmentMap) {\n switch (selection.kind) {\n case 'InlineFragment':\n return selection;\n case 'FragmentSpread': {\n var fragmentName = selection.name.value;\n if (typeof fragmentMap === \"function\") {\n return fragmentMap(fragmentName);\n }\n var fragment = fragmentMap && fragmentMap[fragmentName];\n __DEV__ ? invariant(fragment, \"No fragment named \".concat(fragmentName)) : invariant(fragment, 46);\n return fragment || null;\n }\n default:\n return null;\n }\n}\n//# sourceMappingURL=fragments.js.map","export function isNonNullObject(obj) {\n return obj !== null && typeof obj === 'object';\n}\n//# sourceMappingURL=objects.js.map","import { InvariantError } from '../globals';\nimport { isNonNullObject } from '../common/objects';\nimport { getFragmentFromSelection } from './fragments';\nexport function makeReference(id) {\n return { __ref: String(id) };\n}\nexport function isReference(obj) {\n return Boolean(obj && typeof obj === 'object' && typeof obj.__ref === 'string');\n}\nexport function isDocumentNode(value) {\n return (isNonNullObject(value) &&\n value.kind === \"Document\" &&\n Array.isArray(value.definitions));\n}\nfunction isStringValue(value) {\n return value.kind === 'StringValue';\n}\nfunction isBooleanValue(value) {\n return value.kind === 'BooleanValue';\n}\nfunction isIntValue(value) {\n return value.kind === 'IntValue';\n}\nfunction isFloatValue(value) {\n return value.kind === 'FloatValue';\n}\nfunction isVariable(value) {\n return value.kind === 'Variable';\n}\nfunction isObjectValue(value) {\n return value.kind === 'ObjectValue';\n}\nfunction isListValue(value) {\n return value.kind === 'ListValue';\n}\nfunction isEnumValue(value) {\n return value.kind === 'EnumValue';\n}\nfunction isNullValue(value) {\n return value.kind === 'NullValue';\n}\nexport function valueToObjectRepresentation(argObj, name, value, variables) {\n if (isIntValue(value) || isFloatValue(value)) {\n argObj[name.value] = Number(value.value);\n }\n else if (isBooleanValue(value) || isStringValue(value)) {\n argObj[name.value] = value.value;\n }\n else if (isObjectValue(value)) {\n var nestedArgObj_1 = {};\n value.fields.map(function (obj) {\n return valueToObjectRepresentation(nestedArgObj_1, obj.name, obj.value, variables);\n });\n argObj[name.value] = nestedArgObj_1;\n }\n else if (isVariable(value)) {\n var variableValue = (variables || {})[value.name.value];\n argObj[name.value] = variableValue;\n }\n else if (isListValue(value)) {\n argObj[name.value] = value.values.map(function (listValue) {\n var nestedArgArrayObj = {};\n valueToObjectRepresentation(nestedArgArrayObj, name, listValue, variables);\n return nestedArgArrayObj[name.value];\n });\n }\n else if (isEnumValue(value)) {\n argObj[name.value] = value.value;\n }\n else if (isNullValue(value)) {\n argObj[name.value] = null;\n }\n else {\n throw __DEV__ ? new InvariantError(\"The inline argument \\\"\".concat(name.value, \"\\\" of kind \\\"\").concat(value.kind, \"\\\"\") +\n 'is not supported. Use variables instead of inline arguments to ' +\n 'overcome this limitation.') : new InvariantError(55);\n }\n}\nexport function storeKeyNameFromField(field, variables) {\n var directivesObj = null;\n if (field.directives) {\n directivesObj = {};\n field.directives.forEach(function (directive) {\n directivesObj[directive.name.value] = {};\n if (directive.arguments) {\n directive.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(directivesObj[directive.name.value], name, value, variables);\n });\n }\n });\n }\n var argObj = null;\n if (field.arguments && field.arguments.length) {\n argObj = {};\n field.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(argObj, name, value, variables);\n });\n }\n return getStoreKeyName(field.name.value, argObj, directivesObj);\n}\nvar KNOWN_DIRECTIVES = [\n 'connection',\n 'include',\n 'skip',\n 'client',\n 'rest',\n 'export',\n];\nexport var getStoreKeyName = Object.assign(function (fieldName, args, directives) {\n if (args &&\n directives &&\n directives['connection'] &&\n directives['connection']['key']) {\n if (directives['connection']['filter'] &&\n directives['connection']['filter'].length > 0) {\n var filterKeys = directives['connection']['filter']\n ? directives['connection']['filter']\n : [];\n filterKeys.sort();\n var filteredArgs_1 = {};\n filterKeys.forEach(function (key) {\n filteredArgs_1[key] = args[key];\n });\n return \"\".concat(directives['connection']['key'], \"(\").concat(stringify(filteredArgs_1), \")\");\n }\n else {\n return directives['connection']['key'];\n }\n }\n var completeFieldName = fieldName;\n if (args) {\n var stringifiedArgs = stringify(args);\n completeFieldName += \"(\".concat(stringifiedArgs, \")\");\n }\n if (directives) {\n Object.keys(directives).forEach(function (key) {\n if (KNOWN_DIRECTIVES.indexOf(key) !== -1)\n return;\n if (directives[key] && Object.keys(directives[key]).length) {\n completeFieldName += \"@\".concat(key, \"(\").concat(stringify(directives[key]), \")\");\n }\n else {\n completeFieldName += \"@\".concat(key);\n }\n });\n }\n return completeFieldName;\n}, {\n setStringify: function (s) {\n var previous = stringify;\n stringify = s;\n return previous;\n },\n});\nvar stringify = function defaultStringify(value) {\n return JSON.stringify(value, stringifyReplacer);\n};\nfunction stringifyReplacer(_key, value) {\n if (isNonNullObject(value) && !Array.isArray(value)) {\n value = Object.keys(value).sort().reduce(function (copy, key) {\n copy[key] = value[key];\n return copy;\n }, {});\n }\n return value;\n}\nexport function argumentsObjectFromField(field, variables) {\n if (field.arguments && field.arguments.length) {\n var argObj_1 = {};\n field.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(argObj_1, name, value, variables);\n });\n return argObj_1;\n }\n return null;\n}\nexport function resultKeyNameFromField(field) {\n return field.alias ? field.alias.value : field.name.value;\n}\nexport function getTypenameFromResult(result, selectionSet, fragmentMap) {\n if (typeof result.__typename === 'string') {\n return result.__typename;\n }\n for (var _i = 0, _a = selectionSet.selections; _i < _a.length; _i++) {\n var selection = _a[_i];\n if (isField(selection)) {\n if (selection.name.value === '__typename') {\n return result[resultKeyNameFromField(selection)];\n }\n }\n else {\n var typename = getTypenameFromResult(result, getFragmentFromSelection(selection, fragmentMap).selectionSet, fragmentMap);\n if (typeof typename === 'string') {\n return typename;\n }\n }\n }\n}\nexport function isField(selection) {\n return selection.kind === 'Field';\n}\nexport function isInlineFragment(selection) {\n return selection.kind === 'InlineFragment';\n}\n//# sourceMappingURL=storeUtils.js.map","import { invariant, InvariantError } from '../globals';\nimport { valueToObjectRepresentation } from './storeUtils';\nexport function checkDocument(doc) {\n __DEV__ ? invariant(doc && doc.kind === 'Document', \"Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \\\"gql\\\" tag? http://docs.apollostack.com/apollo-client/core.html#gql\") : invariant(doc && doc.kind === 'Document', 47);\n var operations = doc.definitions\n .filter(function (d) { return d.kind !== 'FragmentDefinition'; })\n .map(function (definition) {\n if (definition.kind !== 'OperationDefinition') {\n throw __DEV__ ? new InvariantError(\"Schema type definitions not allowed in queries. Found: \\\"\".concat(definition.kind, \"\\\"\")) : new InvariantError(48);\n }\n return definition;\n });\n __DEV__ ? invariant(operations.length <= 1, \"Ambiguous GraphQL document: contains \".concat(operations.length, \" operations\")) : invariant(operations.length <= 1, 49);\n return doc;\n}\nexport function getOperationDefinition(doc) {\n checkDocument(doc);\n return doc.definitions.filter(function (definition) {\n return definition.kind === 'OperationDefinition';\n })[0];\n}\nexport function getOperationName(doc) {\n return (doc.definitions\n .filter(function (definition) {\n return definition.kind === 'OperationDefinition' && !!definition.name;\n })\n .map(function (x) { return x.name.value; })[0] || null);\n}\nexport function getFragmentDefinitions(doc) {\n return doc.definitions.filter(function (definition) {\n return definition.kind === 'FragmentDefinition';\n });\n}\nexport function getQueryDefinition(doc) {\n var queryDef = getOperationDefinition(doc);\n __DEV__ ? invariant(queryDef && queryDef.operation === 'query', 'Must contain a query definition.') : invariant(queryDef && queryDef.operation === 'query', 50);\n return queryDef;\n}\nexport function getFragmentDefinition(doc) {\n __DEV__ ? invariant(doc.kind === 'Document', \"Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \\\"gql\\\" tag? http://docs.apollostack.com/apollo-client/core.html#gql\") : invariant(doc.kind === 'Document', 51);\n __DEV__ ? invariant(doc.definitions.length <= 1, 'Fragment must have exactly one definition.') : invariant(doc.definitions.length <= 1, 52);\n var fragmentDef = doc.definitions[0];\n __DEV__ ? invariant(fragmentDef.kind === 'FragmentDefinition', 'Must be a fragment definition.') : invariant(fragmentDef.kind === 'FragmentDefinition', 53);\n return fragmentDef;\n}\nexport function getMainDefinition(queryDoc) {\n checkDocument(queryDoc);\n var fragmentDefinition;\n for (var _i = 0, _a = queryDoc.definitions; _i < _a.length; _i++) {\n var definition = _a[_i];\n if (definition.kind === 'OperationDefinition') {\n var operation = definition.operation;\n if (operation === 'query' ||\n operation === 'mutation' ||\n operation === 'subscription') {\n return definition;\n }\n }\n if (definition.kind === 'FragmentDefinition' && !fragmentDefinition) {\n fragmentDefinition = definition;\n }\n }\n if (fragmentDefinition) {\n return fragmentDefinition;\n }\n throw __DEV__ ? new InvariantError('Expected a parsed GraphQL query with a query, mutation, subscription, or a fragment.') : new InvariantError(54);\n}\nexport function getDefaultValues(definition) {\n var defaultValues = Object.create(null);\n var defs = definition && definition.variableDefinitions;\n if (defs && defs.length) {\n defs.forEach(function (def) {\n if (def.defaultValue) {\n valueToObjectRepresentation(defaultValues, def.variable.name, def.defaultValue);\n }\n });\n }\n return defaultValues;\n}\n//# sourceMappingURL=getFromAST.js.map","export var isArray = Array.isArray;\nexport function isNonEmptyArray(value) {\n return Array.isArray(value) && value.length > 0;\n}\n//# sourceMappingURL=arrays.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport { invariant } from '../globals';\nimport { visit, Kind, } from 'graphql';\nimport { checkDocument, getOperationDefinition, getFragmentDefinition, getFragmentDefinitions, getMainDefinition, } from './getFromAST';\nimport { isField } from './storeUtils';\nimport { createFragmentMap, } from './fragments';\nimport { isArray } from '../common/arrays';\nvar TYPENAME_FIELD = {\n kind: Kind.FIELD,\n name: {\n kind: Kind.NAME,\n value: '__typename',\n },\n};\nfunction isEmpty(op, fragmentMap) {\n return !op || op.selectionSet.selections.every(function (selection) { return selection.kind === Kind.FRAGMENT_SPREAD &&\n isEmpty(fragmentMap[selection.name.value], fragmentMap); });\n}\nfunction nullIfDocIsEmpty(doc) {\n return isEmpty(getOperationDefinition(doc) || getFragmentDefinition(doc), createFragmentMap(getFragmentDefinitions(doc)))\n ? null\n : doc;\n}\nfunction getDirectiveMatcher(directives) {\n var nameSet = new Set();\n var tests = [];\n directives.forEach(function (directive) {\n if (directive.name) {\n nameSet.add(directive.name);\n }\n else if (directive.test) {\n tests.push(directive.test);\n }\n });\n return function (directive) { return (nameSet.has(directive.name.value) ||\n tests.some(function (test) { return test(directive); })); };\n}\nfunction makeInUseGetterFunction(defaultKey) {\n var map = new Map();\n return function inUseGetterFunction(key) {\n if (key === void 0) { key = defaultKey; }\n var inUse = map.get(key);\n if (!inUse) {\n map.set(key, inUse = {\n variables: new Set,\n fragmentSpreads: new Set,\n });\n }\n return inUse;\n };\n}\nexport function removeDirectivesFromDocument(directives, doc) {\n var getInUseByOperationName = makeInUseGetterFunction(\"\");\n var getInUseByFragmentName = makeInUseGetterFunction(\"\");\n var getInUse = function (ancestors) {\n for (var p = 0, ancestor = void 0; p < ancestors.length && (ancestor = ancestors[p]); ++p) {\n if (isArray(ancestor))\n continue;\n if (ancestor.kind === Kind.OPERATION_DEFINITION) {\n return getInUseByOperationName(ancestor.name && ancestor.name.value);\n }\n if (ancestor.kind === Kind.FRAGMENT_DEFINITION) {\n return getInUseByFragmentName(ancestor.name.value);\n }\n }\n __DEV__ && invariant.error(\"Could not find operation or fragment\");\n return null;\n };\n var operationCount = 0;\n for (var i = doc.definitions.length - 1; i >= 0; --i) {\n if (doc.definitions[i].kind === Kind.OPERATION_DEFINITION) {\n ++operationCount;\n }\n }\n var directiveMatcher = getDirectiveMatcher(directives);\n var hasRemoveDirective = directives.some(function (directive) { return directive.remove; });\n var shouldRemoveField = function (nodeDirectives) { return (hasRemoveDirective &&\n nodeDirectives &&\n nodeDirectives.some(directiveMatcher)); };\n var originalFragmentDefsByPath = new Map();\n var firstVisitMadeChanges = false;\n var fieldOrInlineFragmentVisitor = {\n enter: function (node) {\n if (shouldRemoveField(node.directives)) {\n firstVisitMadeChanges = true;\n return null;\n }\n },\n };\n var docWithoutDirectiveSubtrees = visit(doc, {\n Field: fieldOrInlineFragmentVisitor,\n InlineFragment: fieldOrInlineFragmentVisitor,\n VariableDefinition: {\n enter: function () {\n return false;\n },\n },\n Variable: {\n enter: function (node, _key, _parent, _path, ancestors) {\n var inUse = getInUse(ancestors);\n if (inUse) {\n inUse.variables.add(node.name.value);\n }\n },\n },\n FragmentSpread: {\n enter: function (node, _key, _parent, _path, ancestors) {\n if (shouldRemoveField(node.directives)) {\n firstVisitMadeChanges = true;\n return null;\n }\n var inUse = getInUse(ancestors);\n if (inUse) {\n inUse.fragmentSpreads.add(node.name.value);\n }\n },\n },\n FragmentDefinition: {\n enter: function (node, _key, _parent, path) {\n originalFragmentDefsByPath.set(JSON.stringify(path), node);\n },\n leave: function (node, _key, _parent, path) {\n var originalNode = originalFragmentDefsByPath.get(JSON.stringify(path));\n if (node === originalNode) {\n return node;\n }\n if (operationCount > 0 &&\n node.selectionSet.selections.every(function (selection) { return (selection.kind === Kind.FIELD &&\n selection.name.value === '__typename'); })) {\n getInUseByFragmentName(node.name.value).removed = true;\n firstVisitMadeChanges = true;\n return null;\n }\n },\n },\n Directive: {\n leave: function (node) {\n if (directiveMatcher(node)) {\n firstVisitMadeChanges = true;\n return null;\n }\n },\n },\n });\n if (!firstVisitMadeChanges) {\n return doc;\n }\n var populateTransitiveVars = function (inUse) {\n if (!inUse.transitiveVars) {\n inUse.transitiveVars = new Set(inUse.variables);\n if (!inUse.removed) {\n inUse.fragmentSpreads.forEach(function (childFragmentName) {\n populateTransitiveVars(getInUseByFragmentName(childFragmentName)).transitiveVars.forEach(function (varName) {\n inUse.transitiveVars.add(varName);\n });\n });\n }\n }\n return inUse;\n };\n var allFragmentNamesUsed = new Set();\n docWithoutDirectiveSubtrees.definitions.forEach(function (def) {\n if (def.kind === Kind.OPERATION_DEFINITION) {\n populateTransitiveVars(getInUseByOperationName(def.name && def.name.value)).fragmentSpreads.forEach(function (childFragmentName) {\n allFragmentNamesUsed.add(childFragmentName);\n });\n }\n else if (def.kind === Kind.FRAGMENT_DEFINITION &&\n operationCount === 0 &&\n !getInUseByFragmentName(def.name.value).removed) {\n allFragmentNamesUsed.add(def.name.value);\n }\n });\n allFragmentNamesUsed.forEach(function (fragmentName) {\n populateTransitiveVars(getInUseByFragmentName(fragmentName)).fragmentSpreads.forEach(function (childFragmentName) {\n allFragmentNamesUsed.add(childFragmentName);\n });\n });\n var fragmentWillBeRemoved = function (fragmentName) { return !!(!allFragmentNamesUsed.has(fragmentName) ||\n getInUseByFragmentName(fragmentName).removed); };\n var enterVisitor = {\n enter: function (node) {\n if (fragmentWillBeRemoved(node.name.value)) {\n return null;\n }\n },\n };\n return nullIfDocIsEmpty(visit(docWithoutDirectiveSubtrees, {\n FragmentSpread: enterVisitor,\n FragmentDefinition: enterVisitor,\n OperationDefinition: {\n leave: function (node) {\n if (node.variableDefinitions) {\n var usedVariableNames_1 = populateTransitiveVars(getInUseByOperationName(node.name && node.name.value)).transitiveVars;\n if (usedVariableNames_1.size < node.variableDefinitions.length) {\n return __assign(__assign({}, node), { variableDefinitions: node.variableDefinitions.filter(function (varDef) { return usedVariableNames_1.has(varDef.variable.name.value); }) });\n }\n }\n },\n },\n }));\n}\nexport var addTypenameToDocument = Object.assign(function (doc) {\n return visit(doc, {\n SelectionSet: {\n enter: function (node, _key, parent) {\n if (parent &&\n parent.kind === Kind.OPERATION_DEFINITION) {\n return;\n }\n var selections = node.selections;\n if (!selections) {\n return;\n }\n var skip = selections.some(function (selection) {\n return (isField(selection) &&\n (selection.name.value === '__typename' ||\n selection.name.value.lastIndexOf('__', 0) === 0));\n });\n if (skip) {\n return;\n }\n var field = parent;\n if (isField(field) &&\n field.directives &&\n field.directives.some(function (d) { return d.name.value === 'export'; })) {\n return;\n }\n return __assign(__assign({}, node), { selections: __spreadArray(__spreadArray([], selections, true), [TYPENAME_FIELD], false) });\n },\n },\n });\n}, {\n added: function (field) {\n return field === TYPENAME_FIELD;\n },\n});\nvar connectionRemoveConfig = {\n test: function (directive) {\n var willRemove = directive.name.value === 'connection';\n if (willRemove) {\n if (!directive.arguments ||\n !directive.arguments.some(function (arg) { return arg.name.value === 'key'; })) {\n __DEV__ && invariant.warn('Removing an @connection directive even though it does not have a key. ' +\n 'You may want to use the key parameter to specify a store key.');\n }\n }\n return willRemove;\n },\n};\nexport function removeConnectionDirectiveFromDocument(doc) {\n return removeDirectivesFromDocument([connectionRemoveConfig], checkDocument(doc));\n}\nfunction hasDirectivesInSelectionSet(directives, selectionSet, nestedCheck) {\n if (nestedCheck === void 0) { nestedCheck = true; }\n return (!!selectionSet &&\n selectionSet.selections &&\n selectionSet.selections.some(function (selection) {\n return hasDirectivesInSelection(directives, selection, nestedCheck);\n }));\n}\nfunction hasDirectivesInSelection(directives, selection, nestedCheck) {\n if (nestedCheck === void 0) { nestedCheck = true; }\n if (!isField(selection)) {\n return true;\n }\n if (!selection.directives) {\n return false;\n }\n return (selection.directives.some(getDirectiveMatcher(directives)) ||\n (nestedCheck &&\n hasDirectivesInSelectionSet(directives, selection.selectionSet, nestedCheck)));\n}\nfunction getArgumentMatcher(config) {\n return function argumentMatcher(argument) {\n return config.some(function (aConfig) {\n return argument.value &&\n argument.value.kind === Kind.VARIABLE &&\n argument.value.name &&\n (aConfig.name === argument.value.name.value ||\n (aConfig.test && aConfig.test(argument)));\n });\n };\n}\nexport function removeArgumentsFromDocument(config, doc) {\n var argMatcher = getArgumentMatcher(config);\n return nullIfDocIsEmpty(visit(doc, {\n OperationDefinition: {\n enter: function (node) {\n return __assign(__assign({}, node), { variableDefinitions: node.variableDefinitions ? node.variableDefinitions.filter(function (varDef) {\n return !config.some(function (arg) { return arg.name === varDef.variable.name.value; });\n }) : [] });\n },\n },\n Field: {\n enter: function (node) {\n var shouldRemoveField = config.some(function (argConfig) { return argConfig.remove; });\n if (shouldRemoveField) {\n var argMatchCount_1 = 0;\n if (node.arguments) {\n node.arguments.forEach(function (arg) {\n if (argMatcher(arg)) {\n argMatchCount_1 += 1;\n }\n });\n }\n if (argMatchCount_1 === 1) {\n return null;\n }\n }\n },\n },\n Argument: {\n enter: function (node) {\n if (argMatcher(node)) {\n return null;\n }\n },\n },\n }));\n}\nexport function removeFragmentSpreadFromDocument(config, doc) {\n function enter(node) {\n if (config.some(function (def) { return def.name === node.name.value; })) {\n return null;\n }\n }\n return nullIfDocIsEmpty(visit(doc, {\n FragmentSpread: { enter: enter },\n FragmentDefinition: { enter: enter },\n }));\n}\nexport function buildQueryFromSelectionSet(document) {\n var definition = getMainDefinition(document);\n var definitionOperation = definition.operation;\n if (definitionOperation === 'query') {\n return document;\n }\n var modifiedDoc = visit(document, {\n OperationDefinition: {\n enter: function (node) {\n return __assign(__assign({}, node), { operation: 'query' });\n },\n },\n });\n return modifiedDoc;\n}\nexport function removeClientSetsFromDocument(document) {\n checkDocument(document);\n var modifiedDoc = removeDirectivesFromDocument([\n {\n test: function (directive) { return directive.name.value === 'client'; },\n remove: true,\n },\n ], document);\n return modifiedDoc;\n}\n//# sourceMappingURL=transform.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport { isNonNullObject } from \"./objects\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function mergeDeep() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n return mergeDeepArray(sources);\n}\nexport function mergeDeepArray(sources) {\n var target = sources[0] || {};\n var count = sources.length;\n if (count > 1) {\n var merger = new DeepMerger();\n for (var i = 1; i < count; ++i) {\n target = merger.merge(target, sources[i]);\n }\n }\n return target;\n}\nvar defaultReconciler = function (target, source, property) {\n return this.merge(target[property], source[property]);\n};\nvar DeepMerger = (function () {\n function DeepMerger(reconciler) {\n if (reconciler === void 0) { reconciler = defaultReconciler; }\n this.reconciler = reconciler;\n this.isObject = isNonNullObject;\n this.pastCopies = new Set();\n }\n DeepMerger.prototype.merge = function (target, source) {\n var _this = this;\n var context = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n context[_i - 2] = arguments[_i];\n }\n if (isNonNullObject(source) && isNonNullObject(target)) {\n Object.keys(source).forEach(function (sourceKey) {\n if (hasOwnProperty.call(target, sourceKey)) {\n var targetValue = target[sourceKey];\n if (source[sourceKey] !== targetValue) {\n var result = _this.reconciler.apply(_this, __spreadArray([target, source, sourceKey], context, false));\n if (result !== targetValue) {\n target = _this.shallowCopyForMerge(target);\n target[sourceKey] = result;\n }\n }\n }\n else {\n target = _this.shallowCopyForMerge(target);\n target[sourceKey] = source[sourceKey];\n }\n });\n return target;\n }\n return source;\n };\n DeepMerger.prototype.shallowCopyForMerge = function (value) {\n if (isNonNullObject(value)) {\n if (!this.pastCopies.has(value)) {\n if (Array.isArray(value)) {\n value = value.slice(0);\n }\n else {\n value = __assign({ __proto__: Object.getPrototypeOf(value) }, value);\n }\n this.pastCopies.add(value);\n }\n }\n return value;\n };\n return DeepMerger;\n}());\nexport { DeepMerger };\n//# sourceMappingURL=mergeDeep.js.map","import { __assign, __rest as __rest_1, __spreadArray } from \"tslib\";\nimport { __rest } from \"tslib\";\nimport { mergeDeep } from '../common/mergeDeep';\nexport function concatPagination(keyArgs) {\n if (keyArgs === void 0) { keyArgs = false; }\n return {\n keyArgs: keyArgs,\n merge: function (existing, incoming) {\n return existing ? __spreadArray(__spreadArray([], existing, true), incoming, true) : incoming;\n },\n };\n}\nexport function offsetLimitPagination(keyArgs) {\n if (keyArgs === void 0) { keyArgs = false; }\n return {\n keyArgs: keyArgs,\n merge: function (existing, incoming, _a) {\n var args = _a.args;\n var merged = existing ? existing.slice(0) : [];\n if (incoming) {\n if (args) {\n var _b = args.offset, offset = _b === void 0 ? 0 : _b;\n for (var i = 0; i < incoming.length; ++i) {\n merged[offset + i] = incoming[i];\n }\n }\n else {\n merged.push.apply(merged, incoming);\n }\n }\n return merged;\n },\n };\n}\nexport function relayStylePagination(keyArgs) {\n if (keyArgs === void 0) { keyArgs = false; }\n return {\n keyArgs: keyArgs,\n read: function (existing, _a) {\n var canRead = _a.canRead, readField = _a.readField;\n if (!existing)\n return existing;\n var edges = [];\n var firstEdgeCursor = \"\";\n var lastEdgeCursor = \"\";\n existing.edges.forEach(function (edge) {\n if (canRead(readField(\"node\", edge))) {\n edges.push(edge);\n if (edge.cursor) {\n firstEdgeCursor = firstEdgeCursor || edge.cursor || \"\";\n lastEdgeCursor = edge.cursor || lastEdgeCursor;\n }\n }\n });\n var _b = existing.pageInfo || {}, startCursor = _b.startCursor, endCursor = _b.endCursor;\n return __assign(__assign({}, getExtras(existing)), { edges: edges, pageInfo: __assign(__assign({}, existing.pageInfo), { startCursor: startCursor || firstEdgeCursor, endCursor: endCursor || lastEdgeCursor }) });\n },\n merge: function (existing, incoming, _a) {\n var args = _a.args, isReference = _a.isReference, readField = _a.readField;\n if (!existing) {\n existing = makeEmptyData();\n }\n if (!incoming) {\n return existing;\n }\n var incomingEdges = incoming.edges ? incoming.edges.map(function (edge) {\n if (isReference(edge = __assign({}, edge))) {\n edge.cursor = readField(\"cursor\", edge);\n }\n return edge;\n }) : [];\n if (incoming.pageInfo) {\n var pageInfo_1 = incoming.pageInfo;\n var startCursor = pageInfo_1.startCursor, endCursor = pageInfo_1.endCursor;\n var firstEdge = incomingEdges[0];\n var lastEdge = incomingEdges[incomingEdges.length - 1];\n if (firstEdge && startCursor) {\n firstEdge.cursor = startCursor;\n }\n if (lastEdge && endCursor) {\n lastEdge.cursor = endCursor;\n }\n var firstCursor = firstEdge && firstEdge.cursor;\n if (firstCursor && !startCursor) {\n incoming = mergeDeep(incoming, {\n pageInfo: {\n startCursor: firstCursor,\n },\n });\n }\n var lastCursor = lastEdge && lastEdge.cursor;\n if (lastCursor && !endCursor) {\n incoming = mergeDeep(incoming, {\n pageInfo: {\n endCursor: lastCursor,\n },\n });\n }\n }\n var prefix = existing.edges;\n var suffix = [];\n if (args && args.after) {\n var index = prefix.findIndex(function (edge) { return edge.cursor === args.after; });\n if (index >= 0) {\n prefix = prefix.slice(0, index + 1);\n }\n }\n else if (args && args.before) {\n var index = prefix.findIndex(function (edge) { return edge.cursor === args.before; });\n suffix = index < 0 ? prefix : prefix.slice(index);\n prefix = [];\n }\n else if (incoming.edges) {\n prefix = [];\n }\n var edges = __spreadArray(__spreadArray(__spreadArray([], prefix, true), incomingEdges, true), suffix, true);\n var pageInfo = __assign(__assign({}, incoming.pageInfo), existing.pageInfo);\n if (incoming.pageInfo) {\n var _b = incoming.pageInfo, hasPreviousPage = _b.hasPreviousPage, hasNextPage = _b.hasNextPage, startCursor = _b.startCursor, endCursor = _b.endCursor, extras = __rest_1(_b, [\"hasPreviousPage\", \"hasNextPage\", \"startCursor\", \"endCursor\"]);\n Object.assign(pageInfo, extras);\n if (!prefix.length) {\n if (void 0 !== hasPreviousPage)\n pageInfo.hasPreviousPage = hasPreviousPage;\n if (void 0 !== startCursor)\n pageInfo.startCursor = startCursor;\n }\n if (!suffix.length) {\n if (void 0 !== hasNextPage)\n pageInfo.hasNextPage = hasNextPage;\n if (void 0 !== endCursor)\n pageInfo.endCursor = endCursor;\n }\n }\n return __assign(__assign(__assign({}, getExtras(existing)), getExtras(incoming)), { edges: edges, pageInfo: pageInfo });\n },\n };\n}\nvar getExtras = function (obj) { return __rest(obj, notExtras); };\nvar notExtras = [\"edges\", \"pageInfo\"];\nfunction makeEmptyData() {\n return {\n edges: [],\n pageInfo: {\n hasPreviousPage: false,\n hasNextPage: true,\n startCursor: \"\",\n endCursor: \"\",\n },\n };\n}\n//# sourceMappingURL=pagination.js.map","var toString = Object.prototype.toString;\nexport function cloneDeep(value) {\n return cloneDeepHelper(value);\n}\nfunction cloneDeepHelper(val, seen) {\n switch (toString.call(val)) {\n case \"[object Array]\": {\n seen = seen || new Map;\n if (seen.has(val))\n return seen.get(val);\n var copy_1 = val.slice(0);\n seen.set(val, copy_1);\n copy_1.forEach(function (child, i) {\n copy_1[i] = cloneDeepHelper(child, seen);\n });\n return copy_1;\n }\n case \"[object Object]\": {\n seen = seen || new Map;\n if (seen.has(val))\n return seen.get(val);\n var copy_2 = Object.create(Object.getPrototypeOf(val));\n seen.set(val, copy_2);\n Object.keys(val).forEach(function (key) {\n copy_2[key] = cloneDeepHelper(val[key], seen);\n });\n return copy_2;\n }\n default:\n return val;\n }\n}\n//# sourceMappingURL=cloneDeep.js.map","import '../globals';\nimport { isNonNullObject } from './objects';\nfunction deepFreeze(value) {\n var workSet = new Set([value]);\n workSet.forEach(function (obj) {\n if (isNonNullObject(obj) && shallowFreeze(obj) === obj) {\n Object.getOwnPropertyNames(obj).forEach(function (name) {\n if (isNonNullObject(obj[name]))\n workSet.add(obj[name]);\n });\n }\n });\n return value;\n}\nfunction shallowFreeze(obj) {\n if (__DEV__ && !Object.isFrozen(obj)) {\n try {\n Object.freeze(obj);\n }\n catch (e) {\n if (e instanceof TypeError)\n return null;\n throw e;\n }\n }\n return obj;\n}\nexport function maybeDeepFreeze(obj) {\n if (__DEV__) {\n deepFreeze(obj);\n }\n return obj;\n}\n//# sourceMappingURL=maybeDeepFreeze.js.map","export function iterateObserversSafely(observers, method, argument) {\n var observersWithMethod = [];\n observers.forEach(function (obs) { return obs[method] && observersWithMethod.push(obs); });\n observersWithMethod.forEach(function (obs) { return obs[method](argument); });\n}\n//# sourceMappingURL=iteration.js.map","import { Observable } from \"./Observable\";\nexport function asyncMap(observable, mapFn, catchFn) {\n return new Observable(function (observer) {\n var next = observer.next, error = observer.error, complete = observer.complete;\n var activeCallbackCount = 0;\n var completed = false;\n var promiseQueue = {\n then: function (callback) {\n return new Promise(function (resolve) { return resolve(callback()); });\n },\n };\n function makeCallback(examiner, delegate) {\n if (examiner) {\n return function (arg) {\n ++activeCallbackCount;\n var both = function () { return examiner(arg); };\n promiseQueue = promiseQueue.then(both, both).then(function (result) {\n --activeCallbackCount;\n next && next.call(observer, result);\n if (completed) {\n handler.complete();\n }\n }, function (error) {\n --activeCallbackCount;\n throw error;\n }).catch(function (caught) {\n error && error.call(observer, caught);\n });\n };\n }\n else {\n return function (arg) { return delegate && delegate.call(observer, arg); };\n }\n }\n var handler = {\n next: makeCallback(mapFn, next),\n error: makeCallback(catchFn, error),\n complete: function () {\n completed = true;\n if (!activeCallbackCount) {\n complete && complete.call(observer);\n }\n },\n };\n var sub = observable.subscribe(handler);\n return function () { return sub.unsubscribe(); };\n });\n}\n//# sourceMappingURL=asyncMap.js.map","import { maybe } from \"../globals\";\nexport var canUseWeakMap = typeof WeakMap === 'function' &&\n maybe(function () { return navigator.product; }) !== 'ReactNative';\nexport var canUseWeakSet = typeof WeakSet === 'function';\nexport var canUseSymbol = typeof Symbol === 'function' &&\n typeof Symbol.for === 'function';\nexport var canUseAsyncIteratorSymbol = canUseSymbol && Symbol.asyncIterator;\nexport var canUseDOM = typeof maybe(function () { return window.document.createElement; }) === \"function\";\nvar usingJSDOM = maybe(function () { return navigator.userAgent.indexOf(\"jsdom\") >= 0; }) || false;\nexport var canUseLayoutEffect = canUseDOM && !usingJSDOM;\n//# sourceMappingURL=canUse.js.map","import { Observable } from \"./Observable\";\nimport { canUseSymbol } from \"../common/canUse\";\nexport function fixObservableSubclass(subclass) {\n function set(key) {\n Object.defineProperty(subclass, key, { value: Observable });\n }\n if (canUseSymbol && Symbol.species) {\n set(Symbol.species);\n }\n set(\"@@species\");\n return subclass;\n}\n//# sourceMappingURL=subclassing.js.map","import { __extends } from \"tslib\";\nimport { Observable } from \"./Observable\";\nimport { iterateObserversSafely } from \"./iteration\";\nimport { fixObservableSubclass } from \"./subclassing\";\nfunction isPromiseLike(value) {\n return value && typeof value.then === \"function\";\n}\nvar Concast = (function (_super) {\n __extends(Concast, _super);\n function Concast(sources) {\n var _this = _super.call(this, function (observer) {\n _this.addObserver(observer);\n return function () { return _this.removeObserver(observer); };\n }) || this;\n _this.observers = new Set();\n _this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n _this.handlers = {\n next: function (result) {\n if (_this.sub !== null) {\n _this.latest = [\"next\", result];\n _this.notify(\"next\", result);\n iterateObserversSafely(_this.observers, \"next\", result);\n }\n },\n error: function (error) {\n var sub = _this.sub;\n if (sub !== null) {\n if (sub)\n setTimeout(function () { return sub.unsubscribe(); });\n _this.sub = null;\n _this.latest = [\"error\", error];\n _this.reject(error);\n _this.notify(\"error\", error);\n iterateObserversSafely(_this.observers, \"error\", error);\n }\n },\n complete: function () {\n var _a = _this, sub = _a.sub, _b = _a.sources, sources = _b === void 0 ? [] : _b;\n if (sub !== null) {\n var value = sources.shift();\n if (!value) {\n if (sub)\n setTimeout(function () { return sub.unsubscribe(); });\n _this.sub = null;\n if (_this.latest &&\n _this.latest[0] === \"next\") {\n _this.resolve(_this.latest[1]);\n }\n else {\n _this.resolve();\n }\n _this.notify(\"complete\");\n iterateObserversSafely(_this.observers, \"complete\");\n }\n else if (isPromiseLike(value)) {\n value.then(function (obs) { return _this.sub = obs.subscribe(_this.handlers); });\n }\n else {\n _this.sub = value.subscribe(_this.handlers);\n }\n }\n },\n };\n _this.nextResultListeners = new Set();\n _this.cancel = function (reason) {\n _this.reject(reason);\n _this.sources = [];\n _this.handlers.complete();\n };\n _this.promise.catch(function (_) { });\n if (typeof sources === \"function\") {\n sources = [new Observable(sources)];\n }\n if (isPromiseLike(sources)) {\n sources.then(function (iterable) { return _this.start(iterable); }, _this.handlers.error);\n }\n else {\n _this.start(sources);\n }\n return _this;\n }\n Concast.prototype.start = function (sources) {\n if (this.sub !== void 0)\n return;\n this.sources = Array.from(sources);\n this.handlers.complete();\n };\n Concast.prototype.deliverLastMessage = function (observer) {\n if (this.latest) {\n var nextOrError = this.latest[0];\n var method = observer[nextOrError];\n if (method) {\n method.call(observer, this.latest[1]);\n }\n if (this.sub === null &&\n nextOrError === \"next\" &&\n observer.complete) {\n observer.complete();\n }\n }\n };\n Concast.prototype.addObserver = function (observer) {\n if (!this.observers.has(observer)) {\n this.deliverLastMessage(observer);\n this.observers.add(observer);\n }\n };\n Concast.prototype.removeObserver = function (observer) {\n if (this.observers.delete(observer) &&\n this.observers.size < 1) {\n this.handlers.complete();\n }\n };\n Concast.prototype.notify = function (method, arg) {\n var nextResultListeners = this.nextResultListeners;\n if (nextResultListeners.size) {\n this.nextResultListeners = new Set;\n nextResultListeners.forEach(function (listener) { return listener(method, arg); });\n }\n };\n Concast.prototype.beforeNext = function (callback) {\n var called = false;\n this.nextResultListeners.add(function (method, arg) {\n if (!called) {\n called = true;\n callback(method, arg);\n }\n });\n };\n return Concast;\n}(Observable));\nexport { Concast };\nfixObservableSubclass(Concast);\n//# sourceMappingURL=Concast.js.map","import { isNonEmptyArray } from \"./arrays\";\nimport { DeepMerger } from \"./mergeDeep\";\nexport function isExecutionPatchIncrementalResult(value) {\n return \"incremental\" in value;\n}\nexport function isExecutionPatchInitialResult(value) {\n return \"hasNext\" in value && \"data\" in value;\n}\nexport function isExecutionPatchResult(value) {\n return (isExecutionPatchIncrementalResult(value) ||\n isExecutionPatchInitialResult(value));\n}\nexport function mergeIncrementalData(prevResult, result) {\n var mergedData = prevResult;\n var merger = new DeepMerger();\n if (isExecutionPatchIncrementalResult(result) &&\n isNonEmptyArray(result.incremental)) {\n result.incremental.forEach(function (_a) {\n var data = _a.data, path = _a.path;\n for (var i = path.length - 1; i >= 0; --i) {\n var key = path[i];\n var isNumericKey = !isNaN(+key);\n var parent_1 = isNumericKey ? [] : {};\n parent_1[key] = data;\n data = parent_1;\n }\n mergedData = merger.merge(mergedData, data);\n });\n }\n return mergedData;\n}\n//# sourceMappingURL=incrementalResult.js.map","import { isNonEmptyArray } from \"../../utilities/common/arrays\";\nimport { isExecutionPatchIncrementalResult } from \"../../utilities/common/incrementalResult\";\nexport function graphQLResultHasError(result) {\n var errors = getGraphQLErrorsFromResult(result);\n return isNonEmptyArray(errors);\n}\nexport function getGraphQLErrorsFromResult(result) {\n var graphQLErrors = isNonEmptyArray(result.errors)\n ? result.errors.slice(0)\n : [];\n if (isExecutionPatchIncrementalResult(result) &&\n isNonEmptyArray(result.incremental)) {\n result.incremental.forEach(function (incrementalResult) {\n if (incrementalResult.errors) {\n graphQLErrors.push.apply(graphQLErrors, incrementalResult.errors);\n }\n });\n }\n return graphQLErrors;\n}\n//# sourceMappingURL=errorHandling.js.map","export function compact() {\n var objects = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n objects[_i] = arguments[_i];\n }\n var result = Object.create(null);\n objects.forEach(function (obj) {\n if (!obj)\n return;\n Object.keys(obj).forEach(function (key) {\n var value = obj[key];\n if (value !== void 0) {\n result[key] = value;\n }\n });\n });\n return result;\n}\n//# sourceMappingURL=compact.js.map","var prefixCounts = new Map();\nexport function makeUniqueId(prefix) {\n var count = prefixCounts.get(prefix) || 1;\n prefixCounts.set(prefix, count + 1);\n return \"\".concat(prefix, \":\").concat(count, \":\").concat(Math.random().toString(36).slice(2));\n}\n//# sourceMappingURL=makeUniqueId.js.map","import { makeUniqueId } from \"./makeUniqueId\";\nexport function stringifyForDisplay(value) {\n var undefId = makeUniqueId(\"stringifyForDisplay\");\n return JSON.stringify(value, function (key, value) {\n return value === void 0 ? undefId : value;\n }).split(JSON.stringify(undefId)).join(\"<undefined>\");\n}\n//# sourceMappingURL=stringifyForDisplay.js.map","import { __assign } from \"tslib\";\nimport { compact } from \"./compact\";\nexport function mergeOptions(defaults, options) {\n return compact(defaults, options, options.variables && {\n variables: __assign(__assign({}, (defaults && defaults.variables)), options.variables),\n });\n}\n//# sourceMappingURL=mergeOptions.js.map"],"names":["invariant","visit","BREAK","InvariantError","__assign","__spreadArray","Kind","__rest_1","__rest","Observable","maybe","__extends"],"mappings":"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"}
\No newline at end of file