lz-nframe 1.0.1 → 1.0.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.
package/lib/NApp.d.ts CHANGED
@@ -5,7 +5,6 @@
5
5
  描述:
6
6
  应用基类
7
7
  *******************************************************************************/
8
- /// <reference types="node" resolution-mode="require"/>
9
8
  import { EventEmitter } from 'events';
10
9
  export default abstract class NApp extends EventEmitter {
11
10
  protected appName: string;
@@ -11,7 +11,7 @@
11
11
 
12
12
  获取配置时的顺序:【动态配置】->【本地配置】->【默认配置】
13
13
  *******************************************************************************/
14
- import { NestedKeyOf, ValueAtPath } from './NType';
14
+ import { NestedKeyOf, ValueAtPath } from './NType.js';
15
15
  export default class NConfigsMgr<T extends object> {
16
16
  get configs(): T;
17
17
  private defaultConfigs;
@@ -7,7 +7,6 @@
7
7
  - 支持自动处理中文 URL 编码
8
8
  - 支持泛型与类型安全
9
9
  *******************************************************************************/
10
- /// <reference types="node" resolution-mode="require"/>
11
10
  import * as http from 'http';
12
11
  /**
13
12
  * 请求配置接口
@@ -126,10 +126,10 @@ export default class NHttpClient {
126
126
  // 依次检查各代理 header
127
127
  const candidates = [
128
128
  getHeader('x-real-ip'),
129
- getHeader('cf-connecting-ip'),
130
- getHeader('true-client-ip'),
129
+ getHeader('cf-connecting-ip'), // Cloudflare
130
+ getHeader('true-client-ip'), // Akamai / Cloudflare Enterprise
131
131
  getHeader('x-client-ip'),
132
- getHeader('x-forwarded-for'),
132
+ getHeader('x-forwarded-for'), // 通用代理,可能含多个 IP
133
133
  getHeader('proxy-client-ip'),
134
134
  getHeader('wl-proxy-client-ip'),
135
135
  ];
@@ -21,7 +21,6 @@
21
21
  }, {contentType: ContentType.TextPlain})
22
22
  .start(3000);
23
23
  *******************************************************************************/
24
- /// <reference types="node" resolution-mode="require"/>
25
24
  import * as http from 'http';
26
25
  export default class NSimpleHttpServer {
27
26
  private server;
@@ -219,4 +219,4 @@ export var ContentType;
219
219
  ContentType["TextHtml"] = "Content-Type: text/html; charset=utf-8;";
220
220
  ContentType["TextPlain"] = "Content-Type: text/plain; charset=utf-8;";
221
221
  ContentType["ApplicationJson"] = "Content-Type: application/json; charset=utf-8;";
222
- })(ContentType = ContentType || (ContentType = {}));
222
+ })(ContentType || (ContentType = {}));
@@ -11,8 +11,6 @@ websocket事件:
11
11
  ✦onclose websocket关闭时触发该事件
12
12
  ✦onmessage 接收到消息
13
13
  *******************************************************************************/
14
- /// <reference types="node" resolution-mode="require"/>
15
- /// <reference types="node" resolution-mode="require"/>
16
14
  import { EventEmitter } from 'events';
17
15
  export default class NWSClient extends EventEmitter {
18
16
  static EventError: string;
package/lib/NWSClient.js CHANGED
@@ -22,7 +22,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
22
22
  };
23
23
  import { EventEmitter } from 'events';
24
24
  import WebSocket from 'ws';
