knight-server 1.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 (101) hide show
  1. package/Server.d.ts +39 -0
  2. package/Server.d.ts.map +1 -0
  3. package/Server.js +61 -0
  4. package/Server.js.map +1 -0
  5. package/base/AbstractModule.d.ts +25 -0
  6. package/base/AbstractModule.d.ts.map +1 -0
  7. package/base/AbstractModule.js +19 -0
  8. package/base/AbstractModule.js.map +1 -0
  9. package/base/AbstractObject.d.ts +22 -0
  10. package/base/AbstractObject.d.ts.map +1 -0
  11. package/base/AbstractObject.js +48 -0
  12. package/base/AbstractObject.js.map +1 -0
  13. package/base/AbstractRouter.d.ts +24 -0
  14. package/base/AbstractRouter.d.ts.map +1 -0
  15. package/base/AbstractRouter.js +26 -0
  16. package/base/AbstractRouter.js.map +1 -0
  17. package/base/index.d.ts +4 -0
  18. package/base/index.d.ts.map +1 -0
  19. package/base/index.js +20 -0
  20. package/base/index.js.map +1 -0
  21. package/index.d.ts +5 -0
  22. package/index.d.ts.map +1 -0
  23. package/index.js +46 -0
  24. package/index.js.map +1 -0
  25. package/module/database/DataBaseModule.d.ts +133 -0
  26. package/module/database/DataBaseModule.d.ts.map +1 -0
  27. package/module/database/DataBaseModule.js +359 -0
  28. package/module/database/DataBaseModule.js.map +1 -0
  29. package/module/database/index.d.ts +2 -0
  30. package/module/database/index.d.ts.map +1 -0
  31. package/module/database/index.js +18 -0
  32. package/module/database/index.js.map +1 -0
  33. package/module/http/HttpModule.d.ts +26 -0
  34. package/module/http/HttpModule.d.ts.map +1 -0
  35. package/module/http/HttpModule.js +52 -0
  36. package/module/http/HttpModule.js.map +1 -0
  37. package/module/http/HttpRouter.d.ts +34 -0
  38. package/module/http/HttpRouter.d.ts.map +1 -0
  39. package/module/http/HttpRouter.js +63 -0
  40. package/module/http/HttpRouter.js.map +1 -0
  41. package/module/http/index.d.ts +3 -0
  42. package/module/http/index.d.ts.map +1 -0
  43. package/module/http/index.js +19 -0
  44. package/module/http/index.js.map +1 -0
  45. package/module/index.d.ts +4 -0
  46. package/module/index.d.ts.map +1 -0
  47. package/module/index.js +20 -0
  48. package/module/index.js.map +1 -0
  49. package/module/websocket/WebSocketClient.d.ts +56 -0
  50. package/module/websocket/WebSocketClient.d.ts.map +1 -0
  51. package/module/websocket/WebSocketClient.js +142 -0
  52. package/module/websocket/WebSocketClient.js.map +1 -0
  53. package/module/websocket/WebSocketModule.d.ts +31 -0
  54. package/module/websocket/WebSocketModule.d.ts.map +1 -0
  55. package/module/websocket/WebSocketModule.js +100 -0
  56. package/module/websocket/WebSocketModule.js.map +1 -0
  57. package/module/websocket/WebSocketRouter.d.ts +32 -0
  58. package/module/websocket/WebSocketRouter.d.ts.map +1 -0
  59. package/module/websocket/WebSocketRouter.js +67 -0
  60. package/module/websocket/WebSocketRouter.js.map +1 -0
  61. package/module/websocket/index.d.ts +4 -0
  62. package/module/websocket/index.d.ts.map +1 -0
  63. package/module/websocket/index.js +20 -0
  64. package/module/websocket/index.js.map +1 -0
  65. package/package.json +19 -0
  66. package/test/MyRouter.d.ts +16 -0
  67. package/test/MyRouter.d.ts.map +1 -0
  68. package/test/MyRouter.js +49 -0
  69. package/test/MyRouter.js.map +1 -0
  70. package/test/WSRouter.d.ts +10 -0
  71. package/test/WSRouter.d.ts.map +1 -0
  72. package/test/WSRouter.js +33 -0
  73. package/test/WSRouter.js.map +1 -0
  74. package/test/index.d.ts +3 -0
  75. package/test/index.d.ts.map +1 -0
  76. package/test/index.js +19 -0
  77. package/test/index.js.map +1 -0
  78. package/utility/DatabaseUtility.d.ts +158 -0
  79. package/utility/DatabaseUtility.d.ts.map +1 -0
  80. package/utility/DatabaseUtility.js +903 -0
  81. package/utility/DatabaseUtility.js.map +1 -0
  82. package/utility/InterfaceUtility.d.ts +14 -0
  83. package/utility/InterfaceUtility.d.ts.map +1 -0
  84. package/utility/InterfaceUtility.js +3 -0
  85. package/utility/InterfaceUtility.js.map +1 -0
  86. package/utility/NetworkUtility.d.ts +80 -0
  87. package/utility/NetworkUtility.d.ts.map +1 -0
  88. package/utility/NetworkUtility.js +134 -0
  89. package/utility/NetworkUtility.js.map +1 -0
  90. package/utility/StringUtility.d.ts +46 -0
  91. package/utility/StringUtility.d.ts.map +1 -0
  92. package/utility/StringUtility.js +153 -0
  93. package/utility/StringUtility.js.map +1 -0
  94. package/utility/TimeUtility.d.ts +65 -0
  95. package/utility/TimeUtility.d.ts.map +1 -0
  96. package/utility/TimeUtility.js +220 -0
  97. package/utility/TimeUtility.js.map +1 -0
  98. package/utility/index.d.ts +6 -0
  99. package/utility/index.d.ts.map +1 -0
  100. package/utility/index.js +22 -0
  101. package/utility/index.js.map +1 -0
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.WSRouter = void 0;
10
+ const base_1 = require("../base");
11
+ const module_1 = require("../module");
12
+ let WSRouter = class WSRouter extends module_1.WebSocketRouter {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.path = "/ws";
16
+ }
17
+ async OnCheck(server, url) {
18
+ return true;
19
+ }
20
+ async OnConnect(server, client) {
21
+ }
22
+ async OnDisconnect(server, client) {
23
+ }
24
+ async OnMessage(server, client, data) {
25
+ console.log("==== 接收消息:", data);
26
+ client.OnUpdateHeartbeat();
27
+ }
28
+ };
29
+ exports.WSRouter = WSRouter;
30
+ exports.WSRouter = WSRouter = __decorate([
31
+ (0, base_1.OnRegister)()
32
+ ], WSRouter);
33
+ //# sourceMappingURL=WSRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WSRouter.js","sourceRoot":"","sources":["../../src/test/WSRouter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kCAAqC;AACrC,sCAA6D;AAKtD,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,wBAAe;IAAtC;;QAEa,SAAI,GAAW,KAAK,CAAC;IAoBzC,CAAC;IAlBU,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,GAAQ;QAEzC,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,MAAuB;IAG9D,CAAC;IACM,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAuB;IAGjE,CAAC;IACM,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,MAAuB,EAAE,IAAY;QAExE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAC/B,CAAC;CAEJ,CAAA;AAtBY,4BAAQ;mBAAR,QAAQ;IADpB,IAAA,iBAAU,GAAE;GACA,QAAQ,CAsBpB"}
@@ -0,0 +1,3 @@
1
+ export * from "./MyRouter";
2
+ export * from "./WSRouter";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
package/test/index.js ADDED
@@ -0,0 +1,19 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./MyRouter"), exports);
18
+ __exportStar(require("./WSRouter"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,6CAA2B"}
@@ -0,0 +1,158 @@
1
+ import * as MySQL from "mysql2/promise";
2
+ /** 数据库工具 */
3
+ export declare namespace DatabaseUtility {
4
+ /** 表结构信息接口 */
5
+ interface TableSchema {
6
+ name: string;
7
+ columns: ColumnSchema[];
8
+ indexes: IndexSchema[];
9
+ primaryKey: string | null;
10
+ engine: string;
11
+ charset: string;
12
+ comment: string;
13
+ }
14
+ /** 列结构信息接口 */
15
+ interface ColumnSchema {
16
+ name: string;
17
+ type: string;
18
+ nullable: boolean;
19
+ key: string;
20
+ default: any;
21
+ extra: string;
22
+ comment: string;
23
+ }
24
+ /** 索引信息接口 */
25
+ interface IndexSchema {
26
+ name: string;
27
+ columns: string[];
28
+ unique: boolean;
29
+ type: string;
30
+ }
31
+ /** 表差异接口 */
32
+ interface TableDiff {
33
+ addedColumns: ColumnSchema[];
34
+ removedColumns: ColumnSchema[];
35
+ modifiedColumns: {
36
+ name: string;
37
+ current: ColumnSchema;
38
+ target: ColumnSchema;
39
+ }[];
40
+ addedIndexes: IndexSchema[];
41
+ removedIndexes: IndexSchema[];
42
+ modifiedIndexes: {
43
+ name: string;
44
+ current: IndexSchema;
45
+ target: IndexSchema;
46
+ }[];
47
+ isEmpty: boolean;
48
+ }
49
+ /** 同步结果接口 */
50
+ interface QueryResult<T = any> {
51
+ success: boolean;
52
+ data?: T[];
53
+ item?: T;
54
+ affectedRows?: number;
55
+ insertId?: number;
56
+ error?: string;
57
+ message?: string;
58
+ action?: 'CREATE' | 'ALTER' | 'DROP' | 'NONE';
59
+ targetSchema?: TableSchema;
60
+ diff?: TableDiff;
61
+ statements?: string[];
62
+ details?: any;
63
+ raw?: any;
64
+ }
65
+ /** 同步选项接口 */
66
+ interface SyncOptions {
67
+ dropExtraColumns?: boolean;
68
+ backupData?: boolean;
69
+ execute?: boolean;
70
+ }
71
+ /** 智能表格 — 从 SQL 文件自动同步数据库表结构 */
72
+ class SmartTable {
73
+ private pool;
74
+ constructor(pool: MySQL.Pool);
75
+ /**
76
+ * 自动同步目录下的所有 SQL 文件
77
+ * @param relativePath SQL文件所在目录相对项目根目录的路径
78
+ * @param options 同步选项
79
+ * @param fileFilter 文件过滤函数(可选),返回 true 表示需要处理
80
+ */
81
+ syncAllFromDir(relativePath: string, options?: SyncOptions, fileFilter?: (fileName: string) => boolean): Promise<{
82
+ success: boolean;
83
+ results: Map<string, QueryResult>;
84
+ failed: string[];
85
+ message: string;
86
+ }>;
87
+ /**
88
+ * 根据依赖关系排序文件(拓扑排序,被引用的表先处理)
89
+ */
90
+ private sortFilesByDependency;
91
+ /**
92
+ * 从 SQL 文件同步数据库结构
93
+ */
94
+ private syncTableFromSql;
95
+ /**
96
+ * 执行原生SQL查询(用于DDL语句,比prepared statement更兼容)
97
+ */
98
+ private executeRawQuery;
99
+ /**
100
+ * 执行SQL查询(用于参数化查询)
101
+ */
102
+ private executeQuery;
103
+ /**
104
+ * 执行 SQL 脚本(支持多条语句,逐条执行)
105
+ */
106
+ private executeSqlScript;
107
+ /**
108
+ * 智能分割 SQL 语句(处理字符串和反引号中的分号)
109
+ */
110
+ private splitSqlStatements;
111
+ /**
112
+ * 解析 SQL 文件中的表结构(使用括号计数处理嵌套括号)
113
+ */
114
+ private parseSqlTableSchema;
115
+ /**
116
+ * 提取默认值(处理字符串、数字、CURRENT_TIMESTAMP 等)
117
+ */
118
+ private extractDefaultValue;
119
+ /**
120
+ * 提取注释
121
+ */
122
+ private extractComment;
123
+ /**
124
+ * 检查表是否存在
125
+ */
126
+ private tableExists;
127
+ /**
128
+ * 获取当前表结构
129
+ */
130
+ private getTableSchema;
131
+ /**
132
+ * 比较两个表结构的差异
133
+ */
134
+ private compareTableSchemas;
135
+ /**
136
+ * 生成 ALTER 语句(去重、合并)
137
+ */
138
+ private generateAlterStatements;
139
+ private normalizeType;
140
+ private isColumnEqual;
141
+ private normalizeDefaultValue;
142
+ private isIndexEqual;
143
+ private generateColumnDefinition;
144
+ /**
145
+ * 根据列类型确定安全的非 NULL 默认值(用于 nullable→NOT NULL 转换前回填空值)
146
+ */
147
+ private determineSafeDefault;
148
+ private disableForeignKeys;
149
+ private enableForeignKeys;
150
+ private getForeignKeys;
151
+ private getReferencingForeignKeys;
152
+ private hasPrimaryKeyChanges;
153
+ private extractForeignKeys;
154
+ private backupTableData;
155
+ private executeSqlFile;
156
+ }
157
+ }
158
+ //# sourceMappingURL=DatabaseUtility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatabaseUtility.d.ts","sourceRoot":"","sources":["../../src/utility/DatabaseUtility.ts"],"names":[],"mappings":"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"}