@gqlkit-ts/cli 0.2.0 → 0.4.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/README.md +143 -0
- package/dist/auto-type-generator/auto-type-generator.d.ts +10 -4
- package/dist/auto-type-generator/auto-type-generator.d.ts.map +1 -1
- package/dist/auto-type-generator/auto-type-generator.js +656 -146
- package/dist/auto-type-generator/auto-type-generator.js.map +1 -1
- package/dist/auto-type-generator/index.d.ts +8 -1
- 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 +13 -5
- package/dist/auto-type-generator/inline-enum-collector.d.ts.map +1 -1
- package/dist/auto-type-generator/inline-enum-collector.js +107 -71
- package/dist/auto-type-generator/inline-enum-collector.js.map +1 -1
- 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 +18 -1
- package/dist/auto-type-generator/naming-convention.d.ts.map +1 -1
- package/dist/auto-type-generator/naming-convention.js +16 -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/config/types.d.ts +13 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config-loader/loader.d.ts +3 -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 +23 -0
- package/dist/config-loader/validator.js.map +1 -1
- package/dist/gen-orchestrator/orchestrator.d.ts.map +1 -1
- package/dist/gen-orchestrator/orchestrator.js +32 -12
- package/dist/gen-orchestrator/orchestrator.js.map +1 -1
- package/dist/resolver-extractor/extract-resolvers.d.ts +19 -1
- package/dist/resolver-extractor/extract-resolvers.d.ts.map +1 -1
- package/dist/resolver-extractor/extractor/define-api-extractor.d.ts +5 -0
- package/dist/resolver-extractor/extractor/define-api-extractor.d.ts.map +1 -1
- package/dist/resolver-extractor/extractor/define-api-extractor.js +18 -65
- 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/builder/ast-builder.d.ts +2 -2
- package/dist/schema-generator/builder/ast-builder.d.ts.map +1 -1
- package/dist/schema-generator/builder/ast-builder.js +12 -34
- package/dist/schema-generator/builder/ast-builder.js.map +1 -1
- package/dist/schema-generator/emitter/code-emitter.d.ts +3 -1
- package/dist/schema-generator/emitter/code-emitter.d.ts.map +1 -1
- package/dist/schema-generator/emitter/code-emitter.js +42 -12
- package/dist/schema-generator/emitter/code-emitter.js.map +1 -1
- package/dist/schema-generator/emitter/sdl-emitter.d.ts +0 -4
- package/dist/schema-generator/emitter/sdl-emitter.d.ts.map +1 -1
- package/dist/schema-generator/emitter/sdl-emitter.js +0 -4
- package/dist/schema-generator/emitter/sdl-emitter.js.map +1 -1
- package/dist/schema-generator/generate-schema.d.ts +3 -0
- package/dist/schema-generator/generate-schema.d.ts.map +1 -1
- package/dist/schema-generator/generate-schema.js +83 -5
- package/dist/schema-generator/generate-schema.js.map +1 -1
- package/dist/schema-generator/integrator/result-integrator.d.ts +19 -9
- package/dist/schema-generator/integrator/result-integrator.d.ts.map +1 -1
- package/dist/schema-generator/integrator/result-integrator.js +60 -44
- 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/branded-type-detector.d.ts +43 -0
- package/dist/shared/branded-type-detector.d.ts.map +1 -0
- package/dist/shared/branded-type-detector.js +146 -0
- package/dist/shared/branded-type-detector.js.map +1 -0
- 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/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 +2 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js.map +1 -1
- 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/string-utils.d.ts +2 -0
- package/dist/shared/string-utils.d.ts.map +1 -0
- package/dist/shared/string-utils.js +8 -0
- package/dist/shared/string-utils.js.map +1 -0
- package/dist/type-extractor/converter/field-eligibility.d.ts +8 -6
- package/dist/type-extractor/converter/field-eligibility.d.ts.map +1 -1
- package/dist/type-extractor/converter/field-eligibility.js +7 -28
- package/dist/type-extractor/converter/field-eligibility.js.map +1 -1
- package/dist/type-extractor/converter/graphql-converter.d.ts.map +1 -1
- package/dist/type-extractor/converter/graphql-converter.js +27 -18
- package/dist/type-extractor/converter/graphql-converter.js.map +1 -1
- package/dist/type-extractor/extractor/field-type-resolver.d.ts.map +1 -1
- package/dist/type-extractor/extractor/field-type-resolver.js +81 -7
- package/dist/type-extractor/extractor/field-type-resolver.js.map +1 -1
- package/dist/type-extractor/extractor/type-extractor.d.ts.map +1 -1
- package/dist/type-extractor/extractor/type-extractor.js +88 -23
- 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/ts-type-reference-factory.d.ts +10 -2
- package/dist/type-extractor/types/ts-type-reference-factory.d.ts.map +1 -1
- package/dist/type-extractor/types/ts-type-reference-factory.js +8 -2
- package/dist/type-extractor/types/ts-type-reference-factory.js.map +1 -1
- package/dist/type-extractor/types/typescript.d.ts +4 -0
- package/dist/type-extractor/types/typescript.d.ts.map +1 -1
- package/dist/type-extractor/validator/type-validator.d.ts +1 -1
- package/dist/type-extractor/validator/type-validator.d.ts.map +1 -1
- package/dist/type-extractor/validator/type-validator.js +2 -10
- package/dist/type-extractor/validator/type-validator.js.map +1 -1
- package/docs/coding-agents.md +64 -0
- package/docs/configuration.md +15 -20
- package/docs/getting-started.md +15 -12
- package/docs/index.md +36 -22
- package/docs/integration/apollo.md +8 -40
- package/docs/integration/drizzle.md +6 -10
- 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 +99 -0
- package/docs/schema/fields.md +64 -0
- package/docs/schema/index.md +21 -0
- package/docs/schema/inputs.md +115 -15
- package/docs/schema/interfaces.md +31 -1
- package/docs/schema/objects.md +40 -0
- package/docs/schema/queries-mutations.md +136 -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 +6 -4
- package/src/auto-type-generator/auto-type-generator.ts +969 -227
- package/src/auto-type-generator/index.ts +42 -0
- package/src/auto-type-generator/inline-enum-collector.ts +187 -139
- 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/naming-convention.ts +38 -1
- 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 +2 -0
- package/src/commands/docs.ts +211 -0
- package/src/config/types.ts +15 -0
- package/src/config-loader/loader.ts +4 -0
- package/src/config-loader/validator.ts +33 -0
- package/src/gen-orchestrator/orchestrator.ts +50 -17
- package/src/resolver-extractor/extract-resolvers.ts +19 -0
- package/src/resolver-extractor/extractor/define-api-extractor.ts +28 -94
- package/src/resolver-extractor/index.ts +0 -6
- package/src/resolver-extractor/validator/abstract-resolver-validator.ts +16 -8
- package/src/schema-generator/builder/ast-builder.ts +52 -81
- package/src/schema-generator/emitter/code-emitter.ts +82 -11
- package/src/schema-generator/emitter/sdl-emitter.ts +0 -4
- package/src/schema-generator/generate-schema.ts +109 -14
- package/src/schema-generator/integrator/result-integrator.ts +91 -63
- package/src/schema-generator/resolver-collector/resolver-collector.ts +34 -0
- package/src/shared/branded-type-detector.ts +182 -0
- package/src/shared/enum-prefix-detector.ts +99 -0
- package/src/shared/ignore-fields-detector.ts +109 -0
- package/src/shared/ignore-fields-validator.ts +66 -0
- package/src/shared/index.ts +2 -0
- package/src/shared/source-location.ts +11 -0
- package/src/shared/string-utils.ts +7 -0
- package/src/type-extractor/converter/field-eligibility.ts +13 -29
- package/src/type-extractor/converter/graphql-converter.ts +37 -23
- package/src/type-extractor/extractor/field-type-resolver.ts +97 -7
- package/src/type-extractor/extractor/type-extractor.ts +103 -26
- package/src/type-extractor/types/diagnostics.ts +13 -2
- package/src/type-extractor/types/ts-type-reference-factory.ts +18 -5
- package/src/type-extractor/types/typescript.ts +4 -0
- package/src/type-extractor/validator/type-validator.ts +2 -15
- 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/src/resolver-extractor/validator/only-validator.ts +0 -158
|
@@ -14,15 +14,18 @@ function isReservedName(name) {
|
|
|
14
14
|
return name.startsWith("__");
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
* Check if a field name is eligible to be included as a GraphQL
|
|
17
|
+
* Check if a field name is eligible to be included as a GraphQL field.
|
|
18
|
+
* Uses the kind parameter to determine the error message prefix.
|
|
18
19
|
*/
|
|
19
|
-
export function
|
|
20
|
+
export function isEligibleField(params) {
|
|
21
|
+
const { fieldName, kind } = params;
|
|
22
|
+
const prefix = kind === "input" ? "Input field" : "Field";
|
|
20
23
|
if (isReservedName(fieldName)) {
|
|
21
24
|
return {
|
|
22
25
|
eligible: false,
|
|
23
26
|
skipReason: {
|
|
24
27
|
code: "RESERVED_NAME",
|
|
25
|
-
message:
|
|
28
|
+
message: `${prefix} '${fieldName}' starts with '__' which is reserved for GraphQL introspection`,
|
|
26
29
|
},
|
|
27
30
|
};
|
|
28
31
|
}
|
|
@@ -31,31 +34,7 @@ export function isEligibleAsObjectField(fieldName) {
|
|
|
31
34
|
eligible: false,
|
|
32
35
|
skipReason: {
|
|
33
36
|
code: "INVALID_NAME",
|
|
34
|
-
message:
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
return { eligible: true, skipReason: null };
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Check if a field name is eligible to be included as a GraphQL input object field.
|
|
42
|
-
*/
|
|
43
|
-
export function isEligibleAsInputObjectField(fieldName) {
|
|
44
|
-
if (isReservedName(fieldName)) {
|
|
45
|
-
return {
|
|
46
|
-
eligible: false,
|
|
47
|
-
skipReason: {
|
|
48
|
-
code: "RESERVED_NAME",
|
|
49
|
-
message: `Input field '${fieldName}' starts with '__' which is reserved for GraphQL introspection`,
|
|
50
|
-
},
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
if (!isValidGraphQLName(fieldName)) {
|
|
54
|
-
return {
|
|
55
|
-
eligible: false,
|
|
56
|
-
skipReason: {
|
|
57
|
-
code: "INVALID_NAME",
|
|
58
|
-
message: `Input field '${fieldName}' is not a valid GraphQL identifier (must match /^[_A-Za-z][_0-9A-Za-z]*$/)`,
|
|
37
|
+
message: `${prefix} '${fieldName}' is not a valid GraphQL identifier (must match /^[_A-Za-z][_0-9A-Za-z]*$/)`,
|
|
59
38
|
},
|
|
60
39
|
};
|
|
61
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-eligibility.js","sourceRoot":"","sources":["../../../src/type-extractor/converter/field-eligibility.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAUxD,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;
|
|
1
|
+
{"version":3,"file":"field-eligibility.js","sourceRoot":"","sources":["../../../src/type-extractor/converter/field-eligibility.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAUxD,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AASD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,MAA6B;IAE7B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;IAE1D,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE;gBACV,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,GAAG,MAAM,KAAK,SAAS,gEAAgE;aACjG;SACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE;gBACV,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,GAAG,MAAM,KAAK,SAAS,6EAA6E;aAC9G;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,aAAqB,EACrB,YAAoB;IAEpB,IAAI,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE;gBACV,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,gBAAgB,YAAY,kBAAkB,aAAa,+DAA+D;aACpI;SACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE;gBACV,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,gBAAgB,YAAY,kBAAkB,aAAa,2CAA2C;aAChH;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-converter.d.ts","sourceRoot":"","sources":["../../../src/type-extractor/converter/graphql-converter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graphql-converter.d.ts","sourceRoot":"","sources":["../../../src/type-extractor/converter/graphql-converter.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,UAAU,EAGV,iBAAiB,EAEjB,eAAe,EAIhB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACjD;AAgRD,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAC/C,gBAAgB,CA2KlB"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { BUILT_IN_SCALARS, isBuiltInScalar, PRIMITIVE_TYPE_MAP, } from "../../shared/constants.js";
|
|
2
|
+
import { detectEnumPrefix, stripEnumPrefix, } from "../../shared/enum-prefix-detector.js";
|
|
3
|
+
import { toScreamingSnakeCase } from "../../shared/string-utils.js";
|
|
2
4
|
import { convertTsTypeToGraphQLType } from "../../shared/type-converter.js";
|
|
3
|
-
import { isEligibleAsEnumValue,
|
|
5
|
+
import { isEligibleAsEnumValue, isEligibleField } from "./field-eligibility.js";
|
|
4
6
|
const RESERVED_TYPE_NAMES = new Set([
|
|
5
7
|
...BUILT_IN_SCALARS,
|
|
6
8
|
"Query",
|
|
@@ -10,20 +12,13 @@ const RESERVED_TYPE_NAMES = new Set([
|
|
|
10
12
|
function isInputTypeName(name) {
|
|
11
13
|
return name.endsWith("Input");
|
|
12
14
|
}
|
|
13
|
-
function toScreamingSnakeCase(value) {
|
|
14
|
-
return value
|
|
15
|
-
.replace(/[-\s]+/g, "_")
|
|
16
|
-
.replace(/([a-z])([A-Z])/g, "$1_$2")
|
|
17
|
-
.replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2")
|
|
18
|
-
.toUpperCase();
|
|
19
|
-
}
|
|
20
15
|
function convertEnumMembers(params) {
|
|
21
16
|
const { members, enumName, sourceFile, enumLocation } = params;
|
|
22
17
|
const values = [];
|
|
23
18
|
const diagnostics = [];
|
|
24
19
|
let isNumeric = false;
|
|
25
20
|
let needsMapping = false;
|
|
26
|
-
const
|
|
21
|
+
const eligibleMembers = [];
|
|
27
22
|
for (const member of members) {
|
|
28
23
|
const convertedName = toScreamingSnakeCase(member.name);
|
|
29
24
|
const eligibility = isEligibleAsEnumValue(convertedName, member.name);
|
|
@@ -43,14 +38,27 @@ function convertEnumMembers(params) {
|
|
|
43
38
|
if (member.numericValue !== null) {
|
|
44
39
|
isNumeric = true;
|
|
45
40
|
}
|
|
46
|
-
|
|
41
|
+
eligibleMembers.push({ convertedName, member });
|
|
42
|
+
}
|
|
43
|
+
const prefixDetectionResult = detectEnumPrefix({
|
|
44
|
+
enumName,
|
|
45
|
+
memberValues: eligibleMembers.map((m) => m.convertedName),
|
|
46
|
+
});
|
|
47
|
+
const finalNameToOriginals = new Map();
|
|
48
|
+
for (const { convertedName, member } of eligibleMembers) {
|
|
49
|
+
let finalName = convertedName;
|
|
50
|
+
if (prefixDetectionResult.shouldStrip && prefixDetectionResult.prefix) {
|
|
51
|
+
finalName = stripEnumPrefix(convertedName, prefixDetectionResult.prefix);
|
|
47
52
|
needsMapping = true;
|
|
48
53
|
}
|
|
49
|
-
|
|
54
|
+
else if (convertedName !== member.value) {
|
|
55
|
+
needsMapping = true;
|
|
56
|
+
}
|
|
57
|
+
const existingOriginals = finalNameToOriginals.get(finalName) ?? [];
|
|
50
58
|
existingOriginals.push(member.value);
|
|
51
|
-
|
|
59
|
+
finalNameToOriginals.set(finalName, existingOriginals);
|
|
52
60
|
values.push({
|
|
53
|
-
name:
|
|
61
|
+
name: finalName,
|
|
54
62
|
originalValue: member.value,
|
|
55
63
|
numericValue: member.numericValue,
|
|
56
64
|
description: member.description,
|
|
@@ -58,11 +66,11 @@ function convertEnumMembers(params) {
|
|
|
58
66
|
});
|
|
59
67
|
}
|
|
60
68
|
let hasError = false;
|
|
61
|
-
for (const [
|
|
69
|
+
for (const [finalName, originals] of finalNameToOriginals) {
|
|
62
70
|
if (originals.length > 1) {
|
|
63
71
|
diagnostics.push({
|
|
64
72
|
code: "DUPLICATE_ENUM_VALUE_AFTER_CONVERSION",
|
|
65
|
-
message: `Enum '${enumName}' has duplicate value '${
|
|
73
|
+
message: `Enum '${enumName}' has duplicate value '${finalName}' after conversion (from '${originals.join("' and '")}')`,
|
|
66
74
|
severity: "error",
|
|
67
75
|
location: enumLocation,
|
|
68
76
|
});
|
|
@@ -75,9 +83,10 @@ function convertFields(extracted, isInput) {
|
|
|
75
83
|
const fields = [];
|
|
76
84
|
const diagnostics = [];
|
|
77
85
|
for (const field of extracted.fields) {
|
|
78
|
-
const eligibility =
|
|
79
|
-
|
|
80
|
-
:
|
|
86
|
+
const eligibility = isEligibleField({
|
|
87
|
+
fieldName: field.name,
|
|
88
|
+
kind: isInput ? "input" : "object",
|
|
89
|
+
});
|
|
81
90
|
if (!eligibility.eligible) {
|
|
82
91
|
diagnostics.push({
|
|
83
92
|
code: "SKIPPED_FIELD",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-converter.js","sourceRoot":"","sources":["../../../src/type-extractor/converter/graphql-converter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graphql-converter.js","sourceRoot":"","sources":["../../../src/type-extractor/converter/graphql-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-type-resolver.d.ts","sourceRoot":"","sources":["../../../src/type-extractor/extractor/field-type-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"field-type-resolver.d.ts","sourceRoot":"","sources":["../../../src/type-extractor/extractor/field-type-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAsB5B,OAAO,KAAK,EACV,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,sCAAsC,CAAC;AAY9C,OAAO,KAAK,EAEV,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1D,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpE,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC9D,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,+EAA+E;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAC/D,sEAAsE;IACtE,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;CACrD;AASD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,SAAS,EACjC,GAAG,EAAE,wBAAwB,GAC5B,eAAe,CAMjB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
|
+
import { detectBrandedType, detectUniformBrandedType, } from "../../shared/branded-type-detector.js";
|
|
2
3
|
import { isInternalTypeSymbol } from "../../shared/constants.js";
|
|
3
4
|
import { extractInlineObjectProperties as extractInlineObjectPropertiesShared } from "../../shared/inline-object-extractor.js";
|
|
4
5
|
import { isInlineObjectType } from "../../shared/inline-object-utils.js";
|
|
@@ -100,6 +101,17 @@ function resolveFieldTypeInternal(type, typeNode, ctx) {
|
|
|
100
101
|
externalEnumDeprecated: null,
|
|
101
102
|
});
|
|
102
103
|
}
|
|
104
|
+
// Check if all non-null types are branded primitives with the same base type
|
|
105
|
+
// This handles cases like: boolean & { __nominal: true }
|
|
106
|
+
// which expands to: (true & { __nominal: true }) | (false & { __nominal: true })
|
|
107
|
+
const uniformBrandedResult = detectUniformBrandedType(nonNullTypes);
|
|
108
|
+
if (uniformBrandedResult.isBranded &&
|
|
109
|
+
uniformBrandedResult.baseType !== null) {
|
|
110
|
+
return createPrimitiveType({
|
|
111
|
+
name: uniformBrandedResult.baseType,
|
|
112
|
+
nullable,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
103
115
|
if (nonNullTypes.length === 1) {
|
|
104
116
|
const nonNullTypeNode = typeNode && ts.isUnionTypeNode(typeNode)
|
|
105
117
|
? findNonNullTypeNode(typeNode)
|
|
@@ -141,17 +153,40 @@ function resolveFieldTypeInternal(type, typeNode, ctx) {
|
|
|
141
153
|
if (type.flags & ts.TypeFlags.NumberLiteral) {
|
|
142
154
|
return createLiteralType(typeString);
|
|
143
155
|
}
|
|
144
|
-
// Intersection types in field context
|
|
145
|
-
// GraphQL doesn't have intersection types, so we must
|
|
156
|
+
// Intersection types in field context
|
|
157
|
+
// GraphQL doesn't have intersection types, so we must resolve them appropriately
|
|
146
158
|
if (type.isIntersection()) {
|
|
147
|
-
// If the intersection has an alias that's in knownTypeNames, use it
|
|
159
|
+
// 1. If the intersection has an alias that's in knownTypeNames, use it as reference
|
|
148
160
|
if (type.aliasSymbol) {
|
|
149
161
|
const aliasName = type.aliasSymbol.getName();
|
|
150
162
|
if (isKnownSchemaType(aliasName, type.aliasSymbol, ctx)) {
|
|
151
163
|
return createReferenceType({ name: aliasName, nullable: false });
|
|
152
164
|
}
|
|
165
|
+
// 2. Check if aliasSymbol has a globalTypeMapping (custom scalar)
|
|
166
|
+
const globalMapping = globalTypeMappings.find((m) => m.typeName === aliasName);
|
|
167
|
+
if (globalMapping) {
|
|
168
|
+
return createScalarType({
|
|
169
|
+
name: globalMapping.scalarName,
|
|
170
|
+
scalarInfo: {
|
|
171
|
+
scalarName: globalMapping.scalarName,
|
|
172
|
+
typeName: globalMapping.typeName,
|
|
173
|
+
baseType: undefined,
|
|
174
|
+
isCustom: true,
|
|
175
|
+
only: globalMapping.only,
|
|
176
|
+
},
|
|
177
|
+
nullable: false,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// 3. Check if this is a branded primitive type pattern
|
|
182
|
+
const brandedResult = detectBrandedType(type);
|
|
183
|
+
if (brandedResult.isBranded && brandedResult.baseType !== null) {
|
|
184
|
+
return createPrimitiveType({
|
|
185
|
+
name: brandedResult.baseType,
|
|
186
|
+
nullable: false,
|
|
187
|
+
});
|
|
153
188
|
}
|
|
154
|
-
// Otherwise, treat as inline object
|
|
189
|
+
// 4. Otherwise, treat as inline object
|
|
155
190
|
return tryExtractAsInlineObject(type, ctx);
|
|
156
191
|
}
|
|
157
192
|
// Inline object type handling
|
|
@@ -184,6 +219,25 @@ function resolveFieldTypeInternal(type, typeNode, ctx) {
|
|
|
184
219
|
return tryExtractAsInlineObject(type, ctx);
|
|
185
220
|
}
|
|
186
221
|
}
|
|
222
|
+
// Type alias expansion: type aliases not in knownTypeNames should be expanded as inline objects
|
|
223
|
+
// This handles cases like: type MyPayload = { user: User; success: boolean; }
|
|
224
|
+
// where MyPayload is used as return type but not declared as a schema type
|
|
225
|
+
// Only expand if the underlying type is an anonymous object literal, not a named type
|
|
226
|
+
// IMPORTANT: Only expand if the name doesn't exist in schema at all.
|
|
227
|
+
// If the name exists but symbols don't match, that's a shadowing case handled by later logic.
|
|
228
|
+
if (type.aliasSymbol) {
|
|
229
|
+
const aliasName = type.aliasSymbol.getName();
|
|
230
|
+
if (!knownTypeNames.has(aliasName)) {
|
|
231
|
+
// Check if this is an anonymous object type (not an interface or another named type)
|
|
232
|
+
// using ts.ObjectFlags.Anonymous for a more robust check than internal symbol names
|
|
233
|
+
const isAnonymousObject = (type.flags & ts.TypeFlags.Object) !== 0 &&
|
|
234
|
+
(type.objectFlags & ts.ObjectFlags.Anonymous) !== 0;
|
|
235
|
+
if (isAnonymousObject) {
|
|
236
|
+
// Not a known schema type and is an anonymous object - expand to generate Payload type
|
|
237
|
+
return tryExtractAsInlineObject(type, ctx);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
187
241
|
// Extract type name from typeNode first (takes precedence over type.symbol).
|
|
188
242
|
// This handles cases like:
|
|
189
243
|
// - `typeof def` where the type's symbol is internal (__type, __object)
|
|
@@ -283,15 +337,35 @@ function resolveFieldTypeInternal(type, typeNode, ctx) {
|
|
|
283
337
|
return createReferenceType({ name: typeString, nullable: false });
|
|
284
338
|
}
|
|
285
339
|
function tryExtractAsInlineObject(type, ctx) {
|
|
286
|
-
const { visitedTypes } = ctx;
|
|
340
|
+
const { visitedTypes, checker } = ctx;
|
|
287
341
|
if (visitedTypes.has(type)) {
|
|
288
342
|
// Cycle detected, return a placeholder reference
|
|
289
343
|
const typeName = type.symbol?.getName() ?? "Unknown";
|
|
290
344
|
return createReferenceType({ name: typeName, nullable: false });
|
|
291
345
|
}
|
|
292
346
|
visitedTypes.add(type);
|
|
293
|
-
const inlineProperties = extractInlineObjectPropertiesShared(type,
|
|
294
|
-
|
|
347
|
+
const inlineProperties = extractInlineObjectPropertiesShared(type, checker, (propType) => resolveFieldTypeInternal(propType, undefined, ctx));
|
|
348
|
+
// Extract type-level TSDoc from the alias symbol if present (Requirement 7.2)
|
|
349
|
+
// Only extract from user-defined types, not built-in TypeScript utility types
|
|
350
|
+
let description = null;
|
|
351
|
+
let deprecated = null;
|
|
352
|
+
if (type.aliasSymbol) {
|
|
353
|
+
const declarations = type.aliasSymbol.getDeclarations();
|
|
354
|
+
const isUserDefined = declarations?.some((decl) => {
|
|
355
|
+
const sourceFile = decl.getSourceFile();
|
|
356
|
+
return !sourceFile.isDeclarationFile;
|
|
357
|
+
}) ?? false;
|
|
358
|
+
if (isUserDefined) {
|
|
359
|
+
const tsdocInfo = extractTsDocFromSymbol(type.aliasSymbol, checker);
|
|
360
|
+
description = tsdocInfo.description;
|
|
361
|
+
deprecated = tsdocInfo.deprecated;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
return createInlineObjectType({
|
|
365
|
+
properties: inlineProperties,
|
|
366
|
+
description,
|
|
367
|
+
deprecated,
|
|
368
|
+
});
|
|
295
369
|
}
|
|
296
370
|
/**
|
|
297
371
|
* Checks if all types are string literals and extracts them as inline enum members.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-type-resolver.js","sourceRoot":"","sources":["../../../src/type-extractor/extractor/field-type-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"field-type-resolver.js","sourceRoot":"","sources":["../../../src/type-extractor/extractor/field-type-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-extractor.d.ts","sourceRoot":"","sources":["../../../src/type-extractor/extractor/type-extractor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"type-extractor.d.ts","sourceRoot":"","sources":["../../../src/type-extractor/extractor/type-extractor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AA2C5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAQL,KAAK,UAAU,EAEf,KAAK,iBAAiB,EAOvB,MAAM,mBAAmB,CAAC;AAG3B;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC9D,yEAAyE;IACzE,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,mEAAmE;IACnE,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1D,iFAAiF;IACjF,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpE,+EAA+E;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,GAAG,IAAI,CAAC;CAChE;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACpD,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CAC7D;AAyrCD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,EAClC,OAAO,EAAE,iBAAiB,GACzB,gBAAgB,CA0UlB"}
|
|
@@ -3,6 +3,8 @@ import ts from "typescript";
|
|
|
3
3
|
import { isInternalTypeSymbol } from "../../shared/constants.js";
|
|
4
4
|
import { detectDefaultValueMetadata } from "../../shared/default-value-detector.js";
|
|
5
5
|
import { detectDirectiveMetadata, hasDirectiveMetadata, unwrapDirectiveType, } from "../../shared/directive-detector.js";
|
|
6
|
+
import { detectIgnoreFieldsMetadata } from "../../shared/ignore-fields-detector.js";
|
|
7
|
+
import { validateIgnoreFields } from "../../shared/ignore-fields-validator.js";
|
|
6
8
|
import { extractInlineObjectProperties as extractInlineObjectPropertiesShared } from "../../shared/inline-object-extractor.js";
|
|
7
9
|
import { isInlineObjectType } from "../../shared/inline-object-utils.js";
|
|
8
10
|
import { extractImplementsFromDefineInterface, extractImplementsFromGqlTypeDef, isDefineInterfaceTypeAlias, } from "../../shared/interface-detector.js";
|
|
@@ -44,7 +46,11 @@ function tryExtractAsInlineObject(type, ctx) {
|
|
|
44
46
|
visitedTypes.add(type);
|
|
45
47
|
const inlineProperties = extractInlineObjectPropertiesShared(type, checker, (t) => convertTsTypeToReference(t, ctx).tsType);
|
|
46
48
|
return {
|
|
47
|
-
tsType: createInlineObjectType(
|
|
49
|
+
tsType: createInlineObjectType({
|
|
50
|
+
properties: inlineProperties,
|
|
51
|
+
description: null,
|
|
52
|
+
deprecated: null,
|
|
53
|
+
}),
|
|
48
54
|
};
|
|
49
55
|
}
|
|
50
56
|
function findGlobalTypeMapping(typeName, globalTypeMappings) {
|
|
@@ -238,8 +244,19 @@ function convertTsTypeToReference(type, ctx, typeNode) {
|
|
|
238
244
|
tsType: createReferenceType({ name: typeString, nullable: false }),
|
|
239
245
|
};
|
|
240
246
|
}
|
|
247
|
+
function collectAllFieldNames(type, checker) {
|
|
248
|
+
const properties = extractPropertySymbols(type, checker);
|
|
249
|
+
const fieldNames = new Set();
|
|
250
|
+
for (const prop of properties) {
|
|
251
|
+
const propName = prop.getName();
|
|
252
|
+
if (!propName.startsWith(" $")) {
|
|
253
|
+
fieldNames.add(propName);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return fieldNames;
|
|
257
|
+
}
|
|
241
258
|
function extractFieldsFromType(params) {
|
|
242
|
-
const { type, checker, globalTypeMappings, knownTypeNames, knownTypeSymbols, underlyingSymbolToTypeName, sourceFiles, scalarMappingTable, scalarMappingContext, } = params;
|
|
259
|
+
const { type, checker, globalTypeMappings, knownTypeNames, knownTypeSymbols, underlyingSymbolToTypeName, sourceFiles, scalarMappingTable, scalarMappingContext, ignoreFields, } = params;
|
|
243
260
|
const fields = [];
|
|
244
261
|
const diagnostics = [];
|
|
245
262
|
const properties = extractPropertySymbols(type, checker);
|
|
@@ -248,6 +265,9 @@ function extractFieldsFromType(params) {
|
|
|
248
265
|
if (propName.startsWith(" $")) {
|
|
249
266
|
continue;
|
|
250
267
|
}
|
|
268
|
+
if (ignoreFields?.has(propName)) {
|
|
269
|
+
continue;
|
|
270
|
+
}
|
|
251
271
|
const propType = checker.getTypeOfSymbol(prop);
|
|
252
272
|
const declarations = prop.getDeclarations();
|
|
253
273
|
const declaration = declarations?.[0];
|
|
@@ -615,6 +635,17 @@ function processReexportedSymbol(params) {
|
|
|
615
635
|
? reexportDeclaration.type
|
|
616
636
|
: undefined;
|
|
617
637
|
const unionMembers = extractUnionMembers(type, reexportTypeNode);
|
|
638
|
+
const ignoreFields = detectIgnoreFieldsMetadata({ type, checker });
|
|
639
|
+
if (ignoreFields !== null && kind !== "union") {
|
|
640
|
+
const allFieldNames = collectAllFieldNames(type, checker);
|
|
641
|
+
const validationDiagnostics = validateIgnoreFields({
|
|
642
|
+
typeName: exportedName,
|
|
643
|
+
ignoreFields,
|
|
644
|
+
allFieldNames,
|
|
645
|
+
sourceLocation: location,
|
|
646
|
+
});
|
|
647
|
+
diagnostics.push(...validationDiagnostics);
|
|
648
|
+
}
|
|
618
649
|
const fieldResult = kind === "union"
|
|
619
650
|
? { fields: [], diagnostics: [] }
|
|
620
651
|
: extractFieldsFromType({
|
|
@@ -627,6 +658,7 @@ function processReexportedSymbol(params) {
|
|
|
627
658
|
sourceFiles: scannedSourceFiles,
|
|
628
659
|
scalarMappingTable,
|
|
629
660
|
scalarMappingContext,
|
|
661
|
+
ignoreFields,
|
|
630
662
|
});
|
|
631
663
|
diagnostics.push(...fieldResult.diagnostics);
|
|
632
664
|
return {
|
|
@@ -746,11 +778,14 @@ function getNamedTypeName(memberType) {
|
|
|
746
778
|
return memberType.symbol?.getName() ?? "";
|
|
747
779
|
}
|
|
748
780
|
function extractInlineObjectMembers(params) {
|
|
749
|
-
const { type, checker, globalTypeMappings, knownTypeNames } = params;
|
|
781
|
+
const { type, checker, globalTypeMappings, knownTypeNames, typeNode } = params;
|
|
750
782
|
if (!type.isUnion()) {
|
|
751
783
|
return null;
|
|
752
784
|
}
|
|
753
785
|
const nonNullTypes = getNonNullableTypes(type);
|
|
786
|
+
const memberTypeNodes = typeNode && ts.isUnionTypeNode(typeNode)
|
|
787
|
+
? filterNonNullTypeNodes(typeNode)
|
|
788
|
+
: [];
|
|
754
789
|
const allObjectTypes = nonNullTypes.every((t) => (t.flags & ts.TypeFlags.Object) !== 0 ||
|
|
755
790
|
(t.flags & ts.TypeFlags.Intersection) !== 0);
|
|
756
791
|
if (nonNullTypes.length < 2 || !allObjectTypes) {
|
|
@@ -765,26 +800,44 @@ function extractInlineObjectMembers(params) {
|
|
|
765
800
|
knownTypeNames,
|
|
766
801
|
visitedTypes: new WeakSet(),
|
|
767
802
|
};
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
const tsdocInfo = extractTsDocFromSymbol(prop, checker);
|
|
776
|
-
const typeResult = convertTsTypeToReference(propType, ctx);
|
|
777
|
-
memberProperties.push({
|
|
778
|
-
propertyName: prop.getName(),
|
|
779
|
-
propertyType: typeResult.tsType,
|
|
780
|
-
description: tsdocInfo.description ?? null,
|
|
781
|
-
deprecated: tsdocInfo.deprecated ?? null,
|
|
782
|
-
});
|
|
803
|
+
if (memberTypeNodes.length > 0) {
|
|
804
|
+
for (const memberNode of memberTypeNodes) {
|
|
805
|
+
if (ts.isTypeReferenceNode(memberNode)) {
|
|
806
|
+
hasNamedTypes = true;
|
|
807
|
+
}
|
|
808
|
+
else {
|
|
809
|
+
hasInlineObjects = true;
|
|
783
810
|
}
|
|
784
|
-
members.push({ properties: memberProperties });
|
|
785
811
|
}
|
|
786
|
-
|
|
787
|
-
|
|
812
|
+
}
|
|
813
|
+
else {
|
|
814
|
+
for (const memberType of nonNullTypes) {
|
|
815
|
+
if (isAnonymousObjectType(memberType)) {
|
|
816
|
+
hasInlineObjects = true;
|
|
817
|
+
}
|
|
818
|
+
else {
|
|
819
|
+
hasNamedTypes = true;
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
if (hasInlineObjects) {
|
|
824
|
+
for (const memberType of nonNullTypes) {
|
|
825
|
+
if (isAnonymousObjectType(memberType)) {
|
|
826
|
+
const properties = memberType.getProperties();
|
|
827
|
+
const memberProperties = [];
|
|
828
|
+
for (const prop of properties) {
|
|
829
|
+
const propType = checker.getTypeOfSymbol(prop);
|
|
830
|
+
const tsdocInfo = extractTsDocFromSymbol(prop, checker);
|
|
831
|
+
const typeResult = convertTsTypeToReference(propType, ctx);
|
|
832
|
+
memberProperties.push({
|
|
833
|
+
propertyName: prop.getName(),
|
|
834
|
+
propertyType: typeResult.tsType,
|
|
835
|
+
description: tsdocInfo.description ?? null,
|
|
836
|
+
deprecated: tsdocInfo.deprecated ?? null,
|
|
837
|
+
});
|
|
838
|
+
}
|
|
839
|
+
members.push({ properties: memberProperties });
|
|
840
|
+
}
|
|
788
841
|
}
|
|
789
842
|
}
|
|
790
843
|
return { members, hasInlineObjects, hasNamedTypes };
|
|
@@ -965,6 +1018,7 @@ export function extractTypesFromProgram(program, sourceFiles, options) {
|
|
|
965
1018
|
checker,
|
|
966
1019
|
globalTypeMappings,
|
|
967
1020
|
knownTypeNames,
|
|
1021
|
+
typeNode: typeAliasTypeNode,
|
|
968
1022
|
});
|
|
969
1023
|
const tsdocInfo = extractTsDocInfo(node, checker);
|
|
970
1024
|
let implementedInterfaces = null;
|
|
@@ -1004,6 +1058,17 @@ export function extractTypesFromProgram(program, sourceFiles, options) {
|
|
|
1004
1058
|
});
|
|
1005
1059
|
return;
|
|
1006
1060
|
}
|
|
1061
|
+
const ignoreFields = detectIgnoreFieldsMetadata({ type, checker });
|
|
1062
|
+
if (ignoreFields !== null && kind !== "union") {
|
|
1063
|
+
const allFieldNames = collectAllFieldNames(type, checker);
|
|
1064
|
+
const validationDiagnostics = validateIgnoreFields({
|
|
1065
|
+
typeName: name,
|
|
1066
|
+
ignoreFields,
|
|
1067
|
+
allFieldNames,
|
|
1068
|
+
sourceLocation: typeSourceLocation,
|
|
1069
|
+
});
|
|
1070
|
+
diagnostics.push(...validationDiagnostics);
|
|
1071
|
+
}
|
|
1007
1072
|
const fieldResult = kind === "union"
|
|
1008
1073
|
? { fields: [], diagnostics: [] }
|
|
1009
1074
|
: extractFieldsFromType({
|
|
@@ -1018,6 +1083,7 @@ export function extractTypesFromProgram(program, sourceFiles, options) {
|
|
|
1018
1083
|
scalarMappingContext: name.endsWith("Input")
|
|
1019
1084
|
? "input"
|
|
1020
1085
|
: "output",
|
|
1086
|
+
ignoreFields,
|
|
1021
1087
|
});
|
|
1022
1088
|
const fields = fieldResult.fields;
|
|
1023
1089
|
diagnostics.push(...fieldResult.diagnostics);
|
|
@@ -1047,8 +1113,7 @@ export function extractTypesFromProgram(program, sourceFiles, options) {
|
|
|
1047
1113
|
});
|
|
1048
1114
|
}
|
|
1049
1115
|
}
|
|
1050
|
-
const inlineObjectMembers = inlineObjectResult?.hasInlineObjects
|
|
1051
|
-
!inlineObjectResult.hasNamedTypes
|
|
1116
|
+
const inlineObjectMembers = inlineObjectResult?.hasInlineObjects
|
|
1052
1117
|
? inlineObjectResult.members
|
|
1053
1118
|
: null;
|
|
1054
1119
|
const typeInfo = {
|