@nestia/sdk 7.0.0-dev.20250607 → 7.0.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 (111) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +92 -92
  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 +5 -5
  17. package/src/INestiaConfig.ts +269 -269
  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/ExceptionAnalyzer.ts +154 -154
  23. package/src/analyses/GenericAnalyzer.ts +49 -49
  24. package/src/analyses/ImportAnalyzer.ts +171 -171
  25. package/src/analyses/PathAnalyzer.ts +69 -69
  26. package/src/analyses/ReflectControllerAnalyzer.ts +105 -105
  27. package/src/analyses/ReflectHttpOperationAnalyzer.ts +183 -183
  28. package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +71 -71
  29. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +348 -348
  30. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +127 -127
  31. package/src/analyses/ReflectMetadataAnalyzer.ts +44 -44
  32. package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +172 -172
  33. package/src/analyses/SecurityAnalyzer.ts +25 -25
  34. package/src/analyses/TypedHttpRouteAnalyzer.ts +204 -204
  35. package/src/analyses/TypedWebSocketRouteAnalyzer.ts +33 -33
  36. package/src/decorators/OperationMetadata.ts +15 -15
  37. package/src/executable/internal/CommandParser.ts +15 -15
  38. package/src/executable/internal/NestiaConfigLoader.ts +78 -78
  39. package/src/executable/internal/NestiaSdkCommand.ts +103 -103
  40. package/src/executable/sdk.ts +75 -75
  41. package/src/generates/CloneGenerator.ts +66 -66
  42. package/src/generates/E2eGenerator.ts +32 -32
  43. package/src/generates/SdkGenerator.ts +160 -160
  44. package/src/generates/SwaggerGenerator.ts +284 -284
  45. package/src/generates/internal/E2eFileProgrammer.ts +205 -205
  46. package/src/generates/internal/FilePrinter.ts +53 -53
  47. package/src/generates/internal/ImportDictionary.ts +163 -163
  48. package/src/generates/internal/SdkAliasCollection.ts +255 -255
  49. package/src/generates/internal/SdkDistributionComposer.ts +103 -103
  50. package/src/generates/internal/SdkFileProgrammer.ts +116 -116
  51. package/src/generates/internal/SdkHttpCloneProgrammer.ts +124 -124
  52. package/src/generates/internal/SdkHttpCloneReferencer.ts +75 -75
  53. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +276 -276
  54. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +500 -500
  55. package/src/generates/internal/SdkHttpParameterProgrammer.ts +178 -178
  56. package/src/generates/internal/SdkHttpRouteProgrammer.ts +107 -107
  57. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +340 -340
  58. package/src/generates/internal/SdkImportWizard.ts +55 -55
  59. package/src/generates/internal/SdkRouteDirectory.ts +18 -18
  60. package/src/generates/internal/SdkTypeProgrammer.ts +384 -384
  61. package/src/generates/internal/SdkTypeTagProgrammer.ts +102 -102
  62. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +366 -366
  63. package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +87 -87
  64. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +279 -279
  65. package/src/generates/internal/SwaggerDescriptionComposer.ts +64 -64
  66. package/src/generates/internal/SwaggerOperationComposer.ts +119 -119
  67. package/src/generates/internal/SwaggerOperationParameterComposer.ts +177 -177
  68. package/src/generates/internal/SwaggerOperationResponseComposer.ts +110 -110
  69. package/src/index.ts +4 -4
  70. package/src/module.ts +3 -3
  71. package/src/structures/INestiaProject.ts +13 -13
  72. package/src/structures/INestiaSdkInput.ts +20 -20
  73. package/src/structures/IReflectApplication.ts +8 -8
  74. package/src/structures/IReflectController.ts +15 -15
  75. package/src/structures/IReflectHttpOperation.ts +26 -26
  76. package/src/structures/IReflectHttpOperationException.ts +19 -19
  77. package/src/structures/IReflectHttpOperationParameter.ts +81 -81
  78. package/src/structures/IReflectHttpOperationSuccess.ts +22 -22
  79. package/src/structures/IReflectOperationError.ts +26 -26
  80. package/src/structures/IReflectType.ts +4 -4
  81. package/src/structures/IReflectTypeImport.ts +4 -4
  82. package/src/structures/IReflectWebSocketOperation.ts +17 -17
  83. package/src/structures/IReflectWebSocketOperationParameter.ts +38 -38
  84. package/src/structures/ITypedApplication.ts +11 -11
  85. package/src/structures/ITypedHttpRoute.ts +41 -41
  86. package/src/structures/ITypedHttpRouteException.ts +15 -15
  87. package/src/structures/ITypedHttpRouteParameter.ts +41 -41
  88. package/src/structures/ITypedHttpRouteSuccess.ts +22 -22
  89. package/src/structures/ITypedWebSocketRoute.ts +24 -24
  90. package/src/structures/ITypedWebSocketRouteParameter.ts +3 -3
  91. package/src/structures/MethodType.ts +5 -5
  92. package/src/structures/ParamCategory.ts +1 -1
  93. package/src/structures/TypeEntry.ts +22 -22
  94. package/src/transform.ts +9 -9
  95. package/src/transformers/IOperationMetadata.ts +44 -44
  96. package/src/transformers/ISdkOperationTransformerContext.ts +8 -8
  97. package/src/transformers/SdkOperationProgrammer.ts +209 -209
  98. package/src/transformers/SdkOperationTransformer.ts +253 -253
  99. package/src/transformers/TextPlainValidator.ts +17 -17
  100. package/src/typings/get-function-location.d.ts +7 -7
  101. package/src/utils/ArrayUtil.ts +26 -26
  102. package/src/utils/FileRetriever.ts +22 -22
  103. package/src/utils/MapUtil.ts +14 -14
  104. package/src/utils/MetadataUtil.ts +26 -26
  105. package/src/utils/PathUtil.ts +10 -10
  106. package/src/utils/SourceFinder.ts +66 -66
  107. package/src/utils/StringUtil.ts +17 -17
  108. package/src/utils/StripEnums.ts +5 -5
  109. package/src/utils/VersioningStrategy.ts +28 -28
  110. package/src/validators/HttpHeadersValidator.ts +34 -34
  111. package/src/validators/HttpQueryValidator.ts +34 -34
@@ -1,102 +1,102 @@
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 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";