@lsby/net-core 0.10.2 → 0.11.2

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 (46) hide show
  1. package/dist/cjs/index.cjs +138 -45
  2. package/dist/cjs/index.d.cts +4 -1
  3. package/dist/cjs/interface/interface-base.d.cts +1 -1
  4. package/dist/cjs/interface/interface-logic.d.cts +1 -1
  5. package/dist/cjs/interface/interface-result.d.cts +1 -1
  6. package/dist/cjs/{interface-base-CyfrfgWu.d.cts → interface-base-gRngpxki.d.cts} +6 -5
  7. package/dist/cjs/plugin/extend/custom-data.d.cts +1 -1
  8. package/dist/cjs/plugin/extend/json.d.cts +1 -1
  9. package/dist/cjs/plugin/extend/log-headers.d.cts +1 -1
  10. package/dist/cjs/plugin/extend/query.d.cts +1 -1
  11. package/dist/cjs/plugin/extend/urlencoded.d.cts +1 -1
  12. package/dist/cjs/plugin/extend/web-socket.d.cts +1 -1
  13. package/dist/cjs/plugin/plug.d.cts +1 -1
  14. package/dist/cjs/server/server.cjs +48 -45
  15. package/dist/cjs/server/server.d.cts +1 -1
  16. package/dist/cjs/wrapper/common-wrapper-return.d.cts +1 -1
  17. package/dist/cjs/wrapper/common-wrapper.d.cts +1 -1
  18. package/dist/cjs/wrapper/deferred-result-wrapper.d.cts +1 -1
  19. package/dist/cjs/wrapper/express-compatible-wrapper.d.cts +1 -1
  20. package/dist/cjs/wrapper/file-download-wrapper.d.cts +1 -1
  21. package/dist/esm/chunk-NCYHKHIH.js +54 -0
  22. package/dist/esm/{chunk-3ZQFVYIR.js → chunk-NRUNCIP7.js} +48 -45
  23. package/dist/esm/chunk-XSYZ5A6R.js +61 -0
  24. package/dist/esm/index.d.ts +4 -1
  25. package/dist/esm/index.js +9 -1
  26. package/dist/esm/interface/interface-base.d.ts +1 -1
  27. package/dist/esm/interface/interface-logic.d.ts +1 -1
  28. package/dist/esm/interface/interface-result.d.ts +1 -1
  29. package/dist/esm/{interface-base-C1ZNSMJz.d.ts → interface-base-DDfmN_Dg.d.ts} +6 -5
  30. package/dist/esm/plugin/extend/custom-data.d.ts +1 -1
  31. package/dist/esm/plugin/extend/json.d.ts +1 -1
  32. package/dist/esm/plugin/extend/log-headers.d.ts +1 -1
  33. package/dist/esm/plugin/extend/query.d.ts +1 -1
  34. package/dist/esm/plugin/extend/urlencoded.d.ts +1 -1
  35. package/dist/esm/plugin/extend/web-socket.d.ts +1 -1
  36. package/dist/esm/plugin/plug.d.ts +1 -1
  37. package/dist/esm/server/server.d.ts +1 -1
  38. package/dist/esm/server/server.js +1 -1
  39. package/dist/esm/wrapper/common-wrapper-return.d.ts +1 -1
  40. package/dist/esm/wrapper/common-wrapper.d.ts +1 -1
  41. package/dist/esm/wrapper/deferred-result-wrapper.d.ts +1 -1
  42. package/dist/esm/wrapper/express-compatible-wrapper.d.ts +1 -1
  43. package/dist/esm/wrapper/express-compatible-wrapper.js +6 -49
  44. package/dist/esm/wrapper/file-download-wrapper.d.ts +1 -1
  45. package/dist/esm/wrapper/file-download-wrapper.js +5 -56
  46. package/package.json +1 -1
@@ -122,8 +122,8 @@ function \u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6570\u636E) {
122
122
 
123
123
  // src/server/server.ts
124
124
  var \u670D\u52A1\u5668 = class {
125
- \u63A5\u53E3log;
126
- \u7CFB\u7EDFlog;
125
+ log;
126
+ \u65E5\u5FD7\u56DE\u8C03;
127
127
  \u63A5\u53E3\u4EEC;
128
128
  \u7AEF\u53E3;
129
129
  \u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
@@ -133,14 +133,17 @@ var \u670D\u52A1\u5668 = class {
133
133
  this.\u7AEF\u53E3 = options.\u7AEF\u53E3;
134
134
  this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = options.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
135
135
  this.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84 = options.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84;
136
- this.\u7CFB\u7EDFlog = options.\u7CFB\u7EDFlog !== void 0 ? Promise.resolve(options.\u7CFB\u7EDFlog) : Global.getItem("log");
137
- this.\u63A5\u53E3log = options.\u63A5\u53E3log !== void 0 ? Promise.resolve(options.\u63A5\u53E3log) : Global.getItem("log");
136
+ this.\u65E5\u5FD7\u56DE\u8C03 = options.\u65E5\u5FD7\u56DE\u8C03;
137
+ this.log = Global.getItem("log").then((a) => {
138
+ if (this.\u65E5\u5FD7\u56DE\u8C03 !== void 0) a.pipe(this.\u65E5\u5FD7\u56DE\u8C03);
139
+ return a;
140
+ });
138
141
  }
139
142
  async run() {
143
+ let log2 = await this.log;
140
144
  let app = (0, import_express.default)();
141
- let \u7CFB\u7EDFlog = await this.\u7CFB\u7EDFlog;
142
145
  if (this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== void 0) {
143
- await \u7CFB\u7EDFlog.debug(`\u8BBE\u7F6E\u9759\u6001\u8D44\u6E90\u8DEF\u5F84: ${this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84}`);
146
+ await log2.debug(`\u8BBE\u7F6E\u9759\u6001\u8D44\u6E90\u8DEF\u5F84: ${this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84}`);
144
147
  app.use(import_express.default.static(this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84));
145
148
  }
146
149
  app.use(this.\u5904\u7406\u8BF7\u6C42.bind(this));
@@ -150,17 +153,16 @@ var \u670D\u52A1\u5668 = class {
150
153
  }
151
154
  async \u5904\u7406\u8BF7\u6C42(req, res) {
152
155
  let \u8BF7\u6C42id = (0, import_short_uuid.default)().new();
153
- let \u7CFB\u7EDFlog = (await this.\u7CFB\u7EDFlog).extend(\u8BF7\u6C42id);
154
- let \u63A5\u53E3log = (await this.\u63A5\u53E3log).extend(\u8BF7\u6C42id);
156
+ let log2 = (await this.log).extend(\u8BF7\u6C42id);
155
157
  let \u5F00\u59CB\u65F6\u95F4 = Date.now();
156
158
  try {
157
159
  let { path: \u8BF7\u6C42\u8DEF\u5F84, method } = req;
158
160
  \u8BF7\u6C42\u8DEF\u5F84 = decodeURIComponent(\u8BF7\u6C42\u8DEF\u5F84);
159
161
  let \u8BF7\u6C42\u65B9\u6CD5 = method.toLowerCase();
160
- await \u7CFB\u7EDFlog.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
162
+ await log2.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
161
163
  let \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E3) => \u8BF7\u6C42\u65B9\u6CD5 === \u63A5\u53E3.\u83B7\u5F97\u65B9\u6CD5() && \u8BF7\u6C42\u8DEF\u5F84 === \u63A5\u53E3.\u83B7\u5F97\u8DEF\u5F84()) ?? null;
162
164
  if (\u76EE\u6807\u63A5\u53E3 !== null) {
163
- await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3, \u63A5\u53E3log, \u7CFB\u7EDFlog);
165
+ await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91({ req, res, \u76EE\u6807\u63A5\u53E3, log: log2, \u8BF7\u6C42id });
164
166
  return;
165
167
  }
166
168
  if (this.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84 !== void 0 && \u8BF7\u6C42\u65B9\u6CD5 === "get") {
@@ -169,35 +171,36 @@ var \u670D\u52A1\u5668 = class {
169
171
  res.send(\u9ED8\u8BA4\u6587\u4EF6\u5185\u5BB9);
170
172
  return;
171
173
  } catch (e) {
172
- await \u7CFB\u7EDFlog.error("\u8FD4\u56DE\u9ED8\u8BA4get\u6587\u4EF6\u5185\u5BB9\u5931\u8D25: %o", String(e));
174
+ await log2.error("\u8FD4\u56DE\u9ED8\u8BA4get\u6587\u4EF6\u5185\u5BB9\u5931\u8D25: %o", String(e));
173
175
  }
174
176
  }
175
- await \u7CFB\u7EDFlog.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
177
+ await log2.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
176
178
  res.status(404).end();
177
179
  } catch (error) {
178
- await \u7CFB\u7EDFlog.error(error);
180
+ await log2.error(error);
179
181
  res.status(500).send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
180
182
  } finally {
181
183
  let \u8017\u65F6ms = Date.now() - \u5F00\u59CB\u65F6\u95F4;
182
- await \u7CFB\u7EDFlog.info("\u8BF7\u6C42\u5B8C\u6210, \u8017\u65F6: %o ms", \u8017\u65F6ms);
184
+ await log2.info("\u8BF7\u6C42\u5B8C\u6210, \u8017\u65F6: %o ms", \u8017\u65F6ms);
183
185
  }
184
186
  }
