@nestia/sdk 1.1.1 → 1.2.0-dev.20230504

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 (79) hide show
  1. package/assets/bundle/api/index.ts +4 -0
  2. package/assets/bundle/api/module.ts +5 -0
  3. package/assets/bundle/e2e/index.ts +41 -0
  4. package/lib/INestiaConfig.d.ts +6 -0
  5. package/lib/NestiaSdkApplication.d.ts +1 -0
  6. package/lib/NestiaSdkApplication.js +35 -14
  7. package/lib/NestiaSdkApplication.js.map +1 -1
  8. package/lib/analyses/ControllerAnalyzer.js +1 -0
  9. package/lib/analyses/ControllerAnalyzer.js.map +1 -1
  10. package/lib/analyses/ReflectAnalyzer.js +12 -1
  11. package/lib/analyses/ReflectAnalyzer.js.map +1 -1
  12. package/lib/executable/internal/NestiaSdkCommand.d.ts +3 -2
  13. package/lib/executable/internal/NestiaSdkCommand.js +52 -56
  14. package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
  15. package/lib/executable/internal/NestiaSdkConfig.js +5 -1
  16. package/lib/executable/internal/NestiaSdkConfig.js.map +1 -1
  17. package/lib/executable/sdk.js +5 -8
  18. package/lib/executable/sdk.js.map +1 -1
  19. package/lib/generates/E2eGenerator.d.ts +5 -0
  20. package/lib/generates/E2eGenerator.js +52 -0
  21. package/lib/generates/E2eGenerator.js.map +1 -0
  22. package/lib/generates/SdkGenerator.d.ts +1 -2
  23. package/lib/generates/SdkGenerator.js +20 -22
  24. package/lib/generates/SdkGenerator.js.map +1 -1
  25. package/lib/generates/SwaggerGenerator.d.ts +1 -1
  26. package/lib/generates/SwaggerGenerator.js +40 -43
  27. package/lib/generates/SwaggerGenerator.js.map +1 -1
  28. package/lib/generates/internal/E2eFileProgrammer.d.ts +8 -0
  29. package/lib/generates/internal/E2eFileProgrammer.js +101 -0
  30. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -0
  31. package/lib/generates/internal/SdkFileProgrammer.d.ts +5 -0
  32. package/lib/generates/internal/SdkFileProgrammer.js +121 -0
  33. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -0
  34. package/lib/generates/internal/SdkFunctionProgrammer.d.ts +5 -0
  35. package/lib/generates/{FunctionGenerator.js → internal/SdkFunctionProgrammer.js} +58 -57
  36. package/lib/generates/internal/SdkFunctionProgrammer.js.map +1 -0
  37. package/lib/generates/internal/SdkRouteDirectory.d.ts +10 -0
  38. package/lib/generates/internal/SdkRouteDirectory.js +18 -0
  39. package/lib/generates/internal/SdkRouteDirectory.js.map +1 -0
  40. package/lib/structures/IController.d.ts +4 -0
  41. package/lib/structures/IRoute.d.ts +4 -0
  42. package/lib/utils/NestiaConfigUtil.d.ts +4 -0
  43. package/lib/utils/NestiaConfigUtil.js +24 -0
  44. package/lib/utils/NestiaConfigUtil.js.map +1 -0
  45. package/lib/utils/SourceFinder.d.ts +9 -0
  46. package/lib/utils/SourceFinder.js +60 -0
  47. package/lib/utils/SourceFinder.js.map +1 -0
  48. package/package.json +2 -3
  49. package/src/INestiaConfig.ts +7 -0
  50. package/src/NestiaSdkApplication.ts +54 -17
  51. package/src/analyses/ControllerAnalyzer.ts +1 -0
  52. package/src/analyses/ReflectAnalyzer.ts +12 -2
  53. package/src/executable/internal/NestiaSdkCommand.ts +87 -105
  54. package/src/executable/sdk.ts +4 -8
  55. package/src/generates/E2eGenerator.ts +65 -0
  56. package/src/generates/SdkGenerator.ts +29 -30
  57. package/src/generates/SwaggerGenerator.ts +66 -64
  58. package/src/generates/internal/E2eFileProgrammer.ts +119 -0
  59. package/src/generates/internal/SdkFileProgrammer.ts +144 -0
  60. package/src/generates/internal/SdkFunctionProgrammer.ts +371 -0
  61. package/src/generates/internal/SdkRouteDirectory.ts +21 -0
  62. package/src/structures/IController.ts +4 -0
  63. package/src/structures/IRoute.ts +4 -0
  64. package/src/utils/NestiaConfigUtil.ts +21 -0
  65. package/src/utils/SourceFinder.ts +60 -0
  66. package/lib/analyses/SourceFinder.d.ts +0 -4
  67. package/lib/analyses/SourceFinder.js +0 -71
  68. package/lib/analyses/SourceFinder.js.map +0 -1
  69. package/lib/generates/FileGenerator.d.ts +0 -5
  70. package/lib/generates/FileGenerator.js +0 -138
  71. package/lib/generates/FileGenerator.js.map +0 -1
  72. package/lib/generates/FunctionGenerator.d.ts +0 -5
  73. package/lib/generates/FunctionGenerator.js.map +0 -1
  74. package/src/analyses/SourceFinder.ts +0 -59
  75. package/src/generates/FileGenerator.ts +0 -156
  76. package/src/generates/FunctionGenerator.ts +0 -348
  77. /package/assets/bundle/{HttpError.ts → api/HttpError.ts} +0 -0
  78. /package/assets/bundle/{IConnection.ts → api/IConnection.ts} +0 -0
  79. /package/assets/bundle/{Primitive.ts → api/Primitive.ts} +0 -0
