@nestia/sdk 0.1.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 (138) hide show
  1. package/assets/bundle/HttpError.ts +1 -0
  2. package/assets/bundle/IConnection.ts +1 -0
  3. package/assets/bundle/Primitive.ts +1 -0
  4. package/assets/config/nestia.config.ts +70 -0
  5. package/lib/INestiaConfig.d.ts +110 -0
  6. package/lib/INestiaConfig.js +3 -0
  7. package/lib/INestiaConfig.js.map +1 -0
  8. package/lib/NestiaSdkApplication.d.ts +11 -0
  9. package/lib/NestiaSdkApplication.js +156 -0
  10. package/lib/NestiaSdkApplication.js.map +1 -0
  11. package/lib/analyses/ControllerAnalyzer.d.ts +6 -0
  12. package/lib/analyses/ControllerAnalyzer.js +106 -0
  13. package/lib/analyses/ControllerAnalyzer.js.map +1 -0
  14. package/lib/analyses/GenericAnalyzer.d.ts +5 -0
  15. package/lib/analyses/GenericAnalyzer.js +41 -0
  16. package/lib/analyses/GenericAnalyzer.js.map +1 -0
  17. package/lib/analyses/ImportAnalyzer.d.ts +13 -0
  18. package/lib/analyses/ImportAnalyzer.js +86 -0
  19. package/lib/analyses/ImportAnalyzer.js.map +1 -0
  20. package/lib/analyses/PathAnalyzer.d.ts +5 -0
  21. package/lib/analyses/PathAnalyzer.js +51 -0
  22. package/lib/analyses/PathAnalyzer.js.map +1 -0
  23. package/lib/analyses/ReflectAnalyzer.d.ts +4 -0
  24. package/lib/analyses/ReflectAnalyzer.js +231 -0
  25. package/lib/analyses/ReflectAnalyzer.js.map +1 -0
  26. package/lib/analyses/SourceFinder.d.ts +4 -0
  27. package/lib/analyses/SourceFinder.js +71 -0
  28. package/lib/analyses/SourceFinder.js.map +1 -0
  29. package/lib/executable/internal/CommandParser.d.ts +3 -0
  30. package/lib/executable/internal/CommandParser.js +21 -0
  31. package/lib/executable/internal/CommandParser.js.map +1 -0
  32. package/lib/executable/internal/NestiaConfigCompilerOptions.d.ts +11 -0
  33. package/lib/executable/internal/NestiaConfigCompilerOptions.js +18 -0
  34. package/lib/executable/internal/NestiaConfigCompilerOptions.js.map +1 -0
  35. package/lib/executable/internal/NestiaSdkCommand.d.ts +4 -0
  36. package/lib/executable/internal/NestiaSdkCommand.js +128 -0
  37. package/lib/executable/internal/NestiaSdkCommand.js.map +1 -0
  38. package/lib/executable/internal/NestiaSdkConfig.d.ts +4 -0
  39. package/lib/executable/internal/NestiaSdkConfig.js +539 -0
  40. package/lib/executable/internal/NestiaSdkConfig.js.map +1 -0
  41. package/lib/executable/internal/nestia.config.getter.d.ts +1 -0
  42. package/lib/executable/internal/nestia.config.getter.js +24 -0
  43. package/lib/executable/internal/nestia.config.getter.js.map +1 -0
  44. package/lib/executable/sdk.d.ts +2 -0
  45. package/lib/executable/sdk.js +86 -0
  46. package/lib/executable/sdk.js.map +1 -0
  47. package/lib/generates/FileGenerator.d.ts +5 -0
  48. package/lib/generates/FileGenerator.js +138 -0
  49. package/lib/generates/FileGenerator.js.map +1 -0
  50. package/lib/generates/FunctionGenerator.d.ts +5 -0
  51. package/lib/generates/FunctionGenerator.js +204 -0
  52. package/lib/generates/FunctionGenerator.js.map +1 -0
  53. package/lib/generates/SdkGenerator.d.ts +7 -0
  54. package/lib/generates/SdkGenerator.js +45 -0
  55. package/lib/generates/SdkGenerator.js.map +1 -0
  56. package/lib/generates/SwaggerGenerator.d.ts +6 -0
  57. package/lib/generates/SwaggerGenerator.js +244 -0
  58. package/lib/generates/SwaggerGenerator.js.map +1 -0
  59. package/lib/index.d.ts +2 -0
  60. package/lib/index.js +28 -0
  61. package/lib/index.js.map +1 -0
  62. package/lib/module.d.ts +2 -0
  63. package/lib/module.js +19 -0
  64. package/lib/module.js.map +1 -0
  65. package/lib/structures/IController.d.ts +23 -0
  66. package/lib/structures/IController.js +3 -0
  67. package/lib/structures/IController.js.map +1 -0
  68. package/lib/structures/IRoute.d.ts +24 -0
  69. package/lib/structures/IRoute.js +3 -0
  70. package/lib/structures/IRoute.js.map +1 -0
  71. package/lib/structures/ISwagger.d.ts +48 -0
  72. package/lib/structures/ISwagger.js +3 -0
  73. package/lib/structures/ISwagger.js.map +1 -0
  74. package/lib/structures/ITypeTuple.d.ts +5 -0
  75. package/lib/structures/ITypeTuple.js +3 -0
  76. package/lib/structures/ITypeTuple.js.map +1 -0
  77. package/lib/structures/MethodType.d.ts +4 -0
  78. package/lib/structures/MethodType.js +14 -0
  79. package/lib/structures/MethodType.js.map +1 -0
  80. package/lib/structures/ParamCategory.d.ts +1 -0
  81. package/lib/structures/ParamCategory.js +3 -0
  82. package/lib/structures/ParamCategory.js.map +1 -0
  83. package/lib/structures/TypeEntry.d.ts +9 -0
  84. package/lib/structures/TypeEntry.js +21 -0
  85. package/lib/structures/TypeEntry.js.map +1 -0
  86. package/lib/test/TestBuilder.d.ts +4 -0
  87. package/lib/test/TestBuilder.js +64 -0
  88. package/lib/test/TestBuilder.js.map +1 -0
  89. package/lib/test/index.d.ts +1 -0
  90. package/lib/test/index.js +61 -0
  91. package/lib/test/index.js.map +1 -0
  92. package/lib/test/test.builder.executor.d.ts +1 -0
  93. package/lib/test/test.builder.executor.js +24 -0
  94. package/lib/test/test.builder.executor.js.map +1 -0
  95. package/lib/utils/ArrayUtil.d.ts +5 -0
  96. package/lib/utils/ArrayUtil.js +39 -0
  97. package/lib/utils/ArrayUtil.js.map +1 -0
  98. package/lib/utils/ImportDictionary.d.ts +6 -0
  99. package/lib/utils/ImportDictionary.js +50 -0
  100. package/lib/utils/ImportDictionary.js.map +1 -0
  101. package/lib/utils/MapUtil.d.ts +3 -0
  102. package/lib/utils/MapUtil.js +16 -0
  103. package/lib/utils/MapUtil.js.map +1 -0
  104. package/lib/utils/StripEnums.d.ts +3 -0
  105. package/lib/utils/StripEnums.js +3 -0
  106. package/lib/utils/StripEnums.js.map +1 -0
  107. package/package.json +74 -0
  108. package/src/INestiaConfig.ts +120 -0
  109. package/src/NestiaSdkApplication.ts +183 -0
  110. package/src/analyses/ControllerAnalyzer.ts +203 -0
  111. package/src/analyses/GenericAnalyzer.ts +53 -0
  112. package/src/analyses/ImportAnalyzer.ts +143 -0
  113. package/src/analyses/PathAnalyzer.ts +58 -0
  114. package/src/analyses/ReflectAnalyzer.ts +279 -0
  115. package/src/analyses/SourceFinder.ts +59 -0
  116. package/src/executable/internal/CommandParser.ts +15 -0
  117. package/src/executable/internal/NestiaConfigCompilerOptions.ts +18 -0
  118. package/src/executable/internal/NestiaSdkCommand.ts +174 -0
  119. package/src/executable/internal/NestiaSdkConfig.ts +35 -0
  120. package/src/executable/internal/nestia.config.getter.ts +12 -0
  121. package/src/executable/sdk.ts +51 -0
  122. package/src/generates/FileGenerator.ts +156 -0
  123. package/src/generates/FunctionGenerator.ts +287 -0
  124. package/src/generates/SdkGenerator.ts +50 -0
  125. package/src/generates/SwaggerGenerator.ts +393 -0
  126. package/src/index.ts +3 -0
  127. package/src/module.ts +2 -0
  128. package/src/structures/IController.ts +27 -0
  129. package/src/structures/IRoute.ts +29 -0
  130. package/src/structures/ISwagger.ts +55 -0
  131. package/src/structures/ITypeTuple.ts +6 -0
  132. package/src/structures/MethodType.ts +11 -0
  133. package/src/structures/ParamCategory.ts +1 -0
  134. package/src/structures/TypeEntry.ts +22 -0
  135. package/src/utils/ArrayUtil.ts +26 -0
  136. package/src/utils/ImportDictionary.ts +56 -0
  137. package/src/utils/MapUtil.ts +14 -0
  138. package/src/utils/StripEnums.ts +10 -0
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SwaggerGenerator = void 0;
16
+ const fs_1 = __importDefault(require("fs"));
17
+ const path_1 = __importDefault(require("path"));
18
+ const Singleton_1 = require("tstl/thread/Singleton");
19
+ const VariadicSingleton_1 = require("tstl/thread/VariadicSingleton");
20
+ const CommentFactory_1 = require("typia/lib/factories/CommentFactory");
21
+ const MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
22
+ const MetadataFactory_1 = require("typia/lib/factories/MetadataFactory");
23
+ const ApplicationProgrammer_1 = require("typia/lib/programmers/ApplicationProgrammer");
24
+ const MapUtil_1 = require("../utils/MapUtil");
25
+ var SwaggerGenerator;
26
+ (function (SwaggerGenerator) {
27
+ function generate(checker, config, routeList) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ // PREPARE ASSETS
30
+ const parsed = path_1.default.parse(config.output);
31
+ const location = !!parsed.ext
32
+ ? path_1.default.resolve(config.output)
33
+ : path_1.default.join(path_1.default.resolve(config.output), "swagger.json");
34
+ const collection = new MetadataCollection_1.MetadataCollection({
35
+ replace: MetadataCollection_1.MetadataCollection.replace,
36
+ });
37
+ // CONSTRUCT SWAGGER DOCUMENTS
38
+ const tupleList = [];
39
+ const swagger = yield initialize(location);
40
+ const pathDict = new Map();
41
+ for (const route of routeList) {
42
+ const path = MapUtil_1.MapUtil.take(pathDict, get_path(route.path, route.parameters), () => ({}));
43
+ path[route.method.toLowerCase()] = generate_route(checker, collection, tupleList, route);
44
+ }
45
+ swagger.paths = {};
46
+ for (const [path, routes] of pathDict) {
47
+ swagger.paths[path] = routes;
48
+ }
49
+ // FILL JSON-SCHEMAS
50
+ const application = ApplicationProgrammer_1.ApplicationProgrammer.generate(tupleList.map(({ metadata }) => metadata), {
51
+ purpose: "swagger",
52
+ });
53
+ swagger.components = Object.assign(Object.assign({}, (swagger.components || {})), { schemas: application.components.schemas });
54
+ tupleList.forEach(({ schema }, index) => {
55
+ Object.assign(schema, application.schemas[index]);
56
+ });
57
+ // ERASE IJsonComponents.IObject.$id
58
+ for (const obj of Object.values(swagger.components.schemas))
59
+ if (obj.$id)
60
+ delete obj.$id;
61
+ // DO GENERATE
62
+ yield fs_1.default.promises.writeFile(location, JSON.stringify(swagger, null, 2), "utf8");
63
+ });
64
+ }
65
+ SwaggerGenerator.generate = generate;
66
+ /* ---------------------------------------------------------
67
+ INITIALIZERS
68
+ --------------------------------------------------------- */
69
+ function initialize(path) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ // LOAD OR CREATE NEW SWAGGER DATA
72
+ const swagger = fs_1.default.existsSync(path)
73
+ ? JSON.parse(yield fs_1.default.promises.readFile(path, "utf8"))
74
+ : {
75
+ openapi: "3.0.1",
76
+ servers: [
77
+ {
78
+ url: "https://github.com/samchon/nestia",
79
+ description: "insert your server url",
80
+ },
81
+ ],
82
+ info: {
83
+ version: "0.1.0",
84
+ title: "Generated by nestia - https://github.com/samchon/nestia",
85
+ },
86
+ paths: {},
87
+ components: {},
88
+ };
89
+ // RETURNS
90
+ return swagger;
91
+ });
92
+ }
93
+ function get_path(path, parameters) {
94
+ const filtered = parameters.filter((param) => param.category === "param" && !!param.field);
95
+ for (const param of filtered)
96
+ path = path.replace(`:${param.field}`, `{${param.field}}`);
97
+ return path;
98
+ }
99
+ function generate_route(checker, collection, tupleList, route) {
100
+ const bodyParam = route.parameters.find((param) => param.category === "body");
101
+ const tags = route.tags
102
+ .filter((tag) => tag.name === "tag" &&
103
+ tag.text &&
104
+ tag.text.find((elem) => elem.kind === "text" && elem.text.length) !== undefined)
105
+ .map((tag) => tag.text.find((elem) => elem.kind === "text").text);
106
+ const encrypted = route.encrypted === true ||
107
+ !!route.parameters.find((param) => param.encrypted === true);
108
+ return {
109
+ tags,
110
+ summary: encrypted ? "encrypted" : undefined,
111
+ parameters: route.parameters
112
+ .filter((param) => param.category !== "body")
113
+ .map((param) => generate_parameter(checker, collection, tupleList, route, param)),
114
+ requestBody: bodyParam
115
+ ? generate_request_body(checker, collection, tupleList, route, bodyParam)
116
+ : undefined,
117
+ responses: generate_response_body(checker, collection, tupleList, route),
118
+ description: CommentFactory_1.CommentFactory.generate(route.comments),
119
+ };
120
+ }
121
+ /* ---------------------------------------------------------
122
+ REQUEST & RESPONSE
123
+ --------------------------------------------------------- */
124
+ function generate_parameter(checker, collection, tupleList, route, parameter) {
125
+ const schema = generate_schema(checker, collection, tupleList, parameter.type.type);
126
+ if (schema === null)
127
+ throw new Error(`Error on NestiaApplication.sdk(): invalid parameter type on ${route.symbol}#${parameter.name}`);
128
+ return {
129
+ name: parameter.field || parameter.name,
130
+ in: parameter.category === "param" ? "path" : parameter.category,
131
+ description: get_parametric_description(route, "param", parameter.name) ||
132
+ "",
133
+ schema,
134
+ required: true,
135
+ };
136
+ }
137
+ function generate_request_body(checker, collection, tupleList, route, parameter) {
138
+ const schema = generate_schema(checker, collection, tupleList, parameter.type.type);
139
+ if (schema === null)
140
+ throw new Error(`Error on NestiaApplication.sdk(): invalid request body type on ${route.symbol}.`);
141
+ return {
142
+ description: warning.get(parameter.encrypted).get("request") +
143
+ (get_parametric_description(route, "param", parameter.name) ||
144
+ ""),
145
+ content: {
146
+ "application/json": {
147
+ schema,
148
+ },
149
+ },
150
+ required: true,
151
+ };
152
+ }
153
+ function generate_response_body(checker, collection, tupleList, route) {
154
+ // OUTPUT WITH SUCCESS STATUS
155
+ const status = route.method === "GET" || route.method === "DELETE" ? "200" : "201";
156
+ const schema = generate_schema(checker, collection, tupleList, route.output.type);
157
+ const success = {
158
+ [status]: {
159
+ description: warning.get(route.encrypted).get("response", route.method) +
160
+ (get_parametric_description(route, "return") ||
161
+ get_parametric_description(route, "returns") ||
162
+ ""),
163
+ content: schema === null || route.output.name === "void"
164
+ ? undefined
165
+ : {
166
+ "application/json": {
167
+ schema,
168
+ },
169
+ },
170
+ },
171
+ };
172
+ // EXCEPTION STATUSES
173
+ const exceptions = Object.fromEntries(route.tags
174
+ .filter((tag) => tag.name === "throw" &&
175
+ tag.text &&
176
+ tag.text.find((elem) => elem.kind === "text" &&
177
+ isNaN(Number(elem.text
178
+ .split(" ")
179
+ .map((str) => str.trim())[0])) === false) !== undefined)
180
+ .map((tag) => {
181
+ const text = tag.text.find((elem) => elem.kind === "text").text;
182
+ const elements = text
183
+ .split(" ")
184
+ .map((str) => str.trim());
185
+ return [
186
+ elements[0],
187
+ {
188
+ description: elements.slice(1).join(" "),
189
+ },
190
+ ];
191
+ }));
192
+ return Object.assign(Object.assign({}, exceptions), success);
193
+ }
194
+ /* ---------------------------------------------------------
195
+ UTILS
196
+ --------------------------------------------------------- */
197
+ function generate_schema(checker, collection, tupleList, type) {
198
+ const metadata = MetadataFactory_1.MetadataFactory.generate(checker, collection, type, {
199
+ resolve: false,
200
+ constant: true,
201
+ });
202
+ if (metadata.empty() && metadata.nullable === false)
203
+ return null;
204
+ const schema = {};
205
+ tupleList.push({ metadata, schema });
206
+ return schema;
207
+ }
208
+ function get_parametric_description(route, tagName, parameterName) {
209
+ var _a;
210
+ const parametric = parameterName
211
+ ? (tag) => tag.text.find((elem) => elem.kind === "parameterName" &&
212
+ elem.text === parameterName) !== undefined
213
+ : () => true;
214
+ const tag = route.tags.find((tag) => tag.name === tagName && tag.text && parametric(tag));
215
+ return tag && tag.text
216
+ ? (_a = tag.text.find((elem) => elem.kind === "text")) === null || _a === void 0 ? void 0 : _a.text
217
+ : undefined;
218
+ }
219
+ })(SwaggerGenerator = exports.SwaggerGenerator || (exports.SwaggerGenerator = {}));
220
+ const warning = new VariadicSingleton_1.VariadicSingleton((encrypted) => {
221
+ if (encrypted === false)
222
+ return new Singleton_1.Singleton(() => "");
223
+ return new VariadicSingleton_1.VariadicSingleton((type, method) => {
224
+ const summary = type === "request"
225
+ ? "Request body must be encrypted."
226
+ : "Response data have been encrypted.";
227
+ const component = type === "request"
228
+ ? "[EncryptedBody](https://github.com/samchon/@nestia/core#encryptedbody)"
229
+ : `[EncryptedRoute.${method[0].toUpperCase()}.${method
230
+ .substring(1)
231
+ .toLowerCase()}](https://github.com/samchon/@nestia/core#encryptedroute)`;
232
+ return `## Warning
233
+ ${summary}
234
+
235
+ The ${type} body data would be encrypted as "AES-128(256) / CBC mode / PKCS#5 Padding / Base64 Encoding", through the ${component} component.
236
+
237
+ Therefore, just utilize this swagger editor only for referencing. If you need to call the real API, using [SDK](https://github.com/samchon/nestia#software-development-kit) would be much better.
238
+
239
+ -----------------
240
+
241
+ `;
242
+ });
243
+ });
244
+ //# sourceMappingURL=SwaggerGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAA4B;AAC5B,qDAAkD;AAClD,qEAAkE;AAGlE,uEAAoE;AACpE,+EAA4E;AAC5E,yEAAsE;AAEtE,uFAAoF;AAKpF,8CAA2C;AAE3C,IAAiB,gBAAgB,CAmVhC;AAnVD,WAAiB,gBAAgB;IAC7B,SAAsB,QAAQ,CAC1B,OAAuB,EACvB,MAA8B,EAC9B,SAAmB;;YAEnB,iBAAiB;YACjB,MAAM,MAAM,GAAwB,cAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAW,CAAC,CAAC,MAAM,CAAC,GAAG;gBACjC,CAAC,CAAC,cAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;gBACjC,CAAC,CAAC,cAAQ,CAAC,IAAI,CAAC,cAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;YAErE,MAAM,UAAU,GAAuB,IAAI,uCAAkB,CAAC;gBAC1D,OAAO,EAAE,uCAAkB,CAAC,OAAO;aACtC,CAAC,CAAC;YAEH,8BAA8B;YAC9B,MAAM,SAAS,GAAwB,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAa,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAgC,IAAI,GAAG,EAAE,CAAC;YAExD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;gBAC3B,MAAM,IAAI,GAAmB,iBAAO,CAAC,IAAI,CACrC,QAAQ,EACR,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EACtC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CACb,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,cAAc,CAC7C,OAAO,EACP,UAAU,EACV,SAAS,EACT,KAAK,CACR,CAAC;aACL;YACD,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE;gBACnC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;aAChC;YAED,oBAAoB;YACpB,MAAM,WAAW,GAAqB,6CAAqB,CAAC,QAAQ,CAChE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EACzC;gBACI,OAAO,EAAE,SAAS;aACrB,CACJ,CAAC;YACF,OAAO,CAAC,UAAU,mCACX,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,KAC7B,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,GAC1C,CAAC;YACF,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE;gBACpC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,oCAAoC;YACpC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;gBACvD,IAAI,GAAG,CAAC,GAAG;oBAAE,OAAO,GAAG,CAAC,GAAG,CAAC;YAEhC,cAAc;YACd,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACvB,QAAQ,EACR,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAChC,MAAM,CACT,CAAC;QACN,CAAC;KAAA;IA/DqB,yBAAQ,WA+D7B,CAAA;IAED;;gEAE4D;IAC5D,SAAe,UAAU,CAAC,IAAY;;YAClC,kCAAkC;YAClC,MAAM,OAAO,GAAa,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC;gBACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACtD,CAAC,CAAC;oBACI,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE;wBACL;4BACI,GAAG,EAAE,mCAAmC;4BACxC,WAAW,EAAE,wBAAwB;yBACxC;qBACJ;oBACD,IAAI,EAAE;wBACF,OAAO,EAAE,OAAO;wBAChB,KAAK,EAAE,yDAAyD;qBACnE;oBACD,KAAK,EAAE,EAAE;oBACT,UAAU,EAAE,EAAE;iBACjB,CAAC;YAER,UAAU;YACV,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IAED,SAAS,QAAQ,CAAC,IAAY,EAAE,UAA+B;QAC3D,MAAM,QAAQ,GAAwB,UAAU,CAAC,MAAM,CACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CACzD,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,QAAQ;YACxB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS,cAAc,CACnB,OAAuB,EACvB,UAA8B,EAC9B,SAA8B,EAC9B,KAAa;QAEb,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CACnC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CACvC,CAAC;QACF,MAAM,IAAI,GAAa,KAAK,CAAC,IAAI;aAC5B,MAAM,CACH,CAAC,GAAG,EAAE,EAAE,CACJ,GAAG,CAAC,IAAI,KAAK,KAAK;YAClB,GAAG,CAAC,IAAI;YACR,GAAG,CAAC,IAAI,CAAC,IAAI,CACT,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CACrD,KAAK,SAAS,CACtB;aACA,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAE,CAAC,IAAI,CAAC,CAAC;QAExE,MAAM,SAAS,GACX,KAAK,CAAC,SAAS,KAAK,IAAI;YACxB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;QACjE,OAAO;YACH,IAAI;YACJ,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC5C,UAAU,EAAE,KAAK,CAAC,UAAU;iBACvB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC;iBAC5C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACX,kBAAkB,CACd,OAAO,EACP,UAAU,EACV,SAAS,EACT,KAAK,EACL,KAAK,CACR,CACJ;YACL,WAAW,EAAE,SAAS;gBAClB,CAAC,CAAC,qBAAqB,CACjB,OAAO,EACP,UAAU,EACV,SAAS,EACT,KAAK,EACL,SAAS,CACZ;gBACH,CAAC,CAAC,SAAS;YACf,SAAS,EAAE,sBAAsB,CAC7B,OAAO,EACP,UAAU,EACV,SAAS,EACT,KAAK,CACR;YACD,WAAW,EAAE,+BAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;SACvD,CAAC;IACN,CAAC;IAED;;gEAE4D;IAC5D,SAAS,kBAAkB,CACvB,OAAuB,EACvB,UAA8B,EAC9B,SAA8B,EAC9B,KAAa,EACb,SAA4B;QAE5B,MAAM,MAAM,GAAuB,eAAe,CAC9C,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,CAAC,IAAI,CAAC,IAAI,CACtB,CAAC;QACF,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CACX,+DAA+D,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE,CAClG,CAAC;QAEN,OAAO;YACH,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI;YACvC,EAAE,EAAE,SAAS,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ;YAChE,WAAW,EACP,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC;gBAC1D,EAAE;YACN,MAAM;YACN,QAAQ,EAAE,IAAI;SACjB,CAAC;IACN,CAAC;IAED,SAAS,qBAAqB,CAC1B,OAAuB,EACvB,UAA8B,EAC9B,SAA8B,EAC9B,KAAa,EACb,SAA4B;QAE5B,MAAM,MAAM,GAAuB,eAAe,CAC9C,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,CAAC,IAAI,CAAC,IAAI,CACtB,CAAC;QACF,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CACX,kEAAkE,KAAK,CAAC,MAAM,GAAG,CACpF,CAAC;QAEN,OAAO;YACH,WAAW,EACP,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC/C,CAAC,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC;oBACvD,EAAE,CAAC;YACX,OAAO,EAAE;gBACL,kBAAkB,EAAE;oBAChB,MAAM;iBACT;aACJ;YACD,QAAQ,EAAE,IAAI;SACjB,CAAC;IACN,CAAC;IAED,SAAS,sBAAsB,CAC3B,OAAuB,EACvB,UAA8B,EAC9B,SAA8B,EAC9B,KAAa;QAEb,6BAA6B;QAC7B,MAAM,MAAM,GACR,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACxE,MAAM,MAAM,GAAuB,eAAe,CAC9C,OAAO,EACP,UAAU,EACV,SAAS,EACT,KAAK,CAAC,MAAM,CAAC,IAAI,CACpB,CAAC;QACF,MAAM,OAAO,GAA2B;YACpC,CAAC,MAAM,CAAC,EAAE;gBACN,WAAW,EACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;oBAC1D,CAAC,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC;wBACxC,0BAA0B,CAAC,KAAK,EAAE,SAAS,CAAC;wBAC5C,EAAE,CAAC;gBACX,OAAO,EACH,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;oBAC3C,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC;wBACI,kBAAkB,EAAE;4BAChB,MAAM;yBACT;qBACJ;aACd;SACJ,CAAC;QAEF,qBAAqB;QACrB,MAAM,UAAU,GAA2B,MAAM,CAAC,WAAW,CACzD,KAAK,CAAC,IAAI;aACL,MAAM,CACH,CAAC,GAAG,EAAE,EAAE,CACJ,GAAG,CAAC,IAAI,KAAK,OAAO;YACpB,GAAG,CAAC,IAAI;YACR,GAAG,CAAC,IAAI,CAAC,IAAI,CACT,CAAC,IAAI,EAAE,EAAE,CACL,IAAI,CAAC,IAAI,KAAK,MAAM;gBACpB,KAAK,CACD,MAAM,CACF,IAAI,CAAC,IAAI;qBACJ,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CACnC,CACJ,KAAK,KAAK,CAClB,KAAK,SAAS,CACtB;aACA,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACT,MAAM,IAAI,GAAW,GAAG,CAAC,IAAK,CAAC,IAAI,CAC/B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAChC,CAAC,IAAI,CAAC;YACR,MAAM,QAAQ,GAAa,IAAI;iBAC1B,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAE9B,OAAO;gBACH,QAAQ,CAAC,CAAC,CAAC;gBACX;oBACI,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;iBAC3C;aACJ,CAAC;QACN,CAAC,CAAC,CACT,CAAC;QACF,uCAAY,UAAU,GAAK,OAAO,EAAG;IACzC,CAAC;IAED;;gEAE4D;IAC5D,SAAS,eAAe,CACpB,OAAuB,EACvB,UAA8B,EAC9B,SAA8B,EAC9B,IAAa;QAEb,MAAM,QAAQ,GAAa,iCAAe,CAAC,QAAQ,CAC/C,OAAO,EACP,UAAU,EACV,IAAI,EACJ;YACI,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,IAAI;SACjB,CACJ,CAAC;QACF,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAEjE,MAAM,MAAM,GAAgB,EAAiB,CAAC;QAC9C,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,SAAS,0BAA0B,CAC/B,KAAa,EACb,OAAe,EACf,aAAsB;;QAEtB,MAAM,UAAU,GAAuC,aAAa;YAChE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CACJ,GAAG,CAAC,IAAK,CAAC,IAAI,CACV,CAAC,IAAI,EAAE,EAAE,CACL,IAAI,CAAC,IAAI,KAAK,eAAe;gBAC7B,IAAI,CAAC,IAAI,KAAK,aAAa,CAClC,KAAK,SAAS;YACrB,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAEjB,MAAM,GAAG,GAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CACpD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,CAC/D,CAAC;QACF,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI;YAClB,CAAC,CAAC,MAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,0CAAE,IAAI;YACrD,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC;AACL,CAAC,EAnVgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAmVhC;AAED,MAAM,OAAO,GAAG,IAAI,qCAAiB,CAAC,CAAC,SAAkB,EAAE,EAAE;IACzD,IAAI,SAAS,KAAK,KAAK;QAAE,OAAO,IAAI,qBAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAExD,OAAO,IAAI,qCAAiB,CACxB,CAAC,IAA4B,EAAE,MAAe,EAAE,EAAE;QAC9C,MAAM,OAAO,GACT,IAAI,KAAK,SAAS;YACd,CAAC,CAAC,iCAAiC;YACnC,CAAC,CAAC,oCAAoC,CAAC;QAE/C,MAAM,SAAS,GACX,IAAI,KAAK,SAAS;YACd,CAAC,CAAC,wEAAwE;YAC1E,CAAC,CAAC,mBAAmB,MAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAO;iBACjD,SAAS,CAAC,CAAC,CAAC;iBACZ,WAAW,EAAE,2DAA2D,CAAC;QAExF,OAAO;EACjB,OAAO;;MAEH,IAAI,8GAA8G,SAAS;;;;;;CAMhI,CAAC;IACM,CAAC,CACJ,CAAC;AACN,CAAC,CAAC,CAAC"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import * as nestia from "./module";
2
+ export default nestia;
package/lib/index.js ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const nestia = __importStar(require("./module"));
27
+ exports.default = nestia;
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AAEnC,kBAAe,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./INestiaConfig";
2
+ export * from "./NestiaSdkApplication";
package/lib/module.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./INestiaConfig"), exports);
18
+ __exportStar(require("./NestiaSdkApplication"), exports);
19
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,yDAAuC"}
@@ -0,0 +1,23 @@
1
+ import { ParamCategory } from "./ParamCategory";
2
+ export interface IController {
3
+ file: string;
4
+ name: string;
5
+ paths: string[];
6
+ functions: IController.IFunction[];
7
+ }
8
+ export declare namespace IController {
9
+ interface IFunction {
10
+ name: string;
11
+ method: string;
12
+ paths: string[];
13
+ encrypted: boolean;
14
+ parameters: IParameter[];
15
+ }
16
+ interface IParameter {
17
+ name: string;
18
+ index: number;
19
+ field: string | undefined;
20
+ category: ParamCategory;
21
+ encrypted: boolean;
22
+ }
23
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IController.js","sourceRoot":"","sources":["../../src/structures/IController.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import ts from "typescript";
2
+ import { ITypeTuple } from "./ITypeTuple";
3
+ import { ParamCategory } from "./ParamCategory";
4
+ export interface IRoute {
5
+ name: string;
6
+ method: string;
7
+ path: string;
8
+ encrypted: boolean;
9
+ parameters: IRoute.IParameter[];
10
+ imports: [string, string[]][];
11
+ output: ITypeTuple;
12
+ symbol: string;
13
+ comments: ts.SymbolDisplayPart[];
14
+ tags: ts.JSDocTagInfo[];
15
+ }
16
+ export declare namespace IRoute {
17
+ interface IParameter {
18
+ name: string;
19
+ field: string | undefined;
20
+ category: ParamCategory;
21
+ encrypted: boolean;
22
+ type: ITypeTuple;
23
+ }
24
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRoute.js","sourceRoot":"","sources":["../../src/structures/IRoute.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import { IJsonComponents, IJsonSchema } from "typia";
2
+ export interface ISwagger {
3
+ openapi: "3.0";
4
+ servers: ISwagger.IServer[];
5
+ info: ISwagger.IInfo;
6
+ paths: Record<string, ISwagger.IPath>;
7
+ components: IJsonComponents;
8
+ }
9
+ export declare namespace ISwagger {
10
+ type IPath = Record<string, IRoute>;
11
+ interface IRoute {
12
+ description: string;
13
+ tags: string[];
14
+ parameters: IParameter[];
15
+ responses: IResponseBody;
16
+ requestBody?: IRequestBody;
17
+ summary?: string;
18
+ }
19
+ interface IInfo {
20
+ version: string;
21
+ title: string;
22
+ }
23
+ interface IParameter {
24
+ name: string;
25
+ in: string;
26
+ schema: IJsonSchema;
27
+ required: true;
28
+ description: string;
29
+ }
30
+ interface IRequestBody {
31
+ description: string;
32
+ content: IJsonContent;
33
+ required: true;
34
+ }
35
+ type IResponseBody = Record<string, {
36
+ description: string;
37
+ content?: IJsonContent;
38
+ }>;
39
+ interface IServer {
40
+ url: string;
41
+ description?: string;
42
+ }
43
+ interface IJsonContent {
44
+ "application/json": {
45
+ schema: IJsonSchema;
46
+ };
47
+ }
48
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ISwagger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISwagger.js","sourceRoot":"","sources":["../../src/structures/ISwagger.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ export interface ITypeTuple {
3
+ type: ts.Type;
4
+ name: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITypeTuple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITypeTuple.js","sourceRoot":"","sources":["../../src/structures/ITypeTuple.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export type MethodType = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
2
+ export declare namespace MethodType {
3
+ const VALUES: MethodType[];
4
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MethodType = void 0;
4
+ var MethodType;
5
+ (function (MethodType) {
6
+ MethodType.VALUES = [
7
+ "GET",
8
+ "POST",
9
+ "PUT",
10
+ "PATCH",
11
+ "DELETE",
12
+ ];
13
+ })(MethodType = exports.MethodType || (exports.MethodType = {}));
14
+ //# sourceMappingURL=MethodType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MethodType.js","sourceRoot":"","sources":["../../src/structures/MethodType.ts"],"names":[],"mappings":";;;AAEA,IAAiB,UAAU,CAQ1B;AARD,WAAiB,UAAU;IACV,iBAAM,GAAiB;QAChC,KAAK;QACL,MAAM;QACN,KAAK;QACL,OAAO;QACP,QAAQ;KACX,CAAC;AACN,CAAC,EARgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAQ1B"}
@@ -0,0 +1 @@
1
+ export type ParamCategory = "param" | "query" | "body";
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ParamCategory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParamCategory.js","sourceRoot":"","sources":["../../src/structures/ParamCategory.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import ts from "typescript";
2
+ export declare class TypeEntry {
3
+ readonly type: ts.Type;
4
+ readonly nullable: boolean;
5
+ readonly required: boolean;
6
+ constructor(type: ts.Type, nullable: boolean, required: boolean);
7
+ equals(obj: TypeEntry): boolean;
8
+ hashCode(): number;
9
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypeEntry = void 0;
4
+ const hash_1 = require("tstl/functional/hash");
5
+ class TypeEntry {
6
+ constructor(type, nullable, required) {
7
+ this.type = type;
8
+ this.nullable = nullable;
9
+ this.required = required;
10
+ }
11
+ equals(obj) {
12
+ return (this.type === obj.type &&
13
+ this.nullable === obj.nullable &&
14
+ this.required === obj.required);
15
+ }
16
+ hashCode() {
17
+ return (0, hash_1.hash)(this.type, this.nullable, this.required);
18
+ }
19
+ }
20
+ exports.TypeEntry = TypeEntry;
21
+ //# sourceMappingURL=TypeEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeEntry.js","sourceRoot":"","sources":["../../src/structures/TypeEntry.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAG5C,MAAa,SAAS;IAClB,YACoB,IAAa,EACb,QAAiB,EACjB,QAAiB;QAFjB,SAAI,GAAJ,IAAI,CAAS;QACb,aAAQ,GAAR,QAAQ,CAAS;QACjB,aAAQ,GAAR,QAAQ,CAAS;IAClC,CAAC;IAEG,MAAM,CAAC,GAAc;QACxB,OAAO,CACH,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI;YACtB,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ;YAC9B,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,CACjC,CAAC;IACN,CAAC;IAEM,QAAQ;QACX,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;CACJ;AAlBD,8BAkBC"}
@@ -0,0 +1,4 @@
1
+ export declare namespace TestBuilder {
2
+ function generate(name: string, job: "sdk" | "swagger", argv: string[]): Promise<void>;
3
+ function test(name: string): Promise<void>;
4
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.TestBuilder = void 0;
16
+ const child_process_1 = __importDefault(require("child_process"));
17
+ const fs_1 = __importDefault(require("fs"));
18
+ const NestiaSdkCommand_1 = require("../executable/internal/NestiaSdkCommand");
19
+ var TestBuilder;
20
+ (function (TestBuilder) {
21
+ function generate(name, job, argv) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const task = job === "sdk"
24
+ ? {
25
+ generate: NestiaSdkCommand_1.NestiaSdkCommand.sdk,
26
+ file: "src/api/functional/index.ts",
27
+ }
28
+ : {
29
+ generate: NestiaSdkCommand_1.NestiaSdkCommand.swagger,
30
+ file: "swagger.json",
31
+ };
32
+ process.chdir(`${PATH}/../../demo/${name}`);
33
+ if (fs_1.default.existsSync(task.file))
34
+ yield fs_1.default.promises.unlink(task.file);
35
+ try {
36
+ yield task.generate(argv, false);
37
+ if (fs_1.default.existsSync(task.file) === false)
38
+ throw new Error(`Bug on NestiaCommand.${job}(): failed to generate file(s).`);
39
+ }
40
+ catch (exp) {
41
+ console.log(exp);
42
+ throw exp;
43
+ }
44
+ });
45
+ }
46
+ TestBuilder.generate = generate;
47
+ function test(name) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ process.chdir(`${PATH}/../../demo/${name}`);
50
+ try {
51
+ child_process_1.default.execSync("npx ts-node -C ttypescript src/test", {
52
+ stdio: "inherit",
53
+ });
54
+ }
55
+ catch (exp) {
56
+ console.log(exp);
57
+ throw exp;
58
+ }
59
+ });
60
+ }
61
+ TestBuilder.test = test;
62
+ const PATH = __dirname;
63
+ })(TestBuilder = exports.TestBuilder || (exports.TestBuilder = {}));
64
+ //# sourceMappingURL=TestBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestBuilder.js","sourceRoot":"","sources":["../../src/test/TestBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kEAA+B;AAC/B,4CAAoB;AAEpB,8EAA2E;AAE3E,IAAiB,WAAW,CA8C3B;AA9CD,WAAiB,WAAW;IACxB,SAAsB,QAAQ,CAC1B,IAAY,EACZ,GAAsB,EACtB,IAAc;;YAEd,MAAM,IAAI,GACN,GAAG,KAAK,KAAK;gBACT,CAAC,CAAC;oBACI,QAAQ,EAAE,mCAAgB,CAAC,GAAG;oBAC9B,IAAI,EAAE,6BAA6B;iBACtC;gBACH,CAAC,CAAC;oBACI,QAAQ,EAAE,mCAAgB,CAAC,OAAO;oBAClC,IAAI,EAAE,cAAc;iBACvB,CAAC;YAEZ,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,eAAe,IAAI,EAAE,CAAC,CAAC;YAC5C,IAAI,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,MAAM,YAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAElE,IAAI;gBACA,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACjC,IAAI,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK;oBAClC,MAAM,IAAI,KAAK,CACX,wBAAwB,GAAG,iCAAiC,CAC/D,CAAC;aACT;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,GAAG,CAAC;aACb;QACL,CAAC;KAAA;IA7BqB,oBAAQ,WA6B7B,CAAA;IAED,SAAsB,IAAI,CAAC,IAAY;;YACnC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,eAAe,IAAI,EAAE,CAAC,CAAC;YAE5C,IAAI;gBACA,uBAAE,CAAC,QAAQ,CAAC,qCAAqC,EAAE;oBAC/C,KAAK,EAAE,SAAS;iBACnB,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,GAAG,CAAC;aACb;QACL,CAAC;KAAA;IAXqB,gBAAI,OAWzB,CAAA;IAED,MAAM,IAAI,GAAG,SAAS,CAAC;AAC3B,CAAC,EA9CgB,WAAW,GAAX,mBAAW,KAAX,mBAAW,QA8C3B"}
@@ -0,0 +1 @@
1
+ export {};