@nestia/sdk 7.1.1-dev.20250714 → 7.2.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 (162) 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/analyses/DtoAnalyzer.d.ts +21 -0
  15. package/lib/analyses/DtoAnalyzer.js +208 -0
  16. package/lib/analyses/DtoAnalyzer.js.map +1 -0
  17. package/lib/analyses/ImportAnalyzer.d.ts +3 -8
  18. package/lib/analyses/ImportAnalyzer.js +84 -102
  19. package/lib/analyses/ImportAnalyzer.js.map +1 -1
  20. package/lib/analyses/ReflectHttpOperationAnalyzer.js +1 -1
  21. package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
  22. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js +1 -1
  23. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js.map +1 -1
  24. package/lib/executable/internal/NestiaConfigLoader.js +4 -4
  25. package/lib/executable/sdk.js +12 -12
  26. package/lib/generates/internal/E2eFileProgrammer.js +3 -9
  27. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  28. package/lib/generates/internal/ImportDictionary.d.ts +9 -11
  29. package/lib/generates/internal/ImportDictionary.js +55 -48
  30. package/lib/generates/internal/ImportDictionary.js.map +1 -1
  31. package/lib/generates/internal/SdkAliasCollection.js +24 -18
  32. package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
  33. package/lib/generates/internal/SdkFileProgrammer.js +1 -7
  34. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  35. package/lib/generates/internal/SdkHttpCloneReferencer.js +3 -1
  36. package/lib/generates/internal/SdkHttpCloneReferencer.js.map +1 -1
  37. package/lib/generates/internal/SdkHttpSimulationProgrammer.js +4 -3
  38. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
  39. package/lib/generates/internal/SdkImportWizard.js +28 -21
  40. package/lib/generates/internal/SdkImportWizard.js.map +1 -1
  41. package/lib/generates/internal/SdkTypeProgrammer.js +3 -2
  42. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
  43. package/lib/generates/internal/SdkTypeTagProgrammer.js +10 -8
  44. package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
  45. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +8 -6
  46. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
  47. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +12 -9
  48. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
  49. package/lib/structures/IReflectHttpOperation.d.ts +2 -2
  50. package/lib/structures/IReflectImport.d.ts +6 -0
  51. package/lib/structures/{IReflectTypeImport.js → IReflectImport.js} +1 -1
  52. package/lib/structures/IReflectImport.js.map +1 -0
  53. package/lib/structures/IReflectWebSocketOperation.d.ts +2 -2
  54. package/lib/structures/IReflectWebSocketOperationParameter.d.ts +2 -2
  55. package/lib/structures/ITypedHttpRoute.d.ts +2 -2
  56. package/lib/structures/ITypedWebSocketRoute.d.ts +2 -2
  57. package/lib/transformers/IOperationMetadata.d.ts +3 -3
  58. package/lib/transformers/SdkOperationProgrammer.d.ts +3 -1
  59. package/lib/transformers/SdkOperationProgrammer.js +57 -26
  60. package/lib/transformers/SdkOperationProgrammer.js.map +1 -1
  61. package/lib/transformers/SdkOperationTransformer.js +3 -3
  62. package/lib/transformers/SdkOperationTransformer.js.map +1 -1
  63. package/package.json +4 -4
  64. package/src/INestiaConfig.ts +269 -269
  65. package/src/NestiaSdkApplication.ts +307 -307
  66. package/src/NestiaSwaggerComposer.ts +138 -138
  67. package/src/analyses/AccessorAnalyzer.ts +67 -67
  68. package/src/analyses/ConfigAnalyzer.ts +155 -155
  69. package/src/analyses/DtoAnalyzer.ts +250 -0
  70. package/src/analyses/ExceptionAnalyzer.ts +154 -154
  71. package/src/analyses/GenericAnalyzer.ts +49 -49
  72. package/src/analyses/ImportAnalyzer.ts +126 -171
  73. package/src/analyses/PathAnalyzer.ts +69 -69
  74. package/src/analyses/ReflectControllerAnalyzer.ts +105 -105
  75. package/src/analyses/ReflectHttpOperationAnalyzer.ts +183 -183
  76. package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +71 -71
  77. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +348 -348
  78. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +127 -127
  79. package/src/analyses/ReflectMetadataAnalyzer.ts +44 -44
  80. package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +172 -172
  81. package/src/analyses/SecurityAnalyzer.ts +25 -25
  82. package/src/analyses/TypedHttpRouteAnalyzer.ts +204 -204
  83. package/src/analyses/TypedWebSocketRouteAnalyzer.ts +33 -33
  84. package/src/decorators/OperationMetadata.ts +15 -15
  85. package/src/executable/internal/CommandParser.ts +15 -15
  86. package/src/executable/internal/NestiaConfigLoader.ts +78 -78
  87. package/src/executable/internal/NestiaSdkCommand.ts +103 -103
  88. package/src/executable/sdk.ts +75 -75
  89. package/src/generates/CloneGenerator.ts +66 -66
  90. package/src/generates/E2eGenerator.ts +32 -32
  91. package/src/generates/SdkGenerator.ts +160 -160
  92. package/src/generates/SwaggerGenerator.ts +284 -284
  93. package/src/generates/internal/E2eFileProgrammer.ts +197 -205
  94. package/src/generates/internal/FilePrinter.ts +53 -53
  95. package/src/generates/internal/ImportDictionary.ts +190 -163
  96. package/src/generates/internal/SdkAliasCollection.ts +261 -255
  97. package/src/generates/internal/SdkDistributionComposer.ts +103 -103
  98. package/src/generates/internal/SdkFileProgrammer.ts +110 -116
  99. package/src/generates/internal/SdkHttpCloneProgrammer.ts +124 -124
  100. package/src/generates/internal/SdkHttpCloneReferencer.ts +77 -75
  101. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +279 -279
  102. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +500 -500
  103. package/src/generates/internal/SdkHttpParameterProgrammer.ts +178 -178
  104. package/src/generates/internal/SdkHttpRouteProgrammer.ts +107 -107
  105. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +310 -309
  106. package/src/generates/internal/SdkImportWizard.ts +62 -55
  107. package/src/generates/internal/SdkRouteDirectory.ts +18 -18
  108. package/src/generates/internal/SdkTypeProgrammer.ts +385 -384
  109. package/src/generates/internal/SdkTypeTagProgrammer.ts +104 -102
  110. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +368 -366
  111. package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +87 -87
  112. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +282 -279
  113. package/src/generates/internal/SwaggerDescriptionComposer.ts +64 -64
  114. package/src/generates/internal/SwaggerOperationComposer.ts +119 -119
  115. package/src/generates/internal/SwaggerOperationParameterComposer.ts +177 -177
  116. package/src/generates/internal/SwaggerOperationResponseComposer.ts +110 -110
  117. package/src/index.ts +4 -4
  118. package/src/module.ts +3 -3
  119. package/src/structures/INestiaProject.ts +13 -13
  120. package/src/structures/INestiaSdkInput.ts +20 -20
  121. package/src/structures/IReflectApplication.ts +8 -8
  122. package/src/structures/IReflectController.ts +15 -15
  123. package/src/structures/IReflectHttpOperation.ts +26 -26
  124. package/src/structures/IReflectHttpOperationException.ts +19 -19
  125. package/src/structures/IReflectHttpOperationParameter.ts +77 -81
  126. package/src/structures/IReflectHttpOperationSuccess.ts +22 -22
  127. package/src/structures/IReflectImport.ts +6 -0
  128. package/src/structures/IReflectOperationError.ts +26 -26
  129. package/src/structures/IReflectType.ts +4 -4
  130. package/src/structures/IReflectWebSocketOperation.ts +17 -17
  131. package/src/structures/IReflectWebSocketOperationParameter.ts +36 -38
  132. package/src/structures/ITypedApplication.ts +11 -11
  133. package/src/structures/ITypedHttpRoute.ts +41 -41
  134. package/src/structures/ITypedHttpRouteException.ts +15 -15
  135. package/src/structures/ITypedHttpRouteParameter.ts +41 -41
  136. package/src/structures/ITypedHttpRouteSuccess.ts +22 -22
  137. package/src/structures/ITypedWebSocketRoute.ts +24 -24
  138. package/src/structures/ITypedWebSocketRouteParameter.ts +3 -3
  139. package/src/structures/MethodType.ts +5 -5
  140. package/src/structures/ParamCategory.ts +1 -1
  141. package/src/structures/TypeEntry.ts +22 -22
  142. package/src/transform.ts +9 -9
  143. package/src/transformers/IOperationMetadata.ts +44 -44
  144. package/src/transformers/ISdkOperationTransformerContext.ts +8 -8
  145. package/src/transformers/SdkOperationProgrammer.ts +238 -209
  146. package/src/transformers/SdkOperationTransformer.ts +252 -253
  147. package/src/transformers/TextPlainValidator.ts +17 -17
  148. package/src/typings/get-function-location.d.ts +7 -7
  149. package/src/utils/ArrayUtil.ts +26 -26
  150. package/src/utils/FileRetriever.ts +22 -22
  151. package/src/utils/MapUtil.ts +14 -14
  152. package/src/utils/MetadataUtil.ts +26 -26
  153. package/src/utils/PathUtil.ts +10 -10
  154. package/src/utils/SourceFinder.ts +66 -66
  155. package/src/utils/StringUtil.ts +17 -17
  156. package/src/utils/StripEnums.ts +5 -5
  157. package/src/utils/VersioningStrategy.ts +28 -28
  158. package/src/validators/HttpHeadersValidator.ts +34 -34
  159. package/src/validators/HttpQueryValidator.ts +34 -34
  160. package/lib/structures/IReflectTypeImport.d.ts +0 -4
  161. package/lib/structures/IReflectTypeImport.js.map +0 -1
  162. package/src/structures/IReflectTypeImport.ts +0 -4
