@gqlkit-ts/cli 0.6.0 → 0.7.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 +7 -0
- package/dist/auto-type-generator/auto-type-generator.d.ts.map +1 -1
- package/dist/auto-type-generator/auto-type-generator.js +375 -55
- package/dist/auto-type-generator/auto-type-generator.js.map +1 -1
- package/dist/auto-type-generator/discriminator-field-validator.d.ts +26 -0
- package/dist/auto-type-generator/discriminator-field-validator.d.ts.map +1 -0
- package/dist/auto-type-generator/discriminator-field-validator.js +242 -0
- package/dist/auto-type-generator/discriminator-field-validator.js.map +1 -0
- package/dist/auto-type-generator/discriminator-naming.d.ts +11 -0
- package/dist/auto-type-generator/discriminator-naming.d.ts.map +1 -0
- package/dist/auto-type-generator/discriminator-naming.js +15 -0
- package/dist/auto-type-generator/discriminator-naming.js.map +1 -0
- package/dist/auto-type-generator/discriminator-resolve-type-generator.d.ts +44 -0
- package/dist/auto-type-generator/discriminator-resolve-type-generator.d.ts.map +1 -0
- package/dist/auto-type-generator/discriminator-resolve-type-generator.js +77 -0
- package/dist/auto-type-generator/discriminator-resolve-type-generator.js.map +1 -0
- package/dist/auto-type-generator/index.d.ts +3 -0
- 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.map +1 -1
- package/dist/auto-type-generator/inline-enum-collector.js +14 -7
- package/dist/auto-type-generator/inline-enum-collector.js.map +1 -1
- package/dist/auto-type-generator/inline-object-converter.d.ts +12 -0
- package/dist/auto-type-generator/inline-object-converter.d.ts.map +1 -0
- package/dist/auto-type-generator/inline-object-converter.js +72 -0
- package/dist/auto-type-generator/inline-object-converter.js.map +1 -0
- package/dist/auto-type-generator/inline-object-traverser.d.ts +2 -1
- package/dist/auto-type-generator/inline-object-traverser.d.ts.map +1 -1
- package/dist/auto-type-generator/inline-object-traverser.js +22 -4
- package/dist/auto-type-generator/inline-object-traverser.js.map +1 -1
- package/dist/auto-type-generator/inline-union-collector.d.ts.map +1 -1
- package/dist/auto-type-generator/inline-union-collector.js +20 -6
- package/dist/auto-type-generator/inline-union-collector.js.map +1 -1
- package/dist/auto-type-generator/inline-union-types.d.ts +2 -0
- package/dist/auto-type-generator/inline-union-types.d.ts.map +1 -1
- package/dist/auto-type-generator/inline-union-validator.js +3 -3
- package/dist/auto-type-generator/inline-union-validator.js.map +1 -1
- package/dist/auto-type-generator/intersection-flattener.d.ts +44 -0
- package/dist/auto-type-generator/intersection-flattener.d.ts.map +1 -0
- package/dist/auto-type-generator/intersection-flattener.js +398 -0
- package/dist/auto-type-generator/intersection-flattener.js.map +1 -0
- package/dist/auto-type-generator/naming-convention.d.ts +21 -0
- package/dist/auto-type-generator/naming-convention.d.ts.map +1 -1
- package/dist/auto-type-generator/naming-convention.js +145 -1
- package/dist/auto-type-generator/naming-convention.js.map +1 -1
- package/dist/auto-type-generator/typename-extractor.d.ts +2 -0
- package/dist/auto-type-generator/typename-extractor.d.ts.map +1 -1
- package/dist/auto-type-generator/typename-extractor.js +11 -3
- package/dist/auto-type-generator/typename-extractor.js.map +1 -1
- package/dist/auto-type-generator/typename-resolve-type-generator.d.ts +2 -0
- package/dist/auto-type-generator/typename-resolve-type-generator.d.ts.map +1 -1
- package/dist/auto-type-generator/typename-resolve-type-generator.js +12 -84
- package/dist/auto-type-generator/typename-resolve-type-generator.js.map +1 -1
- package/dist/auto-type-generator/typename-types.d.ts +4 -0
- package/dist/auto-type-generator/typename-types.d.ts.map +1 -1
- package/dist/auto-type-generator/typename-types.js +6 -0
- package/dist/auto-type-generator/typename-types.js.map +1 -1
- package/dist/auto-type-generator/typename-validator.d.ts.map +1 -1
- package/dist/auto-type-generator/typename-validator.js +4 -3
- package/dist/auto-type-generator/typename-validator.js.map +1 -1
- package/dist/commands/gen.d.ts.map +1 -1
- package/dist/commands/gen.js +2 -1
- package/dist/commands/gen.js.map +1 -1
- package/dist/config/types.d.ts +7 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config-loader/index.d.ts +1 -1
- package/dist/config-loader/index.d.ts.map +1 -1
- package/dist/config-loader/index.js.map +1 -1
- package/dist/config-loader/loader.d.ts +6 -0
- package/dist/config-loader/loader.d.ts.map +1 -1
- package/dist/config-loader/loader.js +1 -0
- package/dist/config-loader/loader.js.map +1 -1
- package/dist/config-loader/validator.d.ts.map +1 -1
- package/dist/config-loader/validator.js +84 -1
- package/dist/config-loader/validator.js.map +1 -1
- package/dist/gen-orchestrator/orchestrator.d.ts +2 -1
- package/dist/gen-orchestrator/orchestrator.d.ts.map +1 -1
- package/dist/gen-orchestrator/orchestrator.js +15 -2
- package/dist/gen-orchestrator/orchestrator.js.map +1 -1
- package/dist/resolver-extractor/extractor/define-api-extractor.d.ts.map +1 -1
- package/dist/resolver-extractor/extractor/define-api-extractor.js +4 -0
- package/dist/resolver-extractor/extractor/define-api-extractor.js.map +1 -1
- package/dist/resolver-extractor/validator/abstract-resolver-validator.d.ts +2 -0
- package/dist/resolver-extractor/validator/abstract-resolver-validator.d.ts.map +1 -1
- package/dist/resolver-extractor/validator/abstract-resolver-validator.js +16 -3
- package/dist/resolver-extractor/validator/abstract-resolver-validator.js.map +1 -1
- package/dist/schema-generator/emitter/code-emitter.d.ts.map +1 -1
- package/dist/schema-generator/emitter/code-emitter.js +13 -1
- package/dist/schema-generator/emitter/code-emitter.js.map +1 -1
- package/dist/schema-generator/emitter/discriminator-resolve-type-emitter.d.ts +18 -0
- package/dist/schema-generator/emitter/discriminator-resolve-type-emitter.d.ts.map +1 -0
- package/dist/schema-generator/emitter/discriminator-resolve-type-emitter.js +89 -0
- package/dist/schema-generator/emitter/discriminator-resolve-type-emitter.js.map +1 -0
- package/dist/schema-generator/generate-schema.d.ts +2 -0
- package/dist/schema-generator/generate-schema.d.ts.map +1 -1
- package/dist/schema-generator/generate-schema.js +69 -10
- package/dist/schema-generator/generate-schema.js.map +1 -1
- package/dist/schema-generator/integrator/result-integrator.d.ts +4 -0
- package/dist/schema-generator/integrator/result-integrator.d.ts.map +1 -1
- package/dist/schema-generator/integrator/result-integrator.js +18 -2
- 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 +4 -0
- package/dist/schema-generator/resolver-collector/resolver-collector.js.map +1 -1
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +14 -1
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/enum-prefix-detector.d.ts.map +1 -1
- package/dist/shared/enum-prefix-detector.js +78 -8
- package/dist/shared/enum-prefix-detector.js.map +1 -1
- package/dist/shared/inline-object-utils.js +1 -1
- package/dist/shared/inline-object-utils.js.map +1 -1
- package/dist/shared/type-converter.d.ts.map +1 -1
- package/dist/shared/type-converter.js +55 -0
- package/dist/shared/type-converter.js.map +1 -1
- package/dist/type-extractor/converter/graphql-converter.d.ts.map +1 -1
- package/dist/type-extractor/converter/graphql-converter.js +11 -1
- package/dist/type-extractor/converter/graphql-converter.js.map +1 -1
- package/dist/type-extractor/extractor/field-type-resolver.d.ts +18 -0
- package/dist/type-extractor/extractor/field-type-resolver.d.ts.map +1 -1
- package/dist/type-extractor/extractor/field-type-resolver.js +198 -15
- package/dist/type-extractor/extractor/field-type-resolver.js.map +1 -1
- package/dist/type-extractor/extractor/type-extractor.d.ts +1 -0
- package/dist/type-extractor/extractor/type-extractor.d.ts.map +1 -1
- package/dist/type-extractor/extractor/type-extractor.js +100 -9
- package/dist/type-extractor/extractor/type-extractor.js.map +1 -1
- 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/index.d.ts +1 -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 +7 -1
- package/dist/type-extractor/types/ts-type-reference-factory.d.ts.map +1 -1
- package/dist/type-extractor/types/ts-type-reference-factory.js +18 -3
- package/dist/type-extractor/types/ts-type-reference-factory.js.map +1 -1
- package/dist/type-extractor/types/typescript.d.ts +3 -1
- package/dist/type-extractor/types/typescript.d.ts.map +1 -1
- package/dist/type-extractor/validator/type-validator.d.ts.map +1 -1
- package/dist/type-extractor/validator/type-validator.js +6 -1
- package/dist/type-extractor/validator/type-validator.js.map +1 -1
- package/docs/configuration.md +19 -0
- package/docs/index.md +1 -0
- package/docs/integration/ai-sdk.md +189 -0
- package/docs/schema/unions.md +117 -0
- package/package.json +2 -2
- package/src/auto-type-generator/auto-type-generator.ts +576 -58
- package/src/auto-type-generator/discriminator-field-validator.ts +368 -0
- package/src/auto-type-generator/discriminator-naming.ts +24 -0
- package/src/auto-type-generator/discriminator-resolve-type-generator.ts +136 -0
- package/src/auto-type-generator/index.ts +17 -0
- package/src/auto-type-generator/inline-enum-collector.ts +19 -4
- package/src/auto-type-generator/inline-object-converter.ts +100 -0
- package/src/auto-type-generator/inline-object-traverser.ts +33 -7
- package/src/auto-type-generator/inline-union-collector.ts +26 -4
- package/src/auto-type-generator/inline-union-types.ts +2 -0
- package/src/auto-type-generator/inline-union-validator.ts +3 -3
- package/src/auto-type-generator/intersection-flattener.ts +554 -0
- package/src/auto-type-generator/naming-convention.ts +205 -1
- package/src/auto-type-generator/typename-extractor.ts +17 -3
- package/src/auto-type-generator/typename-resolve-type-generator.ts +19 -108
- package/src/auto-type-generator/typename-types.ts +7 -0
- package/src/auto-type-generator/typename-validator.ts +4 -3
- package/src/commands/gen.ts +9 -2
- package/src/config/types.ts +10 -0
- package/src/config-loader/index.ts +1 -0
- package/src/config-loader/loader.ts +11 -0
- package/src/config-loader/validator.ts +100 -1
- package/src/gen-orchestrator/orchestrator.ts +19 -2
- package/src/resolver-extractor/extractor/define-api-extractor.ts +4 -0
- package/src/resolver-extractor/validator/abstract-resolver-validator.ts +20 -6
- package/src/schema-generator/emitter/code-emitter.ts +26 -1
- package/src/schema-generator/emitter/discriminator-resolve-type-emitter.ts +125 -0
- package/src/schema-generator/generate-schema.ts +100 -13
- package/src/schema-generator/integrator/result-integrator.ts +25 -1
- package/src/schema-generator/resolver-collector/resolver-collector.ts +7 -0
- package/src/shared/constants.ts +15 -1
- package/src/shared/enum-prefix-detector.ts +96 -8
- package/src/shared/inline-object-utils.ts +1 -1
- package/src/shared/type-converter.ts +63 -0
- package/src/type-extractor/converter/graphql-converter.ts +17 -1
- package/src/type-extractor/extractor/field-type-resolver.ts +241 -16
- package/src/type-extractor/extractor/type-extractor.ts +119 -5
- package/src/type-extractor/types/diagnostics.ts +10 -1
- package/src/type-extractor/types/index.ts +2 -1
- package/src/type-extractor/types/ts-type-reference-factory.ts +24 -3
- package/src/type-extractor/types/typescript.ts +6 -2
- package/src/type-extractor/validator/type-validator.ts +6 -1
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export { type AutoGeneratedEnumValue, type AutoGeneratedField, type AutoGeneratedType, type AutoTypeGeneratorInput, type AutoTypeGeneratorResult, type GeneratedFromInfo, generateAutoTypes, } from "./auto-type-generator.js";
|
|
2
|
+
export { type ValidateDiscriminatorFieldsParams, type ValidateDiscriminatorFieldsResult, validateDiscriminatorFields, } from "./discriminator-field-validator.js";
|
|
3
|
+
export { type CollectDiscriminatorResolveTypesParams, type CollectDiscriminatorResolveTypesResult, collectDiscriminatorResolveTypes, } from "./discriminator-resolve-type-generator.js";
|
|
2
4
|
export type { InlineUnionMemberInfo, InlineUnionWithContext, } from "./inline-union-types.js";
|
|
3
5
|
export type { ValidateOneOfMembersParams, ValidateUnionMembersParams, ValidateUnionResult, } from "./inline-union-validator.js";
|
|
6
|
+
export { type FlattenInlineUnionMembersParams, type FlattenInlineUnionMembersResult, type FlattenIntersectionMembersParams, flattenIntersectionMembers, type InlineDiscriminatorResolveType, } from "./intersection-flattener.js";
|
|
4
7
|
export { type NameCollisionValidatorInput, type NameCollisionValidatorResult, type UserDefinedTypeInfo, validateNameCollisions, } from "./name-collision-validator.js";
|
|
5
8
|
export type { AutoTypeNameContext, InputFieldContext, ObjectFieldContext, ResolverArgContext, ResolverPayloadContext, } from "./naming-convention.js";
|
|
6
9
|
export type { AutoGeneratedResolveType, ResolveTypeFieldPattern, } from "./resolve-type-generator.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auto-type-generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,gCAAgC,EACrC,0BAA0B,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,2BAA2B,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,GACjC,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auto-type-generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,2BAA2B,GAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,KAAK,sCAAsC,EAC3C,KAAK,sCAAsC,EAC3C,gCAAgC,GACjC,MAAM,2CAA2C,CAAC;AACnD,YAAY,EACV,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,EACrC,0BAA0B,EAC1B,KAAK,8BAA8B,GACpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,gCAAgC,EACrC,0BAA0B,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,2BAA2B,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,GACjC,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export { generateAutoTypes, } from "./auto-type-generator.js";
|
|
2
|
+
export { validateDiscriminatorFields, } from "./discriminator-field-validator.js";
|
|
3
|
+
export { collectDiscriminatorResolveTypes, } from "./discriminator-resolve-type-generator.js";
|
|
4
|
+
export { flattenIntersectionMembers, } from "./intersection-flattener.js";
|
|
2
5
|
export { validateNameCollisions, } from "./name-collision-validator.js";
|
|
3
6
|
export { collectTypenameExtractions, } from "./typename-extractor.js";
|
|
4
7
|
export { collectTypenameResolveTypes, } from "./typename-resolve-type-generator.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auto-type-generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auto-type-generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,2BAA2B,GAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAGL,gCAAgC,GACjC,MAAM,2CAA2C,CAAC;AAUnD,OAAO,EAIL,0BAA0B,GAE3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAIL,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AAYvC,OAAO,EAEL,0BAA0B,GAI3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,2BAA2B,GAI5B,MAAM,sCAAsC,CAAC;AAM9C,OAAO,EAKL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-enum-collector.d.ts","sourceRoot":"","sources":["../../src/auto-type-generator/inline-enum-collector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EACV,iBAAiB,EAEjB,oBAAoB,EAEpB,cAAc,EACf,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"inline-enum-collector.d.ts","sourceRoot":"","sources":["../../src/auto-type-generator/inline-enum-collector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EACV,iBAAiB,EAEjB,oBAAoB,EAEpB,cAAc,EACf,MAAM,kCAAkC,CAAC;AAK1C,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,wBAAwB,CAAC;AAOhC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,yFAAyF;IACzF,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;IAC9C,4FAA4F;IAC5F,QAAQ,CAAC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,0FAA0F;IAC1F,QAAQ,CAAC,sBAAsB,EAAE,eAAe,GAAG,IAAI,CAAC;CACzD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAC/C,qBAAqB,EAAE,CAuBzB;AA8ED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;CAClD;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,qCAAqC,GAC5C,qBAAqB,EAAE,CASzB;AA+HD,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;CAClD;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,oCAAoC,GAC3C,qBAAqB,EAAE,CASzB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getSourceLocationOrDefault } from "../shared/source-location.js";
|
|
2
|
-
import { traverseInlineObjectProperties } from "./inline-object-traverser.js";
|
|
3
|
-
import { buildFieldContext, isInputTypeName, } from "./naming-convention.js";
|
|
2
|
+
import { getInlineObjectPropertiesFromType, traverseInlineObjectProperties, } from "./inline-object-traverser.js";
|
|
3
|
+
import { appendFieldPath, buildFieldContext, isInputTypeName, } from "./naming-convention.js";
|
|
4
4
|
import { forEachResolverField, } from "./resolver-field-iterator.js";
|
|
5
5
|
/**
|
|
6
6
|
* Collect inline enums from ExtractedTypeInfo by traversing type fields.
|
|
@@ -9,15 +9,21 @@ export function collectInlineEnumsFromTypes(extractedTypes) {
|
|
|
9
9
|
const results = [];
|
|
10
10
|
for (const typeInfo of extractedTypes) {
|
|
11
11
|
const isInput = isInputTypeName(typeInfo.metadata.name);
|
|
12
|
+
const siblingFieldNames = new Set(typeInfo.fields.map((field) => field.name));
|
|
12
13
|
for (const field of typeInfo.fields) {
|
|
13
|
-
collectInlineEnumsFromField(field, typeInfo.metadata.name, [], isInput, typeInfo.metadata.sourceFile, results);
|
|
14
|
+
collectInlineEnumsFromField(field, typeInfo.metadata.name, [], isInput, typeInfo.metadata.sourceFile, siblingFieldNames, results);
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
17
|
return results;
|
|
17
18
|
}
|
|
18
|
-
function collectInlineEnumsFromField(field, parentTypeName, parentPath, isInput, sourceFile, results) {
|
|
19
|
+
function collectInlineEnumsFromField(field, parentTypeName, parentPath, isInput, sourceFile, siblingFieldNames, results) {
|
|
19
20
|
const tsType = field.tsType;
|
|
20
|
-
const fieldPath =
|
|
21
|
+
const fieldPath = appendFieldPath({
|
|
22
|
+
parentPath,
|
|
23
|
+
fieldName: field.name,
|
|
24
|
+
singularize: tsType.kind === "array",
|
|
25
|
+
siblingFieldNames,
|
|
26
|
+
});
|
|
21
27
|
if (tsType.kind === "inlineEnum" && tsType.inlineEnumMembers) {
|
|
22
28
|
results.push({
|
|
23
29
|
members: tsType.inlineEnumMembers,
|
|
@@ -42,8 +48,9 @@ function collectInlineEnumsFromField(field, parentTypeName, parentPath, isInput,
|
|
|
42
48
|
externalEnumDeprecated: tsType.elementType.externalEnumDeprecated,
|
|
43
49
|
});
|
|
44
50
|
}
|
|
45
|
-
|
|
46
|
-
|
|
51
|
+
const inlineObjectProperties = getInlineObjectPropertiesFromType(tsType);
|
|
52
|
+
if (inlineObjectProperties) {
|
|
53
|
+
traverseInlineObjectProperties({ properties: inlineObjectProperties, parentPath: fieldPath }, (prop, propPath) => {
|
|
47
54
|
const propTsType = prop.tsType;
|
|
48
55
|
if (propTsType.kind === "inlineEnum" && propTsType.inlineEnumMembers) {
|
|
49
56
|
results.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-enum-collector.js","sourceRoot":"","sources":["../../src/auto-type-generator/inline-enum-collector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAS1E,OAAO,
|
|
1
|
+
{"version":3,"file":"inline-enum-collector.js","sourceRoot":"","sources":["../../src/auto-type-generator/inline-enum-collector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { InlineObjectMember } from "../type-extractor/types/index.js";
|
|
2
|
+
import type { AutoGeneratedType } from "./auto-type-generator.js";
|
|
3
|
+
interface GenerateObjectTypeFromInlineObjectParams {
|
|
4
|
+
readonly inlineObjectMember: InlineObjectMember;
|
|
5
|
+
readonly typeName: string;
|
|
6
|
+
readonly abstractTypeName: string;
|
|
7
|
+
readonly sourceFile: string;
|
|
8
|
+
readonly skipPropertyNames: ReadonlySet<string>;
|
|
9
|
+
}
|
|
10
|
+
export declare function generateObjectTypeFromInlineObject(params: GenerateObjectTypeFromInlineObjectParams): AutoGeneratedType;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=inline-object-converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-object-converter.d.ts","sourceRoot":"","sources":["../../src/auto-type-generator/inline-object-converter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAgDlC,UAAU,wCAAwC;IAChD,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjD;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,wCAAwC,GAC/C,iBAAiB,CAiCnB"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { PRIMITIVE_TYPE_MAP } from "../shared/constants.js";
|
|
2
|
+
function primitiveToGraphQLScalar(primitive) {
|
|
3
|
+
return PRIMITIVE_TYPE_MAP[primitive] ?? "String";
|
|
4
|
+
}
|
|
5
|
+
function convertInlineObjectPropertyToField(property) {
|
|
6
|
+
const tsType = property.propertyType;
|
|
7
|
+
let typeName;
|
|
8
|
+
const nullable = tsType.nullable;
|
|
9
|
+
let list = false;
|
|
10
|
+
let listItemNullable = null;
|
|
11
|
+
if (tsType.kind === "array" && tsType.elementType) {
|
|
12
|
+
list = true;
|
|
13
|
+
listItemNullable = tsType.elementType.nullable;
|
|
14
|
+
const elementName = tsType.elementType.name ?? "String";
|
|
15
|
+
typeName =
|
|
16
|
+
tsType.elementType.kind === "primitive"
|
|
17
|
+
? primitiveToGraphQLScalar(elementName)
|
|
18
|
+
: elementName;
|
|
19
|
+
}
|
|
20
|
+
else if (tsType.kind === "reference" && tsType.name) {
|
|
21
|
+
typeName = tsType.name;
|
|
22
|
+
}
|
|
23
|
+
else if (tsType.kind === "primitive" && tsType.name) {
|
|
24
|
+
typeName = primitiveToGraphQLScalar(tsType.name);
|
|
25
|
+
}
|
|
26
|
+
else if (tsType.kind === "scalar" && tsType.scalarInfo) {
|
|
27
|
+
typeName = tsType.scalarInfo.scalarName;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
typeName = "String";
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
name: property.propertyName,
|
|
34
|
+
type: {
|
|
35
|
+
typeName,
|
|
36
|
+
nullable,
|
|
37
|
+
list,
|
|
38
|
+
listItemNullable,
|
|
39
|
+
},
|
|
40
|
+
description: property.description,
|
|
41
|
+
deprecated: property.deprecated,
|
|
42
|
+
directives: null,
|
|
43
|
+
defaultValue: null,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export function generateObjectTypeFromInlineObject(params) {
|
|
47
|
+
const { inlineObjectMember, typeName, abstractTypeName, sourceFile, skipPropertyNames, } = params;
|
|
48
|
+
const fields = [];
|
|
49
|
+
for (const property of inlineObjectMember.properties) {
|
|
50
|
+
if (skipPropertyNames.has(property.propertyName)) {
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
fields.push(convertInlineObjectPropertyToField(property));
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
name: typeName,
|
|
57
|
+
kind: "Object",
|
|
58
|
+
fields,
|
|
59
|
+
enumValues: null,
|
|
60
|
+
unionMembers: null,
|
|
61
|
+
needsStringEnumMapping: false,
|
|
62
|
+
sourceLocation: { file: sourceFile, line: 1, column: 1 },
|
|
63
|
+
generatedFrom: {
|
|
64
|
+
parentTypeName: abstractTypeName,
|
|
65
|
+
fieldPath: [],
|
|
66
|
+
context: "typeField",
|
|
67
|
+
},
|
|
68
|
+
description: null,
|
|
69
|
+
resolveTypeFieldPattern: null,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=inline-object-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-object-converter.js","sourceRoot":"","sources":["../../src/auto-type-generator/inline-object-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { InlineObjectPropertyDef } from "../type-extractor/types/index.js";
|
|
1
|
+
import type { InlineObjectPropertyDef, TSTypeReference } from "../type-extractor/types/index.js";
|
|
2
2
|
/**
|
|
3
3
|
* Visitor callback for each property in an inline object hierarchy.
|
|
4
4
|
* @param prop The property being visited
|
|
@@ -9,6 +9,7 @@ export interface TraverseInlineObjectPropertiesParams {
|
|
|
9
9
|
readonly properties: ReadonlyArray<InlineObjectPropertyDef>;
|
|
10
10
|
readonly parentPath: ReadonlyArray<string>;
|
|
11
11
|
}
|
|
12
|
+
export declare function getInlineObjectPropertiesFromType(tsType: TSTypeReference): ReadonlyArray<InlineObjectPropertyDef> | null;
|
|
12
13
|
/**
|
|
13
14
|
* Traverses inline object properties recursively, calling the visitor for each property.
|
|
14
15
|
* Handles nested inlineObject properties automatically.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-object-traverser.d.ts","sourceRoot":"","sources":["../../src/auto-type-generator/inline-object-traverser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"inline-object-traverser.d.ts","sourceRoot":"","sources":["../../src/auto-type-generator/inline-object-traverser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAG1C;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,KAC5B,IAAI,CAAC;AAEV,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAC5D,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,eAAe,GACtB,aAAa,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAc/C;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,oCAAoC,EAC5C,OAAO,EAAE,eAAe,GACvB,IAAI,CAyBN"}
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
import { appendFieldPath } from "./naming-convention.js";
|
|
2
|
+
export function getInlineObjectPropertiesFromType(tsType) {
|
|
3
|
+
if (tsType.kind === "inlineObject" && tsType.inlineObjectProperties) {
|
|
4
|
+
return tsType.inlineObjectProperties;
|
|
5
|
+
}
|
|
6
|
+
if (tsType.kind === "array" &&
|
|
7
|
+
tsType.elementType?.kind === "inlineObject" &&
|
|
8
|
+
tsType.elementType.inlineObjectProperties) {
|
|
9
|
+
return tsType.elementType.inlineObjectProperties;
|
|
10
|
+
}
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
1
13
|
/**
|
|
2
14
|
* Traverses inline object properties recursively, calling the visitor for each property.
|
|
3
15
|
* Handles nested inlineObject properties automatically.
|
|
@@ -7,13 +19,19 @@
|
|
|
7
19
|
*/
|
|
8
20
|
export function traverseInlineObjectProperties(params, visitor) {
|
|
9
21
|
const { properties, parentPath } = params;
|
|
22
|
+
const siblingFieldNames = new Set(properties.map((prop) => prop.name));
|
|
10
23
|
for (const prop of properties) {
|
|
11
|
-
const propPath =
|
|
24
|
+
const propPath = appendFieldPath({
|
|
25
|
+
parentPath,
|
|
26
|
+
fieldName: prop.name,
|
|
27
|
+
singularize: prop.tsType.kind === "array",
|
|
28
|
+
siblingFieldNames,
|
|
29
|
+
});
|
|
12
30
|
visitor(prop, propPath);
|
|
13
|
-
|
|
14
|
-
|
|
31
|
+
const nestedProperties = getInlineObjectPropertiesFromType(prop.tsType);
|
|
32
|
+
if (nestedProperties) {
|
|
15
33
|
traverseInlineObjectProperties({
|
|
16
|
-
properties:
|
|
34
|
+
properties: nestedProperties,
|
|
17
35
|
parentPath: propPath,
|
|
18
36
|
}, visitor);
|
|
19
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-object-traverser.js","sourceRoot":"","sources":["../../src/auto-type-generator/inline-object-traverser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inline-object-traverser.js","sourceRoot":"","sources":["../../src/auto-type-generator/inline-object-traverser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAiBzD,MAAM,UAAU,iCAAiC,CAC/C,MAAuB;IAEvB,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;QACpE,OAAO,MAAM,CAAC,sBAAsB,CAAC;IACvC,CAAC;IAED,IACE,MAAM,CAAC,IAAI,KAAK,OAAO;QACvB,MAAM,CAAC,WAAW,EAAE,IAAI,KAAK,cAAc;QAC3C,MAAM,CAAC,WAAW,CAAC,sBAAsB,EACzC,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC;IACnD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAC5C,MAA4C,EAC5C,OAAwB;IAExB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC1C,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,eAAe,CAAC;YAC/B,UAAU;YACV,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;YACzC,iBAAiB;SAClB,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAExB,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,gBAAgB,EAAE,CAAC;YACrB,8BAA8B,CAC5B;gBACE,UAAU,EAAE,gBAAgB;gBAC5B,UAAU,EAAE,QAAQ;aACrB,EACD,OAAO,CACR,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-union-collector.d.ts","sourceRoot":"","sources":["../../src/auto-type-generator/inline-union-collector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,KAAK,EACV,iBAAiB,EAKlB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"inline-union-collector.d.ts","sourceRoot":"","sources":["../../src/auto-type-generator/inline-union-collector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,KAAK,EACV,iBAAiB,EAKlB,MAAM,kCAAkC,CAAC;AAK1C,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAajC,YAAY,EACV,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAiBjC,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC1D,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,kCAAkC,GACzC,sBAAsB,EAAE,CAyB1B;AAuGD,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,sCAAsC,GAC7C,sBAAsB,EAAE,CAa1B;AA6ID,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,qCAAqC,GAC5C,sBAAsB,EAAE,CAa1B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getSourceLocationOrDefault } from "../shared/source-location.js";
|
|
2
|
-
import { traverseInlineObjectProperties } from "./inline-object-traverser.js";
|
|
3
|
-
import { buildFieldContext, isInputTypeName, } from "./naming-convention.js";
|
|
2
|
+
import { getInlineObjectPropertiesFromType, traverseInlineObjectProperties, } from "./inline-object-traverser.js";
|
|
3
|
+
import { appendFieldPath, buildFieldContext, isInputTypeName, } from "./naming-convention.js";
|
|
4
4
|
import { forEachResolverField, } from "./resolver-field-iterator.js";
|
|
5
5
|
function createMemberInfo(memberType, knownTypeNames) {
|
|
6
6
|
const isKnown = memberType.kind === "reference" &&
|
|
@@ -19,6 +19,7 @@ export function collectInlineUnionsFromTypes(params) {
|
|
|
19
19
|
const results = [];
|
|
20
20
|
for (const typeInfo of extractedTypes) {
|
|
21
21
|
const isInput = isInputTypeName(typeInfo.metadata.name);
|
|
22
|
+
const siblingFieldNames = new Set(typeInfo.fields.map((field) => field.name));
|
|
22
23
|
for (const field of typeInfo.fields) {
|
|
23
24
|
collectInlineUnionsFromField({
|
|
24
25
|
field,
|
|
@@ -27,6 +28,7 @@ export function collectInlineUnionsFromTypes(params) {
|
|
|
27
28
|
isInput,
|
|
28
29
|
sourceFile: typeInfo.metadata.sourceFile,
|
|
29
30
|
knownTypeNames,
|
|
31
|
+
siblingFieldNames,
|
|
30
32
|
results,
|
|
31
33
|
});
|
|
32
34
|
}
|
|
@@ -34,9 +36,14 @@ export function collectInlineUnionsFromTypes(params) {
|
|
|
34
36
|
return results;
|
|
35
37
|
}
|
|
36
38
|
function collectInlineUnionsFromField(params) {
|
|
37
|
-
const { field, parentTypeName, parentPath, isInput, sourceFile, knownTypeNames, results, } = params;
|
|
39
|
+
const { field, parentTypeName, parentPath, isInput, sourceFile, knownTypeNames, siblingFieldNames, results, } = params;
|
|
38
40
|
const tsType = field.tsType;
|
|
39
|
-
const fieldPath =
|
|
41
|
+
const fieldPath = appendFieldPath({
|
|
42
|
+
parentPath,
|
|
43
|
+
fieldName: field.name,
|
|
44
|
+
singularize: tsType.kind === "array",
|
|
45
|
+
siblingFieldNames,
|
|
46
|
+
});
|
|
40
47
|
if (tsType.kind === "union" && tsType.members) {
|
|
41
48
|
const members = tsType.members.map((m) => createMemberInfo(m, knownTypeNames));
|
|
42
49
|
results.push({
|
|
@@ -45,6 +52,7 @@ function collectInlineUnionsFromField(params) {
|
|
|
45
52
|
sourceLocation: getSourceLocationOrDefault(field.sourceLocation, sourceFile),
|
|
46
53
|
nullable: tsType.nullable,
|
|
47
54
|
isInputContext: isInput,
|
|
55
|
+
unionAliasName: tsType.name,
|
|
48
56
|
});
|
|
49
57
|
}
|
|
50
58
|
if (tsType.kind === "array" &&
|
|
@@ -57,10 +65,12 @@ function collectInlineUnionsFromField(params) {
|
|
|
57
65
|
sourceLocation: getSourceLocationOrDefault(field.sourceLocation, sourceFile),
|
|
58
66
|
nullable: tsType.elementType.nullable,
|
|
59
67
|
isInputContext: isInput,
|
|
68
|
+
unionAliasName: tsType.elementType.name,
|
|
60
69
|
});
|
|
61
70
|
}
|
|
62
|
-
|
|
63
|
-
|
|
71
|
+
const inlineObjectProperties = getInlineObjectPropertiesFromType(tsType);
|
|
72
|
+
if (inlineObjectProperties) {
|
|
73
|
+
traverseInlineObjectProperties({ properties: inlineObjectProperties, parentPath: fieldPath }, (prop, propPath) => {
|
|
64
74
|
const propTsType = prop.tsType;
|
|
65
75
|
if (propTsType.kind === "union" && propTsType.members) {
|
|
66
76
|
const members = propTsType.members.map((m) => createMemberInfo(m, knownTypeNames));
|
|
@@ -70,6 +80,7 @@ function collectInlineUnionsFromField(params) {
|
|
|
70
80
|
sourceLocation: getSourceLocationOrDefault(prop.sourceLocation, sourceFile),
|
|
71
81
|
nullable: propTsType.nullable,
|
|
72
82
|
isInputContext: isInput,
|
|
83
|
+
unionAliasName: propTsType.name,
|
|
73
84
|
});
|
|
74
85
|
}
|
|
75
86
|
});
|
|
@@ -111,6 +122,7 @@ function collectInlineUnionsFromResolverArgs(params) {
|
|
|
111
122
|
sourceLocation: field.sourceLocation,
|
|
112
123
|
nullable: arg.type.nullable,
|
|
113
124
|
isInputContext: true,
|
|
125
|
+
unionAliasName: null,
|
|
114
126
|
});
|
|
115
127
|
}
|
|
116
128
|
if (arg.inlineObjectProperties) {
|
|
@@ -161,6 +173,7 @@ function collectInlineUnionsFromResolverProperties(params) {
|
|
|
161
173
|
sourceLocation: prop.sourceLocation ?? sourceLocation,
|
|
162
174
|
nullable: tsType.nullable,
|
|
163
175
|
isInputContext: params.contextKind === "resolverArg",
|
|
176
|
+
unionAliasName: tsType.name,
|
|
164
177
|
});
|
|
165
178
|
}
|
|
166
179
|
});
|
|
@@ -197,6 +210,7 @@ function collectInlineUnionsFromPayloadReturnType(params) {
|
|
|
197
210
|
sourceLocation: field.sourceLocation,
|
|
198
211
|
nullable: field.type.nullable,
|
|
199
212
|
isInputContext: false,
|
|
213
|
+
unionAliasName: null,
|
|
200
214
|
});
|
|
201
215
|
}
|
|
202
216
|
if (field.returnTypeInlineObjectProperties) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-union-collector.js","sourceRoot":"","sources":["../../src/auto-type-generator/inline-union-collector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAQ1E,OAAO,
|
|
1
|
+
{"version":3,"file":"inline-union-collector.js","sourceRoot":"","sources":["../../src/auto-type-generator/inline-union-collector.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,5 +25,7 @@ export interface InlineUnionWithContext {
|
|
|
25
25
|
readonly nullable: boolean;
|
|
26
26
|
/** True if this union is in input context (should become @oneOf Input Object) */
|
|
27
27
|
readonly isInputContext: boolean;
|
|
28
|
+
/** The TypeScript type alias name for this union (for mapping to auto-generated names) */
|
|
29
|
+
readonly unionAliasName: string | null;
|
|
28
30
|
}
|
|
29
31
|
//# sourceMappingURL=inline-union-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-union-types.d.ts","sourceRoot":"","sources":["../../src/auto-type-generator/inline-union-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,qEAAqE;IACrE,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;CACvC;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IACvD,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,0CAA0C;IAC1C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"inline-union-types.d.ts","sourceRoot":"","sources":["../../src/auto-type-generator/inline-union-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,qEAAqE;IACrE,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;CACvC;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IACvD,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,0CAA0C;IAC1C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,0FAA0F;IAC1F,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC"}
|
|
@@ -48,7 +48,7 @@ function validateUnionMemberType(params) {
|
|
|
48
48
|
location: sourceLocation,
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
-
if (memberType.kind === "
|
|
51
|
+
if (memberType.kind === "stringLiteral") {
|
|
52
52
|
return {
|
|
53
53
|
code: "INLINE_UNION_ENUM_MEMBER",
|
|
54
54
|
message: `Inline union '${typeName}' contains a literal type '${memberType.name}'. GraphQL unions can only contain object types.`,
|
|
@@ -217,7 +217,7 @@ function extractTypenameFromNamedType(params) {
|
|
|
217
217
|
const { tsType } = field;
|
|
218
218
|
if (field.optional ||
|
|
219
219
|
tsType.nullable ||
|
|
220
|
-
tsType.kind !== "
|
|
220
|
+
tsType.kind !== "stringLiteral" ||
|
|
221
221
|
tsType.name === null) {
|
|
222
222
|
return null;
|
|
223
223
|
}
|
|
@@ -296,7 +296,7 @@ export function validateUnionMemberTypenames(params) {
|
|
|
296
296
|
location: sourceLocation,
|
|
297
297
|
});
|
|
298
298
|
}
|
|
299
|
-
if (typenameType.kind !== "
|
|
299
|
+
if (typenameType.kind !== "stringLiteral" || typenameType.name === null) {
|
|
300
300
|
diagnostics.push({
|
|
301
301
|
code: "INVALID_TYPENAME_TYPE",
|
|
302
302
|
message: `Union '${unionTypeName}' member at index ${i} has '${selectedFieldName}' that is not a string literal type. Expected a string literal like '${selectedFieldName}: "TypeName"'.`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-union-validator.js","sourceRoot":"","sources":["../../src/auto-type-generator/inline-union-validator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,oBAAoB,GAErB,MAAM,qBAAqB,CAAC;AAc7B;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAkC;IAElC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC9D,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,MAAM,UAAU,GAAG,uBAAuB,CAAC;YACzC,UAAU;YACV,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,QAAQ;YACR,cAAc;YACd,OAAO;SACR,CAAC,CAAC;QACH,IAAI,UAAU,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,MAAM,KAAK,CAAC;QAC/B,WAAW;KACZ,CAAC;AACJ,CAAC;AAUD,SAAS,uBAAuB,CAC9B,MAAgC;IAEhC,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAC1E,MAAM,CAAC;IAET,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO;YACL,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,iBAAiB,QAAQ,8BAA8B,UAAU,CAAC,IAAI,kDAAkD;YACjI,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,cAAc;SACzB,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,iBAAiB,QAAQ,wEAAwE;YAC1G,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,cAAc;SACzB,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"inline-union-validator.js","sourceRoot":"","sources":["../../src/auto-type-generator/inline-union-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { ResolvedDiscriminatorFieldsMap } from "../config-loader/index.js";
|
|
2
|
+
import type { ExtractedTypeInfo } from "../type-extractor/types/index.js";
|
|
3
|
+
import type { InlineUnionWithContext } from "./inline-union-types.js";
|
|
4
|
+
export interface FlattenIntersectionMembersParams {
|
|
5
|
+
readonly extractedTypes: ReadonlyArray<ExtractedTypeInfo>;
|
|
6
|
+
readonly discriminatorFields: ResolvedDiscriminatorFieldsMap;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Flattens inline object members of union types that have discriminator field config.
|
|
10
|
+
* Groups members by their discriminator value tuples and merges properties within each group.
|
|
11
|
+
*
|
|
12
|
+
* This resolves the issue where TypeScript distributes intersections over unions,
|
|
13
|
+
* creating many anonymous inline objects that would cause DISCRIMINATOR_DUPLICATE_VALUE_TUPLE
|
|
14
|
+
* errors.
|
|
15
|
+
*/
|
|
16
|
+
export declare function flattenIntersectionMembers(params: FlattenIntersectionMembersParams): ReadonlyArray<ExtractedTypeInfo>;
|
|
17
|
+
export interface InlineDiscriminatorResolveType {
|
|
18
|
+
readonly unionTypeName: string;
|
|
19
|
+
readonly fieldNames: ReadonlyArray<string>;
|
|
20
|
+
readonly valueMappings: ReadonlyArray<{
|
|
21
|
+
readonly memberGraphQLTypeName: string;
|
|
22
|
+
readonly values: ReadonlyArray<string | null>;
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
25
|
+
export interface FlattenInlineUnionMembersParams {
|
|
26
|
+
readonly inlineUnions: ReadonlyArray<InlineUnionWithContext>;
|
|
27
|
+
readonly discriminatorFields: ResolvedDiscriminatorFieldsMap;
|
|
28
|
+
}
|
|
29
|
+
export interface FlattenInlineUnionMembersResult {
|
|
30
|
+
readonly inlineUnions: ReadonlyArray<InlineUnionWithContext>;
|
|
31
|
+
readonly inlineDiscriminatorResolveTypes: ReadonlyArray<InlineDiscriminatorResolveType>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Pre-processes inline unions that match discriminatorFields config.
|
|
35
|
+
* Groups inline object members by discriminator value and merges them,
|
|
36
|
+
* producing flattened members with inlineObjectHintName set for naming.
|
|
37
|
+
* Also returns discriminator resolveType info for generating __resolveType functions.
|
|
38
|
+
*
|
|
39
|
+
* This handles the case where TypeScript distributes intersections over unions
|
|
40
|
+
* within field types (e.g., `parts: UIMessagePart<...>[]`), creating many
|
|
41
|
+
* anonymous inline objects that would otherwise cause UNNAMEABLE_UNION_MEMBER errors.
|
|
42
|
+
*/
|
|
43
|
+
export declare function flattenInlineUnionMembers(params: FlattenInlineUnionMembersParams): FlattenInlineUnionMembersResult;
|
|
44
|
+
//# sourceMappingURL=intersection-flattener.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intersection-flattener.d.ts","sourceRoot":"","sources":["../../src/auto-type-generator/intersection-flattener.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EACV,iBAAiB,EAKlB,MAAM,kCAAkC,CAAC;AAM1C,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AA0KjC,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC1D,QAAQ,CAAC,mBAAmB,EAAE,8BAA8B,CAAC;CAC9D;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,gCAAgC,GACvC,aAAa,CAAC,iBAAiB,CAAC,CA0ElC;AAwHD,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;QACpC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;QACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;KAC/C,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC7D,QAAQ,CAAC,mBAAmB,EAAE,8BAA8B,CAAC;CAC9D;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC7D,QAAQ,CAAC,+BAA+B,EAAE,aAAa,CAAC,8BAA8B,CAAC,CAAC;CACzF;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,+BAA+B,GACtC,+BAA+B,CA+HjC"}
|