185
- async \u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3, \u63A5\u53E3log, \u7CFB\u7EDFlog) {
187
+ async \u5904\u7406\u63A5\u53E3\u903B\u8F91(opt) {
188
+ let { req, res, \u76EE\u6807\u63A5\u53E3, log: log2, \u8BF7\u6C42id } = opt;
186
189
  let \u63A5\u53E3\u903B\u8F91 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u903B\u8F91();
187
190
  let \u7ED3\u679C\u8F6C\u6362\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668();
188
191
  let \u7ED3\u679C\u8FD4\u56DE\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8FD4\u56DE\u5668();
189
192
  let \u603B\u5F00\u59CB = Date.now();
190
193
  let \u5F00\u59CB = Date.now();
191
- await \u7CFB\u7EDFlog.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
194
+ await log2.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
192
195
  let \u63D2\u4EF6\u4EEC = \u63A5\u53E3\u903B\u8F91.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
193
- await \u7CFB\u7EDFlog.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
194
- let \u63D2\u4EF6\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u8BA1\u7B97\u63D2\u4EF6\u7ED3\u679C(req, res, { log: \u7CFB\u7EDFlog });
195
- await \u7CFB\u7EDFlog.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
196
- await \u7CFB\u7EDFlog.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
197
- let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u901A\u8FC7\u63D2\u4EF6\u7ED3\u679C\u8FD0\u884C(\u63D2\u4EF6\u7ED3\u679C, {}, { log: \u63A5\u53E3log });
198
- await \u7CFB\u7EDFlog.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
196
+ await log2.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
197
+ let \u63D2\u4EF6\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u8BA1\u7B97\u63D2\u4EF6\u7ED3\u679C(req, res, { log: log2, \u8BF7\u6C42id });
198
+ await log2.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
199
+ await log2.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
200
+ let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u901A\u8FC7\u63D2\u4EF6\u7ED3\u679C\u8FD0\u884C(\u63D2\u4EF6\u7ED3\u679C, {}, { log: log2, \u8BF7\u6C42id });
201
+ await log2.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
199
202
  let \u63A5\u53E3\u8017\u65F6 = Date.now() - \u5F00\u59CB;
200
- await \u7CFB\u7EDFlog.info("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5, \u8017\u65F6: %o ms", \u63A5\u53E3\u8017\u65F6);
203
+ await log2.info("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5, \u8017\u65F6: %o ms", \u63A5\u53E3\u8017\u65F6);
201
204
  \u5F00\u59CB = Date.now();
202
205
  let \u8F6C\u6362\u7ED3\u679C = \u7ED3\u679C\u8F6C\u6362\u5668.\u5B9E\u73B0(\u63A5\u53E3\u7ED3\u679C);
203
206
  let \u9519\u8BEF\u7ED3\u679C = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u9519\u8BEF\u5F62\u5F0FZod().safeParse(\u8F6C\u6362\u7ED3\u679C);
@@ -209,59 +212,59 @@ var \u670D\u52A1\u5668 = class {
209
212
  \u6700\u7EC8\u7ED3\u679C = \u6B63\u786E\u7ED3\u679C.data;
210
213
  } else {
211
214
  let \u7ED3\u679C\u5B57\u7B26\u4E32 = JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u8F6C\u6362\u7ED3\u679C));
212
- await \u7CFB\u7EDFlog.error(`\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C: ${\u7ED3\u679C\u5B57\u7B26\u4E32}`);
213
- await \u7CFB\u7EDFlog.error("\u5BF9\u4E8E\u9519\u8BEF\u7ED3\u679C: %o", \u9519\u8BEF\u7ED3\u679C.error);
214
- await \u7CFB\u7EDFlog.error("\u5BF9\u4E8E\u6B63\u786E\u7ED3\u679C: %o", \u6B63\u786E\u7ED3\u679C.error);
215
+ await log2.error(`\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C: ${\u7ED3\u679C\u5B57\u7B26\u4E32}`);
216
+ await log2.error("\u5BF9\u4E8E\u9519\u8BEF\u7ED3\u679C: %o", \u9519\u8BEF\u7ED3\u679C.error);
217
+ await log2.error("\u5BF9\u4E8E\u6B63\u786E\u7ED3\u679C: %o", \u6B63\u786E\u7ED3\u679C.error);
215
218
  throw new Error(`\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C`);
216
219
  }
