This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
admin-panel/graphql-types/node_modules/@graphql-tools/batch-execute/index.cjs.js.map

1 line
26 KiB
Plaintext

{"version":3,"file":"index.cjs.js","sources":["../../../dist/batch-execute/src/prefix.js","../../../dist/batch-execute/src/mergeExecutionParams.js","../../../dist/batch-execute/src/splitResult.js","../../../dist/batch-execute/src/createBatchingExecutor.js","../../../dist/batch-execute/src/memoize.js","../../../dist/batch-execute/src/getBatchingExecutor.js"],"sourcesContent":["// adapted from https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-graphql/src/batching/merge-queries.js\nexport function createPrefix(index) {\n return `graphqlTools${index}_`;\n}\nexport function parseKey(prefixedKey) {\n const match = /^graphqlTools([\\d]+)_(.*)$/.exec(prefixedKey);\n if (match && match.length === 3 && !isNaN(Number(match[1])) && match[2]) {\n return { index: Number(match[1]), originalKey: match[2] };\n }\n return null;\n}\n//# sourceMappingURL=prefix.js.map","// adapted from https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-graphql/src/batching/merge-queries.js\nimport { visit, Kind, } from 'graphql';\nimport { createPrefix } from './prefix';\n/**\n * Merge multiple queries into a single query in such a way that query results\n * can be split and transformed as if they were obtained by running original queries.\n *\n * Merging algorithm involves several transformations:\n * 1. Replace top-level fragment spreads with inline fragments (... on Query {})\n * 2. Add unique aliases to all top-level query fields (including those on inline fragments)\n * 3. Prefix all variable definitions and variable usages\n * 4. Prefix names (and spreads) of fragments\n *\n * i.e transform:\n * [\n * `query Foo($id: ID!) { foo, bar(id: $id), ...FooQuery }\n * fragment FooQuery on Query { baz }`,\n *\n * `query Bar($id: ID!) { foo: baz, bar(id: $id), ... on Query { baz } }`\n * ]\n * to:\n * query (\n * $graphqlTools1_id: ID!\n * $graphqlTools2_id: ID!\n * ) {\n * graphqlTools1_foo: foo,\n * graphqlTools1_bar: bar(id: $graphqlTools1_id)\n * ... on Query {\n * graphqlTools1__baz: baz\n * }\n * graphqlTools1__foo: baz\n * graphqlTools1__bar: bar(id: $graphqlTools1__id)\n * ... on Query {\n * graphqlTools1__baz: baz\n * }\n * }\n */\nexport function mergeExecutionParams(execs, extensionsReducer) {\n const mergedVariables = Object.create(null);\n const mergedVariableDefinitions = [];\n const mergedSelections = [];\n const mergedFragmentDefinitions = [];\n let mergedExtensions = Object.create(null);\n let operation;\n execs.forEach((executionParams, index) => {\n const prefixedExecutionParams = prefixExecutionParams(createPrefix(index), executionParams);\n prefixedExecutionParams.document.definitions.forEach(def => {\n var _a;\n if (isOperationDefinition(def)) {\n operation = def.operation;\n mergedSelections.push(...def.selectionSet.selections);\n mergedVariableDefinitions.push(...((_a = def.variableDefinitions) !== null && _a !== void 0 ? _a : []));\n }\n if (isFragmentDefinition(def)) {\n mergedFragmentDefinitions.push(def);\n }\n });\n Object.assign(mergedVariables, prefixedExecutionParams.variables);\n mergedExtensions = extensionsReducer(mergedExtensions, executionParams);\n });\n const mergedOperationDefinition = {\n kind: Kind.OPERATION_DEFINITION,\n operation,\n variableDefinitions: mergedVariableDefinitions,\n selectionSet: {\n kind: Kind.SELECTION_SET,\n selections: mergedSelections,\n },\n };\n return {\n document: {\n kind: Kind.DOCUMENT,\n definitions: [mergedOperationDefinition, ...mergedFragmentDefinitions],\n },\n variables: mergedVariables,\n extensions: mergedExtensions,\n context: execs[0].context,\n info: execs[0].info,\n };\n}\nfunction prefixExecutionParams(prefix, executionParams) {\n let document = aliasTopLevelFields(prefix, executionParams.document);\n const variableNames = Object.keys(executionParams.variables);\n if (variableNames.length === 0) {\n return { ...executionParams, document };\n }\n document = visit(document, {\n [Kind.VARIABLE]: (node) => prefixNodeName(node, prefix),\n [Kind.FRAGMENT_DEFINITION]: (node) => prefixNodeName(node, prefix),\n [Kind.FRAGMENT_SPREAD]: (node) => prefixNodeName(node, prefix),\n });\n const prefixedVariables = variableNames.reduce((acc, name) => {\n acc[prefix + name] = executionParams.variables[name];\n return acc;\n }, Object.create(null));\n return {\n document,\n variables: prefixedVariables,\n };\n}\n/**\n * Adds prefixed aliases to top-level fields of the query.\n *\n * @see aliasFieldsInSelection for implementation details\n */\nfunction aliasTopLevelFields(prefix, document) {\n const transformer = {\n [Kind.OPERATION_DEFINITION]: (def) => {\n const { selections } = def.selectionSet;\n return {\n ...def,\n selectionSet: {\n ...def.selectionSet,\n selections: aliasFieldsInSelection(prefix, selections, document),\n },\n };\n },\n };\n return visit(document, transformer, { [Kind.DOCUMENT]: [`definitions`] });\n}\n/**\n * Add aliases to fields of the selection, including top-level fields of inline fragments.\n * Fragment spreads are converted to inline fragments and their top-level fields are also aliased.\n *\n * Note that this method is shallow. It adds aliases only to the top-level fields and doesn't\n * descend to field sub-selections.\n *\n * For example, transforms:\n * {\n * foo\n * ... on Query { foo }\n * ...FragmentWithBarField\n * }\n * To:\n * {\n * graphqlTools1_foo: foo\n * ... on Query { graphqlTools1_foo: foo }\n * ... on Query { graphqlTools1_bar: bar }\n * }\n */\nfunction aliasFieldsInSelection(prefix, selections, document) {\n return selections.map(selection => {\n switch (selection.kind) {\n case Kind.INLINE_FRAGMENT:\n return aliasFieldsInInlineFragment(prefix, selection, document);\n case Kind.FRAGMENT_SPREAD: {\n const inlineFragment = inlineFragmentSpread(selection, document);\n return aliasFieldsInInlineFragment(prefix, inlineFragment, document);\n }\n case Kind.FIELD:\n default:\n return aliasField(selection, prefix);\n }\n });\n}\n/**\n * Add aliases to top-level fields of the inline fragment.\n * Returns new inline fragment node.\n *\n * For Example, transforms:\n * ... on Query { foo, ... on Query { bar: foo } }\n * To\n * ... on Query { graphqlTools1_foo: foo, ... on Query { graphqlTools1_bar: foo } }\n */\nfunction aliasFieldsInInlineFragment(prefix, fragment, document) {\n const { selections } = fragment.selectionSet;\n return {\n ...fragment,\n selectionSet: {\n ...fragment.selectionSet,\n selections: aliasFieldsInSelection(prefix, selections, document),\n },\n };\n}\n/**\n * Replaces fragment spread with inline fragment\n *\n * Example:\n * query { ...Spread }\n * fragment Spread on Query { bar }\n *\n * Transforms to:\n * query { ... on Query { bar } }\n */\nfunction inlineFragmentSpread(spread, document) {\n const fragment = document.definitions.find(def => isFragmentDefinition(def) && def.name.value === spread.name.value);\n if (!fragment) {\n throw new Error(`Fragment ${spread.name.value} does not exist`);\n }\n const { typeCondition, selectionSet } = fragment;\n return {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition,\n selectionSet,\n directives: spread.directives,\n };\n}\nfunction prefixNodeName(namedNode, prefix) {\n return {\n ...namedNode,\n name: {\n ...namedNode.name,\n value: prefix + namedNode.name.value,\n },\n };\n}\n/**\n * Returns a new FieldNode with prefixed alias\n *\n * Example. Given prefix === \"graphqlTools1_\" transforms:\n * { foo } -> { graphqlTools1_foo: foo }\n * { foo: bar } -> { graphqlTools1_foo: bar }\n */\nfunction aliasField(field, aliasPrefix) {\n const aliasNode = field.alias ? field.alias : field.name;\n return {\n ...field,\n alias: {\n ...aliasNode,\n value: aliasPrefix + aliasNode.value,\n },\n };\n}\nfunction isOperationDefinition(def) {\n return def.kind === Kind.OPERATION_DEFINITION;\n}\nfunction isFragmentDefinition(def) {\n return def.kind === Kind.FRAGMENT_DEFINITION;\n}\n//# sourceMappingURL=mergeExecutionParams.js.map","// adapted from https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-graphql/src/batching/merge-queries.js\nimport { relocatedError } from '@graphql-tools/utils';\nimport { parseKey } from './prefix';\n/**\n * Split and transform result of the query produced by the `merge` function\n */\nexport function splitResult(mergedResult, numResults) {\n const splitResults = [];\n for (let i = 0; i < numResults; i++) {\n splitResults.push({});\n }\n const data = mergedResult.data;\n if (data) {\n Object.keys(data).forEach(prefixedKey => {\n const { index, originalKey } = parseKey(prefixedKey);\n if (!splitResults[index].data) {\n splitResults[index].data = { [originalKey]: data[prefixedKey] };\n }\n else {\n splitResults[index].data[originalKey] = data[prefixedKey];\n }\n });\n }\n const errors = mergedResult.errors;\n if (errors) {\n const newErrors = Object.create(null);\n errors.forEach(error => {\n if (error.path) {\n const parsedKey = parseKey(error.path[0]);\n if (parsedKey) {\n const { index, originalKey } = parsedKey;\n const newError = relocatedError(error, [originalKey, ...error.path.slice(1)]);\n if (!newErrors[index]) {\n newErrors[index] = [newError];\n }\n else {\n newErrors[index].push(newError);\n }\n return;\n }\n }\n splitResults.forEach((_splitResult, index) => {\n if (!newErrors[index]) {\n newErrors[index] = [error];\n }\n else {\n newErrors[index].push(error);\n }\n });\n });\n Object.keys(newErrors).forEach(index => {\n splitResults[index].errors = newErrors[index];\n });\n }\n return splitResults;\n}\n//# sourceMappingURL=splitResult.js.map","import { getOperationAST } from 'graphql';\nimport isPromise from 'is-promise';\nimport DataLoader from 'dataloader';\nimport { mergeExecutionParams } from './mergeExecutionParams';\nimport { splitResult } from './splitResult';\nexport function createBatchingExecutor(executor, dataLoaderOptions, extensionsReducer) {\n const loader = new DataLoader(createLoadFn(executor, extensionsReducer !== null && extensionsReducer !== void 0 ? extensionsReducer : defaultExtensionsReducer), dataLoaderOptions);\n return (executionParams) => loader.load(executionParams);\n}\nfunction createLoadFn(executor, extensionsReducer) {\n return async (execs) => {\n const execBatches = [];\n let index = 0;\n const exec = execs[index];\n let currentBatch = [exec];\n execBatches.push(currentBatch);\n const operationType = getOperationAST(exec.document, undefined).operation;\n while (++index < execs.length) {\n const currentOperationType = getOperationAST(execs[index].document, undefined).operation;\n if (operationType === currentOperationType) {\n currentBatch.push(execs[index]);\n }\n else {\n currentBatch = [execs[index]];\n execBatches.push(currentBatch);\n }\n }\n let containsPromises = false;\n const executionResults = [];\n execBatches.forEach(execBatch => {\n const mergedExecutionParams = mergeExecutionParams(execBatch, extensionsReducer);\n const executionResult = executor(mergedExecutionParams);\n if (isPromise(executionResult)) {\n containsPromises = true;\n }\n executionResults.push(executionResult);\n });\n if (containsPromises) {\n return Promise.all(executionResults).then(resultBatches => {\n let results = [];\n resultBatches.forEach((resultBatch, index) => {\n results = results.concat(splitResult(resultBatch, execBatches[index].length));\n });\n return results;\n });\n }\n let results = [];\n executionResults.forEach((resultBatch, index) => {\n results = results.concat(splitResult(resultBatch, execBatches[index].length));\n });\n return results;\n };\n}\nfunction defaultExtensionsReducer(mergedExtensions, executionParams) {\n const newExtensions = executionParams.extensions;\n if (newExtensions != null) {\n Object.assign(mergedExtensions, newExtensions);\n }\n return mergedExtensions;\n}\n//# sourceMappingURL=createBatchingExecutor.js.map","export function memoize2of4(fn) {\n let cache1;\n function memoized(a1, a2, a3, a4) {\n if (!cache1) {\n cache1 = new WeakMap();\n const cache2 = new WeakMap();\n cache1.set(a1, cache2);\n const newValue = fn(a1, a2, a3, a4);\n cache2.set(a2, newValue);\n return newValue;\n }\n let cache2 = cache1.get(a1);\n if (!cache2) {\n cache2 = new WeakMap();\n cache1.set(a1, cache2);\n const newValue = fn(a1, a2, a3, a4);\n cache2.set(a2, newValue);\n return newValue;\n }\n const cachedValue = cache2.get(a2);\n if (cachedValue === undefined) {\n const newValue = fn(a1, a2, a3, a4);\n cache2.set(a2, newValue);\n return newValue;\n }\n return cachedValue;\n }\n return memoized;\n}\n//# sourceMappingURL=memoize.js.map","import { createBatchingExecutor } from './createBatchingExecutor';\nimport { memoize2of4 } from './memoize';\nexport const getBatchingExecutor = memoize2of4(function (_context, executor, dataLoaderOptions, extensionsReducer) {\n var _a;\n if (_context === void 0) { _context = (_a = self !== null && self !== void 0 ? self : window) !== null && _a !== void 0 ? _a : global; }\n return createBatchingExecutor(executor, dataLoaderOptions, extensionsReducer);\n});\n//# sourceMappingURL=getBatchingExecutor.js.map"],"names":["Kind","visit","relocatedError","getOperationAST"],"mappings":"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"}