@@ -1,102 +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 instance: string = tag.name.split("<")[0];
14
- if (PREDEFINED[from]?.has(instance) === true)
15
- return ts.factory.createTypeReferenceNode(
16
- importer.external({
17
- type: true,
18
- library: `typia/lib/tags/${instance}`,
19
- instance,
20
- }),
21
- [
22
- ts.factory.createLiteralTypeNode(
23
- LiteralFactory.write(tag.value) as any,
24
- ),
25
- ],
26
- );
27
- return ts.factory.createTypeReferenceNode(
28
- importer.external({
29
- type: true,
30
- library: `typia/lib/tags/TagBase`,
31
- instance: "TagBase",
32
- }),
33
- [
34
- ts.factory.createLiteralTypeNode(
35
- LiteralFactory.write({
36
- target: from,
37
- kind: tag.kind,
38
- value: tag.value,
39
- validate: tag.validate,
40
- exclusive: tag.exclusive,
41
- schema: tag.schema,
42
- }) as any,
43
- ),
44
- ],
45
- );
46
- };
47
- }
48
-
49
- const COMMON_KINDS = ["Default", "Example", "Examples", "Sequence"];
50
- const PREDEFINED = {
51
- object: new Set([...COMMON_KINDS]),
52
- array: new Set([...COMMON_KINDS, "MinItems", "MaxItems", "UniqueItems"]),
53
- boolean: new Set([...COMMON_KINDS]),
54
- number: new Set([
55
- ...COMMON_KINDS,
56
- "Minimum",
57
- "Maximum",
58
- "ExclusiveMinimum",
59
- "ExclusiveMaximum",
60
- "MultipleOf",
61
- "Type",
62
- ]),
63
- bigint: new Set([
64
- ...COMMON_KINDS,
65
- "Minimum",
66
- "Maximum",
67
- "ExclusiveMinimum",
68
- "ExclusiveMaximum",
69
- "MultipleOf",
70
- "Type",
71
- ]),
72
- string: new Set([
73
- ...COMMON_KINDS,
74
- "ContentMediaType",
75
- "Format",
76
- "MaxLength",
77
- "MinLength",
78
- "Pattern",
79
- ]),
80
- };
81
-
82
- // export * from "./Constant";
83
- // export * from "./ContentMediaType";
84
- // export * from "./Default";
85
- // export * from "./Example";
86
- // export * from "./Examples";
87
- // export * from "./ExclusiveMaximum";
88
- // export * from "./ExclusiveMinimum";
89
- // export * from "./Format";
90
- // export * from "./JsonSchemaPlugin";
91
- // export * from "./Maximum";
92
- // export * from "./MaxItems";
93
- // export * from "./MaxLength";
94
- // export * from "./Minimum";
95
- // export * from "./MinItems";
96
- // export * from "./MinLength";
97
- // export * from "./MultipleOf";
98
- // export * from "./Pattern";
99
- // export * from "./Sequence";
100
- // export * from "./TagBase";
101
- // export * from "./Type";
102
- // 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";