@nestia/sdk 11.0.0-dev.20260316 → 11.0.1

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 (65) 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 +5 -5
  15. package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
  16. package/package.json +8 -8
  17. package/src/INestiaConfig.ts +267 -267
  18. package/src/NestiaSdkApplication.ts +307 -307
  19. package/src/NestiaSwaggerComposer.ts +143 -143
  20. package/src/analyses/AccessorAnalyzer.ts +67 -67
  21. package/src/analyses/DtoAnalyzer.ts +260 -260
  22. package/src/analyses/ImportAnalyzer.ts +126 -126
  23. package/src/analyses/ReflectHttpOperationAnalyzer.ts +183 -183
  24. package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +72 -72
  25. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +350 -350
  26. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +126 -126
  27. package/src/analyses/TypedHttpRouteAnalyzer.ts +208 -208
  28. package/src/executable/internal/NestiaConfigLoader.ts +85 -85
  29. package/src/executable/internal/NestiaSdkCommand.ts +107 -107
  30. package/src/generates/SwaggerGenerator.ts +291 -291
  31. package/src/generates/internal/E2eFileProgrammer.ts +196 -196
  32. package/src/generates/internal/FilePrinter.ts +64 -64
  33. package/src/generates/internal/ImportDictionary.ts +192 -192
  34. package/src/generates/internal/SdkAliasCollection.ts +260 -260
  35. package/src/generates/internal/SdkFileProgrammer.ts +110 -110
  36. package/src/generates/internal/SdkHttpCloneProgrammer.ts +126 -126
  37. package/src/generates/internal/SdkHttpCloneReferencer.ts +77 -77
  38. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +278 -278
  39. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +502 -502
  40. package/src/generates/internal/SdkHttpRouteProgrammer.ts +109 -109
  41. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +312 -312
  42. package/src/generates/internal/SdkImportWizard.ts +62 -62
  43. package/src/generates/internal/SdkTypeProgrammer.ts +388 -388
  44. package/src/generates/internal/SdkTypeTagProgrammer.ts +114 -114
  45. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +379 -379
  46. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +302 -302
  47. package/src/generates/internal/SwaggerOperationComposer.ts +119 -119
  48. package/src/generates/internal/SwaggerOperationParameterComposer.ts +161 -161
  49. package/src/generates/internal/SwaggerOperationResponseComposer.ts +110 -110
  50. package/src/module.ts +4 -4
  51. package/src/structures/IReflectHttpOperationException.ts +18 -18
  52. package/src/structures/IReflectHttpOperationParameter.ts +79 -79
  53. package/src/structures/IReflectHttpOperationSuccess.ts +21 -21
  54. package/src/structures/ITypedApplication.ts +11 -11
  55. package/src/structures/ITypedHttpRouteException.ts +15 -15
  56. package/src/structures/ITypedHttpRouteParameter.ts +41 -41
  57. package/src/structures/ITypedHttpRouteSuccess.ts +22 -22
  58. package/src/transformers/IOperationMetadata.ts +46 -46
  59. package/src/transformers/ISdkOperationTransformerContext.ts +8 -8
  60. package/src/transformers/SdkOperationProgrammer.ts +240 -240
  61. package/src/transformers/SdkOperationTransformer.ts +248 -248
  62. package/src/transformers/TextPlainValidator.ts +17 -17
  63. package/src/utils/MetadataUtil.ts +26 -26
  64. package/src/validators/HttpHeadersValidator.ts +40 -40
  65. package/src/validators/HttpQueryValidator.ts +40 -40
