@rdyl/node-koa-controller 0.3.4 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
- ## 0.3.3 (2025-08-29)
1
+ ## 0.3.5 (2025-09-05)
2
2
 
3
3
 
4
4
 
package/dist/cache.js CHANGED
@@ -75,8 +75,8 @@ var ASTCache = /** @class */ (function () {
75
75
  require(url);
76
76
  }
77
77
  }
78
- catch (_b) {
79
- console.warn("解析出现错误!");
78
+ catch (err) {
79
+ console.warn("解析出现错误!", err);
80
80
  }
81
81
  _a.label = 4;
82
82
  case 4:
@@ -103,43 +103,45 @@ var ASTCache = /** @class */ (function () {
103
103
  var next;
104
104
  var _this = this;
105
105
  return __generator(this, function (_a) {
106
- next = function () { return __awaiter(_this, void 0, void 0, function () {
107
- var instance, jwt, err_1;
108
- return __generator(this, function (_a) {
109
- switch (_a.label) {
110
- case 0:
111
- instance = new Instance(_ctx);
112
- if (!useJwt) return [3 /*break*/, 5];
113
- _a.label = 1;
114
- case 1:
115
- _a.trys.push([1, 3, , 5]);
116
- return [4 /*yield*/, Promise.resolve(useJwt(_ctx, {
117
- public: isPublic,
118
- }))];
119
- case 2:
120
- jwt = _a.sent();
121
- instance.jwt = jwt;
122
- return [3 /*break*/, 5];
123
- case 3:
124
- err_1 = _a.sent();
125
- return [4 /*yield*/, instance.status.unauthorized(err_1 === null || err_1 === void 0 ? void 0 : err_1.message)];
126
- case 4:
127
- // @ts-ignore
128
- return [2 /*return*/, _a.sent()];
129
- case 5: return [4 /*yield*/, instance[name]()];
130
- case 6:
131
- _a.sent();
132
- return [2 /*return*/];
133
- }
134
- });
135
- }); };
136
- if (ASTCache.logs) {
137
- (0, utils_1.LogsHandler)(_ctx, next);
106
+ switch (_a.label) {
107
+ case 0:
108
+ next = function () { return __awaiter(_this, void 0, void 0, function () {
109
+ var instance, jwt, err_1;
110
+ return __generator(this, function (_a) {
111
+ switch (_a.label) {
112
+ case 0:
113
+ instance = new Instance(_ctx);
114
+ if (!useJwt) return [3 /*break*/, 4];
115
+ _a.label = 1;
116
+ case 1:
117
+ _a.trys.push([1, 3, , 4]);
118
+ return [4 /*yield*/, useJwt(_ctx, { public: isPublic })];
119
+ case 2:
120
+ jwt = _a.sent();
121
+ instance.jwt = jwt;
122
+ return [3 /*break*/, 4];
123
+ case 3:
124
+ err_1 = _a.sent();
125
+ // @ts-ignore
126
+ return [2 /*return*/, instance.status.unauthorized(err_1 === null || err_1 === void 0 ? void 0 : err_1.message)];
127
+ case 4: return [4 /*yield*/, Promise.resolve(instance[name]())];
128
+ case 5:
129
+ _a.sent();
130
+ return [2 /*return*/];
131
+ }
132
+ });
133
+ }); };
134
+ if (!ASTCache.logs) return [3 /*break*/, 2];
135
+ return [4 /*yield*/, (0, utils_1.LogsHandler)(_ctx, next)];
136
+ case 1:
137
+ _a.sent();
138
+ return [3 /*break*/, 4];
139
+ case 2: return [4 /*yield*/, next()];
140
+ case 3:
141
+ _a.sent();
142
+ _a.label = 4;
143
+ case 4: return [2 /*return*/];
138
144
  }
139
- else {
140
- next();
141
- }
142
- return [2 /*return*/];
143
145
  });
144
146
  }); });
