@nestia/sdk 8.1.0 → 9.0.0-dev.20251107

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 (112) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +93 -93
  3. package/assets/bundle/api/HttpError.ts +1 -1
  4. package/assets/bundle/api/IConnection.ts +1 -1
  5. package/assets/bundle/api/Primitive.ts +1 -1
  6. package/assets/bundle/api/Resolved.ts +1 -1
  7. package/assets/bundle/api/index.ts +4 -4
  8. package/assets/bundle/api/module.ts +6 -6
  9. package/assets/bundle/distribute/README.md +37 -37
  10. package/assets/bundle/distribute/package.json +28 -28
  11. package/assets/bundle/distribute/tsconfig.json +109 -109
  12. package/assets/bundle/e2e/index.ts +42 -42
  13. package/assets/config/nestia.config.ts +97 -97
  14. package/lib/executable/internal/NestiaConfigLoader.js +4 -4
  15. package/lib/executable/sdk.js +12 -12
  16. package/package.json +7 -7
  17. package/src/INestiaConfig.ts +267 -267
  18. package/src/NestiaSdkApplication.ts +307 -307
  19. package/src/NestiaSwaggerComposer.ts +138 -138
  20. package/src/analyses/AccessorAnalyzer.ts +67 -67
  21. package/src/analyses/ConfigAnalyzer.ts +155 -155
  22. package/src/analyses/DtoAnalyzer.ts +246 -246
  23. package/src/analyses/ExceptionAnalyzer.ts +154 -154
  24. package/src/analyses/GenericAnalyzer.ts +49 -49
  25. package/src/analyses/ImportAnalyzer.ts +126 -126
  26. package/src/analyses/PathAnalyzer.ts +69 -69
  27. package/src/analyses/ReflectControllerAnalyzer.ts +105 -105
  28. package/src/analyses/ReflectHttpOperationAnalyzer.ts +183 -183
  29. package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +71 -71
  30. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +348 -348
  31. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +127 -127
  32. package/src/analyses/ReflectMetadataAnalyzer.ts +44 -44
  33. package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +172 -172
  34. package/src/analyses/SecurityAnalyzer.ts +25 -25
  35. package/src/analyses/TypedHttpRouteAnalyzer.ts +204 -204
  36. package/src/analyses/TypedWebSocketRouteAnalyzer.ts +33 -33
  37. package/src/decorators/OperationMetadata.ts +15 -15
  38. package/src/executable/internal/CommandParser.ts +15 -15
  39. package/src/executable/internal/NestiaConfigLoader.ts +78 -78
  40. package/src/executable/internal/NestiaSdkCommand.ts +103 -103
  41. package/src/executable/sdk.ts +75 -75
  42. package/src/generates/CloneGenerator.ts +66 -66
  43. package/src/generates/E2eGenerator.ts +32 -32
  44. package/src/generates/SdkGenerator.ts +160 -160
  45. package/src/generates/SwaggerGenerator.ts +284 -284
  46. package/src/generates/internal/E2eFileProgrammer.ts +197 -197
  47. package/src/generates/internal/FilePrinter.ts +53 -53
  48. package/src/generates/internal/ImportDictionary.ts +192 -192
  49. package/src/generates/internal/SdkAliasCollection.ts +261 -261
  50. package/src/generates/internal/SdkDistributionComposer.ts +103 -103
  51. package/src/generates/internal/SdkFileProgrammer.ts +110 -110
  52. package/src/generates/internal/SdkHttpCloneProgrammer.ts +124 -124
  53. package/src/generates/internal/SdkHttpCloneReferencer.ts +77 -77
  54. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +279 -279
  55. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +500 -500
  56. package/src/generates/internal/SdkHttpParameterProgrammer.ts +178 -178
  57. package/src/generates/internal/SdkHttpRouteProgrammer.ts +108 -108
  58. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +310 -310
  59. package/src/generates/internal/SdkImportWizard.ts +62 -62
  60. package/src/generates/internal/SdkRouteDirectory.ts +18 -18
  61. package/src/generates/internal/SdkTypeProgrammer.ts +385 -385
  62. package/src/generates/internal/SdkTypeTagProgrammer.ts +104 -104
  63. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +381 -381
  64. package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +87 -87
  65. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +302 -302
  66. package/src/generates/internal/SwaggerDescriptionComposer.ts +64 -64
  67. package/src/generates/internal/SwaggerOperationComposer.ts +119 -119
  68. package/src/generates/internal/SwaggerOperationParameterComposer.ts +177 -177
  69. package/src/generates/internal/SwaggerOperationResponseComposer.ts +110 -110
  70. package/src/index.ts +4 -4
  71. package/src/module.ts +3 -3
  72. package/src/structures/INestiaProject.ts +13 -13
  73. package/src/structures/INestiaSdkInput.ts +20 -20
  74. package/src/structures/IReflectApplication.ts +8 -8
  75. package/src/structures/IReflectController.ts +15 -15
  76. package/src/structures/IReflectHttpOperation.ts +26 -26
  77. package/src/structures/IReflectHttpOperationException.ts +19 -19
  78. package/src/structures/IReflectHttpOperationParameter.ts +77 -77
  79. package/src/structures/IReflectHttpOperationSuccess.ts +22 -22
  80. package/src/structures/IReflectImport.ts +6 -6
  81. package/src/structures/IReflectOperationError.ts +26 -26
  82. package/src/structures/IReflectType.ts +4 -4
  83. package/src/structures/IReflectWebSocketOperation.ts +17 -17
  84. package/src/structures/IReflectWebSocketOperationParameter.ts +36 -36
  85. package/src/structures/ITypedApplication.ts +11 -11
  86. package/src/structures/ITypedHttpRoute.ts +41 -41
  87. package/src/structures/ITypedHttpRouteException.ts +15 -15
  88. package/src/structures/ITypedHttpRouteParameter.ts +41 -41
  89. package/src/structures/ITypedHttpRouteSuccess.ts +22 -22
  90. package/src/structures/ITypedWebSocketRoute.ts +24 -24
  91. package/src/structures/ITypedWebSocketRouteParameter.ts +3 -3
  92. package/src/structures/MethodType.ts +5 -5
  93. package/src/structures/ParamCategory.ts +1 -1
  94. package/src/structures/TypeEntry.ts +22 -22
  95. package/src/transform.ts +9 -9
  96. package/src/transformers/IOperationMetadata.ts +44 -44
  97. package/src/transformers/ISdkOperationTransformerContext.ts +8 -8
  98. package/src/transformers/SdkOperationProgrammer.ts +238 -238
  99. package/src/transformers/SdkOperationTransformer.ts +252 -252
  100. package/src/transformers/TextPlainValidator.ts +17 -17
  101. package/src/typings/get-function-location.d.ts +7 -7
  102. package/src/utils/ArrayUtil.ts +26 -26
  103. package/src/utils/FileRetriever.ts +22 -22
  104. package/src/utils/MapUtil.ts +14 -14
  105. package/src/utils/MetadataUtil.ts +26 -26
  106. package/src/utils/PathUtil.ts +10 -10
  107. package/src/utils/SourceFinder.ts +63 -63
  108. package/src/utils/StringUtil.ts +17 -17
  109. package/src/utils/StripEnums.ts +5 -5
  110. package/src/utils/VersioningStrategy.ts +28 -28
  111. package/src/validators/HttpHeadersValidator.ts +34 -34
  112. package/src/validators/HttpQueryValidator.ts +34 -34
