@based/client 0.3.0 → 0.5.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/dist/Client.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import { Connection } from './websocket/types';
2
- import { GenericObject, RequestMessage, SubscriptionMessage, FunctionCallMessage, Configuration, TrackMessage } from './types';
2
+ import { GenericObject, RequestMessage, SubscriptionMessage, FunctionCallMessage, Configuration, TrackMessage, SendTokenOptions } from './types';
3
3
  import { Based } from './';
4
4
  export * from './types';
5
5
  export declare class BasedClient {
6
6
  based: Based;
7
7
  constructor(based: Based);
8
8
  token: string;
9
+ sendTokenOptions: SendTokenOptions;
9
10
  beingAuth: boolean;
10
11
  auth: ((x?: any) => void)[];
11
12
  subscriptions: {
package/dist/Client.js CHANGED
@@ -59,7 +59,7 @@ class BasedClient {
59
59
  this.based.listeners.connect.forEach((val) => val());
60
60
  }
61
61
  if (this.token) {
62
- (0, token_1.default)(this, this.token);
62
+ (0, token_1.default)(this, this.token, this.sendTokenOptions);
63
63
  }
64
64
  (0, subscriptions_1.sendAllSubscriptions)(this);
65
65
  (0, queue_1.drainQueue)(this);
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,mCASgB;AAChB,mDAOwB;AAExB,mCAAgE;AAChE,uCAA2C;AAC3C,oDAA+B;AAE/B,0CAAuB;AAEvB,MAAa,WAAW;IAGtB,YAAY,KAAY;QAQxB,SAAI,GAA0B,EAAE,CAAA;QAEhC,kBAAa,GAuBT,EAAE,CAAA;QAEN,UAAK,GAKD,EAAE,CAAA;QAEN,qBAAgB,GAMZ,EAAE,CAAA;QAMN,cAAS,GAAY,KAAK,CAAA;QAI1B,sBAAiB,GAA0B,EAAE,CAAA;QAE7C,WAAW;QACX,UAAK,GAA4D,EAAE,CAAA;QAEnE,oBAAe,GAAY,KAAK,CAAA;QA9D9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAmED,OAAO;QACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAA;QACpB,IAAA,2CAA2B,EAAC,IAAI,CAAC,CAAA;QACjC,IAAA,kDAAkC,EAAC,IAAI,CAAC,CAAA;QACxC,qCAAqC;QACrC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;SACxD;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;SACvD;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC7B,IAAA,kBAAU,EAAC,IAAI,EAAE,CAAC,oBAAY,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;aACjD;SACF;IACH,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE;YAChC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;SACrD;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAA,eAAS,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;SAC5B;QAED,IAAA,oCAAoB,EAAC,IAAI,CAAC,CAAA;QAC1B,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,CAAC;QACN,IAAI;YACF,MAAM,IAAI,GAAiB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC7C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,KAAK,EAAE;gBAClC,qCAAqC;gBACrC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;oBAClB,IAAA,mCAAmB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;iBAChC;gBAED,8BAA8B;gBAC9B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE;oBAC1B,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;iBACb;gBACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;gBACtB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;aACf;iBAAM,IACL,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,GAAG;gBAC5B,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,GAAG;gBAC5B,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,aAAa;gBACtC,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,gBAAgB;gBACzC,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,IAAI;gBAC7B,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,MAAM;gBAC/B,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,IAAI;gBAC7B,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,MAAM,EAC/B;gBACA,IAAA,yBAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;aAC5B;iBAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,YAAY,EAAE;gBAChD,IAAA,oCAAoB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;aACjC;iBAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,gBAAgB,EAAE;gBACpD,IAAA,wCAAwB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;aACrC;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAA;SAC7C;IACH,CAAC;CACF;AA9ID,kCA8IC"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  import { ErrorObject } from './types';
2
- declare const _default: (err: ErrorObject) => Error;
2
+ declare const _default: (err: ErrorObject) => Error & {
3
+ code?: string;
4
+ };
3
5
  export default _default;
@@ -43,6 +43,9 @@ exports.default = (err) => {
43
43
  else {
44
44
  lines = lines.map((v) => ' ' + v);
45
45
  }
46
+ if (err.code) {
47
+ x.code = err.code;
48
+ }
46
49
  x.message =
47
50
  '\n\n' +
48
51
  (err.payload && typeof err.payload !== 'object'
@@ -1 +1 @@
1
- {"version":3,"file":"createError.js","sourceRoot":"","sources":["../src/createError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,uEAA4D;AAE5D,kBAAe,CAAC,GAAgB,EAAS,EAAE;IACzC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;IAC7D,CAAC,CAAC,KAAK,GAAG,IAAI,CAAA;IAEd,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE;QAC5B,IAAI,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;YACnB,KAAK,CAAC,KAAK,EAAE,CAAA;SACd;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBACxB,UAAU,GAAG,CAAC,GAAG,CAAC,CAAA;gBAClB,MAAK;aACN;SACF;QACD,IAAI,UAAU,GAAG,CAAC,EAAE;YAClB,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;SAC9C;aAAM;YACL,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;SACnC;QACD,CAAC,CAAC,OAAO;YACP,MAAM;gBACN,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;oBAC7C,CAAC,CAAC,KAAK,IAAA,wBAAK,EAAC,SAAS,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE;oBACrD,CAAC,CAAC,IAAA,0BAAgB,EACd,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,EACxB,CAAC,EACD,KAAK,EACL,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EACjC,IAAI,CACL;yBACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;yBACpB,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,MAAM;gBACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChB,MAAM,CAAA;KACT;IACD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA"}
1
+ {"version":3,"file":"createError.js","sourceRoot":"","sources":["../src/createError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,uEAA4D;AAE5D,kBAAe,CAAC,GAAgB,EAA6B,EAAE;IAC7D,MAAM,CAAC,GAA8B,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;IAC7D,CAAC,CAAC,KAAK,GAAG,IAAI,CAAA;IAEd,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE;QAC5B,IAAI,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;YACnB,KAAK,CAAC,KAAK,EAAE,CAAA;SACd;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBACxB,UAAU,GAAG,CAAC,GAAG,CAAC,CAAA;gBAClB,MAAK;aACN;SACF;QACD,IAAI,UAAU,GAAG,CAAC,EAAE;YAClB,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;SAC9C;aAAM;YACL,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;SACnC;QACD,IAAI,GAAG,CAAC,IAAI,EAAE;YACZ,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;SAClB;QACD,CAAC,CAAC,OAAO;YACP,MAAM;gBACN,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;oBAC7C,CAAC,CAAC,KAAK,IAAA,wBAAK,EAAC,SAAS,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE;oBACrD,CAAC,CAAC,IAAA,0BAAgB,EACd,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,EACxB,CAAC,EACD,KAAK,EACL,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EACjC,IAAI,CACL;yBACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;yBACpB,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,MAAM;gBACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChB,MAAM,CAAA;KACT;IACD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import Emitter from './Emitter';
2
- import { GenericObject, Configuration, Query, DigestOptions, SetOptions, GetOptions, Copy } from './types';
2
+ import { GenericObject, Configuration, Query, DigestOptions, SetOptions, GetOptions, Copy, SendTokenOptions, TrackOpts } from './types';
3
3
  import { addSubscriber, generateSubscriptionId, addGetSubscriber, removeSubscriber } from './subscriptions';
4
4
  import { addRequest } from './request';
5
5
  import { BasedClient } from './Client';
6
+ import { genKey as generateTrackingKey } from './track';
7
+ import { Observable } from './observable';
6
8
  export * from './types';
7
- export { addSubscriber, addGetSubscriber, removeSubscriber, addRequest, generateSubscriptionId, BasedClient, };
9
+ export { generateTrackingKey, addSubscriber, addGetSubscriber, removeSubscriber, addRequest, generateSubscriptionId, BasedClient, Observable, };
8
10
  export declare interface Based {
9
11
  on(event: 'auth', listener: Function): this;
10
12
  on(event: 'connect', listener: Function): this;
@@ -20,12 +22,15 @@ export declare class Based extends Emitter {
20
22
  constructor(opts?: {
21
23
  url: string | (() => Promise<string>);
22
24
  });
23
- connect(url: string | (() => Promise<string>)): void;
25
+ connect(url?: string | (() => Promise<string>)): void;
26
+ private _url;
24
27
  opts: BasedOpts;
25
28
  disconnect(): void;
26
29
  observe(query: Query, onData: (data: any, checksum: number) => void, onErr?: (err: Error) => void): Promise<() => void>;
27
30
  observe(name: string, onData: (data: any, checksum: number) => void, onErr?: (err: Error) => void): Promise<() => void>;
28
31
  observe(name: string, payload: any, onData: (data: any, checksum: number) => void, onErr?: (err: Error) => void): Promise<() => void>;
32
+ createObsevable(query: Query): Observable;
33
+ createObsevable(name: string, payload?: any): Observable;
29
34
  observeSchema(name: string, onData: (data: any, checksum: number) => void, onErr?: (err: Error) => void): Promise<() => void>;
30
35
  observeSchema(onData: (data: any, checksum: number) => void, onErr?: (err: Error) => void): Promise<() => void>;
31
36
  get(query: GetOptions): Promise<GenericObject>;
@@ -44,12 +49,15 @@ export declare class Based extends Emitter {
44
49
  track(type: string, params?: {
45
50
  [key: string]: number | string | boolean;
46
51
  }): void;
52
+ clearAnalytics(type: string, params?: {
53
+ [key: string]: number | string | boolean;
54
+ }): void;
47
55
  untrack(type: string, params?: {
48
56
  [key: string]: number | string | boolean;
49
57
  }): void;
50
58
  event(type: string, params?: {
51
59
  [key: string]: number | string | boolean;
52
- }): void;
60
+ }, opts?: TrackOpts): void;
53
61
  delete(payload: {
54
62
  $id: string;
55
63
  db?: string;
@@ -65,7 +73,7 @@ export declare class Based extends Emitter {
65
73
  db?: string;
66
74
  }[]): Promise<GenericObject>;
67
75
  getToken(): string;
68
- auth(token: string | false): Promise<false | string | number>;
76
+ auth(token: string | false, options?: SendTokenOptions): Promise<false | string | number>;
69
77
  }
70
78
  export declare type BasedOpts = {
71
79
  env?: string;
package/dist/index.js CHANGED
@@ -6,6 +6,18 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
6
6
  if (k2 === undefined) k2 = k;
7
7
  o[k2] = m[k];
8
8
  }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
9
21
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
22
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
23
  };
@@ -13,7 +25,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
14
26
  };
15
27
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.Based = exports.BasedClient = exports.generateSubscriptionId = exports.addRequest = exports.removeSubscriber = exports.addGetSubscriber = exports.addSubscriber = void 0;
28
+ exports.Based = exports.Observable = exports.BasedClient = exports.generateSubscriptionId = exports.addRequest = exports.removeSubscriber = exports.addGetSubscriber = exports.addSubscriber = exports.generateTrackingKey = void 0;
17
29
  const Emitter_1 = __importDefault(require("./Emitter"));
18
30
  const websocket_1 = __importDefault(require("./websocket"));
19
31
  const types_1 = require("./types");
@@ -32,7 +44,10 @@ const findPrefix_1 = __importDefault(require("./findPrefix"));
32
44
  const createError_1 = __importDefault(require("./createError"));
33
45
  const hash_1 = require("@saulx/hash");
34
46
  const token_1 = __importDefault(require("./token"));
35
- const track_1 = __importDefault(require("./track"));
47
+ const track_1 = __importStar(require("./track"));
48
+ Object.defineProperty(exports, "generateTrackingKey", { enumerable: true, get: function () { return track_1.genKey; } });
49
+ const observable_1 = require("./observable");
50
+ Object.defineProperty(exports, "Observable", { enumerable: true, get: function () { return observable_1.Observable; } });
36
51
  __exportStar(require("./types"), exports);
37
52
  class Based extends Emitter_1.default {
38
53
  constructor(opts) {
@@ -47,11 +62,20 @@ class Based extends Emitter_1.default {
47
62
  }
48
63
  }
49
64
  connect(url) {
50
- this.client.connection = (0, websocket_1.default)(this.client, url);
65
+ if (!url && this._url) {
66
+ if (!this.client.connection) {
67
+ this.client.connection = (0, websocket_1.default)(this.client, this._url);
68
+ }
69
+ }
70
+ else {
71
+ this._url = url;
72
+ this.client.connection = (0, websocket_1.default)(this.client, url);
73
+ }
51
74
  }
52
75
  disconnect() {
53
76
  if (this.client.connection) {
54
77
  this.client.connection.disconnected = true;
78
+ this.client.connection.destroy();
55
79
  if (this.client.connection.ws) {
56
80
  this.client.connection.ws.close();
57
81
  }
@@ -100,6 +124,14 @@ class Based extends Emitter_1.default {
100
124
  });
101
125
  }
102
126
  }
127
+ createObsevable(a, payload) {
128
+ if (typeof a === 'string') {
129
+ return new observable_1.Observable(this.client, a, payload);
130
+ }
131
+ else {
132
+ return new observable_1.Observable(this.client, a);
133
+ }
134
+ }
103
135
  observeSchema(a, b, c) {
104
136
  return new Promise((resolve, reject) => {
105
137
  const db = typeof a === 'string' ? a : 'default';
@@ -187,11 +219,14 @@ class Based extends Emitter_1.default {
187
219
  track(type, params) {
188
220
  (0, track_1.default)(this.client, type, params);
189
221
  }
222
+ clearAnalytics(type, params) {
223
+ (0, track_1.default)(this.client, type, params, false, false, undefined, true);
224
+ }
190
225
  untrack(type, params) {
191
226
  (0, track_1.default)(this.client, type, params, true);
192
227
  }
193
- event(type, params) {
194
- (0, track_1.default)(this.client, type, params, false, true);
228
+ event(type, params, opts) {
229
+ (0, track_1.default)(this.client, type, params, false, true, opts);
195
230
  }
196
231
  delete(payload) {
197
232
  return new Promise((resolve, reject) => {
@@ -216,13 +251,13 @@ class Based extends Emitter_1.default {
216
251
  return this.client.token;
217
252
  }
218
253
  // allow localstorage
219
- auth(token) {
254
+ auth(token, options) {
220
255
  return new Promise((resolve, reject) => {
221
256
  this.client.auth.push(resolve);
222
257
  if ((token && token !== this.client.token) ||
223
258
  (token === false && this.client.token)) {
224
259
  if (typeof token === 'string') {
225
- (0, token_1.default)(this.client, token);
260
+ (0, token_1.default)(this.client, token, options);
226
261
  }
227
262
  else {
228
263
  // this is very important
@@ -235,6 +270,7 @@ class Based extends Emitter_1.default {
235
270
  }
236
271
  }
237
272
  exports.Based = Based;
273
+ // auth as admin // auth as based
238
274
  const addParamsToUrl = (url, params) => {
239
275
  if (params) {
240
276
  let firstChecked;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { BasedClient } from '..';
2
+ import { Query } from '../types';
3
+ declare class Subscription {
4
+ private subscriberId;
5
+ private client;
6
+ constructor(client: BasedClient, subscriberId: number);
7
+ unsubscribe(): void;
8
+ closed: boolean;
9
+ }
10
+ declare type UpdateCallback = (value: any, checksum?: number) => void;
11
+ export declare class Observable {
12
+ private client;
13
+ private subId;
14
+ private name;
15
+ private payload;
16
+ constructor(client: BasedClient, name: string, payload?: any);
17
+ constructor(client: BasedClient, query: Query);
18
+ subscribe(onNext: UpdateCallback, onError?: (err: Error) => void, onComplete?: (x?: any) => void): Subscription;
19
+ }
20
+ export {};
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Observable = void 0;
4
+ const subscriptions_1 = require("../subscriptions");
5
+ class Subscription {
6
+ constructor(client, subscriberId) {
7
+ this.closed = false;
8
+ this.client = client;
9
+ this.subscriberId = subscriberId;
10
+ }
11
+ unsubscribe() {
12
+ this.closed = true;
13
+ (0, subscriptions_1.removeSubscriber)(this.client, this.subscriberId);
14
+ }
15
+ }
16
+ class Observable {
17
+ constructor(client, a, b) {
18
+ this.client = client;
19
+ this.subId =
20
+ typeof a === 'string'
21
+ ? (0, subscriptions_1.generateSubscriptionId)(b, a)
22
+ : (0, subscriptions_1.generateSubscriptionId)(a);
23
+ this.name = typeof a === 'string' ? a : null;
24
+ this.payload = typeof a === 'string' ? b : a;
25
+ }
26
+ subscribe(onNext, onError, onComplete) {
27
+ const [, subscriberId] = (0, subscriptions_1.addSubscriber)(this.client, this.payload, onNext, (err) => {
28
+ if (err) {
29
+ console.error(err);
30
+ if (onError) {
31
+ onError(err);
32
+ }
33
+ }
34
+ }, onError, this.subId, this.name);
35
+ return new Subscription(this.client, subscriberId);
36
+ }
37
+ }
38
+ exports.Observable = Observable;
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observable/index.ts"],"names":[],"mappings":";;;AAIA,oDAIyB;AAEzB,MAAM,YAAY;IAGhB,YAAY,MAAmB,EAAE,YAAoB;QAU9C,WAAM,GAAY,KAAK,CAAA;QAT5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAA,gCAAgB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IAClD,CAAC;CAGF;AAID,MAAa,UAAU;IAarB,YAAY,MAAmB,EAAE,CAAiB,EAAE,CAAO;QACzD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,KAAK;YACR,OAAO,CAAC,KAAK,QAAQ;gBACnB,CAAC,CAAC,IAAA,sCAAsB,EAAC,CAAC,EAAE,CAAC,CAAC;gBAC9B,CAAC,CAAC,IAAA,sCAAsB,EAAC,CAAC,CAAC,CAAA;QAE/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAE5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,SAAS,CACP,MAAsB,EACtB,OAA8B,EAC9B,UAA8B;QAE9B,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,IAAA,6BAAa,EACpC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,MAAM,EACN,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAClB,IAAI,OAAO,EAAE;oBACX,OAAO,CAAC,GAAG,CAAC,CAAA;iBACb;aACF;QACH,CAAC,EACD,OAAO,EACP,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,CACV,CAAA;QACD,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACpD,CAAC;CAUF;AAzDD,gCAyDC"}
package/dist/token.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  import { BasedClient } from '.';
2
- declare const sendToken: (client: BasedClient, token?: string) => void;
2
+ import { SendTokenOptions } from './types';
3
+ declare const sendToken: (client: BasedClient, token?: string, options?: SendTokenOptions) => void;
3
4
  export default sendToken;
package/dist/token.js CHANGED
@@ -6,10 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const types_1 = require("./types");
7
7
  const idleTimeout_1 = __importDefault(require("./idleTimeout"));
8
8
  const subscriptions_1 = require("./subscriptions");
9
- const sendToken = (client, token) => {
9
+ const notUndefinedOrNull = (v) => typeof v !== 'undefined' && v !== null;
10
+ const sendToken = (client, token, options) => {
10
11
  client.beingAuth = true;
11
12
  if (token) {
12
13
  client.token = token;
14
+ client.sendTokenOptions = options;
13
15
  }
14
16
  else {
15
17
  for (const id in client.cache) {
@@ -18,9 +20,13 @@ const sendToken = (client, token) => {
18
20
  }
19
21
  }
20
22
  delete client.token;
23
+ delete client.sendTokenOptions;
21
24
  }
22
25
  if (client.connected) {
23
- client.connection.ws.send(JSON.stringify(token ? [types_1.RequestTypes.Token, token] : [types_1.RequestTypes.Token]));
26
+ const message = token
27
+ ? [types_1.RequestTypes.Token, token, options].filter(notUndefinedOrNull)
28
+ : [types_1.RequestTypes.Token];
29
+ client.connection.ws.send(JSON.stringify(message));
24
30
  (0, idleTimeout_1.default)(client);
25
31
  (0, subscriptions_1.sendAllSubscriptions)(client, true);
26
32
  }
package/dist/token.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":";;;;;AACA,mCAAsC;AACtC,gEAAuC;AAEvC,mDAAsD;AAEtD,MAAM,SAAS,GAAG,CAAC,MAAmB,EAAE,KAAc,EAAE,EAAE;IACxD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,IAAI,KAAK,EAAE;QACT,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;KACrB;SAAM;QACL,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;gBAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aACxB;SACF;QACD,OAAO,MAAM,CAAC,KAAK,CAAA;KACpB;IACD,IAAI,MAAM,CAAC,SAAS,EAAE;QACpB,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CACvB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAY,CAAC,KAAK,CAAC,CAAC,CAC3E,CAAA;QACD,IAAA,qBAAW,EAAC,MAAM,CAAC,CAAA;QACnB,IAAA,oCAAoB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;KACnC;AACH,CAAC,CAAA;AAED,kBAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":";;;;;AACA,mCAAwD;AACxD,gEAAuC;AAEvC,mDAAsD;AAEtD,MAAM,kBAAkB,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,IAAI,CAAA;AAE7E,MAAM,SAAS,GAAG,CAChB,MAAmB,EACnB,KAAc,EACd,OAA0B,EAC1B,EAAE;IACF,MAAM,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,IAAI,KAAK,EAAE;QACT,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;QACpB,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAA;KAClC;SAAM;QACL,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;gBAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aACxB;SACF;QACD,OAAO,MAAM,CAAC,KAAK,CAAA;QACnB,OAAO,MAAM,CAAC,gBAAgB,CAAA;KAC/B;IACD,IAAI,MAAM,CAAC,SAAS,EAAE;QACpB,MAAM,OAAO,GAAG,KAAK;YACnB,CAAC,CAAC,CAAC,oBAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACjE,CAAC,CAAC,CAAC,oBAAY,CAAC,KAAK,CAAC,CAAA;QACxB,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;QAClD,IAAA,qBAAW,EAAC,MAAM,CAAC,CAAA;QACnB,IAAA,oCAAoB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;KACnC;AACH,CAAC,CAAA;AAED,kBAAe,SAAS,CAAA"}
package/dist/track.d.ts CHANGED
@@ -1,5 +1,8 @@
1
- import { BasedClient } from '.';
1
+ import { BasedClient, TrackOpts } from '.';
2
+ export declare const genKey: (type: string, params?: {
3
+ [key: string]: string | number | boolean;
4
+ }) => string;
2
5
  declare const _default: (client: BasedClient, type: string, params?: {
3
6
  [key: string]: string | number | boolean;
4
- }, untrack?: boolean, event?: boolean) => void;
7
+ }, untrack?: boolean, event?: boolean, opts?: TrackOpts, del?: boolean) => void;
5
8
  export default _default;
package/dist/track.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.genKey = void 0;
3
4
  const queue_1 = require("./queue");
4
5
  const types_1 = require("./types");
5
6
  const hash_1 = require("@saulx/hash");
@@ -37,11 +38,18 @@ const genKey = (type, params) => {
37
38
  return type;
38
39
  }
39
40
  };
40
- exports.default = (client, type, params, untrack, event) => {
41
- const k = genKey(type, params);
41
+ exports.genKey = genKey;
42
+ exports.default = (client, type, params, untrack, event, opts, del) => {
43
+ const k = (0, exports.genKey)(type, params);
42
44
  const payload = { t: k };
45
+ if (del) {
46
+ payload.r = 1;
47
+ }
43
48
  if (event) {
44
49
  payload.e = 1;
50
+ if (opts) {
51
+ payload.o = opts;
52
+ }
45
53
  }
46
54
  if (untrack) {
47
55
  payload.s = 1;
package/dist/track.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"track.js","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":";;AACA,mCAAoC;AACpC,mCAAsC;AACtC,sCAAyC;AAEzC,MAAM,SAAS,GAAgB,IAAI,GAAG,EAAE,CAAA;AAExC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAW,EAAE;IACtC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACpB,OAAO,KAAK,CAAA;SACb;QACD,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAChB,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,GAAG,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAA;YACpC,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC9B,OAAO,KAAK,CAAA;aACb;YACD,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YAC/B,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,KAAK,CAAA;SACb;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,CACb,IAAY,EACZ,MAAqD,EAC7C,EAAE;IACV,IAAI,MAAM,EAAE;QACV,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,CAAA;QACnB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;YACpB,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;SACjC;QACD,OAAO,GAAG,CAAA;KACX;SAAM;QACL,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA;AAED,kBAAe,CACb,MAAmB,EACnB,IAAY,EACZ,MAAqD,EACrD,OAAiB,EACjB,KAAe,EACf,EAAE;IACF,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAiB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IACtC,IAAI,KAAK,EAAE;QACT,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;KACd;IACD,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;QACb,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;KAC1B;SAAM;QACL,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACpB,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;aAC5B;YACD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;SACvB;QAED,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;YACf,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;SACd;KACF;IACD,IAAA,kBAAU,EAAC,MAAM,EAAE,CAAC,oBAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA"}
1
+ {"version":3,"file":"track.js","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":";;;AACA,mCAAoC;AACpC,mCAAsC;AACtC,sCAAyC;AAEzC,MAAM,SAAS,GAAgB,IAAI,GAAG,EAAE,CAAA;AAExC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAW,EAAE;IACtC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACpB,OAAO,KAAK,CAAA;SACb;QACD,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAChB,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,GAAG,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAA;YACpC,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC9B,OAAO,KAAK,CAAA;aACb;YACD,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YAC/B,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,KAAK,CAAA;SACb;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAEM,MAAM,MAAM,GAAG,CACpB,IAAY,EACZ,MAAqD,EAC7C,EAAE;IACV,IAAI,MAAM,EAAE;QACV,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,CAAA;QACnB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;YACpB,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;SACjC;QACD,OAAO,GAAG,CAAA;KACX;SAAM;QACL,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA;AAdY,QAAA,MAAM,UAclB;AAED,kBAAe,CACb,MAAmB,EACnB,IAAY,EACZ,MAAqD,EACrD,OAAiB,EACjB,KAAe,EACf,IAAgB,EAChB,GAAa,EACb,EAAE;IACF,MAAM,CAAC,GAAG,IAAA,cAAM,EAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAiB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IACtC,IAAI,GAAG,EAAE;QACP,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;KACd;IACD,IAAI,KAAK,EAAE;QACT,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;QACb,IAAI,IAAI,EAAE;YACR,OAAO,CAAC,CAAC,GAAG,IAAI,CAAA;SACjB;KACF;IACD,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;QACb,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;KAC1B;SAAM;QACL,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACpB,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;aAC5B;YACD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;SACvB;QAED,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;YACf,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;SACd;KACF;IACD,IAAA,kBAAU,EAAC,MAAM,EAAE,CAAC,oBAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA"}
package/dist/types.d.ts CHANGED
@@ -44,6 +44,7 @@ export declare type ErrorObject = {
44
44
  query?: GenericObject;
45
45
  payload?: any;
46
46
  auth?: boolean;
47
+ code?: string;
47
48
  };
48
49
  export declare type FunctionCallMessage = [RequestTypes.Call, string, number, any?];
49
50
  export declare type TrackMessage = [RequestTypes.Track, TrackPayload];
@@ -52,7 +53,7 @@ export declare type RequestMessage<T = GenericObject> = [
52
53
  number,
53
54
  T
54
55
  ];
55
- export declare type TokenMessage = [RequestTypes.Token, string?];
56
+ export declare type TokenMessage = [RequestTypes.Token, string?, boolean?];
56
57
  export declare type SubscribeMessage = [
57
58
  RequestTypes.Subscription,
58
59
  number,
@@ -108,4 +109,12 @@ export declare type TrackPayload = {
108
109
  u?: 1;
109
110
  s?: 1;
110
111
  e?: 1;
112
+ r?: 1;
113
+ o?: TrackOpts;
114
+ };
115
+ export declare type TrackOpts = {
116
+ amount?: number;
117
+ };
118
+ export declare type SendTokenOptions = {
119
+ isBasedUser?: boolean;
111
120
  };
@@ -5,31 +5,74 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const urlLoader_1 = __importDefault(require("./urlLoader"));
7
7
  const isomorphic_ws_1 = __importDefault(require("isomorphic-ws"));
8
- const connect = (client, url, connection = {}, time = 0, reconnect = false) => {
8
+ const activityListeners = new Map();
9
+ let activeTimer;
10
+ if (typeof window !== 'undefined') {
11
+ document.addEventListener('visibilitychange', function (event) {
12
+ clearTimeout(activeTimer);
13
+ if (document.hidden) {
14
+ activeTimer = setTimeout(() => {
15
+ activityListeners.forEach((fn) => {
16
+ fn(false);
17
+ });
18
+ }, 30e3);
19
+ }
20
+ else {
21
+ activityListeners.forEach((fn) => {
22
+ fn(true);
23
+ });
24
+ }
25
+ });
26
+ }
27
+ const connect = (client, url, connection = {
28
+ destroy: () => {
29
+ console.info('remove');
30
+ activityListeners.delete(connection);
31
+ },
32
+ }, time = 0, reconnect = false) => {
9
33
  (0, urlLoader_1.default)(url, (realUrl) => {
10
34
  setTimeout(() => {
11
35
  if (connection.disconnected) {
12
36
  return;
13
37
  }
38
+ let isActive = true;
39
+ activityListeners.set(connection, (active) => {
40
+ if (!connection.disconnected) {
41
+ if (!active && isActive) {
42
+ console.warn('Send to background - close connection');
43
+ isActive = false;
44
+ client.onClose();
45
+ ws.close();
46
+ }
47
+ else if (!isActive && active) {
48
+ activityListeners.delete(connection);
49
+ connect(client, url, connection, 0, true);
50
+ }
51
+ }
52
+ });
14
53
  const ws = (connection.ws = new isomorphic_ws_1.default(realUrl));
15
54
  ws.onerror = () => { };
16
55
  ws.onmessage = (d) => client.onData(d);
17
56
  ws.onopen = () => {
18
- if (connection.disconnected) {
19
- return;
20
- }
21
- time = 100;
22
- if (reconnect) {
23
- client.onReconnect();
57
+ if (isActive) {
58
+ if (connection.disconnected) {
59
+ return;
60
+ }
61
+ time = 100;
62
+ if (reconnect) {
63
+ client.onReconnect();
64
+ }
65
+ client.onOpen();
24
66
  }
25
- client.onOpen();
26
67
  };
27
68
  ws.onclose = () => {
28
- if (connection.disconnected) {
29
- return;
69
+ if (isActive) {
70
+ if (connection.disconnected) {
71
+ return;
72
+ }
73
+ client.onClose();
74
+ connect(client, url, connection, Math.min(1250, Math.min(time + 500)), true);
30
75
  }
31
- client.onClose();
32
- connect(client, url, connection, Math.min(1250, Math.min(time + 500)), true);
33
76
  };
34
77
  }, time);
35
78
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/websocket/index.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAGnC,kEAAqC;AAErC,MAAM,OAAO,GAAG,CACd,MAAmB,EACnB,GAAqC,EACrC,aAAyB,EAAE,EAC3B,IAAI,GAAG,CAAC,EACR,SAAS,GAAG,KAAK,EACL,EAAE;IACd,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;QACzB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,UAAU,CAAC,YAAY,EAAE;gBAC3B,OAAM;aACP;YACD,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,uBAAS,CAAC,OAAO,CAAC,CAAC,CAAA;YACnD,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;YACrB,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACtC,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;gBACf,IAAI,UAAU,CAAC,YAAY,EAAE;oBAC3B,OAAM;iBACP;gBACD,IAAI,GAAG,GAAG,CAAA;gBACV,IAAI,SAAS,EAAE;oBACb,MAAM,CAAC,WAAW,EAAE,CAAA;iBACrB;gBACD,MAAM,CAAC,MAAM,EAAE,CAAA;YACjB,CAAC,CAAA;YACD,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;gBAChB,IAAI,UAAU,CAAC,YAAY,EAAE;oBAC3B,OAAM;iBACP;gBACD,MAAM,CAAC,OAAO,EAAE,CAAA;gBAChB,OAAO,CACL,MAAM,EACN,GAAG,EACH,UAAU,EACV,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,EACpC,IAAI,CACL,CAAA;YACH,CAAC,CAAA;QACH,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;IACF,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED,kBAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/websocket/index.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAGnC,kEAAqC;AAIrC,MAAM,iBAAiB,GAA8B,IAAI,GAAG,EAAE,CAAA;AAE9D,IAAI,WAA2B,CAAA;AAE/B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,UAAU,KAAK;QAC3D,YAAY,CAAC,WAAW,CAAC,CAAA;QACzB,IAAI,QAAQ,CAAC,MAAM,EAAE;YACnB,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;oBAC/B,EAAE,CAAC,KAAK,CAAC,CAAA;gBACX,CAAC,CAAC,CAAA;YACJ,CAAC,EAAE,IAAI,CAAC,CAAA;SACT;aAAM;YACL,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC/B,EAAE,CAAC,IAAI,CAAC,CAAA;YACV,CAAC,CAAC,CAAA;SACH;IACH,CAAC,CAAC,CAAA;CACH;AAED,MAAM,OAAO,GAAG,CACd,MAAmB,EACnB,GAAqC,EACrC,aAAyB;IACvB,OAAO,EAAE,GAAG,EAAE;QACZ,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACtC,CAAC;CACF,EACD,IAAI,GAAG,CAAC,EACR,SAAS,GAAG,KAAK,EACL,EAAE;IACd,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;QACzB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,UAAU,CAAC,YAAY,EAAE;gBAC3B,OAAM;aACP;YAED,IAAI,QAAQ,GAAG,IAAI,CAAA;YAEnB,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC3C,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;oBAC5B,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE;wBACvB,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;wBACrD,QAAQ,GAAG,KAAK,CAAA;wBAChB,MAAM,CAAC,OAAO,EAAE,CAAA;wBAChB,EAAE,CAAC,KAAK,EAAE,CAAA;qBACX;yBAAM,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;wBAC9B,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;wBACpC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;qBAC1C;iBACF;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,uBAAS,CAAC,OAAO,CAAC,CAAC,CAAA;YAEnD,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;YACrB,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACtC,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;gBACf,IAAI,QAAQ,EAAE;oBACZ,IAAI,UAAU,CAAC,YAAY,EAAE;wBAC3B,OAAM;qBACP;oBACD,IAAI,GAAG,GAAG,CAAA;oBACV,IAAI,SAAS,EAAE;wBACb,MAAM,CAAC,WAAW,EAAE,CAAA;qBACrB;oBACD,MAAM,CAAC,MAAM,EAAE,CAAA;iBAChB;YACH,CAAC,CAAA;YACD,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;gBAChB,IAAI,QAAQ,EAAE;oBACZ,IAAI,UAAU,CAAC,YAAY,EAAE;wBAC3B,OAAM;qBACP;oBACD,MAAM,CAAC,OAAO,EAAE,CAAA;oBAChB,OAAO,CACL,MAAM,EACN,GAAG,EACH,UAAU,EACV,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,EACpC,IAAI,CACL,CAAA;iBACF;YACH,CAAC,CAAA;QACH,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;IACF,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -1,6 +1,7 @@
1
1
  /// <reference types="ws" />
2
2
  import WebSocket from 'isomorphic-ws';
3
- export declare type Connection = {
3
+ export declare class Connection {
4
4
  ws?: WebSocket;
5
5
  disconnected?: boolean;
6
- };
6
+ destroy: () => void;
7
+ }
@@ -1,3 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Connection = void 0;
4
+ class Connection {
5
+ }
6
+ exports.Connection = Connection;
3
7
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/websocket/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/websocket/types.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;CAItB;AAJD,gCAIC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@based/client",
3
- "version": "0.3.0",
3
+ "version": "0.5.2",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "build": "yarn tsconfig && tsc -b",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "ava": {
21
21
  "files": [
22
- "test/**/*.ts"
22
+ "test/*.ts"
23
23
  ],
24
24
  "concurrency": 1,
25
25
  "extensions": [
@@ -35,6 +35,7 @@
35
35
  "@saulx/hash": "^1.1.0",
36
36
  "@saulx/selva": "9.1.3",
37
37
  "@saulx/utils": "^2.0.1",
38
+ "@types/jsonwebtoken": "^8.5.6",
38
39
  "@types/node": "^16.3.1",
39
40
  "@types/ws": "^7.4.6",
40
41
  "ava": "3.15.0",