@@ -0,0 +1,52 @@
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.E2eGenerator = void 0;
16
+ const fs_1 = __importDefault(require("fs"));
17
+ const path_1 = __importDefault(require("path"));
18
+ const NestiaConfigUtil_1 = require("../utils/NestiaConfigUtil");
19
+ const E2eFileProgrammer_1 = require("./internal/E2eFileProgrammer");
20
+ var E2eGenerator;
21
+ (function (E2eGenerator) {
22
+ E2eGenerator.generate = (config) => (routeList) => __awaiter(this, void 0, void 0, function* () {
23
+ // PREPARE DIRECTORIES
24
+ const output = path_1.default.resolve(config.e2e);
25
+ yield mkdir(output);
26
+ yield mkdir(path_1.default.join(output, "features"));
27
+ yield mkdir(path_1.default.join(output, "features", "api"));
28
+ yield mkdir(path_1.default.join(output, "features", "api", "automated"));
29
+ // GENERATE TEST INDEX FILE
30
+ yield index(config)(path_1.default.join(config.e2e, "index.ts"));
31
+ // GENERATE EACH TEST FILES
32
+ for (const route of routeList)
33
+ yield E2eFileProgrammer_1.E2eFileProgrammer.generate(config)({
34
+ api: path_1.default.resolve(config.output),
35
+ current: path_1.default.join(output, "features", "api", "automated"),
36
+ })(route);
37
+ });
38
+ const index = (config) => (output) => __awaiter(this, void 0, void 0, function* () {
39
+ if (fs_1.default.existsSync(output))
40
+ return;
41
+ const location = path_1.default.join(__dirname, "..", "..", "assets", "bundle", "e2e", "index.ts");
42
+ const content = yield fs_1.default.promises.readFile(location, "utf8");
43
+ yield fs_1.default.promises.writeFile(output, content.replace("${input}", JSON.stringify(NestiaConfigUtil_1.NestiaConfigUtil.input(config.input))), "utf8");
44
+ });
45
+ })(E2eGenerator = exports.E2eGenerator || (exports.E2eGenerator = {}));
46
+ const mkdir = (location) => __awaiter(void 0, void 0, void 0, function* () {
47
+ try {
48
+ yield fs_1.default.promises.mkdir(location);
49
+ }
50
+ catch (_a) { }
51
+ });
52
+ //# sourceMappingURL=E2eGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"E2eGenerator.js","sourceRoot":"","sources":["../../src/generates/E2eGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAIxB,gEAA6D;AAC7D,oEAAiE;AAEjE,IAAiB,YAAY,CAkD5B;AAlDD,WAAiB,YAAY;IACZ,qBAAQ,GACjB,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAO,SAAmB,EAAiB,EAAE;QACzC,sBAAsB;QACtB,MAAM,MAAM,GAAW,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAI,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,KAAK,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3C,MAAM,KAAK,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QAClD,MAAM,KAAK,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;QAE/D,2BAA2B;QAC3B,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAExD,2BAA2B;QAC3B,KAAK,MAAM,KAAK,IAAI,SAAS;YACzB,MAAM,qCAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACrC,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC;gBACjC,OAAO,EAAE,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC;aAC7D,CAAC,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAA,CAAC;IAEN,MAAM,KAAK,GACP,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAO,MAAc,EAAiB,EAAE;QACpC,IAAI,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO;QAElC,MAAM,QAAQ,GAAW,cAAI,CAAC,IAAI,CAC9B,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,CACb,CAAC;QACF,MAAM,OAAO,GAAW,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAC9C,QAAQ,EACR,MAAM,CACT,CAAC;QAEF,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACvB,MAAM,EACN,OAAO,CAAC,OAAO,CACX,UAAU,EACV,IAAI,CAAC,SAAS,CAAC,mCAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACvD,EACD,MAAM,CACT,CAAC;IACN,CAAC,CAAA,CAAC;AACV,CAAC,EAlDgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAkD5B;AAED,MAAM,KAAK,GAAG,CAAO,QAAgB,EAAiB,EAAE;IACpD,IAAI;QACA,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KACrC;IAAC,WAAM,GAAE;AACd,CAAC,CAAA,CAAC"}
@@ -1,7 +1,6 @@
1
- import ts from "typescript";
2
1
  import { INestiaConfig } from "../INestiaConfig";