217
220
  let \u8F6C\u6362\u8017\u65F6 = Date.now() - \u5F00\u59CB;
218
- await \u7CFB\u7EDFlog.info("\u7ED3\u679C\u8F6C\u6362\u4E0E\u6821\u9A8C\u5B8C\u6210, \u8017\u65F6: %o ms", \u8F6C\u6362\u8017\u65F6);
219
- await \u7CFB\u7EDFlog.debug("\u6700\u7EC8\u7ED3\u679C: %o", JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C)));
221
+ await log2.info("\u7ED3\u679C\u8F6C\u6362\u4E0E\u6821\u9A8C\u5B8C\u6210, \u8017\u65F6: %o ms", \u8F6C\u6362\u8017\u65F6);
222
+ await log2.debug("\u6700\u7EC8\u7ED3\u679C: %o", JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C)));
220
223
  \u5F00\u59CB = Date.now();
221
224
  await \u7ED3\u679C\u8FD4\u56DE\u5668.\u8FD4\u56DE(req, res, \u6700\u7EC8\u7ED3\u679C);
222
225
  let \u8FD4\u56DE\u8017\u65F6 = Date.now() - \u5F00\u59CB;
223
- await \u7CFB\u7EDFlog.info("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5, \u8017\u65F6: %o ms", \u8FD4\u56DE\u8017\u65F6);
226
+ await log2.info("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5, \u8017\u65F6: %o ms", \u8FD4\u56DE\u8017\u65F6);
224
227
  let \u603B\u8017\u65F6 = Date.now() - \u603B\u5F00\u59CB;
225
- await \u7CFB\u7EDFlog.info("\u63A5\u53E3\u5B8C\u6574\u6267\u884C\u8017\u65F6: %o ms", \u603B\u8017\u65F6);
228
+ await log2.info("\u63A5\u53E3\u5B8C\u6574\u6267\u884C\u8017\u65F6: %o ms", \u603B\u8017\u65F6);
226
229
  }
