@nymphjs/client 1.0.0-beta.24 → 1.0.0-beta.26

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/PubSub.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import Nymph from './Nymph';
2
2
  import { NymphOptions, Options, Selector } from './Nymph.types';
3
3
  import { EntityConstructor, EntityInterface } from './Entity.types';
4
- import { PubSubCallbacks, PubSubConnectCallback, PubSubCountCallback, PubSubDisconnectCallback, PubSubEventType, PubSubRejectCallback, PubSubResolveCallback, PubSubSubscribable, PubSubUpdate } from './PubSub.types';
4
+ import { PubSubCallbacks, PubSubConnectCallback, PubSubCountCallback, PubSubDisconnectCallback, PubSubEventType, PubSubRejectCallback, PubSubResolveCallback, PubSubErrorCallback, PubSubSubscribable, PubSubUpdate } from './PubSub.types';
5
5
  export default class PubSub {
6
6
  private nymph;
7
7
  private authToken;
@@ -13,6 +13,7 @@ export default class PubSub {
13
13
  private subscriptions;
14
14
  private connectCallbacks;
15
15
  private disconnectCallbacks;
16
+ private errorCallbacks;
16
17
  private noConsole;
17
18
  constructor(nymphOptions: NymphOptions, nymph: Nymph);
18
19
  subscribeEntities<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
@@ -47,8 +48,8 @@ export default class PubSub {
47
48
  private _sendUnQuery;
48
49
  private _sendUnUID;
49
50
  updateArray(oldArr: EntityInterface[], update: PubSubUpdate<EntityInterface[]>): void;
50
- on<T extends PubSubEventType>(event: T, callback: T extends 'connect' ? PubSubConnectCallback : T extends 'disconnect' ? PubSubDisconnectCallback : never): () => boolean;
51
- off<T extends PubSubEventType>(event: T, callback: T extends 'connect' ? PubSubConnectCallback : T extends 'disconnect' ? PubSubDisconnectCallback : never): boolean;
51
+ on<T extends PubSubEventType>(event: T, callback: T extends 'connect' ? PubSubConnectCallback : T extends 'disconnect' ? PubSubDisconnectCallback : T extends 'error' ? PubSubErrorCallback : never): () => boolean;
52
+ off<T extends PubSubEventType>(event: T, callback: T extends 'connect' ? PubSubConnectCallback : T extends 'disconnect' ? PubSubDisconnectCallback : T extends 'error' ? PubSubErrorCallback : never): boolean;
52
53
  setToken(authToken: string | null, switchToken?: string | null): void;
53
54
  }
54
55
  export declare class PubSubSubscription<T> {
package/lib/PubSub.js CHANGED
@@ -13,6 +13,7 @@ class PubSub {
13
13
  };
14
14
  this.connectCallbacks = [];
15
15
  this.disconnectCallbacks = [];
16
+ this.errorCallbacks = [];
16
17
  this.noConsole = false;
17
18
  this.nymph = nymph;
18
19
  this.nymph.pubsub = this;
@@ -219,10 +220,11 @@ class PubSub {
219
220
  let data = JSON.parse(e.data);
220
221
  let subs = [];
221
222
  let count = 'count' in data;
223
+ let error = 'error' in data;
222
224
  if (data.hasOwnProperty('query') &&
223
225
  this.subscriptions.queries.hasOwnProperty(data.query)) {
224
226
  subs = [...this.subscriptions.queries[data.query]];
225
- if (!count) {
227
+ if (!count && !error) {
226
228
  for (let i = 0; i < subs.length; i++) {
227
229
  const callback = subs[i][0];
228
230
  if (typeof callback === 'function') {
@@ -234,7 +236,7 @@ class PubSub {
234
236
  else if (data.hasOwnProperty('uid') &&
235
237
  this.subscriptions.uids.hasOwnProperty(data.uid)) {
236
238
  subs = [...this.subscriptions.uids[data.uid]];
237
- if (!count) {
239
+ if (!count && !error) {
238
240
  for (let i = 0; i < subs.length; i++) {
239
241
  const callback = subs[i][0];
240
242
  if (typeof callback === 'function') {
@@ -243,6 +245,15 @@ class PubSub {
243
245
  }
244
246
  }
245
247
  }
248
+ else if (error) {
249
+ for (let i = 0; i < this.errorCallbacks.length; i++) {
250
+ const callback = this.errorCallbacks[i];
251
+ if (callback) {
252
+ callback(data.error);
253
+ }
254
+ }
255
+ return;
256
+ }
246
257
  if (count) {
247
258
  for (let i = 0; i < subs.length; i++) {
248
259
  const callback = subs[i][2];
@@ -251,6 +262,14 @@ class PubSub {
251
262
  }
252
263
  }
253
264
  }
265
+ if (error) {
266
+ for (let i = 0; i < subs.length; i++) {
267
+ const callback = subs[i][1];
268
+ if (typeof callback === 'function') {
269
+ callback(data.error);
270
+ }
271
+ }
272
+ }
254
273
  }
255
274
  _onclose(e) {
256
275
  if (typeof console !== 'undefined' && !this.noConsole) {
package/lib/PubSub.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"PubSub.js","sourceRoot":"","sources":["../src/PubSub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PubSub.js","sourceRoot":"","sources":["../src/PubSub.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,10 @@ export type PubSubCallbacks<T> = [
8
8
  PubSubRejectCallback | undefined,
9
9
  PubSubCountCallback | undefined
10
10
  ];
11
- export type PubSubEventType = 'connect' | 'disconnect';
11
+ export type PubSubEventType = 'connect' | 'disconnect' | 'error';
12
12
  export type PubSubConnectCallback = () => void;
13
13
  export type PubSubDisconnectCallback = () => void;
14
+ export type PubSubErrorCallback = (err: any) => void;
14
15
  export type PubSubUpdate<T> = T | {
15
16
  query: string;
16
17
  removed: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nymphjs/client",
3
- "version": "1.0.0-beta.24",
3
+ "version": "1.0.0-beta.26",
4
4
  "description": "NymphJS - Client",
5
5
  "browser": "dist/index.js",
6
6
  "main": "lib/index.js",
@@ -44,8 +44,8 @@
44
44
  "ts-jest": "^29.1.0",
45
45
  "ts-loader": "^9.4.2",
46
46
  "typescript": "^5.0.4",
47
- "webpack": "^5.80.0",
47
+ "webpack": "^5.82.0",
48
48
  "webpack-cli": "^5.0.2"
49
49
  },
50
- "gitHead": "b491e669809961efce14694e61e5eb0af192f2f1"
50
+ "gitHead": "440b3d4bace81eba934ecb15a11985a8b72a0865"
51
51
  }
package/src/PubSub.ts CHANGED
@@ -9,6 +9,7 @@ import {
9
9
  PubSubEventType,
10
10
  PubSubRejectCallback,
11
11
  PubSubResolveCallback,
12
+ PubSubErrorCallback,
12
13
  PubSubSubscribable,
13
14
  PubSubUpdate,
14
15
  } from './PubSub.types';
@@ -35,6 +36,7 @@ export default class PubSub {
35
36
  };
36
37
  private connectCallbacks: PubSubConnectCallback[] = [];
37
38
  private disconnectCallbacks: PubSubDisconnectCallback[] = [];
39
+ private errorCallbacks: PubSubErrorCallback[] = [];
38
40
  private noConsole = false;
39
41
 
40
42
  public constructor(nymphOptions: NymphOptions, nymph: Nymph) {
@@ -345,12 +347,13 @@ export default class PubSub {
345
347
  let data = JSON.parse(e.data);
346
348
  let subs: PubSubCallbacks<any>[] = [];
347
349
  let count = 'count' in data;
350
+ let error = 'error' in data;
348
351
  if (
349
352
  data.hasOwnProperty('query') &&
350
353
  this.subscriptions.queries.hasOwnProperty(data.query)
351
354
  ) {
352
355
  subs = [...this.subscriptions.queries[data.query]];
353
- if (!count) {
356
+ if (!count && !error) {
354
357
  for (let i = 0; i < subs.length; i++) {
355
358
  const callback = subs[i][0];
356
359
  if (typeof callback === 'function') {
@@ -363,7 +366,7 @@ export default class PubSub {
363
366
  this.subscriptions.uids.hasOwnProperty(data.uid)
364
367
  ) {
365
368
  subs = [...this.subscriptions.uids[data.uid]];
366
- if (!count) {
369
+ if (!count && !error) {
367
370
  for (let i = 0; i < subs.length; i++) {
368
371
  const callback = subs[i][0];
369
372
  if (typeof callback === 'function') {
@@ -371,6 +374,14 @@ export default class PubSub {
371
374
  }
372
375
  }
373
376
  }
377
+ } else if (error) {
378
+ for (let i = 0; i < this.errorCallbacks.length; i++) {
379
+ const callback = this.errorCallbacks[i];
380
+ if (callback) {
381
+ callback(data.error);
382
+ }
383
+ }
384
+ return;
374
385
  }
375
386
  if (count) {
376
387
  for (let i = 0; i < subs.length; i++) {
@@ -380,6 +391,14 @@ export default class PubSub {
380
391
  }
381
392
  }
382
393
  }
394
+ if (error) {
395
+ for (let i = 0; i < subs.length; i++) {
396
+ const callback = subs[i][1];
397
+ if (typeof callback === 'function') {
398
+ callback(data.error);
399
+ }
400
+ }
401
+ }
383
402
  }
384
403
 
385
404
  private _onclose(e: WebSocketEventMap['close']) {
@@ -682,16 +701,21 @@ export default class PubSub {
682
701
  ? PubSubConnectCallback
683
702
  : T extends 'disconnect'
684
703
  ? PubSubDisconnectCallback
704
+ : T extends 'error'
705
+ ? PubSubErrorCallback
685
706
  : never
686
707
  ) {
687
708
  const prop = (event + 'Callbacks') as T extends 'connect'
688
709
  ? 'connectCallbacks'
689
710
  : T extends 'disconnect'
690
711
  ? 'disconnectCallbacks'
712
+ : T extends 'error'
713
+ ? 'errorCallbacks'
691
714
  : never;
692
715
  if (!(prop in this)) {
693
716
  throw new Error('Invalid event type.');
694
717
  }
718
+ // @ts-ignore: The callback should always be the right type here.
695
719
  this[prop].push(callback);
696
720
  return () => this.off(event, callback);
697
721
  }
@@ -702,16 +726,21 @@ export default class PubSub {
702
726
  ? PubSubConnectCallback
703
727
  : T extends 'disconnect'
704
728
  ? PubSubDisconnectCallback
729
+ : T extends 'error'
730
+ ? PubSubErrorCallback
705
731
  : never
706
732
  ) {
707
733
  const prop = (event + 'Callbacks') as T extends 'connect'
708
734
  ? 'connectCallbacks'
709
735
  : T extends 'disconnect'
710
736
  ? 'disconnectCallbacks'
737
+ : T extends 'error'
738
+ ? 'errorCallbacks'
711
739
  : never;
712
740
  if (!(prop in this)) {
713
741
  return false;
714
742
  }
743
+ // @ts-ignore: The callback should always be the right type here.
715
744
  const i = this[prop].indexOf(callback);
716
745
  if (i > -1) {
717
746
  this[prop].splice(i, 1);
@@ -9,9 +9,14 @@ export type PubSubCallbacks<T> = [
9
9
  PubSubRejectCallback | undefined,
10
10
  PubSubCountCallback | undefined
11
11
  ];
12
- export type PubSubEventType = 'connect' | 'disconnect';
12
+ export type PubSubEventType = 'connect' | 'disconnect' | 'error';
13
13
  export type PubSubConnectCallback = () => void;
14
14
  export type PubSubDisconnectCallback = () => void;
15
+ /**
16
+ * The error event is for unknown errors. Query errors fire their own reject
17
+ * callbacks.
18
+ */
19
+ export type PubSubErrorCallback = (err: any) => void;
15
20
  export type PubSubUpdate<T> =
16
21
  | T
17
22
  | {