@nestia/migrate 14.0.0 → 14.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +1 -1
  2. package/lib/analyzers/NestiaMigrateControllerAnalyzer.d.ts +13 -0
  3. package/lib/analyzers/NestiaMigrateControllerAnalyzer.js +32 -2
  4. package/lib/analyzers/NestiaMigrateControllerAnalyzer.js.map +1 -1
  5. package/lib/analyzers/NestiaMigrateControllerAnalyzer.mjs +14 -2
  6. package/lib/bundles/NEST_TEMPLATE.js +1 -1
  7. package/lib/bundles/NEST_TEMPLATE.js.map +1 -1
  8. package/lib/bundles/NEST_TEMPLATE.mjs +1 -1
  9. package/lib/bundles/SDK_TEMPLATE.js +1 -1
  10. package/lib/bundles/SDK_TEMPLATE.js.map +1 -1
  11. package/lib/bundles/SDK_TEMPLATE.mjs +1 -1
  12. package/lib/executable/NestiaMigrateCommander.js +5 -1
  13. package/lib/executable/NestiaMigrateCommander.js.map +1 -1
  14. package/lib/executable/NestiaMigrateCommander.mjs +1 -1
  15. package/lib/executable/NestiaMigrateInquirer.js +7 -25
  16. package/lib/executable/NestiaMigrateInquirer.js.map +1 -1
  17. package/lib/executable/NestiaMigrateInquirer.mjs +5 -7
  18. package/lib/programmers/NestiaMigrateApiFunctionProgrammer.js +7 -5
  19. package/lib/programmers/NestiaMigrateApiFunctionProgrammer.js.map +1 -1
  20. package/lib/programmers/NestiaMigrateApiFunctionProgrammer.mjs +4 -2
  21. package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.js +31 -13
  22. package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.js.map +1 -1
  23. package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.mjs +17 -8
  24. package/lib/programmers/NestiaMigrateApiSimulationProgrammer.js +24 -22
  25. package/lib/programmers/NestiaMigrateApiSimulationProgrammer.js.map +1 -1
  26. package/lib/programmers/NestiaMigrateApiSimulationProgrammer.mjs +13 -20
  27. package/lib/programmers/NestiaMigrateE2eFileProgrammer.js +20 -5
  28. package/lib/programmers/NestiaMigrateE2eFileProgrammer.js.map +1 -1
  29. package/lib/programmers/NestiaMigrateE2eFileProgrammer.mjs +6 -2
  30. package/lib/programmers/NestiaMigrateNestMethodProgrammer.js +69 -13
  31. package/lib/programmers/NestiaMigrateNestMethodProgrammer.js.map +1 -1
  32. package/lib/programmers/NestiaMigrateNestMethodProgrammer.mjs +46 -9
  33. package/lib/programmers/NestiaMigrateSchemaProgrammer.js +25 -4
  34. package/lib/programmers/NestiaMigrateSchemaProgrammer.js.map +1 -1
  35. package/lib/programmers/NestiaMigrateSchemaProgrammer.mjs +15 -4
  36. package/lib/utils/PathTemplate.d.ts +19 -0
  37. package/lib/utils/PathTemplate.js +42 -0
  38. package/lib/utils/PathTemplate.js.map +1 -0
  39. package/lib/utils/PathTemplate.mjs +34 -0
  40. package/lib/utils/PathTemplate.mjs.map +1 -0
  41. package/lib/utils/RequestBody.d.ts +9 -0
  42. package/lib/utils/RequestBody.js +16 -0
  43. package/lib/utils/RequestBody.js.map +1 -0
  44. package/lib/utils/RequestBody.mjs +9 -0
  45. package/lib/utils/RequestBody.mjs.map +1 -0
  46. package/lib/utils/SuccessStatus.d.ts +14 -0
  47. package/lib/utils/SuccessStatus.js +28 -0
  48. package/lib/utils/SuccessStatus.js.map +1 -0
  49. package/lib/utils/SuccessStatus.mjs +14 -0
  50. package/lib/utils/SuccessStatus.mjs.map +1 -0
  51. package/package.json +2 -2
  52. package/src/analyzers/NestiaMigrateControllerAnalyzer.ts +39 -2
  53. package/src/bundles/NEST_TEMPLATE.ts +1 -1
  54. package/src/bundles/SDK_TEMPLATE.ts +1 -1
  55. package/src/executable/NestiaMigrateCommander.ts +7 -1
  56. package/src/executable/NestiaMigrateInquirer.ts +12 -26
  57. package/src/programmers/NestiaMigrateApiFunctionProgrammer.ts +10 -4
  58. package/src/programmers/NestiaMigrateApiNamespaceProgrammer.ts +41 -20
  59. package/src/programmers/NestiaMigrateApiSimulationProgrammer.ts +23 -73
  60. package/src/programmers/NestiaMigrateE2eFileProgrammer.ts +41 -8
  61. package/src/programmers/NestiaMigrateNestMethodProgrammer.ts +88 -29
  62. package/src/programmers/NestiaMigrateSchemaProgrammer.ts +28 -10
  63. package/src/utils/PathTemplate.ts +39 -0
  64. package/src/utils/RequestBody.ts +14 -0
  65. package/src/utils/SuccessStatus.ts +29 -0
