@maiyunnet/kebab 2.0.16 → 3.0.0

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 (81) hide show
  1. package/README.md +1 -5
  2. package/index.d.ts +1 -1
  3. package/index.js +16 -18
  4. package/lib/buffer.js +4 -11
  5. package/lib/captcha.js +6 -44
  6. package/lib/consistent.js +8 -51
  7. package/lib/core.d.ts +4 -4
  8. package/lib/core.js +70 -132
  9. package/lib/crypto.js +43 -99
  10. package/lib/db.d.ts +5 -5
  11. package/lib/db.js +31 -68
  12. package/lib/dns.d.ts +1 -1
  13. package/lib/dns.js +12 -50
  14. package/lib/fs.js +26 -81
  15. package/lib/jwt.d.ts +3 -3
  16. package/lib/jwt.js +9 -50
  17. package/lib/kv.d.ts +4 -4
  18. package/lib/kv.js +31 -69
  19. package/lib/lan.js +4 -41
  20. package/lib/net/cacert.pem +78 -2
  21. package/lib/net/formdata.js +5 -42
  22. package/lib/net/request.d.ts +2 -2
  23. package/lib/net/request.js +3 -42
  24. package/lib/net/response.d.ts +1 -1
  25. package/lib/net/response.js +1 -5
  26. package/lib/net.d.ts +5 -5
  27. package/lib/net.js +24 -73
  28. package/lib/s3.d.ts +1 -1
  29. package/lib/s3.js +20 -59
  30. package/lib/scan.d.ts +3 -3
  31. package/lib/scan.js +10 -50
  32. package/lib/session.d.ts +3 -3
  33. package/lib/session.js +9 -46
  34. package/lib/sql.d.ts +2 -2
  35. package/lib/sql.js +9 -50
  36. package/lib/ssh/sftp.js +5 -46
  37. package/lib/ssh/shell.js +2 -39
  38. package/lib/ssh.d.ts +2 -2
  39. package/lib/ssh.js +5 -43
  40. package/lib/text.d.ts +1 -1
  41. package/lib/text.js +40 -104
  42. package/lib/time.d.ts +1 -1
  43. package/lib/time.js +10 -50
  44. package/lib/turnstile.d.ts +1 -1
  45. package/lib/turnstile.js +6 -43
  46. package/lib/ws.d.ts +2 -2
  47. package/lib/ws.js +14 -56
  48. package/lib/zip.d.ts +1 -1
  49. package/lib/zip.js +6 -47
  50. package/lib/zlib.js +17 -68
  51. package/main.js +6 -44
  52. package/package.json +9 -8
  53. package/sys/child.js +10 -45
  54. package/sys/cmd.js +8 -43
  55. package/sys/ctr.d.ts +5 -5
  56. package/sys/ctr.js +9 -47
  57. package/sys/master.js +11 -46
  58. package/sys/mod.d.ts +9 -5
  59. package/sys/mod.js +9 -43
  60. package/sys/route.d.ts +2 -2
  61. package/sys/route.js +24 -64
  62. package/types/index.d.ts +1 -0
  63. package/www/example/ctr/main.d.ts +1 -1
  64. package/www/example/ctr/main.js +2 -38
  65. package/www/example/ctr/middle.d.ts +2 -2
  66. package/www/example/ctr/middle.js +2 -38
  67. package/www/example/ctr/test.d.ts +2 -2
  68. package/www/example/ctr/test.js +65 -72
  69. package/www/example/mod/test.d.ts +2 -2
  70. package/www/example/mod/test.js +4 -42
  71. package/www/example/mod/testdata.d.ts +1 -1
  72. package/www/example/mod/testdata.js +3 -8
  73. package/www/example/ws/mproxy.d.ts +1 -1
  74. package/www/example/ws/mproxy.js +6 -41
  75. package/www/example/ws/rproxy.d.ts +1 -1
  76. package/www/example/ws/rproxy.js +5 -40
  77. package/www/example/ws/rsocket.d.ts +1 -1
  78. package/www/example/ws/rsocket.js +5 -40
  79. package/www/example/ws/test.d.ts +1 -1
  80. package/www/example/ws/test.js +7 -42
  81. package/eslint.config.js +0 -22
