@gqlkit-ts/cli 0.2.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.
Files changed (190) hide show
  1. package/dist/auto-type-generator/auto-type-generator.d.ts +10 -4
  2. package/dist/auto-type-generator/auto-type-generator.d.ts.map +1 -1
  3. package/dist/auto-type-generator/auto-type-generator.js +640 -133
  4. package/dist/auto-type-generator/auto-type-generator.js.map +1 -1
  5. package/dist/auto-type-generator/index.d.ts +8 -1
  6. package/dist/auto-type-generator/index.d.ts.map +1 -1
  7. package/dist/auto-type-generator/index.js +3 -0
  8. package/dist/auto-type-generator/index.js.map +1 -1
  9. package/dist/auto-type-generator/inline-enum-collector.d.ts +13 -5
  10. package/dist/auto-type-generator/inline-enum-collector.d.ts.map +1 -1
  11. package/dist/auto-type-generator/inline-enum-collector.js +107 -71
  12. package/dist/auto-type-generator/inline-enum-collector.js.map +1 -1
  13. package/dist/auto-type-generator/inline-object-traverser.d.ts +20 -0
  14. package/dist/auto-type-generator/inline-object-traverser.d.ts.map +1 -0
  15. package/dist/auto-type-generator/inline-object-traverser.js +22 -0
  16. package/dist/auto-type-generator/inline-object-traverser.js.map +1 -0
  17. package/dist/auto-type-generator/inline-union-collector.d.ts +29 -0
  18. package/dist/auto-type-generator/inline-union-collector.d.ts.map +1 -0
  19. package/dist/auto-type-generator/inline-union-collector.js +216 -0
  20. package/dist/auto-type-generator/inline-union-collector.js.map +1 -0
  21. package/dist/auto-type-generator/inline-union-types.d.ts +29 -0
  22. package/dist/auto-type-generator/inline-union-types.d.ts.map +1 -0
  23. package/dist/auto-type-generator/inline-union-types.js +2 -0
  24. package/dist/auto-type-generator/inline-union-types.js.map +1 -0
  25. package/dist/auto-type-generator/inline-union-validator.d.ts +76 -0
  26. package/dist/auto-type-generator/inline-union-validator.d.ts.map +1 -0
  27. package/dist/auto-type-generator/inline-union-validator.js +329 -0
  28. package/dist/auto-type-generator/inline-union-validator.js.map +1 -0
  29. package/dist/auto-type-generator/naming-convention.d.ts +18 -1
  30. package/dist/auto-type-generator/naming-convention.d.ts.map +1 -1
  31. package/dist/auto-type-generator/naming-convention.js +16 -0
  32. package/dist/auto-type-generator/naming-convention.js.map +1 -1
  33. package/dist/auto-type-generator/resolve-type-generator.d.ts +20 -0
  34. package/dist/auto-type-generator/resolve-type-generator.d.ts.map +1 -0
  35. package/dist/auto-type-generator/resolve-type-generator.js +2 -0
  36. package/dist/auto-type-generator/resolve-type-generator.js.map +1 -0
  37. package/dist/auto-type-generator/resolver-field-iterator.d.ts +13 -0
  38. package/dist/auto-type-generator/resolver-field-iterator.d.ts.map +1 -0
  39. package/dist/auto-type-generator/resolver-field-iterator.js +22 -0
  40. package/dist/auto-type-generator/resolver-field-iterator.js.map +1 -0
  41. package/dist/auto-type-generator/typename-extractor.d.ts +26 -0
  42. package/dist/auto-type-generator/typename-extractor.d.ts.map +1 -0
  43. package/dist/auto-type-generator/typename-extractor.js +142 -0
  44. package/dist/auto-type-generator/typename-extractor.js.map +1 -0
  45. package/dist/auto-type-generator/typename-resolve-type-generator.d.ts +35 -0
  46. package/dist/auto-type-generator/typename-resolve-type-generator.d.ts.map +1 -0
  47. package/dist/auto-type-generator/typename-resolve-type-generator.js +177 -0
  48. package/dist/auto-type-generator/typename-resolve-type-generator.js.map +1 -0
  49. package/dist/auto-type-generator/typename-types.d.ts +43 -0
  50. package/dist/auto-type-generator/typename-types.d.ts.map +1 -0
  51. package/dist/auto-type-generator/typename-types.js +37 -0
  52. package/dist/auto-type-generator/typename-types.js.map +1 -0
  53. package/dist/auto-type-generator/typename-validator.d.ts +37 -0
  54. package/dist/auto-type-generator/typename-validator.d.ts.map +1 -0
  55. package/dist/auto-type-generator/typename-validator.js +206 -0
  56. package/dist/auto-type-generator/typename-validator.js.map +1 -0
  57. package/dist/cli.js +2 -0
  58. package/dist/cli.js.map +1 -1
  59. package/dist/commands/docs.d.ts +51 -0
  60. package/dist/commands/docs.d.ts.map +1 -0
  61. package/dist/commands/docs.js +154 -0
  62. package/dist/commands/docs.js.map +1 -0
  63. package/dist/gen-orchestrator/orchestrator.d.ts.map +1 -1
  64. package/dist/gen-orchestrator/orchestrator.js +13 -6
  65. package/dist/gen-orchestrator/orchestrator.js.map +1 -1
  66. package/dist/resolver-extractor/extract-resolvers.d.ts +19 -1
  67. package/dist/resolver-extractor/extract-resolvers.d.ts.map +1 -1
  68. package/dist/resolver-extractor/extractor/define-api-extractor.d.ts +5 -0
  69. package/dist/resolver-extractor/extractor/define-api-extractor.d.ts.map +1 -1
  70. package/dist/resolver-extractor/extractor/define-api-extractor.js +14 -61
  71. package/dist/resolver-extractor/extractor/define-api-extractor.js.map +1 -1
  72. package/dist/resolver-extractor/index.d.ts +0 -1
  73. package/dist/resolver-extractor/index.d.ts.map +1 -1
  74. package/dist/resolver-extractor/validator/abstract-resolver-validator.d.ts +1 -0
  75. package/dist/resolver-extractor/validator/abstract-resolver-validator.d.ts.map +1 -1
  76. package/dist/resolver-extractor/validator/abstract-resolver-validator.js +9 -5
  77. package/dist/resolver-extractor/validator/abstract-resolver-validator.js.map +1 -1
  78. package/dist/schema-generator/emitter/code-emitter.d.ts.map +1 -1
  79. package/dist/schema-generator/emitter/code-emitter.js +20 -0
  80. package/dist/schema-generator/emitter/code-emitter.js.map +1 -1
  81. package/dist/schema-generator/generate-schema.d.ts +1 -0
  82. package/dist/schema-generator/generate-schema.d.ts.map +1 -1
  83. package/dist/schema-generator/generate-schema.js +72 -3
  84. package/dist/schema-generator/generate-schema.js.map +1 -1
  85. package/dist/schema-generator/integrator/result-integrator.d.ts +14 -2
  86. package/dist/schema-generator/integrator/result-integrator.d.ts.map +1 -1
  87. package/dist/schema-generator/integrator/result-integrator.js +54 -1
  88. package/dist/schema-generator/integrator/result-integrator.js.map +1 -1
  89. package/dist/schema-generator/resolver-collector/resolver-collector.d.ts +2 -0
  90. package/dist/schema-generator/resolver-collector/resolver-collector.d.ts.map +1 -1
  91. package/dist/schema-generator/resolver-collector/resolver-collector.js +22 -0
  92. package/dist/schema-generator/resolver-collector/resolver-collector.js.map +1 -1
  93. package/dist/shared/enum-prefix-detector.d.ts +63 -0
  94. package/dist/shared/enum-prefix-detector.d.ts.map +1 -0
  95. package/dist/shared/enum-prefix-detector.js +80 -0
  96. package/dist/shared/enum-prefix-detector.js.map +1 -0
  97. package/dist/shared/ignore-fields-detector.d.ts +26 -0
  98. package/dist/shared/ignore-fields-detector.d.ts.map +1 -0
  99. package/dist/shared/ignore-fields-detector.js +83 -0
  100. package/dist/shared/ignore-fields-detector.js.map +1 -0
  101. package/dist/shared/ignore-fields-validator.d.ts +29 -0
  102. package/dist/shared/ignore-fields-validator.d.ts.map +1 -0
  103. package/dist/shared/ignore-fields-validator.js +43 -0
  104. package/dist/shared/ignore-fields-validator.js.map +1 -0
  105. package/dist/shared/index.d.ts +2 -0
  106. package/dist/shared/index.d.ts.map +1 -1
  107. package/dist/shared/index.js.map +1 -1
  108. package/dist/shared/source-location.d.ts +5 -0
  109. package/dist/shared/source-location.d.ts.map +1 -1
  110. package/dist/shared/source-location.js +7 -0
  111. package/dist/shared/source-location.js.map +1 -1
  112. package/dist/type-extractor/converter/graphql-converter.d.ts.map +1 -1
  113. package/dist/type-extractor/converter/graphql-converter.js +21 -7
  114. package/dist/type-extractor/converter/graphql-converter.js.map +1 -1
  115. package/dist/type-extractor/extractor/field-type-resolver.js +42 -3
  116. package/dist/type-extractor/extractor/field-type-resolver.js.map +1 -1
  117. package/dist/type-extractor/extractor/type-extractor.d.ts.map +1 -1
  118. package/dist/type-extractor/extractor/type-extractor.js +88 -23
  119. package/dist/type-extractor/extractor/type-extractor.js.map +1 -1
  120. package/dist/type-extractor/types/diagnostics.d.ts +1 -1
  121. package/dist/type-extractor/types/diagnostics.d.ts.map +1 -1
  122. package/dist/type-extractor/types/ts-type-reference-factory.d.ts +10 -2
  123. package/dist/type-extractor/types/ts-type-reference-factory.d.ts.map +1 -1
  124. package/dist/type-extractor/types/ts-type-reference-factory.js +8 -2
  125. package/dist/type-extractor/types/ts-type-reference-factory.js.map +1 -1
  126. package/dist/type-extractor/types/typescript.d.ts +4 -0
  127. package/dist/type-extractor/types/typescript.d.ts.map +1 -1
  128. package/docs/coding-agents.md +64 -0
  129. package/docs/configuration.md +6 -20
  130. package/docs/getting-started.md +15 -12
  131. package/docs/index.md +36 -22
  132. package/docs/integration/apollo.md +8 -40
  133. package/docs/integration/drizzle.md +6 -10
  134. package/docs/integration/prisma.md +196 -0
  135. package/docs/integration/yoga.md +8 -40
  136. package/docs/schema/abstract-resolvers.md +117 -0
  137. package/docs/schema/directives.md +5 -0
  138. package/docs/schema/documentation.md +5 -0
  139. package/docs/schema/enums.md +99 -0
  140. package/docs/schema/fields.md +64 -0
  141. package/docs/schema/index.md +21 -0
  142. package/docs/schema/inputs.md +115 -15
  143. package/docs/schema/interfaces.md +31 -1
  144. package/docs/schema/objects.md +40 -0
  145. package/docs/schema/queries-mutations.md +136 -22
  146. package/docs/schema/scalars.md +5 -0
  147. package/docs/schema/unions.md +208 -1
  148. package/docs/what-is-gqlkit.md +13 -8
  149. package/package.json +6 -4
  150. package/src/auto-type-generator/auto-type-generator.ts +946 -201
  151. package/src/auto-type-generator/index.ts +42 -0
  152. package/src/auto-type-generator/inline-enum-collector.ts +187 -139
  153. package/src/auto-type-generator/inline-object-traverser.ts +49 -0
  154. package/src/auto-type-generator/inline-union-collector.ts +402 -0
  155. package/src/auto-type-generator/inline-union-types.ts +33 -0
  156. package/src/auto-type-generator/inline-union-validator.ts +482 -0
  157. package/src/auto-type-generator/naming-convention.ts +38 -1
  158. package/src/auto-type-generator/resolve-type-generator.ts +21 -0
  159. package/src/auto-type-generator/resolver-field-iterator.ts +39 -0
  160. package/src/auto-type-generator/typename-extractor.ts +230 -0
  161. package/src/auto-type-generator/typename-resolve-type-generator.ts +281 -0
  162. package/src/auto-type-generator/typename-types.ts +66 -0
  163. package/src/auto-type-generator/typename-validator.ts +326 -0
  164. package/src/cli.ts +2 -0
  165. package/src/commands/docs.ts +211 -0
  166. package/src/gen-orchestrator/orchestrator.ts +20 -6
  167. package/src/resolver-extractor/extract-resolvers.ts +19 -0
  168. package/src/resolver-extractor/extractor/define-api-extractor.ts +23 -89
  169. package/src/resolver-extractor/index.ts +0 -6
  170. package/src/resolver-extractor/validator/abstract-resolver-validator.ts +16 -8
  171. package/src/schema-generator/emitter/code-emitter.ts +34 -0
  172. package/src/schema-generator/generate-schema.ts +99 -2
  173. package/src/schema-generator/integrator/result-integrator.ts +70 -1
  174. package/src/schema-generator/resolver-collector/resolver-collector.ts +34 -0
  175. package/src/shared/enum-prefix-detector.ts +99 -0
  176. package/src/shared/ignore-fields-detector.ts +109 -0
  177. package/src/shared/ignore-fields-validator.ts +66 -0
  178. package/src/shared/index.ts +2 -0
  179. package/src/shared/source-location.ts +11 -0
  180. package/src/type-extractor/converter/graphql-converter.ts +31 -7
  181. package/src/type-extractor/extractor/field-type-resolver.ts +48 -3
  182. package/src/type-extractor/extractor/type-extractor.ts +103 -26
  183. package/src/type-extractor/types/diagnostics.ts +12 -2
  184. package/src/type-extractor/types/ts-type-reference-factory.ts +18 -5
  185. package/src/type-extractor/types/typescript.ts +4 -0
  186. package/dist/resolver-extractor/validator/only-validator.d.ts +0 -61
  187. package/dist/resolver-extractor/validator/only-validator.d.ts.map +0 -1
  188. package/dist/resolver-extractor/validator/only-validator.js +0 -76
  189. package/dist/resolver-extractor/validator/only-validator.js.map +0 -1
  190. package/src/resolver-extractor/validator/only-validator.ts +0 -158
