nydus-client 2.0.1 → 4.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.
package/README.md CHANGED
@@ -2,12 +2,12 @@
2
2
 
3
3
  WebSocket client library for the [nydus protocol](https://github.com/tec27/nydus-protocol), a simple RPC/PubSub protocol.
4
4
 
5
- [![Build Status](https://img.shields.io/travis/tec27/nydus-client.svg?style=flat)](https://travis-ci.org/tec27/nydus-client)
6
5
  [![NPM](https://img.shields.io/npm/v/nydus-client.svg?style=flat)](https://www.npmjs.org/package/nydus-client)
7
6
 
8
7
  [![NPM](https://nodei.co/npm/nydus-client.png)](https://nodei.co/npm/nydus-client/)
9
8
 
10
9
  ## Usage
10
+
11
11
  #### `import nydusClient from 'nydus-client'`
12
12
 
13
13
  <b><code>const socket = nydusClient(host[, options])</code></b>
package/dist/cjs/index.js CHANGED
@@ -4,13 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.NydusClient = exports.InvokeError = exports.protocolVersion = void 0;
7
- const engine_io_client_1 = __importDefault(require("engine.io-client"));
8
- const events_1 = require("events");
7
+ const engine_io_client_1 = require("engine.io-client");
9
8
  const cuid_1 = __importDefault(require("cuid"));
10
9
  const ruta3_1 = __importDefault(require("ruta3"));
11
10
  const backo2_1 = __importDefault(require("backo2"));
12
11
  const nydus_protocol_1 = require("nydus-protocol");
13
12
  Object.defineProperty(exports, "protocolVersion", { enumerable: true, get: function () { return nydus_protocol_1.protocolVersion; } });
13
+ const typed_emitter_1 = require("./typed-emitter");
14
14
  function isTransportError(err) {
15
15
  return err.type === 'TransportError';
16
16
  }
@@ -22,13 +22,12 @@ class InvokeError extends Error {
22
22
  }
23
23
  }
24
24
  exports.InvokeError = InvokeError;
25
- // eslint-disable-next-line no-redeclare
26
- class NydusClient extends events_1.EventEmitter {
25
+ class NydusClient extends typed_emitter_1.TypedEventEmitter {
27
26
  constructor(host, opts = {}) {
28
27
  super();
29
28
  this.conn = null;
30
29
  this.outstanding = new Map();
31
- this.router = ruta3_1.default();
30
+ this.router = (0, ruta3_1.default)();
32
31
  this.backoffTimer = null;
33
32
  this.connectTimer = null;
34
33
  this.wasOpened = false;
@@ -55,7 +54,7 @@ class NydusClient extends events_1.EventEmitter {
55
54
  this.onClose('connect timeout');
56
55
  }, this.opts.connectTimeout);
57
56
  }
58
- this.conn = engine_io_client_1.default(this.host, this.opts);
57
+ this.conn = new engine_io_client_1.Socket(this.host, this.opts);
59
58
  this.conn
60
59
  .on('open', this.onOpen.bind(this))
61
60
  .on('message', data => this.onMessage(data))
@@ -123,14 +122,14 @@ class NydusClient extends events_1.EventEmitter {
123
122
  * rejected with the result or error (respectively) from the server.
124
123
  */
125
124
  invoke(path, data) {
126
- const id = cuid_1.default();
125
+ const id = (0, cuid_1.default)();
127
126
  const p = new Promise((resolve, reject) => {
128
127
  if (!this.conn) {
129
128
  reject(new Error('Not connected'));
130
129
  return;
131
130
  }
132
131
  this.outstanding.set(id, { resolve, reject });
133
- this.conn.send(nydus_protocol_1.encode(nydus_protocol_1.MessageType.Invoke, data, id, path));
132
+ this.conn.send((0, nydus_protocol_1.encode)(nydus_protocol_1.MessageType.Invoke, data, id, path), undefined);
134
133
  }).catch(err => {
135
134
  // Convert error-like objects back to Errors
136
135
  if (err.message && err.status) {
@@ -158,7 +157,7 @@ class NydusClient extends events_1.EventEmitter {
158
157
  }
159
158
  onMessage(msg) {
160
159
  var _a, _b;
161
- const decoded = nydus_protocol_1.decode(msg);
160
+ const decoded = (0, nydus_protocol_1.decode)(msg);
162
161
  switch (decoded.type) {
163
162
  case nydus_protocol_1.MessageType.ParserError:
164
163
  (_a = this.conn) === null || _a === void 0 ? void 0 : _a.close(); // will cause a call to _onClose
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypedEventEmitter = void 0;
4
+ const events_1 = require("events");
5
+ /**
6
+ * A typed version of the normal node EventEmitter class, such that emitted/handled events and
7
+ * their associated parameters can be type-checked properly.
8
+ *
9
+ * This uses typed-emitter under the hood, it just makes it easier to extend.
10
+ *
11
+ * Example:
12
+ * ```
13
+ * interface FooEvents {
14
+ * bar: (message: string) => void
15
+ * baz: (count: number, ...extras: any[]) => void
16
+ * }
17
+ *
18
+ * class Foo extends TypedEventEmitter<FooEvents> {
19
+ * constructor() {
20
+ * super()
21
+ * }
22
+ *
23
+ * test() {
24
+ * this.emit('bar', 'hello world')
25
+ * this.emit('baz', 5, 'extra', 'stuff', 'to', 'pass', 27)
26
+ * }
27
+ * }
28
+ * ```
29
+ */
30
+ class TypedEventEmitter extends events_1.EventEmitter {
31
+ constructor() {
32
+ // NOTE(tec27): No idea why eslint thinks super isn't a constructor here, I assume it's failing
33
+ // to parse things properly in some way
34
+ // eslint-disable-next-line constructor-super
35
+ super();
36
+ }
37
+ }
38
+ exports.TypedEventEmitter = TypedEventEmitter;
39
+ //# sourceMappingURL=typed-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-emitter.js","sourceRoot":"","sources":["../../typed-emitter.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AAKrC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAsB,iBAAsC,SAAS,qBAEhE;IACH;QACE,+FAA+F;QAC/F,uCAAuC;QACvC,6CAA6C;QAC7C,KAAK,EAAE,CAAA;IACT,CAAC;CACF;AATD,8CASC"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,8 @@
1
- /// <reference types="node" />
2
- import eio from 'engine.io-client';
3
- import { EventEmitter } from 'events';
1
+ import { SocketOptions as EngineIoSocketOptions, Socket as EngineIoSocket } from 'engine.io-client';
4
2
  import { protocolVersion } from 'nydus-protocol';
3
+ import { TypedEventEmitter, EventMap } from './typed-emitter';
5
4
  export { protocolVersion };
6
- export interface NydusClientOptions extends eio.SocketOptions {
5
+ export interface NydusClientOptions extends EngineIoSocketOptions {
7
6
  /**
8
7
  * How long before a connection attempt should be considered failed. Optional, will not timeout
9
8
  * if not specified.
@@ -26,7 +25,7 @@ export interface NydusClientOptions extends eio.SocketOptions {
26
25
  */
27
26
  reconnectionJitter: number;
28
27
  }
29
- interface ExpandedSocket extends eio.Socket {
28
+ interface ExpandedSocket extends Omit<EngineIoSocket, 'readyState'> {
30
29
  readonly readyState: string;
31
30
  }
32
31
  export interface RouteInfo {
@@ -35,7 +34,7 @@ export interface RouteInfo {
35
34
  splats: string[];
36
35
  }
37
36
  export declare type RouteHandler = (routeInfo: RouteInfo, data: any) => void;
38
- interface NydusEvents {
37
+ interface NydusEvents extends EventMap {
39
38
  /** Fired when the connection succeeds. */
40
39
  connect: () => void;
41
40
  /** Fired when the connection has been closed */
@@ -56,17 +55,12 @@ interface NydusEvents {
56
55
  /** Fired when the connection attempt failed. */
57
56
  connect_failed: () => void;
58
57
  }
59
- export declare interface NydusClient {
60
- emit<U extends keyof NydusEvents>(event: U, ...args: Parameters<NydusEvents[U]>): boolean;
61
- on<U extends keyof NydusEvents>(event: U, listener: NydusEvents[U]): this;
62
- once<U extends keyof NydusEvents>(event: U, listener: NydusEvents[U]): this;
63
- }
64
58
  export declare class InvokeError extends Error {
65
59
  readonly status: number;
66
60
  readonly body: any;
67
61
  constructor(message: string, status: number, body?: any);
68
62
  }
69
- export declare class NydusClient extends EventEmitter {
63
+ export declare class NydusClient extends TypedEventEmitter<NydusEvents> {
70
64
  readonly host: string;
71
65
  readonly opts: Partial<NydusClientOptions>;
72
66
  conn: ExpandedSocket | null;
@@ -1,9 +1,9 @@
1
- import eio from 'engine.io-client';
2
- import { EventEmitter } from 'events';
1
+ import { Socket as EngineIoSocket } from 'engine.io-client';
3
2
  import cuid from 'cuid';
4
3
  import ruta from 'ruta3';
5
4
  import Backoff from 'backo2';
6
5
  import { encode, decode, protocolVersion, MessageType, } from 'nydus-protocol';
6
+ import { TypedEventEmitter } from './typed-emitter';
7
7
  export { protocolVersion };
8
8
  function isTransportError(err) {
9
9
  return err.type === 'TransportError';
@@ -15,8 +15,7 @@ export class InvokeError extends Error {
15
15
  this.body = body;
16
16
  }
17
17
  }
18
- // eslint-disable-next-line no-redeclare
19
- export class NydusClient extends EventEmitter {
18
+ export class NydusClient extends TypedEventEmitter {
20
19
  constructor(host, opts = {}) {
21
20
  super();
22
21
  this.conn = null;
@@ -48,7 +47,7 @@ export class NydusClient extends EventEmitter {
48
47
  this.onClose('connect timeout');
49
48
  }, this.opts.connectTimeout);
50
49
  }
51
- this.conn = eio(this.host, this.opts);
50
+ this.conn = new EngineIoSocket(this.host, this.opts);
52
51
  this.conn
53
52
  .on('open', this.onOpen.bind(this))
54
53
  .on('message', data => this.onMessage(data))
@@ -123,7 +122,7 @@ export class NydusClient extends EventEmitter {
123
122
  return;
124
123
  }
125
124
  this.outstanding.set(id, { resolve, reject });
126
- this.conn.send(encode(MessageType.Invoke, data, id, path));
125
+ this.conn.send(encode(MessageType.Invoke, data, id, path), undefined);
127
126
  }).catch(err => {
128
127
  // Convert error-like objects back to Errors
129
128
  if (err.message && err.status) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,kBAAkB,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,IAAI,MAAM,OAAO,CAAA;AACxB,OAAO,OAAO,MAAM,QAAQ,CAAA;AAC5B,OAAO,EACL,MAAM,EACN,MAAM,EACN,eAAe,EAEf,WAAW,GAGZ,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,eAAe,EAAE,CAAA;AAmC1B,SAAS,gBAAgB,CAAC,GAAU;IAClC,OAAQ,GAAW,CAAC,IAAI,KAAK,gBAAgB,CAAA;AAC/C,CAAC;AAuCD,MAAM,OAAO,WAAY,SAAQ,KAAK;IAIpC,YAAY,OAAe,EAAE,MAAc,EAAE,IAAU;QACrD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF;AAID,wCAAwC;AACxC,MAAM,OAAO,WAAY,SAAQ,YAAY;IAe3C,YAAY,IAAY,EAAE,OAAoC,EAAE;QAC9D,KAAK,EAAE,CAAA;QAbT,SAAI,GAA0B,IAAI,CAAA;QAE1B,gBAAW,GAAG,IAAI,GAAG,EAA6B,CAAA;QAClD,WAAM,GAAG,IAAI,EAAgB,CAAA;QAG7B,iBAAY,GAAyC,IAAI,CAAA;QACzD,iBAAY,GAAyC,IAAI,CAAA;QAEzD,cAAS,GAAG,KAAK,CAAA;QACjB,kBAAa,GAAG,KAAK,CAAA;QAI3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,QAAQ,CAAA;QAC3E,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC;YACzB,GAAG,EAAE,IAAI,CAAC,iBAAiB,IAAI,IAAI;YACnC,GAAG,EAAE,IAAI,CAAC,oBAAoB,IAAI,KAAK;YACvC,MAAM,EAAE,IAAI,CAAC,kBAAkB,IAAI,GAAG;SACvC,CAAC,CAAA;IACJ,CAAC;IAED,0CAA0C;IAC1C,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAA;IAC5D,CAAC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YAC5B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;gBAClC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;gBAC5B,IAAI,CAAC,UAAU,EAAE,CAAA;gBACjB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;gBAC1B,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;YACjC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;SAC7B;QAED,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAmB,CAAA;QACvD,IAAI,CAAC,IAAI;aACN,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAc,CAAC,CAAC;aACrD,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACzC,CAAC;IAED,qEAAqE;IACrE,OAAO;QACL,IAAI,IAAI,CAAC,IAAI;YAAE,OAAM;QAErB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,SAAS,EAAE,CAAA;IAClB,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE;YACxD,OAAM;SACP;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAqB,EAAE;YAC5D,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;YACpB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAC7B,OAAM;SACP;QAED,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAEhD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAM;YAE3C,IAAI,CAAC,SAAS,EAAE,CAAA;QAClB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,8EAA8E;IAC9E,UAAU;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;SACzB;QAED,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAM;QAEtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,WAAmB,EAAE,OAAqB;QACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAEO,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAA4B;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YACtC,OAAM;SACP;QAED,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;IACxF,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAY,EAAE,IAAU;QAC7B,MAAM,EAAE,GAAG,IAAI,EAAE,CAAA;QACjB,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAA;gBAClC,OAAM;aACP;YAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;YAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACb,4CAA4C;YAC5C,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE;gBAC7B,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;gBACpE,MAAM,SAAS,CAAA;aAChB;YAED,MAAM,GAAG,CAAA;QACX,CAAC,CAAC,CAAA;QAEF,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAE5C,OAAO,CAAC,CAAA;IACV,CAAC;IAEO,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAoD;QAC3F,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAClC,IAAI,CAAC,CAAC,EAAE;YACN,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAA;YAClD,OAAM;SACP;QAED,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAA;IAC7D,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtB,CAAC;IAEO,SAAS,CAAC,GAAW;;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QAC3B,QAAQ,OAAO,CAAC,IAAI,EAAE;YACpB,KAAK,WAAW,CAAC,WAAW;gBAC1B,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,GAAE,CAAC,gCAAgC;gBACnD,MAAK;YACP,KAAK,WAAW,CAAC,OAAO;gBACtB,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE;oBACpC,IAAI,CAAC,IAAI,CACP,OAAO,EACP,IAAI,KAAK,CAAC,4CAA4C,GAAG,eAAe,CAAC,CAC1E,CAAA;oBACD,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,GAAE;iBACnB;gBACD,MAAK;YACP,KAAK,WAAW,CAAC,MAAM,CAAC;YACxB,KAAK,WAAW,CAAC,KAAK;gBACpB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;gBAC9B,MAAK;YACP,KAAK,WAAW,CAAC,OAAO;gBACtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;gBACvB,MAAK;SACR;IACH,CAAC;IAEO,OAAO,CAAC,MAAc,EAAE,OAAe;QAC7C,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC3B,IAAI,CAAC,SAAS,EAAE,CAAA;YAChB,8FAA8F;YAC9F,0DAA0D;YAC1D,OAAM;SACP;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QACxC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,SAAS,EAAE,CAAA;IAClB,CAAC;IAEO,OAAO,CAAC,GAA2B;QACzC,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,gBAAgB,EAAE;YAC7D,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YAC1B,OAAM;SACP;QACD,IACE,IAAI,CAAC,aAAa;YAClB,gBAAgB,CAAC,GAAG,CAAC;YACrB,GAAG,CAAC,WAAW;YACf,GAAG,CAAC,WAAW,CAAC,OAAO;YACvB,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,8CAA8C,CAAC,EAChF;YACA,mFAAmF;YACnF,wFAAwF;YACxF,iCAAiC;YACjC,OAAM;SACP;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IACzB,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;SACzB;IACH,CAAC;CACF;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,IAAY,EAAE,IAAkC;IACnF,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACpC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { EventEmitter } from 'events';
2
+ /**
3
+ * A typed version of the normal node EventEmitter class, such that emitted/handled events and
4
+ * their associated parameters can be type-checked properly.
5
+ *
6
+ * This uses typed-emitter under the hood, it just makes it easier to extend.
7
+ *
8
+ * Example:
9
+ * ```
10
+ * interface FooEvents {
11
+ * bar: (message: string) => void
12
+ * baz: (count: number, ...extras: any[]) => void
13
+ * }
14
+ *
15
+ * class Foo extends TypedEventEmitter<FooEvents> {
16
+ * constructor() {
17
+ * super()
18
+ * }
19
+ *
20
+ * test() {
21
+ * this.emit('bar', 'hello world')
22
+ * this.emit('baz', 5, 'extra', 'stuff', 'to', 'pass', 27)
23
+ * }
24
+ * }
25
+ * ```
26
+ */
27
+ export class TypedEventEmitter extends EventEmitter {
28
+ constructor() {
29
+ // NOTE(tec27): No idea why eslint thinks super isn't a constructor here, I assume it's failing
30
+ // to parse things properly in some way
31
+ // eslint-disable-next-line constructor-super
32
+ super();
33
+ }
34
+ }
35
+ //# sourceMappingURL=typed-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-emitter.js","sourceRoot":"","sources":["../../typed-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAKrC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAgB,iBAAsC,SAAS,YAEhE;IACH;QACE,+FAA+F;QAC/F,uCAAuC;QACvC,6CAA6C;QAC7C,KAAK,EAAE,CAAA;IACT,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ import TypedEmitter, { EventMap } from 'typed-emitter';
2
+ export { EventMap };
3
+ declare const TypedEventEmitter_base: new <T_1 extends EventMap>() => TypedEmitter<T_1>;
4
+ /**
5
+ * A typed version of the normal node EventEmitter class, such that emitted/handled events and
6
+ * their associated parameters can be type-checked properly.
7
+ *
8
+ * This uses typed-emitter under the hood, it just makes it easier to extend.
9
+ *
10
+ * Example:
11
+ * ```
12
+ * interface FooEvents {
13
+ * bar: (message: string) => void
14
+ * baz: (count: number, ...extras: any[]) => void
15
+ * }
16
+ *
17
+ * class Foo extends TypedEventEmitter<FooEvents> {
18
+ * constructor() {
19
+ * super()
20
+ * }
21
+ *
22
+ * test() {
23
+ * this.emit('bar', 'hello world')
24
+ * this.emit('baz', 5, 'extra', 'stuff', 'to', 'pass', 27)
25
+ * }
26
+ * }
27
+ * ```
28
+ */
29
+ export declare abstract class TypedEventEmitter<T extends EventMap> extends TypedEventEmitter_base<T> {
30
+ constructor();
31
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nydus-client",
3
- "version": "2.0.1",
3
+ "version": "4.0.0",
4
4
  "description": "WebSocket client library for the nydus protocol, a simple RPC/PubSub protocol.",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/cjs/index.js",
@@ -12,6 +12,8 @@
12
12
  "lint": "eslint --ext .js,.ts ./",
13
13
  "prepublishOnly": "yarn run lint && yarn run test && yarn run clean && yarn run build",
14
14
  "test": "ts-mocha -p tsconfig-cjs.json -R spec test/**.ts",
15
+ "testonly": "ts-mocha -p tsconfig-cjs.json -R spec test/**.ts",
16
+ "posttest": "yarn run tsc --noEmit && yarn run lint",
15
17
  "watch": "tsc -w"
16
18
  },
17
19
  "repository": {
@@ -37,28 +39,29 @@
37
39
  "dependencies": {
38
40
  "backo2": "^1.0.2",
39
41
  "cuid": "^2.1.6",
40
- "engine.io-client": "^4.0.5",
42
+ "engine.io-client": "^6.2.2",
41
43
  "nydus-protocol": "^2.0.0",
42
- "ruta3": "^2.0.0"
44
+ "ruta3": "^2.0.0",
45
+ "typed-emitter": "^2.1.0"
43
46
  },
44
47
  "devDependencies": {
45
48
  "@types/backo2": "^1.0.1",
46
49
  "@types/chai": "^4.2.14",
47
50
  "@types/engine.io-client": "^3.1.4",
48
- "@types/mocha": "^8.2.0",
49
- "@typescript-eslint/eslint-plugin": "^4.11.0",
50
- "@typescript-eslint/parser": "^4.11.0",
51
+ "@types/mocha": "^9.1.1",
52
+ "@typescript-eslint/eslint-plugin": "^5.27.0",
53
+ "@typescript-eslint/parser": "^5.27.0",
51
54
  "chai": "^4.2.0",
52
55
  "chai-as-promised": "^7.1.1",
53
56
  "cross-env": "^7.0.3",
54
- "eslint": "^7.16.0",
55
- "eslint-config-prettier": "^7.1.0",
56
- "eslint-plugin-prettier": "^3.3.0",
57
- "mocha": "^8.2.1",
58
- "nydus": "^2.0.1",
57
+ "eslint": "^8.17.0",
58
+ "eslint-config-prettier": "^8.3.0",
59
+ "eslint-plugin-prettier": "^4.0.0",
60
+ "mocha": "^10.0.0",
61
+ "nydus": "^4.0.0",
59
62
  "prettier": "^2.2.1",
60
63
  "rimraf": "^3.0.2",
61
- "ts-mocha": "^8.0.0",
64
+ "ts-mocha": "^10.0.0",
62
65
  "typescript": "^4.1.3"
63
66
  }
64
67
  }