@ariva-mds/mds 2.2.0 → 2.4.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/lib/cjs/index.js CHANGED
@@ -24,17 +24,23 @@ class MdsConnection {
24
24
  this.counter = 0;
25
25
  this.runningRequestsObservable = new Map();
26
26
  this.runningRequestsPromise = new Map();
27
+ this.runningRequestsParameters = new Map();
28
+ this.replayRequestsOnOpen = new Map();
27
29
  this.authdataCallback = authdataCallback;
28
30
  this.websocketUrl = websocketUrl;
29
31
  this.websocket = new reconnecting_websocket_1.default(this.websocketUrl, [], options.wsOptions);
30
32
  this.stayAuthenticated();
33
+ const outer = this;
31
34
  this.websocket.onopen = function () {
32
- console.log("connected");
35
+ // @ts-ignore
36
+ for (let [key, value] of outer.replayRequestsOnOpen) {
37
+ outer.websocket.send(JSON.stringify(value));
38
+ }
33
39
  };
34
40
  this.websocket.onclose = function () {
41
+ outer.replayRequestsOnOpen = new Map(outer.runningRequestsParameters);
35
42
  console.log("close");
36
43
  };
37
- const outer = this;
38
44
  this.websocket.onmessage = function (e) {
39
45
  outer.processWebsocketMessageEvent(e);
40
46
  };
@@ -97,11 +103,13 @@ class MdsConnection {
97
103
  const outer = this;
98
104
  const observable = new rxjs_1.Observable((subscriber) => {
99
105
  outer.runningRequestsObservable.set(requestId, subscriber);
106
+ outer.runningRequestsParameters.set(requestId, req);
100
107
  outer.websocket.send(JSON.stringify(req));
101
108
  // Provide a way of canceling and disposing the resources
102
109
  return function unsubscribe() {
103
110
  if (outer.runningRequestsObservable.has(requestId)) {
104
111
  outer.runningRequestsObservable.delete(requestId);
112
+ outer.runningRequestsParameters.delete(requestId);
105
113
  outer.websocket.send(JSON.stringify({
106
114
  'cancel': { 'requestId': requestId }
107
115
  }));
@@ -116,6 +124,7 @@ class MdsConnection {
116
124
  const outer = this;
117
125
  const promise = new Promise((resolve, reject) => {
118
126
  outer.runningRequestsPromise.set(requestId, { 'resolve': resolve, 'reject': reject });
127
+ outer.runningRequestsParameters.set(requestId, req);
119
128
  outer.websocket.send(JSON.stringify(req));
120
129
  });
121
130
  return promise;
@@ -128,23 +137,28 @@ class MdsConnection {
128
137
  if (msg.isError) {
129
138
  promise.reject(msg.errorMessage);
130
139
  this.runningRequestsPromise.delete(msg.requestId);
140
+ this.runningRequestsParameters.delete(msg.requestId);
131
141
  }
132
142
  else if (msg.isComplete == true) {
133
143
  promise.resolve(msg);
134
144
  this.runningRequestsPromise.delete(msg.requestId);
145
+ this.runningRequestsParameters.delete(msg.requestId);
135
146
  }
136
147
  else {
137
148
  promise.reject("strange message " + msg);
138
149
  this.runningRequestsPromise.delete(msg.requestId);
150
+ this.runningRequestsParameters.delete(msg.requestId);
139
151
  }
140
152
  }
141
153
  else if (subscriber) {
142
154
  if (msg.isError) {
143
155
  this.runningRequestsObservable.delete(msg.requestId);
156
+ this.runningRequestsParameters.delete(msg.requestId);
144
157
  subscriber.error(msg.errorMessage);
145
158
  }
146
159
  else if (msg.isComplete == true) {
147
160
  this.runningRequestsObservable.delete(msg.requestId);
161
+ this.runningRequestsParameters.delete(msg.requestId);
148
162
  subscriber.complete();
149
163
  }
150
164
  else {
@@ -18,6 +18,8 @@ export declare class MdsConnection {
18
18
  private counter;
19
19
  private readonly runningRequestsObservable;
20
20
  private readonly runningRequestsPromise;
21
+ private readonly runningRequestsParameters;
22
+ private replayRequestsOnOpen;
21
23
  private readonly authdataCallback;
22
24
  constructor(websocketUrl: string, authdataCallback: () => Promise<MdsAuthdata>, options?: Options);
23
25
  heartbeat(): Observable<String>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,UAAU,EAAqB,MAAM,MAAM,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,4BAA4B,EAAC,MAAM,wBAAwB,CAAC;AAE/E,qBAAa,WAAW;IAEb,KAAK,EAAE,MAAM,CAAC;gBAET,KAAK,EAAE,MAAM;CAI5B;AAED,qBAAa,iBAAiB;IAEnB,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAG,GAAG,CAAA;gBAEP,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;CAKtC;AACD,MAAM,MAAM,OAAO,GAAG;IAClB,SAAS,CAAC,EAAE,4BAA4B,CAAC;CAC5C,CAAC;AAEF,qBAAa,aAAa;IAEtB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAwB;IAEzC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA2C;IACrF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA+B;IAEtE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;gBAElD,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,GAAE,OAAY;IAsB9F,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC;IAK/B,YAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAAC;IAkBzE,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC;IAKjE,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC;IAMjE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAQhD,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,4BAA4B;CA6BvC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,UAAU,EAAqB,MAAM,MAAM,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,4BAA4B,EAAC,MAAM,wBAAwB,CAAC;AAE/E,qBAAa,WAAW;IAEb,KAAK,EAAE,MAAM,CAAC;gBAET,KAAK,EAAE,MAAM;CAI5B;AAED,qBAAa,iBAAiB;IAEnB,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAG,GAAG,CAAA;gBAEP,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;CAKtC;AAED,MAAM,MAAM,OAAO,GAAG;IAClB,SAAS,CAAC,EAAE,4BAA4B,CAAC;CAC5C,CAAC;AAEF,qBAAa,aAAa;IAEtB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAwB;IAEzC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA2C;IACrF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA+B;IACtE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA+B;IACzE,OAAO,CAAC,oBAAoB,CAA+B;IAE3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;gBAElD,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,GAAE,OAAY;IA2B9F,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC;IAK/B,YAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAAC;IAkBzE,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC;IAKjE,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC;IAMjE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAQhD,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,UAAU;IA4BlB,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,4BAA4B;CAkCvC"}
package/lib/esm/index.mjs CHANGED
@@ -20,19 +20,25 @@ export class MdsConnection {
20
20
  counter = 0;
21
21
  runningRequestsObservable = new Map();
22
22
  runningRequestsPromise = new Map();
23
+ runningRequestsParameters = new Map();
24
+ replayRequestsOnOpen = new Map();
23
25
  authdataCallback;
24
26
  constructor(websocketUrl, authdataCallback, options = {}) {
25
27
  this.authdataCallback = authdataCallback;
26
28
  this.websocketUrl = websocketUrl;
27
29
  this.websocket = new ReconnectingWebSocket(this.websocketUrl, [], options.wsOptions);
28
30
  this.stayAuthenticated();
31
+ const outer = this;
29
32
  this.websocket.onopen = function () {
30
- console.log("connected");
33
+ // @ts-ignore
34
+ for (let [key, value] of outer.replayRequestsOnOpen) {
35
+ outer.websocket.send(JSON.stringify(value));
36
+ }
31
37
  };
32
38
  this.websocket.onclose = function () {
39
+ outer.replayRequestsOnOpen = new Map(outer.runningRequestsParameters);
33
40
  console.log("close");
34
41
  };
35
- const outer = this;
36
42
  this.websocket.onmessage = function (e) {
37
43
  outer.processWebsocketMessageEvent(e);
38
44
  };
@@ -95,11 +101,13 @@ export class MdsConnection {
95
101
  const outer = this;
96
102
  const observable = new Observable((subscriber) => {
97
103
  outer.runningRequestsObservable.set(requestId, subscriber);
104
+ outer.runningRequestsParameters.set(requestId, req);
98
105
  outer.websocket.send(JSON.stringify(req));
99
106
  // Provide a way of canceling and disposing the resources
100
107
  return function unsubscribe() {
101
108
  if (outer.runningRequestsObservable.has(requestId)) {
102
109
  outer.runningRequestsObservable.delete(requestId);
110
+ outer.runningRequestsParameters.delete(requestId);
103
111
  outer.websocket.send(JSON.stringify({
104
112
  'cancel': { 'requestId': requestId }
105
113
  }));
@@ -114,6 +122,7 @@ export class MdsConnection {
114
122
  const outer = this;
115
123
  const promise = new Promise((resolve, reject) => {
116
124
  outer.runningRequestsPromise.set(requestId, { 'resolve': resolve, 'reject': reject });
125
+ outer.runningRequestsParameters.set(requestId, req);
117
126
  outer.websocket.send(JSON.stringify(req));
118
127
  });
119
128
  return promise;
@@ -126,23 +135,28 @@ export class MdsConnection {
126
135
  if (msg.isError) {
127
136
  promise.reject(msg.errorMessage);
128
137
  this.runningRequestsPromise.delete(msg.requestId);
138
+ this.runningRequestsParameters.delete(msg.requestId);
129
139
  }
130
140
  else if (msg.isComplete == true) {
131
141
  promise.resolve(msg);
132
142
  this.runningRequestsPromise.delete(msg.requestId);
143
+ this.runningRequestsParameters.delete(msg.requestId);
133
144
  }
134
145
  else {
135
146
  promise.reject("strange message " + msg);
136
147
  this.runningRequestsPromise.delete(msg.requestId);
148
+ this.runningRequestsParameters.delete(msg.requestId);
137
149
  }
138
150
  }
139
151
  else if (subscriber) {
140
152
  if (msg.isError) {
141
153
  this.runningRequestsObservable.delete(msg.requestId);
154
+ this.runningRequestsParameters.delete(msg.requestId);
142
155
  subscriber.error(msg.errorMessage);
143
156
  }
144
157
  else if (msg.isComplete == true) {
145
158
  this.runningRequestsObservable.delete(msg.requestId);
159
+ this.runningRequestsParameters.delete(msg.requestId);
146
160
  subscriber.complete();
147
161
  }
148
162
  else {
@@ -18,6 +18,8 @@ export declare class MdsConnection {
18
18
  private counter;
19
19
  private readonly runningRequestsObservable;
20
20
  private readonly runningRequestsPromise;
21
+ private readonly runningRequestsParameters;
22
+ private replayRequestsOnOpen;
21
23
  private readonly authdataCallback;
22
24
  constructor(websocketUrl: string, authdataCallback: () => Promise<MdsAuthdata>, options?: Options);
23
25
  heartbeat(): Observable<String>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,UAAU,EAAqB,MAAM,MAAM,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,4BAA4B,EAAC,MAAM,wBAAwB,CAAC;AAE/E,qBAAa,WAAW;IAEb,KAAK,EAAE,MAAM,CAAC;gBAET,KAAK,EAAE,MAAM;CAI5B;AAED,qBAAa,iBAAiB;IAEnB,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAG,GAAG,CAAA;gBAEP,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;CAKtC;AACD,MAAM,MAAM,OAAO,GAAG;IAClB,SAAS,CAAC,EAAE,4BAA4B,CAAC;CAC5C,CAAC;AAEF,qBAAa,aAAa;IAEtB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAwB;IAEzC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA2C;IACrF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA+B;IAEtE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;gBAElD,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,GAAE,OAAY;IAsB9F,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC;IAK/B,YAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAAC;IAkBzE,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC;IAKjE,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC;IAMjE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAQhD,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,4BAA4B;CA6BvC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,UAAU,EAAqB,MAAM,MAAM,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,4BAA4B,EAAC,MAAM,wBAAwB,CAAC;AAE/E,qBAAa,WAAW;IAEb,KAAK,EAAE,MAAM,CAAC;gBAET,KAAK,EAAE,MAAM;CAI5B;AAED,qBAAa,iBAAiB;IAEnB,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAG,GAAG,CAAA;gBAEP,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;CAKtC;AAED,MAAM,MAAM,OAAO,GAAG;IAClB,SAAS,CAAC,EAAE,4BAA4B,CAAC;CAC5C,CAAC;AAEF,qBAAa,aAAa;IAEtB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAwB;IAEzC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA2C;IACrF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA+B;IACtE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA+B;IACzE,OAAO,CAAC,oBAAoB,CAA+B;IAE3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;gBAElD,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,GAAE,OAAY;IA2B9F,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC;IAK/B,YAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAAC;IAkBzE,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC;IAKjE,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC;IAMjE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAQhD,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,UAAU;IA4BlB,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,4BAA4B;CAkCvC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ariva-mds/mds",
3
- "version": "2.2.0",
3
+ "version": "2.4.0",
4
4
  "description": "Stock market data",
5
5
  "license": "MIT",
6
6
  "main": "./lib/cjs/index.js",