@nestia/sdk 1.4.9 → 1.4.10-dev.20230713

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.
package/README.md CHANGED
@@ -11,10 +11,11 @@ Nestia is a set of helper libraries for NestJS, supporting below features:
11
11
 
12
12
  - `@nestia/core`: super-fast decorators
13
13
  - `@nestia/sdk`:
14
- - SDK generator for clients
15
14
  - Swagger generator evolved than ever
16
- - Automatic E2E test functions generator
15
+ - SDK library generator for clients
17
16
  - Mockup Simulator for client applications
17
+ - Automatic E2E test functions generator
18
+ - `@nestia/migrate`: migration from Swagger to NestJS
18
19
  - `nestia`: just CLI (command line interface) tool
19
20
 
20
21
  > **Note**
@@ -24,12 +25,13 @@ Nestia is a set of helper libraries for NestJS, supporting below features:
24
25
  > - Runtime validator is **20,000x faster** than `class-validator`
25
26
  > - JSON serialization is **200x faster** than `class-transformer`
26
27
  > - Software Development Kit
27
- > - SDK is similar with [tRPC](https://trpc.io), but much advanced
28
- > - Mockup simulator like [msw](https://mswjs.io/), but fully automated
28
+ > - SDK is a collection of `fetch` functions with type definitions like [tRPC](https://trpc.io/)
29
+ > - Mockup simulator means embedded backend simulator in SDK
30
+ > - similar with [msw](https://mswjs.io/), but fully automated
29
31
 
30
32
  ![nestia-sdk-demo](https://user-images.githubusercontent.com/13158709/215004990-368c589d-7101-404e-b81b-fbc936382f05.gif)
31
33
 
32
- > Left is server code, and right is client code utilizing SDK
34
+ > Left is NestJS server code, and right is client (frontend) code utilizing SDK
33
35
 
34
36
 
35
37
 
@@ -63,3 +65,8 @@ Check out the document in the [website](https://nestia.io/docs/):
63
65
  - [SDK Library](https://nestia.io/docs/sdk/sdk/)
64
66
  - [E2E Functions](https://nestia.io/docs/sdk/e2e/)
65
67
  - [Mockup Simulator](https://nestia.io/docs/sdk/simulator/)
68
+ - [Swagger to NestJS](https://nestia.io/docs/migrate/)
69
+
70
+ ### 🔗 Appendix
71
+ - [⇲ Benchmark Result](https://github.com/samchon/nestia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz)
72
+ - [⇲ `dev.to` Articles](https://dev.to/samchon/series/22751)
@@ -41,6 +41,7 @@ const path_1 = __importDefault(require("path"));
41
41
  const runner = __importStar(require("ts-node"));
42
42
  const tstl_1 = require("tstl");
43
43
  const typescript_1 = __importDefault(require("typescript"));
44
+ const AccessorAnalyzer_1 = require("./analyses/AccessorAnalyzer");
44
45
  const ControllerAnalyzer_1 = require("./analyses/ControllerAnalyzer");
45
46
  const ReflectAnalyzer_1 = require("./analyses/ReflectAnalyzer");
46
47
  const NestiaConfigCompilerOptions_1 = require("./executable/internal/NestiaConfigCompilerOptions");
@@ -169,6 +170,7 @@ class NestiaSdkApplication {
169
170
  routeList.push(...ControllerAnalyzer_1.ControllerAnalyzer.analyze(checker, file, c));
170
171
  }
171
172
  // DO GENERATE
173
+ AccessorAnalyzer_1.AccessorAnalyzer.analyze(routeList);
172
174
  yield archiver(checker)(config(this.config_))(routeList);
173
175
  });
174
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NestiaSdkApplication.js","sourceRoot":"","sources":["../src/NestiaSdkApplication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NestiaSdkApplication.js","sourceRoot":"","sources":["../src/NestiaSdkApplication.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { IRoute } from "../structures/IRoute";
2
+ export declare namespace AccessorAnalyzer {
3
+ const analyze: (routes: IRoute[]) => void;
4
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccessorAnalyzer = void 0;
4
+ const Escaper_1 = require("typia/lib/utils/Escaper");
5
+ var AccessorAnalyzer;
6
+ (function (AccessorAnalyzer) {
7
+ AccessorAnalyzer.analyze = (routes) => {
8
+ var _b;
9
+ variable(routes);
10
+ shrink(routes);
11
+ for (const r of routes)
12
+ r.name = (_b = r.accessors.at(-1)) !== null && _b !== void 0 ? _b : r.name;
13
+ };
14
+ const prepare = (routeList) => {
15
+ const dict = new Set();
16
+ for (const route of routeList)
17
+ route.accessors.forEach((_a, i) => dict.add(route.accessors.slice(0, i + 1).join(".")));
18
+ return dict;
19
+ };
20
+ const variable = (routeList) => {
21
+ const dict = prepare(routeList);
22
+ for (const route of routeList) {
23
+ const emended = route.accessors.slice();
24
+ route.accessors.forEach((accessor, i) => {
25
+ if (Escaper_1.Escaper.variable(accessor))
26
+ return;
27
+ while (true) {
28
+ accessor = "$" + accessor;
29
+ const partial = [
30
+ ...route.accessors.slice(0, i),
31
+ accessor,
32
+ ].join(".");
33
+ if (dict.has(partial) === false) {
34
+ emended[i] = accessor;
35
+ break;
36
+ }
37
+ }
38
+ });
39
+ route.accessors.splice(0, route.accessors.length, ...emended);
40
+ }
41
+ };
42
+ const shrink = (routeList) => {
43
+ const dict = prepare(routeList);
44
+ for (const route of routeList) {
45
+ if (route.accessors.length < 2 ||
46
+ route.accessors.at(-1) !== route.accessors.at(-2))
47
+ continue;
48
+ const cut = route.accessors.slice(0, -1);
49
+ if (dict.has(cut.join(".")) === true)
50
+ continue;
51
+ route.accessors = cut;
52
+ }
53
+ };
54
+ })(AccessorAnalyzer || (exports.AccessorAnalyzer = AccessorAnalyzer = {}));
55
+ //# sourceMappingURL=AccessorAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessorAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/AccessorAnalyzer.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAIlD,IAAiB,gBAAgB,CAqDhC;AArDD,WAAiB,gBAAgB;IAChB,wBAAO,GAAG,CAAC,MAAgB,EAAE,EAAE;;QACxC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjB,MAAM,CAAC,MAAM,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,CAAC,CAAC,IAAI,GAAG,MAAA,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mCAAI,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,SAAmB,EAAe,EAAE;QACjD,MAAM,IAAI,GAAgB,IAAI,GAAG,EAAE,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,SAAS;YACzB,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CACtD,CAAC;QACN,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,SAAmB,EAAE,EAAE;QACrC,MAAM,IAAI,GAAgB,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;YAC3B,MAAM,OAAO,GAAa,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAClD,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;gBACpC,IAAI,iBAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,OAAO;gBACvC,OAAO,IAAI,EAAE;oBACT,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC;oBAC1B,MAAM,OAAO,GAAW;wBACpB,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC9B,QAAQ;qBACX,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACZ,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE;wBAC7B,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;wBACtB,MAAM;qBACT;iBACJ;YACL,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;SACjE;IACL,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,SAAmB,EAAE,EAAE;QACnC,MAAM,IAAI,GAAgB,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;YAC3B,IACI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBAC1B,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEjD,SAAS;YAEb,MAAM,GAAG,GAAa,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI;gBAAE,SAAS;YAE/C,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;SACzB;IACL,CAAC,CAAC;AACN,CAAC,EArDgB,gBAAgB,gCAAhB,gBAAgB,QAqDhC"}
@@ -7,6 +7,7 @@ exports.ControllerAnalyzer = void 0;
7
7
  const HashMap_1 = require("tstl/container/HashMap");
8
8
  const typescript_1 = __importDefault(require("typescript"));
9
9
  const CommentFactory_1 = require("typia/lib/factories/CommentFactory");
10
+ const PathUtil_1 = require("../utils/PathUtil");
10
11
  const GenericAnalyzer_1 = require("./GenericAnalyzer");
11
12
  const ImportAnalyzer_1 = require("./ImportAnalyzer");
12
13
  const PathAnalyzer_1 = require("./PathAnalyzer");
@@ -100,7 +101,7 @@ var ControllerAnalyzer;
100
101
  pathList.push(PathAnalyzer_1.PathAnalyzer.espace(path, () => "ControllerAnalyzer.analyze()"));
101
102
  }
102
103
  // RETURNS
103
- return pathList.map((path) => (Object.assign(Object.assign({}, common), { path })));
104
+ return pathList.map((path) => (Object.assign(Object.assign({}, common), { path, accessors: [...PathUtil_1.PathUtil.accessors(path), func.name] })));
104
105
  }
105
106
  /* ---------------------------------------------------------
106
107
  PARAMETER
@@ -1 +1 @@
1
- {"version":3,"file":"ControllerAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ControllerAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ControllerAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ControllerAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -16,22 +16,11 @@ exports.E2eGenerator = void 0;
16
16
  const fs_1 = __importDefault(require("fs"));
17
17
  const path_1 = __importDefault(require("path"));
18
18
  const NestiaConfigUtil_1 = require("../utils/NestiaConfigUtil");
19
- const PathUtil_1 = require("../utils/PathUtil");
20
19
  const E2eFileProgrammer_1 = require("./internal/E2eFileProgrammer");
21
20
  var E2eGenerator;
22
21
  (function (E2eGenerator) {
23
22
  E2eGenerator.generate = (config) => (routeList) => __awaiter(this, void 0, void 0, function* () {
24
- var _a;
25
23
  console.log("Generating E2E Test Functions");
26
- const pathDict = new Map();
27
- for (const route of routeList) {
28
- const sequence = PathUtil_1.PathUtil.accessors(route.path).map((_str, i, entire) => entire.slice(0, i + 1).join("/"));
29
- for (const s of sequence) {
30
- const count = (_a = pathDict.get(s)) !== null && _a !== void 0 ? _a : 0;
31
- pathDict.set(s, count + 1);
32
- }
33
- }
34
- const counter = (path) => { var _a; return (_a = pathDict.get(path)) !== null && _a !== void 0 ? _a : 0; };
35
24
  // PREPARE DIRECTORIES
36
25
  const output = path_1.default.resolve(config.e2e);
37
26
  yield mkdir(output);
@@ -42,7 +31,7 @@ var E2eGenerator;
42
31
  yield index(config)(path_1.default.join(config.e2e, "index.ts"));
43
32
  // GENERATE EACH TEST FILES
44
33
  for (const route of routeList)
45
- yield E2eFileProgrammer_1.E2eFileProgrammer.generate(config)(counter)({
34
+ yield E2eFileProgrammer_1.E2eFileProgrammer.generate(config)({
46
35
  api: path_1.default.resolve(config.output),
47
36
  current: path_1.default.join(output, "features", "api", "automated"),
48
37
  })(route);
@@ -1 +1 @@
1
- {"version":3,"file":"E2eGenerator.js","sourceRoot":"","sources":["../../src/generates/E2eGenerator.ts"],"names":[],"mappings":"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"}
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,CAoD5B;AApDD,WAAiB,YAAY;IACZ,qBAAQ,GACjB,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAO,SAAmB,EAAiB,EAAE;QACzC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAE7C,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,EApDgB,YAAY,4BAAZ,YAAY,QAoD5B;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,7 @@
1
1
  import { INestiaConfig } from "../../INestiaConfig";
2
2
  import { IRoute } from "../../structures/IRoute";
3
3
  export declare namespace E2eFileProgrammer {
4
- const generate: (config: INestiaConfig) => (counter: (path: string) => number) => (props: {
4
+ const generate: (config: INestiaConfig) => (props: {
5
5
  api: string;
6
6
  current: string;
7
7
  }) => (route: IRoute) => Promise<void>;
@@ -16,10 +16,9 @@ exports.E2eFileProgrammer = void 0;
16
16
  const fs_1 = __importDefault(require("fs"));
17
17
  const path_1 = __importDefault(require("path"));
18
18
  const ImportDictionary_1 = require("../../utils/ImportDictionary");
19
- const PathUtil_1 = require("../../utils/PathUtil");
20
19
  var E2eFileProgrammer;
21
20
  (function (E2eFileProgrammer) {
22
- E2eFileProgrammer.generate = (config) => (counter) => (props) => (route) => __awaiter(this, void 0, void 0, function* () {
21
+ E2eFileProgrammer.generate = (config) => (props) => (route) => __awaiter(this, void 0, void 0, function* () {
23
22
  const importDict = new ImportDictionary_1.ImportDictionary();
24
23
  for (const tuple of route.imports)
25
24
  for (const instance of tuple[1])
@@ -50,21 +49,21 @@ var E2eFileProgrammer;
50
49
  ? []
51
50
  : [importDict.toScript(props.current)]),
52
51
  "",
53
- arrow(config)(counter)(route),
52
+ arrow(config)(route),
54
53
  ...(additional.length ? ["", ...additional] : []),
55
54
  ].join("\n");
56
- yield fs_1.default.promises.writeFile(`${props.current}/${name(counter)(route)}.ts`, content, "utf8");
55
+ yield fs_1.default.promises.writeFile(`${props.current}/${name(route)}.ts`, content, "utf8");
57
56
  });
58
- const arrow = (config) => (counter) => (route) => {
57
+ const arrow = (config) => (route) => {
59
58
  const tab = route.output.name === "void" ? 2 : 3;
60
59
  const output = [
61
- `await ${accessor(counter)(route)}(`,
60
+ `await ${accessor(route)}(`,
62
61
  `${" ".repeat(tab * 4)}connection,`,
63
62
  ...route.parameters.map(parameter(config)(tab)),
64
63
  `${" ".repeat((tab - 1) * 4)});`,
65
64
  ].join("\n");
66
65
  return [
67
- `export const ${name(counter)(route)} = async (`,
66
+ `export const ${name(route)} = async (`,
68
67
  ` connection: api.IConnection`,
69
68
  `): Promise<void> => {`,
70
69
  ...(route.output.name === "void"
@@ -88,13 +87,8 @@ var E2eFileProgrammer;
88
87
  : `typia.random<${primitive(config)(param.type.name)}>()`;
89
88
  return `${" ".repeat(4 * tab)}${middle},`;
90
89
  };
91
- const name = (counter) => (route) => "test_api_" +
92
- postfix(counter)(PathUtil_1.PathUtil.accessors(route.path))(route.name).join("_");
93
- const accessor = (counter) => (route) => "api.functional." +
94
- postfix(counter)(PathUtil_1.PathUtil.accessors(route.path))(route.name).join(".");
95
- const postfix = (counter) => (array) => (name) => array.at(-1) === name && counter(array.join("/")) < 2
96
- ? array
97
- : [...array, name];
90
+ const name = (route) => ["test", "api", ...route.accessors].join("_");
91
+ const accessor = (route) => ["api", "functional", ...route.accessors].join(".");
98
92
  const primitive = (config) => (name) => config.primitive !== false ? `Primitive<${name}>` : name;
99
93
  const getAdditional = (param) => {
100
94
  if (param.custom === false || param.category !== "param" || !param.meta)
@@ -1 +1 @@
1
- {"version":3,"file":"E2eFileProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/E2eFileProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"E2eFileProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/E2eFileProgrammer.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.SdkFileProgrammer = void 0;
16
16
  const fs_1 = __importDefault(require("fs"));
17
17
  const ImportDictionary_1 = require("../../utils/ImportDictionary");
18
+ const MapUtil_1 = require("../../utils/MapUtil");
18
19
  const SdkFunctionProgrammer_1 = require("./SdkFunctionProgrammer");
19
20
  const SdkRouteDirectory_1 = require("./SdkRouteDirectory");
20
21
  var SdkFileProgrammer;
@@ -27,36 +28,17 @@ var SdkFileProgrammer;
27
28
  const root = new SdkRouteDirectory_1.SdkRouteDirectory(null, "functional");
28
29
  for (const route of routeList)
29
30
  emplace(root)(route);
30
- // RELOCATE FOR ONLY ONE CONTROLLER METHOD IN AN URL CASE
31
- relocate(root);
32
31
  // ITERATE FILES
33
32
  yield iterate(config)(root)(config.output + "/functional");
34
33
  });
35
34
  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
35
  // OPEN DIRECTORIES
42
- for (const key of identifiers) {
43
- directory = directory.directories.take(key, () => new SdkRouteDirectory_1.SdkRouteDirectory(directory, key));
36
+ for (const key of route.accessors.slice(0, -1)) {
37
+ directory = MapUtil_1.MapUtil.take(directory.children, key, () => new SdkRouteDirectory_1.SdkRouteDirectory(directory, key));
44
38
  }
45
39
  // ADD ROUTE
46
40
  directory.routes.push(route);
47
41
  };
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
42
  /* ---------------------------------------------------------
61
43
  FILE ITERATOR
62
44
  --------------------------------------------------------- */
@@ -68,9 +50,9 @@ var SdkFileProgrammer;
68
50
  catch (_a) { }
69
51
  // ITERATE CHILDREN
70
52
  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}";`);
53
+ for (const [key, value] of directory.children) {
54
+ yield iterate(config)(value)(`${outDir}/${key}`);
55
+ content.push(`export * as ${key} from "./${key}";`);
74
56
  }
75
57
  if (content.length && directory.routes.length)
76
58
  content.push("");
@@ -1 +1 @@
1
- {"version":3,"file":"SdkFileProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFileProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdkFileProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFileProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import { HashMap } from "tstl";
2
1
  import { IRoute } from "../../structures/IRoute";
3
2
  export declare class SdkRouteDirectory {
4
3
  readonly parent: SdkRouteDirectory | null;
5
4
  readonly name: string;
6
5
  readonly module: string;
7
- readonly directories: HashMap<string, SdkRouteDirectory>;
6
+ readonly children: Map<string, SdkRouteDirectory>;
8
7
  readonly routes: IRoute[];
9
8
  constructor(parent: SdkRouteDirectory | null, name: string);
10
9
  }
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SdkRouteDirectory = void 0;
4
- const tstl_1 = require("tstl");
5
4
  class SdkRouteDirectory {
6
5
  constructor(parent, name) {
7
6
  this.parent = parent;
8
7
  this.name = name;
9
- this.directories = new tstl_1.HashMap();
8
+ this.children = new Map();
10
9
  this.routes = [];
11
10
  this.module =
12
11
  this.parent !== null
@@ -1 +1 @@
1
- {"version":3,"file":"SdkRouteDirectory.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkRouteDirectory.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAI/B,MAAa,iBAAiB;IAK1B,YACa,MAAgC,EAChC,IAAY;QADZ,WAAM,GAAN,MAAM,CAA0B;QAChC,SAAI,GAAJ,IAAI,CAAQ;QAErB,IAAI,CAAC,WAAW,GAAG,IAAI,cAAO,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM;YACP,IAAI,CAAC,MAAM,KAAK,IAAI;gBAChB,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;gBACjC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;IAC5B,CAAC;CACJ;AAhBD,8CAgBC"}
1
+ {"version":3,"file":"SdkRouteDirectory.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkRouteDirectory.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAiB;IAK1B,YACa,MAAgC,EAChC,IAAY;QADZ,WAAM,GAAN,MAAM,CAA0B;QAChC,SAAI,GAAJ,IAAI,CAAQ;QAErB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM;YACP,IAAI,CAAC,MAAM,KAAK,IAAI;gBAChB,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;gBACjC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;IAC5B,CAAC;CACJ;AAhBD,8CAgBC"}
@@ -7,6 +7,7 @@ export interface IRoute {
7
7
  path: string;
8
8
  encrypted: boolean;
9
9
  status?: number;
10
+ accessors: string[];
10
11
  parameters: IRoute.IParameter[];
11
12
  imports: [string, string[]][];
12
13
  output: IRoute.IOutput;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/sdk",
3
- "version": "1.4.9",
3
+ "version": "1.4.10-dev.20230713",
4
4
  "description": "Nestia SDK and Swagger generator",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -5,6 +5,7 @@ import { Pair, Singleton } from "tstl";
5
5
  import ts from "typescript";
6
6
 
7
7
  import { INestiaConfig } from "./INestiaConfig";
8
+ import { AccessorAnalyzer } from "./analyses/AccessorAnalyzer";
8
9
  import { ControllerAnalyzer } from "./analyses/ControllerAnalyzer";
9
10
  import { ReflectAnalyzer } from "./analyses/ReflectAnalyzer";
10
11
  import { NestiaConfigCompilerOptions } from "./executable/internal/NestiaConfigCompilerOptions";
@@ -210,6 +211,7 @@ export class NestiaSdkApplication {
210
211
  }
211
212
 
212
213
  // DO GENERATE
214
+ AccessorAnalyzer.analyze(routeList);
213
215
  await archiver(checker)(config(this.config_))(routeList);
214
216
  }
215
217
 
@@ -0,0 +1,58 @@
1
+ import { Escaper } from "typia/lib/utils/Escaper";
2
+
3
+ import { IRoute } from "../structures/IRoute";
4
+
5
+ export namespace AccessorAnalyzer {
6
+ export const analyze = (routes: IRoute[]) => {
7
+ variable(routes);
8
+ shrink(routes);
9
+ for (const r of routes) r.name = r.accessors.at(-1) ?? r.name;
10
+ };
11
+
12
+ const prepare = (routeList: IRoute[]): Set<string> => {
13
+ const dict: Set<string> = new Set();
14
+ for (const route of routeList)
15
+ route.accessors.forEach((_a, i) =>
16
+ dict.add(route.accessors.slice(0, i + 1).join(".")),
17
+ );
18
+ return dict;
19
+ };
20
+
21
+ const variable = (routeList: IRoute[]) => {
22
+ const dict: Set<string> = prepare(routeList);
23
+ for (const route of routeList) {
24
+ const emended: string[] = route.accessors.slice();
25
+ route.accessors.forEach((accessor, i) => {
26
+ if (Escaper.variable(accessor)) return;
27
+ while (true) {
28
+ accessor = "$" + accessor;
29
+ const partial: string = [
30
+ ...route.accessors.slice(0, i),
31
+ accessor,
32
+ ].join(".");
33
+ if (dict.has(partial) === false) {
34
+ emended[i] = accessor;
35
+ break;
36
+ }
37
+ }
38
+ });
39
+ route.accessors.splice(0, route.accessors.length, ...emended);
40
+ }
41
+ };
42
+
43
+ const shrink = (routeList: IRoute[]) => {
44
+ const dict: Set<string> = prepare(routeList);
45
+ for (const route of routeList) {
46
+ if (
47
+ route.accessors.length < 2 ||
48
+ route.accessors.at(-1) !== route.accessors.at(-2)
49
+ )
50
+ continue;
51
+
52
+ const cut: string[] = route.accessors.slice(0, -1);
53
+ if (dict.has(cut.join(".")) === true) continue;
54
+
55
+ route.accessors = cut;
56
+ }
57
+ };
58
+ }
@@ -6,6 +6,7 @@ import { CommentFactory } from "typia/lib/factories/CommentFactory";
6
6
  import { IController } from "../structures/IController";
7
7
  import { IRoute } from "../structures/IRoute";
8
8
  import { ITypeTuple } from "../structures/ITypeTuple";
9
+ import { PathUtil } from "../utils/PathUtil";
9
10
  import { GenericAnalyzer } from "./GenericAnalyzer";
10
11
  import { ImportAnalyzer } from "./ImportAnalyzer";
11
12
  import { PathAnalyzer } from "./PathAnalyzer";
@@ -135,7 +136,7 @@ export namespace ControllerAnalyzer {
135
136
 
136
137
  // CONSTRUCT COMMON DATA
137
138
  const tags = signature.getJsDocTags();
138
- const common: Omit<IRoute, "path"> = {
139
+ const common: Omit<IRoute, "path" | "accessors"> = {
139
140
  ...func,
140
141
  parameters,
141
142
  output: { ...outputType, contentType: func.contentType },
@@ -189,6 +190,7 @@ export namespace ControllerAnalyzer {
189
190
  return pathList.map((path) => ({
190
191
  ...common,
191
192
  path,
193
+ accessors: [...PathUtil.accessors(path), func.name],
192
194
  }));
193
195
  }
194
196
 
@@ -4,7 +4,6 @@ import path from "path";
4
4
  import { INestiaConfig } from "../INestiaConfig";
5
5
  import { IRoute } from "../structures/IRoute";
6
6
  import { NestiaConfigUtil } from "../utils/NestiaConfigUtil";
7
- import { PathUtil } from "../utils/PathUtil";
8
7
  import { E2eFileProgrammer } from "./internal/E2eFileProgrammer";
9
8
 
10
9
  export namespace E2eGenerator {
@@ -13,18 +12,6 @@ export namespace E2eGenerator {
13
12
  async (routeList: IRoute[]): Promise<void> => {
14
13
  console.log("Generating E2E Test Functions");
15
14
 
16
- const pathDict: Map<string, number> = new Map();
17
- for (const route of routeList) {
18
- const sequence: string[] = PathUtil.accessors(route.path).map(
19
- (_str, i, entire) => entire.slice(0, i + 1).join("/"),
20
- );
21
- for (const s of sequence) {
22
- const count: number = pathDict.get(s) ?? 0;
23
- pathDict.set(s, count + 1);
24
- }
25
- }
26
- const counter = (path: string): number => pathDict.get(path) ?? 0;
27
-
28
15
  // PREPARE DIRECTORIES
29
16
  const output: string = path.resolve(config.e2e!);
30
17
  await mkdir(output);
@@ -37,7 +24,7 @@ export namespace E2eGenerator {
37
24
 
38
25
  // GENERATE EACH TEST FILES
39
26
  for (const route of routeList)
40
- await E2eFileProgrammer.generate(config)(counter)({
27
+ await E2eFileProgrammer.generate(config)({
41
28
  api: path.resolve(config.output!),
42
29
  current: path.join(output, "features", "api", "automated"),
43
30
  })(route);
@@ -4,12 +4,10 @@ import path from "path";
4
4
  import { INestiaConfig } from "../../INestiaConfig";
5
5
  import { IRoute } from "../../structures/IRoute";
6
6
  import { ImportDictionary } from "../../utils/ImportDictionary";
7
- import { PathUtil } from "../../utils/PathUtil";
8
7
 
9
8
  export namespace E2eFileProgrammer {
10
9
  export const generate =
11
10
  (config: INestiaConfig) =>
12
- (counter: (path: string) => number) =>
13
11
  (props: { api: string; current: string }) =>
14
12
  async (route: IRoute): Promise<void> => {
15
13
  const importDict: ImportDictionary = new ImportDictionary();
@@ -42,12 +40,12 @@ export namespace E2eFileProgrammer {
42
40
  ? []
43
41
  : [importDict.toScript(props.current)]),
44
42
  "",
45
- arrow(config)(counter)(route),
43
+ arrow(config)(route),
46
44
  ...(additional.length ? ["", ...additional] : []),
47
45
  ].join("\n");
48
46
 
49
47
  await fs.promises.writeFile(
50
- `${props.current}/${name(counter)(route)}.ts`,
48
+ `${props.current}/${name(route)}.ts`,
51
49
  content,
52
50
  "utf8",
53
51
  );
@@ -55,17 +53,16 @@ export namespace E2eFileProgrammer {
55
53
 
56
54
  const arrow =
57
55
  (config: INestiaConfig) =>
58
- (counter: (path: string) => number) =>
59
56
  (route: IRoute): string => {
60
57
  const tab: number = route.output.name === "void" ? 2 : 3;
61
58
  const output = [
62
- `await ${accessor(counter)(route)}(`,
59
+ `await ${accessor(route)}(`,
63
60
  `${" ".repeat(tab * 4)}connection,`,
64
61
  ...route.parameters.map(parameter(config)(tab)),
65
62
  `${" ".repeat((tab - 1) * 4)});`,
66
63
  ].join("\n");
67
64
  return [
68
- `export const ${name(counter)(route)} = async (`,
65
+ `export const ${name(route)} = async (`,
69
66
  ` connection: api.IConnection`,
70
67
  `): Promise<void> => {`,
71
68
  ...(route.output.name === "void"
@@ -96,29 +93,11 @@ export namespace E2eFileProgrammer {
96
93
  return `${" ".repeat(4 * tab)}${middle},`;
97
94
  };
98
95
 
99
- const name =
100
- (counter: (path: string) => number) =>
101
- (route: IRoute): string =>
102
- "test_api_" +
103
- postfix(counter)(PathUtil.accessors(route.path))(route.name).join(
104
- "_",
105
- );
106
-
107
- const accessor =
108
- (counter: (path: string) => number) =>
109
- (route: IRoute): string =>
110
- "api.functional." +
111
- postfix(counter)(PathUtil.accessors(route.path))(route.name).join(
112
- ".",
113
- );
96
+ const name = (route: IRoute): string =>
97
+ ["test", "api", ...route.accessors].join("_");
114
98
 
115
- const postfix =
116
- (counter: (path: string) => number) =>
117
- (array: string[]) =>
118
- (name: string) =>
119
- array.at(-1) === name && counter(array.join("/")) < 2
120
- ? array
121
- : [...array, name];
99
+ const accessor = (route: IRoute): string =>
100
+ ["api", "functional", ...route.accessors].join(".");
122
101
 
123
102
  const primitive =
124
103
  (config: INestiaConfig) =>
@@ -3,6 +3,7 @@ import fs from "fs";
3
3
  import { INestiaConfig } from "../../INestiaConfig";
4
4
  import { IRoute } from "../../structures/IRoute";
5
5
  import { ImportDictionary } from "../../utils/ImportDictionary";
6
+ import { MapUtil } from "../../utils/MapUtil";
6
7
  import { SdkFunctionProgrammer } from "./SdkFunctionProgrammer";
7
8
  import { SdkRouteDirectory } from "./SdkRouteDirectory";
8
9
 
@@ -20,9 +21,6 @@ export namespace SdkFileProgrammer {
20
21
  );
21
22
  for (const route of routeList) emplace(root)(route);
22
23
 
23
- // RELOCATE FOR ONLY ONE CONTROLLER METHOD IN AN URL CASE
24
- relocate(root);
25
-
26
24
  // ITERATE FILES
27
25
  await iterate(config)(root)(config.output + "/functional");
28
26
  };
@@ -30,15 +28,10 @@ export namespace SdkFileProgrammer {
30
28
  const emplace =
31
29
  (directory: SdkRouteDirectory) =>
32
30
  (route: IRoute): void => {
33
- // SEPARATE IDENTIFIERS
34
- const identifiers: string[] = route.path
35
- .split("/")
36
- .filter((str) => str.length && str[0] !== ":")
37
- .map((str) => str.split("-").join("_").split(".").join("_"));
38
-
39
31
  // OPEN DIRECTORIES
40
- for (const key of identifiers) {
41
- directory = directory.directories.take(
32
+ for (const key of route.accessors.slice(0, -1)) {
33
+ directory = MapUtil.take(
34
+ directory.children,
42
35
  key,
43
36
  () => new SdkRouteDirectory(directory, key),
44
37
  );
@@ -48,19 +41,6 @@ export namespace SdkFileProgrammer {
48
41
  directory.routes.push(route);
49
42
  };
50
43
 
51
- const relocate = (directory: SdkRouteDirectory): void => {
52
- if (
53
- directory.parent !== null &&
54
- directory.directories.empty() &&
55
- directory.routes.length === 1 &&
56
- directory.name === directory.routes[0].name
57
- ) {
58
- directory.parent.routes.push(directory.routes[0]);
59
- directory.parent.directories.erase(directory.name);
60
- } else if (directory.directories.empty() === false)
61
- for (const it of directory.directories) relocate(it.second);
62
- };
63
-
64
44
  /* ---------------------------------------------------------
65
45
  FILE ITERATOR
66
46
  --------------------------------------------------------- */
@@ -75,9 +55,9 @@ export namespace SdkFileProgrammer {
75
55
 
76
56
  // ITERATE CHILDREN
77
57
  const content: string[] = [];
78
- for (const it of directory.directories) {
79
- await iterate(config)(it.second)(`${outDir}/${it.first}`);
80
- content.push(`export * as ${it.first} from "./${it.first}";`);
58
+ for (const [key, value] of directory.children) {
59
+ await iterate(config)(value)(`${outDir}/${key}`);
60
+ content.push(`export * as ${key} from "./${key}";`);
81
61
  }
82
62
  if (content.length && directory.routes.length) content.push("");
83
63
 
@@ -1,17 +1,15 @@
1
- import { HashMap } from "tstl";
2
-
3
1
  import { IRoute } from "../../structures/IRoute";
4
2
 
5
3
  export class SdkRouteDirectory {
6
4
  public readonly module: string;
7
- public readonly directories: HashMap<string, SdkRouteDirectory>;
5
+ public readonly children: Map<string, SdkRouteDirectory>;
8
6
  public readonly routes: IRoute[];
9
7
 
10
8
  public constructor(
11
9
  readonly parent: SdkRouteDirectory | null,
12
10
  readonly name: string,
13
11
  ) {
14
- this.directories = new HashMap();
12
+ this.children = new Map();
15
13
  this.routes = [];
16
14
  this.module =
17
15
  this.parent !== null
@@ -10,6 +10,7 @@ export interface IRoute {
10
10
  encrypted: boolean;
11
11
  status?: number;
12
12
 
13
+ accessors: string[];
13
14
  parameters: IRoute.IParameter[];
14
15
  imports: [string, string[]][];
15
16
  output: IRoute.IOutput;