3
2
  import { IRoute } from "../structures/IRoute";
4
3
  export declare namespace SdkGenerator {
5
- function generate(_checker: ts.TypeChecker, config: INestiaConfig, routeList: IRoute[]): Promise<void>;
4
+ const generate: (config: INestiaConfig) => (routes: IRoute[]) => Promise<void>;
6
5
  const BUNDLE_PATH: string;
7
6
  }
@@ -15,31 +15,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.SdkGenerator = void 0;
16
16
  const fs_1 = __importDefault(require("fs"));
17
17
  const path_1 = __importDefault(require("path"));
18
- const FileGenerator_1 = require("./FileGenerator");
18
+ const SdkFileProgrammer_1 = require("./internal/SdkFileProgrammer");
19
19
  var SdkGenerator;
20
20
  (function (SdkGenerator) {
21
- function generate(_checker, config, routeList) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- // PREPARE NEW DIRECTORIES
24
- try {
25
- yield fs_1.default.promises.mkdir(config.output);
26
- }
27
- catch (_a) { }
28
- // BUNDLING
29
- const bundle = yield fs_1.default.promises.readdir(SdkGenerator.BUNDLE_PATH);
30
- for (const file of bundle) {
31
- const current = `${SdkGenerator.BUNDLE_PATH}/${file}`;
32
- const stats = yield fs_1.default.promises.stat(current);
33
- if (stats.isFile() === true) {
34
- const content = yield fs_1.default.promises.readFile(current, "utf8");
21
+ SdkGenerator.generate = (config) => (routes) => __awaiter(this, void 0, void 0, function* () {
22
+ // PREPARE NEW DIRECTORIES
23
+ try {
24
+ yield fs_1.default.promises.mkdir(config.output);
25
+ }
26
+ catch (_a) { }
27
+ // BUNDLING
28
+ const bundle = yield fs_1.default.promises.readdir(SdkGenerator.BUNDLE_PATH);
29
+ for (const file of bundle) {
30
+ const current = `${SdkGenerator.BUNDLE_PATH}/${file}`;
31
+ const stats = yield fs_1.default.promises.stat(current);
32
+ if (stats.isFile() === true) {
33
+ const content = yield fs_1.default.promises.readFile(current, "utf8");
34
+ if (fs_1.default.existsSync(`${config.output}/${file}`) === false)
35
35
  yield fs_1.default.promises.writeFile(`${config.output}/${file}`, content, "utf8");
36
- }
37
36
  }
38
- // FUNCTIONAL
39
- yield FileGenerator_1.FileGenerator.generate(config, routeList);
40
- });
41
- }
42
- SdkGenerator.generate = generate;
43
- SdkGenerator.BUNDLE_PATH = path_1.default.join(__dirname, "..", "..", "assets", "bundle");
37
+ }
38
+ // FUNCTIONAL
39
+ yield SdkFileProgrammer_1.SdkFileProgrammer.generate(config)(routes);
40
+ });
41
+ SdkGenerator.BUNDLE_PATH = path_1.default.join(__dirname, "..", "..", "assets", "bundle", "api");
44
42
  })(SdkGenerator = exports.SdkGenerator || (exports.SdkGenerator = {}));
