@gqlkit-ts/cli 0.1.0 → 0.3.0
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/dist/auto-type-generator/auto-type-generator.d.ts +26 -4
- package/dist/auto-type-generator/auto-type-generator.d.ts.map +1 -1
- package/dist/auto-type-generator/auto-type-generator.js +846 -152
- package/dist/auto-type-generator/auto-type-generator.js.map +1 -1
- package/dist/auto-type-generator/index.d.ts +9 -2
- package/dist/auto-type-generator/index.d.ts.map +1 -1
- package/dist/auto-type-generator/index.js +3 -0
- package/dist/auto-type-generator/index.js.map +1 -1
- package/dist/auto-type-generator/inline-enum-collector.d.ts +39 -0
- package/dist/auto-type-generator/inline-enum-collector.d.ts.map +1 -0
- package/dist/auto-type-generator/inline-enum-collector.js +193 -0
- package/dist/auto-type-generator/inline-enum-collector.js.map +1 -0
- package/dist/auto-type-generator/inline-object-traverser.d.ts +20 -0
- package/dist/auto-type-generator/inline-object-traverser.d.ts.map +1 -0
- package/dist/auto-type-generator/inline-object-traverser.js +22 -0
- package/dist/auto-type-generator/inline-object-traverser.js.map +1 -0
- package/dist/auto-type-generator/inline-union-collector.d.ts +29 -0
- package/dist/auto-type-generator/inline-union-collector.d.ts.map +1 -0
- package/dist/auto-type-generator/inline-union-collector.js +216 -0
- package/dist/auto-type-generator/inline-union-collector.js.map +1 -0
- package/dist/auto-type-generator/inline-union-types.d.ts +29 -0
- package/dist/auto-type-generator/inline-union-types.d.ts.map +1 -0
- package/dist/auto-type-generator/inline-union-types.js +2 -0
- package/dist/auto-type-generator/inline-union-types.js.map +1 -0
- package/dist/auto-type-generator/inline-union-validator.d.ts +76 -0
- package/dist/auto-type-generator/inline-union-validator.d.ts.map +1 -0
- package/dist/auto-type-generator/inline-union-validator.js +329 -0
- package/dist/auto-type-generator/inline-union-validator.js.map +1 -0
- package/dist/auto-type-generator/naming-convention.d.ts +22 -1
- package/dist/auto-type-generator/naming-convention.d.ts.map +1 -1
- package/dist/auto-type-generator/naming-convention.js +24 -0
- package/dist/auto-type-generator/naming-convention.js.map +1 -1
- package/dist/auto-type-generator/resolve-type-generator.d.ts +20 -0
- package/dist/auto-type-generator/resolve-type-generator.d.ts.map +1 -0
- package/dist/auto-type-generator/resolve-type-generator.js +2 -0
- package/dist/auto-type-generator/resolve-type-generator.js.map +1 -0
- package/dist/auto-type-generator/resolver-field-iterator.d.ts +13 -0
- package/dist/auto-type-generator/resolver-field-iterator.d.ts.map +1 -0
- package/dist/auto-type-generator/resolver-field-iterator.js +22 -0
- package/dist/auto-type-generator/resolver-field-iterator.js.map +1 -0
- package/dist/auto-type-generator/typename-extractor.d.ts +26 -0
- package/dist/auto-type-generator/typename-extractor.d.ts.map +1 -0
- package/dist/auto-type-generator/typename-extractor.js +142 -0
- package/dist/auto-type-generator/typename-extractor.js.map +1 -0
- package/dist/auto-type-generator/typename-resolve-type-generator.d.ts +35 -0
- package/dist/auto-type-generator/typename-resolve-type-generator.d.ts.map +1 -0
- package/dist/auto-type-generator/typename-resolve-type-generator.js +177 -0
- package/dist/auto-type-generator/typename-resolve-type-generator.js.map +1 -0
- package/dist/auto-type-generator/typename-types.d.ts +43 -0
- package/dist/auto-type-generator/typename-types.d.ts.map +1 -0
- package/dist/auto-type-generator/typename-types.js +37 -0
- package/dist/auto-type-generator/typename-types.js.map +1 -0
- package/dist/auto-type-generator/typename-validator.d.ts +37 -0
- package/dist/auto-type-generator/typename-validator.d.ts.map +1 -0
- package/dist/auto-type-generator/typename-validator.js +206 -0
- package/dist/auto-type-generator/typename-validator.js.map +1 -0
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/docs.d.ts +51 -0
- package/dist/commands/docs.d.ts.map +1 -0
- package/dist/commands/docs.js +154 -0
- package/dist/commands/docs.js.map +1 -0
- package/dist/gen-orchestrator/orchestrator.d.ts.map +1 -1
- package/dist/gen-orchestrator/orchestrator.js +119 -14
- package/dist/gen-orchestrator/orchestrator.js.map +1 -1
- package/dist/resolver-extractor/extract-resolvers.d.ts +28 -1
- package/dist/resolver-extractor/extract-resolvers.d.ts.map +1 -1
- package/dist/resolver-extractor/extractor/define-api-extractor.d.ts +16 -1
- package/dist/resolver-extractor/extractor/define-api-extractor.d.ts.map +1 -1
- package/dist/resolver-extractor/extractor/define-api-extractor.js +86 -309
- package/dist/resolver-extractor/extractor/define-api-extractor.js.map +1 -1
- package/dist/resolver-extractor/index.d.ts +0 -1
- package/dist/resolver-extractor/index.d.ts.map +1 -1
- package/dist/resolver-extractor/validator/abstract-resolver-validator.d.ts +1 -0
- package/dist/resolver-extractor/validator/abstract-resolver-validator.d.ts.map +1 -1
- package/dist/resolver-extractor/validator/abstract-resolver-validator.js +9 -5
- package/dist/resolver-extractor/validator/abstract-resolver-validator.js.map +1 -1
- package/dist/schema-generator/emitter/code-emitter.d.ts +10 -2
- package/dist/schema-generator/emitter/code-emitter.d.ts.map +1 -1
- package/dist/schema-generator/emitter/code-emitter.js +39 -4
- package/dist/schema-generator/emitter/code-emitter.js.map +1 -1
- package/dist/schema-generator/generate-schema.d.ts +1 -0
- package/dist/schema-generator/generate-schema.d.ts.map +1 -1
- package/dist/schema-generator/generate-schema.js +90 -4
- package/dist/schema-generator/generate-schema.js.map +1 -1
- package/dist/schema-generator/integrator/result-integrator.d.ts +34 -2
- package/dist/schema-generator/integrator/result-integrator.d.ts.map +1 -1
- package/dist/schema-generator/integrator/result-integrator.js +96 -1
- package/dist/schema-generator/integrator/result-integrator.js.map +1 -1
- package/dist/schema-generator/resolver-collector/resolver-collector.d.ts +2 -0
- package/dist/schema-generator/resolver-collector/resolver-collector.d.ts.map +1 -1
- package/dist/schema-generator/resolver-collector/resolver-collector.js +22 -0
- package/dist/schema-generator/resolver-collector/resolver-collector.js.map +1 -1
- package/dist/shared/constants.d.ts +0 -16
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +0 -19
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/directive-detector.d.ts.map +1 -1
- package/dist/shared/directive-detector.js +8 -15
- package/dist/shared/directive-detector.js.map +1 -1
- package/dist/shared/enum-prefix-detector.d.ts +63 -0
- package/dist/shared/enum-prefix-detector.d.ts.map +1 -0
- package/dist/shared/enum-prefix-detector.js +80 -0
- package/dist/shared/enum-prefix-detector.js.map +1 -0
- package/dist/shared/file-scanner.d.ts.map +1 -1
- package/dist/shared/file-scanner.js +5 -3
- package/dist/shared/file-scanner.js.map +1 -1
- package/dist/shared/ignore-fields-detector.d.ts +26 -0
- package/dist/shared/ignore-fields-detector.d.ts.map +1 -0
- package/dist/shared/ignore-fields-detector.js +83 -0
- package/dist/shared/ignore-fields-detector.js.map +1 -0
- package/dist/shared/ignore-fields-validator.d.ts +29 -0
- package/dist/shared/ignore-fields-validator.d.ts.map +1 -0
- package/dist/shared/ignore-fields-validator.js +43 -0
- package/dist/shared/ignore-fields-validator.js.map +1 -0
- package/dist/shared/index.d.ts +3 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -3
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/interface-detector.d.ts +3 -2
- package/dist/shared/interface-detector.d.ts.map +1 -1
- package/dist/shared/interface-detector.js +54 -11
- package/dist/shared/interface-detector.js.map +1 -1
- package/dist/shared/path-utils.d.ts +2 -0
- package/dist/shared/path-utils.d.ts.map +1 -0
- package/dist/shared/path-utils.js +4 -0
- package/dist/shared/path-utils.js.map +1 -0
- package/dist/shared/source-location.d.ts +5 -0
- package/dist/shared/source-location.d.ts.map +1 -1
- package/dist/shared/source-location.js +7 -0
- package/dist/shared/source-location.js.map +1 -1
- package/dist/shared/type-converter.d.ts.map +1 -1
- package/dist/shared/type-converter.js +11 -0
- package/dist/shared/type-converter.js.map +1 -1
- package/dist/shared/typescript-utils.d.ts +34 -7
- package/dist/shared/typescript-utils.d.ts.map +1 -1
- package/dist/shared/typescript-utils.js +72 -24
- package/dist/shared/typescript-utils.js.map +1 -1
- package/dist/type-extractor/collector/scalar-collector.d.ts.map +1 -1
- package/dist/type-extractor/collector/scalar-collector.js +4 -14
- package/dist/type-extractor/collector/scalar-collector.js.map +1 -1
- package/dist/type-extractor/converter/graphql-converter.d.ts.map +1 -1
- package/dist/type-extractor/converter/graphql-converter.js +57 -4
- package/dist/type-extractor/converter/graphql-converter.js.map +1 -1
- package/dist/type-extractor/extractor/field-type-resolver.d.ts +28 -0
- package/dist/type-extractor/extractor/field-type-resolver.d.ts.map +1 -0
- package/dist/type-extractor/extractor/field-type-resolver.js +433 -0
- package/dist/type-extractor/extractor/field-type-resolver.js.map +1 -0
- package/dist/type-extractor/extractor/type-extractor.d.ts +12 -3
- package/dist/type-extractor/extractor/type-extractor.d.ts.map +1 -1
- package/dist/type-extractor/extractor/type-extractor.js +260 -229
- package/dist/type-extractor/extractor/type-extractor.js.map +1 -1
- package/dist/type-extractor/extractor/type-name-collector.d.ts +24 -0
- package/dist/type-extractor/extractor/type-name-collector.d.ts.map +1 -0
- package/dist/type-extractor/extractor/type-name-collector.js +102 -0
- package/dist/type-extractor/extractor/type-name-collector.js.map +1 -0
- package/dist/type-extractor/mapper/scalar-base-type-mapper.d.ts +89 -0
- package/dist/type-extractor/mapper/scalar-base-type-mapper.d.ts.map +1 -0
- package/dist/type-extractor/mapper/scalar-base-type-mapper.js +158 -0
- package/dist/type-extractor/mapper/scalar-base-type-mapper.js.map +1 -0
- package/dist/type-extractor/types/diagnostics.d.ts +1 -1
- package/dist/type-extractor/types/diagnostics.d.ts.map +1 -1
- package/dist/type-extractor/types/graphql.d.ts +2 -0
- package/dist/type-extractor/types/graphql.d.ts.map +1 -1
- package/dist/type-extractor/types/index.d.ts +2 -1
- package/dist/type-extractor/types/index.d.ts.map +1 -1
- package/dist/type-extractor/types/index.js +1 -1
- package/dist/type-extractor/types/index.js.map +1 -1
- package/dist/type-extractor/types/ts-type-reference-factory.d.ts +47 -0
- package/dist/type-extractor/types/ts-type-reference-factory.d.ts.map +1 -0
- package/dist/type-extractor/types/ts-type-reference-factory.js +75 -0
- package/dist/type-extractor/types/ts-type-reference-factory.js.map +1 -0
- package/dist/type-extractor/types/typescript.d.ts +25 -1
- package/dist/type-extractor/types/typescript.d.ts.map +1 -1
- package/dist/type-extractor/validator/type-validator.js +1 -1
- package/dist/type-extractor/validator/type-validator.js.map +1 -1
- package/docs/coding-agents.md +64 -0
- package/docs/configuration.md +6 -20
- package/docs/getting-started.md +15 -12
- package/docs/index.md +36 -21
- package/docs/integration/apollo.md +8 -40
- package/docs/integration/drizzle.md +187 -0
- package/docs/integration/prisma.md +196 -0
- package/docs/integration/yoga.md +8 -40
- package/docs/schema/abstract-resolvers.md +117 -0
- package/docs/schema/directives.md +5 -0
- package/docs/schema/documentation.md +5 -0
- package/docs/schema/enums.md +307 -0
- package/docs/schema/fields.md +66 -0
- package/docs/schema/index.md +21 -0
- package/docs/schema/inputs.md +117 -15
- package/docs/schema/interfaces.md +31 -1
- package/docs/schema/objects.md +42 -0
- package/docs/schema/queries-mutations.md +138 -22
- package/docs/schema/scalars.md +5 -0
- package/docs/schema/unions.md +208 -1
- package/docs/what-is-gqlkit.md +13 -8
- package/package.json +14 -5
- package/src/auto-type-generator/auto-type-generator.ts +1670 -0
- package/src/auto-type-generator/index.ts +63 -0
- package/src/auto-type-generator/inline-enum-collector.ts +338 -0
- package/src/auto-type-generator/inline-object-traverser.ts +49 -0
- package/src/auto-type-generator/inline-union-collector.ts +402 -0
- package/src/auto-type-generator/inline-union-types.ts +33 -0
- package/src/auto-type-generator/inline-union-validator.ts +482 -0
- package/src/auto-type-generator/name-collision-validator.ts +119 -0
- package/src/auto-type-generator/naming-convention.ts +163 -0
- package/src/auto-type-generator/resolve-type-generator.ts +21 -0
- package/src/auto-type-generator/resolver-field-iterator.ts +39 -0
- package/src/auto-type-generator/typename-extractor.ts +230 -0
- package/src/auto-type-generator/typename-resolve-type-generator.ts +281 -0
- package/src/auto-type-generator/typename-types.ts +66 -0
- package/src/auto-type-generator/typename-validator.ts +326 -0
- package/src/cli.ts +13 -0
- package/src/commands/docs.ts +211 -0
- package/src/commands/gen.ts +141 -0
- package/src/commands/main.ts +5 -0
- package/src/config/define-config.ts +28 -0
- package/src/config/index.ts +7 -0
- package/src/config/types.ts +144 -0
- package/src/config-loader/index.ts +14 -0
- package/src/config-loader/loader.ts +143 -0
- package/src/config-loader/validator.ts +672 -0
- package/src/gen-orchestrator/hook-executor/hook-executor.ts +117 -0
- package/src/gen-orchestrator/orchestrator.ts +798 -0
- package/src/gen-orchestrator/reporter/diagnostic-reporter.ts +44 -0
- package/src/gen-orchestrator/reporter/progress-reporter.ts +61 -0
- package/src/gen-orchestrator/writer/file-writer.ts +38 -0
- package/src/index.ts +2 -0
- package/src/resolver-extractor/extract-resolvers.ts +82 -0
- package/src/resolver-extractor/extractor/define-api-extractor.ts +740 -0
- package/src/resolver-extractor/index.ts +13 -0
- package/src/resolver-extractor/validator/abstract-resolver-validator.ts +259 -0
- package/src/schema-generator/builder/ast-builder.ts +706 -0
- package/src/schema-generator/emitter/code-emitter.ts +385 -0
- package/src/schema-generator/emitter/sdl-emitter.ts +13 -0
- package/src/schema-generator/generate-schema.ts +267 -0
- package/src/schema-generator/index.ts +19 -0
- package/src/schema-generator/integrator/result-integrator.ts +759 -0
- package/src/schema-generator/pruner/schema-pruner.ts +112 -0
- package/src/schema-generator/resolver-collector/resolver-collector.ts +157 -0
- package/src/shared/constants.ts +122 -0
- package/src/shared/default-value-detector.ts +172 -0
- package/src/shared/diagnostics.ts +35 -0
- package/src/shared/directive-definition-extractor.ts +564 -0
- package/src/shared/directive-detector.ts +556 -0
- package/src/shared/enum-prefix-detector.ts +99 -0
- package/src/shared/file-scanner.ts +170 -0
- package/src/shared/ignore-fields-detector.ts +109 -0
- package/src/shared/ignore-fields-validator.ts +66 -0
- package/src/shared/index.ts +34 -0
- package/src/shared/inline-object-extractor.ts +102 -0
- package/src/shared/inline-object-utils.ts +23 -0
- package/src/shared/interface-detector.ts +176 -0
- package/src/shared/interface-validator.ts +211 -0
- package/src/shared/metadata-detector.ts +443 -0
- package/src/shared/path-utils.ts +3 -0
- package/src/shared/program-factory.ts +51 -0
- package/src/shared/source-location.ts +38 -0
- package/src/shared/tsconfig-loader.ts +126 -0
- package/src/shared/tsdoc-parser.ts +155 -0
- package/src/shared/type-converter.ts +99 -0
- package/src/shared/typescript-utils.ts +246 -0
- package/src/type-extractor/collector/result-collector.ts +57 -0
- package/src/type-extractor/collector/scalar-collector.ts +254 -0
- package/src/type-extractor/converter/field-eligibility.ts +112 -0
- package/src/type-extractor/converter/graphql-converter.ts +483 -0
- package/src/type-extractor/extract-types.ts +1 -0
- package/src/type-extractor/extractor/field-type-resolver.ts +614 -0
- package/src/type-extractor/extractor/type-extractor.ts +1644 -0
- package/src/type-extractor/extractor/type-name-collector.ts +130 -0
- package/src/type-extractor/index.ts +20 -0
- package/src/type-extractor/mapper/scalar-base-type-mapper.ts +265 -0
- package/src/type-extractor/types/diagnostics.ts +109 -0
- package/src/type-extractor/types/graphql.ts +55 -0
- package/src/type-extractor/types/index.ts +37 -0
- package/src/type-extractor/types/ts-type-reference-factory.ts +150 -0
- package/src/type-extractor/types/typescript.ts +137 -0
- package/src/type-extractor/validator/type-validator.ts +77 -0
- package/dist/auto-type-generator/auto-type-generator.test.d.ts +0 -2
- package/dist/auto-type-generator/auto-type-generator.test.d.ts.map +0 -1
- package/dist/auto-type-generator/auto-type-generator.test.js +0 -613
- package/dist/auto-type-generator/auto-type-generator.test.js.map +0 -1
- package/dist/auto-type-generator/name-collision-validator.test.d.ts +0 -2
- package/dist/auto-type-generator/name-collision-validator.test.d.ts.map +0 -1
- package/dist/auto-type-generator/name-collision-validator.test.js +0 -358
- package/dist/auto-type-generator/name-collision-validator.test.js.map +0 -1
- package/dist/auto-type-generator/naming-convention.test.d.ts +0 -2
- package/dist/auto-type-generator/naming-convention.test.d.ts.map +0 -1
- package/dist/auto-type-generator/naming-convention.test.js +0 -132
- package/dist/auto-type-generator/naming-convention.test.js.map +0 -1
- package/dist/commands/gen.test.d.ts +0 -2
- package/dist/commands/gen.test.d.ts.map +0 -1
- package/dist/commands/gen.test.js +0 -226
- package/dist/commands/gen.test.js.map +0 -1
- package/dist/config-loader/loader.test.d.ts +0 -2
- package/dist/config-loader/loader.test.d.ts.map +0 -1
- package/dist/config-loader/loader.test.js +0 -123
- package/dist/config-loader/loader.test.js.map +0 -1
- package/dist/config-loader/validator.test.d.ts +0 -2
- package/dist/config-loader/validator.test.d.ts.map +0 -1
- package/dist/config-loader/validator.test.js +0 -846
- package/dist/config-loader/validator.test.js.map +0 -1
- package/dist/gen-orchestrator/golden.test.d.ts +0 -2
- package/dist/gen-orchestrator/golden.test.d.ts.map +0 -1
- package/dist/gen-orchestrator/golden.test.js +0 -102
- package/dist/gen-orchestrator/golden.test.js.map +0 -1
- package/dist/gen-orchestrator/hook-executor/hook-executor.test.d.ts +0 -2
- package/dist/gen-orchestrator/hook-executor/hook-executor.test.d.ts.map +0 -1
- package/dist/gen-orchestrator/hook-executor/hook-executor.test.js +0 -167
- package/dist/gen-orchestrator/hook-executor/hook-executor.test.js.map +0 -1
- package/dist/gen-orchestrator/reporter/progress-reporter.test.d.ts +0 -2
- package/dist/gen-orchestrator/reporter/progress-reporter.test.d.ts.map +0 -1
- package/dist/gen-orchestrator/reporter/progress-reporter.test.js +0 -74
- package/dist/gen-orchestrator/reporter/progress-reporter.test.js.map +0 -1
- package/dist/resolver-extractor/validator/only-validator.d.ts +0 -61
- package/dist/resolver-extractor/validator/only-validator.d.ts.map +0 -1
- package/dist/resolver-extractor/validator/only-validator.js +0 -76
- package/dist/resolver-extractor/validator/only-validator.js.map +0 -1
- package/dist/resolver-extractor/validator/only-validator.test.d.ts +0 -8
- package/dist/resolver-extractor/validator/only-validator.test.d.ts.map +0 -1
- package/dist/resolver-extractor/validator/only-validator.test.js +0 -352
- package/dist/resolver-extractor/validator/only-validator.test.js.map +0 -1
- package/dist/schema-generator/builder/ast-builder.test.d.ts +0 -2
- package/dist/schema-generator/builder/ast-builder.test.d.ts.map +0 -1
- package/dist/schema-generator/builder/ast-builder.test.js +0 -469
- package/dist/schema-generator/builder/ast-builder.test.js.map +0 -1
- package/dist/shared/file-scanner.test.d.ts +0 -2
- package/dist/shared/file-scanner.test.d.ts.map +0 -1
- package/dist/shared/file-scanner.test.js +0 -138
- package/dist/shared/file-scanner.test.js.map +0 -1
- package/dist/shared/interface-validator.test.d.ts +0 -2
- package/dist/shared/interface-validator.test.d.ts.map +0 -1
- package/dist/shared/interface-validator.test.js +0 -145
- package/dist/shared/interface-validator.test.js.map +0 -1
- package/dist/type-extractor/types/typescript.test.d.ts +0 -2
- package/dist/type-extractor/types/typescript.test.d.ts.map +0 -1
- package/dist/type-extractor/types/typescript.test.js +0 -287
- package/dist/type-extractor/types/typescript.test.js.map +0 -1
|
@@ -71,13 +71,13 @@ function createMissingResolverDiagnostic(typeName, typeKind, sourceFile) {
|
|
|
71
71
|
* Detects abstract types (union/interface) that have no resolveType defined
|
|
72
72
|
* and whose member/implementing types don't all have isTypeOf defined.
|
|
73
73
|
*
|
|
74
|
-
* @param
|
|
75
|
-
* @param typeMap - Map of type names to their definitions
|
|
74
|
+
* @param params - Parameters including resolvers, type map, and auto-generated typename resolveType names
|
|
76
75
|
* @returns Array of warning diagnostics for missing resolvers
|
|
77
76
|
*/
|
|
78
|
-
function detectMissingAbstractTypeResolvers(
|
|
77
|
+
function detectMissingAbstractTypeResolvers(params) {
|
|
78
|
+
const { resolvers, typeMap, typenameAutoResolveTypeNames } = params;
|
|
79
79
|
const diagnostics = [];
|
|
80
|
-
const resolveTypeSet = new Set();
|
|
80
|
+
const resolveTypeSet = new Set(typenameAutoResolveTypeNames);
|
|
81
81
|
const isTypeOfSet = new Set();
|
|
82
82
|
for (const resolver of resolvers) {
|
|
83
83
|
if (resolver.kind === "resolveType") {
|
|
@@ -165,7 +165,11 @@ export function validateAbstractResolvers(options) {
|
|
|
165
165
|
}
|
|
166
166
|
const duplicateDiagnostics = detectDuplicateResolvers(options.abstractResolvers, typeMap);
|
|
167
167
|
diagnostics.push(...duplicateDiagnostics);
|
|
168
|
-
const missingResolverWarnings = detectMissingAbstractTypeResolvers(
|
|
168
|
+
const missingResolverWarnings = detectMissingAbstractTypeResolvers({
|
|
169
|
+
resolvers: options.abstractResolvers,
|
|
170
|
+
typeMap,
|
|
171
|
+
typenameAutoResolveTypeNames: options.typenameAutoResolveTypeNames ?? new Set(),
|
|
172
|
+
});
|
|
169
173
|
diagnostics.push(...missingResolverWarnings);
|
|
170
174
|
return { diagnostics };
|
|
171
175
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-resolver-validator.js","sourceRoot":"","sources":["../../../src/resolver-extractor/validator/abstract-resolver-validator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"abstract-resolver-validator.js","sourceRoot":"","sources":["../../../src/resolver-extractor/validator/abstract-resolver-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import type { CollectedScalarType } from "../../type-extractor/collector/scalar-collector.js";
|
|
2
2
|
import { type BuildDocumentOptions } from "../builder/ast-builder.js";
|
|
3
|
-
import type { IntegratedResult, NumericEnumInfo } from "../integrator/result-integrator.js";
|
|
3
|
+
import type { IntegratedResult, NumericEnumInfo, StringEnumMappingInfo } from "../integrator/result-integrator.js";
|
|
4
4
|
import type { ResolverInfo } from "../resolver-collector/resolver-collector.js";
|
|
5
5
|
export declare function emitTypeDefsCode(integratedResult: IntegratedResult, options?: BuildDocumentOptions): string;
|
|
6
|
-
|
|
6
|
+
interface EmitResolversCodeParams {
|
|
7
|
+
readonly resolverInfo: ResolverInfo;
|
|
8
|
+
readonly outputDir: string;
|
|
9
|
+
readonly customScalars: ReadonlyArray<CollectedScalarType>;
|
|
10
|
+
readonly numericEnums: ReadonlyArray<NumericEnumInfo>;
|
|
11
|
+
readonly stringEnumMappings: ReadonlyArray<StringEnumMappingInfo>;
|
|
12
|
+
}
|
|
13
|
+
export declare function emitResolversCode(params: EmitResolversCodeParams): string;
|
|
14
|
+
export {};
|
|
7
15
|
//# sourceMappingURL=code-emitter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-emitter.d.ts","sourceRoot":"","sources":["../../../src/schema-generator/emitter/code-emitter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"code-emitter.d.ts","sourceRoot":"","sources":["../../../src/schema-generator/emitter/code-emitter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAEV,YAAY,EAEb,MAAM,6CAA6C,CAAC;AAcrD,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CASR;AA2RD,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC3D,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACtD,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;CACnE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAiDzE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
+
import { TYPENAME_FIELD_NAMES } from "../../auto-type-generator/typename-types.js";
|
|
2
3
|
import { toPosixPath } from "../../shared/index.js";
|
|
3
4
|
import { buildDocumentNode, } from "../builder/ast-builder.js";
|
|
4
5
|
const GENERATED_FILE_HEADER = "// This file is auto-generated by gqlkit. DO NOT EDIT.";
|
|
@@ -67,7 +68,7 @@ function buildScalarTypeImports(scalarTypeImports, outputDir) {
|
|
|
67
68
|
function buildScalarTypeParameter(scalar) {
|
|
68
69
|
const inputTypeName = scalar.inputType?.typeName ?? "unknown";
|
|
69
70
|
const outputTypeNames = scalar.outputTypes.map((t) => t.typeName);
|
|
70
|
-
const outputTypeUnion = outputTypeNames.join(" | ");
|
|
71
|
+
const outputTypeUnion = outputTypeNames.length > 0 ? outputTypeNames.join(" | ") : "unknown";
|
|
71
72
|
return `GraphQLScalarType<${inputTypeName}, ${outputTypeUnion}>`;
|
|
72
73
|
}
|
|
73
74
|
function buildScalarsArgumentType(customScalars) {
|
|
@@ -123,6 +124,15 @@ function buildNumericEnumResolver(enumInfo) {
|
|
|
123
124
|
function buildNumericEnumResolvers(numericEnums) {
|
|
124
125
|
return numericEnums.map(buildNumericEnumResolver);
|
|
125
126
|
}
|
|
127
|
+
function buildStringEnumResolver(enumInfo) {
|
|
128
|
+
const entries = enumInfo.members
|
|
129
|
+
.map((member) => ` ${member.graphqlValue}: "${member.typescriptValue}",`)
|
|
130
|
+
.join("\n");
|
|
131
|
+
return ` ${enumInfo.enumName}: {\n${entries}\n },`;
|
|
132
|
+
}
|
|
133
|
+
function buildStringEnumResolvers(stringEnumMappings) {
|
|
134
|
+
return stringEnumMappings.map(buildStringEnumResolver);
|
|
135
|
+
}
|
|
126
136
|
function buildTypeResolverEntry(type, abstractResolverForType) {
|
|
127
137
|
const entries = [];
|
|
128
138
|
for (const field of type.fields) {
|
|
@@ -138,6 +148,19 @@ function buildTypeResolverEntry(type, abstractResolverForType) {
|
|
|
138
148
|
}
|
|
139
149
|
return ` ${type.typeName}: {\n${entries.join("\n")}\n },`;
|
|
140
150
|
}
|
|
151
|
+
function getResolveTypeExpression(fieldPattern) {
|
|
152
|
+
const { usedFieldNames } = fieldPattern;
|
|
153
|
+
if (usedFieldNames.size === 1) {
|
|
154
|
+
const fieldName = [...usedFieldNames][0];
|
|
155
|
+
return `obj.${fieldName}`;
|
|
156
|
+
}
|
|
157
|
+
const expressions = TYPENAME_FIELD_NAMES.filter((name) => usedFieldNames.has(name)).map((name) => `obj.${name}`);
|
|
158
|
+
return expressions.join(" ?? ");
|
|
159
|
+
}
|
|
160
|
+
function buildAutoResolveTypeEntry(autoResolveType) {
|
|
161
|
+
const expression = getResolveTypeExpression(autoResolveType.fieldPattern);
|
|
162
|
+
return ` ${autoResolveType.unionTypeName}: {\n __resolveType: (obj) => ${expression},\n },`;
|
|
163
|
+
}
|
|
141
164
|
function buildTypeEntries(resolverInfo, customScalars) {
|
|
142
165
|
const typeEntries = [];
|
|
143
166
|
const hasCustomScalars = customScalars.length > 0;
|
|
@@ -152,24 +175,31 @@ function buildTypeEntries(resolverInfo, customScalars) {
|
|
|
152
175
|
for (const abstractResolver of resolverInfo.abstractTypeResolvers) {
|
|
153
176
|
abstractResolversByType.set(abstractResolver.typeName, abstractResolver);
|
|
154
177
|
}
|
|
178
|
+
const autoResolveTypeByUnion = new Map(resolverInfo.autoGeneratedResolveTypes.map((r) => [r.unionTypeName, r]));
|
|
155
179
|
const allTypeNames = new Set([
|
|
156
180
|
...typesWithFields.keys(),
|
|
157
181
|
...abstractResolversByType.keys(),
|
|
182
|
+
...autoResolveTypeByUnion.keys(),
|
|
158
183
|
]);
|
|
159
184
|
const sortedTypeNames = [...allTypeNames].sort();
|
|
160
185
|
for (const typeName of sortedTypeNames) {
|
|
161
186
|
const typeWithFields = typesWithFields.get(typeName);
|
|
162
187
|
const abstractResolver = abstractResolversByType.get(typeName) ?? null;
|
|
188
|
+
const autoResolveType = autoResolveTypeByUnion.get(typeName);
|
|
163
189
|
if (typeWithFields !== undefined) {
|
|
164
190
|
typeEntries.push(buildTypeResolverEntry(typeWithFields, abstractResolver));
|
|
165
191
|
}
|
|
166
192
|
else if (abstractResolver !== null) {
|
|
167
193
|
typeEntries.push(buildAbstractOnlyTypeEntry(abstractResolver));
|
|
168
194
|
}
|
|
195
|
+
else if (autoResolveType !== undefined) {
|
|
196
|
+
typeEntries.push(buildAutoResolveTypeEntry(autoResolveType));
|
|
197
|
+
}
|
|
169
198
|
}
|
|
170
199
|
return typeEntries;
|
|
171
200
|
}
|
|
172
|
-
export function emitResolversCode(
|
|
201
|
+
export function emitResolversCode(params) {
|
|
202
|
+
const { resolverInfo, outputDir, customScalars, numericEnums, stringEnumMappings, } = params;
|
|
173
203
|
const hasCustomScalars = customScalars.length > 0;
|
|
174
204
|
const imports = [];
|
|
175
205
|
if (hasCustomScalars) {
|
|
@@ -182,9 +212,14 @@ export function emitResolversCode(resolverInfo, outputDir, customScalars = [], n
|
|
|
182
212
|
const scalarImports = buildScalarTypeImports(scalarTypeImports, outputDir);
|
|
183
213
|
imports.push(...scalarImports);
|
|
184
214
|
}
|
|
185
|
-
const
|
|
215
|
+
const numericEnumResolverEntries = buildNumericEnumResolvers(numericEnums);
|
|
216
|
+
const stringEnumResolverEntries = buildStringEnumResolvers(stringEnumMappings);
|
|
186
217
|
const typeEntries = buildTypeEntries(resolverInfo, customScalars);
|
|
187
|
-
const allEntries = [
|
|
218
|
+
const allEntries = [
|
|
219
|
+
...numericEnumResolverEntries,
|
|
220
|
+
...stringEnumResolverEntries,
|
|
221
|
+
...typeEntries,
|
|
222
|
+
];
|
|
188
223
|
const functionSignature = hasCustomScalars
|
|
189
224
|
? `export function createResolvers({ scalars }: ${buildScalarsArgumentType(customScalars)})`
|
|
190
225
|
: "export function createResolvers()";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-emitter.js","sourceRoot":"","sources":["../../../src/schema-generator/emitter/code-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"code-emitter.js","sourceRoot":"","sources":["../../../src/schema-generator/emitter/code-emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export interface GenerateSchemaInput {
|
|
|
13
13
|
readonly directiveDefinitions: ReadonlyArray<DirectiveDefinitionInfo> | null;
|
|
14
14
|
readonly enablePruning: boolean | null;
|
|
15
15
|
readonly sourceRoot: string | null;
|
|
16
|
+
readonly knownTypeNames: ReadonlySet<string> | null;
|
|
16
17
|
}
|
|
17
18
|
export interface GenerateSchemaResult {
|
|
18
19
|
readonly typeDefsCode: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-schema.d.ts","sourceRoot":"","sources":["../../src/schema-generator/generate-schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-schema.d.ts","sourceRoot":"","sources":["../../src/schema-generator/generate-schema.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAQ1C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC1D,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;IAClE,QAAQ,CAAC,oBAAoB,EAAE,aAAa,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC;IAC7E,QAAQ,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CACpD;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,mBAAmB,GACzB,oBAAoB,CA0NtB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { generateAutoTypes, validateNameCollisions, } from "../auto-type-generator/index.js";
|
|
1
|
+
import { collectTypenameExtractions, collectTypenameResolveTypes, generateAutoTypes, validateNameCollisions, validateSchemaTypenames, validateTypenames, } from "../auto-type-generator/index.js";
|
|
2
2
|
import { convertToGraphQL } from "../type-extractor/converter/graphql-converter.js";
|
|
3
3
|
import { buildDocumentNode } from "./builder/ast-builder.js";
|
|
4
4
|
import { emitResolversCode, emitTypeDefsCode } from "./emitter/code-emitter.js";
|
|
@@ -7,11 +7,23 @@ import { integrate } from "./integrator/result-integrator.js";
|
|
|
7
7
|
import { pruneDocumentNode } from "./pruner/schema-pruner.js";
|
|
8
8
|
import { collectResolverInfo } from "./resolver-collector/resolver-collector.js";
|
|
9
9
|
export function generateSchema(input) {
|
|
10
|
-
const { typesResult, extractedTypes, resolversResult, outputDir, customScalarNames, customScalars, directiveDefinitions, enablePruning, sourceRoot, } = input;
|
|
10
|
+
const { typesResult, extractedTypes, resolversResult, outputDir, customScalarNames, customScalars, directiveDefinitions, enablePruning, sourceRoot, knownTypeNames, } = input;
|
|
11
11
|
const autoTypeResult = generateAutoTypes({
|
|
12
12
|
extractedTypes,
|
|
13
13
|
resolversResult,
|
|
14
|
+
knownTypeNames: knownTypeNames ?? new Set(),
|
|
14
15
|
});
|
|
16
|
+
const autoTypeErrors = autoTypeResult.diagnostics.filter((d) => d.severity === "error");
|
|
17
|
+
if (autoTypeErrors.length > 0) {
|
|
18
|
+
return {
|
|
19
|
+
typeDefsCode: "",
|
|
20
|
+
sdlContent: "",
|
|
21
|
+
resolversCode: "",
|
|
22
|
+
diagnostics: autoTypeResult.diagnostics,
|
|
23
|
+
hasErrors: true,
|
|
24
|
+
prunedTypes: null,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
15
27
|
const userDefinedTypes = extractedTypes.map((t) => ({
|
|
16
28
|
name: t.metadata.name,
|
|
17
29
|
sourceLocation: t.metadata.sourceLocation,
|
|
@@ -49,7 +61,75 @@ export function generateSchema(input) {
|
|
|
49
61
|
],
|
|
50
62
|
},
|
|
51
63
|
};
|
|
52
|
-
const
|
|
64
|
+
const typeMap = new Map(autoTypeResult.updatedExtractedTypes.map((t) => [t.metadata.name, t]));
|
|
65
|
+
const manualResolveTypeNames = new Set(autoTypeResult.updatedResolversResult.abstractTypeResolvers
|
|
66
|
+
.filter((r) => r.kind === "resolveType")
|
|
67
|
+
.map((r) => r.targetTypeName));
|
|
68
|
+
const typenameResolveTypesResult = collectTypenameResolveTypes({
|
|
69
|
+
extractedTypes: autoTypeResult.updatedExtractedTypes,
|
|
70
|
+
typeMap,
|
|
71
|
+
manualResolveTypeNames,
|
|
72
|
+
});
|
|
73
|
+
const typenameExtractions = collectTypenameExtractions({
|
|
74
|
+
extractedTypes: autoTypeResult.updatedExtractedTypes,
|
|
75
|
+
typeMap,
|
|
76
|
+
});
|
|
77
|
+
const typenameValidationDiagnostics = [];
|
|
78
|
+
for (const extraction of typenameExtractions) {
|
|
79
|
+
const abstractType = typeMap.get(extraction.abstractTypeName);
|
|
80
|
+
if (!abstractType) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
const validationResult = validateTypenames({
|
|
84
|
+
extractionResult: extraction,
|
|
85
|
+
sourceLocation: abstractType.metadata.sourceLocation,
|
|
86
|
+
inlineObjectMembers: abstractType.inlineObjectMembers,
|
|
87
|
+
});
|
|
88
|
+
typenameValidationDiagnostics.push(...validationResult.diagnostics);
|
|
89
|
+
}
|
|
90
|
+
const schemaTypenameValidationResult = validateSchemaTypenames({
|
|
91
|
+
objectTypes: autoTypeResult.updatedExtractedTypes,
|
|
92
|
+
typeMap,
|
|
93
|
+
});
|
|
94
|
+
typenameValidationDiagnostics.push(...schemaTypenameValidationResult.diagnostics);
|
|
95
|
+
if (typenameValidationDiagnostics.length > 0) {
|
|
96
|
+
return {
|
|
97
|
+
typeDefsCode: "",
|
|
98
|
+
sdlContent: "",
|
|
99
|
+
resolversCode: "",
|
|
100
|
+
diagnostics: typenameValidationDiagnostics,
|
|
101
|
+
hasErrors: true,
|
|
102
|
+
prunedTypes: null,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
const generatedInlineObjectTypes = typenameResolveTypesResult.generatedInlineObjectTypes;
|
|
106
|
+
const updatedTypesForIntegration = generatedInlineObjectTypes.length > 0
|
|
107
|
+
? {
|
|
108
|
+
types: updatedTypesResult.types.map((type) => {
|
|
109
|
+
if (type.kind !== "Union") {
|
|
110
|
+
return type;
|
|
111
|
+
}
|
|
112
|
+
const inlineTypes = generatedInlineObjectTypes.filter((g) => g.abstractTypeName === type.name);
|
|
113
|
+
if (inlineTypes.length === 0) {
|
|
114
|
+
return type;
|
|
115
|
+
}
|
|
116
|
+
const newMembers = inlineTypes.map((g) => g.typeName);
|
|
117
|
+
return {
|
|
118
|
+
...type,
|
|
119
|
+
unionMembers: [
|
|
120
|
+
...(type.unionMembers ?? []),
|
|
121
|
+
...newMembers,
|
|
122
|
+
].sort(),
|
|
123
|
+
};
|
|
124
|
+
}),
|
|
125
|
+
diagnostics: updatedTypesResult.diagnostics,
|
|
126
|
+
}
|
|
127
|
+
: updatedTypesResult;
|
|
128
|
+
const allAutoGeneratedTypes = [
|
|
129
|
+
...autoTypeResult.autoGeneratedTypes,
|
|
130
|
+
...typenameResolveTypesResult.generatedObjectTypes,
|
|
131
|
+
];
|
|
132
|
+
const integratedResult = integrate(updatedTypesForIntegration, autoTypeResult.updatedResolversResult, customScalarNames, customScalars, directiveDefinitions, allAutoGeneratedTypes, typenameResolveTypesResult.autoResolveTypes);
|
|
53
133
|
let documentNode = buildDocumentNode(integratedResult, sourceRoot !== null ? { sourceRoot } : undefined);
|
|
54
134
|
let prunedTypes = null;
|
|
55
135
|
if (enablePruning) {
|
|
@@ -63,7 +143,13 @@ export function generateSchema(input) {
|
|
|
63
143
|
const typeDefsCode = emitTypeDefsCode(integratedResult, sourceRoot !== null ? { sourceRoot } : undefined);
|
|
64
144
|
const sdlContent = emitSdlContent(documentNode);
|
|
65
145
|
const resolverInfo = collectResolverInfo(integratedResult);
|
|
66
|
-
const resolversCode = emitResolversCode(
|
|
146
|
+
const resolversCode = emitResolversCode({
|
|
147
|
+
resolverInfo,
|
|
148
|
+
outputDir,
|
|
149
|
+
customScalars: customScalars ?? [],
|
|
150
|
+
numericEnums: integratedResult.numericEnums,
|
|
151
|
+
stringEnumMappings: integratedResult.stringEnumMappings,
|
|
152
|
+
});
|
|
67
153
|
return {
|
|
68
154
|
typeDefsCode,
|
|
69
155
|
sdlContent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-schema.js","sourceRoot":"","sources":["../../src/schema-generator/generate-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"generate-schema.js","sourceRoot":"","sources":["../../src/schema-generator/generate-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAMpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAwBjF,MAAM,UAAU,cAAc,CAC5B,KAA0B;IAE1B,MAAM,EACJ,WAAW,EACX,cAAc,EACd,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,cAAc,GACf,GAAG,KAAK,CAAC;IAEV,MAAM,cAAc,GAAG,iBAAiB,CAAC;QACvC,cAAc;QACd,eAAe;QACf,cAAc,EAAE,cAAc,IAAI,IAAI,GAAG,EAAE;KAC5C,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CACtD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAC9B,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;QACrB,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc;KAC1C,CAAC,CAAC,CAAC;IAEJ,MAAM,eAAe,GAAG,sBAAsB,CAAC;QAC7C,gBAAgB;QAChB,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;QACrD,UAAU;KACX,CAAC,CAAC;IAEH,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC;QAClC,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,eAAe,CAAC,WAAW;YACxC,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,0EAA0E;IAC1E,MAAM,uBAAuB,GAAG,gBAAgB,CAC9C,cAAc,CAAC,qBAAqB,CACrC,CAAC;IACF,MAAM,kBAAkB,GAAuB;QAC7C,KAAK,EAAE,uBAAuB,CAAC,KAAK;QACpC,WAAW,EAAE;YACX,MAAM,EAAE;gBACN,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM;gBACjC,GAAG,uBAAuB,CAAC,WAAW,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAC9B;gBACD,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;aACpE;YACD,QAAQ,EAAE;gBACR,GAAG,WAAW,CAAC,WAAW,CAAC,QAAQ;gBACnC,GAAG,uBAAuB,CAAC,WAAW,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAChC;gBACD,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;aACtE;SACF;KACF,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CACtE,CAAC;IAEF,MAAM,sBAAsB,GAAG,IAAI,GAAG,CACpC,cAAc,CAAC,sBAAsB,CAAC,qBAAqB;SACxD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAChC,CAAC;IAEF,MAAM,0BAA0B,GAAG,2BAA2B,CAAC;QAC7D,cAAc,EAAE,cAAc,CAAC,qBAAqB;QACpD,OAAO;QACP,sBAAsB;KACvB,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;QACrD,cAAc,EAAE,cAAc,CAAC,qBAAqB;QACpD,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,6BAA6B,GAAiB,EAAE,CAAC;IAEvD,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,SAAS;QACX,CAAC;QACD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;YACzC,gBAAgB,EAAE,UAAU;YAC5B,cAAc,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc;YACpD,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;SACtD,CAAC,CAAC;QACH,6BAA6B,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,8BAA8B,GAAG,uBAAuB,CAAC;QAC7D,WAAW,EAAE,cAAc,CAAC,qBAAqB;QACjD,OAAO;KACR,CAAC,CAAC;IACH,6BAA6B,CAAC,IAAI,CAChC,GAAG,8BAA8B,CAAC,WAAW,CAC9C,CAAC;IAEF,IAAI,6BAA6B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,6BAA6B;YAC1C,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,MAAM,0BAA0B,GAC9B,0BAA0B,CAAC,0BAA0B,CAAC;IAExD,MAAM,0BAA0B,GAC9B,0BAA0B,CAAC,MAAM,GAAG,CAAC;QACnC,CAAC,CAAC;YACE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC1B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,WAAW,GAAG,0BAA0B,CAAC,MAAM,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,IAAI,CAAC,IAAI,CACxC,CAAC;gBACF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACtD,OAAO;oBACL,GAAG,IAAI;oBACP,YAAY,EAAE;wBACZ,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;wBAC5B,GAAG,UAAU;qBACd,CAAC,IAAI,EAAE;iBACT,CAAC;YACJ,CAAC,CAAC;YACF,WAAW,EAAE,kBAAkB,CAAC,WAAW;SAC5C;QACH,CAAC,CAAC,kBAAkB,CAAC;IAEzB,MAAM,qBAAqB,GAAG;QAC5B,GAAG,cAAc,CAAC,kBAAkB;QACpC,GAAG,0BAA0B,CAAC,oBAAoB;KACnD,CAAC;IAEF,MAAM,gBAAgB,GAAG,SAAS,CAChC,0BAA0B,EAC1B,cAAc,CAAC,sBAAsB,EACrC,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,CAAC,gBAAgB,CAC5C,CAAC;IAEF,IAAI,YAAY,GAAG,iBAAiB,CAClC,gBAAgB,EAChB,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CACjD,CAAC;IACF,IAAI,WAAW,GAAiC,IAAI,CAAC;IAErD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,iBAAiB,CAAC;YACpC,YAAY;YACZ,iBAAiB;SAClB,CAAC,CAAC;QACH,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;QACxC,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC;IACzC,CAAC;IAED,MAAM,YAAY,GAAG,gBAAgB,CACnC,gBAAgB,EAChB,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CACjD,CAAC;IACF,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAEhD,MAAM,YAAY,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,iBAAiB,CAAC;QACtC,YAAY;QACZ,SAAS;QACT,aAAa,EAAE,aAAa,IAAI,EAAE;QAClC,YAAY,EAAE,gBAAgB,CAAC,YAAY;QAC3C,kBAAkB,EAAE,gBAAgB,CAAC,kBAAkB;KACxD,CAAC,CAAC;IAEH,OAAO;QACL,YAAY;QACZ,UAAU;QACV,aAAa;QACb,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,SAAS,EAAE,gBAAgB,CAAC,SAAS;QACrC,WAAW;KACZ,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { AutoGeneratedType } from "../../auto-type-generator/index.js";
|
|
1
|
+
import type { AutoGeneratedType, ResolveTypeFieldPattern } from "../../auto-type-generator/index.js";
|
|
2
|
+
import type { TypenameAutoResolveTypeInfo } from "../../auto-type-generator/typename-resolve-type-generator.js";
|
|
2
3
|
import type { AbstractResolverInfo, ExtractResolversResult, GraphQLInputValue } from "../../resolver-extractor/index.js";
|
|
3
4
|
import type { DirectiveDefinitionInfo } from "../../shared/directive-definition-extractor.js";
|
|
4
5
|
import type { DirectiveArgumentValue, DirectiveInfo } from "../../shared/directive-detector.js";
|
|
@@ -22,6 +23,8 @@ export interface BaseType {
|
|
|
22
23
|
readonly enumValues: ReadonlyArray<EnumValueInfo> | null;
|
|
23
24
|
/** True if this enum uses numeric values */
|
|
24
25
|
readonly isNumericEnum: boolean;
|
|
26
|
+
/** True if this string enum needs value mapping (at least one value converted) */
|
|
27
|
+
readonly needsStringEnumMapping: boolean;
|
|
25
28
|
readonly implementedInterfaces: ReadonlyArray<string> | null;
|
|
26
29
|
readonly description: string | null;
|
|
27
30
|
readonly deprecated: DeprecationInfo | null;
|
|
@@ -70,6 +73,27 @@ export interface NumericEnumInfo {
|
|
|
70
73
|
readonly enumName: string;
|
|
71
74
|
readonly members: ReadonlyArray<NumericEnumMember>;
|
|
72
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* String enum member value mapping.
|
|
78
|
+
*/
|
|
79
|
+
export interface StringEnumMember {
|
|
80
|
+
/** GraphQL enum value name (SCREAMING_SNAKE_CASE) */
|
|
81
|
+
readonly graphqlValue: string;
|
|
82
|
+
/** Original TypeScript enum value */
|
|
83
|
+
readonly typescriptValue: string;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* String enum information for resolver generation.
|
|
87
|
+
*/
|
|
88
|
+
export interface StringEnumMappingInfo {
|
|
89
|
+
readonly enumName: string;
|
|
90
|
+
readonly members: ReadonlyArray<StringEnumMember>;
|
|
91
|
+
}
|
|
92
|
+
export interface AutoGeneratedUnionInfo {
|
|
93
|
+
readonly name: string;
|
|
94
|
+
readonly fieldPattern: ResolveTypeFieldPattern;
|
|
95
|
+
readonly hasAutoResolveType: boolean;
|
|
96
|
+
}
|
|
73
97
|
export interface IntegratedResult {
|
|
74
98
|
readonly baseTypes: ReadonlyArray<BaseType>;
|
|
75
99
|
readonly inputTypes: ReadonlyArray<InputType>;
|
|
@@ -82,12 +106,20 @@ export interface IntegratedResult {
|
|
|
82
106
|
readonly directiveDefinitions: ReadonlyArray<DirectiveDefinitionInfo> | null;
|
|
83
107
|
/** Abstract type resolvers (resolveType and isTypeOf) */
|
|
84
108
|
readonly abstractTypeResolvers: ReadonlyArray<AbstractResolverInfo>;
|
|
109
|
+
/** @deprecated Use autoGeneratedUnions instead */
|
|
110
|
+
readonly autoGeneratedUnionNames: ReadonlyArray<string>;
|
|
111
|
+
/** Auto-generated Union types that need __resolveType with field pattern info */
|
|
112
|
+
readonly autoGeneratedUnions: ReadonlyArray<AutoGeneratedUnionInfo>;
|
|
113
|
+
/** Union/Interface types that have typename-based auto resolveType */
|
|
114
|
+
readonly typenameAutoResolveTypes: ReadonlyArray<TypenameAutoResolveTypeInfo>;
|
|
85
115
|
/** Numeric enum information for resolver generation */
|
|
86
116
|
readonly numericEnums: ReadonlyArray<NumericEnumInfo>;
|
|
117
|
+
/** String enum mappings for resolver generation */
|
|
118
|
+
readonly stringEnumMappings: ReadonlyArray<StringEnumMappingInfo>;
|
|
87
119
|
readonly hasQuery: boolean;
|
|
88
120
|
readonly hasMutation: boolean;
|
|
89
121
|
readonly hasErrors: boolean;
|
|
90
122
|
readonly diagnostics: ReadonlyArray<Diagnostic>;
|
|
91
123
|
}
|
|
92
|
-
export declare function integrate(typesResult: ExtractTypesResult, resolversResult: ExtractResolversResult, customScalarNames: ReadonlyArray<string> | null, collectedScalars?: ReadonlyArray<CollectedScalarType> | null, directiveDefinitions?: ReadonlyArray<DirectiveDefinitionInfo> | null, autoGeneratedTypes?: ReadonlyArray<AutoGeneratedType> | null): IntegratedResult;
|
|
124
|
+
export declare function integrate(typesResult: ExtractTypesResult, resolversResult: ExtractResolversResult, customScalarNames: ReadonlyArray<string> | null, collectedScalars?: ReadonlyArray<CollectedScalarType> | null, directiveDefinitions?: ReadonlyArray<DirectiveDefinitionInfo> | null, autoGeneratedTypes?: ReadonlyArray<AutoGeneratedType> | null, typenameAutoResolveTypes?: ReadonlyArray<TypenameAutoResolveTypeInfo>): IntegratedResult;
|
|
93
125
|
//# sourceMappingURL=result-integrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-integrator.d.ts","sourceRoot":"","sources":["../../../src/schema-generator/integrator/result-integrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"result-integrator.d.ts","sourceRoot":"","sources":["../../../src/schema-generator/integrator/result-integrator.ts"],"names":[],"mappings":"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"}
|