package/README.md CHANGED
@@ -60,7 +60,7 @@ Check out the document in the [website](https://nestia.io/docs/):
60
60
  ### 🏠 Home
61
61
  - [Introduction](https://nestia.io/docs/)
62
62
  - [Setup](https://nestia.io/docs/setup/)
63
- - [Pure TypeScript](https://nestia.io/docs/pure)
63
+ - [Pure TypeScript](https://nestia.io/docs/core/TypedBody/)
64
64
 
65
65
  ### 📖 Features
66
66
  - Core Library
@@ -2,4 +2,17 @@ import { IHttpMigrateRoute } from "@typia/interface";
2
2
  import { INestiaMigrateController } from "../structures/INestiaMigrateController";
3
3
  export declare namespace NestiaMigrateControllerAnalyzer {
4
4
  const analyze: (routes: IHttpMigrateRoute[]) => INestiaMigrateController[];
5
+ /**
6
+ * The route's path as NestJS reads it: each path parameter under the key its
7
+ * handler reads with `@TypedParam()`. The document's name, such as `item-id`,
8
+ * is no path-to-regexp parameter name; it would read as `item` followed by
9
+ * the literal `-id`, and the handler's lookup would miss. Each parameter is
10
+ * found where the document's template writes it, beside literal text in its
11
+ * segment too (`/files/{id}.json`).
12
+ *
13
+ * A literal character the router reserves is escaped, so an AIP custom
14
+ * method's `/items:batchGet` stays a literal rather than a parameter
15
+ * `batchGet`, and `(` or `*` no syntax error.
16
+ */
17
+ const routePath: (route: IHttpMigrateRoute) => string;
5
18
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NestiaMigrateControllerAnalyzer = void 0;
4
4
  const MapUtil_1 = require("../utils/MapUtil");
5
+ const PathTemplate_1 = require("../utils/PathTemplate");
5
6
  const StringUtil_1 = require("../utils/StringUtil");
6
7
  var NestiaMigrateControllerAnalyzer;
7
8
  (function (NestiaMigrateControllerAnalyzer) {
@@ -22,8 +23,10 @@ var NestiaMigrateControllerAnalyzer;
22
23
  }
23
24
  const controllers = [...collection.values()];
24
25
  for (const col of controllers) {
25
- const splitPath = (r) => r.emendedPath.split("/");
26
- const splitLocation = (r) => splitPath(r).filter((s) => s.length !== 0 && s[0] !== ":");
26
+ const splitPath = (r) => NestiaMigrateControllerAnalyzer.routePath(r).split("/");
27
+ const splitLocation = (r) => splitPath(r)
28
+ .filter((s) => s.length !== 0 && s[0] !== ":")
29
+ .map(directoryName);
27
30
  const minPath = splitPath(col.routes[0]);
28
31
  const minLocation = splitLocation(col.routes[0]);
29
32
  for (const r of col.routes.slice(1)) {
@@ -35,7 +38,34 @@ var NestiaMigrateControllerAnalyzer;
35
38
  }
36
39
  return controllers;
37
40
  };
41
+ /**
42
+ * The route's path as NestJS reads it: each path parameter under the key its
43
+ * handler reads with `@TypedParam()`. The document's name, such as `item-id`,
44
+ * is no path-to-regexp parameter name; it would read as `item` followed by
45
+ * the literal `-id`, and the handler's lookup would miss. Each parameter is
46
+ * found where the document's template writes it, beside literal text in its
47
+ * segment too (`/files/{id}.json`).
48
+ *
49
+ * A literal character the router reserves is escaped, so an AIP custom
50
+ * method's `/items:batchGet` stays a literal rather than a parameter
51
+ * `batchGet`, and `(` or `*` no syntax error.
52
+ */
53
+ NestiaMigrateControllerAnalyzer.routePath = (route) => PathTemplate_1.PathTemplate.segments(route)
54
+ .map((segment) => segment.type === "literal"
55
+ ? segment.value.replace(ROUTER_RESERVED, "\\$&")
56
+ : `:${segment.parameter.key}`)
57
+ .join("");
38
58
  })(NestiaMigrateControllerAnalyzer || (exports.NestiaMigrateControllerAnalyzer = NestiaMigrateControllerAnalyzer = {}));
59
+ /**
60
+ * The characters path-to-regexp 8, Express 5's router, gives a meaning in a
61
+ * route: parameters, wildcards, optional groups, and its own escape.
62
+ */
63
+ const ROUTER_RESERVED = /[\\:*?+!(){}[\]]/g;
64
+ /**
65
+ * A route segment as a directory name: unescaped, and each character a file
66
+ * name cannot hold on Windows (`:` of an AIP custom method, `*`, `?`) as `_`.
67
+ */
68
+ const directoryName = (segment) => segment.replace(/\\(.)/g, "$1").replace(/[<>:"|?*\\]/g, "_");
39
69
  const getSplitIndex = (x, y) => {
40
70
  const n = Math.min(x.length, y.length);
41
71
  for (let i = 0; i < n; ++i)
@@ -1 +1 @@
1
- {"version":3,"file":"NestiaMigrateControllerAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/NestiaMigrateControllerAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NestiaMigrateControllerAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/NestiaMigrateControllerAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { StringUtil } from "../utils/StringUtil.mjs";
2
+ import { PathTemplate } from "../utils/PathTemplate.mjs";
2
3
  import { MapUtil } from "../utils/MapUtil.mjs";
3
4
  //#region src/analyzers/NestiaMigrateControllerAnalyzer.ts
4
5
  let NestiaMigrateControllerAnalyzer;
@@ -16,8 +17,8 @@ let NestiaMigrateControllerAnalyzer;
16
17
  }
17
18
  const controllers = [...collection.values()];
18
19
  for (const col of controllers) {
19
- const splitPath = (r) => r.emendedPath.split("/");
20
- const splitLocation = (r) => splitPath(r).filter((s) => s.length !== 0 && s[0] !== ":");
20
+ const splitPath = (r) => routePath(r).split("/");
21
+ const splitLocation = (r) => splitPath(r).filter((s) => s.length !== 0 && s[0] !== ":").map(directoryName);
21
22
  const minPath = splitPath(col.routes[0]);
22
23
  const minLocation = splitLocation(col.routes[0]);
23
24
  for (const r of col.routes.slice(1)) {
@@ -33,7 +34,18 @@ let NestiaMigrateControllerAnalyzer;
33
34
  }
34
35
  return controllers;
35
36
  };
37
+ const routePath = _NestiaMigrateControllerAnalyzer.routePath = (route) => PathTemplate.segments(route).map((segment) => segment.type === "literal" ? segment.value.replace(ROUTER_RESERVED, "\\$&") : `:${segment.parameter.key}`).join("");
36
38
  })(NestiaMigrateControllerAnalyzer || (NestiaMigrateControllerAnalyzer = {}));
39
+ /**
40
+ * The characters path-to-regexp 8, Express 5's router, gives a meaning in a
41
+ * route: parameters, wildcards, optional groups, and its own escape.
42
+ */
43
+ const ROUTER_RESERVED = /[\\:*?+!(){}[\]]/g;
44
+ /**
45
+ * A route segment as a directory name: unescaped, and each character a file
46
+ * name cannot hold on Windows (`:` of an AIP custom method, `*`, `?`) as `_`.
47
+ */
48
+ const directoryName = (segment) => segment.replace(/\\(.)/g, "$1").replace(/[<>:"|?*\\]/g, "_");
37
49
  const getSplitIndex = (x, y) => {
38
50
  const n = Math.min(x.length, y.length);
39
51
  for (let i = 0; i < n; ++i) if (x[i] !== y[i]) return i;
@@ -52,7 +52,7 @@ exports.NEST_TEMPLATE = {
52
52
  "packages/backend/test/webpack.ts": "import { DynamicExecutor } from \"@nestia/e2e\";\nimport cp from \"node:child_process\";\nimport { sleep_for } from \"tstl\";\n\nimport { MyConfiguration } from \"../src/MyConfiguration\";\nimport { MyGlobal } from \"../src/MyGlobal\";\nimport { TestAutomation } from \"./helpers/TestAutomation\";\nimport { TestAutomationStdio } from \"./helpers/TestAutomationStdio\";\n\nconst wait = async (): Promise<void> => {\n while (true)\n try {\n await fetch(`http://localhost:${MyConfiguration.API_PORT()}/dsafdsafsd`);\n return;\n } catch (exp) {\n await sleep_for(100);\n }\n};\n\nconst main = async (): Promise<void> => {\n MyGlobal.testing = true;\n\n const report: DynamicExecutor.IReport = await TestAutomation.execute({\n open: async () => {\n const backend: cp.ChildProcess = cp.fork(\n `${MyConfiguration.ROOT}/dist/server.js`,\n {\n cwd: `${MyConfiguration.ROOT}/dist`,\n },\n );\n await wait();\n return backend;\n },\n close: async (backend) => {\n backend.kill();\n },\n options: await TestAutomationStdio.getOptions(),\n onComplete: TestAutomationStdio.onComplete,\n });\n TestAutomationStdio.report(report);\n};\nmain().catch((exp: unknown) => {\n console.log(exp);\n process.exit(-1);\n});\n",
53
53
  "packages/backend/tsconfig.json": "{\n \"extends\": \"../../config/tsconfig.json\",\n \"compilerOptions\": {\n \"outDir\": \"lib\",\n \"rootDir\": \"src\",\n \"experimentalDecorators\": true,\n \"emitDecoratorMetadata\": true\n },\n \"include\": [\"src\"]\n}\n",
54
54
  "packages/backend/webpack.config.js": "const path = require(\"path\");\n\nconst CopyWebpackPlugin = require(\"copy-webpack-plugin\");\nconst WriteFilePlugin = require(\"write-file-webpack-plugin\");\nconst { IgnorePlugin } = require(\"webpack\");\n\nconst lazyImports = [\n \"@modelcontextprotocol/sdk\",\n \"@fastify/static\",\n \"@fastify/view\",\n \"@nestjs/microservices\",\n \"@nestjs/websockets\",\n \"class-transformer\",\n \"class-validator\",\n];\n\n// @reference https://tech-blog.s-yoshiki.com/entry/297\nmodule.exports = {\n // CUSTOMIZE HERE\n entry: {\n server: \"./lib/executable/server.js\",\n },\n output: {\n path: path.join(__dirname, \"dist\"),\n filename: \"[name].js\",\n },\n optimization: {\n minimize: true,\n },\n\n // JUST KEEP THEM\n mode: \"production\",\n target: \"node\",\n plugins: [\n new CopyWebpackPlugin({\n patterns: [\n {\n from: \".env\",\n to: \"[name][ext]\",\n },\n ],\n }),\n new WriteFilePlugin(),\n new IgnorePlugin({\n checkResource: (resource) => {\n if (lazyImports.some((modulo) => resource.startsWith(modulo))) {\n try {\n require.resolve(resource);\n } catch (err) {\n return true;\n }\n }\n return false;\n },\n }),\n ],\n};\n",
55
- "pnpm-workspace.yaml": "packages:\n - \"config\"\n - \"packages/*\"\ncatalogs:\n samchon:\n \"@nestia/benchmark\": ^14.0.0\n \"@nestia/core\": ^14.0.0\n \"@nestia/e2e\": ^14.0.0\n \"@nestia/fetcher\": ^14.0.0\n \"@nestia/sdk\": ^14.0.0\n nestia: ^14.0.0\n tgrid: ^1.2.1\n tstl: ^3.0.0\n typia: ^15.0.0\n rolldown:\n rolldown: ^1.1.5\n utils:\n rimraf: ^6.1.3\n uuid: ^13.0.0\n typescript:\n \"@ttsc/lint\": ^0.18.2\n \"@ttsc/paths\": ^0.18.2\n \"@ttsc/unplugin\": ^0.28.1\n ttsc: ^0.28.1\n typescript: ^7.0.2\n",
55
+ "pnpm-workspace.yaml": "packages:\n - \"config\"\n - \"packages/*\"\ncatalogs:\n samchon:\n \"@nestia/benchmark\": ^14.0.1\n \"@nestia/core\": ^14.0.1\n \"@nestia/e2e\": ^14.0.1\n \"@nestia/fetcher\": ^14.0.1\n \"@nestia/sdk\": ^14.0.1\n nestia: ^14.0.1\n tgrid: ^1.2.1\n tstl: ^3.0.0\n typia: 15.0.0\n rolldown:\n rolldown: ^1.1.5\n utils:\n rimraf: ^6.1.3\n uuid: ^13.0.0\n typescript:\n \"@ttsc/lint\": ^0.18.2\n \"@ttsc/paths\": ^0.18.2\n \"@ttsc/unplugin\": ^0.28.1\n ttsc: ^0.28.1\n typescript: ^7.0.2\n",
56
56
  "typos.toml": "[default]\nlocale = 'en-us'\nextend-ignore-re = [\n \"(?Rm)^.*(<!--|#|//)\\\\s*spellchecker:disable-line(-->|\\n)?$\",\n \"(?s)(<!--|#|//)\\\\s*spellchecker:off\\\\s*(-->|\\n).*?(<!--|#|//)\\\\s*spellchecker:on\",\n]\n\n[default.extend-words]\nJeongho = \"Jeongho\"\nNam = \"Nam\"\ntypia = \"typia\"\n\n[files]\nextend-exclude = [\"*.json\"]"
57
57
  };
58
58
  //# sourceMappingURL=NEST_TEMPLATE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NEST_TEMPLATE.js","sourceRoot":"","sources":["../../src/bundles/NEST_TEMPLATE.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAA2B;IACnD,6BAA6B,EAAE,scAAsc;IACre,6BAA6B,EAAE,oQAAoQ;IACnS,YAAY,EAAE,8EAA8E;IAC5F,qBAAqB,EAAE,s5BAAs5B;IAC76B,uBAAuB,EAAE,iCAAiC;IAC1D,SAAS,EAAE,ukCAAukC;IACllC,WAAW,EAAE,8+PAA8+P;IAC3/P,uBAAuB,EAAE,23OAA23O;IACp5O,qBAAqB,EAAE,+eAA+e;IACtgB,4BAA4B,EAAE,64BAA64B;IAC36B,sBAAsB,EAAE,gfAAgf;IACxgB,cAAc,EAAE,q+BAAq+B;IACr/B,yBAAyB,EAAE,kDAAkD;IAC7E,sBAAsB,EAAE,skCAAskC;IAC9lC,wBAAwB,EAAE,6gEAA6gE;IACviE,6BAA6B,EAAE,iMAAiM;IAChO,2BAA2B,EAAE,6sDAA6sD;IAC1uD,kCAAkC,EAAE,iEAAiE;IACrG,gDAAgD,EAAE,uuCAAuuC;IACzxC,+BAA+B,EAAE,kDAAkD;IACnF,iCAAiC,EAAE,yDAAyD;IAC5F,+BAA+B,EAAE,6CAA6C;IAC9E,8BAA8B,EAAE,4CAA4C;IAC5E,2BAA2B,EAAE,0FAA0F;IACvH,4BAA4B,EAAE,4OAA4O;IAC1Q,4BAA4B,EAAE,6SAA6S;IAC3U,6BAA6B,EAAE,gBAAgB;IAC/C,+BAA+B,EAAE,4OAA4O;IAC7Q,+EAA+E,EAAE,4pGAA4pG;IAC7uG,iCAAiC,EAAE,uJAAuJ;IAC1L,gCAAgC,EAAE,8OAA8O;IAChR,mCAAmC,EAAE,8iBAA8iB;IACnlB,+BAA+B,EAAE,m1GAAm1G;IACp3G,mCAAmC,EAAE,mpCAAmpC;IACxrC,yCAAyC,EAAE,shBAAshB;IACjkB,kCAAkC,EAAE,6lBAA6lB;IACjoB,2CAA2C,EAAE,miBAAmiB;IAChlB,4CAA4C,EAAE,27BAA27B;IACz+B,yCAAyC,EAAE,4PAA4P;IACvS,uCAAuC,EAAE,sTAAsT;IAC/V,0CAA0C,EAAE,8vHAA8vH;IAC1yH,4CAA4C,EAAE,kbAAkb;IAChe,iDAAiD,EAAE,i4GAAi4G;IACp7G,iDAAiD,EAAE,qsDAAqsD;IACxvD,sDAAsD,EAAE,mlEAAmlE;IAC3oE,gCAAgC,EAAE,60BAA60B;IAC/2B,qCAAqC,EAAE,iKAAiK;IACxM,kCAAkC,EAAE,2xCAA2xC;IAC/zC,gCAAgC,EAAE,mPAAmP;IACrR,oCAAoC,EAAE,8xCAA8xC;IACp0C,qBAAqB,EAAE,iiBAAiiB;IACxjB,YAAY,EAAE,yVAAyV;CACxW,CAAA"}
1
+ {"version":3,"file":"NEST_TEMPLATE.js","sourceRoot":"","sources":["../../src/bundles/NEST_TEMPLATE.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAA2B;IACnD,6BAA6B,EAAE,scAAsc;IACre,6BAA6B,EAAE,oQAAoQ;IACnS,YAAY,EAAE,8EAA8E;IAC5F,qBAAqB,EAAE,s5BAAs5B;IAC76B,uBAAuB,EAAE,iCAAiC;IAC1D,SAAS,EAAE,ukCAAukC;IACllC,WAAW,EAAE,8+PAA8+P;IAC3/P,uBAAuB,EAAE,23OAA23O;IACp5O,qBAAqB,EAAE,+eAA+e;IACtgB,4BAA4B,EAAE,64BAA64B;IAC36B,sBAAsB,EAAE,gfAAgf;IACxgB,cAAc,EAAE,q+BAAq+B;IACr/B,yBAAyB,EAAE,kDAAkD;IAC7E,sBAAsB,EAAE,skCAAskC;IAC9lC,wBAAwB,EAAE,6gEAA6gE;IACviE,6BAA6B,EAAE,iMAAiM;IAChO,2BAA2B,EAAE,6sDAA6sD;IAC1uD,kCAAkC,EAAE,iEAAiE;IACrG,gDAAgD,EAAE,uuCAAuuC;IACzxC,+BAA+B,EAAE,kDAAkD;IACnF,iCAAiC,EAAE,yDAAyD;IAC5F,+BAA+B,EAAE,6CAA6C;IAC9E,8BAA8B,EAAE,4CAA4C;IAC5E,2BAA2B,EAAE,0FAA0F;IACvH,4BAA4B,EAAE,4OAA4O;IAC1Q,4BAA4B,EAAE,6SAA6S;IAC3U,6BAA6B,EAAE,gBAAgB;IAC/C,+BAA+B,EAAE,4OAA4O;IAC7Q,+EAA+E,EAAE,4pGAA4pG;IAC7uG,iCAAiC,EAAE,uJAAuJ;IAC1L,gCAAgC,EAAE,8OAA8O;IAChR,mCAAmC,EAAE,8iBAA8iB;IACnlB,+BAA+B,EAAE,m1GAAm1G;IACp3G,mCAAmC,EAAE,mpCAAmpC;IACxrC,yCAAyC,EAAE,shBAAshB;IACjkB,kCAAkC,EAAE,6lBAA6lB;IACjoB,2CAA2C,EAAE,miBAAmiB;IAChlB,4CAA4C,EAAE,27BAA27B;IACz+B,yCAAyC,EAAE,4PAA4P;IACvS,uCAAuC,EAAE,sTAAsT;IAC/V,0CAA0C,EAAE,8vHAA8vH;IAC1yH,4CAA4C,EAAE,kbAAkb;IAChe,iDAAiD,EAAE,i4GAAi4G;IACp7G,iDAAiD,EAAE,qsDAAqsD;IACxvD,sDAAsD,EAAE,mlEAAmlE;IAC3oE,gCAAgC,EAAE,60BAA60B;IAC/2B,qCAAqC,EAAE,iKAAiK;IACxM,kCAAkC,EAAE,2xCAA2xC;IAC/zC,gCAAgC,EAAE,mPAAmP;IACrR,oCAAoC,EAAE,8xCAA8xC;IACp0C,qBAAqB,EAAE,giBAAgiB;IACvjB,YAAY,EAAE,yVAAyV;CACxW,CAAA"}
@@ -50,7 +50,7 @@ const NEST_TEMPLATE = {
50
50
  "packages/backend/test/webpack.ts": "import { DynamicExecutor } from \"@nestia/e2e\";\nimport cp from \"node:child_process\";\nimport { sleep_for } from \"tstl\";\n\nimport { MyConfiguration } from \"../src/MyConfiguration\";\nimport { MyGlobal } from \"../src/MyGlobal\";\nimport { TestAutomation } from \"./helpers/TestAutomation\";\nimport { TestAutomationStdio } from \"./helpers/TestAutomationStdio\";\n\nconst wait = async (): Promise<void> => {\n while (true)\n try {\n await fetch(`http://localhost:${MyConfiguration.API_PORT()}/dsafdsafsd`);\n return;\n } catch (exp) {\n await sleep_for(100);\n }\n};\n\nconst main = async (): Promise<void> => {\n MyGlobal.testing = true;\n\n const report: DynamicExecutor.IReport = await TestAutomation.execute({\n open: async () => {\n const backend: cp.ChildProcess = cp.fork(\n `${MyConfiguration.ROOT}/dist/server.js`,\n {\n cwd: `${MyConfiguration.ROOT}/dist`,\n },\n );\n await wait();\n return backend;\n },\n close: async (backend) => {\n backend.kill();\n },\n options: await TestAutomationStdio.getOptions(),\n onComplete: TestAutomationStdio.onComplete,\n });\n TestAutomationStdio.report(report);\n};\nmain().catch((exp: unknown) => {\n console.log(exp);\n process.exit(-1);\n});\n",
51
51
  "packages/backend/tsconfig.json": "{\n \"extends\": \"../../config/tsconfig.json\",\n \"compilerOptions\": {\n \"outDir\": \"lib\",\n \"rootDir\": \"src\",\n \"experimentalDecorators\": true,\n \"emitDecoratorMetadata\": true\n },\n \"include\": [\"src\"]\n}\n",
52
52
  "packages/backend/webpack.config.js": "const path = require(\"path\");\n\nconst CopyWebpackPlugin = require(\"copy-webpack-plugin\");\nconst WriteFilePlugin = require(\"write-file-webpack-plugin\");\nconst { IgnorePlugin } = require(\"webpack\");\n\nconst lazyImports = [\n \"@modelcontextprotocol/sdk\",\n \"@fastify/static\",\n \"@fastify/view\",\n \"@nestjs/microservices\",\n \"@nestjs/websockets\",\n \"class-transformer\",\n \"class-validator\",\n];\n\n// @reference https://tech-blog.s-yoshiki.com/entry/297\nmodule.exports = {\n // CUSTOMIZE HERE\n entry: {\n server: \"./lib/executable/server.js\",\n },\n output: {\n path: path.join(__dirname, \"dist\"),\n filename: \"[name].js\",\n },\n optimization: {\n minimize: true,\n },\n\n // JUST KEEP THEM\n mode: \"production\",\n target: \"node\",\n plugins: [\n new CopyWebpackPlugin({\n patterns: [\n {\n from: \".env\",\n to: \"[name][ext]\",\n },\n ],\n }),\n new WriteFilePlugin(),\n new IgnorePlugin({\n checkResource: (resource) => {\n if (lazyImports.some((modulo) => resource.startsWith(modulo))) {\n try {\n require.resolve(resource);\n } catch (err) {\n return true;\n }\n }\n return false;\n },\n }),\n ],\n};\n",
53
- "pnpm-workspace.yaml": "packages:\n - \"config\"\n - \"packages/*\"\ncatalogs:\n samchon:\n \"@nestia/benchmark\": ^14.0.0\n \"@nestia/core\": ^14.0.0\n \"@nestia/e2e\": ^14.0.0\n \"@nestia/fetcher\": ^14.0.0\n \"@nestia/sdk\": ^14.0.0\n nestia: ^14.0.0\n tgrid: ^1.2.1\n tstl: ^3.0.0\n typia: ^15.0.0\n rolldown:\n rolldown: ^1.1.5\n utils:\n rimraf: ^6.1.3\n uuid: ^13.0.0\n typescript:\n \"@ttsc/lint\": ^0.18.2\n \"@ttsc/paths\": ^0.18.2\n \"@ttsc/unplugin\": ^0.28.1\n ttsc: ^0.28.1\n typescript: ^7.0.2\n",
53
+ "pnpm-workspace.yaml": "packages:\n - \"config\"\n - \"packages/*\"\ncatalogs:\n samchon:\n \"@nestia/benchmark\": ^14.0.1\n \"@nestia/core\": ^14.0.1\n \"@nestia/e2e\": ^14.0.1\n \"@nestia/fetcher\": ^14.0.1\n \"@nestia/sdk\": ^14.0.1\n nestia: ^14.0.1\n tgrid: ^1.2.1\n tstl: ^3.0.0\n typia: 15.0.0\n rolldown:\n rolldown: ^1.1.5\n utils:\n rimraf: ^6.1.3\n uuid: ^13.0.0\n typescript:\n \"@ttsc/lint\": ^0.18.2\n \"@ttsc/paths\": ^0.18.2\n \"@ttsc/unplugin\": ^0.28.1\n ttsc: ^0.28.1\n typescript: ^7.0.2\n",
54
54
  "typos.toml": "[default]\nlocale = 'en-us'\nextend-ignore-re = [\n \"(?Rm)^.*(<!--|#|//)\\\\s*spellchecker:disable-line(-->|\\n)?$\",\n \"(?s)(<!--|#|//)\\\\s*spellchecker:off\\\\s*(-->|\\n).*?(<!--|#|//)\\\\s*spellchecker:on\",\n]\n\n[default.extend-words]\nJeongho = \"Jeongho\"\nNam = \"Nam\"\ntypia = \"typia\"\n\n[files]\nextend-exclude = [\"*.json\"]"
55
55
  };
56
56
  //#endregion
@@ -8,7 +8,7 @@ exports.SDK_TEMPLATE = {
8
8
  "LICENSE": "MIT License\n\nCopyright (c) 2024 Jeongho Nam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
9
9
  "README.md": "# Software Development Kit\nThis is a SDK library generated by [`@nestia/migrate`](https://nestia.io/docs/migrate) or [`@nestia/editor`](https://nestia.io/docs/editor).\n\nWith this SDK library, you can easily and safely interact with backend server.\n\nJust import and call some API functions like gif image below:\n\n![nestia-sdk-demo](https://user-images.githubusercontent.com/13158709/215004990-368c589d-7101-404e-b81b-fbc936382f05.gif)\n\n> Left is server code, and right is client code utilizing the SDK\n\n\n\n\n## How to Test\n```bash\npnpm install\npnpm run start # run only \"test/start.ts\" file\npnpm run test # everything under the \"test/features\" directory\npnpm run test:simulate # \"test/features\" with mockup simulation mode\n```\n\nIf you run `pnpm run start` command, only [test/start.ts](test/start.ts) file would be executed.\n\nOtherwise you run `pnpm run test` command instead, run everything in the [test/features](test/features) directory.\n\nFor reference, the [test/features](test/features) directory and E2E test functions (for each API endpoints) would be automatically composed only when you've configured the \"E2E test function generation mode\" of the `@nestia/migrate` (or `@nestia/editor`).\n\n```bash\npnpm dlx @nestia/migrate\n? Migration mode (Use arrow keys):\n NestJS\n > SDK\n? Swagger file location: assets/input/clickhouse.json\n? Output directory path: assets/output/clickhouse-sdk-manual\n? Mokup Simulator: true\n? E2E Test Functions: true\n```\n\n\n\n\n## Deploy\n```bash\npnpm install\npnpm run deploy\n```\n\nJust run `pnpm run deploy` command, then your SDK library would be published.\n\nBy the way, the initial package name of this template repository is `@ORGANIZATION/PROJECT-api`. I think it would better to change the word to your own organization and project name. If you're utilizing `VsCode`, you can do it through `Edit > Replace in Files` (*Ctrl + Shift + H*) feature.\n\n-----------\n\n> ## What [`Nestia`](https://nestia.io) is:\n> ![Nestia Logo](https://nestia.io/logo.png)\n> \n> [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/nestia/blob/master/LICENSE)\n> [![npm version](https://img.shields.io/npm/v/@nestia/core.svg)](https://www.npmjs.com/package/@nestia/core)\n> [![Downloads](https://img.shields.io/npm/dm/@nestia/core.svg)](https://www.npmjs.com/package/@nestia/core)\n> [![Build Status](https://github.com/samchon/nestia/workflows/build/badge.svg)](https://github.com/samchon/nestia/actions?query=workflow%3Abuild)\n> [![Guide Documents](https://img.shields.io/badge/guide-documents-forestgreen)](https://nestia.io/docs/)\n> \n> Nestia is a set of helper libraries for NestJS, supporting below features:\n> \n> - `@nestia/core`: Super-fast decorators\n> - `@nestia/sdk`:\n> - Swagger generator evolved than ever\n> - SDK library generator for clients\n> - Mockup Simulator for client applications\n> - Automatic E2E test functions generator\n> - `@nestia/migrate`: Migration from Swagger to NestJS\n> - `@nestia/editor`: Online TypeScript Swagger Editor\n> - `nestia`: Just CLI (command line interface) tool\n> \n>> **Note**\n>> \n>> - **Only one line** required, with pure TypeScript type\n>> - Enhance performance **30x** up\n>> - Runtime validator is **20,000x faster** than `class-validator`\n>> - JSON serialization is **200x faster** than `class-transformer`\n>> - Software Development Kit\n>> - SDK is a collection of `fetch` functions with type definitions like [tRPC](https://> trpc.io/)\n>> - Mockup simulator means embedded backend simulator in SDK\n>> - similar with [msw](https://mswjs.io/), but fully automated\n",
10
10
  "hello.js": "function print(command, description) {\n return console.log(`\\x1b[1m${command}\\x1b[2m: ${description}\\x1b[0m`);\n}\n\nconsole.log(\"-----------------------------------------\");\nconsole.log(\"\\x1b[7mGenerated by \\x1b[2m@nestia/editor\\x1b[0m\");\nconsole.log(\"\");\nconsole.log(\" - \\x1b[36mhttps://nestia.io/docs/editor\\x1b[0m\");\nconsole.log(\" - \\x1b[36mhttps://github.com/samchon/nestia\\x1b[0m\");\nconsole.log(\"-----------------------------------------\");\n\nprint(\"pnpm run start\", \"Run only test/start.ts\");\nprint(\"pnpm run test\", \"Run every test/features/**/*.ts files\");\nprint(\"pnpm run test:simulate\", \"Test with mockup simulator\");\n",
11
- "package.json": "{\n \"name\": \"@ORGANIZATION/PROJECT-api\",\n \"version\": \"0.1.0\",\n \"description\": \"SDK library generated by Nestia\",\n \"main\": \"src/index.ts\",\n \"exports\": {\n \".\": \"./src/index.ts\",\n \"./lib/*\": \"./src/*.ts\",\n \"./package.json\": \"./package.json\"\n },\n \"publishConfig\": {\n \"main\": \"lib/index.mjs\",\n \"module\": \"lib/index.mjs\",\n \"types\": \"lib/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./lib/index.d.ts\",\n \"import\": \"./lib/index.mjs\",\n \"default\": \"./lib/index.js\"\n },\n \"./lib/*\": {\n \"types\": \"./lib/*.d.ts\",\n \"import\": \"./lib/*.mjs\",\n \"default\": \"./lib/*.js\"\n },\n \"./package.json\": \"./package.json\"\n }\n },\n \"scripts\": {\n \"build\": \"rimraf lib && ttsc && rolldown -c\",\n \"build:test\": \"rimraf bin && ttsc --project test/tsconfig.json\",\n \"deploy\": \"pnpm run build && pnpm publish\",\n \"dev\": \"pnpm run build:test --watch\",\n \"hello\": \"node hello\",\n \"start\": \"ttsx test/start.ts\",\n \"swagger\": \"ttsx test/swagger.ts\",\n \"test\": \"ttsx test/index.ts\",\n \"test:simulate\": \"ttsx test/index.ts --simulate true\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"files\": [\n \"lib\",\n \"swagger.json\",\n \"package.json\",\n \"README.md\"\n ],\n \"dependencies\": {\n \"@nestia/fetcher\": \"^14.0.0\",\n \"tgrid\": \"^1.2.1\",\n \"typia\": \"^15.0.0\"\n },\n \"devDependencies\": {\n \"@nestia/e2e\": \"^14.0.0\",\n \"@ttsc/unplugin\": \"^0.28.1\",\n \"@types/express\": \"^4.17.21\",\n \"@types/swagger-ui-express\": \"^4.1.6\",\n \"chalk\": \"4.1.2\",\n \"express\": \"^4.19.2\",\n \"rimraf\": \"^5.0.5\",\n \"rolldown\": \"^1.1.5\",\n \"swagger-ui-express\": \"^5.0.0\",\n \"tinyglobby\": \"^0.2.17\",\n \"ttsc\": \"^0.28.1\",\n \"typescript\": \"^7.0.2\",\n \"@nestia/core\": \"^14.0.0\"\n },\n \"packageManager\": \"pnpm@10.19.0\"\n}",
11
+ "package.json": "{\n \"name\": \"@ORGANIZATION/PROJECT-api\",\n \"version\": \"0.1.0\",\n \"description\": \"SDK library generated by Nestia\",\n \"main\": \"src/index.ts\",\n \"exports\": {\n \".\": \"./src/index.ts\",\n \"./lib/*\": \"./src/*.ts\",\n \"./package.json\": \"./package.json\"\n },\n \"publishConfig\": {\n \"main\": \"lib/index.mjs\",\n \"module\": \"lib/index.mjs\",\n \"types\": \"lib/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./lib/index.d.ts\",\n \"import\": \"./lib/index.mjs\",\n \"default\": \"./lib/index.js\"\n },\n \"./lib/*\": {\n \"types\": \"./lib/*.d.ts\",\n \"import\": \"./lib/*.mjs\",\n \"default\": \"./lib/*.js\"\n },\n \"./package.json\": \"./package.json\"\n }\n },\n \"scripts\": {\n \"build\": \"rimraf lib && ttsc && rolldown -c\",\n \"build:test\": \"rimraf bin && ttsc --project test/tsconfig.json\",\n \"deploy\": \"pnpm run build && pnpm publish\",\n \"dev\": \"pnpm run build:test --watch\",\n \"hello\": \"node hello\",\n \"start\": \"ttsx test/start.ts\",\n \"swagger\": \"ttsx test/swagger.ts\",\n \"test\": \"ttsx test/index.ts\",\n \"test:simulate\": \"ttsx test/index.ts --simulate true\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"files\": [\n \"lib\",\n \"swagger.json\",\n \"package.json\",\n \"README.md\"\n ],\n \"dependencies\": {\n \"@nestia/fetcher\": \"^14.0.1\",\n \"tgrid\": \"^1.2.1\",\n \"typia\": \"15.0.0\"\n },\n \"devDependencies\": {\n \"@nestia/e2e\": \"^14.0.1\",\n \"@ttsc/unplugin\": \"^0.28.1\",\n \"@types/express\": \"^4.17.21\",\n \"@types/swagger-ui-express\": \"^4.1.6\",\n \"chalk\": \"4.1.2\",\n \"express\": \"^4.19.2\",\n \"rimraf\": \"^5.0.5\",\n \"rolldown\": \"^1.1.5\",\n \"swagger-ui-express\": \"^5.0.0\",\n \"tinyglobby\": \"^0.2.17\",\n \"ttsc\": \"^0.28.1\",\n \"typescript\": \"^7.0.2\",\n \"@nestia/core\": \"^14.0.1\"\n },\n \"packageManager\": \"pnpm@10.19.0\"\n}",
12
12
  "rolldown.config.mjs": "import ttsc from \"@ttsc/unplugin/rolldown\";\nimport path from \"node:path\";\nimport { globSync } from \"tinyglobby\";\n\nexport default {\n input: globSync(\"./src/**/*.ts\"),\n external: (id) => !id.startsWith(\".\") && !path.isAbsolute(id),\n output: {\n dir: \"./lib\",\n format: \"esm\",\n sourcemap: true,\n entryFileNames: \"[name].mjs\",\n preserveModules: true,\n preserveModulesRoot: \"src\",\n },\n plugins: [ttsc()],\n};\n",
13
13
  "src/HttpError.ts": "export { HttpError } from \"@nestia/fetcher\";\n",
14
14
  "src/IConnection.ts": "export type { IConnection } from \"@nestia/fetcher\";\n",
@@ -1 +1 @@
1
- {"version":3,"file":"SDK_TEMPLATE.js","sourceRoot":"","sources":["../../src/bundles/SDK_TEMPLATE.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAA2B;IAClD,YAAY,EAAE,uDAAuD;IACrE,qBAAqB,EAAE,wuBAAwuB;IAC/vB,uBAAuB,EAAE,oQAAoQ;IAC7R,SAAS,EAAE,ukCAAukC;IACllC,WAAW,EAAE,knHAAknH;IAC/nH,UAAU,EAAE,mqBAAmqB;IAC/qB,cAAc,EAAE,6vEAA6vE;IAC7wE,qBAAqB,EAAE,6cAA6c;IACpe,kBAAkB,EAAE,kDAAkD;IACtE,oBAAoB,EAAE,yDAAyD;IAC/E,cAAc,EAAE,0FAA0F;IAC1G,eAAe,EAAE,0HAA0H;IAC3I,cAAc,EAAE,g2lDAAg2lD;IACh3lD,oBAAoB,EAAE,yLAAyL;IAC/M,eAAe,EAAE,2uFAA2uF;IAC5vF,eAAe,EAAE,8rBAA8rB;IAC/sB,iBAAiB,EAAE,2jBAA2jB;IAC9kB,oBAAoB,EAAE,oLAAoL;IAC1M,8BAA8B,EAAE,i4GAAi4G;IACj6G,eAAe,EAAE,89VAA89V;CACh/V,CAAA"}
1
+ {"version":3,"file":"SDK_TEMPLATE.js","sourceRoot":"","sources":["../../src/bundles/SDK_TEMPLATE.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAA2B;IAClD,YAAY,EAAE,uDAAuD;IACrE,qBAAqB,EAAE,wuBAAwuB;IAC/vB,uBAAuB,EAAE,oQAAoQ;IAC7R,SAAS,EAAE,ukCAAukC;IACllC,WAAW,EAAE,knHAAknH;IAC/nH,UAAU,EAAE,mqBAAmqB;IAC/qB,cAAc,EAAE,4vEAA4vE;IAC5wE,qBAAqB,EAAE,6cAA6c;IACpe,kBAAkB,EAAE,kDAAkD;IACtE,oBAAoB,EAAE,yDAAyD;IAC/E,cAAc,EAAE,0FAA0F;IAC1G,eAAe,EAAE,0HAA0H;IAC3I,cAAc,EAAE,g2lDAAg2lD;IACh3lD,oBAAoB,EAAE,yLAAyL;IAC/M,eAAe,EAAE,2uFAA2uF;IAC5vF,eAAe,EAAE,8rBAA8rB;IAC/sB,iBAAiB,EAAE,2jBAA2jB;IAC9kB,oBAAoB,EAAE,oLAAoL;IAC1M,8BAA8B,EAAE,i4GAAi4G;IACj6G,eAAe,EAAE,89VAA89V;CACh/V,CAAA"}
@@ -6,7 +6,7 @@ const SDK_TEMPLATE = {
6
6
  "LICENSE": "MIT License\n\nCopyright (c) 2024 Jeongho Nam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
7
7
  "README.md": "# Software Development Kit\nThis is a SDK library generated by [`@nestia/migrate`](https://nestia.io/docs/migrate) or [`@nestia/editor`](https://nestia.io/docs/editor).\n\nWith this SDK library, you can easily and safely interact with backend server.\n\nJust import and call some API functions like gif image below:\n\n![nestia-sdk-demo](https://user-images.githubusercontent.com/13158709/215004990-368c589d-7101-404e-b81b-fbc936382f05.gif)\n\n> Left is server code, and right is client code utilizing the SDK\n\n\n\n\n## How to Test\n```bash\npnpm install\npnpm run start # run only \"test/start.ts\" file\npnpm run test # everything under the \"test/features\" directory\npnpm run test:simulate # \"test/features\" with mockup simulation mode\n```\n\nIf you run `pnpm run start` command, only [test/start.ts](test/start.ts) file would be executed.\n\nOtherwise you run `pnpm run test` command instead, run everything in the [test/features](test/features) directory.\n\nFor reference, the [test/features](test/features) directory and E2E test functions (for each API endpoints) would be automatically composed only when you've configured the \"E2E test function generation mode\" of the `@nestia/migrate` (or `@nestia/editor`).\n\n```bash\npnpm dlx @nestia/migrate\n? Migration mode (Use arrow keys):\n NestJS\n > SDK\n? Swagger file location: assets/input/clickhouse.json\n? Output directory path: assets/output/clickhouse-sdk-manual\n? Mokup Simulator: true\n? E2E Test Functions: true\n```\n\n\n\n\n## Deploy\n```bash\npnpm install\npnpm run deploy\n```\n\nJust run `pnpm run deploy` command, then your SDK library would be published.\n\nBy the way, the initial package name of this template repository is `@ORGANIZATION/PROJECT-api`. I think it would better to change the word to your own organization and project name. If you're utilizing `VsCode`, you can do it through `Edit > Replace in Files` (*Ctrl + Shift + H*) feature.\n\n-----------\n\n> ## What [`Nestia`](https://nestia.io) is:\n> ![Nestia Logo](https://nestia.io/logo.png)\n> \n> [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/nestia/blob/master/LICENSE)\n> [![npm version](https://img.shields.io/npm/v/@nestia/core.svg)](https://www.npmjs.com/package/@nestia/core)\n> [![Downloads](https://img.shields.io/npm/dm/@nestia/core.svg)](https://www.npmjs.com/package/@nestia/core)\n> [![Build Status](https://github.com/samchon/nestia/workflows/build/badge.svg)](https://github.com/samchon/nestia/actions?query=workflow%3Abuild)\n> [![Guide Documents](https://img.shields.io/badge/guide-documents-forestgreen)](https://nestia.io/docs/)\n> \n> Nestia is a set of helper libraries for NestJS, supporting below features:\n> \n> - `@nestia/core`: Super-fast decorators\n> - `@nestia/sdk`:\n> - Swagger generator evolved than ever\n> - SDK library generator for clients\n> - Mockup Simulator for client applications\n> - Automatic E2E test functions generator\n> - `@nestia/migrate`: Migration from Swagger to NestJS\n> - `@nestia/editor`: Online TypeScript Swagger Editor\n> - `nestia`: Just CLI (command line interface) tool\n> \n>> **Note**\n>> \n>> - **Only one line** required, with pure TypeScript type\n>> - Enhance performance **30x** up\n>> - Runtime validator is **20,000x faster** than `class-validator`\n>> - JSON serialization is **200x faster** than `class-transformer`\n>> - Software Development Kit\n>> - SDK is a collection of `fetch` functions with type definitions like [tRPC](https://> trpc.io/)\n>> - Mockup simulator means embedded backend simulator in SDK\n>> - similar with [msw](https://mswjs.io/), but fully automated\n",
8
8
  "hello.js": "function print(command, description) {\n return console.log(`\\x1b[1m${command}\\x1b[2m: ${description}\\x1b[0m`);\n}\n\nconsole.log(\"-----------------------------------------\");\nconsole.log(\"\\x1b[7mGenerated by \\x1b[2m@nestia/editor\\x1b[0m\");\nconsole.log(\"\");\nconsole.log(\" - \\x1b[36mhttps://nestia.io/docs/editor\\x1b[0m\");\nconsole.log(\" - \\x1b[36mhttps://github.com/samchon/nestia\\x1b[0m\");\nconsole.log(\"-----------------------------------------\");\n\nprint(\"pnpm run start\", \"Run only test/start.ts\");\nprint(\"pnpm run test\", \"Run every test/features/**/*.ts files\");\nprint(\"pnpm run test:simulate\", \"Test with mockup simulator\");\n",
9
- "package.json": "{\n \"name\": \"@ORGANIZATION/PROJECT-api\",\n \"version\": \"0.1.0\",\n \"description\": \"SDK library generated by Nestia\",\n \"main\": \"src/index.ts\",\n \"exports\": {\n \".\": \"./src/index.ts\",\n \"./lib/*\": \"./src/*.ts\",\n \"./package.json\": \"./package.json\"\n },\n \"publishConfig\": {\n \"main\": \"lib/index.mjs\",\n \"module\": \"lib/index.mjs\",\n \"types\": \"lib/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./lib/index.d.ts\",\n \"import\": \"./lib/index.mjs\",\n \"default\": \"./lib/index.js\"\n },\n \"./lib/*\": {\n \"types\": \"./lib/*.d.ts\",\n \"import\": \"./lib/*.mjs\",\n \"default\": \"./lib/*.js\"\n },\n \"./package.json\": \"./package.json\"\n }\n },\n \"scripts\": {\n \"build\": \"rimraf lib && ttsc && rolldown -c\",\n \"build:test\": \"rimraf bin && ttsc --project test/tsconfig.json\",\n \"deploy\": \"pnpm run build && pnpm publish\",\n \"dev\": \"pnpm run build:test --watch\",\n \"hello\": \"node hello\",\n \"start\": \"ttsx test/start.ts\",\n \"swagger\": \"ttsx test/swagger.ts\",\n \"test\": \"ttsx test/index.ts\",\n \"test:simulate\": \"ttsx test/index.ts --simulate true\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"files\": [\n \"lib\",\n \"swagger.json\",\n \"package.json\",\n \"README.md\"\n ],\n \"dependencies\": {\n \"@nestia/fetcher\": \"^14.0.0\",\n \"tgrid\": \"^1.2.1\",\n \"typia\": \"^15.0.0\"\n },\n \"devDependencies\": {\n \"@nestia/e2e\": \"^14.0.0\",\n \"@ttsc/unplugin\": \"^0.28.1\",\n \"@types/express\": \"^4.17.21\",\n \"@types/swagger-ui-express\": \"^4.1.6\",\n \"chalk\": \"4.1.2\",\n \"express\": \"^4.19.2\",\n \"rimraf\": \"^5.0.5\",\n \"rolldown\": \"^1.1.5\",\n \"swagger-ui-express\": \"^5.0.0\",\n \"tinyglobby\": \"^0.2.17\",\n \"ttsc\": \"^0.28.1\",\n \"typescript\": \"^7.0.2\",\n \"@nestia/core\": \"^14.0.0\"\n },\n \"packageManager\": \"pnpm@10.19.0\"\n}",
9
+ "package.json": "{\n \"name\": \"@ORGANIZATION/PROJECT-api\",\n \"version\": \"0.1.0\",\n \"description\": \"SDK library generated by Nestia\",\n \"main\": \"src/index.ts\",\n \"exports\": {\n \".\": \"./src/index.ts\",\n \"./lib/*\": \"./src/*.ts\",\n \"./package.json\": \"./package.json\"\n },\n \"publishConfig\": {\n \"main\": \"lib/index.mjs\",\n \"module\": \"lib/index.mjs\",\n \"types\": \"lib/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./lib/index.d.ts\",\n \"import\": \"./lib/index.mjs\",\n \"default\": \"./lib/index.js\"\n },\n \"./lib/*\": {\n \"types\": \"./lib/*.d.ts\",\n \"import\": \"./lib/*.mjs\",\n \"default\": \"./lib/*.js\"\n },\n \"./package.json\": \"./package.json\"\n }\n },\n \"scripts\": {\n \"build\": \"rimraf lib && ttsc && rolldown -c\",\n \"build:test\": \"rimraf bin && ttsc --project test/tsconfig.json\",\n \"deploy\": \"pnpm run build && pnpm publish\",\n \"dev\": \"pnpm run build:test --watch\",\n \"hello\": \"node hello\",\n \"start\": \"ttsx test/start.ts\",\n \"swagger\": \"ttsx test/swagger.ts\",\n \"test\": \"ttsx test/index.ts\",\n \"test:simulate\": \"ttsx test/index.ts --simulate true\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"files\": [\n \"lib\",\n \"swagger.json\",\n \"package.json\",\n \"README.md\"\n ],\n \"dependencies\": {\n \"@nestia/fetcher\": \"^14.0.1\",\n \"tgrid\": \"^1.2.1\",\n \"typia\": \"15.0.0\"\n },\n \"devDependencies\": {\n \"@nestia/e2e\": \"^14.0.1\",\n \"@ttsc/unplugin\": \"^0.28.1\",\n \"@types/express\": \"^4.17.21\",\n \"@types/swagger-ui-express\": \"^4.1.6\",\n \"chalk\": \"4.1.2\",\n \"express\": \"^4.19.2\",\n \"rimraf\": \"^5.0.5\",\n \"rolldown\": \"^1.1.5\",\n \"swagger-ui-express\": \"^5.0.0\",\n \"tinyglobby\": \"^0.2.17\",\n \"ttsc\": \"^0.28.1\",\n \"typescript\": \"^7.0.2\",\n \"@nestia/core\": \"^14.0.1\"\n },\n \"packageManager\": \"pnpm@10.19.0\"\n}",
10
10
  "rolldown.config.mjs": "import ttsc from \"@ttsc/unplugin/rolldown\";\nimport path from \"node:path\";\nimport { globSync } from \"tinyglobby\";\n\nexport default {\n input: globSync(\"./src/**/*.ts\"),\n external: (id) => !id.startsWith(\".\") && !path.isAbsolute(id),\n output: {\n dir: \"./lib\",\n format: \"esm\",\n sourcemap: true,\n entryFileNames: \"[name].mjs\",\n preserveModules: true,\n preserveModulesRoot: \"src\",\n },\n plugins: [ttsc()],\n};\n",
11
11
  "src/HttpError.ts": "export { HttpError } from \"@nestia/fetcher\";\n",
12
12
  "src/IConnection.ts": "export type { IConnection } from \"@nestia/fetcher\";\n",
@@ -96,7 +96,11 @@ var NestiaMigrateCommander;
96
96
  console.error(`Failed to migrate ${error.method} ${error.path}`, ...error.messages.map((msg) => ` - ${msg}`));
97
97
  yield NestiaMigrateFileArchiver_1.NestiaMigrateFileArchiver.archive({
98
98
  mkdir: fs_1.default.promises.mkdir,
99
- writeFile: (file, content) => __awaiter(this, void 0, void 0, function* () { return fs_1.default.promises.writeFile(file, yield beautify(content), "utf-8"); }),
99
+ // only TypeScript is formatted: prettier's TypeScript parser also
100
+ // accepts a `.gitignore` or `.env` line, and rewrites it into code
101
+ writeFile: (file, content) => __awaiter(this, void 0, void 0, function* () {
102
+ return fs_1.default.promises.writeFile(file, /\.[cm]?tsx?$/.test(file) ? yield beautify(content) : content, "utf-8");
103
+ }),
100
104
  root: options.output,
101
105
  files,
102
106
  });
@@ -1 +1 @@
1
- {"version":3,"file":"NestiaMigrateCommander.js","sourceRoot":"","sources":["../../src/executable/NestiaMigrateCommander.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,wBAAwB,kEAA8C;AAOlF,4CAAoB;AACpB,gDAAwB;AACxB,uCAAkC;AAClC,MAAY,mBAAmB,kDAA8B;AAG7D,0EAAuE;AACvE,sFAAmF;AACnF,mEAAgE;AAEhE,IAAiB,sBAAsB,CAiGtC;AAjGD,WAAiB,sBAAsB;IACxB,2BAAI,GAAG,GAAwB,EAAE;QAC5C,MAAM,OAAO,GAAG,CAAC,GAAuB,EAAE,EAAE,CAC1C,GAAG,CAAC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,MAAM,OAAO,GACX,MAAM,6CAAqB,CAAC,KAAK,EAAE,CAAC;QAEtC,4BAA4B;QAC5B,MAAM,MAAM,GAAW,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAE,CAAC;QACxD,IAAI,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,oCAAoC,CAAC,CAAC;aACxC,IAAI,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,KAAK;YACtC,IAAI,CAAC,uDAAuD,CAAC,CAAC;aAC3D,IAAI,YAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK;YAClD,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAE1D,eAAe;QACf,MAAM,QAAQ,GAIc,MAAM,CAAC,GAAS,EAAE;YAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAa,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACtD,MAAM,OAAO,GAAW,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK;gBACxC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACtD,MAAM,KAAK,GAAa,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,KAAK;gBAC1B,IAAI,CAAC,uCAAuC,CAAC,CAAC;YAChD,MAAM,OAAO,GAAW,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAChD,OAAO,CAAC,KAAK,EACb,OAAO,CACR,CAAC;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAA,CAAC,EAAE,CAAC;QAEL,MAAM,MAAM,GACV,mDAAwB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM;gBAC7B,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,4DAA4D,OAAO,CAAC,KAAK,EAAE,CAC5E,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAA6B,MAAM,CAAC,IAAI,CAAC;QAClD,MAAM,KAAK,GACT,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM;YACtB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM;gBACtC,OAAO,CAAC,KAAK,CACX,qBAAqB,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,EACjD,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,CAC7C,CAAC;QACN,MAAM,qDAAyB,CAAC,OAAO,CAAC;YACtC,KAAK,EAAE,YAAE,CAAC,QAAQ,CAAC,KAAK;YACxB,SAAS,EAAE,CAAO,IAAI,EAAE,OAAO,EAAE,EAAE,gDACjC,OAAA,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA,CAAA,CAAC,CAAD;YAC/D,IAAI,EAAE,OAAO,CAAC,MAAM;YACpB,KAAK;SACN,CAAC,CAAC;IACL,CAAC,CAAA,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAO,MAAc,EAAmB,EAAE;QACzD,IAAI,CAAC;YACH,OAAO,MAAM,IAAA,iBAAM,EAAC,MAAM,EAAE;gBAC1B,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,CAAC,wBAAwB,EAAE,mBAAmB,CAAC;gBACxD,WAAW,EAAE,CAAC,uBAAuB,EAAE,OAAO,CAAC;gBAC/C,qBAAqB,EAAE,IAAI;gBAC3B,yBAAyB,EAAE,IAAI;gBAC/B,wBAAwB,EAAE,CAAC,mBAAmB,EAAE,YAAY,EAAE,KAAK,CAAC;gBACpE,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;QACL,CAAC;mBAAO,CAAC;YACP,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAS,EAAE;QACnC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,KAAa,EAAW,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,GAAG,GAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAC/D,CAAC;mBAAO,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,EAjGgB,sBAAsB,aAAtB,sBAAsB,GAAtB,sBAAsB,QAiGtC"}
1
+ {"version":3,"file":"NestiaMigrateCommander.js","sourceRoot":"","sources":["../../src/executable/NestiaMigrateCommander.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ let NestiaMigrateCommander;
37
37
  if (app.getData().errors) for (const error of app.getData().errors) console.error(`Failed to migrate ${error.method} ${error.path}`, ...error.messages.map((msg) => ` - ${msg}`));
38
38
  await NestiaMigrateFileArchiver.archive({
39
39
  mkdir: fs.promises.mkdir,
40
- writeFile: async (file, content) => fs.promises.writeFile(file, await beautify(content), "utf-8"),
40
+ writeFile: async (file, content) => fs.promises.writeFile(file, /\.[cm]?tsx?$/.test(file) ? await beautify(content) : content, "utf-8"),
41
41
  root: options.output,
42
42
  files
43
43
  });
@@ -55,35 +55,17 @@ var NestiaMigrateInquirer;
55
55
  });
56
56
  // DO CONSTRUCT
57
57
  return action((partial) => __awaiter(this, void 0, void 0, function* () {
58
- var _a, _b, _c, _d, _e;
58
+ var _a, _b, _c, _d, _e, _f, _g;
59
59
  (_a = partial.mode) !== null && _a !== void 0 ? _a : (partial.mode = yield select("mode")("Migration mode")(["NestJS", "SDK"], (value) => (value === "NestJS" ? "nest" : "sdk")));
60
60
  (_b = partial.input) !== null && _b !== void 0 ? _b : (partial.input = yield input("input")("Swagger file location"));
61
61
  (_c = partial.output) !== null && _c !== void 0 ? _c : (partial.output = yield input("output")("Response directory path"));
62
62
  (_d = partial.package) !== null && _d !== void 0 ? _d : (partial.package = yield input("package")("Package name"));
63
- (_e = partial.keyword) !== null && _e !== void 0 ? _e : (partial.keyword = (yield select("keyword")("Keyword parameter mode")([
64
- "true",
65
- "false",
66
- ])) === "true");
67
- if (partial.keyword)
68
- partial.keyword = partial.keyword === "true";
69
- else
70
- partial.keyword =
71
- (yield select("keyword")("Keyword parameter mode")([
72
- "true",
73
- "false",
74
- ])) === "true";
75
- if (partial.simulate)
76
- partial.simulate = partial.simulate === "true";
77
- else
78
- partial.simulate =
79
- (yield select("simulate")("Mokup Simulator")(["true", "false"])) ===
80
- "true";
81
- if (partial.e2e)
82
- partial.e2e = partial.e2e === "true";
83
- else
84
- partial.e2e =
85
- (yield select("e2e")("Generate E2E tests")(["true", "false"])) ===
86
- "true";
63
+ // a flag given alone is `true`, and one given a value is its text
64
+ const flag = (value) => value === undefined ? undefined : value === true || value === "true";
65
+ const ask = (name, message) => __awaiter(this, void 0, void 0, function* () { return (yield select(name)(message)(["true", "false"])) === "true"; });
66
+ partial.keyword = (_e = flag(partial.keyword)) !== null && _e !== void 0 ? _e : (yield ask("keyword", "Keyword parameter mode"));
67
+ partial.simulate = (_f = flag(partial.simulate)) !== null && _f !== void 0 ? _f : (yield ask("simulate", "Mokup Simulator"));
68
+ partial.e2e = (_g = flag(partial.e2e)) !== null && _g !== void 0 ? _g : (yield ask("e2e", "Generate E2E tests"));
87
69
  return partial;
88
70
  }));
89
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"NestiaMigrateInquirer.js","sourceRoot":"","sources":["../../src/executable/NestiaMigrateInquirer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NestiaMigrateInquirer.js","sourceRoot":"","sources":["../../src/executable/NestiaMigrateInquirer.ts"],"names":[],"mappings":"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"}
@@ -42,13 +42,11 @@ let NestiaMigrateInquirer;
42
42
  partial.input ??= await input("input")("Swagger file location");
43
43
  partial.output ??= await input("output")("Response directory path");
44
44
  partial.package ??= await input("package")("Package name");
45
- partial.keyword ??= await select("keyword")("Keyword parameter mode")(["true", "false"]) === "true";
46
- if (partial.keyword) partial.keyword = partial.keyword === "true";
47
- else partial.keyword = await select("keyword")("Keyword parameter mode")(["true", "false"]) === "true";
48
- if (partial.simulate) partial.simulate = partial.simulate === "true";
49
- else partial.simulate = await select("simulate")("Mokup Simulator")(["true", "false"]) === "true";
50
- if (partial.e2e) partial.e2e = partial.e2e === "true";
51
- else partial.e2e = await select("e2e")("Generate E2E tests")(["true", "false"]) === "true";
45
+ const flag = (value) => value === void 0 ? void 0 : value === true || value === "true";
46
+ const ask = async (name, message) => await select(name)(message)(["true", "false"]) === "true";
47
+ partial.keyword = flag(partial.keyword) ?? await ask("keyword", "Keyword parameter mode");
48
+ partial.simulate = flag(partial.simulate) ?? await ask("simulate", "Mokup Simulator");
49
+ partial.e2e = flag(partial.e2e) ?? await ask("e2e", "Generate E2E tests");
52
50
  return partial;
53
51
  });
54
52
  };
@@ -6,6 +6,8 @@ const utils_1 = require("@typia/utils");
6
6
  const IdentifierFactory_1 = require("../factories/IdentifierFactory");
7
7
  const StatementFactory_1 = require("../factories/StatementFactory");
8
8
  const FilePrinter_1 = require("../utils/FilePrinter");
9
+ const RequestBody_1 = require("../utils/RequestBody");
10
+ const SuccessStatus_1 = require("../utils/SuccessStatus");
9
11
  const NestiaMigrateSchemaProgrammer_1 = require("./NestiaMigrateSchemaProgrammer");
10
12
  var NestiaMigrateApiFunctionProgrammer;
11
13
  (function (NestiaMigrateApiFunctionProgrammer) {
@@ -18,7 +20,6 @@ var NestiaMigrateApiFunctionProgrammer;
18
20
  : `${ctx.route.accessor.at(-1)}.Response`),
19
21
  ]), factory_1.factory.createBlock(writeBody(ctx), true)), writeDescription(ctx.config, ctx.route));
20
22
  NestiaMigrateApiFunctionProgrammer.writeParameterDeclarations = (ctx, connectionName) => {
21
- var _a;
22
23
  const connection = IdentifierFactory_1.IdentifierFactory.parameter(connectionName !== null && connectionName !== void 0 ? connectionName : "connection", factory_1.factory.createTypeReferenceNode(ctx.importer.external({
23
24
  type: "instance",
24
25
  library: "@nestia/fetcher",
@@ -53,9 +54,7 @@ var NestiaMigrateApiFunctionProgrammer;
53
54
  : []),
54
55
  ...(ctx.route.body
55
56
  ? [
56
- IdentifierFactory_1.IdentifierFactory.parameter(ctx.route.body.key, factory_1.factory.createTypeReferenceNode(`${ctx.route.accessor.at(-1)}.Body`), (ctx.route.body.type === "application/json" ||
57
- ctx.route.body.type === "text/plain") &&
58
- ((_a = ctx.route.operation().requestBody) === null || _a === void 0 ? void 0 : _a.required) === false
57
+ IdentifierFactory_1.IdentifierFactory.parameter(ctx.route.body.key, factory_1.factory.createTypeReferenceNode(`${ctx.route.accessor.at(-1)}.Body`), RequestBody_1.RequestBody.optional(ctx.route)
59
58
  ? factory_1.factory.createToken(factory_1.SyntaxKind.QuestionToken)
60
59
  : undefined),
61
60
  ]
@@ -102,7 +101,10 @@ var NestiaMigrateApiFunctionProgrammer;
102
101
  factory_1.factory.createObjectLiteralExpression([
103
102
  factory_1.factory.createSpreadAssignment(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(ctx.route.accessor.at(-1)), "METADATA")),
104
103
  factory_1.factory.createPropertyAssignment("path", factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(ctx.route.accessor.at(-1)), "path"), undefined, getArguments(ctx, false))),
105
- factory_1.factory.createPropertyAssignment("status", factory_1.factory.createNull()),
104
+ // the fetcher reads only 200, 201, and this status as success
105
+ factory_1.factory.createPropertyAssignment("status", ((status) => status === null
106
+ ? factory_1.factory.createNull()
107
+ : factory_1.factory.createNumericLiteral(status))(SuccessStatus_1.SuccessStatus.of(ctx.route))),
106
108
  ], true),
107
109
  ...(ctx.route.body ? [property(ctx.route.body.key)] : []),
108
110
  ]));
@@ -1 +1 @@
1
- {"version":3,"file":"NestiaMigrateApiFunctionProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestiaMigrateApiFunctionProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NestiaMigrateApiFunctionProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestiaMigrateApiFunctionProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { FilePrinter } from "../utils/FilePrinter.mjs";
2
2
  import { IdentifierFactory } from "../factories/IdentifierFactory.mjs";
3
3
  import { StatementFactory } from "../factories/StatementFactory.mjs";
4
+ import { RequestBody } from "../utils/RequestBody.mjs";
5
+ import { SuccessStatus } from "../utils/SuccessStatus.mjs";
4
6
  import { NestiaMigrateSchemaProgrammer } from "./NestiaMigrateSchemaProgrammer.mjs";
5
7
  import { NamingConvention } from "@typia/utils";
6
8
  import { SyntaxKind, factory } from "@ttsc/factory";
@@ -26,7 +28,7 @@ let NestiaMigrateApiFunctionProgrammer;
26
28
  schema: p.schema
27
29
  }))),
28
30
  ...ctx.route.query ? [IdentifierFactory.parameter(ctx.route.query.key, factory.createTypeReferenceNode(`${ctx.route.accessor.at(-1)}.Query`))] : [],
29
- ...ctx.route.body ? [IdentifierFactory.parameter(ctx.route.body.key, factory.createTypeReferenceNode(`${ctx.route.accessor.at(-1)}.Body`), (ctx.route.body.type === "application/json" || ctx.route.body.type === "text/plain") && ctx.route.operation().requestBody?.required === false ? factory.createToken(SyntaxKind.QuestionToken) : void 0)] : []
31
+ ...ctx.route.body ? [IdentifierFactory.parameter(ctx.route.body.key, factory.createTypeReferenceNode(`${ctx.route.accessor.at(-1)}.Body`), RequestBody.optional(ctx.route) ? factory.createToken(SyntaxKind.QuestionToken) : void 0)] : []
30
32
  ];
31
33
  };
32
34
  const writeDescription = (config, route) => {
@@ -51,7 +53,7 @@ let NestiaMigrateApiFunctionProgrammer;
51
53
  factory.createObjectLiteralExpression([
52
54
  factory.createSpreadAssignment(IdentifierFactory.access(factory.createIdentifier(ctx.route.accessor.at(-1)), "METADATA")),
53
55
  factory.createPropertyAssignment("path", factory.createCallExpression(IdentifierFactory.access(factory.createIdentifier(ctx.route.accessor.at(-1)), "path"), void 0, getArguments(ctx, false))),
54
- factory.createPropertyAssignment("status", factory.createNull())
56
+ factory.createPropertyAssignment("status", ((status) => status === null ? factory.createNull() : factory.createNumericLiteral(status))(SuccessStatus.of(ctx.route)))
55
57
  ], true),
56
58
  ...ctx.route.body ? [property(ctx.route.body.key)] : []
57
59
  ]));
@@ -7,6 +7,8 @@ const IdentifierFactory_1 = require("../factories/IdentifierFactory");
7
7
  const LiteralFactory_1 = require("../factories/LiteralFactory");
8
8
  const TypeFactory_1 = require("../factories/TypeFactory");
9
9
  const FilePrinter_1 = require("../utils/FilePrinter");
10
+ const PathTemplate_1 = require("../utils/PathTemplate");
11
+ const RequestBody_1 = require("../utils/RequestBody");
10
12
  const NestiaMigrateApiSimulationProgrammer_1 = require("./NestiaMigrateApiSimulationProgrammer");
11
13
  const NestiaMigrateSchemaProgrammer_1 = require("./NestiaMigrateSchemaProgrammer");
12
14
  var NestiaMigrateApiNamespaceProgrammer;
@@ -67,7 +69,9 @@ var NestiaMigrateApiNamespaceProgrammer;
67
69
  required: [
68
70
  ...ctx.route.parameters.map((p) => p.key),
69
71
  ...(ctx.route.query ? [ctx.route.query.key] : []),
70
- ...(ctx.route.body ? [ctx.route.body.key] : []),
72
+ ...(ctx.route.body && RequestBody_1.RequestBody.optional(ctx.route) === false
73
+ ? [ctx.route.body.key]
74
+ : []),
71
75
  ],
72
76
  },
73
77
  }));