@@ -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,10 +7,11 @@ 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
  });
15
16
  const autoTypeErrors = autoTypeResult.diagnostics.filter((d) => d.severity === "error");
16
17
  if (autoTypeErrors.length > 0) {
@@ -60,7 +61,75 @@ export function generateSchema(input) {
60
61
  ],
61
62
  },
62
63
  };
63
- const integratedResult = integrate(updatedTypesResult, autoTypeResult.updatedResolversResult, customScalarNames, customScalars, directiveDefinitions, autoTypeResult.autoGeneratedTypes);
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);
64
133
  let documentNode = buildDocumentNode(integratedResult, sourceRoot !== null ? { sourceRoot } : undefined);
65
134
  let prunedTypes = null;
66
135
  if (enablePruning) {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-schema.js","sourceRoot":"","sources":["../../src/schema-generator/generate-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-schema.js","sourceRoot":"","sources":["../../src/schema-generator/generate-schema.ts"],"names":[],"mappings":"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"}
@@ -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";
@@ -88,6 +89,11 @@ export interface StringEnumMappingInfo {
88
89
  readonly enumName: string;
89
90
  readonly members: ReadonlyArray<StringEnumMember>;
90
91
  }
92
+ export interface AutoGeneratedUnionInfo {
93
+ readonly name: string;
94
+ readonly fieldPattern: ResolveTypeFieldPattern;
95
+ readonly hasAutoResolveType: boolean;
96
+ }
91
97
  export interface IntegratedResult {
92
98
  readonly baseTypes: ReadonlyArray<BaseType>;
93
99
  readonly inputTypes: ReadonlyArray<InputType>;
@@ -100,6 +106,12 @@ export interface IntegratedResult {
100
106
  readonly directiveDefinitions: ReadonlyArray<DirectiveDefinitionInfo> | null;
101
107
  /** Abstract type resolvers (resolveType and isTypeOf) */
102
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>;
103
115
  /** Numeric enum information for resolver generation */
104
116
  readonly numericEnums: ReadonlyArray<NumericEnumInfo>;
105
117
  /** String enum mappings for resolver generation */
@@ -109,5 +121,5 @@ export interface IntegratedResult {
109
121
  readonly hasErrors: boolean;
110
122
  readonly diagnostics: ReadonlyArray<Diagnostic>;
111
123
  }
112
- 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;
113
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":"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"}
1
+ {"version":3,"file":"result-integrator.d.ts","sourceRoot":"","sources":["../../../src/schema-generator/integrator/result-integrator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { createFieldNameSet } from "../../auto-type-generator/typename-types.js";
1
2
  import { validateAbstractResolvers } from "../../resolver-extractor/validator/abstract-resolver-validator.js";
2
3
  import { detectCircularInterfaceReferences, validateInterfaceImplementations, } from "../../shared/interface-validator.js";
3
4
  import { mergeDescriptions } from "../../type-extractor/collector/scalar-collector.js";
@@ -72,7 +73,7 @@ function getCompatibleLocations(usageLocation) {
72
73
  return ["INPUT_FIELD_DEFINITION"];
73
74
  }
74
75
  }
75
- export function integrate(typesResult, resolversResult, customScalarNames, collectedScalars, directiveDefinitions, autoGeneratedTypes) {
76
+ export function integrate(typesResult, resolversResult, customScalarNames, collectedScalars, directiveDefinitions, autoGeneratedTypes, typenameAutoResolveTypes) {
76
77
  const directiveTypeAliasNames = new Set(directiveDefinitions?.map((d) => d.typeAliasName) ?? []);
77
78
  const diagnostics = [];
78
79
  diagnostics.push(...typesResult.diagnostics.errors);
@@ -85,6 +86,8 @@ export function integrate(typesResult, resolversResult, customScalarNames, colle
85
86
  diagnostics.push(...circularValidation.diagnostics);
86
87
  const baseTypes = [];
87
88
  const inputTypes = [];
89
+ const autoGeneratedUnionNames = [];
90
+ const autoGeneratedUnions = [];
88
91
  for (const autoType of autoGeneratedTypes ?? []) {
89
92
  if (autoType.kind === "Object") {
90
93
  baseTypes.push({
@@ -131,6 +134,46 @@ export function integrate(typesResult, resolversResult, customScalarNames, colle
131
134
  directives: null,
132
135
  });
133
136
  }
137
+ else if (autoType.kind === "Union") {
138
+ baseTypes.push({
139
+ name: autoType.name,
140
+ kind: "Union",
141
+ fields: null,
142
+ unionMembers: autoType.unionMembers ?? [],
143
+ enumValues: null,
144
+ isNumericEnum: false,
145
+ needsStringEnumMapping: false,
146
+ implementedInterfaces: null,
147
+ description: autoType.description,
148
+ deprecated: null,
149
+ sourceFile: autoType.sourceLocation.file,
150
+ directives: null,
151
+ });
152
+ autoGeneratedUnionNames.push(autoType.name);
153
+ autoGeneratedUnions.push({
154
+ name: autoType.name,
155
+ fieldPattern: autoType.resolveTypeFieldPattern ?? {
156
+ usedFieldNames: createFieldNameSet(["__typename"]),
157
+ },
158
+ hasAutoResolveType: autoType.resolveTypeFieldPattern !== null,
159
+ });
160
+ }
161
+ else if (autoType.kind === "OneOfInputObject") {
162
+ inputTypes.push({
163
+ name: autoType.name,
164
+ fields: autoType.fields.map((f) => ({
165
+ name: f.name,
166
+ type: f.type,
167
+ description: f.description,
168
+ deprecated: f.deprecated,
169
+ directives: f.directives,
170
+ defaultValue: f.defaultValue,
171
+ })),
172
+ sourceFile: autoType.sourceLocation.file,
173
+ description: autoType.description,
174
+ isOneOf: true,
175
+ });
176
+ }
134
177
  else {
135
178
  inputTypes.push({
136
179
  name: autoType.name,
@@ -281,9 +324,16 @@ export function integrate(typesResult, resolversResult, customScalarNames, colle
281
324
  directives: null,
282
325
  });
283
326
  }
327
+ const typenameAutoResolveTypeNames = new Set([
328
+ ...(typenameAutoResolveTypes?.map((t) => t.abstractTypeName) ?? []),
329
+ ...autoGeneratedUnions
330
+ .filter((u) => u.hasAutoResolveType)
331
+ .map((u) => u.name),
332
+ ]);
284
333
  const abstractResolverValidation = validateAbstractResolvers({
285
334
  abstractResolvers: resolversResult.abstractTypeResolvers,
286
335
  baseTypes,
336
+ typenameAutoResolveTypeNames,
287
337
  });
288
338
  diagnostics.push(...abstractResolverValidation.diagnostics);
289
339
  const knownTypeNames = new Set([
@@ -427,6 +477,9 @@ export function integrate(typesResult, resolversResult, customScalarNames, colle
427
477
  ? directiveDefinitions
428
478
  : null,
429
479
  abstractTypeResolvers: resolversResult.abstractTypeResolvers,
480
+ autoGeneratedUnionNames,
481
+ autoGeneratedUnions,
482
+ typenameAutoResolveTypes: typenameAutoResolveTypes ?? [],
430
483
  numericEnums,
431
484
  stringEnumMappings,
432
485
  hasQuery,
@@ -1 +1 @@
1
- {"version":3,"file":"result-integrator.js","sourceRoot":"","sources":["../../../src/schema-generator/integrator/result-integrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result-integrator.js","sourceRoot":"","sources":["../../../src/schema-generator/integrator/result-integrator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { AutoGeneratedResolveType } from "../../auto-type-generator/resolve-type-generator.js";
1
2
  import type { IntegratedResult } from "../integrator/result-integrator.js";
2
3
  export interface FieldResolver {
3
4
  readonly fieldName: string;
@@ -19,6 +20,7 @@ export interface ResolverInfo {
19
20
  readonly types: ReadonlyArray<TypeResolvers>;
20
21
  readonly sourceFiles: ReadonlyArray<string>;
21
22
  readonly abstractTypeResolvers: ReadonlyArray<AbstractTypeResolverInfo>;
23
+ readonly autoGeneratedResolveTypes: ReadonlyArray<AutoGeneratedResolveType>;
22
24
  }
23
25
  export declare function collectResolverInfo(integratedResult: IntegratedResult): ResolverInfo;
24
26
  //# sourceMappingURL=resolver-collector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolver-collector.d.ts","sourceRoot":"","sources":["../../../src/schema-generator/resolver-collector/resolver-collector.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gBAAgB,EAEjB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,eAAe,GAAG,YAAY,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;CACzE;AAmDD,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,gBAAgB,GACjC,YAAY,CAuCd"}
1
+ {"version":3,"file":"resolver-collector.d.ts","sourceRoot":"","sources":["../../../src/schema-generator/resolver-collector/resolver-collector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAEpG,OAAO,KAAK,EAEV,gBAAgB,EAEjB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,eAAe,GAAG,YAAY,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;IACxE,QAAQ,CAAC,yBAAyB,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;CAC7E;AAmDD,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,gBAAgB,GACjC,YAAY,CAuEd"}
@@ -45,6 +45,27 @@ export function collectResolverInfo(integratedResult) {
45
45
  for (const resolver of abstractTypeResolvers) {
46
46
  sourceFilesSet.add(resolver.sourceFile);
47
47
  }
48
+ const manualResolveTypeNames = new Set(abstractTypeResolvers
49
+ .filter((r) => r.resolverKey === "__resolveType")
50
+ .map((r) => r.typeName));
51
+ const inlineUnionResolveTypes = integratedResult.autoGeneratedUnions
52
+ .filter((u) => u.hasAutoResolveType && !manualResolveTypeNames.has(u.name))
53
+ .map((u) => ({
54
+ unionTypeName: u.name,
55
+ fieldPattern: u.fieldPattern,
56
+ }));
57
+ const typenameResolveTypes = integratedResult.typenameAutoResolveTypes
58
+ .filter((t) => !manualResolveTypeNames.has(t.abstractTypeName))
59
+ .map((t) => ({
60
+ unionTypeName: t.abstractTypeName,
61
+ fieldPattern: {
62
+ usedFieldNames: t.resolveTypePattern.usedFieldNames,
63
+ },
64
+ }));
65
+ const autoGeneratedResolveTypes = [
66
+ ...inlineUnionResolveTypes,
67
+ ...typenameResolveTypes,
68
+ ].sort((a, b) => a.unionTypeName.localeCompare(b.unionTypeName));
48
69
  const types = [...typeMap.entries()]
49
70
  .map(([typeName, fields]) => ({
50
71
  typeName,
@@ -56,6 +77,7 @@ export function collectResolverInfo(integratedResult) {
56
77
  types,
57
78
  sourceFiles,
58
79
  abstractTypeResolvers,
80
+ autoGeneratedResolveTypes,
59
81
  };
60
82
  }
61
83
  //# sourceMappingURL=resolver-collector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolver-collector.js","sourceRoot":"","sources":["../../../src/schema-generator/resolver-collector/resolver-collector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver-collector.js","sourceRoot":"","sources":["../../../src/schema-generator/resolver-collector/resolver-collector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Converts an enum name from any naming convention to UPPER_SNAKE_CASE.
3
+ *
4
+ * Supports PascalCase, camelCase, UPPER_SNAKE_CASE, and single word inputs.
5
+ *
6
+ * @example
7
+ * toUpperSnakeCase("UserStatus") // => "USER_STATUS"
8
+ * toUpperSnakeCase("userStatus") // => "USER_STATUS"
9
+ * toUpperSnakeCase("USER_STATUS") // => "USER_STATUS"
10
+ * toUpperSnakeCase("Status") // => "STATUS"
11
+ */
12
+ export declare function toUpperSnakeCase(name: string): string;
13
+ /**
14
+ * Builds the prefix candidate string for enum prefix stripping.
15
+ *
16
+ * Converts the enum name to UPPER_SNAKE_CASE and appends "_" to create
17
+ * the prefix that will be checked against all enum values.
18
+ *
19
+ * @example
20
+ * buildEnumPrefixCandidate("UserStatus") // => "USER_STATUS_"
21
+ * buildEnumPrefixCandidate("userStatus") // => "USER_STATUS_"
22
+ * buildEnumPrefixCandidate("USER_STATUS") // => "USER_STATUS_"
23
+ * buildEnumPrefixCandidate("Status") // => "STATUS_"
24
+ */
25
+ export declare function buildEnumPrefixCandidate(enumName: string): string;
26
+ export interface DetectEnumPrefixParams {
27
+ readonly enumName: string;
28
+ readonly memberValues: ReadonlyArray<string>;
29
+ }
30
+ export interface DetectEnumPrefixResult {
31
+ readonly shouldStrip: boolean;
32
+ readonly prefix: string | null;
33
+ }
34
+ /**
35
+ * Detects whether an enum is a candidate for prefix stripping.
36
+ *
37
+ * Conditions for stripping:
38
+ * 1. All memberValues must start with `${toUpperSnakeCase(enumName)}_`
39
+ * 2. After removing the prefix, the remaining string must be non-empty
40
+ *
41
+ * @example
42
+ * detectEnumPrefix({
43
+ * enumName: "UserStatus",
44
+ * memberValues: ["USER_STATUS_ACTIVE", "USER_STATUS_INACTIVE"]
45
+ * })
46
+ * // => { shouldStrip: true, prefix: "USER_STATUS_" }
47
+ *
48
+ * detectEnumPrefix({
49
+ * enumName: "UserStatus",
50
+ * memberValues: ["ACTIVE", "INACTIVE"]
51
+ * })
52
+ * // => { shouldStrip: false, prefix: null }
53
+ */
54
+ export declare function detectEnumPrefix(params: DetectEnumPrefixParams): DetectEnumPrefixResult;
55
+ /**
56
+ * Removes the detected prefix from an enum value.
57
+ *
58
+ * @example
59
+ * stripEnumPrefix("USER_STATUS_ACTIVE", "USER_STATUS_")
60
+ * // => "ACTIVE"
61
+ */
62
+ export declare function stripEnumPrefix(value: string, prefix: string): string;
63
+ //# sourceMappingURL=enum-prefix-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum-prefix-detector.d.ts","sourceRoot":"","sources":["../../src/shared/enum-prefix-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,sBAAsB,GAC7B,sBAAsB,CAqBxB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAErE"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Converts an enum name from any naming convention to UPPER_SNAKE_CASE.
3
+ *
4
+ * Supports PascalCase, camelCase, UPPER_SNAKE_CASE, and single word inputs.
5
+ *
6
+ * @example
7
+ * toUpperSnakeCase("UserStatus") // => "USER_STATUS"
8
+ * toUpperSnakeCase("userStatus") // => "USER_STATUS"
9
+ * toUpperSnakeCase("USER_STATUS") // => "USER_STATUS"
10
+ * toUpperSnakeCase("Status") // => "STATUS"
11
+ */
12
+ export function toUpperSnakeCase(name) {
13
+ return name
14
+ .replace(/([a-z])([A-Z])/g, "$1_$2")
15
+ .replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2")
16
+ .toUpperCase();
17
+ }
18
+ /**
19
+ * Builds the prefix candidate string for enum prefix stripping.
20
+ *
21
+ * Converts the enum name to UPPER_SNAKE_CASE and appends "_" to create
22
+ * the prefix that will be checked against all enum values.
23
+ *
24
+ * @example
25
+ * buildEnumPrefixCandidate("UserStatus") // => "USER_STATUS_"
26
+ * buildEnumPrefixCandidate("userStatus") // => "USER_STATUS_"
27
+ * buildEnumPrefixCandidate("USER_STATUS") // => "USER_STATUS_"
28
+ * buildEnumPrefixCandidate("Status") // => "STATUS_"
29
+ */
30
+ export function buildEnumPrefixCandidate(enumName) {
31
+ return `${toUpperSnakeCase(enumName)}_`;
32
+ }
33
+ /**
34
+ * Detects whether an enum is a candidate for prefix stripping.
35
+ *
36
+ * Conditions for stripping:
37
+ * 1. All memberValues must start with `${toUpperSnakeCase(enumName)}_`
38
+ * 2. After removing the prefix, the remaining string must be non-empty
39
+ *
40
+ * @example
41
+ * detectEnumPrefix({
42
+ * enumName: "UserStatus",
43
+ * memberValues: ["USER_STATUS_ACTIVE", "USER_STATUS_INACTIVE"]
44
+ * })
45
+ * // => { shouldStrip: true, prefix: "USER_STATUS_" }
46
+ *
47
+ * detectEnumPrefix({
48
+ * enumName: "UserStatus",
49
+ * memberValues: ["ACTIVE", "INACTIVE"]
50
+ * })
51
+ * // => { shouldStrip: false, prefix: null }
52
+ */
53
+ export function detectEnumPrefix(params) {
54
+ const { enumName, memberValues } = params;
55
+ if (memberValues.length === 0) {
56
+ return { shouldStrip: false, prefix: null };
57
+ }
58
+ const prefixCandidate = buildEnumPrefixCandidate(enumName);
59
+ for (const value of memberValues) {
60
+ if (!value.startsWith(prefixCandidate)) {
61
+ return { shouldStrip: false, prefix: null };
62
+ }
63
+ const stripped = value.slice(prefixCandidate.length);
64
+ if (stripped === "") {
65
+ return { shouldStrip: false, prefix: null };
66
+ }
67
+ }
68
+ return { shouldStrip: true, prefix: prefixCandidate };
69
+ }
70
+ /**
71
+ * Removes the detected prefix from an enum value.
72
+ *
73
+ * @example
74
+ * stripEnumPrefix("USER_STATUS_ACTIVE", "USER_STATUS_")
75
+ * // => "ACTIVE"
76
+ */
77
+ export function stripEnumPrefix(value, prefix) {
78
+ return value.slice(prefix.length);
79
+ }
80
+ //# sourceMappingURL=enum-prefix-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum-prefix-detector.js","sourceRoot":"","sources":["../../src/shared/enum-prefix-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI;SACR,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC;SACzC,WAAW,EAAE,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC1C,CAAC;AAYD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAA8B;IAE9B,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAE1C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,eAAe,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAE3D,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC9C,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACpB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,MAAc;IAC3D,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * IgnoreFields metadata detector.
3
+ *
4
+ * This module provides functions to detect ignoreFields metadata embedded
5
+ * in TypeScript intersection types using the $gqlkitTypeMeta property.
6
+ */
7
+ import ts from "typescript";
8
+ /**
9
+ * Parameters for detectIgnoreFieldsMetadata function.
10
+ */
11
+ export interface DetectIgnoreFieldsParams {
12
+ readonly type: ts.Type;
13
+ readonly checker: ts.TypeChecker;
14
+ }
15
+ /**
16
+ * Detects ignoreFields metadata from a TypeScript type.
17
+ *
18
+ * This function analyzes TypeScript types to detect ignoreFields metadata
19
+ * from the $gqlkitTypeMeta property. It extracts string literal or string
20
+ * literal union types and returns them as a Set.
21
+ *
22
+ * @param params - The detection parameters containing type and checker
23
+ * @returns The ignoreFields set or null if not specified
24
+ */
25
+ export declare function detectIgnoreFieldsMetadata(params: DetectIgnoreFieldsParams): ReadonlySet<string> | null;
26
+ //# sourceMappingURL=ignore-fields-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ignore-fields-detector.d.ts","sourceRoot":"","sources":["../../src/shared/ignore-fields-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAM5B;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC;CAClC;AA2DD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,wBAAwB,GAC/B,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAkB5B"}