45
43
  //# sourceMappingURL=SdkGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SdkGenerator.js","sourceRoot":"","sources":["../../src/generates/SdkGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAA4B;AAK5B,mDAAgD;AAEhD,IAAiB,YAAY,CAyC5B;AAzCD,WAAiB,YAAY;IACzB,SAAsB,QAAQ,CAC1B,QAAwB,EACxB,MAAqB,EACrB,SAAmB;;YAEnB,0BAA0B;YAC1B,IAAI;gBACA,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;aAC3C;YAAC,WAAM,GAAE;YAEV,WAAW;YACX,MAAM,MAAM,GAAa,MAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAA,WAAW,CAAC,CAAC;YAChE,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;gBACvB,MAAM,OAAO,GAAW,GAAG,aAAA,WAAW,IAAI,IAAI,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAa,MAAM,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAExD,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;oBACzB,MAAM,OAAO,GAAW,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAC9C,OAAO,EACP,MAAM,CACT,CAAC;oBACF,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACvB,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,EAC1B,OAAO,EACP,MAAM,CACT,CAAC;iBACL;aACJ;YAED,aAAa;YACb,MAAM,6BAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC;KAAA;IA/BqB,qBAAQ,WA+B7B,CAAA;IAEY,wBAAW,GAAG,cAAQ,CAAC,IAAI,CACpC,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,CACX,CAAC;AACN,CAAC,EAzCgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAyC5B"}