@@ -157,18 +161,32 @@ var NestiaMigrateApiNamespaceProgrammer;
157
161
  : []),
158
162
  ], undefined, undefined, body));
159
163
  const template = () => {
160
- const path = getPath(ctx.route);
161
- const split = path.split(":");
162
- if (split.length === 1)
163
- return factory_1.factory.createStringLiteral(path);
164
- return factory_1.factory.createTemplateExpression(factory_1.factory.createTemplateHead(split[0]), split.slice(1).map((s, i, arr) => {
165
- const name = s.split("/")[0];
166
- return factory_1.factory.createTemplateSpan(factory_1.factory.createCallExpression(factory_1.factory.createIdentifier("encodeURIComponent"), undefined, [
167
- factory_1.factory.createBinaryExpression(property(ctx.route.parameters.find((p) => p.name === name).key), factory_1.factory.createToken(factory_1.SyntaxKind.QuestionQuestionToken), factory_1.factory.createStringLiteral("null")),
168
- ]), (i !== arr.length - 1
169
- ? factory_1.factory.createTemplateMiddle
170
- : factory_1.factory.createTemplateTail)(s.substring(name.length)));
171
- }));
164
+ // the document's template delimits each parameter; the emended path's
165
+ // `:id.json` would not tell the name from the literal after it
166
+ const segments = PathTemplate_1.PathTemplate.segments(ctx.route);
167
+ if (segments.every((segment) => segment.type === "literal"))
168
+ return factory_1.factory.createStringLiteral(getPath(ctx.route));
169
+ const literals = [""];
170
+ const parameters = [];
171
+ for (const segment of segments)
172
+ if (segment.type === "literal")
173
+ literals[literals.length - 1] += segment.value;
174
+ else {
175
+ parameters.push(segment.parameter);
176
+ literals.push("");
177
+ }
178
+ return factory_1.factory.createTemplateExpression(factory_1.factory.createTemplateHead(literals[0]), parameters.map((parameter, i) => factory_1.factory.createTemplateSpan(
179
+ // URI-encoded, "null" when nullish, and a dot segment refused
180
+ factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(ctx.importer.external({
181
+ type: "instance",
182
+ library: "@nestia/fetcher",
183
+ name: "PathParameter",
184
+ })), "encode"), undefined, [
185
+ factory_1.factory.createStringLiteral(parameter.key),
186
+ property(parameter.key),
187
+ ]), (i !== parameters.length - 1
188
+ ? factory_1.factory.createTemplateMiddle
189
+ : factory_1.factory.createTemplateTail)(literals[i + 1]))));
172
190
  };
173
191
  if (!ctx.route.query)
174
192
  return out(template());