@@ -1,114 +1,114 @@
1
- import { LiteralFactory } from "@typia/core";
2
- import { IMetadataTypeTag } from "@typia/interface";
3
- import ts from "typescript";
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
- ts.factory.createQualifiedName(
17
- ts.factory.createIdentifier(
18
- importer.external({
19
- declaration: true,
20
- file: `typia`,
21
- type: "element",
22
- name: "tags",
23
- }),
24
- ),
25
- ts.factory.createIdentifier(name),
26
- ),
27
- [
28
- ts.factory.createLiteralTypeNode(
29
- LiteralFactory.write(tag.value) as any,
30
- ),
31
- ],
32
- );
33
- return ts.factory.createTypeReferenceNode(
34
- ts.factory.createQualifiedName(
35
- ts.factory.createIdentifier(
36
- importer.external({
37
- declaration: true,
38
- file: `typia`,
39
- type: "element",
40
- name: "tags",
41
- }),
42
- ),
43
- ts.factory.createIdentifier("TagBase"),
44
- ),
45
- [
46
- ts.factory.createLiteralTypeNode(
47
- LiteralFactory.write({
48
- target: from,
49
- kind: tag.kind,
50
- value: tag.value,
51
- validate: tag.validate,
52
- exclusive: tag.exclusive,
53
- schema: tag.schema,
54
- }) as any,
55
- ),
56
- ],
57
- );
58
- };
59
- }
60
-
61
- const COMMON_KINDS = ["Default", "Example", "Examples", "Sequence"];
62
- const PREDEFINED = {
63
- object: new Set([...COMMON_KINDS]),
64
- array: new Set([...COMMON_KINDS, "MinItems", "MaxItems", "UniqueItems"]),
65
- boolean: new Set([...COMMON_KINDS]),
66
- number: new Set([
67
- ...COMMON_KINDS,
68
- "Minimum",
69
- "Maximum",
70
- "ExclusiveMinimum",
71
- "ExclusiveMaximum",
72
- "MultipleOf",
73
- "Type",
74
- ]),
75
- bigint: new Set([
76
- ...COMMON_KINDS,
77
- "Minimum",
78
- "Maximum",
79
- "ExclusiveMinimum",
80
- "ExclusiveMaximum",
81
- "MultipleOf",
82
- "Type",
83
- ]),
84
- string: new Set([
85
- ...COMMON_KINDS,
86
- "ContentMediaType",
87
- "Format",
88
- "MaxLength",
89
- "MinLength",
90
- "Pattern",
91
- ]),
92
- };
93
-
94
- // export * from "./Constant";
95
- // export * from "./ContentMediaType";
96
- // export * from "./Default";
97
- // export * from "./Example";
98
- // export * from "./Examples";
99
- // export * from "./ExclusiveMaximum";
100
- // export * from "./ExclusiveMinimum";
101
- // export * from "./Format";
102
- // export * from "./JsonSchemaPlugin";
103
- // export * from "./Maximum";
104
- // export * from "./MaxItems";
105
- // export * from "./MaxLength";
106
- // export * from "./Minimum";
107
- // export * from "./MinItems";
108
- // export * from "./MinLength";
109
- // export * from "./MultipleOf";
110
- // export * from "./Pattern";
111
- // export * from "./Sequence";
112
- // export * from "./TagBase";
113
- // export * from "./Type";
114
- // export * from "./UniqueItems";
1
+ import { LiteralFactory } from "@typia/core";
2
+ import { IMetadataTypeTag } from "@typia/interface";
3
+ import ts from "typescript";
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
+ ts.factory.createQualifiedName(
17
+ ts.factory.createIdentifier(
18
+ importer.external({
19
+ declaration: true,
20
+ file: `typia`,
21
+ type: "element",
22
+ name: "tags",
23
+ }),
24
+ ),
25
+ ts.factory.createIdentifier(name),
26
+ ),
27
+ [
28
+ ts.factory.createLiteralTypeNode(
29
+ LiteralFactory.write(tag.value) as any,
30
+ ),
31
+ ],
32
+ );
33
+ return ts.factory.createTypeReferenceNode(
34
+ ts.factory.createQualifiedName(
35
+ ts.factory.createIdentifier(
36
+ importer.external({
37
+ declaration: true,
38
+ file: `typia`,
39
+ type: "element",
40
+ name: "tags",
41
+ }),
42
+ ),
43
+ ts.factory.createIdentifier("TagBase"),
44
+ ),
45
+ [
46
+ ts.factory.createLiteralTypeNode(
47
+ LiteralFactory.write({
48
+ target: from,
49
+ kind: tag.kind,
50
+ value: tag.value,
51
+ validate: tag.validate,
52
+ exclusive: tag.exclusive,
53
+ schema: tag.schema,
54
+ }) as any,
55
+ ),
56
+ ],
57
+ );
58
+ };
59
+ }
60
+
61
+ const COMMON_KINDS = ["Default", "Example", "Examples", "Sequence"];
62
+ const PREDEFINED = {
63
+ object: new Set([...COMMON_KINDS]),
64
+ array: new Set([...COMMON_KINDS, "MinItems", "MaxItems", "UniqueItems"]),
65
+ boolean: new Set([...COMMON_KINDS]),
66
+ number: new Set([
67
+ ...COMMON_KINDS,
68
+ "Minimum",
69
+ "Maximum",
70
+ "ExclusiveMinimum",
71
+ "ExclusiveMaximum",
72
+ "MultipleOf",
73
+ "Type",
74
+ ]),
75
+ bigint: new Set([
76
+ ...COMMON_KINDS,
77
+ "Minimum",
78
+ "Maximum",
79
+ "ExclusiveMinimum",
80
+ "ExclusiveMaximum",
81
+ "MultipleOf",
82
+ "Type",
83
+ ]),
84
+ string: new Set([
85
+ ...COMMON_KINDS,
86
+ "ContentMediaType",
87
+ "Format",
88
+ "MaxLength",
89
+ "MinLength",
90
+ "Pattern",
91
+ ]),
92
+ };
93
+
94
+ // export * from "./Constant";
95
+ // export * from "./ContentMediaType";
96
+ // export * from "./Default";
97
+ // export * from "./Example";
98
+ // export * from "./Examples";
99
+ // export * from "./ExclusiveMaximum";
100
+ // export * from "./ExclusiveMinimum";
101
+ // export * from "./Format";
102
+ // export * from "./JsonSchemaPlugin";
103
+ // export * from "./Maximum";
104
+ // export * from "./MaxItems";
105
+ // export * from "./MaxLength";
106
+ // export * from "./Minimum";
107
+ // export * from "./MinItems";
108
+ // export * from "./MinLength";
109
+ // export * from "./MultipleOf";
110
+ // export * from "./Pattern";
111
+ // export * from "./Sequence";
112
+ // export * from "./TagBase";
113
+ // export * from "./Type";
114
+ // export * from "./UniqueItems";