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/load/index.esm.js.map

1 line
45 KiB
Plaintext

{"version":3,"file":"index.esm.js","sources":["../../../dist/load/src/utils/pointers.js","../../../dist/load/src/load-typedefs/options.js","../../../dist/load/src/load-typedefs/load-file.js","../../../dist/load/src/utils/helpers.js","../../../dist/load/src/utils/custom-loader.js","../../../dist/load/src/utils/queue.js","../../../dist/load/src/load-typedefs/collect-sources.js","../../../dist/load/src/filter-document-kind.js","../../../dist/load/src/load-typedefs/parse.js","../../../dist/load/src/load-typedefs.js","../../../dist/load/src/documents.js","../../../dist/load/src/schema.js"],"sourcesContent":["import { asArray } from '@graphql-tools/utils';\nexport function normalizePointers(unnormalizedPointerOrPointers) {\n return asArray(unnormalizedPointerOrPointers).reduce((normalizedPointers, unnormalizedPointer) => {\n if (typeof unnormalizedPointer === 'string') {\n normalizedPointers[unnormalizedPointer] = {};\n }\n else if (typeof unnormalizedPointer === 'object') {\n Object.assign(normalizedPointers, unnormalizedPointer);\n }\n else {\n throw new Error(`Invalid pointer ${unnormalizedPointer}`);\n }\n return normalizedPointers;\n }, {});\n}\n//# sourceMappingURL=pointers.js.map","import { cwd } from 'process';\nexport function applyDefaultOptions(options) {\n options.cache = options.cache || {};\n options.cwd = options.cwd || cwd();\n options.sort = 'sort' in options ? options.sort : true;\n}\n//# sourceMappingURL=options.js.map","import { debugLog } from '@graphql-tools/utils';\nexport async function loadFile(pointer, options) {\n const cached = useCache({ pointer, options });\n if (cached) {\n return cached;\n }\n for await (const loader of options.loaders) {\n try {\n const canLoad = await loader.canLoad(pointer, options);\n if (canLoad) {\n const loadedValue = await loader.load(pointer, options);\n return loadedValue;\n }\n }\n catch (error) {\n debugLog(`Failed to find any GraphQL type definitions in: ${pointer} - ${error.message}`);\n throw error;\n }\n }\n return undefined;\n}\nexport function loadFileSync(pointer, options) {\n const cached = useCache({ pointer, options });\n if (cached) {\n return cached;\n }\n for (const loader of options.loaders) {\n try {\n const canLoad = loader.canLoadSync && loader.loadSync && loader.canLoadSync(pointer, options);\n if (canLoad) {\n return loader.loadSync(pointer, options);\n }\n }\n catch (error) {\n debugLog(`Failed to find any GraphQL type definitions in: ${pointer} - ${error.message}`);\n throw error;\n }\n }\n return undefined;\n}\nfunction useCache({ pointer, options }) {\n if (options['cache']) {\n return options['cache'][pointer];\n }\n}\n//# sourceMappingURL=load-file.js.map","import pLimit from 'p-limit';\n/**\n * Converts a string to 32bit integer\n */\nexport function stringToHash(str) {\n let hash = 0;\n if (str.length === 0) {\n return hash;\n }\n let char;\n for (let i = 0; i < str.length; i++) {\n char = str.charCodeAt(i);\n // tslint:disable-next-line: no-bitwise\n hash = (hash << 5) - hash + char;\n // tslint:disable-next-line: no-bitwise\n hash = hash & hash;\n }\n return hash;\n}\nexport function useStack(...fns) {\n return (input) => {\n function createNext(i) {\n if (i >= fns.length) {\n return () => { };\n }\n return function next() {\n fns[i](input, createNext(i + 1));\n };\n }\n fns[0](input, createNext(1));\n };\n}\nexport function useLimit(concurrency) {\n return pLimit(concurrency);\n}\n//# sourceMappingURL=helpers.js.map","import importFrom from 'import-from';\nexport function getCustomLoaderByPath(path, cwd) {\n try {\n const requiredModule = importFrom(cwd, path);\n if (requiredModule) {\n if (requiredModule.default && typeof requiredModule.default === 'function') {\n return requiredModule.default;\n }\n if (typeof requiredModule === 'function') {\n return requiredModule;\n }\n }\n }\n catch (e) { }\n return null;\n}\nexport async function useCustomLoader(loaderPointer, cwd) {\n let loader;\n if (typeof loaderPointer === 'string') {\n loader = await getCustomLoaderByPath(loaderPointer, cwd);\n }\n else if (typeof loaderPointer === 'function') {\n loader = loaderPointer;\n }\n if (typeof loader !== 'function') {\n throw new Error(`Failed to load custom loader: ${loaderPointer}`);\n }\n return loader;\n}\nexport function useCustomLoaderSync(loaderPointer, cwd) {\n let loader;\n if (typeof loaderPointer === 'string') {\n loader = getCustomLoaderByPath(loaderPointer, cwd);\n }\n else if (typeof loaderPointer === 'function') {\n loader = loaderPointer;\n }\n if (typeof loader !== 'function') {\n throw new Error(`Failed to load custom loader: ${loaderPointer}`);\n }\n return loader;\n}\n//# sourceMappingURL=custom-loader.js.map","import pLimit from 'p-limit';\nexport function useQueue(options) {\n const queue = [];\n const limit = (options === null || options === void 0 ? void 0 : options.concurrency) ? pLimit(options.concurrency) : async (fn) => fn();\n return {\n add(fn) {\n queue.push(() => limit(fn));\n },\n runAll() {\n return Promise.all(queue.map(fn => fn()));\n },\n };\n}\nexport function useSyncQueue() {\n const queue = [];\n return {\n add(fn) {\n queue.push(fn);\n },\n runAll() {\n queue.forEach(fn => fn());\n },\n };\n}\n//# sourceMappingURL=queue.js.map","import { isDocumentString, parseGraphQLSDL, asArray, getDocumentNodeFromSchema } from '@graphql-tools/utils';\nimport { isSchema, Kind } from 'graphql';\nimport isGlob from 'is-glob';\nimport { loadFile, loadFileSync } from './load-file';\nimport { stringToHash, useStack } from '../utils/helpers';\nimport { useCustomLoader, useCustomLoaderSync } from '../utils/custom-loader';\nimport { useQueue, useSyncQueue } from '../utils/queue';\nimport unixify from 'unixify';\nimport globby, { sync as globbySync } from 'globby';\nconst CONCURRENCY_LIMIT = 50;\nexport async function collectSources({ pointerOptionMap, options, }) {\n var _a;\n const sources = [];\n const globs = [];\n const globOptions = {};\n const queue = useQueue({ concurrency: CONCURRENCY_LIMIT });\n const { addSource, addGlob, collect } = createHelpers({\n sources,\n globs,\n options,\n globOptions,\n stack: [collectDocumentString, collectGlob, collectCustomLoader, collectFallback],\n });\n for (const pointer in pointerOptionMap) {\n const pointerOptions = {\n ...((_a = pointerOptionMap[pointer]) !== null && _a !== void 0 ? _a : {}),\n unixify,\n };\n collect({\n pointer,\n pointerOptions,\n pointerOptionMap,\n options,\n addSource,\n addGlob,\n queue: queue.add,\n });\n }\n if (globs.length) {\n includeIgnored({\n options,\n globs,\n });\n const paths = await globby(globs, createGlobbyOptions(options));\n collectSourcesFromGlobals({\n filepaths: paths,\n options,\n globOptions,\n pointerOptionMap,\n addSource,\n queue: queue.add,\n });\n }\n await queue.runAll();\n return sources;\n}\nexport function collectSourcesSync({ pointerOptionMap, options, }) {\n var _a;\n const sources = [];\n const globs = [];\n const globOptions = {};\n const queue = useSyncQueue();\n const { addSource, addGlob, collect } = createHelpers({\n sources,\n globs,\n options,\n globOptions,\n stack: [collectDocumentString, collectGlob, collectCustomLoaderSync, collectFallbackSync],\n });\n for (const pointer in pointerOptionMap) {\n const pointerOptions = {\n ...((_a = pointerOptionMap[pointer]) !== null && _a !== void 0 ? _a : {}),\n unixify,\n };\n collect({\n pointer,\n pointerOptions,\n pointerOptionMap,\n options,\n addSource,\n addGlob,\n queue: queue.add,\n });\n }\n if (globs.length) {\n includeIgnored({\n options,\n globs,\n });\n const paths = globbySync(globs, createGlobbyOptions(options));\n collectSourcesFromGlobalsSync({\n filepaths: paths,\n options,\n globOptions,\n pointerOptionMap,\n addSource,\n queue: queue.add,\n });\n }\n queue.runAll();\n return sources;\n}\n//\nfunction createHelpers({ sources, globs, options, globOptions, stack, }) {\n const addSource = ({ pointer, source, noCache, }) => {\n sources.push(source);\n if (!noCache) {\n options.cache[pointer] = source;\n }\n };\n const collect = useStack(...stack);\n const addGlob = ({ pointerOptions, pointer }) => {\n globs.push(pointer);\n Object.assign(globOptions, pointerOptions);\n };\n return {\n addSource,\n collect,\n addGlob,\n };\n}\nfunction includeIgnored({ options, globs }) {\n if (options.ignore) {\n const ignoreList = asArray(options.ignore)\n .map(g => `!(${g})`)\n .map(unixify);\n if (ignoreList.length > 0) {\n globs.push(...ignoreList);\n }\n }\n}\nfunction createGlobbyOptions(options) {\n return { absolute: true, ...options, ignore: [] };\n}\nfunction collectSourcesFromGlobals({ filepaths, options, globOptions, pointerOptionMap, addSource, queue, }) {\n const collectFromGlobs = useStack(collectCustomLoader, collectFallback);\n for (let i = 0; i < filepaths.length; i++) {\n const pointer = filepaths[i];\n collectFromGlobs({\n pointer,\n pointerOptions: globOptions,\n pointerOptionMap,\n options,\n addSource,\n addGlob: () => {\n throw new Error(`I don't accept any new globs!`);\n },\n queue,\n });\n }\n}\nfunction collectSourcesFromGlobalsSync({ filepaths, options, globOptions, pointerOptionMap, addSource, queue, }) {\n const collectFromGlobs = useStack(collectCustomLoaderSync, collectFallbackSync);\n for (let i = 0; i < filepaths.length; i++) {\n const pointer = filepaths[i];\n collectFromGlobs({\n pointer,\n pointerOptions: globOptions,\n pointerOptionMap,\n options,\n addSource,\n addGlob: () => {\n throw new Error(`I don't accept any new globs!`);\n },\n queue,\n });\n }\n}\nfunction addResultOfCustomLoader({ pointer, result, addSource, }) {\n if (isSchema(result)) {\n addSource({\n source: {\n location: pointer,\n schema: result,\n document: getDocumentNodeFromSchema(result),\n },\n pointer,\n noCache: true,\n });\n }\n else if (result.kind && result.kind === Kind.DOCUMENT) {\n addSource({\n source: {\n document: result,\n location: pointer,\n },\n pointer,\n });\n }\n else if (result.document) {\n addSource({\n source: {\n location: pointer,\n ...result,\n },\n pointer,\n });\n }\n}\nfunction collectDocumentString({ pointer, pointerOptions, options, addSource, queue }, next) {\n if (isDocumentString(pointer)) {\n return queue(() => {\n const source = parseGraphQLSDL(`${stringToHash(pointer)}.graphql`, pointer, {\n ...options,\n ...pointerOptions,\n });\n addSource({\n source,\n pointer,\n });\n });\n }\n next();\n}\nfunction collectGlob({ pointer, pointerOptions, addGlob }, next) {\n if (isGlob(pointerOptions.unixify(pointer))) {\n return addGlob({\n pointer: pointerOptions.unixify(pointer),\n pointerOptions,\n });\n }\n next();\n}\nfunction collectCustomLoader({ pointer, pointerOptions, queue, addSource, options, pointerOptionMap }, next) {\n if (pointerOptions.loader) {\n return queue(async () => {\n const loader = await useCustomLoader(pointerOptions.loader, options.cwd);\n const result = await loader(pointer, { ...options, ...pointerOptions }, pointerOptionMap);\n if (!result) {\n return;\n }\n addResultOfCustomLoader({ pointer, result, addSource });\n });\n }\n next();\n}\nfunction collectCustomLoaderSync({ pointer, pointerOptions, queue, addSource, options, pointerOptionMap }, next) {\n if (pointerOptions.loader) {\n return queue(() => {\n const loader = useCustomLoaderSync(pointerOptions.loader, options.cwd);\n const result = loader(pointer, { ...options, ...pointerOptions }, pointerOptionMap);\n if (result) {\n addResultOfCustomLoader({ pointer, result, addSource });\n }\n });\n }\n next();\n}\nfunction collectFallback({ queue, pointer, options, pointerOptions, addSource }) {\n return queue(async () => {\n const source = await loadFile(pointer, {\n ...options,\n ...pointerOptions,\n });\n if (source) {\n addSource({ source, pointer });\n }\n });\n}\nfunction collectFallbackSync({ queue, pointer, options, pointerOptions, addSource }) {\n return queue(() => {\n const source = loadFileSync(pointer, {\n ...options,\n ...pointerOptions,\n });\n if (source) {\n addSource({ source, pointer });\n }\n });\n}\n//# sourceMappingURL=collect-sources.js.map","import { debugLog } from '@graphql-tools/utils';\nimport { Kind } from 'graphql';\n/**\n * @internal\n */\nexport const filterKind = (content, filterKinds) => {\n if (content && content.definitions && content.definitions.length && filterKinds && filterKinds.length > 0) {\n const invalidDefinitions = [];\n const validDefinitions = [];\n for (const definitionNode of content.definitions) {\n if (filterKinds.includes(definitionNode.kind)) {\n invalidDefinitions.push(definitionNode);\n }\n else {\n validDefinitions.push(definitionNode);\n }\n }\n if (invalidDefinitions.length > 0) {\n invalidDefinitions.forEach(d => {\n debugLog(`Filtered document of kind ${d.kind} due to filter policy (${filterKinds.join(', ')})`);\n });\n }\n return {\n kind: Kind.DOCUMENT,\n definitions: validDefinitions,\n };\n }\n return content;\n};\n//# sourceMappingURL=filter-document-kind.js.map","import { printSchemaWithDirectives, fixSchemaAst, parseGraphQLSDL } from '@graphql-tools/utils';\nimport { printWithComments, resetComments } from '@graphql-tools/merge';\nimport { filterKind } from '../filter-document-kind';\nexport function parseSource({ partialSource, options, globOptions, pointerOptionMap, addValidSource }) {\n if (partialSource) {\n const input = prepareInput({\n source: partialSource,\n options,\n globOptions,\n pointerOptionMap,\n });\n parseSchema(input);\n parseRawSDL(input);\n if (input.source.document) {\n useKindsFilter(input);\n useComments(input);\n collectValidSources(input, addValidSource);\n }\n }\n}\n//\nfunction prepareInput({ source, options, globOptions, pointerOptionMap, }) {\n const specificOptions = {\n ...options,\n ...(source.location in pointerOptionMap ? globOptions : pointerOptionMap[source.location]),\n };\n return { source: { ...source }, options: specificOptions };\n}\nfunction parseSchema(input) {\n if (input.source.schema) {\n input.source.schema = fixSchemaAst(input.source.schema, input.options);\n input.source.rawSDL = printSchemaWithDirectives(input.source.schema, input.options);\n }\n}\nfunction parseRawSDL(input) {\n if (input.source.rawSDL) {\n input.source.document = parseGraphQLSDL(input.source.location, input.source.rawSDL, input.options).document;\n }\n}\nfunction useKindsFilter(input) {\n if (input.options.filterKinds) {\n input.source.document = filterKind(input.source.document, input.options.filterKinds);\n }\n}\nfunction useComments(input) {\n if (!input.source.rawSDL) {\n input.source.rawSDL = printWithComments(input.source.document);\n resetComments();\n }\n}\nfunction collectValidSources(input, addValidSource) {\n if (input.source.document.definitions && input.source.document.definitions.length > 0) {\n addValidSource(input.source);\n }\n}\n//# sourceMappingURL=parse.js.map","import { compareStrings } from '@graphql-tools/utils';\nimport { normalizePointers } from './utils/pointers';\nimport { applyDefaultOptions } from './load-typedefs/options';\nimport { collectSources, collectSourcesSync } from './load-typedefs/collect-sources';\nimport { parseSource } from './load-typedefs/parse';\nimport { useLimit } from './utils/helpers';\nconst CONCURRENCY_LIMIT = 100;\n/**\n * Asynchronously loads any GraphQL documents (i.e. executable documents like\n * operations and fragments as well as type system definitions) from the\n * provided pointers.\n * @param pointerOrPointers Pointers to the sources to load the documents from\n * @param options Additional options\n */\nexport async function loadTypedefs(pointerOrPointers, options) {\n const pointerOptionMap = normalizePointers(pointerOrPointers);\n const globOptions = {};\n applyDefaultOptions(options);\n const sources = await collectSources({\n pointerOptionMap,\n options,\n });\n const validSources = [];\n // If we have few k of files it may be an issue\n const limit = useLimit(CONCURRENCY_LIMIT);\n await Promise.all(sources.map(partialSource => limit(() => parseSource({\n partialSource,\n options,\n globOptions,\n pointerOptionMap,\n addValidSource(source) {\n validSources.push(source);\n },\n }))));\n return prepareResult({ options, pointerOptionMap, validSources });\n}\n/**\n * Synchronously loads any GraphQL documents (i.e. executable documents like\n * operations and fragments as well as type system definitions) from the\n * provided pointers.\n * @param pointerOrPointers Pointers to the sources to load the documents from\n * @param options Additional options\n */\nexport function loadTypedefsSync(pointerOrPointers, options) {\n const pointerOptionMap = normalizePointers(pointerOrPointers);\n const globOptions = {};\n applyDefaultOptions(options);\n const sources = collectSourcesSync({\n pointerOptionMap,\n options,\n });\n const validSources = [];\n sources.forEach(partialSource => {\n parseSource({\n partialSource,\n options,\n globOptions,\n pointerOptionMap,\n addValidSource(source) {\n validSources.push(source);\n },\n });\n });\n return prepareResult({ options, pointerOptionMap, validSources });\n}\n//\nfunction prepareResult({ options, pointerOptionMap, validSources, }) {\n const pointerList = Object.keys(pointerOptionMap);\n if (pointerList.length > 0 && validSources.length === 0) {\n throw new Error(`\n Unable to find any GraphQL type definitions for the following pointers:\n ${pointerList.map(p => `\n - ${p}\n `)}`);\n }\n return options.sort\n ? validSources.sort((left, right) => compareStrings(left.location, right.location))\n : validSources;\n}\n//# sourceMappingURL=load-typedefs.js.map","import { Kind } from 'graphql';\nimport { loadTypedefs, loadTypedefsSync } from './load-typedefs';\n/**\n * Kinds of AST nodes that are included in executable documents\n */\nexport const OPERATION_KINDS = [Kind.OPERATION_DEFINITION, Kind.FRAGMENT_DEFINITION];\n/**\n * Kinds of AST nodes that are included in type system definition documents\n */\nexport const NON_OPERATION_KINDS = Object.keys(Kind)\n .reduce((prev, v) => [...prev, Kind[v]], [])\n .filter(v => !OPERATION_KINDS.includes(v));\n/**\n * Asynchronously loads executable documents (i.e. operations and fragments) from\n * the provided pointers. The pointers may be individual files or a glob pattern.\n * The files themselves may be `.graphql` files or `.js` and `.ts` (in which\n * case they will be parsed using graphql-tag-pluck).\n * @param pointerOrPointers Pointers to the files to load the documents from\n * @param options Additional options\n */\nexport function loadDocuments(pointerOrPointers, options) {\n return loadTypedefs(pointerOrPointers, { noRequire: true, filterKinds: NON_OPERATION_KINDS, ...options });\n}\n/**\n * Synchronously loads executable documents (i.e. operations and fragments) from\n * the provided pointers. The pointers may be individual files or a glob pattern.\n * The files themselves may be `.graphql` files or `.js` and `.ts` (in which\n * case they will be parsed using graphql-tag-pluck).\n * @param pointerOrPointers Pointers to the files to load the documents from\n * @param options Additional options\n */\nexport function loadDocumentsSync(pointerOrPointers, options) {\n return loadTypedefsSync(pointerOrPointers, { noRequire: true, filterKinds: NON_OPERATION_KINDS, ...options });\n}\n//# sourceMappingURL=documents.js.map","import { loadTypedefs, loadTypedefsSync } from './load-typedefs';\nimport { Source as GraphQLSource, print } from 'graphql';\nimport { OPERATION_KINDS } from './documents';\nimport { mergeSchemasAsync, mergeSchemas } from '@graphql-tools/merge';\n/**\n * Asynchronously loads a schema from the provided pointers.\n * @param schemaPointers Pointers to the sources to load the schema from\n * @param options Additional options\n */\nexport async function loadSchema(schemaPointers, options) {\n const sources = await loadTypedefs(schemaPointers, {\n filterKinds: OPERATION_KINDS,\n ...options,\n });\n const { schemas, typeDefs } = collectSchemasAndTypeDefs(sources);\n const mergeSchemasOptions = {\n schemas,\n typeDefs,\n ...options,\n };\n const schema = await mergeSchemasAsync(mergeSchemasOptions);\n if (options === null || options === void 0 ? void 0 : options.includeSources) {\n includeSources(schema, sources);\n }\n return schema;\n}\n/**\n * Synchronously loads a schema from the provided pointers.\n * @param schemaPointers Pointers to the sources to load the schema from\n * @param options Additional options\n */\nexport function loadSchemaSync(schemaPointers, options) {\n const sources = loadTypedefsSync(schemaPointers, {\n filterKinds: OPERATION_KINDS,\n ...options,\n });\n const { schemas, typeDefs } = collectSchemasAndTypeDefs(sources);\n const mergeSchemasOptions = {\n schemas,\n typeDefs,\n ...options,\n };\n const schema = mergeSchemas(mergeSchemasOptions);\n if (options === null || options === void 0 ? void 0 : options.includeSources) {\n includeSources(schema, sources);\n }\n return schema;\n}\nfunction includeSources(schema, sources) {\n schema.extensions = {\n ...schema.extensions,\n sources: sources\n .filter(source => source.rawSDL || source.document)\n .map(source => new GraphQLSource(source.rawSDL || print(source.document), source.location)),\n };\n}\nfunction collectSchemasAndTypeDefs(sources) {\n const schemas = [];\n const typeDefs = [];\n sources.forEach(source => {\n if (source.schema) {\n schemas.push(source.schema);\n }\n else {\n typeDefs.push(source.document);\n }\n });\n return {\n schemas,\n typeDefs,\n };\n}\n//# sourceMappingURL=schema.js.map"],"names":["globbySync","CONCURRENCY_LIMIT","GraphQLSource"],"mappings":"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"}