@@ -1,104 +1,104 @@
1
- import ts from "typescript";
2
- import { LiteralFactory } from "typia/lib/factories/LiteralFactory";
3
- import { IMetadataTypeTag } from "typia/lib/schemas/metadata/IMetadataTypeTag";
4
-
5
- import { ImportDictionary } from "./ImportDictionary";
6
-
7
- export namespace SdkTypeTagProgrammer {
8
- export const write = (
9
- importer: ImportDictionary,
10
- from: "object" | "array" | "boolean" | "number" | "bigint" | "string",
11
- tag: IMetadataTypeTag,
12
- ) => {
13
- const name: string = tag.name.split("<")[0];
14
- if (PREDEFINED[from]?.has(name) === true)
15
- return ts.factory.createTypeReferenceNode(
16
- importer.external({
17
- declaration: true,
18
- file: `typia/lib/tags/${name}`,
19
- type: "element",
20
- name: name,
21
- }),
22
- [
23
- ts.factory.createLiteralTypeNode(
24
- LiteralFactory.write(tag.value) as any,
25
- ),
26
- ],
27
- );
28
- return ts.factory.createTypeReferenceNode(
29
- importer.external({
30
- declaration: true,
31
- file: `typia/lib/tags/TagBase`,
32
- type: "element",
33
- name: "TagBase",
34
- }),
35
- [
36
- ts.factory.createLiteralTypeNode(
37
- LiteralFactory.write({
38
- target: from,
39
- kind: tag.kind,
40
- value: tag.value,
41
- validate: tag.validate,
42
- exclusive: tag.exclusive,
43
- schema: tag.schema,
44
- }) as any,
45
- ),
46
- ],
47
- );
48
- };
49
- }
50
-
51
- const COMMON_KINDS = ["Default", "Example", "Examples", "Sequence"];
52
- const PREDEFINED = {
53
- object: new Set([...COMMON_KINDS]),
54
- array: new Set([...COMMON_KINDS, "MinItems", "MaxItems", "UniqueItems"]),
55
- boolean: new Set([...COMMON_KINDS]),
56
- number: new Set([
57
- ...COMMON_KINDS,
58
- "Minimum",
59
- "Maximum",
60
- "ExclusiveMinimum",
61
- "ExclusiveMaximum",
62
- "MultipleOf",
63
- "Type",
64
- ]),
65
- bigint: new Set([
66
- ...COMMON_KINDS,
67
- "Minimum",
68
- "Maximum",
69
- "ExclusiveMinimum",
70
- "ExclusiveMaximum",
71
- "MultipleOf",
72
- "Type",
73
- ]),
74
- string: new Set([
75
- ...COMMON_KINDS,
76
- "ContentMediaType",
77
- "Format",
78
- "MaxLength",
79
- "MinLength",
80
- "Pattern",
81
- ]),
82
- };
83
-
84
- // export * from "./Constant";
85
- // export * from "./ContentMediaType";
86
- // export * from "./Default";
87
- // export * from "./Example";
88
- // export * from "./Examples";
89
- // export * from "./ExclusiveMaximum";
90
- // export * from "./ExclusiveMinimum";
91
- // export * from "./Format";
92
- // export * from "./JsonSchemaPlugin";
93
- // export * from "./Maximum";
94
- // export * from "./MaxItems";
95
- // export * from "./MaxLength";
96
- // export * from "./Minimum";
97
- // export * from "./MinItems";
98
- // export * from "./MinLength";
99
- // export * from "./MultipleOf";
100
- // export * from "./Pattern";
101
- // export * from "./Sequence";
102
- // export * from "./TagBase";
103
- // export * from "./Type";
104
- // export * from "./UniqueItems";
1
+ import ts from "typescript";
2
+ import { LiteralFactory } from "typia/lib/factories/LiteralFactory";
3
+ import { IMetadataTypeTag } from "typia/lib/schemas/metadata/IMetadataTypeTag";
4
+
5
+ import { ImportDictionary } from "./ImportDictionary";
6
+
7
+ export namespace SdkTypeTagProgrammer {
8
+ export const write = (
9
+ importer: ImportDictionary,
10
+ from: "object" | "array" | "boolean" | "number" | "bigint" | "string",
11
+ tag: IMetadataTypeTag,
12
+ ) => {
13
+ const name: string = tag.name.split("<")[0];
14
+ if (PREDEFINED[from]?.has(name) === true)
15
+ return ts.factory.createTypeReferenceNode(
16
+ importer.external({
17
+ declaration: true,
18
+ file: `typia/lib/tags/${name}`,
19
+ type: "element",
20
+ name: name,
21
+ }),
22
+ [
23
+ ts.factory.createLiteralTypeNode(
24
+ LiteralFactory.write(tag.value) as any,
25
+ ),
26
+ ],
27
+ );
28
+ return ts.factory.createTypeReferenceNode(
29
+ importer.external({
30
+ declaration: true,
31
+ file: `typia/lib/tags/TagBase`,
32
+ type: "element",
33
+ name: "TagBase",
34
+ }),
35
+ [
36
+ ts.factory.createLiteralTypeNode(
37
+ LiteralFactory.write({
38
+ target: from,
39
+ kind: tag.kind,
40
+ value: tag.value,
41
+ validate: tag.validate,
42
+ exclusive: tag.exclusive,
43
+ schema: tag.schema,
44
+ }) as any,
45
+ ),
46
+ ],
47
+ );
48
+ };
49
+ }
50
+
51
+ const COMMON_KINDS = ["Default", "Example", "Examples", "Sequence"];
52
+ const PREDEFINED = {
53
+ object: new Set([...COMMON_KINDS]),
54
+ array: new Set([...COMMON_KINDS, "MinItems", "MaxItems", "UniqueItems"]),
55
+ boolean: new Set([...COMMON_KINDS]),
56
+ number: new Set([
57
+ ...COMMON_KINDS,
58
+ "Minimum",
59
+ "Maximum",
60
+ "ExclusiveMinimum",
61
+ "ExclusiveMaximum",
62
+ "MultipleOf",
63
+ "Type",
64
+ ]),
65
+ bigint: new Set([
66
+ ...COMMON_KINDS,
67
+ "Minimum",
68
+ "Maximum",
69
+ "ExclusiveMinimum",
70
+ "ExclusiveMaximum",
71
+ "MultipleOf",
72
+ "Type",
73
+ ]),
74
+ string: new Set([
75
+ ...COMMON_KINDS,
76
+ "ContentMediaType",
77
+ "Format",
78
+ "MaxLength",
79
+ "MinLength",
80
+ "Pattern",
81
+ ]),
82
+ };
83
+
84
+ // export * from "./Constant";
85
+ // export * from "./ContentMediaType";
86
+ // export * from "./Default";
87
+ // export * from "./Example";
88
+ // export * from "./Examples";
89
+ // export * from "./ExclusiveMaximum";
90
+ // export * from "./ExclusiveMinimum";
91
+ // export * from "./Format";
92
+ // export * from "./JsonSchemaPlugin";
93
+ // export * from "./Maximum";
94
+ // export * from "./MaxItems";
95
+ // export * from "./MaxLength";
96
+ // export * from "./Minimum";
97
+ // export * from "./MinItems";
98
+ // export * from "./MinLength";
99
+ // export * from "./MultipleOf";
100
+ // export * from "./Pattern";
101
+ // export * from "./Sequence";
102
+ // export * from "./TagBase";
103
+ // export * from "./Type";
104
+ // export * from "./UniqueItems";