@based/client 3.3.0 → 4.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.
Files changed (211) hide show
  1. package/README.md +32 -336
  2. package/dist/Emitter.d.ts +7 -6
  3. package/dist/Emitter.js +31 -6
  4. package/dist/Emitter.js.map +1 -1
  5. package/dist/authState/parseAuthState.d.ts +3 -0
  6. package/dist/authState/parseAuthState.js +51 -0
  7. package/dist/authState/parseAuthState.js.map +1 -0
  8. package/dist/authState/updateAuthState.d.ts +3 -0
  9. package/dist/authState/updateAuthState.js +15 -0
  10. package/dist/authState/updateAuthState.js.map +1 -0
  11. package/dist/channel/cleanUp.d.ts +2 -0
  12. package/dist/channel/cleanUp.js +32 -0
  13. package/dist/channel/cleanUp.js.map +1 -0
  14. package/dist/channel/index.d.ts +12 -0
  15. package/dist/channel/index.js +67 -0
  16. package/dist/channel/index.js.map +1 -0
  17. package/dist/genObserveId.d.ts +1 -0
  18. package/dist/genObserveId.js +12 -0
  19. package/dist/genObserveId.js.map +1 -0
  20. package/dist/getTargetInfo.d.ts +6 -0
  21. package/dist/getTargetInfo.js +14 -0
  22. package/dist/getTargetInfo.js.map +1 -0
  23. package/dist/getUrlFromOpts.d.ts +3 -0
  24. package/dist/getUrlFromOpts.js +27 -0
  25. package/dist/getUrlFromOpts.js.map +1 -0
  26. package/dist/incoming/debug.d.ts +9 -0
  27. package/dist/incoming/debug.js +132 -0
  28. package/dist/incoming/debug.js.map +1 -0
  29. package/dist/incoming/index.d.ts +2 -0
  30. package/dist/incoming/index.js +341 -0
  31. package/dist/incoming/index.js.map +1 -0
  32. package/dist/incoming/protocol.d.ts +9 -0
  33. package/dist/incoming/protocol.js +62 -0
  34. package/dist/incoming/protocol.js.map +1 -0
  35. package/dist/index.d.ts +70 -127
  36. package/dist/index.js +225 -15
  37. package/dist/index.js.map +1 -1
  38. package/dist/outgoing/debug.d.ts +8 -0
  39. package/dist/outgoing/debug.js +70 -0
  40. package/dist/outgoing/debug.js.map +1 -0
  41. package/dist/outgoing/index.d.ts +14 -0
  42. package/dist/outgoing/index.js +227 -0
  43. package/dist/outgoing/index.js.map +1 -0
  44. package/dist/outgoing/protocol.d.ts +24 -0
  45. package/dist/outgoing/protocol.js +200 -0
  46. package/dist/outgoing/protocol.js.map +1 -0
  47. package/dist/persistentStorage/browser.d.ts +5 -0
  48. package/dist/persistentStorage/browser.js +150 -0
  49. package/dist/persistentStorage/browser.js.map +1 -0
  50. package/dist/persistentStorage/index.d.ts +6 -0
  51. package/dist/persistentStorage/index.js +56 -0
  52. package/dist/persistentStorage/index.js.map +1 -0
  53. package/dist/persistentStorage/node.d.ts +6 -0
  54. package/dist/persistentStorage/node.js +104 -0
  55. package/dist/persistentStorage/node.js.map +1 -0
  56. package/dist/query/index.d.ts +17 -0
  57. package/dist/query/index.js +112 -0
  58. package/dist/query/index.js.map +1 -0
  59. package/dist/stream/fetch.d.ts +4 -0
  60. package/dist/stream/fetch.js +38 -0
  61. package/dist/stream/fetch.js.map +1 -0
  62. package/dist/stream/index.d.ts +4 -0
  63. package/dist/stream/index.js +65 -0
  64. package/dist/stream/index.js.map +1 -0
  65. package/dist/stream/nodeStream.d.ts +6 -0
  66. package/dist/stream/nodeStream.js +114 -0
  67. package/dist/stream/nodeStream.js.map +1 -0
  68. package/dist/stream/types.d.ts +37 -0
  69. package/dist/stream/types.js +8 -0
  70. package/dist/stream/types.js.map +1 -0
  71. package/dist/stream/uploadFileBrowser.d.ts +4 -0
  72. package/dist/stream/uploadFileBrowser.js +106 -0
  73. package/dist/stream/uploadFileBrowser.js.map +1 -0
  74. package/dist/types/auth.d.ts +11 -0
  75. package/dist/{selvaTypes/get.js → types/auth.js} +1 -1
  76. package/dist/types/auth.js.map +1 -0
  77. package/dist/types/cache.d.ts +6 -0
  78. package/dist/{selvaTypes/set.js → types/cache.js} +1 -1
  79. package/dist/types/cache.js.map +1 -0
  80. package/dist/types/channel.d.ts +25 -0
  81. package/dist/types/channel.js +3 -0
  82. package/dist/types/channel.js.map +1 -0
  83. package/dist/types/error.d.ts +37 -0
  84. package/dist/types/error.js +41 -0
  85. package/dist/types/error.js.map +1 -0
  86. package/dist/types/events.d.ts +34 -0
  87. package/dist/{selvaTypes/schema.js → types/events.js} +1 -1
  88. package/dist/types/events.js.map +1 -0
  89. package/dist/types/functions.d.ts +8 -0
  90. package/dist/types/functions.js +3 -0
  91. package/dist/types/functions.js.map +1 -0
  92. package/dist/types/generic.d.ts +22 -0
  93. package/dist/types/generic.js +3 -0
  94. package/dist/types/generic.js.map +1 -0
  95. package/dist/types/index.d.ts +6 -0
  96. package/dist/{subscriptions → types}/index.js +6 -10
  97. package/dist/types/index.js.map +1 -0
  98. package/dist/types/observe.d.ts +46 -0
  99. package/dist/types/observe.js +3 -0
  100. package/dist/types/observe.js.map +1 -0
  101. package/dist/websocket/index.d.ts +1 -1
  102. package/dist/websocket/index.js +19 -5
  103. package/dist/websocket/index.js.map +1 -1
  104. package/dist/websocket/types.d.ts +0 -0
  105. package/dist/websocket/types.js +0 -0
  106. package/dist/websocket/types.js.map +0 -0
  107. package/dist/websocket/urlLoader.d.ts +0 -0
  108. package/dist/websocket/urlLoader.js +0 -0
  109. package/dist/websocket/urlLoader.js.map +0 -0
  110. package/package.json +18 -27
  111. package/dist/Client.d.ts +0 -80
  112. package/dist/Client.js +0 -271
  113. package/dist/Client.js.map +0 -1
  114. package/dist/auth.d.ts +0 -13
  115. package/dist/auth.js +0 -87
  116. package/dist/auth.js.map +0 -1
  117. package/dist/createError.d.ts +0 -3
  118. package/dist/createError.js +0 -67
  119. package/dist/createError.js.map +0 -1
  120. package/dist/debug.d.ts +0 -2
  121. package/dist/debug.js +0 -21
  122. package/dist/debug.js.map +0 -1
  123. package/dist/file/fetch.d.ts +0 -6
  124. package/dist/file/fetch.js +0 -27
  125. package/dist/file/fetch.js.map +0 -1
  126. package/dist/file/getUrl.d.ts +0 -4
  127. package/dist/file/getUrl.js +0 -42
  128. package/dist/file/getUrl.js.map +0 -1
  129. package/dist/file/index.d.ts +0 -6
  130. package/dist/file/index.js +0 -95
  131. package/dist/file/index.js.map +0 -1
  132. package/dist/file/stream/browser.d.ts +0 -7
  133. package/dist/file/stream/browser.js +0 -17
  134. package/dist/file/stream/browser.js.map +0 -1
  135. package/dist/file/stream/index.d.ts +0 -7
  136. package/dist/file/stream/index.js +0 -86
  137. package/dist/file/stream/index.js.map +0 -1
  138. package/dist/file/uploadFileBrowser.d.ts +0 -3
  139. package/dist/file/uploadFileBrowser.js +0 -72
  140. package/dist/file/uploadFileBrowser.js.map +0 -1
  141. package/dist/findPrefix.d.ts +0 -3
  142. package/dist/findPrefix.js +0 -20
  143. package/dist/findPrefix.js.map +0 -1
  144. package/dist/idleTimeout.d.ts +0 -3
  145. package/dist/idleTimeout.js +0 -17
  146. package/dist/idleTimeout.js.map +0 -1
  147. package/dist/observable/index.d.ts +0 -28
  148. package/dist/observable/index.js +0 -84
  149. package/dist/observable/index.js.map +0 -1
  150. package/dist/printBasedObject.d.ts +0 -4
  151. package/dist/printBasedObject.js +0 -76
  152. package/dist/printBasedObject.js.map +0 -1
  153. package/dist/queue.d.ts +0 -5
  154. package/dist/queue.js +0 -53
  155. package/dist/queue.js.map +0 -1
  156. package/dist/request.d.ts +0 -6
  157. package/dist/request.js +0 -67
  158. package/dist/request.js.map +0 -1
  159. package/dist/selvaTypes/get.d.ts +0 -97
  160. package/dist/selvaTypes/get.js.map +0 -1
  161. package/dist/selvaTypes/schema.d.ts +0 -89
  162. package/dist/selvaTypes/schema.js.map +0 -1
  163. package/dist/selvaTypes/set.d.ts +0 -73
  164. package/dist/selvaTypes/set.js.map +0 -1
  165. package/dist/subscriptions/addGetSubscriber.d.ts +0 -3
  166. package/dist/subscriptions/addGetSubscriber.js +0 -87
  167. package/dist/subscriptions/addGetSubscriber.js.map +0 -1
  168. package/dist/subscriptions/addSubscriber.d.ts +0 -2
  169. package/dist/subscriptions/addSubscriber.js +0 -136
  170. package/dist/subscriptions/addSubscriber.js.map +0 -1
  171. package/dist/subscriptions/generateId.d.ts +0 -1
  172. package/dist/subscriptions/generateId.js +0 -11
  173. package/dist/subscriptions/generateId.js.map +0 -1
  174. package/dist/subscriptions/incomingSubscription.d.ts +0 -3
  175. package/dist/subscriptions/incomingSubscription.js +0 -87
  176. package/dist/subscriptions/incomingSubscription.js.map +0 -1
  177. package/dist/subscriptions/incomingSubscriptionDiff.d.ts +0 -3
  178. package/dist/subscriptions/incomingSubscriptionDiff.js +0 -85
  179. package/dist/subscriptions/incomingSubscriptionDiff.js.map +0 -1
  180. package/dist/subscriptions/index.d.ts +0 -10
  181. package/dist/subscriptions/index.js.map +0 -1
  182. package/dist/subscriptions/logoutSubscriptions.d.ts +0 -3
  183. package/dist/subscriptions/logoutSubscriptions.js +0 -36
  184. package/dist/subscriptions/logoutSubscriptions.js.map +0 -1
  185. package/dist/subscriptions/removeSendSubscriptionDataFromQueue.d.ts +0 -2
  186. package/dist/subscriptions/removeSendSubscriptionDataFromQueue.js +0 -14
  187. package/dist/subscriptions/removeSendSubscriptionDataFromQueue.js.map +0 -1
  188. package/dist/subscriptions/removeSubscriber.d.ts +0 -2
  189. package/dist/subscriptions/removeSubscriber.js +0 -44
  190. package/dist/subscriptions/removeSubscriber.js.map +0 -1
  191. package/dist/subscriptions/removeUnsubscribesFromQueue.d.ts +0 -2
  192. package/dist/subscriptions/removeUnsubscribesFromQueue.js +0 -14
  193. package/dist/subscriptions/removeUnsubscribesFromQueue.js.map +0 -1
  194. package/dist/subscriptions/sendAllSubscriptions.d.ts +0 -2
  195. package/dist/subscriptions/sendAllSubscriptions.js +0 -114
  196. package/dist/subscriptions/sendAllSubscriptions.js.map +0 -1
  197. package/dist/token.d.ts +0 -4
  198. package/dist/token.js +0 -35
  199. package/dist/token.js.map +0 -1
  200. package/dist/track.d.ts +0 -8
  201. package/dist/track.js +0 -71
  202. package/dist/track.js.map +0 -1
  203. package/docs/auth-based-ui-howto.md +0 -74
  204. package/docs/auth-howto.md +0 -166
  205. package/docs/auth.md +0 -93
  206. package/docs/authorize.md +0 -56
  207. package/docs/files.md +0 -66
  208. package/docs/get-started.md +0 -60
  209. package/docs/get.md +0 -759
  210. package/docs/schema.md +0 -244
  211. package/docs/set.md +0 -652