package/sys/cmd.js CHANGED
@@ -1,50 +1,15 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
1
  /**
37
2
  * Project: Kebab, User: JianSuoQiYue
38
3
  * Date: 2020-3-7 23:51:15
39
4
  * Last: 2020-3-7 23:51:18, 2022-07-22 14:14:09, 2022-9-27 14:52:19, 2023-5-23 21:42:46, 2024-7-2 15:12:28
40
5
  */
41
- const http = __importStar(require("http"));
42
- const lFs = __importStar(require("~/lib/fs"));
43
- const lText = __importStar(require("~/lib/text"));
44
- const lTime = __importStar(require("~/lib/time"));
45
- const lCore = __importStar(require("~/lib/core"));
46
- const lCrypto = __importStar(require("~/lib/crypto"));
47
- const kebab = __importStar(require("~/index"));
6
+ import * as http from 'http';
7
+ import * as lFs from '../lib/fs.js';
8
+ import * as lText from '../lib/text.js';
9
+ import * as lTime from '../lib/time.js';
10
+ import * as lCore from '../lib/core.js';
11
+ import * as lCrypto from '../lib/crypto.js';
12
+ import * as kebab from '../index.js';
48
13
  /** --- 解析命令 --- */
49
14
  const cmds = process.argv.slice(2);
50
15
  /** --- 批量创建目录 --- */
@@ -229,7 +194,7 @@ async function run() {
229
194
  return;
230
195
  }
231
196
  // --- 载入独立文件入口 ---