25
- import { NWSSocket } from './NWSSocket';
25
+ import { NWSSocket } from './NWSSocket.js';
26
26
  class NWSClient extends EventEmitter {
27
27
  get connected() {
28
28
  return this._connected;
@@ -11,10 +11,8 @@ websocket事件:
11
11
  ✦onclose websocket关闭时触发该事件
12
12
  ✦onmessage 接收到消息
13
13
  *******************************************************************************/
14
- /// <reference types="node" resolution-mode="require"/>
15
- /// <reference types="node" resolution-mode="require"/>
16
14
  import { EventEmitter } from 'events';
17
- import { NWSSocket } from './NWSSocket';
15
+ import { NWSSocket } from './NWSSocket.js';
18
16
  export default class NWSServer extends EventEmitter {
19
17
  static EventError: string;
20
18
  static EventServiceStarted: string;
package/lib/NWSServer.js CHANGED
@@ -12,9 +12,9 @@ websocket事件:
12
12
  ✦onmessage 接收到消息
13
13
  *******************************************************************************/
14
14
  import { EventEmitter } from 'events';
15
- import WebSocket from 'ws'; // 1. 替换导入
16
- import { NWSSocket } from './NWSSocket';
17
- import NHttpClient from './NHttpClient';
15
+ import WebSocket, { WebSocketServer } from 'ws';
16
+ import { NWSSocket } from './NWSSocket.js';
17
+ import NHttpClient from './NHttpClient.js';
18
18
  class NWSServer extends EventEmitter {
19
19
  constructor(params) {
20
20
  super();
@@ -28,7 +28,7 @@ class NWSServer extends EventEmitter {
28
28
  this.wsServer.close();
29
29
  this.wsServer = null;
30
30
  }
31
- this.wsServer = new WebSocket.Server({
31
+ this.wsServer = new WebSocketServer({
32
32
  port,
33
33
  host,
34
34
  WebSocket: NWSSocket,
@@ -73,7 +73,6 @@
73
73
  TODO:
74
74
  1.路由
75
75
  *******************************************************************************/
76
- /// <reference types="node" resolution-mode="require"/>
77
76
  import { EventEmitter } from 'events';
78
77
  /**
79
78
  * 协议名说明(PacketType):
@@ -83,8 +83,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
83
83
  });
84
84
  };
85
85
  import { EventEmitter } from 'events';
86
- import NWSClient from './NWSClient';
87
- import NWSServer from './NWSServer';
86
+ import NWSClient from './NWSClient.js';
87
+ import NWSServer from './NWSServer.js';
88
88
  class NWSServiceHub extends EventEmitter {
89
89
  constructor(options) {
90
90
  super();
@@ -14,7 +14,6 @@
14
14
  ✦_si_ 服务端下发 resign 时须回传登录载荷;服务端下发 ok 表示登录完成
15
15
  ✦_hb_ 心跳,收到后原样应答
16
16
  *******************************************************************************/
17
- /// <reference types="node" resolution-mode="require"/>
18
17
  import { EventEmitter } from 'events';
19
18
  /** 与 NWSUserMgrJ 配套的 JSON WebSocket 客户端 */
20
19
  export default class NWSUserClientJ extends EventEmitter {
@@ -24,7 +24,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
24
24
  });
25
25
  };
26
26
  import { EventEmitter } from 'events';
27
- import NWSClient from './NWSClient';
27
+ import NWSClient from './NWSClient.js';
28
28
  /** 与 NWSUserMgrJ 配套的 JSON WebSocket 客户端 */
29
29
  class NWSUserClientJ extends EventEmitter {
30
30
  /** 是否已与服务器建立 WebSocket(不代表已完成 _si_ 验证) */
@@ -26,9 +26,8 @@
26
26
 
27
27
  TODO 复用http服务端口,https://blog.csdn.net/qq_44856695/article/details/120250286
28
28
  *******************************************************************************/
29
- /// <reference types="node" resolution-mode="require"/>
30
29
  import { EventEmitter } from 'events';
31
- import NWSServer from './NWSServer';
30
+ import NWSServer from './NWSServer.js';
32
31
  /** 基于NWSServer的实时联网用户管理,通信格式使用json */
33
32
  export default class NWSUserMgrJ extends EventEmitter {
34
33
  /** 用户掉线,已考虑超时问题,如果设置超时非0,则socket掉线会等候用户重连,重连成功不认定掉线 */
@@ -27,7 +27,7 @@
27
27
  TODO 复用http服务端口,https://blog.csdn.net/qq_44856695/article/details/120250286
28
28
  *******************************************************************************/
29
29
  import { EventEmitter } from 'events';
30
- import NWSServer from './NWSServer';
30
+ import NWSServer from './NWSServer.js';
31
31
  import NUtils from 'lz-nutils';
32
32
  /** 基于NWSServer的实时联网用户管理,通信格式使用json */
33
33
  class NWSUserMgrJ extends EventEmitter {
package/lib/index.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ /*******************************************************************************
2
+ 文件: index.ts
3
+ 描述:
4
+ 包聚合导出:发布后可通过 import from 'lz-nframe' 引用下列公开 API;
5
+ 仍支持子路径 import 'lz-nframe/lib/xxx.js'(见 package.json exports)。
6
+ *******************************************************************************/
7
+ export { default as NApp } from './NApp.js';
8
+ export { default as NConfigsMgr } from './NConfigsMgr.js';
9
+ export { default as NHttpClient } from './NHttpClient.js';
10
+ export type { ApiResult } from './NHttpClient.js';
11
+ export { default as NSimpleHttpServer, ContentType } from './NSimpleHttpServer.js';
12
+ export type { SimplePage } from './NSimpleHttpServer.js';
13
+ export { NWSSocket } from './NWSSocket.js';
14
+ export { default as NWSClient } from './NWSClient.js';
15
+ export { default as NWSServer } from './NWSServer.js';
16
+ export { default as NWSServiceHub } from './NWSServiceHub.js';
17
+ export type { NWSServiceHubOptions, NWSServicePeerConfig } from './NWSServiceHub.js';
18
+ export { default as NWSUserClientJ } from './NWSUserClientJ.js';
19
+ export { default as NWSUserMgrJ } from './NWSUserMgrJ.js';
20
+ export type { NestedKeyOf, PlainType, PlainValue, ValueAtPath } from './NType.js';
21
+ /** 与旧版 main 指向 NApp.js 一致:默认导出仍为 NApp */
22
+ export { default } from './NApp.js';
package/lib/index.js ADDED
@@ -0,0 +1,18 @@
1
+ /*******************************************************************************
2
+ 文件: index.ts
3
+ 描述:
4
+ 包聚合导出:发布后可通过 import from 'lz-nframe' 引用下列公开 API;
5
+ 仍支持子路径 import 'lz-nframe/lib/xxx.js'(见 package.json exports)。
6
+ *******************************************************************************/
7
+ export { default as NApp } from './NApp.js';
8
+ export { default as NConfigsMgr } from './NConfigsMgr.js';
9
+ export { default as NHttpClient } from './NHttpClient.js';
10
+ export { default as NSimpleHttpServer, ContentType } from './NSimpleHttpServer.js';
11
+ export { NWSSocket } from './NWSSocket.js';
12
+ export { default as NWSClient } from './NWSClient.js';
13
+ export { default as NWSServer } from './NWSServer.js';
14
+ export { default as NWSServiceHub } from './NWSServiceHub.js';
15
+ export { default as NWSUserClientJ } from './NWSUserClientJ.js';
16
+ export { default as NWSUserMgrJ } from './NWSUserMgrJ.js';
17
+ /** 与旧版 main 指向 NApp.js 一致:默认导出仍为 NApp */
18
+ export { default } from './NApp.js';
package/package.json CHANGED
@@ -1,9 +1,18 @@
1
1
  {
2
2
  "name": "lz-nframe",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "",
5
5
  "type": "module",
6
- "main": "./lib/NApp.js",
6
+ "main": "./lib/index.js",
7
+ "types": "./lib/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./lib/index.d.ts",
11
+ "import": "./lib/index.js",
12
+ "default": "./lib/index.js"
13
+ },
14
+ "./lib/*": "./lib/*"
15
+ },
7
16
  "scripts": {
8
17
  "build": "tsc",
9
18
  "test": "node --import tsx --test test/NConfigsMgr.test.ts test/NHttpClient.test.ts test/NWSClient.test.ts test/NWSUserClientJ.test.ts test/NWSServiceHub.test.ts",