145
147
  });
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.api_docs_path = void 0;
43
+ exports.getDocsHtml = getDocsHtml;
44
+ var ejs_1 = __importDefault(require("ejs"));
45
+ var path_1 = __importDefault(require("path"));
46
+ var cache_1 = __importDefault(require("../cache"));
47
+ var parse_1 = require("../docs/parse");
48
+ exports.api_docs_path = "/api-docs.html";
49
+ function getDocsHtml() {
50
+ return __awaiter(this, void 0, void 0, function () {
51
+ var treeData;
52
+ return __generator(this, function (_a) {
53
+ switch (_a.label) {
54
+ case 0:
55
+ treeData = (0, parse_1.parseASTRoutes)(cache_1.default.routes);
56
+ return [4 /*yield*/, ejs_1.default.renderFile(path_1.default.resolve(__dirname, "../docs/template.ejs"), {
57
+ treeData: treeData,
58
+ })];
59
+ case 1: return [2 /*return*/, _a.sent()];
60
+ }
61
+ });
62
+ });
63
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseASTRoutes = parseASTRoutes;
4
+ var utils_1 = require("../utils");
5
+ function parseASTRoutes(routes) {
6
+ return routes.map(function (ele) {
7
+ return {
8
+ name: ele.prefix,
9
+ handlers: ele.handlers.map(function (item) {
10
+ var url = utils_1.Uri.join([ele.prefix, item.url]);
11
+ return {
12
+ method: item.method,
13
+ name: item.name,
14
+ url: url,
15
+ jsUrl: "`" + url.replace(new RegExp("{", "g"), "${") + "`",
16
+ methodColor: "red",
17
+ };
18
+ }),
19
+ };
20
+ });
21
+ }
package/dist/index.js CHANGED
@@ -67,6 +67,7 @@ function useApiController(app, opts) {
67
67
  switch (_d.label) {
68
68
  case 0:
69
69
  root = opts.root, _a = opts.prefix, prefix = _a === void 0 ? "" : _a, _b = opts.port, port = _b === void 0 ? 8080 : _b, _c = opts.logs, logs = _c === void 0 ? true : _c, formidable = opts.formidable, useJwt = opts.useJwt;
70
+ cache_1.default.logs = logs;
70
71
  cache_1.default.prefix = prefix;
71
72
  router = new koa_router_1.default();
72
73
  rootDir = (0, path_1.resolve)(process.cwd(), root);
@@ -85,7 +86,6 @@ function useApiController(app, opts) {
85
86
  multipart: true,
86
87
  formidable: formidable,
87
88
  }));
88
- cache_1.default.logs = logs;
89
89
  app.use(router.routes()).use(router.allowedMethods());
90
90
  ip = (0, utils_1.getIPAdress)();
91
91
  return [2 /*return*/, {
package/dist/meta.js CHANGED
@@ -131,7 +131,7 @@ var BaseController = /** @class */ (function () {
131
131
  var _this = this;
132
132
  var sendJson = function (body) {
133
133
  _this._ctx.response.set("Content-Type", "application/json;charset=utf-8");
134
- _this._ctx.response.status = body.code;
134
+ _this._ctx.status = body.code;
135
135
  _this._ctx.body = body;
136
136
  };
137
137
  return {
package/dist/utils.js CHANGED
@@ -39,6 +39,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
39
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
40
  };
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.Uri = void 0;
42
43
  exports.formatDateTime = formatDateTime;
43
44
  exports.getIPAdress = getIPAdress;
44
45
  exports.LogsHandler = LogsHandler;
@@ -47,6 +48,22 @@ var os_1 = __importDefault(require("os"));
47
48
  var path_1 = require("path");
48
49
  var boxen_1 = __importDefault(require("boxen"));
49
50
  var chalk_1 = __importDefault(require("chalk"));
51
+ exports.Uri = {
52
+ join: function (paths) {
53
+ var url = "";
54
+ paths.forEach(function (path) {
55
+ if (path) {
56
+ if (path[0] === "/") {
57
+ url += path;
58
+ }
59
+ else {
60
+ url += "/".concat(path);
61
+ }
62
+ }
63
+ });
64
+ return url;
65
+ },
66
+ };
50
67
  function formatDateTime(date, format) {
51
68
  if (date === void 0) { date = new Date(); }
52
69
  if (format === void 0) { format = "YYYY-MM-DD HH:mm:ss"; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rdyl/node-koa-controller",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "types/index.d.ts",
@@ -25,6 +25,7 @@
25
25
  "boxen": "^8.0.1",
26
26
  "chalk": "^5.4.1",
27
27
  "crypto-js": "^4.2.0",
28
+ "ejs": "^3.1.10",
28
29
  "koa": "^2.15.3",
29
30
  "koa-body": "^6.0.1",
30
31
  "koa-router": "^13.0.1",
@@ -33,6 +34,7 @@
33
34
  "devDependencies": {
34
35
  "@commitlint/cli": "^19.6.1",
35
36
  "@commitlint/config-conventional": "^19.6.0",
37
+ "@types/ejs": "^3.1.5",
36
38
  "@types/node": "^22.9.0",
37
39
  "conventional-changelog-cli": "^5.0.0",
38
40
  "copyfiles": "^2.4.1",
@@ -0,0 +1,2 @@
1
+ export declare const api_docs_path = "/api-docs.html";
2
+ export declare function getDocsHtml(): Promise<string>;
@@ -0,0 +1,11 @@
1
+ import { ASTCacheRoute } from "../meta";
2
+ export declare function parseASTRoutes(routes: ASTCacheRoute[]): {
3
+ name: string;
4
+ handlers: {
5
+ method: string;
6
+ name: string;
7
+ url: string;
8
+ jsUrl: string;
9
+ methodColor: string;
10
+ }[];
11
+ }[];
package/types/utils.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  import { KoaCtx } from "./meta";
2
+ export declare const Uri: {
3
+ join(paths: string[]): string;
4
+ };
2
5
  export declare function formatDateTime(date?: Date, format?: string): string;
3
6
  export declare function getIPAdress(): string;
4
7
  export declare function LogsHandler(ctx: KoaCtx, next: () => Promise<any>): Promise<void>;