@@ -5,8 +5,10 @@ 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 parseAuthState_1 = require("../authState/parseAuthState");
8
9
  const activityListeners = new Map();
9
10
  let activeTimer;
11
+ // Disconnect in the browser when a window is inactive (on the background) for 30 seconds
10
12
  if (typeof window !== 'undefined') {
11
13
  document.addEventListener('visibilitychange', function () {
12
14
  clearTimeout(activeTimer);
@@ -26,7 +28,6 @@ if (typeof window !== 'undefined') {
26
28
  }
27
29
  const connect = (client, url, connection = {
28
30
  destroy: () => {
29
- // console.info('remove')
30
31
  activityListeners.delete(connection);
31
32
  },
32
33
  }, time = 0, reconnect = false) => {
@@ -50,9 +51,18 @@ const connect = (client, url, connection = {
50
51
  }
51
52
  }
52
53
  });
53
- const ws = (connection.ws = new isomorphic_ws_1.default(realUrl));
54
- ws.onerror = () => { };
55
- ws.onmessage = (d) => client.onData(d);
54
+ const ws = (connection.ws = new isomorphic_ws_1.default(realUrl, [
55
+ (0, parseAuthState_1.encodeAuthState)(client.authState),
56
+ ]));
57
+ let isError = false;
58
+ ws.onerror = (err) => {
59
+ if (err.message && err.message.includes('401')) {
60
+ isError = true;
61
+ }
62
+ };
63
+ ws.onmessage = (d) => {
64
+ client.onData(d);
65
+ };
56
66
  ws.onopen = () => {
57
67
  if (isActive) {
58
68
  if (connection.disconnected) {
@@ -71,7 +81,11 @@ const connect = (client, url, connection = {
71
81
  return;
72
82
  }
73
83
  client.onClose();
74
- connect(client, url, connection, Math.min(1250, Math.min(time + 500)), true);
84
+ connect(client, url, connection,
85
+ // relatively low backoff but will make it faster if multiple servers are down
86
+ isError
87
+ ? 10e3
88
+ : Math.min(2000, Math.min(time + ~~(Math.random() * 500) + 100)), true);
75
89
  }
76
90
  };
77
91
  }, time);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/websocket/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/websocket/index.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/package.json CHANGED
@@ -1,19 +1,14 @@
1
1
  {
2
2
  "name": "@based/client",
3
- "version": "3.3.0",
3
+ "version": "4.0.2",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
- "browser": {
7
- "./dist/file/stream/index.js": "./dist/file/stream/browser.js"
8
- },
9
6
  "scripts": {
10
- "buildBundle": "node ./build/index.js",
11
- "build": "npx tsc && npm run buildBundle",
12
- "watch": "concurrently \"tsc --watch\" \"npm run buildBundle -- --watch\"",
13
- "test": "ava --timeout 1m --verbose",
14
- "watchTest": "ava --color --watch --verbose",
7
+ "build": "npx tsc",
8
+ "watch": "npm run build -- --watch",
15
9
  "clean": "rimraf {.turbo,dist,node_modules}",
16
- "browserTest": "concurrently \"node ./test/browser/based-server.js\" \"aristotle watch -t test/browser/index.tsx -p 8005\""
10
+ "test": "ava --color --node-arguments='--expose-gc' --timeout 3m --verbose",
11
+ "browser": "concurrently \"nodemon ./test/browser/based-server.ts --watch ../server/dist --watch ./test/browser/based-server.ts\" \"aristotle watch -t test/browser/index.tsx -p 8005\""
17
12
  },
18
13
  "sideEffects": false,
19
14
  "ava": {
@@ -29,30 +24,26 @@
29
24
  ]
30
25
  },
31
26
  "dependencies": {
32
- "@based/get-service": "2.4.3",
33
- "@based/graphql": "^2.4.3",
34
- "@saulx/diff": "^1.1.3",
35
- "@saulx/hash": "^1.1.0",
36
- "@saulx/utils": "^2.3.2",
27
+ "@based/opts": "0.0.5",
28
+ "@saulx/diff": "^1.1.4",
29
+ "@saulx/hash": "^2.0.0",
30
+ "fflate": "^0.7.3",
31
+ "@saulx/utils": "^3.2.1",
37
32
  "cross-fetch": "^3.1.4",
38
33
  "isomorphic-ws": "^4.0.1",
39
34
  "ws": "^7.5.3"
40
35
  },
41
36
  "devDependencies": {
42
- "@based/types": "^2.8.0",
43
- "@saulx/aristotle": "^4.0.14",
44
- "@saulx/hash": "^1.1.0",
45
- "@saulx/selva": "^19.0.0",
46
- "@saulx/selva-server": "^19.0.0",
47
- "@types/jsonwebtoken": "^8.5.6",
37
+ "nodemon": "^2.0.20",
38
+ "@based/functions": "^1.1.0",
39
+ "concurrently": "^7.1.0",
40
+ "@saulx/utils": "^3.2.1",
41
+ "@saulx/aristotle": "^4.3.0",
48
42
  "@types/node": "^17.0.23",
49
43
  "@types/ws": "^7.4.6",
50
44
  "ava": "3.15.0",
51
- "concurrently": "^7.1.0",
52
- "esbuild": "^0.14.29",
53
- "jsonwebtoken": "^8.5.1",
54
- "rimraf": "^3.0.2",
55
- "ts-node": "^10.1.0",
56
- "typescript": "^4.3.5"
45
+ "ts-node": "10.9.1",
46
+ "typescript": "^4.3.5",
47
+ "rimraf": "^3.0.2"
57
48
  }
58
49
  }
package/dist/Client.d.ts DELETED
@@ -1,80 +0,0 @@
1
- import { Connection } from './websocket/types';
2
- import { RequestTypes, GenericObject, RequestMessage, SubscriptionMessage, FunctionCallMessage, Configuration, TrackMessage, SendTokenOptions, AuthMessage } from '@based/types';
3
- import { Based } from './';
4
- export * from '@based/types';
5
- export declare class BasedClient {
6
- based: Based;
7
- constructor(based: Based);
8
- debugInternal?: (message: any, type: 'incoming' | 'outgoing') => void;
9
- get debug(): true | ((message: any, type: 'incoming' | 'outgoing') => void);
10
- set debug(v: true | ((message: any, type: 'incoming' | 'outgoing') => void));
11
- user: string | false;
12
- optsId: number;
13
- token: string;
14
- tokenToLocalStorage: boolean;
15
- renewOptions: {
16
- refreshToken?: string;
17
- } & {
18
- [key: string]: any;
19
- };
20
- sendTokenOptions: SendTokenOptions;
21
- retryingRenewToken: boolean;
22
- beingAuth: boolean;
23
- isLogginIn: boolean;
24
- auth: ((x?: any) => void)[];
25
- initUserState(): void;
26
- updateUserState(id: string | false, token?: string, refreshToken?: string): void;
27
- subscriptions: {
28
- [subscriptionId: string]: {
29
- authError?: {
30
- token: string | false;
31
- error: Error;
32
- };
33
- cnt: number;
34
- query: GenericObject;
35
- name?: string;
36
- subscribers: {
37
- [cnt: string]: {
38
- onInitial?: (err: Error | null, subscriptionId?: number, subscriberId?: number, data?: GenericObject, isAuthError?: boolean) => void;
39
- onError?: (err: Error) => void;
40
- onData?: (data: any, checksum: number) => void;
41
- };
42
- };
43
- };
44
- };
45
- cache: {
46
- [queryId: string]: {
47
- value: any;
48
- checksum: number;
49
- };
50
- };
51
- requestCallbacks: {
52
- [reqId: string]: {
53
- resolve: (val?: any) => void;
54
- reject: (err: Error) => void;
55
- type?: Exclude<RequestTypes, RequestTypes.Subscription | RequestTypes.SubscriptionDiff | RequestTypes.SendSubscriptionData | RequestTypes.Unsubscribe | RequestTypes.GetSubscription | RequestTypes.Token | RequestTypes.Track>;
56
- payload?: any;
57
- name?: string;
58
- isRetry?: boolean;
59
- };
60
- };
61
- authCallbacks: {
62
- [reqId: string]: {
63
- resolve: (val?: any) => void;
64
- reject: (err: Error) => void;
65
- };
66
- };
67
- tracking: Set<string>;
68
- configuration: Configuration;
69
- connected: boolean;
70
- connection: Connection;
71
- subscriptionQueue: SubscriptionMessage[];
72
- queue: (RequestMessage | FunctionCallMessage | TrackMessage | AuthMessage)[];
73
- drainInProgress: boolean;
74
- drainTimeout: ReturnType<typeof setTimeout>;
75
- idlePing: ReturnType<typeof setTimeout>;
76
- onClose(): void;
77
- onReconnect(): void;
78
- onOpen(): void;
79
- onData(d: any): void;
80
- }
package/dist/Client.js DELETED
@@ -1,271 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.BasedClient = void 0;
21
- const types_1 = require("@based/types");
22
- const subscriptions_1 = require("./subscriptions");
23
- const queue_1 = require("./queue");
24
- const request_1 = require("./request");
25
- const token_1 = __importDefault(require("./token"));
26
- const auth_1 = require("./auth");
27
- const debug_1 = __importDefault(require("./debug"));
28
- const hash_1 = require("@saulx/hash");
29
- __exportStar(require("@based/types"), exports);
30
- class BasedClient {
31
- constructor(based) {
32
- this.tokenToLocalStorage = false;
33
- this.auth = [];
34
- this.subscriptions = {};
35
- this.cache = {};
36
- this.requestCallbacks = {};
37
- this.authCallbacks = {};
38
- this.connected = false;
39
- this.subscriptionQueue = [];
40
- // and more
41
- this.queue = [];
42
- this.drainInProgress = false;
43
- this.based = based;
44
- }
45
- get debug() {
46
- return this.debugInternal;
47
- }
48
- set debug(v) {
49
- if (v === true) {
50
- this.debugInternal = debug_1.default;
51
- }
52
- else {
53
- this.debugInternal = v;
54
- }
55
- }
56
- initUserState() {
57
- if (typeof window !== 'undefined') {
58
- if (this.based.opts) {
59
- const optsId = (0, hash_1.hash)({
60
- cluster: this.based.opts.cluster,
61
- project: this.based.opts.project,
62
- env: this.based.opts.project,
63
- org: this.based.opts.org,
64
- });
65
- this.optsId = optsId;
66
- }
67
- else {
68
- this.optsId = (0, hash_1.hash)('un-specified-env');
69
- }
70
- try {
71
- const userString = global.localStorage.getItem('based-' + this.optsId + '-uid');
72
- if (userString) {
73
- this.tokenToLocalStorage = true;
74
- try {
75
- const [id, token, refreshToken] = JSON.parse(userString);
76
- if (token && id) {
77
- this.updateUserState(id, token, refreshToken);
78
- }
79
- }
80
- catch (err) {
81
- global.localStorage.removeItem('based-' + this.optsId + '-uid');
82
- }
83
- }
84
- }
85
- catch (err) { }
86
- }
87
- }
88
- updateUserState(id, token, refreshToken) {
89
- this.user = id;
90
- if (!this.tokenToLocalStorage && typeof window !== 'undefined') {
91
- try {
92
- global.localStorage.removeItem('based-' + this.optsId + '-uid');
93
- }
94
- catch (err) { }
95
- }
96
- if (token) {
97
- if (refreshToken) {
98
- this.renewOptions = { refreshToken };
99
- }
100
- if (refreshToken) {
101
- this.renewOptions = {
102
- ...this.renewOptions,
103
- refreshToken,
104
- };
105
- }
106
- (0, token_1.default)(this, token, {
107
- refreshToken: refreshToken,
108
- });
109
- this.auth.push((isValid) => {
110
- if (isValid) {
111
- if (typeof window !== 'undefined') {
112
- try {
113
- if (this.tokenToLocalStorage) {
114
- global.localStorage.setItem('based-' + this.optsId + '-uid', JSON.stringify([id, token, refreshToken]));
115
- }
116
- }
117
- catch (err) { }
118
- }
119
- this.based.emit('auth', token);
120
- }
121
- else {
122
- if (typeof window !== 'undefined') {
123
- try {
124
- if (this.tokenToLocalStorage) {
125
- global.localStorage.removeItem('based-' + this.optsId + '-uid');
126
- }
127
- }
128
- catch (err) { }
129
- }
130
- this.based.emit('auth', false);
131
- }
132
- });
133
- }
134
- else {
135
- if (typeof window !== 'undefined') {
136
- this.user = false;
137
- try {
138
- if (this.tokenToLocalStorage) {
139
- global.localStorage.removeItem('based-' + this.optsId + '-uid');
140
- }
141
- }
142
- catch (err) { }
143
- }
144
- (0, token_1.default)(this);
145
- this.based.emit('auth', false);
146
- }
147
- // handle dat localstorage
148
- }
149
- onClose() {
150
- this.connected = false;
151
- (0, queue_1.stopDrainQueue)(this);
152
- (0, subscriptions_1.removeUnsubscribesFromQueue)(this);
153
- (0, subscriptions_1.removeSendSubsriptionDataFromQueue)(this);
154
- // removeSendSubsriptionDataFromQueue
155
- if (this.based.listeners.disconnect) {
156
- this.based.listeners.disconnect.forEach((val) => val());
157
- }
158
- }
159
- onReconnect() {
160
- if (this.based.listeners.reconnect) {
161
- this.based.listeners.reconnect.forEach((val) => val());
162
- }
163
- if (this.tracking) {
164
- for (const k of this.tracking) {
165
- (0, queue_1.addToQueue)(this, [types_1.RequestTypes.Track, { t: k }]);
166
- }
167
- }
168
- }
169
- onOpen() {
170
- this.connected = true;
171
- if (this.based.listeners.connect) {
172
- this.based.listeners.connect.forEach((val) => val());
173
- }
174
- if (this.token) {
175
- (0, token_1.default)(this, this.token, this.sendTokenOptions);
176
- }
177
- (0, subscriptions_1.sendAllSubscriptions)(this);
178
- (0, queue_1.drainQueue)(this);
179
- }
180
- onData(d) {
181
- try {
182
- const data = JSON.parse(d.data);
183
- if (this.debugInternal) {
184
- this.debugInternal(data, 'incoming');
185
- }
186
- // @ts-ignore
187
- const [type, reqId, payload, err, subscriptionErr] = data;
188
- if (type === types_1.RequestTypes.Token) {
189
- this.retryingRenewToken = false;
190
- // means stomething got de-auth wrong
191
- if (reqId.length) {
192
- (0, subscriptions_1.logoutSubscriptions)(this, data);
193
- }
194
- if (!payload &&
195
- typeof err === 'string' &&
196
- this.user &&
197
- this.renewOptions.refreshToken) {
198
- this.token = err;
199
- }
200
- for (const fn of this.auth) {
201
- fn(!payload);
202
- }
203
- this.beingAuth = false;
204
- this.auth = [];
205
- }
206
- else if (type === types_1.RequestTypes.Auth) {
207
- (0, auth_1.incomingAuthRequest)(this, data);
208
- }
209
- else {
210
- if (
211
- // TODO: Find where expired token is not returning a code
212
- ((subscriptionErr || err)?.code ===
213
- types_1.BasedErrorCodes.TokenExpired ||
214
- (subscriptionErr || err)?.message ===
215
- 'Token expired') &&
216
- !this.retryingRenewToken) {
217
- this.retryingRenewToken = true;
218
- const userId = this.user;
219
- (0, auth_1.renewToken)(this, this.renewOptions)
220
- .then((result) => {
221
- (0, token_1.default)(this, result.token, this.sendTokenOptions);
222
- if (type === types_1.RequestTypes.Subscription ||
223
- type === types_1.RequestTypes.SubscriptionDiff) {
224
- // TODO: Check this with Jim
225
- // should it be the individual subscription?
226
- (0, subscriptions_1.sendAllSubscriptions)(this);
227
- }
228
- else {
229
- (0, request_1.addRequest)(this,
230
- // @ts-ignore
231
- type, err?.payload, this.requestCallbacks[reqId].resolve, this.requestCallbacks[reqId].reject);
232
- }
233
- this.based.emit('renewToken', result);
234
- if (result) {
235
- this.updateUserState(userId, result.token, this.renewOptions.refreshToken);
236
- }
237
- })
238
- .catch((err) => {
239
- this.requestCallbacks[reqId]?.reject(err);
240
- });
241
- }
242
- else {
243
- if (type === types_1.RequestTypes.Set ||
244
- type === types_1.RequestTypes.Get ||
245
- type === types_1.RequestTypes.Configuration ||
246
- type === types_1.RequestTypes.GetConfiguration ||
247
- type === types_1.RequestTypes.Call ||
248
- type === types_1.RequestTypes.Delete ||
249
- type === types_1.RequestTypes.Copy ||
250
- type === types_1.RequestTypes.Digest ||
251
- type === types_1.RequestTypes.RemoveType ||
252
- type === types_1.RequestTypes.RemoveField ||
253
- type === types_1.RequestTypes.BulkUpdate) {
254
- (0, request_1.incomingRequest)(this, data);
255
- }
256
- else if (type === types_1.RequestTypes.Subscription) {
257
- (0, subscriptions_1.incomingSubscription)(this, data);
258
- }
259
- else if (type === types_1.RequestTypes.SubscriptionDiff) {
260
- (0, subscriptions_1.incomingSubscriptionDiff)(this, data);
261
- }
262
- }
263
- }
264
- }
265
- catch (err) {
266
- console.error('Received incorrect data ', d.data);
267
- }
268
- }
269
- }
270
- exports.BasedClient = BasedClient;
271
- //# sourceMappingURL=Client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
package/dist/auth.d.ts DELETED
@@ -1,13 +0,0 @@
1
- import { BasedClient } from '.';
2
- import { AuthData, GenericObject, LoginOpts, RegisterOpts, RenewTokenOpts } from '@based/types';
3
- export declare const login: (client: BasedClient, opts: LoginOpts) => Promise<{
4
- token: string;
5
- }>;
6
- export declare const register: (client: BasedClient, opts: RegisterOpts) => Promise<{
7
- token: string;
8
- }>;
9
- export declare const renewToken: (client: BasedClient, opts: RenewTokenOpts) => Promise<{
10
- token: string;
11
- }>;
12
- export declare const incomingAuthRequest: (client: BasedClient, data: AuthData) => void;
13
- export declare const logout: (client: BasedClient) => Promise<GenericObject>;
package/dist/auth.js DELETED
@@ -1,87 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.logout = exports.incomingAuthRequest = exports.renewToken = exports.register = exports.login = void 0;
7
- const queue_1 = require("./queue");
8
- const types_1 = require("@based/types");
9
- const createError_1 = __importDefault(require("./createError"));
10
- const request_1 = require("./request");
11
- let loginCbId = 0;
12
- const login = (client, opts) => {
13
- const reqId = ++loginCbId;
14
- (0, queue_1.addToQueue)(client, [types_1.RequestTypes.Auth, types_1.AuthRequestTypes.Login, reqId, opts]);
15
- return new Promise((resolve, reject) => {
16
- client.authCallbacks[reqId] = {
17
- resolve: (response) => {
18
- if (response.id && response.token) {
19
- client.updateUserState(response.id, response.token, response.refreshToken);
20
- }
21
- else {
22
- client.updateUserState(false);
23
- }
24
- resolve(response);
25
- },
26
- reject,
27
- };
28
- });
29
- };
30
- exports.login = login;
31
- const register = (client, opts) => new Promise((resolve, reject) => {
32
- (0, request_1.addRequest)(client, types_1.RequestTypes.Call, opts, (response) => {
33
- if (response.id && response.token) {
34
- client.updateUserState(response.id, response.token, response.refreshToken);
35
- }
36
- else {
37
- client.updateUserState(false);
38
- }
39
- resolve(response);
40
- }, reject, 'registerUser');
41
- });
42
- exports.register = register;
43
- const renewToken = (client, opts) => {
44
- const reqId = ++loginCbId;
45
- (0, queue_1.addToQueue)(client, [
46
- types_1.RequestTypes.Auth,
47
- types_1.AuthRequestTypes.RenewToken,
48
- reqId,
49
- opts,
50
- ]);
51
- return new Promise((resolve, reject) => {
52
- client.authCallbacks[reqId] = {
53
- resolve,
54
- reject,
55
- };
56
- });
57
- };
58
- exports.renewToken = renewToken;
59
- const incomingAuthRequest = (client, data) => {
60
- const [, reqId, payload, err] = data;
61
- const cb = client.authCallbacks[reqId];
62
- if (cb) {
63
- delete client.authCallbacks[reqId];
64
- if (err) {
65
- cb.reject((0, createError_1.default)(err));
66
- }
67
- else {
68
- cb.resolve(payload);
69
- }
70
- }
71
- };
72
- exports.incomingAuthRequest = incomingAuthRequest;
73
- const logout = (client) => {
74
- const reqId = ++loginCbId;
75
- (0, queue_1.addToQueue)(client, [types_1.RequestTypes.Auth, types_1.AuthRequestTypes.Logout, reqId]);
76
- return new Promise((resolve, reject) => {
77
- client.authCallbacks[reqId] = {
78
- resolve: (response) => {
79
- client.updateUserState(false);
80
- resolve(response);
81
- },
82
- reject,
83
- };
84
- });
85
- };
86
- exports.logout = logout;
87
- //# sourceMappingURL=auth.js.map
package/dist/auth.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { ErrorObject, BasedError } from '@based/types';
2
- declare const _default: (err: ErrorObject) => BasedError;
3
- export default _default;