232
- Promise.resolve(`${'../ind/' + cmds[1] + '/index'}`).then(s => __importStar(require(s))).catch((e) => {
197
+ import('../ind/' + cmds[1] + '/index.js').catch((e) => {
233
198
  lCore.display('CMD ERROR', 'E', e);
234
199
  });
235
200
  }
package/sys/ctr.d.ts CHANGED
@@ -5,11 +5,11 @@
5
5
  */
6
6
  import * as http from 'http';
7
7
  import * as http2 from 'http2';
8
- import * as session from '../lib/session';
9
- import * as db from '../lib/db';
10
- import * as kv from '../lib/kv';
11
- import * as lWs from '../lib/ws';
12
- import * as types from '../types';
8
+ import * as session from '../lib/session.js';
9
+ import * as db from '../lib/db.js';
10
+ import * as kv from '../lib/kv.js';
11
+ import * as lWs from '../lib/ws.js';
12
+ import * as types from '../types/index.js';
13
13
  /**
14
14
  * --- 清除已经加载的 data 与语言包文件缓存 ---
15
15
  */
package/sys/ctr.js CHANGED
@@ -1,47 +1,10 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Ctr = void 0;
37
- exports.clearLocaleData = clearLocaleData;
38
- const ejs = __importStar(require("ejs"));
39
- const lCore = __importStar(require("../lib/core"));
40
- const fs = __importStar(require("../lib/fs"));
41
- const crypto = __importStar(require("../lib/crypto"));
42
- const session = __importStar(require("../lib/session"));
43
- const text = __importStar(require("../lib/text"));
44
- const sRoute = __importStar(require("../sys/route"));
1
+ import * as ejs from 'ejs';
2
+ import * as lCore from '../lib/core.js';
3
+ import * as fs from '../lib/fs.js';
4
+ import * as crypto from '../lib/crypto.js';
5
+ import * as session from '../lib/session.js';
6
+ import * as text from '../lib/text.js';
7
+ import * as sRoute from '../sys/route.js';
45
8
  /** --- 已加载的 DATA 数据缓存(不是语言包)-- */
46
9
  let loadedData = {};
47
10
  /** --- 已加载的语言文件列表 --- */
@@ -51,12 +14,12 @@ let localeData = {};
51
14
  /**
52
15
  * --- 清除已经加载的 data 与语言包文件缓存 ---
53
16
  */
54
- function clearLocaleData() {
17
+ export function clearLocaleData() {
55
18
  loadedData = {};
56
19
  localeFiles = [];
57
20
  localeData = {};
58
21
  }
59
- class Ctr {
22
+ export class Ctr {
60
23
  constructor(config, req, res) {
61
24
  /** --- 路由参数序列数组 --- */
62
25
  this._param = [];
@@ -782,4 +745,3 @@ class Ctr {
782
745
  return true;
783
746
  }
784
747
  }
785
- exports.Ctr = Ctr;
package/sys/master.js CHANGED
@@ -1,55 +1,20 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
1
  /**
37
2
  * Project: Kebab, User: JianSuoQiYue
38
3
  * Date: 2019-5-2 21:03:42
39
4
  * Last: 2020-3-7 10:33:17, 2022-07-22 13:40:10, 2022-09-06 22:40:58, 2024-2-7 01:44:59, 2024-7-2 15:17:09, 2025-6-13 13:06:43
40
5
  */
41
- const os = __importStar(require("os"));
42
- const cluster = __importStar(require("cluster"));
43
- const http = __importStar(require("http"));
6
+ import * as os from 'os';
7
+ import * as cluster from 'cluster';
8
+ import * as http from 'http';
44
9
  // --- 库和定义 ---
45
- const kebab = __importStar(require("~/index"));
46
- const sRoute = __importStar(require("~/sys/route"));
47
- const lCore = __importStar(require("~/lib/core"));
48
- const lFs = __importStar(require("~/lib/fs"));
49
- const lText = __importStar(require("~/lib/text"));
50
- const lCrypto = __importStar(require("~/lib/crypto"));
51
- const lTime = __importStar(require("~/lib/time"));
52
- const lZip = __importStar(require("~/lib/zip"));
10
+ import * as kebab from '../index.js';
11
+ import * as sRoute from '../sys/route.js';
12
+ import * as lCore from '../lib/core.js';
13
+ import * as lFs from '../lib/fs.js';
14
+ import * as lText from '../lib/text.js';
15
+ import * as lCrypto from '../lib/crypto.js';
16
+ import * as lTime from '../lib/time.js';
17
+ import * as lZip from '../lib/zip.js';
53
18
  /** --- 当前运行中的子进程列表 --- */
54
19
  const workerList = {};
55
20
  /**
package/sys/mod.d.ts CHANGED
@@ -3,10 +3,14 @@
3
3
  * Date: 2019-6-4 21:35
4
4
  * Last: 2020-4-14 13:33:51, 2022-07-23 16:01:34, 2022-09-06 22:59:26, 2023-5-24 19:11:37, 2023-6-13 21:47:58, 2023-7-10 18:54:03, 2023-8-23 17:03:16, 2023-12-11 15:21:22, 2023-12-20 23:12:03, 2024-3-8 16:05:29, 2024-3-20 19:58:15, 2024-8-11 21:14:54, 2024-10-5 14:00:22, 2024-12-14 19:58:34
5
5
  */
6
- import * as lSql from '~/lib/sql';
7
- import * as lDb from '~/lib/db';
8
- import * as sCtr from '~/sys/ctr';
9
- import * as types from '~/types';
6
+ import * as lSql from '../lib/sql.js';
7
+ import * as lDb from '../lib/db.js';
8
+ import * as sCtr from '../sys/ctr.js';
9
+ import * as types from '../types/index.js';
10
+ /** --- 只获取变量 --- */
11
+ type TOnlyProperties<T> = {
12
+ [K in keyof T as T[K] extends (...args: any[]) => any ? never : K]: T[K];
13
+ };
10
14
  /** --- 条数列表 --- */
11
15
  declare class Rows<T extends Mod> implements types.Rows<T> {
12
16
  private readonly _items;
@@ -450,7 +454,7 @@ export default class Mod {
450
454
  /**
451
455
  * --- 获取值对象 ---
452
456
  */
453
- toArray(): Record<string, any>;
457
+ toArray<TC extends abstract new (...args: any) => any>(): TOnlyProperties<InstanceType<TC>> & Record<string, any>;
454
458
  /**
455
459
  * --- 获取当前设置要提交的数据 ---
456
460
  */
package/sys/mod.js CHANGED
@@ -1,48 +1,13 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
1
  /**
37
2
  * Project: Mutton, User: JianSuoQiYue
38
3
  * Date: 2019-6-4 21:35
39
4
  * Last: 2020-4-14 13:33:51, 2022-07-23 16:01:34, 2022-09-06 22:59:26, 2023-5-24 19:11:37, 2023-6-13 21:47:58, 2023-7-10 18:54:03, 2023-8-23 17:03:16, 2023-12-11 15:21:22, 2023-12-20 23:12:03, 2024-3-8 16:05:29, 2024-3-20 19:58:15, 2024-8-11 21:14:54, 2024-10-5 14:00:22, 2024-12-14 19:58:34
40
5
  */
41
- const lSql = __importStar(require("~/lib/sql"));
42
- const lTime = __importStar(require("~/lib/time"));
43
- const lCore = __importStar(require("~/lib/core"));
44
- const lText = __importStar(require("~/lib/text"));
45
- const sCtr = __importStar(require("~/sys/ctr"));
6
+ import * as lSql from '../lib/sql.js';
7
+ import * as lTime from '../lib/time.js';
8
+ import * as lCore from '../lib/core.js';
9
+ import * as lText from '../lib/text.js';
10
+ import * as sCtr from '../sys/ctr.js';
46
11
  /** --- 条数列表 --- */
47
12
  class Rows {
48
13
  constructor(initialItems = []) {
@@ -971,6 +936,7 @@ class Mod {
971
936
  return Array.isArray(list) ? new Rows(list) : list;
972
937
  }
973
938
  // --- 单表 ---
939
+ /** --- 要追加的 values --- */
974
940
  const contain = this._contain ? lCore.clone(this._contain.list) : null;
975
941
  const r = await this._db.query(this._sql.getSql(), this._sql.getData());
976
942
  if (r.rows === null) {
@@ -990,7 +956,7 @@ class Mod {
990
956
  if (this._contain && contain?.length) {
991
957
  const csql = this._sql.copy(undefined, {
992
958
  'where': {
993
- [this._contain.key]: this._contain.list
959
+ [this._contain.key]: contain,
994
960
  }
995
961
  });
996
962
  cr = await this._db.query(csql.getSql(), csql.getData());
@@ -1137,7 +1103,7 @@ class Mod {
1137
1103
  if (this._contain && contain?.length) {
1138
1104
  const csql = this._sql.copy(undefined, {
1139
1105
  'where': {
1140
- [this._contain.key]: this._contain.list
1106
+ [this._contain.key]: contain,
1141
1107
  }
1142
1108
  });
1143
1109
  cr = await this._db.query(csql.getSql(), csql.getData());
@@ -1464,4 +1430,4 @@ Mod._$key = '';
1464
1430
  Mod._$index = '';
1465
1431
  /** ---- 可开启软删软更新软新增 --- */
1466
1432
  Mod._$soft = false;
1467
- exports.default = Mod;
1433
+ export default Mod;
package/sys/route.d.ts CHANGED
@@ -6,8 +6,8 @@
6
6
  import * as http from 'http';
7
7
  import * as http2 from 'http2';
8
8
  import * as net from 'net';
9
- import * as sCtr from './ctr';
10
- import * as types from '~/types';
9
+ import * as sCtr from './ctr.js';
10
+ import * as types from '../types/index.js';
11
11
  /**
12
12
  * --- 清除已经加载的虚拟主机配置文件 ---
13
13
  */
package/sys/route.js CHANGED
@@ -1,76 +1,35 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.clearKebabConfigs = clearKebabConfigs;
37
- exports.run = run;
38
- exports.unlinkUploadFiles = unlinkUploadFiles;
39
- exports.waitCtr = waitCtr;
40
- exports.trimPost = trimPost;
41
- exports.getFormData = getFormData;
42
1
  /**
43
2
  * Project: Kebab, User: JianSuoQiYue
44
3
  * Date: 2019-4-15 13:40
45
4
  * Last: 2020-4-14 13:52:00, 2022-09-07 01:43:31, 2023-12-29 17:24:03, 2024-2-7 00:28:50, 2024-6-6 15:15:54, 2025-6-13 19:23:53
46
5
  */
47
- const http = __importStar(require("http"));
48
- const stream = __importStar(require("stream"));
6
+ import * as http from 'http';
7
+ import * as stream from 'stream';
49
8
  // --- 第三方 ---
50
- const ws = __importStar(require("@litert/websocket"));
9
+ import * as ws from '@litert/websocket';
51
10
  // --- 库和定义 ---
52
- const lFs = __importStar(require("~/lib/fs"));
53
- const lZlib = __importStar(require("~/lib/zlib"));
54
- const lCore = __importStar(require("~/lib/core"));
55
- const lText = __importStar(require("~/lib/text"));
56
- const lTime = __importStar(require("~/lib/time"));
57
- const lResponse = __importStar(require("~/lib/net/response"));
58
- const lWs = __importStar(require("~/lib/ws"));
59
- const sCtr = __importStar(require("./ctr"));
60
- const kebab = __importStar(require("~/index"));
11
+ import * as lFs from '../lib/fs.js';
12
+ import * as lZlib from '../lib/zlib.js';
13
+ import * as lCore from '../lib/core.js';
14
+ import * as lText from '../lib/text.js';
15
+ import * as lTime from '../lib/time.js';
16
+ import * as lResponse from '../lib/net/response.js';
17
+ import * as lWs from '../lib/ws.js';
18
+ import * as sCtr from './ctr.js';
19
+ import * as kebab from '../index.js';
61
20
  /** --- 动态层 kebab.json 缓存(文件路径: 最终合并值) --- */
62
21
  let kebabConfigs = {};
63
22
  /**
64
23
  * --- 清除已经加载的虚拟主机配置文件 ---
65
24
  */
66
- function clearKebabConfigs() {
25
+ export function clearKebabConfigs() {
67
26
  kebabConfigs = {};
68
27
  }
69
28
  /**
70
29
  * --- 若为动态路径则执行此函数,此函数不进行判断 kebab.json 是否存在 ---
71
30
  * @param data 传导的数据
72
31
  */
73
- async function run(data) {
32
+ export async function run(data) {
74
33
  // --- 检测 path 是否是静态文件 ---
75
34
  if (/^(stc\/.*|favicon.\w+?\??.*|apple[\w-]+?\.png\??.*|[\w-]+?\.txt\??.*|[\w-]+?\.html\??.*)/.test(data.path)) {
76
35
  return false;
@@ -129,8 +88,9 @@ async function run(data) {
129
88
  'startTime': process.hrtime.bigint(),
130
89
  'startMemory': process.memoryUsage().rss,
131
90
  // --- 环境判断 ---
132
- 'mobile': data.req.headers['user-agent'] ? data.req.headers['user-agent'].includes('mobile') : false,
133
- 'wechat': data.req.headers['user-agent'] ? data.req.headers['user-agent'].includes('micromessenger') : false,
91
+ 'mobile': data.req.headers['user-agent'] ? data.req.headers['user-agent'].toLowerCase().includes('mobile') : false,
92
+ 'wechat': data.req.headers['user-agent'] ? data.req.headers['user-agent'].toLowerCase().includes('micromessenger') : false,
93
+ 'miniprogram': data.req.headers['referer'] ? (data.req.headers['referer'].toLowerCase().startsWith('https://servicewechat.com/') ? 'wechat' : '') : '',
134
94
  'https': data.uri.protocol === 'https' ? true : false,
135
95
  'host': data.uri.host ?? '',
136
96
  'hostname': data.uri.hostname ?? '',
@@ -293,7 +253,7 @@ async function run(data) {
293
253
  return true;
294
254
  }
295
255
  // --- 加载控制器文件 ---
296
- const ctrCtr = (await Promise.resolve(`${filePath}`).then(s => __importStar(require(s)))).default;
256
+ const ctrCtr = (await import((!filePath.startsWith('/') ? '/' : '') + filePath)).default;
297
257
  const cctr = new ctrCtr(config, data.req);
298
258
  // --- 先处理 web socket 的情况 ---
299
259
  let wsSocket;
@@ -414,7 +374,7 @@ async function run(data) {
414
374
  return true;
415
375
  }
416
376
  // --- 加载中间控制器 ---
417
- const middleCtr = (await Promise.resolve(`${config.const.ctrPath + 'middle'}`).then(s => __importStar(require(s)))).default;
377
+ const middleCtr = (await import((!config.const.ctrPath.startsWith('/') ? '/' : '') + config.const.ctrPath + 'middle.js')).default;
418
378
  const middle = new middleCtr(config, data.req, data.res);
419
379
  /** --- 可能存在的最终控制器 --- */
420
380
  let cctr = null;
@@ -474,7 +434,7 @@ async function run(data) {
474
434
  return true;
475
435
  }
476
436
  // --- 加载控制器文件 ---
477
- const ctrCtr = (await Promise.resolve(`${filePath}`).then(s => __importStar(require(s)))).default;
437
+ const ctrCtr = (await import((!filePath.startsWith('/') ? '/' : '') + filePath)).default;
478
438
  cctr = new ctrCtr(config, data.req, data.res ?? data.socket);
479
439
  // --- 对信息进行初始化 ---
480
440
  cctr.setPrototype('_timer', middle.getPrototype('_timer'));
@@ -794,7 +754,7 @@ function getWsCtrName(path) {
794
754
  * --- 删除本次请求所有已上传的临时文件, Mutton: false, Kebab: true ---
795
755
  * @param cctr Ctr 对象 或 files
796
756
  */
797
- async function unlinkUploadFiles(cctr) {
757
+ export async function unlinkUploadFiles(cctr) {
798
758
  const cfiles = cctr instanceof sCtr.Ctr ? cctr.getPrototype('_files') : cctr;
799
759
  for (const name in cfiles) {
800
760
  let files = cfiles[name];
@@ -811,7 +771,7 @@ async function unlinkUploadFiles(cctr) {
811
771
  * --- 此时其实已经给客户端返回了,此处等待不消耗客户端的等待时间 ---
812
772
  * @param cctr 要等待的控制器 ---
813
773
  */
814
- async function waitCtr(cctr) {
774
+ export async function waitCtr(cctr) {
815
775
  // --- 先判断异步任务是否结束 ---
816
776
  const waitInfo = cctr.getPrototype('_waitInfo');
817
777
  if (waitInfo.asyncTask.count) {
@@ -831,7 +791,7 @@ async function waitCtr(cctr) {
831
791
  * --- 将 POST 数据的值执行 trim ---
832
792
  * @param post
833
793
  */
834
- function trimPost(post) {
794
+ export function trimPost(post) {
835
795
  for (const key in post) {
836
796
  const val = post[key];
837
797
  if (typeof val === 'string') {
@@ -883,7 +843,7 @@ function getPost(req) {
883
843
  * @param req 请求头
884
844
  * @param events 文件处理情况
885
845
  */
886
- function getFormData(req, events = {}) {
846
+ export function getFormData(req, events = {}) {
887
847
  return new Promise(function (resolve) {
888
848
  const ct = req.headers['content-type'] ?? '';
889
849
  if (!ct) {
package/types/index.d.ts CHANGED
@@ -162,6 +162,7 @@ export interface IConfigConst {
162
162
 
163
163
  'mobile': boolean;
164
164
  'wechat': boolean;
165
+ 'miniprogram': '' | 'wechat';
165
166
  'https': boolean;
166
167
  'host': string;
167
168
  'hostname': string;
@@ -1,4 +1,4 @@
1
- import * as ctr from '~/sys/ctr';
1
+ import * as ctr from '../../../sys/ctr.js';
2
2
  export default class extends ctr.Ctr {
3
3
  index(): string;
4
4
  }
@@ -1,42 +1,6 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- const ctr = __importStar(require("~/sys/ctr"));
37
- class default_1 extends ctr.Ctr {
1
+ import * as ctr from '../../../sys/ctr.js';
2
+ export default class extends ctr.Ctr {
38
3
  index() {
39
4
  return `<a href="${this._config.const.urlBase}test">Hello world! Click here to visit demo.</a>`;
40
5
  }
41
6
  }
42
- exports.default = default_1;
@@ -1,5 +1,5 @@
1
- import * as ctr from '~/sys/ctr';
2
- import * as types from '~/types';
1
+ import * as ctr from '../../../sys/ctr.js';
2
+ import * as types from '../../../types/index.js';
3
3
  export default class extends ctr.Ctr {
4
4
  onLoad(): string | boolean;
5
5
  onUnload(rtn: string | boolean | types.DbValue[]): string | boolean | types.DbValue[];
@@ -1,40 +1,5 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- const ctr = __importStar(require("~/sys/ctr"));
37
- class default_1 extends ctr.Ctr {
1
+ import * as ctr from '../../../sys/ctr.js';
2
+ export default class extends ctr.Ctr {
38
3
  onLoad() {
39
4
  if (this._config.const.path !== 'test/middle') {
40
5
  return true;
@@ -54,4 +19,3 @@ class default_1 extends ctr.Ctr {
54
19
  return rtn;
55
20
  }
56
21
  }
57
- exports.default = default_1;
@@ -1,6 +1,6 @@
1
1
  import * as fs from 'fs';
2
- import * as sCtr from '~/sys/ctr';
3
- import * as types from '~/types';
2
+ import * as sCtr from '../../../sys/ctr.js';
3
+ import * as types from '../../../types/index.js';
4
4
  export default class extends sCtr.Ctr {
5
5
  private _internalUrl;
6
6
  onLoad(): Array<string | number> | boolean;