@zuplo/cli 6.70.59 → 6.70.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node_modules/@zuplo/core/package.json +1 -1
- package/node_modules/@zuplo/graphql/package.json +1 -1
- package/node_modules/@zuplo/openapi-tools/package.json +1 -1
- package/node_modules/@zuplo/otel/package.json +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-AQGS5CID.js → chunk-6WKYPMAI.js} +86 -86
- package/node_modules/@zuplo/runtime/out/esm/chunk-6WKYPMAI.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
- package/node_modules/@zuplo/runtime/package.json +1 -1
- package/node_modules/graphql/error/GraphQLError.d.ts +151 -15
- package/node_modules/graphql/error/GraphQLError.js +143 -12
- package/node_modules/graphql/error/GraphQLError.mjs +143 -12
- package/node_modules/graphql/error/index.d.ts +6 -0
- package/node_modules/graphql/error/index.mjs +6 -0
- package/node_modules/graphql/error/locatedError.d.ts +20 -0
- package/node_modules/graphql/error/locatedError.js +21 -0
- package/node_modules/graphql/error/locatedError.mjs +20 -0
- package/node_modules/graphql/error/syntaxError.d.ts +15 -0
- package/node_modules/graphql/error/syntaxError.js +16 -0
- package/node_modules/graphql/error/syntaxError.mjs +15 -0
- package/node_modules/graphql/execution/collectFields.js +6 -0
- package/node_modules/graphql/execution/collectFields.mjs +6 -0
- package/node_modules/graphql/execution/execute.d.ts +211 -12
- package/node_modules/graphql/execution/execute.js +214 -23
- package/node_modules/graphql/execution/execute.mjs +213 -23
- package/node_modules/graphql/execution/index.d.ts +6 -0
- package/node_modules/graphql/execution/index.mjs +6 -0
- package/node_modules/graphql/execution/mapAsyncIterator.d.ts +2 -0
- package/node_modules/graphql/execution/mapAsyncIterator.js +2 -0
- package/node_modules/graphql/execution/mapAsyncIterator.mjs +2 -0
- package/node_modules/graphql/execution/subscribe.d.ts +195 -5
- package/node_modules/graphql/execution/subscribe.js +154 -11
- package/node_modules/graphql/execution/subscribe.mjs +153 -11
- package/node_modules/graphql/execution/values.d.ts +167 -10
- package/node_modules/graphql/execution/values.js +149 -5
- package/node_modules/graphql/execution/values.mjs +148 -5
- package/node_modules/graphql/graphql.d.ts +163 -41
- package/node_modules/graphql/graphql.js +126 -4
- package/node_modules/graphql/graphql.mjs +131 -41
- package/node_modules/graphql/index.d.ts +11 -17
- package/node_modules/graphql/index.mjs +13 -19
- package/node_modules/graphql/jsutils/Maybe.d.ts +5 -1
- package/node_modules/graphql/jsutils/ObjMap.d.ts +4 -0
- package/node_modules/graphql/jsutils/Path.d.ts +30 -0
- package/node_modules/graphql/jsutils/Path.js +29 -0
- package/node_modules/graphql/jsutils/Path.mjs +29 -0
- package/node_modules/graphql/jsutils/PromiseOrValue.d.ts +1 -0
- package/node_modules/graphql/jsutils/devAssert.d.ts +1 -0
- package/node_modules/graphql/jsutils/devAssert.js +1 -0
- package/node_modules/graphql/jsutils/devAssert.mjs +1 -0
- package/node_modules/graphql/jsutils/didYouMean.d.ts +4 -1
- package/node_modules/graphql/jsutils/didYouMean.js +4 -1
- package/node_modules/graphql/jsutils/didYouMean.mjs +4 -1
- package/node_modules/graphql/jsutils/groupBy.d.ts +2 -0
- package/node_modules/graphql/jsutils/groupBy.js +2 -0
- package/node_modules/graphql/jsutils/groupBy.mjs +2 -0
- package/node_modules/graphql/jsutils/identityFunc.d.ts +2 -0
- package/node_modules/graphql/jsutils/identityFunc.js +2 -0
- package/node_modules/graphql/jsutils/identityFunc.mjs +2 -0
- package/node_modules/graphql/jsutils/inspect.d.ts +2 -0
- package/node_modules/graphql/jsutils/inspect.js +2 -0
- package/node_modules/graphql/jsutils/inspect.mjs +2 -0
- package/node_modules/graphql/jsutils/instanceOf.d.ts +2 -0
- package/node_modules/graphql/jsutils/instanceOf.js +2 -0
- package/node_modules/graphql/jsutils/instanceOf.mjs +2 -0
- package/node_modules/graphql/jsutils/invariant.d.ts +1 -0
- package/node_modules/graphql/jsutils/invariant.js +1 -0
- package/node_modules/graphql/jsutils/invariant.mjs +1 -0
- package/node_modules/graphql/jsutils/isAsyncIterable.d.ts +2 -0
- package/node_modules/graphql/jsutils/isAsyncIterable.js +2 -0
- package/node_modules/graphql/jsutils/isAsyncIterable.mjs +2 -0
- package/node_modules/graphql/jsutils/isIterableObject.d.ts +6 -5
- package/node_modules/graphql/jsutils/isIterableObject.js +6 -5
- package/node_modules/graphql/jsutils/isIterableObject.mjs +6 -5
- package/node_modules/graphql/jsutils/isObjectLike.d.ts +2 -0
- package/node_modules/graphql/jsutils/isObjectLike.js +2 -0
- package/node_modules/graphql/jsutils/isObjectLike.mjs +2 -0
- package/node_modules/graphql/jsutils/isPromise.d.ts +2 -0
- package/node_modules/graphql/jsutils/isPromise.js +2 -0
- package/node_modules/graphql/jsutils/isPromise.mjs +2 -0
- package/node_modules/graphql/jsutils/keyMap.d.ts +7 -14
- package/node_modules/graphql/jsutils/keyMap.js +7 -14
- package/node_modules/graphql/jsutils/keyMap.mjs +7 -14
- package/node_modules/graphql/jsutils/keyValMap.d.ts +9 -6
- package/node_modules/graphql/jsutils/keyValMap.js +9 -6
- package/node_modules/graphql/jsutils/keyValMap.mjs +9 -6
- package/node_modules/graphql/jsutils/mapValue.d.ts +2 -0
- package/node_modules/graphql/jsutils/mapValue.js +2 -0
- package/node_modules/graphql/jsutils/mapValue.mjs +2 -0
- package/node_modules/graphql/jsutils/memoize3.d.ts +2 -0
- package/node_modules/graphql/jsutils/memoize3.js +2 -0
- package/node_modules/graphql/jsutils/memoize3.mjs +2 -0
- package/node_modules/graphql/jsutils/naturalCompare.d.ts +2 -0
- package/node_modules/graphql/jsutils/naturalCompare.js +2 -0
- package/node_modules/graphql/jsutils/naturalCompare.mjs +2 -0
- package/node_modules/graphql/jsutils/printPathArray.d.ts +2 -0
- package/node_modules/graphql/jsutils/printPathArray.js +2 -0
- package/node_modules/graphql/jsutils/printPathArray.mjs +2 -0
- package/node_modules/graphql/jsutils/promiseForObject.d.ts +2 -0
- package/node_modules/graphql/jsutils/promiseForObject.js +2 -0
- package/node_modules/graphql/jsutils/promiseForObject.mjs +2 -0
- package/node_modules/graphql/jsutils/promiseReduce.d.ts +2 -0
- package/node_modules/graphql/jsutils/promiseReduce.js +2 -0
- package/node_modules/graphql/jsutils/promiseReduce.mjs +2 -0
- package/node_modules/graphql/jsutils/suggestionList.d.ts +2 -0
- package/node_modules/graphql/jsutils/suggestionList.js +4 -0
- package/node_modules/graphql/jsutils/suggestionList.mjs +4 -0
- package/node_modules/graphql/jsutils/toError.d.ts +2 -0
- package/node_modules/graphql/jsutils/toError.js +2 -0
- package/node_modules/graphql/jsutils/toError.mjs +2 -0
- package/node_modules/graphql/jsutils/toObjMap.d.ts +1 -0
- package/node_modules/graphql/jsutils/toObjMap.js +1 -0
- package/node_modules/graphql/jsutils/toObjMap.mjs +1 -0
- package/node_modules/graphql/language/ast.d.ts +412 -54
- package/node_modules/graphql/language/ast.js +95 -38
- package/node_modules/graphql/language/ast.mjs +95 -38
- package/node_modules/graphql/language/blockString.d.ts +1 -3
- package/node_modules/graphql/language/blockString.js +1 -3
- package/node_modules/graphql/language/blockString.mjs +1 -3
- package/node_modules/graphql/language/directiveLocation.d.ts +28 -8
- package/node_modules/graphql/language/directiveLocation.js +9 -6
- package/node_modules/graphql/language/directiveLocation.mjs +9 -6
- package/node_modules/graphql/language/index.d.ts +6 -0
- package/node_modules/graphql/language/index.mjs +6 -0
- package/node_modules/graphql/language/kinds.d.ts +57 -18
- package/node_modules/graphql/language/kinds.js +9 -6
- package/node_modules/graphql/language/kinds.mjs +9 -6
- package/node_modules/graphql/language/lexer.d.ts +47 -14
- package/node_modules/graphql/language/lexer.js +71 -13
- package/node_modules/graphql/language/lexer.mjs +70 -13
- package/node_modules/graphql/language/location.d.ts +16 -3
- package/node_modules/graphql/language/location.js +14 -3
- package/node_modules/graphql/language/location.mjs +14 -3
- package/node_modules/graphql/language/parser.d.ts +236 -13
- package/node_modules/graphql/language/parser.js +224 -0
- package/node_modules/graphql/language/parser.mjs +224 -3
- package/node_modules/graphql/language/predicates.d.ts +169 -0
- package/node_modules/graphql/language/predicates.js +170 -0
- package/node_modules/graphql/language/predicates.mjs +180 -0
- package/node_modules/graphql/language/printLocation.d.ts +28 -0
- package/node_modules/graphql/language/printLocation.js +29 -0
- package/node_modules/graphql/language/printLocation.mjs +28 -0
- package/node_modules/graphql/language/printString.d.ts +2 -0
- package/node_modules/graphql/language/printString.js +5 -1
- package/node_modules/graphql/language/printString.mjs +5 -1
- package/node_modules/graphql/language/printer.d.ts +12 -0
- package/node_modules/graphql/language/printer.js +19 -0
- package/node_modules/graphql/language/printer.mjs +18 -0
- package/node_modules/graphql/language/schemaCoordinateLexer.d.ts +8 -6
- package/node_modules/graphql/language/schemaCoordinateLexer.js +10 -6
- package/node_modules/graphql/language/schemaCoordinateLexer.mjs +10 -6
- package/node_modules/graphql/language/source.d.ts +28 -0
- package/node_modules/graphql/language/source.js +32 -0
- package/node_modules/graphql/language/source.mjs +31 -0
- package/node_modules/graphql/language/tokenKind.d.ts +30 -3
- package/node_modules/graphql/language/tokenKind.js +8 -3
- package/node_modules/graphql/language/tokenKind.mjs +8 -3
- package/node_modules/graphql/language/visitor.d.ts +200 -72
- package/node_modules/graphql/language/visitor.js +122 -50
- package/node_modules/graphql/language/visitor.mjs +122 -54
- package/node_modules/graphql/package.json +1 -1
- package/node_modules/graphql/subscription/index.d.ts +9 -3
- package/node_modules/graphql/subscription/index.mjs +9 -3
- package/node_modules/graphql/type/assertName.d.ts +18 -1
- package/node_modules/graphql/type/assertName.js +19 -1
- package/node_modules/graphql/type/assertName.mjs +18 -1
- package/node_modules/graphql/type/definition.d.ts +2540 -79
- package/node_modules/graphql/type/definition.js +2214 -61
- package/node_modules/graphql/type/definition.mjs +2241 -60
- package/node_modules/graphql/type/directives.d.ts +193 -18
- package/node_modules/graphql/type/directives.js +196 -19
- package/node_modules/graphql/type/directives.mjs +196 -19
- package/node_modules/graphql/type/index.d.ts +6 -0
- package/node_modules/graphql/type/index.mjs +6 -0
- package/node_modules/graphql/type/introspection.d.ts +36 -0
- package/node_modules/graphql/type/introspection.js +33 -0
- package/node_modules/graphql/type/introspection.mjs +41 -0
- package/node_modules/graphql/type/scalars.d.ts +29 -2
- package/node_modules/graphql/type/scalars.js +37 -2
- package/node_modules/graphql/type/scalars.mjs +36 -2
- package/node_modules/graphql/type/schema.d.ts +490 -28
- package/node_modules/graphql/type/schema.js +484 -26
- package/node_modules/graphql/type/schema.mjs +484 -26
- package/node_modules/graphql/type/validate.d.ts +31 -0
- package/node_modules/graphql/type/validate.js +32 -0
- package/node_modules/graphql/type/validate.mjs +31 -0
- package/node_modules/graphql/utilities/TypeInfo.d.ts +441 -1
- package/node_modules/graphql/utilities/TypeInfo.js +444 -1
- package/node_modules/graphql/utilities/TypeInfo.mjs +443 -1
- package/node_modules/graphql/utilities/assertValidName.d.ts +27 -2
- package/node_modules/graphql/utilities/assertValidName.js +28 -2
- package/node_modules/graphql/utilities/assertValidName.mjs +27 -2
- package/node_modules/graphql/utilities/astFromValue.d.ts +33 -3
- package/node_modules/graphql/utilities/astFromValue.js +36 -3
- package/node_modules/graphql/utilities/astFromValue.mjs +35 -3
- package/node_modules/graphql/utilities/buildASTSchema.d.ts +65 -6
- package/node_modules/graphql/utilities/buildASTSchema.js +65 -6
- package/node_modules/graphql/utilities/buildASTSchema.mjs +65 -6
- package/node_modules/graphql/utilities/buildClientSchema.d.ts +15 -0
- package/node_modules/graphql/utilities/buildClientSchema.js +16 -0
- package/node_modules/graphql/utilities/buildClientSchema.mjs +15 -0
- package/node_modules/graphql/utilities/coerceInputValue.d.ts +46 -0
- package/node_modules/graphql/utilities/coerceInputValue.js +47 -0
- package/node_modules/graphql/utilities/coerceInputValue.mjs +46 -0
- package/node_modules/graphql/utilities/concatAST.d.ts +12 -0
- package/node_modules/graphql/utilities/concatAST.js +13 -0
- package/node_modules/graphql/utilities/concatAST.mjs +12 -0
- package/node_modules/graphql/utilities/extendSchema.d.ts +56 -3
- package/node_modules/graphql/utilities/extendSchema.js +63 -3
- package/node_modules/graphql/utilities/extendSchema.mjs +62 -3
- package/node_modules/graphql/utilities/findBreakingChanges.d.ts +95 -0
- package/node_modules/graphql/utilities/findBreakingChanges.js +68 -0
- package/node_modules/graphql/utilities/findBreakingChanges.mjs +70 -0
- package/node_modules/graphql/utilities/getIntrospectionQuery.d.ts +132 -0
- package/node_modules/graphql/utilities/getIntrospectionQuery.js +41 -0
- package/node_modules/graphql/utilities/getIntrospectionQuery.mjs +41 -0
- package/node_modules/graphql/utilities/getOperationAST.d.ts +15 -0
- package/node_modules/graphql/utilities/getOperationAST.js +16 -0
- package/node_modules/graphql/utilities/getOperationAST.mjs +15 -0
- package/node_modules/graphql/utilities/getOperationRootType.d.ts +18 -1
- package/node_modules/graphql/utilities/getOperationRootType.js +19 -1
- package/node_modules/graphql/utilities/getOperationRootType.mjs +18 -1
- package/node_modules/graphql/utilities/index.d.ts +7 -0
- package/node_modules/graphql/utilities/index.mjs +7 -0
- package/node_modules/graphql/utilities/introspectionFromSchema.d.ts +54 -0
- package/node_modules/graphql/utilities/introspectionFromSchema.js +55 -0
- package/node_modules/graphql/utilities/introspectionFromSchema.mjs +54 -0
- package/node_modules/graphql/utilities/lexicographicSortSchema.d.ts +35 -0
- package/node_modules/graphql/utilities/lexicographicSortSchema.js +36 -0
- package/node_modules/graphql/utilities/lexicographicSortSchema.mjs +35 -0
- package/node_modules/graphql/utilities/printSchema.d.ts +63 -0
- package/node_modules/graphql/utilities/printSchema.js +66 -0
- package/node_modules/graphql/utilities/printSchema.mjs +67 -0
- package/node_modules/graphql/utilities/resolveSchemaCoordinate.d.ts +62 -0
- package/node_modules/graphql/utilities/resolveSchemaCoordinate.js +64 -0
- package/node_modules/graphql/utilities/resolveSchemaCoordinate.mjs +63 -0
- package/node_modules/graphql/utilities/separateOperations.d.ts +30 -0
- package/node_modules/graphql/utilities/separateOperations.js +31 -0
- package/node_modules/graphql/utilities/separateOperations.mjs +30 -0
- package/node_modules/graphql/utilities/stripIgnoredCharacters.d.ts +13 -6
- package/node_modules/graphql/utilities/stripIgnoredCharacters.js +16 -6
- package/node_modules/graphql/utilities/stripIgnoredCharacters.mjs +15 -6
- package/node_modules/graphql/utilities/typeComparators.d.ts +84 -0
- package/node_modules/graphql/utilities/typeComparators.js +85 -0
- package/node_modules/graphql/utilities/typeComparators.mjs +84 -0
- package/node_modules/graphql/utilities/typeFromAST.d.ts +86 -0
- package/node_modules/graphql/utilities/typeFromAST.js +3 -0
- package/node_modules/graphql/utilities/typeFromAST.mjs +3 -0
- package/node_modules/graphql/utilities/typedQueryDocumentNode.d.ts +4 -0
- package/node_modules/graphql/utilities/valueFromAST.d.ts +38 -0
- package/node_modules/graphql/utilities/valueFromAST.js +39 -0
- package/node_modules/graphql/utilities/valueFromAST.mjs +38 -0
- package/node_modules/graphql/utilities/valueFromASTUntyped.d.ts +15 -2
- package/node_modules/graphql/utilities/valueFromASTUntyped.js +16 -2
- package/node_modules/graphql/utilities/valueFromASTUntyped.mjs +15 -2
- package/node_modules/graphql/validation/ValidationContext.d.ts +399 -0
- package/node_modules/graphql/validation/ValidationContext.js +400 -0
- package/node_modules/graphql/validation/ValidationContext.mjs +401 -0
- package/node_modules/graphql/validation/index.d.ts +6 -0
- package/node_modules/graphql/validation/index.mjs +6 -0
- package/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.js +29 -0
- package/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.js +33 -0
- package/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.mjs +32 -0
- package/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.js +29 -0
- package/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/KnownArgumentNamesRule.d.ts +29 -3
- package/node_modules/graphql/validation/rules/KnownArgumentNamesRule.js +30 -3
- package/node_modules/graphql/validation/rules/KnownArgumentNamesRule.mjs +29 -3
- package/node_modules/graphql/validation/rules/KnownDirectivesRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/KnownDirectivesRule.js +29 -0
- package/node_modules/graphql/validation/rules/KnownDirectivesRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/KnownFragmentNamesRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/KnownFragmentNamesRule.js +29 -0
- package/node_modules/graphql/validation/rules/KnownFragmentNamesRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/KnownTypeNamesRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/KnownTypeNamesRule.js +29 -0
- package/node_modules/graphql/validation/rules/KnownTypeNamesRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.js +29 -0
- package/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.d.ts +21 -0
- package/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.js +22 -0
- package/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.mjs +21 -0
- package/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.d.ts +31 -0
- package/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.js +33 -0
- package/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.mjs +34 -0
- package/node_modules/graphql/validation/rules/NoFragmentCyclesRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/NoFragmentCyclesRule.js +29 -0
- package/node_modules/graphql/validation/rules/NoFragmentCyclesRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.js +29 -0
- package/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.js +29 -0
- package/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/NoUnusedVariablesRule.d.ts +29 -0
- package/node_modules/graphql/validation/rules/NoUnusedVariablesRule.js +30 -0
- package/node_modules/graphql/validation/rules/NoUnusedVariablesRule.mjs +29 -0
- package/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +33 -0
- package/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.js +45 -6
- package/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +45 -6
- package/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.d.ts +36 -0
- package/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.js +37 -0
- package/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.mjs +36 -0
- package/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.d.ts +21 -0
- package/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.js +22 -0
- package/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.mjs +21 -0
- package/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.d.ts +29 -3
- package/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.js +30 -3
- package/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.mjs +29 -3
- package/node_modules/graphql/validation/rules/ScalarLeafsRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/ScalarLeafsRule.js +29 -0
- package/node_modules/graphql/validation/rules/ScalarLeafsRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.d.ts +33 -0
- package/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.js +34 -0
- package/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.mjs +33 -0
- package/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +21 -0
- package/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.js +22 -0
- package/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +21 -0
- package/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.js +29 -0
- package/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.d.ts +21 -0
- package/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.js +22 -0
- package/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.mjs +21 -0
- package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.js +29 -0
- package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.d.ts +21 -0
- package/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.js +22 -0
- package/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.mjs +21 -0
- package/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +21 -0
- package/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.js +22 -0
- package/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.mjs +21 -0
- package/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.js +29 -0
- package/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.d.ts +32 -0
- package/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.js +33 -0
- package/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.mjs +32 -0
- package/node_modules/graphql/validation/rules/UniqueOperationNamesRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/UniqueOperationNamesRule.js +29 -0
- package/node_modules/graphql/validation/rules/UniqueOperationNamesRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/UniqueOperationTypesRule.d.ts +21 -0
- package/node_modules/graphql/validation/rules/UniqueOperationTypesRule.js +22 -0
- package/node_modules/graphql/validation/rules/UniqueOperationTypesRule.mjs +21 -0
- package/node_modules/graphql/validation/rules/UniqueTypeNamesRule.d.ts +21 -0
- package/node_modules/graphql/validation/rules/UniqueTypeNamesRule.js +22 -0
- package/node_modules/graphql/validation/rules/UniqueTypeNamesRule.mjs +21 -0
- package/node_modules/graphql/validation/rules/UniqueVariableNamesRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/UniqueVariableNamesRule.js +29 -0
- package/node_modules/graphql/validation/rules/UniqueVariableNamesRule.mjs +28 -0
- package/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.js +31 -0
- package/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.mjs +30 -0
- package/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.d.ts +32 -0
- package/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.js +33 -0
- package/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.mjs +32 -0
- package/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.js +35 -1
- package/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.mjs +34 -1
- package/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.d.ts +41 -0
- package/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.js +42 -0
- package/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.mjs +41 -0
- package/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +28 -0
- package/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +29 -0
- package/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +28 -0
- package/node_modules/graphql/validation/specifiedRules.d.ts +2 -3
- package/node_modules/graphql/validation/specifiedRules.js +2 -3
- package/node_modules/graphql/validation/specifiedRules.mjs +2 -3
- package/node_modules/graphql/validation/validate.d.ts +70 -9
- package/node_modules/graphql/validation/validate.js +63 -7
- package/node_modules/graphql/validation/validate.mjs +63 -7
- package/node_modules/graphql/version.d.ts +3 -6
- package/node_modules/graphql/version.js +6 -8
- package/node_modules/graphql/version.mjs +5 -8
- package/package.json +6 -6
- package/node_modules/@zuplo/runtime/out/esm/chunk-AQGS5CID.js.map +0 -1
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-AQGS5CID.js.LEGAL.txt → chunk-6WKYPMAI.js.LEGAL.txt} +0 -0
|
@@ -18,12 +18,82 @@ var _introspection = require('../type/introspection.js');
|
|
|
18
18
|
|
|
19
19
|
var _typeFromAST = require('./typeFromAST.js');
|
|
20
20
|
|
|
21
|
+
/** @category Type Info */
|
|
22
|
+
|
|
21
23
|
/**
|
|
22
24
|
* TypeInfo is a utility class which, given a GraphQL schema, can keep track
|
|
23
25
|
* of the current field and type definitions at any point in a GraphQL document
|
|
24
26
|
* AST during a recursive descent by calling `enter(node)` and `leave(node)`.
|
|
25
27
|
*/
|
|
26
28
|
class TypeInfo {
|
|
29
|
+
/**
|
|
30
|
+
* Creates a TypeInfo instance.
|
|
31
|
+
* @param schema - Schema used for type lookups.
|
|
32
|
+
* @param initialType - Optional type to use at the start of traversal.
|
|
33
|
+
* @param getFieldDefFn - Optional field definition lookup override.
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* // Track field types during a visitWithTypeInfo traversal.
|
|
37
|
+
* import { parse, visit } from 'graphql/language';
|
|
38
|
+
* import { buildSchema } from 'graphql/utilities';
|
|
39
|
+
* import { TypeInfo, visitWithTypeInfo } from 'graphql/utilities';
|
|
40
|
+
*
|
|
41
|
+
* const schema = buildSchema(`
|
|
42
|
+
* type Query {
|
|
43
|
+
* greeting: String
|
|
44
|
+
* }
|
|
45
|
+
* `);
|
|
46
|
+
* const typeInfo = new TypeInfo(schema);
|
|
47
|
+
* const seenTypes = [];
|
|
48
|
+
*
|
|
49
|
+
* visit(
|
|
50
|
+
* parse('{ greeting }'),
|
|
51
|
+
* visitWithTypeInfo(typeInfo, {
|
|
52
|
+
* Field: () => {
|
|
53
|
+
* seenTypes.push(String(typeInfo.getType()));
|
|
54
|
+
* },
|
|
55
|
+
* }),
|
|
56
|
+
* );
|
|
57
|
+
*
|
|
58
|
+
* seenTypes; // => ['String']
|
|
59
|
+
* ```
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* // This variant starts from an initial type and supplies a field definition resolver.
|
|
63
|
+
* import { Kind } from 'graphql/language';
|
|
64
|
+
* import { GraphQLString } from 'graphql/type';
|
|
65
|
+
* import { buildSchema, TypeInfo } from 'graphql/utilities';
|
|
66
|
+
*
|
|
67
|
+
* const schema = buildSchema(`
|
|
68
|
+
* type Query {
|
|
69
|
+
* greeting: String
|
|
70
|
+
* }
|
|
71
|
+
* `);
|
|
72
|
+
* const typeInfo = new TypeInfo(schema, schema.getQueryType(), () => ({
|
|
73
|
+
* name: 'virtualGreeting',
|
|
74
|
+
* description: undefined,
|
|
75
|
+
* type: GraphQLString,
|
|
76
|
+
* args: [],
|
|
77
|
+
* resolve: undefined,
|
|
78
|
+
* subscribe: undefined,
|
|
79
|
+
* deprecationReason: undefined,
|
|
80
|
+
* extensions: Object.create(null),
|
|
81
|
+
* astNode: undefined,
|
|
82
|
+
* }));
|
|
83
|
+
*
|
|
84
|
+
* typeInfo.enter({
|
|
85
|
+
* kind: Kind.SELECTION_SET,
|
|
86
|
+
* selections: [],
|
|
87
|
+
* });
|
|
88
|
+
* typeInfo.enter({
|
|
89
|
+
* kind: Kind.FIELD,
|
|
90
|
+
* name: { kind: Kind.NAME, value: 'ignored' },
|
|
91
|
+
* });
|
|
92
|
+
*
|
|
93
|
+
* typeInfo.getFieldDef()?.name; // => 'virtualGreeting'
|
|
94
|
+
* String(typeInfo.getType()); // => 'String'
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
27
97
|
constructor(
|
|
28
98
|
schema,
|
|
29
99
|
/**
|
|
@@ -31,7 +101,11 @@ class TypeInfo {
|
|
|
31
101
|
* beginning somewhere other than documents.
|
|
32
102
|
*/
|
|
33
103
|
initialType,
|
|
34
|
-
/**
|
|
104
|
+
/**
|
|
105
|
+
* Deprecated field definition lookup override. Use TypeInfo's built-in
|
|
106
|
+
* field definition lookup instead because this hook will be removed in v17.
|
|
107
|
+
* @deprecated will be removed in 17.0.0
|
|
108
|
+
*/
|
|
35
109
|
getFieldDefFn,
|
|
36
110
|
) {
|
|
37
111
|
this._schema = schema;
|
|
@@ -62,58 +136,365 @@ class TypeInfo {
|
|
|
62
136
|
}
|
|
63
137
|
}
|
|
64
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Returns the value used by `Object.prototype.toString`.
|
|
141
|
+
* @returns The built-in string tag for this object.
|
|
142
|
+
*/
|
|
65
143
|
|
|
66
144
|
get [Symbol.toStringTag]() {
|
|
67
145
|
return 'TypeInfo';
|
|
68
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Returns the current output type at this point in traversal.
|
|
149
|
+
* @returns The current output type, if known.
|
|
150
|
+
* @example
|
|
151
|
+
* ```ts
|
|
152
|
+
* import { parse, visit } from 'graphql/language';
|
|
153
|
+
* import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';
|
|
154
|
+
*
|
|
155
|
+
* const schema = buildSchema(`
|
|
156
|
+
* type Query {
|
|
157
|
+
* viewer: User
|
|
158
|
+
* }
|
|
159
|
+
*
|
|
160
|
+
* type User {
|
|
161
|
+
* name: String
|
|
162
|
+
* }
|
|
163
|
+
* `);
|
|
164
|
+
* const typeInfo = new TypeInfo(schema);
|
|
165
|
+
* const fieldTypes = {};
|
|
166
|
+
*
|
|
167
|
+
* visit(
|
|
168
|
+
* parse('{ viewer { name } }'),
|
|
169
|
+
* visitWithTypeInfo(typeInfo, {
|
|
170
|
+
* Field: (node) => {
|
|
171
|
+
* fieldTypes[node.name.value] = String(typeInfo.getType());
|
|
172
|
+
* },
|
|
173
|
+
* }),
|
|
174
|
+
* );
|
|
175
|
+
*
|
|
176
|
+
* fieldTypes; // => { viewer: 'User', name: 'String' }
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
69
179
|
|
|
70
180
|
getType() {
|
|
71
181
|
if (this._typeStack.length > 0) {
|
|
72
182
|
return this._typeStack[this._typeStack.length - 1];
|
|
73
183
|
}
|
|
74
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Returns the current parent composite type.
|
|
187
|
+
* @returns The current parent composite type, if known.
|
|
188
|
+
* @example
|
|
189
|
+
* ```ts
|
|
190
|
+
* import { parse, visit } from 'graphql/language';
|
|
191
|
+
* import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';
|
|
192
|
+
*
|
|
193
|
+
* const schema = buildSchema(`
|
|
194
|
+
* type Query {
|
|
195
|
+
* viewer: User
|
|
196
|
+
* }
|
|
197
|
+
*
|
|
198
|
+
* type User {
|
|
199
|
+
* name: String
|
|
200
|
+
* }
|
|
201
|
+
* `);
|
|
202
|
+
* const typeInfo = new TypeInfo(schema);
|
|
203
|
+
* const parentTypes = {};
|
|
204
|
+
*
|
|
205
|
+
* visit(
|
|
206
|
+
* parse('{ viewer { name } }'),
|
|
207
|
+
* visitWithTypeInfo(typeInfo, {
|
|
208
|
+
* Field: (node) => {
|
|
209
|
+
* parentTypes[node.name.value] = String(typeInfo.getParentType());
|
|
210
|
+
* },
|
|
211
|
+
* }),
|
|
212
|
+
* );
|
|
213
|
+
*
|
|
214
|
+
* parentTypes; // => { viewer: 'Query', name: 'User' }
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
75
217
|
|
|
76
218
|
getParentType() {
|
|
77
219
|
if (this._parentTypeStack.length > 0) {
|
|
78
220
|
return this._parentTypeStack[this._parentTypeStack.length - 1];
|
|
79
221
|
}
|
|
80
222
|
}
|
|
223
|
+
/**
|
|
224
|
+
* Returns the current input type at this point in traversal.
|
|
225
|
+
* @returns The current input type, if known.
|
|
226
|
+
* @example
|
|
227
|
+
* ```ts
|
|
228
|
+
* import { parse, visit } from 'graphql/language';
|
|
229
|
+
* import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';
|
|
230
|
+
*
|
|
231
|
+
* const schema = buildSchema(`
|
|
232
|
+
* type Query {
|
|
233
|
+
* reviews(stars: Int!, sort: Sort = NEWEST): [String]
|
|
234
|
+
* }
|
|
235
|
+
*
|
|
236
|
+
* enum Sort {
|
|
237
|
+
* NEWEST
|
|
238
|
+
* OLDEST
|
|
239
|
+
* }
|
|
240
|
+
* `);
|
|
241
|
+
* const typeInfo = new TypeInfo(schema);
|
|
242
|
+
* const inputTypes = {};
|
|
243
|
+
*
|
|
244
|
+
* visit(
|
|
245
|
+
* parse('{ reviews(stars: 5, sort: OLDEST) }'),
|
|
246
|
+
* visitWithTypeInfo(typeInfo, {
|
|
247
|
+
* Argument: (node) => {
|
|
248
|
+
* inputTypes[node.name.value] = String(typeInfo.getInputType());
|
|
249
|
+
* },
|
|
250
|
+
* }),
|
|
251
|
+
* );
|
|
252
|
+
*
|
|
253
|
+
* inputTypes; // => { stars: 'Int!', sort: 'Sort' }
|
|
254
|
+
* ```
|
|
255
|
+
*/
|
|
81
256
|
|
|
82
257
|
getInputType() {
|
|
83
258
|
if (this._inputTypeStack.length > 0) {
|
|
84
259
|
return this._inputTypeStack[this._inputTypeStack.length - 1];
|
|
85
260
|
}
|
|
86
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* Returns the parent input type for the current input position.
|
|
264
|
+
* @returns The parent input type, if known.
|
|
265
|
+
* @example
|
|
266
|
+
* ```ts
|
|
267
|
+
* import { parse, visit } from 'graphql/language';
|
|
268
|
+
* import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';
|
|
269
|
+
*
|
|
270
|
+
* const schema = buildSchema(`
|
|
271
|
+
* input ReviewFilter {
|
|
272
|
+
* stars: Int!
|
|
273
|
+
* }
|
|
274
|
+
*
|
|
275
|
+
* type Query {
|
|
276
|
+
* reviews(filter: ReviewFilter): [String]
|
|
277
|
+
* }
|
|
278
|
+
* `);
|
|
279
|
+
* const typeInfo = new TypeInfo(schema);
|
|
280
|
+
* const parentInputTypes = {};
|
|
281
|
+
*
|
|
282
|
+
* visit(
|
|
283
|
+
* parse('{ reviews(filter: { stars: 5 }) }'),
|
|
284
|
+
* visitWithTypeInfo(typeInfo, {
|
|
285
|
+
* ObjectField: (node) => {
|
|
286
|
+
* parentInputTypes[node.name.value] = String(typeInfo.getParentInputType());
|
|
287
|
+
* },
|
|
288
|
+
* }),
|
|
289
|
+
* );
|
|
290
|
+
*
|
|
291
|
+
* parentInputTypes; // => { stars: 'ReviewFilter' }
|
|
292
|
+
* ```
|
|
293
|
+
*/
|
|
87
294
|
|
|
88
295
|
getParentInputType() {
|
|
89
296
|
if (this._inputTypeStack.length > 1) {
|
|
90
297
|
return this._inputTypeStack[this._inputTypeStack.length - 2];
|
|
91
298
|
}
|
|
92
299
|
}
|
|
300
|
+
/**
|
|
301
|
+
* Returns the current field definition.
|
|
302
|
+
* @returns The current field definition, if known.
|
|
303
|
+
* @example
|
|
304
|
+
* ```ts
|
|
305
|
+
* import { parse, visit } from 'graphql/language';
|
|
306
|
+
* import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';
|
|
307
|
+
*
|
|
308
|
+
* const schema = buildSchema(`
|
|
309
|
+
* type Query {
|
|
310
|
+
* greeting: String
|
|
311
|
+
* }
|
|
312
|
+
* `);
|
|
313
|
+
* const typeInfo = new TypeInfo(schema);
|
|
314
|
+
* let fieldName;
|
|
315
|
+
*
|
|
316
|
+
* visit(
|
|
317
|
+
* parse('{ greeting }'),
|
|
318
|
+
* visitWithTypeInfo(typeInfo, {
|
|
319
|
+
* Field: () => {
|
|
320
|
+
* fieldName = typeInfo.getFieldDef()?.name;
|
|
321
|
+
* },
|
|
322
|
+
* }),
|
|
323
|
+
* );
|
|
324
|
+
*
|
|
325
|
+
* fieldName; // => 'greeting'
|
|
326
|
+
* ```
|
|
327
|
+
*/
|
|
93
328
|
|
|
94
329
|
getFieldDef() {
|
|
95
330
|
if (this._fieldDefStack.length > 0) {
|
|
96
331
|
return this._fieldDefStack[this._fieldDefStack.length - 1];
|
|
97
332
|
}
|
|
98
333
|
}
|
|
334
|
+
/**
|
|
335
|
+
* Returns the default value for the current input position.
|
|
336
|
+
* @returns The current default value, if one is available.
|
|
337
|
+
* @example
|
|
338
|
+
* ```ts
|
|
339
|
+
* import { parse, visit } from 'graphql/language';
|
|
340
|
+
* import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';
|
|
341
|
+
*
|
|
342
|
+
* const schema = buildSchema(`
|
|
343
|
+
* type Query {
|
|
344
|
+
* reviews(limit: Int = 10): [String]
|
|
345
|
+
* }
|
|
346
|
+
* `);
|
|
347
|
+
* const typeInfo = new TypeInfo(schema);
|
|
348
|
+
* let defaultLimit;
|
|
349
|
+
*
|
|
350
|
+
* visit(
|
|
351
|
+
* parse('{ reviews(limit: 5) }'),
|
|
352
|
+
* visitWithTypeInfo(typeInfo, {
|
|
353
|
+
* Argument: () => {
|
|
354
|
+
* defaultLimit = typeInfo.getDefaultValue();
|
|
355
|
+
* },
|
|
356
|
+
* }),
|
|
357
|
+
* );
|
|
358
|
+
*
|
|
359
|
+
* defaultLimit; // => 10
|
|
360
|
+
* ```
|
|
361
|
+
*/
|
|
99
362
|
|
|
100
363
|
getDefaultValue() {
|
|
101
364
|
if (this._defaultValueStack.length > 0) {
|
|
102
365
|
return this._defaultValueStack[this._defaultValueStack.length - 1];
|
|
103
366
|
}
|
|
104
367
|
}
|
|
368
|
+
/**
|
|
369
|
+
* Returns the current directive definition.
|
|
370
|
+
* @returns The current directive definition, if known.
|
|
371
|
+
* @example
|
|
372
|
+
* ```ts
|
|
373
|
+
* import { parse, visit } from 'graphql/language';
|
|
374
|
+
* import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';
|
|
375
|
+
*
|
|
376
|
+
* const schema = buildSchema(`
|
|
377
|
+
* type Query {
|
|
378
|
+
* greeting: String
|
|
379
|
+
* }
|
|
380
|
+
* `);
|
|
381
|
+
* const typeInfo = new TypeInfo(schema);
|
|
382
|
+
* let directiveName;
|
|
383
|
+
*
|
|
384
|
+
* visit(
|
|
385
|
+
* parse('{ greeting @include(if: true) }'),
|
|
386
|
+
* visitWithTypeInfo(typeInfo, {
|
|
387
|
+
* Directive: () => {
|
|
388
|
+
* directiveName = typeInfo.getDirective()?.name;
|
|
389
|
+
* },
|
|
390
|
+
* }),
|
|
391
|
+
* );
|
|
392
|
+
*
|
|
393
|
+
* directiveName; // => 'include'
|
|
394
|
+
* ```
|
|
395
|
+
*/
|
|
105
396
|
|
|
106
397
|
getDirective() {
|
|
107
398
|
return this._directive;
|
|
108
399
|
}
|
|
400
|
+
/**
|
|
401
|
+
* Returns the current argument definition.
|
|
402
|
+
* @returns The current argument definition, if known.
|
|
403
|
+
* @example
|
|
404
|
+
* ```ts
|
|
405
|
+
* import { parse, visit } from 'graphql/language';
|
|
406
|
+
* import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';
|
|
407
|
+
*
|
|
408
|
+
* const schema = buildSchema(`
|
|
409
|
+
* type Query {
|
|
410
|
+
* reviews(limit: Int = 10): [String]
|
|
411
|
+
* }
|
|
412
|
+
* `);
|
|
413
|
+
* const typeInfo = new TypeInfo(schema);
|
|
414
|
+
* let argumentName;
|
|
415
|
+
*
|
|
416
|
+
* visit(
|
|
417
|
+
* parse('{ reviews(limit: 5) }'),
|
|
418
|
+
* visitWithTypeInfo(typeInfo, {
|
|
419
|
+
* Argument: () => {
|
|
420
|
+
* argumentName = typeInfo.getArgument()?.name;
|
|
421
|
+
* },
|
|
422
|
+
* }),
|
|
423
|
+
* );
|
|
424
|
+
*
|
|
425
|
+
* argumentName; // => 'limit'
|
|
426
|
+
* ```
|
|
427
|
+
*/
|
|
109
428
|
|
|
110
429
|
getArgument() {
|
|
111
430
|
return this._argument;
|
|
112
431
|
}
|
|
432
|
+
/**
|
|
433
|
+
* Returns the current enum value definition.
|
|
434
|
+
* @returns The current enum value definition, if known.
|
|
435
|
+
* @example
|
|
436
|
+
* ```ts
|
|
437
|
+
* import { parse, visit } from 'graphql/language';
|
|
438
|
+
* import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';
|
|
439
|
+
*
|
|
440
|
+
* const schema = buildSchema(`
|
|
441
|
+
* enum Sort {
|
|
442
|
+
* NEWEST
|
|
443
|
+
* OLDEST
|
|
444
|
+
* }
|
|
445
|
+
*
|
|
446
|
+
* type Query {
|
|
447
|
+
* reviews(sort: Sort = NEWEST): [String]
|
|
448
|
+
* }
|
|
449
|
+
* `);
|
|
450
|
+
* const typeInfo = new TypeInfo(schema);
|
|
451
|
+
* let enumValueName;
|
|
452
|
+
*
|
|
453
|
+
* visit(
|
|
454
|
+
* parse('{ reviews(sort: OLDEST) }'),
|
|
455
|
+
* visitWithTypeInfo(typeInfo, {
|
|
456
|
+
* EnumValue: () => {
|
|
457
|
+
* enumValueName = typeInfo.getEnumValue()?.name;
|
|
458
|
+
* },
|
|
459
|
+
* }),
|
|
460
|
+
* );
|
|
461
|
+
*
|
|
462
|
+
* enumValueName; // => 'OLDEST'
|
|
463
|
+
* ```
|
|
464
|
+
*/
|
|
113
465
|
|
|
114
466
|
getEnumValue() {
|
|
115
467
|
return this._enumValue;
|
|
116
468
|
}
|
|
469
|
+
/**
|
|
470
|
+
* Updates this TypeInfo instance for an entered AST node.
|
|
471
|
+
* @param node - AST node being entered.
|
|
472
|
+
* @returns Nothing.
|
|
473
|
+
* @example
|
|
474
|
+
* ```ts
|
|
475
|
+
* import { Kind, parse } from 'graphql/language';
|
|
476
|
+
* import { buildSchema, TypeInfo } from 'graphql/utilities';
|
|
477
|
+
*
|
|
478
|
+
* const schema = buildSchema(`
|
|
479
|
+
* type Query {
|
|
480
|
+
* greeting: String
|
|
481
|
+
* }
|
|
482
|
+
* `);
|
|
483
|
+
* const document = parse('{ greeting }');
|
|
484
|
+
* const operation = document.definitions[0];
|
|
485
|
+
* const selectionSet = operation.selectionSet;
|
|
486
|
+
* const field = selectionSet.selections[0];
|
|
487
|
+
* const typeInfo = new TypeInfo(schema);
|
|
488
|
+
*
|
|
489
|
+
* typeInfo.enter(operation);
|
|
490
|
+
* typeInfo.enter(selectionSet);
|
|
491
|
+
* typeInfo.enter(field);
|
|
492
|
+
*
|
|
493
|
+
* field.kind; // => Kind.FIELD
|
|
494
|
+
* typeInfo.getParentType()?.name; // => 'Query'
|
|
495
|
+
* String(typeInfo.getType()); // => 'String'
|
|
496
|
+
* ```
|
|
497
|
+
*/
|
|
117
498
|
|
|
118
499
|
enter(node) {
|
|
119
500
|
const schema = this._schema; // Note: many of the types below are explicitly typed as "unknown" to drop
|
|
@@ -280,6 +661,35 @@ class TypeInfo {
|
|
|
280
661
|
default: // Ignore other nodes
|
|
281
662
|
}
|
|
282
663
|
}
|
|
664
|
+
/**
|
|
665
|
+
* Updates this TypeInfo instance for a left AST node.
|
|
666
|
+
* @param node - AST node being entered.
|
|
667
|
+
* @returns Nothing.
|
|
668
|
+
* @example
|
|
669
|
+
* ```ts
|
|
670
|
+
* import { parse } from 'graphql/language';
|
|
671
|
+
* import { buildSchema, TypeInfo } from 'graphql/utilities';
|
|
672
|
+
*
|
|
673
|
+
* const schema = buildSchema(`
|
|
674
|
+
* type Query {
|
|
675
|
+
* greeting: String
|
|
676
|
+
* }
|
|
677
|
+
* `);
|
|
678
|
+
* const document = parse('{ greeting }');
|
|
679
|
+
* const operation = document.definitions[0];
|
|
680
|
+
* const selectionSet = operation.selectionSet;
|
|
681
|
+
* const field = selectionSet.selections[0];
|
|
682
|
+
* const typeInfo = new TypeInfo(schema);
|
|
683
|
+
*
|
|
684
|
+
* typeInfo.enter(operation);
|
|
685
|
+
* typeInfo.enter(selectionSet);
|
|
686
|
+
* typeInfo.enter(field);
|
|
687
|
+
* String(typeInfo.getType()); // => 'String'
|
|
688
|
+
*
|
|
689
|
+
* typeInfo.leave(field);
|
|
690
|
+
* typeInfo.getType(); // => undefined
|
|
691
|
+
* ```
|
|
692
|
+
*/
|
|
283
693
|
|
|
284
694
|
leave(node) {
|
|
285
695
|
switch (node.kind) {
|
|
@@ -343,6 +753,8 @@ exports.TypeInfo = TypeInfo;
|
|
|
343
753
|
* Not exactly the same as the executor's definition of getFieldDef, in this
|
|
344
754
|
* statically evaluated environment we do not always have an Object type,
|
|
345
755
|
* and need to handle Interface and Union types.
|
|
756
|
+
*
|
|
757
|
+
* @internal
|
|
346
758
|
*/
|
|
347
759
|
function getFieldDef(schema, parentType, fieldNode) {
|
|
348
760
|
const name = fieldNode.name.value;
|
|
@@ -378,6 +790,37 @@ function getFieldDef(schema, parentType, fieldNode) {
|
|
|
378
790
|
/**
|
|
379
791
|
* Creates a new visitor instance which maintains a provided TypeInfo instance
|
|
380
792
|
* along with visiting visitor.
|
|
793
|
+
* @param typeInfo - TypeInfo instance to update during traversal.
|
|
794
|
+
* @param visitor - Visitor callbacks to wrap with TypeInfo updates.
|
|
795
|
+
* @returns A visitor that keeps TypeInfo in sync while delegating callbacks.
|
|
796
|
+
* @example
|
|
797
|
+
* ```ts
|
|
798
|
+
* import { parse, visit } from 'graphql/language';
|
|
799
|
+
* import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';
|
|
800
|
+
*
|
|
801
|
+
* const schema = buildSchema(`
|
|
802
|
+
* type Query {
|
|
803
|
+
* greeting: String
|
|
804
|
+
* }
|
|
805
|
+
* `);
|
|
806
|
+
* const typeInfo = new TypeInfo(schema);
|
|
807
|
+
* const fields = [];
|
|
808
|
+
*
|
|
809
|
+
* visit(
|
|
810
|
+
* parse('{ greeting }'),
|
|
811
|
+
* visitWithTypeInfo(typeInfo, {
|
|
812
|
+
* Field: (node) => {
|
|
813
|
+
* fields.push({
|
|
814
|
+
* name: node.name.value,
|
|
815
|
+
* parentType: String(typeInfo.getParentType()),
|
|
816
|
+
* type: String(typeInfo.getType()),
|
|
817
|
+
* });
|
|
818
|
+
* },
|
|
819
|
+
* }),
|
|
820
|
+
* );
|
|
821
|
+
*
|
|
822
|
+
* fields; // => [{ name: 'greeting', parentType: 'Query', type: 'String' }]
|
|
823
|
+
* ```
|
|
381
824
|
*/
|
|
382
825
|
|
|
383
826
|
function visitWithTypeInfo(typeInfo, visitor) {
|