@rdyl/node-koa-controller 0.3.5 → 0.3.7

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.4 (2025-08-29)
1
+ ## 0.3.6 (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:
@@ -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,12 +67,16 @@ 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();
73
+ if (!root) return [3 /*break*/, 2];
72
74
  rootDir = (0, path_1.resolve)(process.cwd(), root);
73
75
  return [4 /*yield*/, cache_1.default.resolve(rootDir)];
74
76
  case 1:
75
77
  _d.sent();
78
+ _d.label = 2;
79
+ case 2:
76
80
  // 注册路由
77
81
  cache_1.default.register(router, useJwt);
78
82
  if (opts.static) {
@@ -85,7 +89,6 @@ function useApiController(app, opts) {
85
89
  multipart: true,
86
90
  formidable: formidable,
87
91
  }));
88
- cache_1.default.logs = logs;
89
92
  app.use(router.routes()).use(router.allowedMethods());
90
93
  ip = (0, utils_1.getIPAdress)();
91
94
  return [2 /*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.5",
3
+ "version": "0.3.7",
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/meta.d.ts CHANGED
@@ -53,7 +53,7 @@ export interface ResData<T> {
53
53
  }
54
54
  export interface UseProps {
55
55
  port: number;
56
- root: string;
56
+ root?: string;
57
57
  prefix?: string;
58
58
  static?: string;
59
59
  logs?: boolean;
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>;