227
230
  async \u521D\u59CB\u5316WebSocket(server) {
231
+ let log2 = await this.log;
228
232
  let wss = new import_ws2.WebSocketServer({ server });
229
- let \u7CFB\u7EDFlog = await this.\u7CFB\u7EDFlog;
230
233
  wss.on("listening", async () => {
231
- await \u7CFB\u7EDFlog.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
234
+ await log2.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
232
235
  });
233
236
  wss.on("error", async (err) => {
234
- await \u7CFB\u7EDFlog.error("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
237
+ await log2.error("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
235
238
  });
236
239
  wss.on("connection", async (ws, req) => {
237
- let \u63A5\u53E3log = \u7CFB\u7EDFlog.extend((0, import_short_uuid.default)().new());
238
- await \u63A5\u53E3log.debug("\u6536\u5230 WebSocket \u8FDE\u63A5\u8BF7\u6C42: %o", req.url);
240
+ let \u8FDE\u63A5log = log2.extend((0, import_short_uuid.default)().new());
241
+ await \u8FDE\u63A5log.debug("\u6536\u5230 WebSocket \u8FDE\u63A5\u8BF7\u6C42: %o", req.url);
239
242
  let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1] ?? null;
240
243
  if (\u5BA2\u6237\u7AEFid === null) {
241
- await \u63A5\u53E3log.error("\u8FDE\u63A5\u8BF7\u6C42\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
242
- return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u63A5\u53E3log, 4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
244
+ await \u8FDE\u63A5log.error("\u8FDE\u63A5\u8BF7\u6C42\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
245
+ return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u8FDE\u63A5log, 4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
243
246
  }
244
- await \u63A5\u53E3log.debug("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
247
+ await \u8FDE\u63A5log.debug("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
245
248
  let WebSocket\u7BA1\u7406\u56682 = Global.getItemSync("WebSocket\u7BA1\u7406\u5668");
246
249
  let \u8FDE\u63A5\u5DF2\u5B58\u5728 = WebSocket\u7BA1\u7406\u56682.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid);
247
250
  if (\u8FDE\u63A5\u5DF2\u5B58\u5728) {
248
- await \u63A5\u53E3log.error("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
249
- return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u63A5\u53E3log, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
251
+ await \u8FDE\u63A5log.error("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
252
+ return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u8FDE\u63A5log, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
250
253
  }
251
254
  WebSocket\u7BA1\u7406\u56682.\u589E\u52A0\u8FDE\u63A5(\u5BA2\u6237\u7AEFid, ws);
252
- await \u63A5\u53E3log.info("WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
255
+ await \u8FDE\u63A5log.info("WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
253
256
  ws.on("close", async () => {
254
- await \u63A5\u53E3log.info("WebSocket \u8FDE\u63A5\u5173\u95ED: %s", \u5BA2\u6237\u7AEFid);
257
+ await \u8FDE\u63A5log.info("WebSocket \u8FDE\u63A5\u5173\u95ED: %s", \u5BA2\u6237\u7AEFid);
255
258
  WebSocket\u7BA1\u7406\u56682.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
256
259
  });
257
260
  ws.on("error", async (err) => {
258
- await \u63A5\u53E3log.error("WebSocket \u51FA\u73B0\u9519\u8BEF, \u5BA2\u6237\u7AEF ID: %s, \u9519\u8BEF: %o", \u5BA2\u6237\u7AEFid, err);
261
+ await \u8FDE\u63A5log.error("WebSocket \u51FA\u73B0\u9519\u8BEF, \u5BA2\u6237\u7AEF ID: %s, \u9519\u8BEF: %o", \u5BA2\u6237\u7AEFid, err);
259
262
  WebSocket\u7BA1\u7406\u56682.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
260
263
  });
261
264
  });
262
265
  }
263
- async \u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u63A5\u53E3log, code, reason) {
264
- await \u63A5\u53E3log.debug(`\u5173\u95ED WebSocket \u8FDE\u63A5, \u4EE3\u7801: ${code}, \u539F\u56E0: ${reason}`);
266
+ async \u5173\u95EDWebSocket\u8FDE\u63A5(ws, log2, code, reason) {
267
+ await log2.debug(`\u5173\u95ED WebSocket \u8FDE\u63A5, \u4EE3\u7801: ${code}, \u539F\u56E0: ${reason}`);
265
268
  ws.close(code, reason);
266
269
  }
267
270
  \u83B7\u53D6\u672C\u5730\u5730\u5740() {
@@ -1,6 +1,6 @@
1
1
  import '@lsby/ts-log';
2
2
  import 'node:http';
3
- export { 服 as 服务器, 请 as 请求附加参数类型 } from '../interface-base-CyfrfgWu.cjs';
3
+ export { 日 as 日志回调类型, 服 as 服务器, 请 as 请求附加参数类型 } from '../interface-base-gRngpxki.cjs';
4
4
  import 'zod';
5
5
  import '@lsby/ts-fp-data';
6
6
  import 'express';
@@ -1,6 +1,6 @@
1
1
  import { Request, Response } from 'express';
2
2
  import { z } from 'zod';
3
- import { 接 as ______, a as ______$1, l as ____Base, 空 as ___, b as __, 常 as _______, q as __________, r as __________$1 } from '../interface-base-CyfrfgWu.cjs';
3
+ import { 接 as ______, a as ______$1, l as ____Base, 空 as ___, b as __, 常 as _______, q as __________, r as __________$1 } from '../interface-base-gRngpxki.cjs';
4
4
  import { 自定义返回器 as ______$2 } from '../interface/interface-retuen.cjs';
5
5
  import '@lsby/ts-fp-data';
6
6
  import '../help/interior.cjs';
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { 接 as ______, a as ______$1, l as ____Base, 空 as ___, b as __, 常 as _______, q as __________, r as __________$1 } from '../interface-base-CyfrfgWu.cjs';
2
+ import { 接 as ______, a as ______$1, l as ____Base, 空 as ___, b as __, 常 as _______, q as __________, r as __________$1 } from '../interface-base-gRngpxki.cjs';
3
3
  import { 常用返回器 as _____ } from '../interface/interface-retuen.cjs';
4
4
  import '@lsby/ts-fp-data';
5
5
  import 'express';
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { 接 as ______, a as ______$1, l as ____Base, 空 as ___, b as __, 直 as _______, q as __________, r as __________$1 } from '../interface-base-CyfrfgWu.cjs';
2
+ import { 接 as ______, a as ______$1, l as ____Base, 空 as ___, b as __, 直 as _______, q as __________, r as __________$1 } from '../interface-base-gRngpxki.cjs';
3
3
  import { 常用返回器 as _____ } from '../interface/interface-retuen.cjs';
4
4
  import '@lsby/ts-fp-data';
5
5
  import 'express';
@@ -1,6 +1,6 @@
1
1
  import { Request, Response } from 'express';
2
2
  import { z } from 'zod';
3
- import { b as __, 接 as ______, a as ______$1, l as ____Base, 空 as ___, w as _______ } from '../interface-base-CyfrfgWu.cjs';
3
+ import { b as __, 接 as ______, a as ______$1, l as ____Base, 空 as ___, w as _______ } from '../interface-base-gRngpxki.cjs';
4
4
  import { 接口结果返回器 as _______$1 } from '../interface/interface-retuen.cjs';
5
5
  import '@lsby/ts-fp-data';
6
6
  import '../help/interior.cjs';
@@ -1,7 +1,7 @@
1
1
  import { Request, Response } from 'express';
2
2
  import { ReadStream } from 'node:fs';
3
3
  import { z } from 'zod';
4
- import { 接 as ______, a as ______$1, l as ____Base, 空 as ___, b as __, 直 as _______, q as __________, r as __________$1 } from '../interface-base-CyfrfgWu.cjs';
4
+ import { 接 as ______, a as ______$1, l as ____Base, 空 as ___, b as __, 直 as _______, q as __________, r as __________$1 } from '../interface-base-gRngpxki.cjs';
5
5
  import { 接口结果返回器 as _______$1 } from '../interface/interface-retuen.cjs';
6
6
  import '@lsby/ts-fp-data';
7
7
  import '../help/interior.cjs';
@@ -0,0 +1,54 @@
1
+ import {
2
+ 接口结果返回器
3
+ } from "./chunk-XBAKTT6S.js";
4
+ import {
5
+ 接口
6
+ } from "./chunk-MDUWXEQ7.js";
7
+ import {
8
+ 接口逻辑Base
9
+ } from "./chunk-E23EZWBE.js";
10
+ import {
11
+ 接口结果转换器
12
+ } from "./chunk-DNJQGD5M.js";
13
+
14
+ // src/wrapper/express-compatible-wrapper.ts
15
+ import { Right } from "@lsby/ts-fp-data";
16
+ import { z } from "zod";
17
+ var Express\u517C\u5BB9\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
18
+ constructor(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u5904\u7406\u51FD\u6570) {
19
+ let \u903B\u8F91 = \u63A5\u53E3\u903B\u8F91Base.\u6784\u9020([], async () => {
20
+ return new Right({});
21
+ });
22
+ let \u8F6C\u6362\u5668 = new Express\u517C\u5BB9\u7ED3\u679C\u8F6C\u6362\u5668();
23
+ let \u8FD4\u56DE\u5668 = new Express\u517C\u5BB9\u8FD4\u56DE\u5668(\u5904\u7406\u51FD\u6570);
24
+ super(
25
+ \u8BF7\u6C42\u8DEF\u5F84,
26
+ \u8BF7\u6C42\u65B9\u6CD5,
27
+ \u903B\u8F91,
28
+ z.any(),
29
+ // 错误形式不做限制
30
+ z.any(),
31
+ // 正确形式不做限制
32
+ \u8F6C\u6362\u5668,
33
+ \u8FD4\u56DE\u5668
34
+ );
35
+ }
36
+ };
37
+ var Express\u517C\u5BB9\u7ED3\u679C\u8F6C\u6362\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8F6C\u6362\u5668 {
38
+ \u5B9E\u73B0(\u6570\u636E) {
39
+ return \u6570\u636E;
40
+ }
41
+ };
42
+ var Express\u517C\u5BB9\u8FD4\u56DE\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8FD4\u56DE\u5668 {
43
+ constructor(\u5904\u7406\u51FD\u6570) {
44
+ super();
45
+ this.\u5904\u7406\u51FD\u6570 = \u5904\u7406\u51FD\u6570;
46
+ }
47
+ \u8FD4\u56DE(req, res, _\u7ED3\u679C) {
48
+ return this.\u5904\u7406\u51FD\u6570(req, res);
49
+ }
50
+ };
51
+
52
+ export {
53
+ Express兼容接口封装
54
+ };
@@ -12,8 +12,8 @@ import { networkInterfaces } from "os";
12
12
  import short from "short-uuid";
13
13
  import { WebSocketServer } from "ws";
14
14
  var \u670D\u52A1\u5668 = class {
15
- \u63A5\u53E3log;
16
- \u7CFB\u7EDFlog;
15
+ log;
16
+ \u65E5\u5FD7\u56DE\u8C03;
17
17
  \u63A5\u53E3\u4EEC;
18
18
  \u7AEF\u53E3;
19
19
  \u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
@@ -23,14 +23,17 @@ var \u670D\u52A1\u5668 = class {
23
23
  this.\u7AEF\u53E3 = options.\u7AEF\u53E3;
24
24
  this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = options.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
25
25
  this.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84 = options.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84;
26
- this.\u7CFB\u7EDFlog = options.\u7CFB\u7EDFlog !== void 0 ? Promise.resolve(options.\u7CFB\u7EDFlog) : Global.getItem("log");
27
- this.\u63A5\u53E3log = options.\u63A5\u53E3log !== void 0 ? Promise.resolve(options.\u63A5\u53E3log) : Global.getItem("log");
26
+ this.\u65E5\u5FD7\u56DE\u8C03 = options.\u65E5\u5FD7\u56DE\u8C03;
27
+ this.log = Global.getItem("log").then((a) => {
28
+ if (this.\u65E5\u5FD7\u56DE\u8C03 !== void 0) a.pipe(this.\u65E5\u5FD7\u56DE\u8C03);
29
+ return a;
30
+ });
28
31
  }
29
32
  async run() {
33
+ let log = await this.log;
30
34
  let app = express();
31
- let \u7CFB\u7EDFlog = await this.\u7CFB\u7EDFlog;
32
35
  if (this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== void 0) {
33
- await \u7CFB\u7EDFlog.debug(`\u8BBE\u7F6E\u9759\u6001\u8D44\u6E90\u8DEF\u5F84: ${this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84}`);
36
+ await log.debug(`\u8BBE\u7F6E\u9759\u6001\u8D44\u6E90\u8DEF\u5F84: ${this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84}`);
34
37
  app.use(express.static(this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84));
35
38
  }
36
39
  app.use(this.\u5904\u7406\u8BF7\u6C42.bind(this));
@@ -40,17 +43,16 @@ var \u670D\u52A1\u5668 = class {
40
43
  }
41
44
  async \u5904\u7406\u8BF7\u6C42(req, res) {
42
45
  let \u8BF7\u6C42id = short().new();
43
- let \u7CFB\u7EDFlog = (await this.\u7CFB\u7EDFlog).extend(\u8BF7\u6C42id);
44
- let \u63A5\u53E3log = (await this.\u63A5\u53E3log).extend(\u8BF7\u6C42id);
46
+ let log = (await this.log).extend(\u8BF7\u6C42id);
45
47
  let \u5F00\u59CB\u65F6\u95F4 = Date.now();
46
48
  try {
47
49
  let { path: \u8BF7\u6C42\u8DEF\u5F84, method } = req;
48
50
  \u8BF7\u6C42\u8DEF\u5F84 = decodeURIComponent(\u8BF7\u6C42\u8DEF\u5F84);
49
51
  let \u8BF7\u6C42\u65B9\u6CD5 = method.toLowerCase();
50
- await \u7CFB\u7EDFlog.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
52
+ await log.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
51
53
  let \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E3) => \u8BF7\u6C42\u65B9\u6CD5 === \u63A5\u53E3.\u83B7\u5F97\u65B9\u6CD5() && \u8BF7\u6C42\u8DEF\u5F84 === \u63A5\u53E3.\u83B7\u5F97\u8DEF\u5F84()) ?? null;
52
54
  if (\u76EE\u6807\u63A5\u53E3 !== null) {
53
- await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3, \u63A5\u53E3log, \u7CFB\u7EDFlog);
55
+ await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91({ req, res, \u76EE\u6807\u63A5\u53E3, log, \u8BF7\u6C42id });
54
56
  return;
55
57
  }
56
58
  if (this.\u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84 !== void 0 && \u8BF7\u6C42\u65B9\u6CD5 === "get") {
@@ -59,35 +61,36 @@ var \u670D\u52A1\u5668 = class {
59
61
  res.send(\u9ED8\u8BA4\u6587\u4EF6\u5185\u5BB9);
60
62
  return;
61
63
  } catch (e) {
62
- await \u7CFB\u7EDFlog.error("\u8FD4\u56DE\u9ED8\u8BA4get\u6587\u4EF6\u5185\u5BB9\u5931\u8D25: %o", String(e));
64
+ await log.error("\u8FD4\u56DE\u9ED8\u8BA4get\u6587\u4EF6\u5185\u5BB9\u5931\u8D25: %o", String(e));
63
65
  }
64
66
  }
65
- await \u7CFB\u7EDFlog.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
67
+ await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
66
68
  res.status(404).end();
67
69
  } catch (error) {
68
- await \u7CFB\u7EDFlog.error(error);
70
+ await log.error(error);
69
71
  res.status(500).send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
70
72
  } finally {
71
73
  let \u8017\u65F6ms = Date.now() - \u5F00\u59CB\u65F6\u95F4;
72
- await \u7CFB\u7EDFlog.info("\u8BF7\u6C42\u5B8C\u6210, \u8017\u65F6: %o ms", \u8017\u65F6ms);
74
+ await log.info("\u8BF7\u6C42\u5B8C\u6210, \u8017\u65F6: %o ms", \u8017\u65F6ms);
73
75
  }
74
76
  }
75
- async \u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3, \u63A5\u53E3log, \u7CFB\u7EDFlog) {
77
+ async \u5904\u7406\u63A5\u53E3\u903B\u8F91(opt) {
78
+ let { req, res, \u76EE\u6807\u63A5\u53E3, log, \u8BF7\u6C42id } = opt;
76
79
  let \u63A5\u53E3\u903B\u8F91 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u903B\u8F91();
77
80
  let \u7ED3\u679C\u8F6C\u6362\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668();
78
81
  let \u7ED3\u679C\u8FD4\u56DE\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8FD4\u56DE\u5668();
79
82
  let \u603B\u5F00\u59CB = Date.now();
80
83
  let \u5F00\u59CB = Date.now();
81
- await \u7CFB\u7EDFlog.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
84
+ await log.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
82
85
  let \u63D2\u4EF6\u4EEC = \u63A5\u53E3\u903B\u8F91.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
83
- await \u7CFB\u7EDFlog.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
84
- let \u63D2\u4EF6\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u8BA1\u7B97\u63D2\u4EF6\u7ED3\u679C(req, res, { log: \u7CFB\u7EDFlog });
85
- await \u7CFB\u7EDFlog.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
86
- await \u7CFB\u7EDFlog.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
87
- let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u901A\u8FC7\u63D2\u4EF6\u7ED3\u679C\u8FD0\u884C(\u63D2\u4EF6\u7ED3\u679C, {}, { log: \u63A5\u53E3log });
88
- await \u7CFB\u7EDFlog.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
86
+ await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
87
+ let \u63D2\u4EF6\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u8BA1\u7B97\u63D2\u4EF6\u7ED3\u679C(req, res, { log, \u8BF7\u6C42id });
88
+ await log.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
89
+ await log.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
90
+ let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u901A\u8FC7\u63D2\u4EF6\u7ED3\u679C\u8FD0\u884C(\u63D2\u4EF6\u7ED3\u679C, {}, { log, \u8BF7\u6C42id });
91
+ await log.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
89
92
  let \u63A5\u53E3\u8017\u65F6 = Date.now() - \u5F00\u59CB;
90
- await \u7CFB\u7EDFlog.info("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5, \u8017\u65F6: %o ms", \u63A5\u53E3\u8017\u65F6);
93
+ await log.info("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5, \u8017\u65F6: %o ms", \u63A5\u53E3\u8017\u65F6);
91
94
  \u5F00\u59CB = Date.now();
92
95
  let \u8F6C\u6362\u7ED3\u679C = \u7ED3\u679C\u8F6C\u6362\u5668.\u5B9E\u73B0(\u63A5\u53E3\u7ED3\u679C);
93
96
  let \u9519\u8BEF\u7ED3\u679C = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u9519\u8BEF\u5F62\u5F0FZod().safeParse(\u8F6C\u6362\u7ED3\u679C);
@@ -99,59 +102,59 @@ var \u670D\u52A1\u5668 = class {
99
102
  \u6700\u7EC8\u7ED3\u679C = \u6B63\u786E\u7ED3\u679C.data;
100
103
  } else {
101
104
  let \u7ED3\u679C\u5B57\u7B26\u4E32 = JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u8F6C\u6362\u7ED3\u679C));
102
- await \u7CFB\u7EDFlog.error(`\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C: ${\u7ED3\u679C\u5B57\u7B26\u4E32}`);
103
- await \u7CFB\u7EDFlog.error("\u5BF9\u4E8E\u9519\u8BEF\u7ED3\u679C: %o", \u9519\u8BEF\u7ED3\u679C.error);
104
- await \u7CFB\u7EDFlog.error("\u5BF9\u4E8E\u6B63\u786E\u7ED3\u679C: %o", \u6B63\u786E\u7ED3\u679C.error);
105
+ await log.error(`\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C: ${\u7ED3\u679C\u5B57\u7B26\u4E32}`);
106
+ await log.error("\u5BF9\u4E8E\u9519\u8BEF\u7ED3\u679C: %o", \u9519\u8BEF\u7ED3\u679C.error);
107
+ await log.error("\u5BF9\u4E8E\u6B63\u786E\u7ED3\u679C: %o", \u6B63\u786E\u7ED3\u679C.error);
105
108
  throw new Error(`\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C`);
106
109
  }
107
110
  let \u8F6C\u6362\u8017\u65F6 = Date.now() - \u5F00\u59CB;
108
- await \u7CFB\u7EDFlog.info("\u7ED3\u679C\u8F6C\u6362\u4E0E\u6821\u9A8C\u5B8C\u6210, \u8017\u65F6: %o ms", \u8F6C\u6362\u8017\u65F6);
109
- await \u7CFB\u7EDFlog.debug("\u6700\u7EC8\u7ED3\u679C: %o", JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C)));
111
+ await log.info("\u7ED3\u679C\u8F6C\u6362\u4E0E\u6821\u9A8C\u5B8C\u6210, \u8017\u65F6: %o ms", \u8F6C\u6362\u8017\u65F6);
112
+ await log.debug("\u6700\u7EC8\u7ED3\u679C: %o", JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u6700\u7EC8\u7ED3\u679C)));
110
113
  \u5F00\u59CB = Date.now();
111
114
  await \u7ED3\u679C\u8FD4\u56DE\u5668.\u8FD4\u56DE(req, res, \u6700\u7EC8\u7ED3\u679C);
112
115
  let \u8FD4\u56DE\u8017\u65F6 = Date.now() - \u5F00\u59CB;
113
- await \u7CFB\u7EDFlog.info("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5, \u8017\u65F6: %o ms", \u8FD4\u56DE\u8017\u65F6);
116
+ await log.info("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5, \u8017\u65F6: %o ms", \u8FD4\u56DE\u8017\u65F6);
114
117
  let \u603B\u8017\u65F6 = Date.now() - \u603B\u5F00\u59CB;
115
- await \u7CFB\u7EDFlog.info("\u63A5\u53E3\u5B8C\u6574\u6267\u884C\u8017\u65F6: %o ms", \u603B\u8017\u65F6);
118
+ await log.info("\u63A5\u53E3\u5B8C\u6574\u6267\u884C\u8017\u65F6: %o ms", \u603B\u8017\u65F6);
116
119
  }
117
120
  async \u521D\u59CB\u5316WebSocket(server) {
121
+ let log = await this.log;
118
122
  let wss = new WebSocketServer({ server });
119
- let \u7CFB\u7EDFlog = await this.\u7CFB\u7EDFlog;
120
123
  wss.on("listening", async () => {
121
- await \u7CFB\u7EDFlog.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
124
+ await log.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
122
125
  });
123
126
  wss.on("error", async (err) => {
124
- await \u7CFB\u7EDFlog.error("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
127
+ await log.error("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
125
128
  });
126
129
  wss.on("connection", async (ws, req) => {
127
- let \u63A5\u53E3log = \u7CFB\u7EDFlog.extend(short().new());
128
- await \u63A5\u53E3log.debug("\u6536\u5230 WebSocket \u8FDE\u63A5\u8BF7\u6C42: %o", req.url);
130
+ let \u8FDE\u63A5log = log.extend(short().new());
131
+ await \u8FDE\u63A5log.debug("\u6536\u5230 WebSocket \u8FDE\u63A5\u8BF7\u6C42: %o", req.url);
129
132
  let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1] ?? null;
130
133
  if (\u5BA2\u6237\u7AEFid === null) {
131
- await \u63A5\u53E3log.error("\u8FDE\u63A5\u8BF7\u6C42\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
132
- return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u63A5\u53E3log, 4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
134
+ await \u8FDE\u63A5log.error("\u8FDE\u63A5\u8BF7\u6C42\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
135
+ return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u8FDE\u63A5log, 4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
133
136
  }
134
- await \u63A5\u53E3log.debug("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
137
+ await \u8FDE\u63A5log.debug("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
135
138
  let WebSocket\u7BA1\u7406\u5668 = Global.getItemSync("WebSocket\u7BA1\u7406\u5668");
136
139
  let \u8FDE\u63A5\u5DF2\u5B58\u5728 = WebSocket\u7BA1\u7406\u5668.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid);
137
140
  if (\u8FDE\u63A5\u5DF2\u5B58\u5728) {
138
- await \u63A5\u53E3log.error("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
139
- return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u63A5\u53E3log, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
141
+ await \u8FDE\u63A5log.error("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
142
+ return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u8FDE\u63A5log, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
140
143
  }
141
144
  WebSocket\u7BA1\u7406\u5668.\u589E\u52A0\u8FDE\u63A5(\u5BA2\u6237\u7AEFid, ws);
142
- await \u63A5\u53E3log.info("WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
145
+ await \u8FDE\u63A5log.info("WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
143
146
  ws.on("close", async () => {
144
- await \u63A5\u53E3log.info("WebSocket \u8FDE\u63A5\u5173\u95ED: %s", \u5BA2\u6237\u7AEFid);
147
+ await \u8FDE\u63A5log.info("WebSocket \u8FDE\u63A5\u5173\u95ED: %s", \u5BA2\u6237\u7AEFid);
145
148
  WebSocket\u7BA1\u7406\u5668.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
146
149
  });
147
150
  ws.on("error", async (err) => {
148
- await \u63A5\u53E3log.error("WebSocket \u51FA\u73B0\u9519\u8BEF, \u5BA2\u6237\u7AEF ID: %s, \u9519\u8BEF: %o", \u5BA2\u6237\u7AEFid, err);
151
+ await \u8FDE\u63A5log.error("WebSocket \u51FA\u73B0\u9519\u8BEF, \u5BA2\u6237\u7AEF ID: %s, \u9519\u8BEF: %o", \u5BA2\u6237\u7AEFid, err);
149
152
  WebSocket\u7BA1\u7406\u5668.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
150
153
  });
151
154
  });
152
155
  }
153
- async \u5173\u95EDWebSocket\u8FDE\u63A5(ws, \u63A5\u53E3log, code, reason) {
154
- await \u63A5\u53E3log.debug(`\u5173\u95ED WebSocket \u8FDE\u63A5, \u4EE3\u7801: ${code}, \u539F\u56E0: ${reason}`);
156
+ async \u5173\u95EDWebSocket\u8FDE\u63A5(ws, log, code, reason) {
157
+ await log.debug(`\u5173\u95ED WebSocket \u8FDE\u63A5, \u4EE3\u7801: ${code}, \u539F\u56E0: ${reason}`);
155
158
  ws.close(code, reason);
156
159
  }
157
160
  \u83B7\u53D6\u672C\u5730\u5730\u5740() {
@@ -0,0 +1,61 @@
1
+ import {
2
+ 接口结果返回器
3
+ } from "./chunk-XBAKTT6S.js";
4
+ import {
5
+ 接口
6
+ } from "./chunk-MDUWXEQ7.js";
7
+ import {
8
+ 直接形式转换器
9
+ } from "./chunk-DNJQGD5M.js";
10
+
11
+ // src/wrapper/file-download-wrapper.ts
12
+ import { createReadStream } from "fs";
13
+ import { z } from "zod";
14
+ var \u6587\u4EF6\u4E0B\u8F7D\u63A5\u53E3\u5C01\u88C5 = class extends \u63A5\u53E3 {
15
+ constructor(\u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5, \u63A5\u53E3\u903B\u8F91, \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod, \u6587\u4EF6\u540D, MIME\u7C7B\u578B) {
16
+ let \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F = z.object({ status: z.literal("fail"), data: \u903B\u8F91\u9519\u8BEF\u7C7B\u578BZod });
17
+ let \u63A5\u53E3\u8F6C\u6362\u5668 = new \u76F4\u63A5\u5F62\u5F0F\u8F6C\u6362\u5668();
18
+ let \u8FD4\u56DE\u5668 = new \u6587\u4EF6\u4E0B\u8F7D\u8FD4\u56DE\u5668(\u6587\u4EF6\u540D, MIME\u7C7B\u578B);
19
+ super(
20
+ \u8BF7\u6C42\u8DEF\u5F84,
21
+ \u8BF7\u6C42\u65B9\u6CD5,
22
+ \u63A5\u53E3\u903B\u8F91,
23
+ \u63A5\u53E3\u9519\u8BEF\u8F93\u51FA\u5F62\u5F0F,
24
+ z.any(),
25
+ // 正确形式任意
26
+ \u63A5\u53E3\u8F6C\u6362\u5668,
27
+ \u8FD4\u56DE\u5668
28
+ );
29
+ }
30
+ };
31
+ var \u6587\u4EF6\u4E0B\u8F7D\u8FD4\u56DE\u5668 = class extends \u63A5\u53E3\u7ED3\u679C\u8FD4\u56DE\u5668 {
32
+ constructor(\u6587\u4EF6\u540D, MIME\u7C7B\u578B) {
33
+ super();
34
+ this.\u6587\u4EF6\u540D = \u6587\u4EF6\u540D;
35
+ this.MIME\u7C7B\u578B = MIME\u7C7B\u578B;
36
+ }
37
+ async \u8FD4\u56DE(req, res, \u7ED3\u679C) {
38
+ if (this.MIME\u7C7B\u578B !== void 0) {
39
+ res.setHeader("Content-Type", this.MIME\u7C7B\u578B);
40
+ }
41
+ if (this.\u6587\u4EF6\u540D !== void 0) {
42
+ let encodedFilename = encodeURIComponent(this.\u6587\u4EF6\u540D);
43
+ res.setHeader("Content-Disposition", `attachment; filename*=UTF-8''${encodedFilename}`);
44
+ }
45
+ if (Buffer.isBuffer(\u7ED3\u679C)) {
46
+ res.setHeader("Content-Length", \u7ED3\u679C.length);
47
+ res.send(\u7ED3\u679C);
48
+ } else if (typeof \u7ED3\u679C === "string") {
49
+ let \u6D41 = createReadStream(\u7ED3\u679C);
50
+ \u6D41.pipe(res);
51
+ } else if (typeof \u7ED3\u679C.pipe === "function") {
52
+ \u7ED3\u679C.pipe(res);
53
+ } else {
54
+ res.status(400).send("Invalid file data");
55
+ }
56
+ }
57
+ };
58
+
59
+ export {
60
+ 文件下载接口封装
61
+ };
@@ -1,5 +1,5 @@
1
1
  export { 严格递归合并对象, 普通对象深合并, 构造元组, 构造对象 } from './help/help.js';
2
- export { 任 as 任意接口, x as 任意接口结果转换器, n as 任意接口逻辑, y as 任意插件, 兼 as 兼容空对象, A as 取插件内部ts类型, 取 as 取插件内部类型, 可 as 可调用接口逻辑, 合 as 合并插件结果, 常 as 常用形式转换器, b as 接口, a as 接口方法类型, w as 接口结果转换器, 接 as 接口路径类型, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 插 as 插件, z as 插件项类型, 服 as 服务器, 清 as 清理函数类型, 直 as 直接形式转换器, 空 as 空对象, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, d as 获得接口逻辑类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, e as 获得接口错误形式, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果, 请 as 请求附加参数类型 } from './interface-base-C1ZNSMJz.js';
2
+ export { 任 as 任意接口, x as 任意接口结果转换器, n as 任意接口逻辑, y as 任意插件, 兼 as 兼容空对象, A as 取插件内部ts类型, 取 as 取插件内部类型, 可 as 可调用接口逻辑, 合 as 合并插件结果, 常 as 常用形式转换器, b as 接口, a as 接口方法类型, w as 接口结果转换器, 接 as 接口路径类型, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 插 as 插件, z as 插件项类型, 日 as 日志回调类型, 服 as 服务器, 清 as 清理函数类型, 直 as 直接形式转换器, 空 as 空对象, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, d as 获得接口逻辑类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, e as 获得接口错误形式, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果, 请 as 请求附加参数类型 } from './interface-base-DDfmN_Dg.js';
3
3
  export { 任意接口结果返回器, 常用返回器, 接口结果返回器, 自定义返回器 } from './interface/interface-retuen.js';
4
4
  export { 接口测试 } from './interface/interface-test.js';
5
5
  export { 自定义数据插件 } from './plugin/extend/custom-data.js';
@@ -13,9 +13,12 @@ export { GetNetCoreExportTypeDefine, GetNetCoreExportTypeName, NetCoreExportType
13
13
  export { 常用形式接口封装 } from './wrapper/common-wrapper.js';
14
14
  export { 常用形式并自定义返回器接口封装 } from './wrapper/common-wrapper-return.js';
15
15
  export { 常用直接形式接口封装 } from './wrapper/deferred-result-wrapper.js';
16
+ export { Express兼容接口封装 } from './wrapper/express-compatible-wrapper.js';
17
+ export { 文件下载接口封装, 文件数据类型 } from './wrapper/file-download-wrapper.js';
16
18
  import 'zod';
17
19
  import '@lsby/ts-fp-data';
18
20
  import 'express';
19
21
  import './help/interior.js';
20
22
  import '@lsby/ts-log';
21
23
  import 'node:http';
24
+ import 'node:fs';
package/dist/esm/index.js CHANGED
@@ -19,6 +19,12 @@ import {
19
19
  import {
20
20
  常用直接形式接口封装
21
21
  } from "./chunk-NB2QNDI2.js";
22
+ import {
23
+ Express兼容接口封装
24
+ } from "./chunk-NCYHKHIH.js";
25
+ import {
26
+ 文件下载接口封装
27
+ } from "./chunk-XSYZ5A6R.js";
22
28
  import {
23
29
  接口测试
24
30
  } from "./chunk-N7TPWCQ5.js";
@@ -27,7 +33,7 @@ import {
27
33
  } from "./chunk-43GZE5YL.js";
28
34
  import {
29
35
  服务器
30
- } from "./chunk-3ZQFVYIR.js";
36
+ } from "./chunk-NRUNCIP7.js";
31
37
  import {
32
38
  EXPORT_TYPE
33
39
  } from "./chunk-ZF7EC2OM.js";
@@ -64,6 +70,7 @@ import {
64
70
  } from "./chunk-DNJQGD5M.js";
65
71
  export {
66
72
  EXPORT_TYPE,
73
+ Express\u517C\u5BB9\u63A5\u53E3\u5C01\u88C5,
67
74
  GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6,
68
75
  JSON\u89E3\u6790\u63D2\u4EF6,
69
76
  WebSocket\u63D2\u4EF6,
@@ -79,6 +86,7 @@ export {
79
86
  \u63A5\u53E3\u903B\u8F91,
80
87
  \u63A5\u53E3\u903B\u8F91Base,
81
88
  \u63D2\u4EF6,
89
+ \u6587\u4EF6\u4E0B\u8F7D\u63A5\u53E3\u5C01\u88C5,
82
90
  \u666E\u901A\u5BF9\u8C61\u6DF1\u5408\u5E76,
83
91
  \u670D\u52A1\u5668,
84
92
  \u6784\u9020\u5143\u7EC4,
@@ -1,5 +1,5 @@
1
1
  import 'zod';
2
- export { 任 as 任意接口, b as 接口, a as 接口方法类型, 接 as 接口路径类型, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, d as 获得接口逻辑类型, e as 获得接口错误形式 } from '../interface-base-C1ZNSMJz.js';
2
+ export { 任 as 任意接口, b as 接口, a as 接口方法类型, 接 as 接口路径类型, c as 获得接口方法类型, f as 获得接口正确形式, g as 获得接口结果转换器类型, h as 获得接口结果返回器类型, 获 as 获得接口路径类型, d as 获得接口逻辑类型, e as 获得接口错误形式 } from '../interface-base-DDfmN_Dg.js';
3
3
  import './interface-retuen.js';
4
4
  import '@lsby/ts-fp-data';
5
5
  import 'express';
@@ -1,7 +1,7 @@
1
1
  import '@lsby/ts-fp-data';
2
2
  import 'express';
3
3
  import '../help/interior.js';
4
- export { n as 任意接口逻辑, 兼 as 兼容空对象, 可 as 可调用接口逻辑, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 清 as 清理函数类型, 空 as 空对象, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果 } from '../interface-base-C1ZNSMJz.js';
4
+ export { n as 任意接口逻辑, 兼 as 兼容空对象, 可 as 可调用接口逻辑, m as 接口逻辑, l as 接口逻辑Base, j as 接口逻辑正确类型, i as 接口逻辑错误类型, k as 接口逻辑附加参数类型, 清 as 清理函数类型, 空 as 空对象, s as 获得接口逻辑上游接口类型, o as 获得接口逻辑插件类型, t as 获得接口逻辑最后接口类型, r as 获得接口逻辑正确类型, q as 获得接口逻辑错误类型, p as 获得接口逻辑附加参数类型, 计 as 计算接口逻辑参数, v as 计算接口逻辑正确结果, u as 计算接口逻辑错误结果 } from '../interface-base-DDfmN_Dg.js';
5
5
  import 'zod';
6
6
  import '@lsby/ts-log';
7
7
  import 'node:http';