@nestia/sdk 1.6.3 → 1.6.4-dev.20230817

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.
@@ -9,6 +9,7 @@ const HashMap_1 = require("tstl/container/HashMap");
9
9
  const typescript_1 = __importDefault(require("typescript"));
10
10
  const CommentFactory_1 = require("typia/lib/factories/CommentFactory");
11
11
  const PathUtil_1 = require("../utils/PathUtil");
12
+ const ExceptionAnalyzer_1 = require("./ExceptionAnalyzer");
12
13
  const GenericAnalyzer_1 = require("./GenericAnalyzer");
13
14
  const ImportAnalyzer_1 = require("./ImportAnalyzer");
14
15
  const PathAnalyzer_1 = require("./PathAnalyzer");
@@ -120,7 +121,7 @@ var ControllerAnalyzer;
120
121
  type: "assigner",
121
122
  source: t.text[0].text,
122
123
  };
123
- }), security });
124
+ }), security, exceptions: ExceptionAnalyzer_1.ExceptionAnalyzer.analyze(checker)(genericDict, importDict)(func)(declaration) });
124
125
  // CONFIGURE PATHS
125
126
  const pathList = [];
126
127
  for (const controllerPath of controller.paths)
@@ -131,9 +132,6 @@ var ControllerAnalyzer;
131
132
  // RETURNS
132
133
  return pathList.map((path) => (Object.assign(Object.assign({}, common), { path, accessors: [...PathUtil_1.PathUtil.accessors(path), func.name] })));
133
134
  }