1
+ {"version":3,"file":"SdkGenerator.js","sourceRoot":"","sources":["../../src/generates/SdkGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAA4B;AAI5B,oEAAiE;AAEjE,IAAiB,YAAY,CAyC5B;AAzCD,WAAiB,YAAY;IACZ,qBAAQ,GACjB,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAO,MAAgB,EAAiB,EAAE;QACtC,0BAA0B;QAC1B,IAAI;YACA,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;SAC3C;QAAC,WAAM,GAAE;QAEV,WAAW;QACX,MAAM,MAAM,GAAa,MAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAA,WAAW,CAAC,CAAC;QAChE,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;YACvB,MAAM,OAAO,GAAW,GAAG,aAAA,WAAW,IAAI,IAAI,EAAE,CAAC;YACjD,MAAM,KAAK,GAAa,MAAM,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAExD,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBACzB,MAAM,OAAO,GAAW,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAC9C,OAAO,EACP,MAAM,CACT,CAAC;gBACF,IAAI,YAAE,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK;oBACnD,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACvB,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,EAC1B,OAAO,EACP,MAAM,CACT,CAAC;aACT;SACJ;QAED,aAAa;QACb,MAAM,qCAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC,CAAA,CAAC;IAEO,wBAAW,GAAG,cAAQ,CAAC,IAAI,CACpC,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,KAAK,CACR,CAAC;AACN,CAAC,EAzCgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAyC5B"}
@@ -2,5 +2,5 @@ import ts from "typescript";
2
2
  import { INestiaConfig } from "../INestiaConfig";
3
3
  import { IRoute } from "../structures/IRoute";
4
4
  export declare namespace SwaggerGenerator {
5
- function generate(checker: ts.TypeChecker, config: INestiaConfig.ISwaggerConfig, routeList: IRoute[]): Promise<void>;
5
+ const generate: (checker: ts.TypeChecker) => (config: INestiaConfig.ISwaggerConfig) => (routeList: IRoute[]) => Promise<void>;
6
6
  }
@@ -25,51 +25,48 @@ const ApplicationProgrammer_1 = require("typia/lib/programmers/ApplicationProgra
25
25
  const MapUtil_1 = require("../utils/MapUtil");
26
26
  var SwaggerGenerator;
27
27
  (function (SwaggerGenerator) {
28
- function generate(checker, config, routeList) {
28
+ SwaggerGenerator.generate = (checker) => (config) => (routeList) => __awaiter(this, void 0, void 0, function* () {
29
29
  var _a;
30
- return __awaiter(this, void 0, void 0, function* () {
31
- // PREPARE ASSETS
32
- const parsed = path_1.default.parse(config.output);
33
- const location = !!parsed.ext
34
- ? path_1.default.resolve(config.output)
35
- : path_1.default.join(path_1.default.resolve(config.output), "swagger.json");
36
- const collection = new MetadataCollection_1.MetadataCollection({
37
- replace: MetadataCollection_1.MetadataCollection.replace,
38
- });
39
- // CONSTRUCT SWAGGER DOCUMENTS
40
- const tupleList = [];
41
- const swagger = yield initialize(location);
42
- const pathDict = new Map();
43
- for (const route of routeList) {
44
- if (route.tags.find((tag) => tag.name === "internal"))
45
- continue;
46
- const path = MapUtil_1.MapUtil.take(pathDict, get_path(route.path, route.parameters), () => ({}));
47
- path[route.method.toLowerCase()] = generate_route(checker, collection, tupleList, route);
48
- }
49
- swagger.paths = {};
50
- for (const [path, routes] of pathDict) {
51
- swagger.paths[path] = routes;
52
- }
53
- // FILL JSON-SCHEMAS
54
- const application = ApplicationProgrammer_1.ApplicationProgrammer.write({
55
- purpose: "swagger",
56
- })(tupleList.map(({ metadata }) => metadata));
57
- swagger.components = Object.assign(Object.assign({}, ((_a = swagger.components) !== null && _a !== void 0 ? _a : {})), { schemas: application.components.schemas });
58
- tupleList.forEach(({ schema }, index) => {
59
- Object.assign(schema, application.schemas[index]);
60
- });
61
- // CONFIGURE SECURITY
62
- if (config.security)
63
- fill_security(config.security, swagger);
64
- // ERASE IJsonComponents.IObject.$id
65
- for (const obj of Object.values(swagger.components.schemas))
66
- if (obj.$id)
67
- delete obj.$id;
68
- // DO GENERATE
69
- yield fs_1.default.promises.writeFile(location, JSON.stringify(swagger, null, 2), "utf8");
30
+ // PREPARE ASSETS
31
+ const parsed = path_1.default.parse(config.output);
32
+ const location = !!parsed.ext
33
+ ? path_1.default.resolve(config.output)
34
+ : path_1.default.join(path_1.default.resolve(config.output), "swagger.json");
35
+ const collection = new MetadataCollection_1.MetadataCollection({
36
+ replace: MetadataCollection_1.MetadataCollection.replace,
70
37
  });
71
- }
72
- SwaggerGenerator.generate = generate;
38
+ // CONSTRUCT SWAGGER DOCUMENTS
39
+ const tupleList = [];
40
+ const swagger = yield initialize(location);
41
+ const pathDict = new Map();
42
+ for (const route of routeList) {
43
+ if (route.tags.find((tag) => tag.name === "internal"))
44
+ continue;
45
+ const path = MapUtil_1.MapUtil.take(pathDict, get_path(route.path, route.parameters), () => ({}));
46
+ path[route.method.toLowerCase()] = generate_route(checker, collection, tupleList, route);
47
+ }
48
+ swagger.paths = {};
49
+ for (const [path, routes] of pathDict) {
50
+ swagger.paths[path] = routes;
51
+ }
52
+ // FILL JSON-SCHEMAS
53
+ const application = ApplicationProgrammer_1.ApplicationProgrammer.write({
54
+ purpose: "swagger",
55
+ })(tupleList.map(({ metadata }) => metadata));
56
+ swagger.components = Object.assign(Object.assign({}, ((_a = swagger.components) !== null && _a !== void 0 ? _a : {})), { schemas: application.components.schemas });
57
+ tupleList.forEach(({ schema }, index) => {
58
+ Object.assign(schema, application.schemas[index]);
59
+ });
60
+ // CONFIGURE SECURITY
61
+ if (config.security)
62
+ fill_security(config.security, swagger);
63
+ // ERASE IJsonComponents.IObject.$id
64
+ for (const obj of Object.values(swagger.components.schemas))
65
+ if (obj.$id)
66
+ delete obj.$id;
67
+ // DO GENERATE
68
+ yield fs_1.default.promises.writeFile(location, JSON.stringify(swagger, null, 2), "utf8");
69
+ });
73
70
  /* ---------------------------------------------------------
74
71
  INITIALIZERS
75
72
  --------------------------------------------------------- */
@@ -1 +1 @@
1
- {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { INestiaConfig } from "../../INestiaConfig";
2
+ import { IRoute } from "../../structures/IRoute";
3
+ export declare namespace E2eFileProgrammer {
4
+ const generate: (config: INestiaConfig) => (props: {
5
+ api: string;
6
+ current: string;
7
+ }) => (route: IRoute) => Promise<void>;
8
+ }
@@ -0,0 +1,101 @@
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.E2eFileProgrammer = void 0;
16
+ const fs_1 = __importDefault(require("fs"));
17
+ const path_1 = __importDefault(require("path"));
18
+ const ImportDictionary_1 = require("../../utils/ImportDictionary");
19
+ var E2eFileProgrammer;
20
+ (function (E2eFileProgrammer) {
21
+ E2eFileProgrammer.generate = (config) => (props) => (route) => __awaiter(this, void 0, void 0, function* () {
22
+ const importDict = new ImportDictionary_1.ImportDictionary();
23
+ for (const tuple of route.imports)
24
+ for (const instance of tuple[1])
25
+ importDict.emplace(tuple[0], false, instance);
26
+ const uuid = route.parameters.some((p) => { var _a; return p.category === "param" && ((_a = p.meta) === null || _a === void 0 ? void 0 : _a.type) === "uuid"; });
27
+ const content = [
28
+ config.primitive === false
29
+ ? `import typia from "typia";`
30
+ : `import typia, { Primitive } from "typia";`,
31
+ "",
32
+ `import api from "./${path_1.default
33
+ .relative(props.current, props.api)
34
+ .split("\\")
35
+ .join("/")}";`,
36
+ ...(importDict.empty()
37
+ ? []
38
+ : [importDict.toScript(props.current)]),
39
+ "",
40
+ arrow(config)(route),
41
+ ...(uuid ? ["", UUID] : []),
42
+ ].join("\n");
43
+ yield fs_1.default.promises.writeFile(`${props.current}/${name(route)}.ts`, content, "utf8");
44
+ });
45
+ const arrow = (config) => (route) => {
46
+ const tab = route.output.name === "void" ? 2 : 3;
47
+ const output = [
48
+ `await ${accessor(route)}(`,
49
+ `${" ".repeat(tab * 4)}connection,`,
50
+ ...route.parameters.map(parameter(config)(tab)),
51
+ `${" ".repeat((tab - 1) * 4)});`,
52
+ ].join("\n");
53
+ return [
54
+ `export const ${name(route)} = async (`,
55
+ ` connection: api.IConnection`,
56
+ `): Promise<void> => {`,
57
+ ...(route.output.name === "void"
58
+ ? [` ${output}`]
59
+ : [
60
+ ` const output: ${primitive(config)(route.output.name)} = `,
61
+ ` ${output}`,
62
+ ` typia.assert(output);`,
63
+ ]),
64
+ `};`,
65
+ ].join("\n");
66
+ };
67
+ const parameter = (config) => (tab) => (param) => {
68
+ var _a;
69
+ const middle = param.category === "param" && ((_a = param.meta) === null || _a === void 0 ? void 0 : _a.type) === "uuid"
70
+ ? param.meta.nullable
71
+ ? `Math.random() < .2 ? null : uuid()`
72
+ : `uuid()`
73
+ : `typia.random<${primitive(config)(param.type.name)}>()`;
74
+ return `${" ".repeat(4 * tab)}${middle},`;
75
+ };
76
+ const name = (route) => [
77
+ "test_api",
78
+ ...route.path
79
+ .split("/")
80
+ .filter((str) => str.length && str[0] !== ":")
81
+ .map(normalize),
82
+ route.name,
83
+ ].join("_");
84
+ const accessor = (route) => [
85
+ "api.functional",
86
+ ...route.path
87
+ .split("/")
88
+ .filter((str) => str.length && str[0] !== ":")
89
+ .map(normalize),
90
+ route.name,
91
+ ].join(".");
92
+ const normalize = (str) => str.split("-").join("_").split(".").join("_");
93
+ const primitive = (config) => (name) => config.primitive !== false ? `Primitive<${name}>` : name;
94
+ })(E2eFileProgrammer = exports.E2eFileProgrammer || (exports.E2eFileProgrammer = {}));
95
+ const UUID = `const uuid = (): string =>
96
+ "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
97
+ const r = (Math.random() * 16) | 0;
98
+ const v = c === "x" ? r : (r & 0x3) | 0x8;
99
+ return v.toString(16);
100
+ });`;
101
+ //# sourceMappingURL=E2eFileProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"E2eFileProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/E2eFileProgrammer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { INestiaConfig } from "../../INestiaConfig";
2
+ import { IRoute } from "../../structures/IRoute";
3
+ export declare namespace SdkFileProgrammer {
4
+ const generate: (config: INestiaConfig) => (routeList: IRoute[]) => Promise<void>;
5
+ }
@@ -0,0 +1,121 @@
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.SdkFileProgrammer = void 0;
16
+ const fs_1 = __importDefault(require("fs"));
17
+ const ImportDictionary_1 = require("../../utils/ImportDictionary");
18
+ const SdkFunctionProgrammer_1 = require("./SdkFunctionProgrammer");
19
+ const SdkRouteDirectory_1 = require("./SdkRouteDirectory");
20
+ var SdkFileProgrammer;
21
+ (function (SdkFileProgrammer) {
22
+ /* ---------------------------------------------------------
23
+ CONSTRUCTOR
24
+ --------------------------------------------------------- */
25
+ SdkFileProgrammer.generate = (config) => (routeList) => __awaiter(this, void 0, void 0, function* () {
26
+ // CONSTRUCT FOLDER TREE
27
+ const root = new SdkRouteDirectory_1.SdkRouteDirectory(null, "functional");
28
+ for (const route of routeList)
29
+ emplace(root)(route);
30
+ // RELOCATE FOR ONLY ONE CONTROLLER METHOD IN AN URL CASE
31
+ relocate(root);
32
+ // ITERATE FILES
33
+ yield iterate(config)(root)(config.output + "/functional");
34
+ });
35
+ const emplace = (directory) => (route) => {
36
+ // SEPARATE IDENTIFIERS
37
+ const identifiers = route.path
38
+ .split("/")
39
+ .filter((str) => str.length && str[0] !== ":")
40
+ .map((str) => str.split("-").join("_").split(".").join("_"));
41
+ // OPEN DIRECTORIES
42
+ for (const key of identifiers) {
43
+ directory = directory.directories.take(key, () => new SdkRouteDirectory_1.SdkRouteDirectory(directory, key));
44
+ }
45
+ // ADD ROUTE
46
+ directory.routes.push(route);
47
+ };
48
+ const relocate = (directory) => {
49
+ if (directory.parent !== null &&
50
+ directory.directories.empty() &&
51
+ directory.routes.length === 1 &&
52
+ directory.name === directory.routes[0].name) {
53
+ directory.parent.routes.push(directory.routes[0]);
54
+ directory.parent.directories.erase(directory.name);
55
+ }
56
+ else if (directory.directories.empty() === false)
57
+ for (const it of directory.directories)
58
+ relocate(it.second);
59
+ };
60
+ /* ---------------------------------------------------------
61
+ FILE ITERATOR
62
+ --------------------------------------------------------- */
63
+ const iterate = (config) => (directory) => (outDir) => __awaiter(this, void 0, void 0, function* () {
64
+ // CREATE A NEW DIRECTORY
65
+ try {
66
+ yield fs_1.default.promises.mkdir(outDir);
67
+ }
68
+ catch (_a) { }
69
+ // ITERATE CHILDREN
70
+ const content = [];
71
+ for (const it of directory.directories) {
72
+ yield iterate(config)(it.second)(`${outDir}/${it.first}`);
73
+ content.push(`export * as ${it.first} from "./${it.first}";`);
74
+ }
75
+ if (content.length && directory.routes.length)
76
+ content.push("");
77
+ // ITERATE ROUTES
78
+ const importDict = new ImportDictionary_1.ImportDictionary();
79
+ directory.routes.forEach((route, i) => {
80
+ for (const tuple of route.imports)
81
+ for (const instance of tuple[1])
82
+ importDict.emplace(tuple[0], false, instance);
83
+ content.push(SdkFunctionProgrammer_1.SdkFunctionProgrammer.generate(config)(route));
84
+ if (i !== directory.routes.length - 1)
85
+ content.push("");
86
+ });
87
+ // FINALIZE THE CONTENT
88
+ if (directory.routes.length !== 0) {
89
+ const primitived = config.primitive !== false &&
90
+ directory.routes.some((route) => route.output.name !== "void" ||
91
+ route.parameters.some((param) => param.category !== "param"));
92
+ const asserted = config.assert === true &&
93
+ directory.routes.some((route) => route.parameters.length !== 0);
94
+ const json = config.json === true &&
95
+ directory.routes.some((route) => route.method === "POST" ||
96
+ route.method === "PUT" ||
97
+ route.method === "PATCH");
98
+ const fetcher = ["Fetcher"];
99
+ if (primitived)
100
+ fetcher.push("Primitive");
101
+ const head = [
102
+ `import { ${fetcher.join(", ")} } from "@nestia/fetcher";`,
103
+ `import type { IConnection } from "@nestia/fetcher";`,
104
+ ];
105
+ if (asserted || json)
106
+ head.push(`import typia from "typia";`);
107
+ if (!importDict.empty())
108
+ head.push("", importDict.toScript(outDir));
109
+ content.push(...head, "", ...content.splice(0, content.length));
110
+ }
111
+ const script = "/**\n" +
112
+ " * @packageDocumentation\n" +
113
+ ` * @module ${directory.module}\n` +
114
+ " * @nestia Generated by Nestia - https://github.com/samchon/nestia \n" +
115
+ " */\n" +
116
+ "//================================================================\n" +
117
+ content.join("\n");
118
+ yield fs_1.default.promises.writeFile(`${outDir}/index.ts`, script, "utf8");
119
+ });
120
+ })(SdkFileProgrammer = exports.SdkFileProgrammer || (exports.SdkFileProgrammer = {}));
121
+ //# sourceMappingURL=SdkFileProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SdkFileProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFileProgrammer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { INestiaConfig } from "../../INestiaConfig";
2
+ import { IRoute } from "../../structures/IRoute";
3
+ export declare namespace SdkFunctionProgrammer {
4
+ const generate: (config: INestiaConfig) => (route: IRoute) => string;
5
+ }