134
- /* ---------------------------------------------------------
135
- PARAMETER
136
- --------------------------------------------------------- */
137
135
  function _Analyze_parameter(checker, genericDict, importDict, controller, funcName, param, symbol) {
138
136
  var _a;
139
137
  const type = checker.getTypeOfSymbolAtLocation(symbol, symbol.valueDeclaration);
@@ -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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"}
@@ -0,0 +1,8 @@
1
+ import ts from "typescript";
2
+ import { IController } from "../structures/IController";
3
+ import { IRoute } from "../structures/IRoute";
4
+ import { GenericAnalyzer } from "./GenericAnalyzer";
5
+ import { ImportAnalyzer } from "./ImportAnalyzer";
6
+ export declare namespace ExceptionAnalyzer {
7
+ const analyze: (checker: ts.TypeChecker) => (genericDict: GenericAnalyzer.Dictionary, importDict: ImportAnalyzer.Dictionary) => (func: IController.IFunction) => (declaration: ts.MethodDeclaration) => Record<number | "2xx" | "3xx" | "4xx" | "5xx", IRoute.IOutput>;
8
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ExceptionAnalyzer = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const typescript_1 = __importDefault(require("typescript"));
9
+ const ImportAnalyzer_1 = require("./ImportAnalyzer");
10
+ var ExceptionAnalyzer;
11
+ (function (ExceptionAnalyzer) {
12
+ ExceptionAnalyzer.analyze = (checker) => (genericDict, importDict) => (func) => (declaration) => {
13
+ var _a;
14
+ const output = {};
15
+ for (const decorator of (_a = declaration.modifiers) !== null && _a !== void 0 ? _a : [])
16
+ if (typescript_1.default.isDecorator(decorator))
17
+ analyzeTyped(checker)(genericDict, importDict)(func)(output)(decorator);
18
+ return output;
19
+ };
20
+ const analyzeTyped = (checker) => (genericDict, importDict) => (func) => (output) => (decorator) => {
21
+ var _a;
22
+ // CHECK DECORATOR
23
+ if (!typescript_1.default.isCallExpression(decorator.expression))
24
+ return false;
25
+ else if (((_a = decorator.expression.typeArguments) !== null && _a !== void 0 ? _a : []).length !== 1)
26
+ return false;
27
+ // CHECK SIGNATURE
28
+ const signature = checker.getResolvedSignature(decorator.expression);
29
+ if (!signature || !signature.declaration)
30
+ return false;
31
+ else if (path_1.default
32
+ .resolve(signature.declaration.getSourceFile().fileName)
33
+ .indexOf(TYPED_EXCEPTION_PATH) === -1)
34
+ return false;
35
+ // GET TYPE INFO
36
+ const node = decorator.expression.typeArguments[0];
37
+ const type = checker.getTypeFromTypeNode(node);
38
+ if (type.isTypeParameter())
39
+ throw new Error("Error on @nestia.core.TypedException(): non-specified generic argument.");
40
+ const tuple = ImportAnalyzer_1.ImportAnalyzer.analyze(checker, genericDict, importDict, type);
41
+ if (tuple === null)
42
+ return false;
43
+ // DO ASSIGN
44
+ const matched = Object.entries(func.exceptions)
45
+ .filter(([_key, value]) => value.type === tuple.name)
46
+ .map(([_key, value]) => value);
47
+ for (const m of matched)
48
+ output[m.status] = Object.assign(Object.assign({}, tuple), { contentType: "application/json", description: m.description });
49
+ return true;
50
+ };
51
+ })(ExceptionAnalyzer || (exports.ExceptionAnalyzer = ExceptionAnalyzer = {}));
52
+ const TYPED_EXCEPTION_PATH = path_1.default.join("node_modules", "@nestia", "core", "lib", "decorators", "TypedException.d.ts");
53
+ //# sourceMappingURL=ExceptionAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExceptionAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ExceptionAnalyzer.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,4DAA4B;AAM5B,qDAAkD;AAElD,IAAiB,iBAAiB,CAmFjC;AAnFD,WAAiB,iBAAiB;IACjB,yBAAO,GAChB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CACI,WAAuC,EACvC,UAAqC,EACvC,EAAE,CACJ,CAAC,IAA2B,EAAE,EAAE,CAChC,CACI,WAAiC,EAC6B,EAAE;;QAChE,MAAM,MAAM,GAGR,EAAS,CAAC;QACd,KAAK,MAAM,SAAS,IAAI,MAAA,WAAW,CAAC,SAAS,mCAAI,EAAE;YAC/C,IAAI,oBAAE,CAAC,WAAW,CAAC,SAAS,CAAC;gBACzB,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAChD,MAAM,CACT,CAAC,SAAS,CAAC,CAAC;QACrB,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;IAEN,MAAM,YAAY,GACd,CAAC,OAAuB,EAAE,EAAE,CAC5B,CACI,WAAuC,EACvC,UAAqC,EACvC,EAAE,CACJ,CAAC,IAA2B,EAAE,EAAE,CAChC,CACI,MAGC,EACH,EAAE,CACJ,CAAC,SAAuB,EAAW,EAAE;;QACjC,kBAAkB;QAClB,IAAI,CAAC,oBAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;aACxD,IAAI,CAAC,MAAA,SAAS,CAAC,UAAU,CAAC,aAAa,mCAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC;YAC5D,OAAO,KAAK,CAAC;QAEjB,kBAAkB;QAClB,MAAM,SAAS,GACX,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;aAClD,IACD,cAAI;aACC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;aACvD,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAEzC,OAAO,KAAK,CAAC;QAEjB,gBAAgB;QAChB,MAAM,IAAI,GAAgB,SAAS,CAAC,UAAU,CAAC,aAAc,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,IAAI,GAAY,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,MAAM,IAAI,KAAK,CACX,yEAAyE,CAC5E,CAAC;QAEN,MAAM,KAAK,GAAsB,+BAAc,CAAC,OAAO,CACnD,OAAO,EACP,WAAW,EACX,UAAU,EACV,IAAI,CACP,CAAC;QACF,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAEjC,YAAY;QACZ,MAAM,OAAO,GAA6B,MAAM,CAAC,OAAO,CACpD,IAAI,CAAC,UAAU,CAClB;aACI,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,OAAO;YACnB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,mCACT,KAAK,KACR,WAAW,EAAE,kBAAkB,EAC/B,WAAW,EAAE,CAAC,CAAC,WAAW,GAC7B,CAAC;QACN,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;AACV,CAAC,EAnFgB,iBAAiB,iCAAjB,iBAAiB,QAmFjC;AAED,MAAM,oBAAoB,GAAG,cAAI,CAAC,IAAI,CAClC,cAAc,EACd,SAAS,EACT,MAAM,EACN,KAAK,EACL,YAAY,EACZ,qBAAqB,CACxB,CAAC"}
@@ -93,7 +93,7 @@ var ReflectAnalyzer;
93
93
  name,
94
94
  paths,
95
95
  functions: [],
96
- security: _Get_security(creator),
96
+ security: _Get_securities(creator),
97
97
  };
98
98
  // PARSE CHILDREN DATA
99
99
  for (const tuple of _Get_prototype_entries(creator)) {
@@ -123,10 +123,14 @@ var ReflectAnalyzer;
123
123
  else
124
124
  return value;
125
125
  }
126
- function _Get_security(value) {
126
+ function _Get_securities(value) {
127
127
  const entire = Reflect.getMetadata("swagger/apiSecurity", value);
128
128
  return entire ? SecurityAnalyzer_1.SecurityAnalyzer.merge(...entire) : [];
129
129
  }
130
+ function _Get_exceptions(value) {
131
+ const entire = Reflect.getMetadata("swagger/TypedException", value);
132
+ return Object.fromEntries((entire !== null && entire !== void 0 ? entire : []).map((exp) => [exp.status, exp]));
133
+ }
130
134
  /* ---------------------------------------------------------
131
135
  FUNCTION
132
136
  --------------------------------------------------------- */
@@ -178,7 +182,8 @@ var ReflectAnalyzer;
178
182
  : (_f = (_e = (_d = Reflect.getMetadata(Constants.HEADERS_METADATA, proto)) === null || _d === void 0 ? void 0 : _d.find((h) => typeof (h === null || h === void 0 ? void 0 : h.name) === "string" &&
179
183
  typeof (h === null || h === void 0 ? void 0 : h.value) === "string" &&
180
184
  h.name.toLowerCase() === "content-type")) === null || _e === void 0 ? void 0 : _e.value) !== null && _f !== void 0 ? _f : "application/json",
181
- security: _Get_security(proto),
185
+ security: _Get_securities(proto),
186
+ exceptions: _Get_exceptions(proto),
182
187
  };
183
188
  // VALIDATE PATH ARGUMENTS
184
189
  for (const controllerLocation of controller.paths)
@@ -1 +1 @@
1
- {"version":3,"file":"ReflectAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ReflectAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReflectAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ReflectAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,6 @@ exports.SwaggerGenerator = void 0;
16
16
  const fs_1 = __importDefault(require("fs"));
17
17
  const path_1 = __importDefault(require("path"));
18
18
  const Singleton_1 = require("tstl/thread/Singleton");
19
- const VariadicSingleton_1 = require("tstl/thread/VariadicSingleton");
20
19
  const typescript_1 = __importDefault(require("typescript"));
21
20
  const typia_1 = __importDefault(require("typia"));
22
21
  const MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
@@ -595,7 +594,6 @@ var SwaggerGenerator;
595
594
  ];
596
595
  }
597
596
  function generate_request_body(checker, collection, tupleList, route, parameter) {
598
- var _a;
599
597
  const schema = generate_schema(checker, collection, tupleList, parameter.type.type);
600
598
  if (schema === null)
601
599
  throw new Error(`Error on NestiaApplication.sdk(): invalid request body type on ${route.symbol}.`);
@@ -604,11 +602,11 @@ var SwaggerGenerator;
604
602
  const contentType = parameter.custom
605
603
  ? parameter.contentType
606
604
  : "application/json";
605
+ const description = get_parametric_description(route, "param", parameter.name);
607
606
  return {
608
- description: warning
609
- .get(parameter.custom && parameter.encrypted)
610
- .get("request") +
611
- ((_a = get_parametric_description(route, "param", parameter.name)) !== null && _a !== void 0 ? _a : ""),
607
+ description: parameter.custom && parameter.encrypted
608
+ ? `${warning.get(!!description).get("request")}${description !== null && description !== void 0 ? description : ""}`
609
+ : description,
612
610
  content: {
613
611
  [contentType]: {
614
612
  schema,
@@ -619,8 +617,55 @@ var SwaggerGenerator;
619
617
  };
620
618
  }
621
619
  function generate_response_body(checker, collection, tupleList, route) {
622
- var _a, _b;
623
- // OUTPUT WITH SUCCESS STATUS
620
+ var _a, _b, _c;
621
+ const output = {};
622
+ //----
623
+ // EXCEPTION STATUSES
624
+ //----
625
+ // FROM DECORATOR
626
+ for (const [status, exp] of Object.entries(route.exceptions)) {
627
+ const schema = generate_schema(checker, collection, tupleList, exp.type);
628
+ if (schema !== null)
629
+ output[status] = {
630
+ description: exp.description,
631
+ content: {
632
+ "application/json": { schema },
633
+ },
634
+ };
635
+ }
636
+ // FROM COMMENT TAGS
637
+ for (const tag of route.tags) {
638
+ if (tag.name !== "throw" && tag.name !== "throws")
639
+ continue;
640
+ const text = (_b = (_a = tag.text) === null || _a === void 0 ? void 0 : _a.find((elem) => elem.kind === "text")) === null || _b === void 0 ? void 0 : _b.text;
641
+ if (text === undefined)
642
+ continue;
643
+ const elements = text.split(" ").map((str) => str.trim());
644
+ const status = elements[0];
645
+ if (isNaN(Number(status)) &&
646
+ status !== "2xx" &&
647
+ status !== "3xx" &&
648
+ status !== "4xx" &&
649
+ status !== "5xx")
650
+ continue;
651
+ const description = elements.length === 1 ? undefined : elements.slice(1).join(" ");
652
+ const oldbie = output[status];
653
+ if (oldbie !== undefined && oldbie.description === undefined)
654
+ oldbie.description = description;
655
+ else if (oldbie === undefined)
656
+ output[status] = {
657
+ description,
658
+ content: {
659
+ "application/json": {
660
+ schema: {},
661
+ },
662
+ },
663
+ };
664
+ }
665
+ //----
666
+ // SUCCESS
667
+ //----
668
+ // STATUS & SCHEMA
624
669
  const status = route.status !== undefined
625
670
  ? String(route.status)
626
671
  : route.method === "GET" ||
@@ -629,41 +674,22 @@ var SwaggerGenerator;
629
674
  ? "200"
630
675
  : "201";
631
676
  const schema = generate_schema(checker, collection, tupleList, route.output.type);
632
- const success = {
633
- [status]: {
634
- description: warning.get(route.encrypted).get("response", route.method) +
635
- ((_b = (_a = get_parametric_description(route, "return")) !== null && _a !== void 0 ? _a : get_parametric_description(route, "returns")) !== null && _b !== void 0 ? _b : ""),
636
- content: schema === null || route.output.name === "void"
637
- ? undefined
638
- : {
639
- [route.output.contentType]: {
640
- schema,
641
- },
677
+ // DO ASSIGN
678
+ const description = (_c = get_parametric_description(route, "return")) !== null && _c !== void 0 ? _c : get_parametric_description(route, "returns");
679
+ output[status] = {
680
+ description: route.encrypted
681
+ ? `${warning.get(!!description).get("response", route.method)}${description !== null && description !== void 0 ? description : ""}`
682
+ : description,
683
+ content: schema === null || route.output.name === "void"
684
+ ? undefined
685
+ : {
686
+ [route.output.contentType]: {
687
+ schema,
642
688
  },
643
- "x-nestia-encrypted": route.encrypted,
644
- },
645
- };
646
- // EXCEPTION STATUSES
647
- const exceptions = Object.fromEntries(route.tags
648
- .filter((tag) => (tag.name === "throw" || tag.name === "throws") &&
649
- tag.text &&
650
- tag.text.find((elem) => elem.kind === "text" &&
651
- isNaN(Number(elem.text
652
- .split(" ")
653
- .map((str) => str.trim())[0])) === false) !== undefined)
654
- .map((tag) => {
655
- const text = tag.text.find((elem) => elem.kind === "text").text;
656
- const elements = text
657
- .split(" ")
658
- .map((str) => str.trim());
659
- return [
660
- elements[0],
661
- {
662
- description: elements.slice(1).join(" "),
663
689
  },
664
- ];
665
- }));
666
- return Object.assign(Object.assign({}, exceptions), success);
690
+ "x-nestia-encrypted": route.encrypted,
691
+ };
692
+ return output;
667
693
  }
668
694
  /* ---------------------------------------------------------
669
695
  UTILS
@@ -705,10 +731,8 @@ const required = (type) => {
705
731
  obstacle(typescript_1.default.TypeFlags.Void) &&
706
732
  obstacle(typescript_1.default.TypeFlags.VoidLike));
707
733
  };
708
- const warning = new VariadicSingleton_1.VariadicSingleton((encrypted) => {
709
- if (encrypted === false)
710
- return new Singleton_1.Singleton(() => "");
711
- return new VariadicSingleton_1.VariadicSingleton((type, method) => {
734
+ const warning = new Singleton_1.Singleton((described) => {
735
+ return new Singleton_1.Singleton((type, method) => {
712
736
  const summary = type === "request"
713
737
  ? "Request body must be encrypted."
714
738
  : "Response data have been encrypted.";
@@ -717,16 +741,18 @@ const warning = new VariadicSingleton_1.VariadicSingleton((encrypted) => {
717
741
  : `[EncryptedRoute.${method[0].toUpperCase()}.${method
718
742
  .substring(1)
719
743
  .toLowerCase()}](https://github.com/samchon/@nestia/core#encryptedroute)`;
720
- return `## Warning
721
- ${summary}
722
-
723
- The ${type} body data would be encrypted as "AES-128(256) / CBC mode / PKCS#5 Padding / Base64 Encoding", through the ${component} component.
724
-
725
- Therefore, just utilize this swagger editor only for referencing. If you need to call the real API, using [SDK](https://github.com/samchon/nestia#software-development-kit) would be much better.
726
-
727
- -----------------
728
-
729
- `;
744
+ const content = [
745
+ "## Warning",
746
+ "",
747
+ summary,
748
+ "",
749
+ `The ${type} body data would be encrypted as "AES-128(256) / CBC mode / PKCS#5 Padding / Base64 Encoding", through the ${component} component.`,
750
+ "",
751
+ `Therefore, just utilize this swagger editor only for referencing. If you need to call the real API, using [SDK](https://github.com/samchon/nestia#software-development-kit) would be much better.`,
752
+ ];
753
+ if (described === true)
754
+ content.push("----------------", "");
755
+ return content.join("\n");
730
756
  });
731
757
  });
732
758
  const NO_BIGIT = "Error on typia.application(): does not allow bigint type.";
@@ -1 +1 @@
1
- {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":"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"}
@@ -128,6 +128,7 @@ var SdkFunctionProgrammer;
128
128
  const comments = route.description
129
129
  ? route.description.split("\n")
130
130
  : [];
131
+ // COMMENT TAGS
131
132
  const tags = route.tags.filter((tag) => tag.name !== "param" ||
132
133
  route.parameters
133
134
  .filter((p) => p.category !== "headers")
@@ -141,7 +142,16 @@ var SdkFunctionProgrammer;
141
142
  });
142
143
  comments.push("", ...new Set(content));
143
144
  }
144
- // COMPLETE THE COMMENT
145
+ // EXCEPTIONS
146
+ for (const [key, value] of Object.entries(route.exceptions)) {
147
+ if (comments.some((str) => str.startsWith(`@throw ${key}`) ||
148
+ str.startsWith(`@throws ${key}`)))
149
+ continue;
150
+ comments.push(value.description
151
+ ? `@throws ${key} ${value.description.split("\n")[0]}`
152
+ : `@throws ${key}`);
153
+ }
154
+ // POSTFIX
145
155
  if (!!comments.length)
146
156
  comments.push("");
147
157
  comments.push(`@controller ${route.symbol}`, `@path ${route.method} ${route.path}`, `@nestia Generated by Nestia - https://github.com/samchon/nestia`);
@@ -1 +1 @@
1
- {"version":3,"file":"SdkFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFunctionProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdkFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFunctionProgrammer.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export declare namespace IController {
17
17
  type?: string;
18
18
  contentType: "application/json" | "text/plain";
19
19
  security: Record<string, string[]>[];
20
+ exceptions: Record<number | "2xx" | "3xx" | "4xx" | "5xx", IController.IException>;
20
21
  }
21
22
  type IParameter = ICommonParameter | IQueryParameter | IHeadersParameter | IBodyParameter | IPathParameter;
22
23
  interface ICommonParameter {
@@ -60,4 +61,9 @@ export declare namespace IController {
60
61
  nullable: boolean;
61
62
  };
62
63
  }
64
+ interface IException {
65
+ type: string;
66
+ status: number | "2xx" | "3xx" | "4xx" | "5xx";
67
+ description: string | undefined;
68
+ }
63
69
  }
@@ -24,6 +24,7 @@ export interface IRoute {
24
24
  source: string;
25
25
  }>;
26
26
  security: Record<string, string[]>[];
27
+ exceptions: Record<number | "2xx" | "3xx" | "4xx" | "5xx", IRoute.IOutput>;
27
28
  }
28
29
  export declare namespace IRoute {
29
30
  type IParameter = IController.IParameter & {
@@ -31,6 +32,7 @@ export declare namespace IRoute {
31
32
  type: ITypeTuple;
32
33
  };
33
34
  interface IOutput extends ITypeTuple {
35
+ description?: string;
34
36
  contentType: "application/json" | "text/plain";
35
37
  }
36
38
  }
@@ -22,13 +22,13 @@ export declare namespace ISwaggerRoute {
22
22
  description?: string;
23
23
  }
24
24
  interface IRequestBody {
25
- description: string;
25
+ description?: string;
26
26
  content: IContent;
27
27
  required: true;
28
28
  "x-nestia-encrypted": boolean;
29
29
  }
30
30
  type IResponseBody = Record<string, {
31
- description: string;
31
+ description?: string;
32
32
  content?: IContent;
33
33
  "x-nestia-encrypted"?: boolean;
34
34
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/sdk",
3
- "version": "1.6.3",
3
+ "version": "1.6.4-dev.20230817",
4
4
  "description": "Nestia SDK and Swagger generator",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "homepage": "https://nestia.io",
37
37
  "dependencies": {
38
- "@nestia/fetcher": "^1.6.3",
38
+ "@nestia/fetcher": "^1.6.4-dev.20230817",
39
39
  "cli": "^1.0.1",
40
40
  "glob": "^7.2.0",
41
41
  "path-to-regexp": "^6.2.1",
@@ -44,16 +44,16 @@
44
44
  "tsconfck": "^2.0.1",
45
45
  "tsconfig-paths": "^4.1.1",
46
46
  "tstl": "^2.5.13",
47
- "typia": "^4.2.1"
47
+ "typia": "^4.2.3"
48
48
  },
49
49
  "peerDependencies": {
50
- "@nestia/fetcher": ">= 1.6.3",
50
+ "@nestia/fetcher": ">= 1.6.4-dev.20230817",
51
51
  "@nestjs/common": ">= 7.0.1",
52
52
  "@nestjs/core": ">= 7.0.1",
53
53
  "reflect-metadata": ">= 0.1.12",
54
54
  "ts-node": ">= 10.6.0",
55
55
  "typescript": ">= 4.8.0",
56
- "typia": ">= 4.2.1"
56
+ "typia": ">= 4.2.3"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@nestjs/common": ">= 7.0.1",
@@ -8,6 +8,7 @@ import { IController } from "../structures/IController";
8
8
  import { IRoute } from "../structures/IRoute";
9
9
  import { ITypeTuple } from "../structures/ITypeTuple";
10
10
  import { PathUtil } from "../utils/PathUtil";
11
+ import { ExceptionAnalyzer } from "./ExceptionAnalyzer";
11
12
  import { GenericAnalyzer } from "./GenericAnalyzer";
12
13
  import { ImportAnalyzer } from "./ImportAnalyzer";
13
14
  import { PathAnalyzer } from "./PathAnalyzer";
@@ -89,7 +90,7 @@ export namespace ControllerAnalyzer {
89
90
  controller: IController,
90
91
  genericDict: GenericAnalyzer.Dictionary,
91
92
  func: IController.IFunction,
92
- declaration: ts.Declaration,
93
+ declaration: ts.MethodDeclaration,
93
94
  symbol: ts.Symbol,
94
95
  ): IRoute[] {
95
96
  // PREPARE ASSETS
@@ -101,7 +102,6 @@ export namespace ControllerAnalyzer {
101
102
  type,
102
103
  ts.SignatureKind.Call,
103
104
  )[0];
104
-
105
105
  if (signature === undefined)
106
106
  throw new Error(
107
107
  `Error on ControllerAnalyzer.analyze(): unable to get the signature from the ${controller.name}.${func.name}().`,
@@ -206,6 +206,10 @@ export namespace ControllerAnalyzer {
206
206
  },
207
207
  ),
208
208
  security,
209
+ exceptions: ExceptionAnalyzer.analyze(checker)(
210
+ genericDict,
211
+ importDict,
212
+ )(func)(declaration),
209
213
  };
210
214
 
211
215
  // CONFIGURE PATHS
@@ -232,9 +236,6 @@ export namespace ControllerAnalyzer {
232
236
  }));
233
237
  }
234
238
 
235
- /* ---------------------------------------------------------
236
- PARAMETER
237
- --------------------------------------------------------- */
238
239
  function _Analyze_parameter(
239
240
  checker: ts.TypeChecker,
240
241
  genericDict: GenericAnalyzer.Dictionary,
@@ -0,0 +1,102 @@
1
+ import path from "path";
2
+ import ts from "typescript";
3
+
4
+ import { IController } from "../structures/IController";
5
+ import { IRoute } from "../structures/IRoute";
6
+ import { ITypeTuple } from "../structures/ITypeTuple";
7
+ import { GenericAnalyzer } from "./GenericAnalyzer";
8
+ import { ImportAnalyzer } from "./ImportAnalyzer";
9
+
10
+ export namespace ExceptionAnalyzer {
11
+ export const analyze =
12
+ (checker: ts.TypeChecker) =>
13
+ (
14
+ genericDict: GenericAnalyzer.Dictionary,
15
+ importDict: ImportAnalyzer.Dictionary,
16
+ ) =>
17
+ (func: IController.IFunction) =>
18
+ (
19
+ declaration: ts.MethodDeclaration,
20
+ ): Record<number | "2xx" | "3xx" | "4xx" | "5xx", IRoute.IOutput> => {
21
+ const output: Record<
22
+ number | "2xx" | "3xx" | "4xx" | "5xx",
23
+ IRoute.IOutput
24
+ > = {} as any;
25
+ for (const decorator of declaration.modifiers ?? [])
26
+ if (ts.isDecorator(decorator))
27
+ analyzeTyped(checker)(genericDict, importDict)(func)(
28
+ output,
29
+ )(decorator);
30
+ return output;
31
+ };
32
+
33
+ const analyzeTyped =
34
+ (checker: ts.TypeChecker) =>
35
+ (
36
+ genericDict: GenericAnalyzer.Dictionary,
37
+ importDict: ImportAnalyzer.Dictionary,
38
+ ) =>
39
+ (func: IController.IFunction) =>
40
+ (
41
+ output: Record<
42
+ number | "2xx" | "3xx" | "4xx" | "5xx",
43
+ IRoute.IOutput
44
+ >,
45
+ ) =>
46
+ (decorator: ts.Decorator): boolean => {
47
+ // CHECK DECORATOR
48
+ if (!ts.isCallExpression(decorator.expression)) return false;
49
+ else if ((decorator.expression.typeArguments ?? []).length !== 1)
50
+ return false;
51
+
52
+ // CHECK SIGNATURE
53
+ const signature: ts.Signature | undefined =
54
+ checker.getResolvedSignature(decorator.expression);
55
+ if (!signature || !signature.declaration) return false;
56
+ else if (
57
+ path
58
+ .resolve(signature.declaration.getSourceFile().fileName)
59
+ .indexOf(TYPED_EXCEPTION_PATH) === -1
60
+ )
61
+ return false;
62
+
63
+ // GET TYPE INFO
64
+ const node: ts.TypeNode = decorator.expression.typeArguments![0];
65
+ const type: ts.Type = checker.getTypeFromTypeNode(node);
66
+ if (type.isTypeParameter())
67
+ throw new Error(
68
+ "Error on @nestia.core.TypedException(): non-specified generic argument.",
69
+ );
70
+
71
+ const tuple: ITypeTuple | null = ImportAnalyzer.analyze(
72
+ checker,
73
+ genericDict,
74
+ importDict,
75
+ type,
76
+ );
77
+ if (tuple === null) return false;
78
+
79
+ // DO ASSIGN
80
+ const matched: IController.IException[] = Object.entries(
81
+ func.exceptions,
82
+ )
83
+ .filter(([_key, value]) => value.type === tuple.name)
84
+ .map(([_key, value]) => value);
85
+ for (const m of matched)
86
+ output[m.status] = {
87
+ ...tuple,
88
+ contentType: "application/json",
89
+ description: m.description,
90
+ };
91
+ return true;
92
+ };
93
+ }
94
+
95
+ const TYPED_EXCEPTION_PATH = path.join(
96
+ "node_modules",
97
+ "@nestia",
98
+ "core",
99
+ "lib",
100
+ "decorators",
101
+ "TypedException.d.ts",
102
+ );
@@ -89,7 +89,7 @@ export namespace ReflectAnalyzer {
89
89
  name,
90
90
  paths,
91
91
  functions: [],
92
- security: _Get_security(creator),
92
+ security: _Get_securities(creator),
93
93
  };
94
94
 
95
95
  // PARSE CHILDREN DATA
@@ -126,12 +126,25 @@ export namespace ReflectAnalyzer {
126
126
  else return value;
127
127
  }
128
128
 
129
- function _Get_security(value: any): Record<string, string[]>[] {
129
+ function _Get_securities(value: any): Record<string, string[]>[] {
130
130
  const entire: Record<string, string[]>[] | undefined =
131
131
  Reflect.getMetadata("swagger/apiSecurity", value);
132
132
  return entire ? SecurityAnalyzer.merge(...entire) : [];
133
133
  }
134
134
 
135
+ function _Get_exceptions(
136
+ value: any,
137
+ ): Record<number | "2xx" | "3xx" | "4xx" | "5xx", IController.IException> {
138
+ const entire: IController.IException[] | undefined =
139
+ Reflect.getMetadata("swagger/TypedException", value);
140
+ return Object.fromEntries(
141
+ (entire ?? []).map((exp) => [exp.status, exp]),
142
+ ) as Record<
143
+ number | "2xx" | "3xx" | "4xx" | "5xx",
144
+ IController.IException
145
+ >;
146
+ }
147
+
135
148
  /* ---------------------------------------------------------
136
149
  FUNCTION
137
150
  --------------------------------------------------------- */
@@ -213,7 +226,8 @@ export namespace ReflectAnalyzer {
213
226
  typeof h?.value === "string" &&
214
227
  h.name.toLowerCase() === "content-type",
215
228
  )?.value ?? "application/json",
216
- security: _Get_security(proto),
229
+ security: _Get_securities(proto),
230
+ exceptions: _Get_exceptions(proto),
217
231
  };
218
232
 
219
233
  // VALIDATE PATH ARGUMENTS
@@ -1,7 +1,6 @@
1
1
  import fs from "fs";
2
2
  import NodePath from "path";
3
3
  import { Singleton } from "tstl/thread/Singleton";
4
- import { VariadicSingleton } from "tstl/thread/VariadicSingleton";
5
4
  import ts from "typescript";
6
5
 
7
6
  import typia, { IJsonApplication, IJsonComponents, IJsonSchema } from "typia";
@@ -537,14 +536,19 @@ export namespace SwaggerGenerator {
537
536
  const contentType = parameter.custom
538
537
  ? parameter.contentType
539
538
  : "application/json";
539
+ const description = get_parametric_description(
540
+ route,
541
+ "param",
542
+ parameter.name,
543
+ );
540
544
 
541
545
  return {
542
546
  description:
543
- warning
544
- .get(parameter.custom && parameter.encrypted)
545
- .get("request") +
546
- (get_parametric_description(route, "param", parameter.name) ??
547
- ""),
547
+ parameter.custom && parameter.encrypted
548
+ ? `${warning.get(!!description).get("request")}${
549
+ description ?? ""
550
+ }`
551
+ : description,
548
552
  content: {
549
553
  [contentType]: {
550
554
  schema,
@@ -561,7 +565,68 @@ export namespace SwaggerGenerator {
561
565
  tupleList: Array<ISchemaTuple>,
562
566
  route: IRoute,
563
567
  ): ISwaggerRoute.IResponseBody {
564
- // OUTPUT WITH SUCCESS STATUS
568
+ const output: ISwaggerRoute.IResponseBody = {};
569
+
570
+ //----
571
+ // EXCEPTION STATUSES
572
+ //----
573
+ // FROM DECORATOR
574
+ for (const [status, exp] of Object.entries(route.exceptions)) {
575
+ const schema = generate_schema(
576
+ checker,
577
+ collection,
578
+ tupleList,
579
+ exp.type,
580
+ );
581
+ if (schema !== null)
582
+ output[status] = {
583
+ description: exp.description,
584
+ content: {
585
+ "application/json": { schema },
586
+ },
587
+ };
588
+ }
589
+
590
+ // FROM COMMENT TAGS
591
+ for (const tag of route.tags) {
592
+ if (tag.name !== "throw" && tag.name !== "throws") continue;
593
+
594
+ const text: string | undefined = tag.text?.find(
595
+ (elem) => elem.kind === "text",
596
+ )?.text;
597
+ if (text === undefined) continue;
598
+
599
+ const elements: string[] = text.split(" ").map((str) => str.trim());
600
+ const status: string = elements[0];
601
+ if (
602
+ isNaN(Number(status)) &&
603
+ status !== "2xx" &&
604
+ status !== "3xx" &&
605
+ status !== "4xx" &&
606
+ status !== "5xx"
607
+ )
608
+ continue;
609
+
610
+ const description: string | undefined =
611
+ elements.length === 1 ? undefined : elements.slice(1).join(" ");
612
+ const oldbie = output[status];
613
+ if (oldbie !== undefined && oldbie.description === undefined)
614
+ oldbie.description = description;
615
+ else if (oldbie === undefined)
616
+ output[status] = {
617
+ description,
618
+ content: {
619
+ "application/json": {
620
+ schema: {},
621
+ },
622
+ },
623
+ };
624
+ }
625
+
626
+ //----
627
+ // SUCCESS
628
+ //----
629
+ // STATUS & SCHEMA
565
630
  const status: string =
566
631
  route.status !== undefined
567
632
  ? String(route.status)
@@ -576,61 +641,28 @@ export namespace SwaggerGenerator {
576
641
  tupleList,
577
642
  route.output.type,
578
643
  );
579
- const success: ISwaggerRoute.IResponseBody = {
580
- [status]: {
581
- description:
582
- warning.get(route.encrypted).get("response", route.method) +
583
- (get_parametric_description(route, "return") ??
584
- get_parametric_description(route, "returns") ??
585
- ""),
586
- content:
587
- schema === null || route.output.name === "void"
588
- ? undefined
589
- : {
590
- [route.output.contentType]: {
591
- schema,
592
- },
644
+
645
+ // DO ASSIGN
646
+ const description =
647
+ get_parametric_description(route, "return") ??
648
+ get_parametric_description(route, "returns");
649
+ output[status] = {
650
+ description: route.encrypted
651
+ ? `${warning.get(!!description).get("response", route.method)}${
652
+ description ?? ""
653
+ }`
654
+ : description,
655
+ content:
656
+ schema === null || route.output.name === "void"
657
+ ? undefined
658
+ : {
659
+ [route.output.contentType]: {
660
+ schema,
593
661
  },
594
- "x-nestia-encrypted": route.encrypted,
595
- },
662
+ },
663
+ "x-nestia-encrypted": route.encrypted,
596
664
  };
597
-
598
- // EXCEPTION STATUSES
599
- const exceptions: ISwaggerRoute.IResponseBody = Object.fromEntries(
600
- route.tags
601
- .filter(
602
- (tag) =>
603
- (tag.name === "throw" || tag.name === "throws") &&
604
- tag.text &&
605
- tag.text.find(
606
- (elem) =>
607
- elem.kind === "text" &&
608
- isNaN(
609
- Number(
610
- elem.text
611
- .split(" ")
612
- .map((str) => str.trim())[0],
613
- ),
614
- ) === false,
615
- ) !== undefined,
616
- )
617
- .map((tag) => {
618
- const text: string = tag.text!.find(
619
- (elem) => elem.kind === "text",
620
- )!.text;
621
- const elements: string[] = text
622
- .split(" ")
623
- .map((str) => str.trim());
624
-
625
- return [
626
- elements[0],
627
- {
628
- description: elements.slice(1).join(" "),
629
- },
630
- ];
631
- }),
632
- );
633
- return { ...exceptions, ...success };
665
+ return output;
634
666
  }
635
667
 
636
668
  /* ---------------------------------------------------------
@@ -692,35 +724,31 @@ const required = (type: ts.Type): boolean => {
692
724
  );
693
725
  };
694
726
 
695
- const warning = new VariadicSingleton((encrypted: boolean) => {
696
- if (encrypted === false) return new Singleton(() => "");
697
-
698
- return new VariadicSingleton(
699
- (type: "request" | "response", method?: string) => {
700
- const summary =
701
- type === "request"
702
- ? "Request body must be encrypted."
703
- : "Response data have been encrypted.";
704
-
705
- const component =
706
- type === "request"
707
- ? "[EncryptedBody](https://github.com/samchon/@nestia/core#encryptedbody)"
708
- : `[EncryptedRoute.${method![0].toUpperCase()}.${method!
709
- .substring(1)
710
- .toLowerCase()}](https://github.com/samchon/@nestia/core#encryptedroute)`;
711
-
712
- return `## Warning
713
- ${summary}
714
-
715
- The ${type} body data would be encrypted as "AES-128(256) / CBC mode / PKCS#5 Padding / Base64 Encoding", through the ${component} component.
716
-
717
- Therefore, just utilize this swagger editor only for referencing. If you need to call the real API, using [SDK](https://github.com/samchon/nestia#software-development-kit) would be much better.
718
-
719
- -----------------
720
-
721
- `;
722
- },
723
- );
727
+ const warning = new Singleton((described: boolean) => {
728
+ return new Singleton((type: "request" | "response", method?: string) => {
729
+ const summary =
730
+ type === "request"
731
+ ? "Request body must be encrypted."
732
+ : "Response data have been encrypted.";
733
+ const component =
734
+ type === "request"
735
+ ? "[EncryptedBody](https://github.com/samchon/@nestia/core#encryptedbody)"
736
+ : `[EncryptedRoute.${method![0].toUpperCase()}.${method!
737
+ .substring(1)
738
+ .toLowerCase()}](https://github.com/samchon/@nestia/core#encryptedroute)`;
739
+
740
+ const content: string[] = [
741
+ "## Warning",
742
+ "",
743
+ summary,
744
+ "",
745
+ `The ${type} body data would be encrypted as "AES-128(256) / CBC mode / PKCS#5 Padding / Base64 Encoding", through the ${component} component.`,
746
+ "",
747
+ `Therefore, just utilize this swagger editor only for referencing. If you need to call the real API, using [SDK](https://github.com/samchon/nestia#software-development-kit) would be much better.`,
748
+ ];
749
+ if (described === true) content.push("----------------", "");
750
+ return content.join("\n");
751
+ });
724
752
  });
725
753
 
726
754
  interface ISchemaTuple {
@@ -198,6 +198,8 @@ export namespace SdkFunctionProgrammer {
198
198
  const comments: string[] = route.description
199
199
  ? route.description.split("\n")
200
200
  : [];
201
+
202
+ // COMMENT TAGS
201
203
  const tags: IJsDocTagInfo[] = route.tags.filter(
202
204
  (tag) =>
203
205
  tag.name !== "param" ||
@@ -214,7 +216,24 @@ export namespace SdkFunctionProgrammer {
214
216
  comments.push("", ...new Set(content));
215
217
  }
216
218
 
217
- // COMPLETE THE COMMENT
219
+ // EXCEPTIONS
220
+ for (const [key, value] of Object.entries(route.exceptions)) {
221
+ if (
222
+ comments.some(
223
+ (str) =>
224
+ str.startsWith(`@throw ${key}`) ||
225
+ str.startsWith(`@throws ${key}`),
226
+ )
227
+ )
228
+ continue;
229
+ comments.push(
230
+ value.description
231
+ ? `@throws ${key} ${value.description.split("\n")[0]}`
232
+ : `@throws ${key}`,
233
+ );
234
+ }
235
+
236
+ // POSTFIX
218
237
  if (!!comments.length) comments.push("");
219
238
  comments.push(
220
239
  `@controller ${route.symbol}`,
@@ -19,6 +19,10 @@ export namespace IController {
19
19
  type?: string;
20
20
  contentType: "application/json" | "text/plain";
21
21
  security: Record<string, string[]>[];
22
+ exceptions: Record<
23
+ number | "2xx" | "3xx" | "4xx" | "5xx",
24
+ IController.IException
25
+ >;
22
26
  }
23
27
 
24
28
  export type IParameter =
@@ -68,4 +72,10 @@ export namespace IController {
68
72
  nullable: boolean;
69
73
  };
70
74
  }
75
+
76
+ export interface IException {
77
+ type: string;
78
+ status: number | "2xx" | "3xx" | "4xx" | "5xx";
79
+ description: string | undefined;
80
+ }
71
81
  }
@@ -24,6 +24,7 @@ export interface IRoute {
24
24
  | { type: "assigner"; source: string }
25
25
  >;
26
26
  security: Record<string, string[]>[];
27
+ exceptions: Record<number | "2xx" | "3xx" | "4xx" | "5xx", IRoute.IOutput>;
27
28
  }
28
29
 
29
30
  export namespace IRoute {
@@ -32,6 +33,7 @@ export namespace IRoute {
32
33
  type: ITypeTuple;
33
34
  };
34
35
  export interface IOutput extends ITypeTuple {
36
+ description?: string;
35
37
  contentType: "application/json" | "text/plain";
36
38
  }
37
39
  }
@@ -23,7 +23,7 @@ export namespace ISwaggerRoute {
23
23
  description?: string;
24
24
  }
25
25
  export interface IRequestBody {
26
- description: string;
26
+ description?: string;
27
27
  content: IContent;
28
28
  required: true;
29
29
  "x-nestia-encrypted": boolean;
@@ -31,7 +31,7 @@ export namespace ISwaggerRoute {
31
31
  export type IResponseBody = Record<
32
32
  string,
33
33
  {
34
- description: string;
34
+ description?: string;
35
35
  content?: IContent;
36
36
  "x-nestia-encrypted"?: boolean;
37
37
  }