@based/client 1.2.4 → 2.3.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021 Saulx B.V.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,5 +1,12 @@
1
1
  # based-client
2
2
 
3
+ ## 🔗 Links
4
+ - [GitHub](https://github.com/atelier-saulx/based#readme)
5
+
6
+ ---
7
+
8
+ ## Description
9
+
3
10
  ## .observe(query, cb, err?)
4
11
 
5
12
  ```
@@ -67,3 +74,11 @@ try {
67
74
 
68
75
  }
69
76
  ```
77
+
78
+ ---
79
+
80
+ ## License
81
+
82
+ Licensed under the MIT License.
83
+
84
+ See [LICENSE](./LICENSE) for more information.
package/dist/Client.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,wCAUqB;AACrB,mDAOwB;AAExB,mCAAgE;AAChE,uCAA2C;AAC3C,oDAA+B;AAE/B,0CAAuB;AAEvB,MAAa,WAAW;IAGtB,YAAY,KAAY;QASxB,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;QA/D9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAoED,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,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;SACnD;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;AA/ID,kCA+IC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
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"}
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
@@ -34,7 +34,7 @@ export declare class Based extends Emitter {
34
34
  opts: BasedOpts;
35
35
  disconnect(): void;
36
36
  observeUntil(query: Query, condition: (data: GenericObject, checksum: number) => boolean, onData?: (data: any, checksum: number) => void): Promise<GenericObject>;
37
- gql(literals: string | readonly string[], ...args: any[]): any;
37
+ gql(literals: string | readonly string[], ...args: any[]): BasedGraphQL;
38
38
  gqlDb(db?: string): (literals: string | readonly string[], ...args: any[]) => BasedGraphQL;
39
39
  observe(query: Query, onData: (data: any, checksum: number) => void, onErr?: (err: Error) => void): Promise<() => void>;
40
40
  observe(name: string, onData: (data: any, checksum: number) => void, onErr?: (err: Error) => void): Promise<() => void>;
package/dist/index.js CHANGED
@@ -1,551 +1,15 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
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
- };
21
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
22
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
23
- };
24
- var __importDefault = (this && this.__importDefault) || function (mod) {
25
- return (mod && mod.__esModule) ? mod : { "default": mod };
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.Based = exports.Observable = exports.BasedClient = exports.generateSubscriptionId = exports.addRequest = exports.removeSubscriber = exports.addGetSubscriber = exports.addSubscriber = exports.generateTrackingKey = exports.handleGraphqlVariables = exports.parseGraphql = exports.createGraphqlOperations = exports.BasedGraphQL = void 0;
29
- const Emitter_1 = __importDefault(require("./Emitter"));
30
- const websocket_1 = __importDefault(require("./websocket"));
31
- const types_1 = require("@based/types");
32
- const subscriptions_1 = require("./subscriptions");
33
- Object.defineProperty(exports, "addSubscriber", { enumerable: true, get: function () { return subscriptions_1.addSubscriber; } });
34
- Object.defineProperty(exports, "generateSubscriptionId", { enumerable: true, get: function () { return subscriptions_1.generateSubscriptionId; } });
35
- Object.defineProperty(exports, "addGetSubscriber", { enumerable: true, get: function () { return subscriptions_1.addGetSubscriber; } });
36
- Object.defineProperty(exports, "removeSubscriber", { enumerable: true, get: function () { return subscriptions_1.removeSubscriber; } });
37
- const request_1 = require("./request");
38
- Object.defineProperty(exports, "addRequest", { enumerable: true, get: function () { return request_1.addRequest; } });
39
- const Client_1 = require("./Client");
40
- Object.defineProperty(exports, "BasedClient", { enumerable: true, get: function () { return Client_1.BasedClient; } });
41
- const findPrefix_1 = __importDefault(require("./findPrefix"));
42
- const createError_1 = __importDefault(require("./createError"));
43
- const hash_1 = require("@saulx/hash");
44
- const token_1 = __importDefault(require("./token"));
45
- const track_1 = __importStar(require("./track"));
46
- Object.defineProperty(exports, "generateTrackingKey", { enumerable: true, get: function () { return track_1.genKey; } });
47
- const observable_1 = require("./observable");
48
- Object.defineProperty(exports, "Observable", { enumerable: true, get: function () { return observable_1.Observable; } });
49
- const file_1 = __importDefault(require("./file"));
50
- const get_service_1 = __importStar(require("@based/get-service"));
51
- const utils_1 = require("@saulx/utils");
52
- const graphql_1 = require("@based/graphql");
53
- Object.defineProperty(exports, "BasedGraphQL", { enumerable: true, get: function () { return graphql_1.BasedGraphQL; } });
54
- Object.defineProperty(exports, "createGraphqlOperations", { enumerable: true, get: function () { return graphql_1.createOperations; } });
55
- Object.defineProperty(exports, "parseGraphql", { enumerable: true, get: function () { return graphql_1.parseGraphql; } });
56
- Object.defineProperty(exports, "handleGraphqlVariables", { enumerable: true, get: function () { return graphql_1.handleGraphqlVariables; } });
57
- __exportStar(require("@based/types"), exports);
58
- class Based extends Emitter_1.default {
59
- constructor(opts) {
60
- super();
61
- this.client = new Client_1.BasedClient(this);
62
- Object.defineProperty(this, 'client', {
63
- enumerable: false,
64
- writable: true,
65
- });
66
- if (opts && opts.url) {
67
- this.connect(opts.url);
68
- }
69
- this.graphql = {
70
- query: this.gqlQuery.bind(this),
71
- live: this.gqlLive.bind(this),
72
- };
73
- }
74
- connect(url) {
75
- if (!url && this._url) {
76
- if (!this.client.connection) {
77
- this.client.connection = (0, websocket_1.default)(this.client, this._url);
78
- }
79
- }
80
- else {
81
- this._url = url;
82
- this.client.connection = (0, websocket_1.default)(this.client, url);
83
- }
84
- }
85
- disconnect() {
86
- if (this.client.connection) {
87
- this.client.connection.disconnected = true;
88
- this.client.connection.destroy();
89
- if (this.client.connection.ws) {
90
- this.client.connection.ws.close();
91
- }
92
- if (this.client.connected) {
93
- this.client.onClose();
94
- }
95
- delete this.client.connection;
96
- }
97
- this.client.connected = false;
98
- }
99
- observeUntil(query, condition, onData) {
100
- return new Promise((resolve, reject) => {
101
- let close;
102
- let isResolved = false;
103
- this.observe(query, (d, checksum) => {
104
- if (onData) {
105
- onData(d, checksum);
106
- }
107
- if (condition(d, checksum)) {
108
- isResolved = true;
109
- if (close) {
110
- close();
111
- }
112
- resolve(d);
113
- }
114
- })
115
- .then((c) => {
116
- if (isResolved) {
117
- close();
118
- }
119
- else {
120
- close = c;
121
- }
122
- })
123
- .catch((err) => {
124
- reject(err);
125
- });
126
- });
127
- }
128
- gql(literals, ...args) {
129
- if (typeof literals === 'string') {
130
- literals = [literals];
131
- }
132
- let result = literals[0];
133
- args.forEach((arg, i) => {
134
- if (arg && arg.kind === 'Document') {
135
- result += arg.loc.source.body;
136
- }
137
- else {
138
- result += arg;
139
- }
140
- result += literals[i + 1];
141
- });
142
- return (0, graphql_1.createOperations)({ schemas: this.client.configuration.schema }, (0, graphql_1.parseGraphql)(result));
143
- }
144
- gqlDb(db = 'default') {
145
- return (literals, ...args) => {
146
- if (typeof literals === 'string') {
147
- literals = [literals];
148
- }
149
- let result = literals[0];
150
- args.forEach((arg, i) => {
151
- if (arg && arg.kind === 'Document') {
152
- result += arg.loc.source.body;
153
- }
154
- else {
155
- result += arg;
156
- }
157
- result += literals[i + 1];
158
- });
159
- return (0, graphql_1.createOperations)({ schemas: this.client.configuration.schema, db }, (0, graphql_1.parseGraphql)(result));
160
- };
161
- }
162
- observe(a, b, c, d) {
163
- if (typeof a === 'string') {
164
- return new Promise((resolve, reject) => {
165
- const noPayload = typeof b === 'function';
166
- const onData = noPayload ? b : c;
167
- const onErr = noPayload ? c : d;
168
- (0, subscriptions_1.addSubscriber)(this.client, noPayload ? undefined : b, // not only query should be any
169
- onData, (err, subscriptionId, subscriberId, _data, isAuthError) => {
170
- if (err && !isAuthError) {
171
- // maybe log also
172
- reject(err);
173
- }
174
- else {
175
- const unsubscribe = () => {
176
- (0, subscriptions_1.removeSubscriber)(this.client, subscriptionId, subscriberId);
177
- };
178
- resolve(unsubscribe);
179
- }
180
- }, onErr, undefined, a);
181
- });
182
- }
183
- else {
184
- return new Promise((resolve, reject) => {
185
- (0, subscriptions_1.addSubscriber)(this.client, a, b, (err, subscriptionId, subscriberId, _data, isAuthError) => {
186
- if (err && !isAuthError) {
187
- // maybe log also
188
- reject(err);
189
- }
190
- else {
191
- const unsubscribe = () => {
192
- (0, subscriptions_1.removeSubscriber)(this.client, subscriptionId, subscriberId);
193
- };
194
- resolve(unsubscribe);
195
- }
196
- }, c);
197
- });
198
- }
199
- }
200
- createObservable(a, payload) {
201
- if (typeof a === 'string') {
202
- return new observable_1.Observable(this.client, a, payload);
203
- }
204
- else {
205
- return new observable_1.Observable(this.client, a);
206
- }
207
- }
208
- observeSchema(a, b, c) {
209
- return new Promise((resolve, reject) => {
210
- const db = typeof a === 'string' ? a : 'default';
211
- const onData = typeof a === 'string' ? b : a;
212
- const onErr = typeof a === 'string' ? c : b;
213
- (0, subscriptions_1.addSubscriber)(this.client, { $subscribe_schema: db }, (data, checksum) => {
214
- if (!this.client.configuration) {
215
- this.client.configuration = { dbs: [], schema: {}, functions: {} };
216
- }
217
- // console.info('hello', this.client.configuration)
218
- this.client.configuration.schema[db] = data;
219
- onData(data, checksum);
220
- // this.client.configuration.schema
221
- }, (err, subscriptionId, subscriberId, _data, isAuthError) => {
222
- if (err && !isAuthError) {
223
- // maybe log also
224
- reject(err);
225
- }
226
- else {
227
- const unsubscribe = () => {
228
- (0, subscriptions_1.removeSubscriber)(this.client, subscriptionId, subscriberId);
229
- };
230
- resolve(unsubscribe);
231
- }
232
- }, onErr);
233
- });
234
- }
235
- get(a, payload) {
236
- if (typeof a === 'string') {
237
- return new Promise((resolve, reject) => {
238
- (0, subscriptions_1.addGetSubscriber)(this.client, payload, (err, _subscriber, _subId, data) => {
239
- if (err) {
240
- reject(err);
241
- }
242
- else {
243
- resolve(data);
244
- }
245
- }, 0, a);
246
- });
247
- }
248
- else {
249
- return new Promise((resolve, reject) => {
250
- (0, request_1.addRequest)(this.client, types_1.RequestTypes.Get, a, resolve, reject);
251
- });
252
- }
253
- }
254
- file(opts) {
255
- if (global.File && opts instanceof File) {
256
- opts = { contents: opts };
257
- }
258
- // @ts-ignore
259
- return (0, file_1.default)(this, opts);
260
- }
261
- call(name, payload) {
262
- return new Promise((resolve, reject) => {
263
- (0, request_1.addRequest)(this.client, types_1.RequestTypes.Call, payload, resolve, reject, name);
264
- });
265
- }
266
- async id(type, opts) {
267
- let prefix = (0, findPrefix_1.default)(this.client, type);
268
- if (!prefix) {
269
- await this.schema();
270
- prefix = (0, findPrefix_1.default)(this.client, type);
271
- }
272
- if (!prefix) {
273
- throw (0, createError_1.default)({
274
- message: `Type does not exist ${type}`,
275
- type: 'Invalid type',
276
- payload: opts
277
- ? { type, opts }
278
- : {
279
- type,
280
- },
281
- });
282
- }
283
- if (opts) {
284
- const optsHash = (0, hash_1.hashCompact)(opts, 8, true);
285
- return prefix + optsHash;
286
- }
287
- else {
288
- return (prefix +
289
- (0, hash_1.hashCompact)(Math.floor(Math.random() * 99999999999) + '' + Date.now()));
290
- }
291
- }
292
- digest(payload) {
293
- return new Promise((resolve, reject) => {
294
- (0, request_1.addRequest)(this.client, types_1.RequestTypes.Digest, payload, resolve, reject);
295
- });
296
- }
297
- set(payload) {
298
- return new Promise((resolve, reject) => {
299
- (0, request_1.addRequest)(this.client, types_1.RequestTypes.Set, payload, resolve, reject);
300
- });
301
- }
302
- copy(payload) {
303
- return new Promise((resolve, reject) => {
304
- (0, request_1.addRequest)(this.client, types_1.RequestTypes.Copy, payload, resolve, reject);
305
- });
306
- }
307
- async gqlQuery(q, variables = {}) {
308
- let op;
309
- if (typeof q === 'string') {
310
- op = this.gql(q);
311
- }
312
- else {
313
- op = q;
314
- }
315
- try {
316
- op = (0, graphql_1.handleGraphqlVariables)(op, op, variables);
317
- if (op.opType === 'GET') {
318
- const queryObj = { $db: op.db };
319
- const fnReplies = [];
320
- for (const key in op.ops) {
321
- if (op.ops[key].fnObserve) {
322
- const resp = await this.get(op.ops[key].fnObserve.name, op.ops[key].fnObserve.payload);
323
- fnReplies.push({ key, reply: resp });
324
- continue;
325
- }
326
- if (op.ops[key].get) {
327
- queryObj[key] = op.ops[key].get;
328
- }
329
- }
330
- const getResult = await this.get(queryObj);
331
- for (const { key, reply } of fnReplies) {
332
- getResult[key] = reply;
333
- }
334
- return { data: getResult };
335
- }
336
- const reply = {};
337
- await Promise.all(Object.entries(op.ops).map(async ([k, o]) => {
338
- if (o.delete) {
339
- reply[k] = await this.delete(o.delete);
340
- return;
341
- }
342
- else if (o.fnCall) {
343
- reply[k] = await this.call(o.fnCall.name, o.fnCall.payload);
344
- return;
345
- }
346
- const { id } = await this.set(o.set);
347
- if (!o.get) {
348
- const res = {};
349
- res.id = id;
350
- const type = this.client?.configuration?.schema?.[op.db]
351
- ?.prefixToTypeMapping?.[id.slice(0, 2)];
352
- if (type) {
353
- res.type = type;
354
- }
355
- reply[k] = res;
356
- return;
357
- }
358
- const getOpts = (0, utils_1.deepCopy)(o.get);
359
- getOpts.$id = id;
360
- const getData = await this.get(getOpts);
361
- reply[k] = getData;
362
- }));
363
- return { data: reply };
364
- }
365
- catch (e) {
366
- return { errors: [{ message: e.message, locations: e.locations }] };
367
- }
368
- }
369
- async gqlLive(q, variables = {}) {
370
- let op;
371
- if (typeof q === 'string') {
372
- op = this.gql(q);
373
- }
374
- else {
375
- op = q;
376
- }
377
- op = (0, graphql_1.handleGraphqlVariables)(op, op, variables);
378
- if (op.opType === 'GET') {
379
- const fns = [];
380
- const queryObj = {};
381
- for (const key in op.ops) {
382
- if (op.ops[key].fnObserve) {
383
- const { name, payload } = op.ops[key].fnObserve;
384
- fns.push({ key, fn: { name: name, payload } });
385
- continue;
386
- }
387
- queryObj[key] = op.ops[key].get;
388
- }
389
- if (fns?.length) {
390
- const allObs = fns.map((fn) => {
391
- return {
392
- obs: new observable_1.Observable(this.client, fn.fn.name, fn.fn.payload),
393
- key: fn.key,
394
- };
395
- });
396
- const queryObs = new observable_1.Observable(this.client, {
397
- $db: op.db,
398
- ...queryObj,
399
- });
400
- allObs.push({ key: '', obs: queryObs });
401
- return new observable_1.CompoundObservable(this.client, allObs);
402
- }
403
- return new observable_1.Observable(this.client, { $db: op.db, data: queryObj });
404
- }
405
- const queryObj = {};
406
- await Promise.all(Object.entries(op.ops).map(async ([k, op]) => {
407
- if (op.delete) {
408
- queryObj[k] = await this.delete(op.delete);
409
- return;
410
- }
411
- else if (op.fnCall) {
412
- queryObj[k] = await this.call(op.fnCall.name, op.fnCall.payload);
413
- return;
414
- }
415
- const { id } = await this.set(op.set);
416
- const getOpts = (0, utils_1.deepCopy)(op.get);
417
- getOpts.$id = id;
418
- queryObj[k] = getOpts;
419
- }));
420
- return new observable_1.Observable(this.client, { $db: op.db, data: queryObj });
421
- }
422
- analytics(opts, onData) {
423
- return new Promise((resolve, reject) => {
424
- if (onData) {
425
- (0, subscriptions_1.addSubscriber)(this.client, opts, onData, (err, subscriptionId, subscriberId, _data, isAuthError) => {
426
- if (err && !isAuthError) {
427
- reject(err);
428
- }
429
- else {
430
- const unsubscribe = () => {
431
- (0, subscriptions_1.removeSubscriber)(this.client, subscriptionId, subscriberId);
432
- };
433
- resolve(unsubscribe);
434
- }
435
- }, (err) => console.error(err), undefined, 'analytics');
436
- }
437
- else {
438
- (0, subscriptions_1.addGetSubscriber)(this.client, opts, (err, _subscriber, _subId, data) => {
439
- if (err) {
440
- reject(err);
441
- }
442
- else {
443
- if ((0, types_1.isAnalyticsHistoryOpts)(opts)) {
444
- resolve(data);
445
- }
446
- else if ((0, types_1.isAnalyticsTypesOpts)(opts)) {
447
- resolve(data);
448
- }
449
- else {
450
- resolve(data);
451
- }
452
- }
453
- }, 0, 'analytics');
454
- }
455
- });
456
- }
457
- track(type, params) {
458
- (0, track_1.default)(this.client, type, params);
459
- }
460
- clearAnalytics(type, params) {
461
- (0, track_1.default)(this.client, type, params, false, false, undefined, true);
462
- }
463
- untrack(type, params) {
464
- (0, track_1.default)(this.client, type, params, true);
465
- }
466
- event(type, params, opts) {
467
- (0, track_1.default)(this.client, type, params, false, true, opts);
468
- }
469
- delete(payload) {
470
- return new Promise((resolve, reject) => {
471
- (0, request_1.addRequest)(this.client, types_1.RequestTypes.Delete, payload, resolve, reject);
472
- });
473
- }
474
- schema() {
475
- return new Promise((resolve, reject) => {
476
- const resolver = (config) => {
477
- this.client.configuration = config;
478
- resolve(config);
479
- };
480
- (0, request_1.addRequest)(this.client, types_1.RequestTypes.GetConfiguration, 0, resolver, reject);
481
- });
482
- }
483
- updateSchema(configuration) {
484
- return new Promise((resolve, reject) => {
485
- (0, request_1.addRequest)(this.client, types_1.RequestTypes.Configuration, configuration, resolve, reject);
486
- });
487
- }
488
- getToken() {
489
- return this.client.token;
490
- }
491
- // allow localstorage
492
- auth(token, options) {
493
- return new Promise((resolve) => {
494
- this.client.auth.push(resolve);
495
- if ((token && token !== this.client.token) ||
496
- (token === false && this.client.token)) {
497
- if (typeof token === 'string') {
498
- (0, token_1.default)(this.client, token, options);
499
- }
500
- else {
501
- // this is very important
502
- // may need to add a req Id (and a timer how long it takes)
503
- (0, token_1.default)(this.client);
504
- }
505
- this.emit('auth', token);
506
- }
507
- });
508
- }
509
- }
510
- exports.Based = Based;
511
- // auth as admin // auth as based
512
- const addParamsToUrl = (url, params) => {
513
- if (params) {
514
- let firstChecked;
515
- url += /\?/.test(url) ? '&' : '?';
516
- for (const key in params) {
517
- const value = params[key];
518
- url += firstChecked ? `&${key}=${value}` : `${key}=${value}`;
519
- firstChecked = true;
520
- }
521
- }
522
- return url;
523
- };
524
- const based = (opts, BasedClass = Based) => {
525
- let { env, project, org, url, key, name = '@based/hub', cluster, params, } = opts;
526
- /*
527
- observeSchema
528
-
529
- */
530
- if (!url) {
531
- cluster = opts.cluster = (0, get_service_1.getClusterUrl)(cluster);
532
- url = async () => {
533
- const { url } = await (0, get_service_1.default)({
534
- env,
535
- project,
536
- org,
537
- key,
538
- name,
539
- }, 0, cluster);
540
- return addParamsToUrl(url, params);
541
- };
542
- }
543
- if (url) {
544
- const client = new BasedClass();
545
- client.opts = opts;
546
- client.connect(url);
547
- return client;
548
- }
549
- };
550
- exports.default = based;
551
- //# sourceMappingURL=index.js.map
1
+ var Le=Object.create;var R=Object.defineProperty;var He=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames,he=Object.getOwnPropertySymbols,ze=Object.getPrototypeOf,ye=Object.prototype.hasOwnProperty,Je=Object.prototype.propertyIsEnumerable;var ge=(t,s,e)=>s in t?R(t,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[s]=e,ve=(t,s)=>{for(var e in s||(s={}))ye.call(s,e)&&ge(t,e,s[e]);if(he)for(var e of he(s))Je.call(s,e)&&ge(t,e,s[e]);return t};var Ke=(t,s)=>{for(var e in s)R(t,e,{get:s[e],enumerable:!0})},j=(t,s,e,i)=>{if(s&&typeof s=="object"||typeof s=="function")for(let r of _e(s))!ye.call(t,r)&&r!==e&&R(t,r,{get:()=>s[r],enumerable:!(i=He(s,r))||i.enumerable});return t},b=(t,s,e)=>(j(t,s,"default"),e&&j(e,s,"default")),N=(t,s,e)=>(e=t!=null?Le(ze(t)):{},j(s||!t||!t.__esModule?R(e,"default",{value:t,enumerable:!0}):e,t)),We=t=>j(R({},"__esModule",{value:!0}),t);var f={};Ke(f,{Based:()=>Z,BasedClient:()=>A,BasedGraphQL:()=>y.BasedGraphQL,Observable:()=>T,addGetSubscriber:()=>L,addRequest:()=>O,addSubscriber:()=>B,createGraphqlOperations:()=>y.createOperations,default:()=>ct,generateSubscriptionId:()=>C,generateTrackingKey:()=>ue,handleGraphqlVariables:()=>y.handleGraphqlVariables,parseGraphql:()=>y.parseGraphql,removeSubscriber:()=>g});module.exports=We(f);var te=class{constructor(){this.listeners={};Object.defineProperty(this,"listeners",{enumerable:!1,writable:!0})}emit(s,e){this.listeners[s]&&this.listeners[s].forEach(i=>i(e))}on(s,e){this.listeners[s]||(this.listeners[s]=[]),this.listeners[s].push(e)}removeAllListeners(){this.listeners={}}once(s,e){this.on(s,i=>{e(i),this.removeListener(s,e)})}removeListener(s,e){let i=this.listeners[s];if(i){if(!e)delete this.listeners[s];else for(let r=0,n=i.length;r<n;r++)if(i[r]===e){i.splice(r,1);break}}}},Se=te;var ke=(t,s)=>{typeof t=="function"?t().then(e=>{s(e)}):s(t)};var Te=N(require("isomorphic-ws")),U=new Map,Oe;typeof window!="undefined"&&document.addEventListener("visibilitychange",function(t){clearTimeout(Oe),document.hidden?Oe=setTimeout(()=>{U.forEach(s=>{s(!1)})},3e4):U.forEach(s=>{s(!0)})});var se=(t,s,e={destroy:()=>{U.delete(e)}},i=0,r=!1)=>(ke(s,n=>{setTimeout(()=>{if(e.disconnected)return;let o=!0;U.set(e,a=>{e.disconnected||(!a&&o?(console.warn("Send to background - close connection"),o=!1,t.onClose(),c.close()):!o&&a&&(U.delete(e),se(t,s,e,0,!0)))});let c=e.ws=new Te.default(n);c.onerror=()=>{},c.onmessage=a=>t.onData(a),c.onopen=()=>{if(o){if(e.disconnected)return;i=100,r&&t.onReconnect(),t.onOpen()}},c.onclose=()=>{if(o){if(e.disconnected)return;t.onClose(),se(t,s,e,Math.min(1250,Math.min(i+500)),!0)}}},i)}),e),re=se;var k=require("@based/types");var E=require("@based/types");var x=require("@based/types");var Ve=t=>{clearTimeout(t.idlePing),t.idlePing=setTimeout(()=>{t.connection&&t.connected&&!t.connection.disconnected&&t.connection.ws.send("1")},6e4)},M=Ve;var m=(t,s)=>{s[0]===x.RequestTypes.Unsubscribe||s[0]===x.RequestTypes.Subscription||s[0]===x.RequestTypes.SendSubscriptionData||s[0]===x.RequestTypes.GetSubscription?t.subscriptionQueue.push(s):t.queue.push(s),t.connected&&!t.drainInProgress&&ie(t)},ie=t=>{t.connected&&!t.drainInProgress&&(t.queue.length||t.subscriptionQueue.length)&&(t.drainInProgress=!0,t.drainTimeout=setTimeout(()=>{if(t.drainInProgress=!1,t.queue.length||t.subscriptionQueue.length){let s=[...t.queue,...t.subscriptionQueue];t.queue=[],t.subscriptionQueue=[],t.connection.ws.send(JSON.stringify(s)),M(t)}},0))},Ce=t=>{t.drainInProgress&&(clearTimeout(t.drainTimeout),t.drainInProgress=!1)};var ne=require("@saulx/hash"),C=(t,s)=>s?(0,ne.hashObjectIgnoreKeyOrder)([s,t]):(0,ne.hashObjectIgnoreKeyOrder)(t);var L=(t,s,e,i,r)=>{i||(i=C(s,r));let n=t.subscriptions[i],o=t.cache[i];if(n)if(n.authError)if(!t.beingAuth)e(n.authError.error,i,0);else{let c=++n.cnt;n.subscribers[c]={onInitial:e}}else if(o)e(null,i,0,o.value);else{let c=++n.cnt;n.subscribers[c]={onInitial:e}}else{n=t.subscriptions[i]={query:s,cnt:1,name:r,subscribers:{1:{onInitial:e}}};let c;for(let a=0;a<t.subscriptionQueue.length;a++){let[u,l,,p]=t.subscriptionQueue[a];(u===E.RequestTypes.Unsubscribe||u===E.RequestTypes.SendSubscriptionData)&&l===i?(t.subscriptionQueue.splice(a,1),a--):(u===E.RequestTypes.Subscription||u===E.RequestTypes.GetSubscription)&&l===i&&(c=!0,u===E.RequestTypes.Subscription&&(p!==o.checksum&&(t.subscriptionQueue[a][3]=o.checksum),t.subscriptionQueue[a][4]=2))}if(!c){let a=[E.RequestTypes.GetSubscription,i,s];o&&a.push(o.checksum),r&&(o||a.push(0),a.push(r)),m(t,a)}}};var w=require("@based/types");var B=(t,s,e,i,r,n,o)=>{n||(n=C(s,o));let c=t.subscriptions[n],a=t.cache[n],u;if(c){u=++c.cnt;let l=!0;for(let p in c.subscribers)if(c.subscribers[p].onData){l=!1;break}if(c.subscribers[u]={onError:r,onData:e,onInitial:i},l){for(let d=0;d<t.subscriptionQueue.length;d++){let[h,v]=t.subscriptionQueue[d];h===w.RequestTypes.GetSubscription&&v===n&&(t.subscriptionQueue.splice(d,1),d--)}let p=[w.RequestTypes.Subscription,n,s];a&&(p.push(a.checksum),p.push(2)),o&&(a||p.push(0,2),p.push(o)),m(t,p)}}else{u=1,c=t.subscriptions[n]={query:s,cnt:1,name:o,subscribers:{1:{onError:r,onData:e,onInitial:i}}};let l=!1,p=!1,d;for(let h=0;h<t.subscriptionQueue.length;h++){let[v,P,,F]=t.subscriptionQueue[h];(v===w.RequestTypes.Unsubscribe||v===w.RequestTypes.SendSubscriptionData||v===w.RequestTypes.GetSubscription)&&P===n?(v===w.RequestTypes.GetSubscription&&(p=!0),d&&(d[4]=2),t.subscriptionQueue.splice(h,1),h--):v===w.RequestTypes.Subscription&&P===n&&(l=!0,d=t.subscriptionQueue[h],F!==a.checksum&&(d[3]=a.checksum),!d[4]&&p&&(d[4]=2))}if(!l){let h=[w.RequestTypes.Subscription,n,s];a&&(h.push(a.checksum),p&&h.push(2)),o&&(a?!p&&a&&h.push(2):h.push(0,0),h.push(o)),m(t,h)}}return a&&(i&&(i(null,n,u),delete c.subscribers[u].onInitial),e&&e(a.value,a.checksum)),[n,u]};var D=require("@based/types");var g=(t,s,e)=>{let i=t.subscriptions[s];if(i){let r=!1;if(e?i.subscribers[e]&&(delete i.subscribers[e],i.cnt--,i.cnt===0&&(r=!0)):r=!0,r){delete t.subscriptions[s];let n=!1;for(let o=0;o<t.subscriptionQueue.length;o++){let[c,a]=t.subscriptionQueue[o];c===D.RequestTypes.Unsubscribe&&a===s?n=!0:(c===D.RequestTypes.Subscription||c===D.RequestTypes.SendSubscriptionData)&&a===s&&(t.subscriptionQueue.splice(o,1),o--)}n||m(t,[D.RequestTypes.Unsubscribe,s])}}};var we=require("@based/types"),Pe=t=>{for(let s=0;s<t.subscriptionQueue.length;s++)t.subscriptionQueue[s][0]===we.RequestTypes.Unsubscribe&&(t.subscriptionQueue.splice(s,1),s--)};var Be=require("@based/types"),qe=t=>{for(let s=0;s<t.subscriptionQueue.length;s++)t.subscriptionQueue[s][0]===Be.RequestTypes.SendSubscriptionData&&(t.subscriptionQueue.splice(s,1),s--)};var H=(t,s=!1)=>{for(let e in t.subscriptions){let i=Number(e),r=t.subscriptions[e];if(s&&!r.authError)continue;let n,o,c;for(let l=0;l<t.subscriptionQueue.length;l++){let[p,d]=t.subscriptionQueue[l];d===i&&(p===10?(c=l,n=t.subscriptionQueue[l]):p===1&&(o=t.subscriptionQueue[l]))}n&&o&&console.error("GET IN Q AND SUB IN Q SHOULD BE IMPOSSIBLE");let a=t.cache[i],u=!1;if(n){let l=!0;for(let p in r.subscribers)if(r.subscribers[p].onData){l=!1;break}l?u=!0:(console.info("not only gets remove get"),t.subscriptionQueue.splice(c,1)),a&&n[3]!==a.checksum&&(n[3]=a.checksum)}if(!u)if(o)a&&o[3]!==a.checksum&&(o[3]=a.checksum,n&&(o[4]=2));else{let{name:l,query:p}=t.subscriptions[i];l?a?m(t,[1,i,p,a.checksum,n?2:0,l]):m(t,[1,i,p,0,n?2:0,l]):a?m(t,[1,i,p,a.checksum,n?2:0]):m(t,[1,i,p,0,n?2:0])}}};var _=(t,s)=>{if(typeof window!="undefined")return t;let e={white:"\x1B[37;1m",reset:"\x1B[0m",blue:"\x1B[34m",red:"\x1B[31m",green:"\x1B[32m",brightBlue:"\x1B[34;1m",brightRed:"\x1B[31;1m"};return`${e[s]}${t}${e.reset}`},oe=(t,s=0,e=!1,i="",r=!1)=>{let n="";for(let a=0;a<s;a++)n+=" ";let o=e?[]:i?[n+`${_(i,r?"brightRed":"white")} {`]:[n+"{"],c=!1;e||(n+=" ",s+=1);for(let a in t){let u=t[a],l=a[0]==="$"?_(a,"white"):a;if(c&&(o[o.length-1]+=","),Array.isArray(u)){o.push(`${n} ${l}: [`);for(let p=0;p<u.length;p++){let d=u[p];o.push(...d&&typeof d=="object"?oe(d,s+4):[`${n} ${d}`]),p!==u.length-1&&(o[o.length-1]+=",")}o.push(`${n} ]`)}else u&&typeof u=="object"?(o.push(`${n} ${l}: {`),o.push(...oe(u,s+2,!0)),o.push(`${n} }`)):o.push(`${n} ${l}: ${u}`);c=!0}return e||o.push(n.slice(0,-1)+"}"),o},z=oe;var q=t=>{let s=new Error(t.message);if(s.name=t.name?`${t.type} from ${t.name}`:t.type,s.stack=null,t.query||t.payload){let e=s.message.split(`
2
+ `),i=0;e[0]===""&&e.shift();let r=e[0];for(let n=0;n<r.length;n++)if(r[n]!==" "){i=n-2;break}i>0?e=e.map(n=>n.slice(i)):e=e.map(n=>" "+n),t.code&&(s.code=t.code),s.message=`
3
+
4
+ `+(t.payload&&typeof t.payload!="object"?` ${_("Payload","brightRed")} ${t.payload}`:z(t.payload||t.query,0,!1,t.payload?"Payload":"Query",!0).map(n=>" "+n).join(`
5
+ `))+`
6
+
7
+ `+e.join(`
8
+ `)+`
9
+
10
+ `}return s};var Ee=(t,s)=>{let[,e,i,r,n]=s,o=t.subscriptions[e];if(o){let c=t.cache[e]&&t.cache[e].checksum;if(n){let a=q(n);n.auth&&(o.authError={token:t.token,error:a});for(let u in o.subscribers){let l=o.subscribers[u];l.onInitial?n.auth?(l.onError&&l.onError(a),l.onInitial(a,Number(e),Number(u),void 0,!0),delete l.onInitial):(l.onInitial(a,Number(e),Number(u)),delete l.onInitial,g(t,e,Number(u))):l.onError&&l.onError(a)}}else if(c===r){o.authError&&delete o.authError;for(let a in o.subscribers){let u=o.subscribers[a];u.onInitial&&(u.onInitial(null,Number(e),Number(a),t.cache[e].value),delete u.onInitial,u.onData||g(t,e,Number(a)))}}else{o.authError&&delete o.authError,t.cache[e]={value:i,checksum:r};for(let a in o.subscribers){let u=o.subscribers[a];u.onInitial&&(u.onInitial(null,Number(e),Number(a),i),delete u.onInitial,u.onData||g(t,e,Number(a))),u.onData&&u.onData(i,r)}}}};var Fe=require("@saulx/diff"),J=require("@based/types");var Qe=(t,s)=>{let[,e,i,[r,n]]=s,o=t.subscriptions[e];if(o){let c=t.cache[e];if(!c||c.checksum!==r)if(c)if(c.checksum===n)for(let a in o.subscribers){let u=o.subscribers[a];u.onInitial&&(u.onInitial(null,Number(e),Number(a),c.value),delete u.onInitial,u.onData||g(t,e,Number(a)))}else m(t,[J.RequestTypes.SendSubscriptionData,e]);else m(t,[J.RequestTypes.SendSubscriptionData,e]);else{let a=!1;try{c.value=(0,Fe.applyPatch)(c.value,i),c.value===null&&(a=!0)}catch(u){a=!0}if(a)console.warn(`
11
+ Found corrupt data while applying diff to subscription need to re-fetch
12
+ `),console.warn(z(o.query,2,!1,"Query").join(`
13
+ `)+`
14
+
15
+ `),delete t.cache[e],m(t,[J.RequestTypes.SendSubscriptionData,e]);else{c.checksum=n;for(let u in o.subscribers){let l=o.subscribers[u];l.onInitial&&(l.onInitial(null,Number(e),Number(u),c.value),delete l.onInitial,l.onData||g(t,e,Number(u))),l.onData&&l.onData(c.value,c.checksum)}}}}};var Re=(t,s)=>{for(let e of s[1]){delete t.cache[e];let i=t.subscriptions[e];if(i){let r={type:"AuthorizationError",name:i.name?`observe "${i.name}"`:"observe",message:"Unauthorized request",payload:i.query,auth:!0},n=q(r);i.authError={token:t.token,error:n};for(let o in i.subscribers){let c=i.subscribers[o];c.onError&&c.onError(n)}}}};var Ue=require("@based/types");var Xe=0,O=(t,s,e,i,r,n)=>{let o=++Xe;t.requestCallbacks[o]={resolve:i,reject:r},s===Ue.RequestTypes.Call?m(t,[s,n,o,e]):m(t,[s,o,e])};var xe=(t,s)=>{let[,e,i,r]=s,n=t.requestCallbacks[e];n&&(delete t.requestCallbacks[e],r?n.reject(q(r)):n.resolve(i))};var S=require("@based/types");var ae=require("@based/types");var Ye=t=>typeof t!="undefined"&&t!==null,Ze=(t,s,e)=>{if(t.beingAuth=!0,s)t.token=s,t.sendTokenOptions=e;else{for(let i in t.cache)t.subscriptions[i]||delete t.cache[i];delete t.token,delete t.sendTokenOptions}if(t.connected){let i=s?[ae.RequestTypes.Token,s,e].filter(Ye):[ae.RequestTypes.Token];t.connection.ws.send(JSON.stringify(i)),M(t),H(t,!0)}},I=Ze;var A=class{constructor(s){this.auth=[];this.subscriptions={};this.cache={};this.requestCallbacks={};this.connected=!1;this.subscriptionQueue=[];this.queue=[];this.drainInProgress=!1;this.based=s}onClose(){this.connected=!1,Ce(this),Pe(this),qe(this),this.based.listeners.disconnect&&this.based.listeners.disconnect.forEach(s=>s())}onReconnect(){if(this.based.listeners.reconnect&&this.based.listeners.reconnect.forEach(s=>s()),this.tracking)for(let s of this.tracking)m(this,[S.RequestTypes.Track,{t:s}])}onOpen(){this.connected=!0,this.based.listeners.connect&&this.based.listeners.connect.forEach(s=>s()),this.token&&I(this,this.token,this.sendTokenOptions),H(this),ie(this)}onData(s){try{let e=JSON.parse(s.data);if(e[0]===S.RequestTypes.Token){e[1].length&&Re(this,e);for(let i of this.auth)i(!e[2]);this.beingAuth=!1,this.auth=[]}else e[0]===S.RequestTypes.Set||e[0]===S.RequestTypes.Get||e[0]===S.RequestTypes.Configuration||e[0]===S.RequestTypes.GetConfiguration||e[0]===S.RequestTypes.Call||e[0]===S.RequestTypes.Delete||e[0]===S.RequestTypes.Copy||e[0]===S.RequestTypes.Digest?xe(this,e):e[0]===S.RequestTypes.Subscription?Ee(this,e):e[0]===S.RequestTypes.SubscriptionDiff&&Qe(this,e)}catch(e){console.error("Received incorrect data ",s)}}};var ce=(t,s)=>{let e;if(t.configuration&&t.configuration.schema)for(let i in t.configuration.schema){let r=t.configuration.schema[i];if(r.prefixToTypeMapping){for(let n in r.prefixToTypeMapping)if(r.prefixToTypeMapping[n]===s){e=n;break}}}return e};var fe=require("@saulx/hash");var Ie=require("@based/types"),Ae=require("@saulx/hash"),De=new Set,et=t=>{if(typeof window!="undefined"){if(De.has(t))return!1;De.add(t);try{let s="_ba:"+(0,Ae.hashCompact)(t);return localStorage.getItem(s)?!1:(localStorage.setItem(s,"1"),!0)}catch(s){return!1}}return!1},ue=(t,s)=>{if(s){let e=`${t}`,i=Object.keys(s).sort();for(let r of i)e+="_"+r+"_"+s[r];return e}else return t},G=(t,s,e,i,r,n,o)=>{let c=ue(s,e),a={t:c};o&&(a.r=1),r&&(a.e=1,n&&(a.o=n)),i?(a.s=1,t.tracking.delete(c)):o||(r||(t.tracking||(t.tracking=new Set),t.tracking.add(c)),et(c)&&(a.u=1)),m(t,[Ie.RequestTypes.Track,a])};var le=class{constructor(s,e,i){this.closed=!1;this.client=s,this.subId=i,this.subscriberId=e}unsubscribe(){this.closed=!0,g(this.client,this.subId,this.subscriberId)}},pe=class{constructor(s,e){this.closed=!1;this.client=s,this.subs=e}unsubscribe(){if(!this.closed){this.closed=!0;for(let s of this.subs)s.unsubscribe()}}},K=class{constructor(s,e){this.client=s,this.components=e}subscribe(s,e,i){let r={data:{}},n=[];for(let{key:o,obs:c}of this.components){let a=c.subscribe(u=>{if(o===""){Object.assign(r.data,u),s(r);return}r.data[o]=u,s(r)},e);n.push(a)}return new pe(this.client,n)}},T=class{constructor(s,e,i){this.client=s,this.subId=typeof e=="string"?C(i,e):C(e),this.name=typeof e=="string"?e:null,this.payload=typeof e=="string"?i:e}subscribe(s,e,i){let[,r]=B(this.client,this.payload,s,n=>{n&&(console.error(n),e&&e(n))},e,this.subId,this.name);return new le(this.client,r,this.subId)}};var de={},$={},tt=(t,s)=>{de[t]||(de[t]=!0,setTimeout(()=>{console.info("Drain file q"),de[t]=!1;let e=$[t];$[t]=[];let i=new global.FormData;for(let r of e){let{raw:n,name:o,id:c,file:a,functionName:u}=r,l=`${u||""}|${n?1:0}|${c}|${a.size}${o?`|${o}`:""}`;i.append(l,a)}try{let r=new global.XMLHttpRequest;r.upload.onprogress=n=>{let o=100*(n.loaded||n.position)/(n.totalSize||n.total);console.info(o,"upload...")},r.onerror=n=>{console.error("error!",n,"flap",r.responseText)},r.timeout=1e3*60*60*24,r.onabort=n=>{console.error("abort",n)},r.ontimeout=n=>{console.error("on timeout",n)},r.onload=()=>{let n={};try{n=JSON.parse(r.response),console.info("SUCCESS",n)}catch(o){console.error("something wrong with file upload",o)}},r.open("POST",t+"/file"),r.setRequestHeader("Content-Type","multipart/form-data"),r.setRequestHeader("Authorization",s),r.send(i)}catch(r){console.error("Something wrong with xhr upload",r)}},500))},Ge=async(t,s,e,i,r,n,o)=>{$[e]||($[e]=[]),$[e].push({file:s,id:i,url:e,raw:r,name:n,functionName:o}),tt(e,t.getToken())};var $e=N(require("@based/get-service")),W={},V={},st=async(t,s)=>{if(s.url)return typeof s.url=="string"?s.url:await s.url();if(!t.opts.env&&t.opts.url)return typeof t.opts.url=="string"?t.opts.url:await t.opts.url();let{env:e,project:i,org:r}=t.opts,n=e+"/"+i+"/"+r+"/"+t.opts.cluster;if(W[n])return W[n];if(V[n])return(await V[n]).url;let o=await(V[n]=(0,$e.default)({env:e,project:i,org:r,name:"@based/hub",key:"file-upload",optionalKey:!0},0,t.opts.cluster));return delete V[n],setTimeout(()=>{delete W[n]},2e3),W[n]=o.url},je=st;var Ne=N(require("cross-fetch")),X=(t,s,e)=>((0,Ne.default)(s,{method:"POST",cache:"no-cache",headers:{"Content-Type":e.mimeType||"text/plain","File-Id":e.id,"File-Is-Raw":e.raw?"1":"0","File-Name":e.name||"","Function-Name":e.functionName||"",Authorization:t.getToken()},body:e.contents}).then(i=>{}).catch(i=>{console.error("Error while uploading file",i)}),{id:e.id});var Q=require("./file/stream"),Y=typeof window!="undefined",rt=t=>"src"in t&&typeof t.src=="string",it=t=>"path"in t&&typeof t.path=="string",nt=t=>"contents"in t&&(0,Q.isStream)(t.contents),Me=async(t,s)=>{if(rt(s)){let r=s.id?{$id:s.id}:{type:"file"};return s.src?(r.src=s.src,r.origin=s.src,s.size&&(r.size=s.size),s.name&&(r.name=s.name),s.parents&&(r.parents=s.parents),await t.set(r)):void 0}let e=s.id;if(!e){let r={type:"file",progress:0};s.name?r.name=s.name:global.File&&"contents"in s&&s.contents instanceof global.File&&(r.name=s.contents.name),s.parents&&(r.parents=s.parents),e=(await t.set(r)).id}s.id=e;let i=(await je(t,s)).replace(/^ws/,"http");if(it(s))return(0,Q.uploadFilePath)(t,i,s),{id:e};if(nt(s))return(0,Q.uploadFileStream)(t,i,s),{id:e};if(s.contents instanceof ArrayBuffer)return s.contents=Y?new global.Blob([s.contents],{type:s.mimeType||"text/plain"}):global.Buffer.from(s.contents),X(t,i+"/file",s);if(Y&&s.contents instanceof global.Blob)return s.mimeType||(s.mimeType=s.contents.type),X(t,i+"/file",s);if(typeof s.contents=="string"||!Y&&s.contents instanceof global.Buffer)return X(t,i+"/file",s);if(Y&&s.contents instanceof File)return Ge(t,s.contents,i,s.id,s.raw||!1,s.name,s.functionName),{id:e};throw s.id||await t.delete({$id:e}),new Error(`Invalid contents for file api ${JSON.stringify(s,null,2)}`)};var ee=N(require("@based/get-service")),be=require("@saulx/utils"),y=require("@based/graphql");b(f,require("@based/types"),module.exports);var Z=class extends Se{constructor(e){super();this.client=new A(this),Object.defineProperty(this,"client",{enumerable:!1,writable:!0}),e&&e.url&&this.connect(e.url),this.graphql={query:this.gqlQuery.bind(this),live:this.gqlLive.bind(this)}}connect(e){!e&&this._url?this.client.connection||(this.client.connection=re(this.client,this._url)):(this._url=e,this.client.connection=re(this.client,e))}disconnect(){this.client.connection&&(this.client.connection.disconnected=!0,this.client.connection.destroy(),this.client.connection.ws&&this.client.connection.ws.close(),this.client.connected&&this.client.onClose(),delete this.client.connection),this.client.connected=!1}observeUntil(e,i,r){return new Promise((n,o)=>{let c,a=!1;this.observe(e,(u,l)=>{r&&r(u,l),i(u,l)&&(a=!0,c&&c(),n(u))}).then(u=>{a?c():c=u}).catch(u=>{o(u)})})}gql(e,...i){typeof e=="string"&&(e=[e]);let r=e[0];return i.forEach((n,o)=>{n&&n.kind==="Document"?r+=n.loc.source.body:r+=n,r+=e[o+1]}),(0,y.createOperations)({schemas:this.client.configuration.schema},(0,y.parseGraphql)(r))}gqlDb(e="default"){return(i,...r)=>{typeof i=="string"&&(i=[i]);let n=i[0];return r.forEach((o,c)=>{o&&o.kind==="Document"?n+=o.loc.source.body:n+=o,n+=i[c+1]}),(0,y.createOperations)({schemas:this.client.configuration.schema,db:e},(0,y.parseGraphql)(n))}}observe(e,i,r,n){return typeof e=="string"?new Promise((o,c)=>{let a=typeof i=="function",u=a?i:r,l=a?r:n;B(this.client,a?void 0:i,u,(p,d,h,v,P)=>{p&&!P?c(p):o(()=>{g(this.client,d,h)})},l,void 0,e)}):new Promise((o,c)=>{B(this.client,e,i,(a,u,l,p,d)=>{a&&!d?c(a):o(()=>{g(this.client,u,l)})},r)})}createObservable(e,i){return typeof e=="string"?new T(this.client,e,i):new T(this.client,e)}observeSchema(e,i,r){return new Promise((n,o)=>{let c=typeof e=="string"?e:"default",a=typeof e=="string"?i:e,u=typeof e=="string"?r:i;B(this.client,{$subscribe_schema:c},(l,p)=>{this.client.configuration||(this.client.configuration={dbs:[],schema:{},functions:{}}),this.client.configuration.schema[c]=l,a(l,p)},(l,p,d,h,v)=>{l&&!v?o(l):n(()=>{g(this.client,p,d)})},u)})}get(e,i){return typeof e=="string"?new Promise((r,n)=>{L(this.client,i,(o,c,a,u)=>{o?n(o):r(u)},0,e)}):new Promise((r,n)=>{O(this.client,k.RequestTypes.Get,e,r,n)})}file(e){return global.File&&e instanceof File&&(e={contents:e}),Me(this,e)}call(e,i){return new Promise((r,n)=>{O(this.client,k.RequestTypes.Call,i,r,n,e)})}async id(e,i){let r=ce(this.client,e);if(r||(await this.schema(),r=ce(this.client,e)),!r)throw q({message:`Type does not exist ${e}`,type:"Invalid type",payload:i?{type:e,opts:i}:{type:e}});if(i){let n=(0,fe.hashCompact)(i,8,!0);return r+n}else return r+(0,fe.hashCompact)(Math.floor(Math.random()*99999999999)+""+Date.now())}digest(e){return new Promise((i,r)=>{O(this.client,k.RequestTypes.Digest,e,i,r)})}set(e){return new Promise((i,r)=>{O(this.client,k.RequestTypes.Set,e,i,r)})}copy(e){return new Promise((i,r)=>{O(this.client,k.RequestTypes.Copy,e,i,r)})}async gqlQuery(e,i={}){let r;typeof e=="string"?r=this.gql(e):r=e;try{if(r=(0,y.handleGraphqlVariables)(r,r,i),r.opType==="GET"){let o={$db:r.db},c=[];for(let u in r.ops){if(r.ops[u].fnObserve){let l=await this.get(r.ops[u].fnObserve.name,r.ops[u].fnObserve.payload);c.push({key:u,reply:l});continue}r.ops[u].get&&(o[u]=r.ops[u].get)}let a=await this.get(o);for(let{key:u,reply:l}of c)a[u]=l;return{data:a}}let n={};return await Promise.all(Object.entries(r.ops).map(async([o,c])=>{var p,d,h,v,P;if(c.delete){n[o]=await this.delete(c.delete);return}else if(c.fnCall){n[o]=await this.call(c.fnCall.name,c.fnCall.payload);return}let{id:a}=await this.set(c.set);if(!c.get){let F={};F.id=a;let me=(P=(v=(h=(d=(p=this.client)==null?void 0:p.configuration)==null?void 0:d.schema)==null?void 0:h[r.db])==null?void 0:v.prefixToTypeMapping)==null?void 0:P[a.slice(0,2)];me&&(F.type=me),n[o]=F;return}let u=(0,be.deepCopy)(c.get);u.$id=a;let l=await this.get(u);n[o]=l})),{data:n}}catch(n){return{errors:[{message:n.message,locations:n.locations}]}}}async gqlLive(e,i={}){let r;if(typeof e=="string"?r=this.gql(e):r=e,r=(0,y.handleGraphqlVariables)(r,r,i),r.opType==="GET"){let o=[],c={};for(let a in r.ops){if(r.ops[a].fnObserve){let{name:u,payload:l}=r.ops[a].fnObserve;o.push({key:a,fn:{name:u,payload:l}});continue}c[a]=r.ops[a].get}if(o!=null&&o.length){let a=o.map(l=>({obs:new T(this.client,l.fn.name,l.fn.payload),key:l.key})),u=new T(this.client,ve({$db:r.db},c));return a.push({key:"",obs:u}),new K(this.client,a)}return new T(this.client,{$db:r.db,data:c})}let n={};return await Promise.all(Object.entries(r.ops).map(async([o,c])=>{if(c.delete){n[o]=await this.delete(c.delete);return}else if(c.fnCall){n[o]=await this.call(c.fnCall.name,c.fnCall.payload);return}let{id:a}=await this.set(c.set),u=(0,be.deepCopy)(c.get);u.$id=a,n[o]=u})),new T(this.client,{$db:r.db,data:n})}analytics(e,i){return new Promise((r,n)=>{i?B(this.client,e,i,(o,c,a,u,l)=>{o&&!l?n(o):r(()=>{g(this.client,c,a)})},o=>console.error(o),void 0,"analytics"):L(this.client,e,(o,c,a,u)=>{o?n(o):((0,k.isAnalyticsHistoryOpts)(e)||(0,k.isAnalyticsTypesOpts)(e),r(u))},0,"analytics")})}track(e,i){G(this.client,e,i)}clearAnalytics(e,i){G(this.client,e,i,!1,!1,void 0,!0)}untrack(e,i){G(this.client,e,i,!0)}event(e,i,r){G(this.client,e,i,!1,!0,r)}delete(e){return new Promise((i,r)=>{O(this.client,k.RequestTypes.Delete,e,i,r)})}schema(){return new Promise((e,i)=>{let r=n=>{this.client.configuration=n,e(n)};O(this.client,k.RequestTypes.GetConfiguration,0,r,i)})}updateSchema(e){return new Promise((i,r)=>{O(this.client,k.RequestTypes.Configuration,e,i,r)})}getToken(){return this.client.token}auth(e,i){return new Promise(r=>{this.client.auth.push(r),(e&&e!==this.client.token||e===!1&&this.client.token)&&(typeof e=="string"?I(this.client,e,i):I(this.client),this.emit("auth",e))})}},ot=(t,s)=>{if(s){let e;t+=/\?/.test(t)?"&":"?";for(let i in s){let r=s[i];t+=e?`&${i}=${r}`:`${i}=${r}`,e=!0}}return t},at=(t,s=Z)=>{let{env:e,project:i,org:r,url:n,key:o,name:c="@based/hub",cluster:a,params:u}=t;if(n||(a=t.cluster=(0,ee.getClusterUrl)(a),n=async()=>{let{url:l}=await(0,ee.default)({env:e,project:i,org:r,key:o,name:c},0,a);return ot(l,u)}),n){let l=new s;return l.opts=t,l.connect(n),l}},ct=at;0&&(module.exports={Based,BasedClient,BasedGraphQL,Observable,addGetSubscriber,addRequest,addSubscriber,createGraphqlOperations,generateSubscriptionId,generateTrackingKey,handleGraphqlVariables,parseGraphql,removeSubscriber});
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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"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subscriptions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAkC;AAClC,kDAA+B;AAC/B,+CAA4B;AAC5B,qDAAkC;AAClC,gEAA6C;AAC7C,wEAAqD;AACrD,yDAAsC;AACtC,yDAAsC;AACtC,6DAA0C;AAC1C,wDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subscriptions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,kDAA+B;AAC/B,+CAA4B;AAC5B,qDAAkC;AAClC,gEAA6C;AAC7C,wEAAqD;AACrD,yDAAsC;AACtC,yDAAsC;AACtC,6DAA0C;AAC1C,wDAAqC"}
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@based/client",
3
- "version": "1.2.4",
4
- "main": "dist/bundle.js",
3
+ "version": "2.3.0",
4
+ "license": "MIT",
5
+ "main": "dist/index.js",
5
6
  "browser": {
6
7
  "./dist/file/stream/index.js": "./dist/file/stream/browser.js"
7
8
  },
@@ -10,13 +11,14 @@
10
11
  "build": "npx tsc && npm run buildBundle",
11
12
  "watch": "npm run build -- --watch",
12
13
  "test": "ava --timeout 1m --verbose",
13
- "watchTest": "ava --color --watch --verbose"
14
+ "watchTest": "ava --color --watch --verbose",
15
+ "clean": "rimraf {.turbo,dist,node_modules}"
14
16
  },
15
17
  "sideEffects": false,
16
18
  "dependencies": {
17
- "@based/get-service": "0.2.8",
18
- "@based/graphql": "^1.0.6",
19
- "@based/types": "^1.0.1",
19
+ "@based/get-service": "*",
20
+ "@based/graphql": "*",
21
+ "@based/types": "*",
20
22
  "@saulx/diff": "^1.1.3",
21
23
  "@saulx/hash": "^1.1.0",
22
24
  "@saulx/utils": "^2.2.1",
@@ -42,11 +44,12 @@
42
44
  "@saulx/selva": "10.6.2",
43
45
  "@saulx/utils": "^2.2.1",
44
46
  "@types/jsonwebtoken": "^8.5.6",
45
- "@types/node": "^16.3.1",
47
+ "@types/node": "^17.0.23",
46
48
  "@types/ws": "^7.4.6",
47
49
  "ava": "3.15.0",
48
50
  "jsonwebtoken": "^8.5.1",
49
51
  "ts-node": "^10.1.0",
50
- "typescript": "^4.3.5"
52
+ "typescript": "^4.3.5",
53
+ "rimraf": "^3.0.2"
51
54
  }
52
55
  }
package/dist/bundle.js DELETED
@@ -1,15 +0,0 @@
1
- var Me=Object.create;var Q=Object.defineProperty;var Le=Object.getOwnPropertyDescriptor;var He=Object.getOwnPropertyNames,de=Object.getOwnPropertySymbols,_e=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable;var be=(t,e,s)=>e in t?Q(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,me=(t,e)=>{for(var s in e||(e={}))fe.call(e,s)&&be(t,s,e[s]);if(de)for(var s of de(e))ze.call(e,s)&&be(t,s,e[s]);return t};var Je=(t,e)=>{for(var s in e)Q(t,s,{get:e[s],enumerable:!0})},$=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of He(e))!fe.call(t,n)&&n!==s&&Q(t,n,{get:()=>e[n],enumerable:!(r=Le(e,n))||r.enumerable});return t},f=(t,e,s)=>($(t,e,"default"),s&&$(s,e,"default")),j=(t,e,s)=>(s=t!=null?Me(_e(t)):{},$(e||!t||!t.__esModule?Q(s,"default",{value:t,enumerable:!0}):s,t)),Ke=t=>$(Q({},"__esModule",{value:!0}),t);var b={};Je(b,{Based:()=>pe,BasedClient:()=>J,BasedGraphQL:()=>y.BasedGraphQL,Observable:()=>w,addGetSubscriber:()=>M,addRequest:()=>O,addSubscriber:()=>P,createGraphqlOperations:()=>y.createOperations,default:()=>at,generateSubscriptionId:()=>T,generateTrackingKey:()=>oe,handleGraphqlVariables:()=>y.handleGraphqlVariables,parseGraphql:()=>y.parseGraphql,removeSubscriber:()=>g});module.exports=Ke(b);var he=class{constructor(){this.listeners={};Object.defineProperty(this,"listeners",{enumerable:!1,writable:!0})}emit(e,s){this.listeners[e]&&this.listeners[e].forEach(r=>r(s))}on(e,s){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(s)}removeAllListeners(){this.listeners={}}once(e,s){this.on(e,r=>{s(r),this.removeListener(e,s)})}removeListener(e,s){let r=this.listeners[e];if(r){if(!s)delete this.listeners[e];else for(let n=0,i=r.length;n<i;n++)if(r[n]===s){r.splice(n,1);break}}}},ge=he;var ye=(t,e)=>{typeof t=="function"?t().then(s=>{e(s)}):e(t)};var Se=j(require("isomorphic-ws")),R=new Map,ve;typeof window!="undefined"&&document.addEventListener("visibilitychange",function(t){clearTimeout(ve),document.hidden?ve=setTimeout(()=>{R.forEach(e=>{e(!1)})},3e4):R.forEach(e=>{e(!0)})});var Z=(t,e,s={destroy:()=>{R.delete(s)}},r=0,n=!1)=>(ye(e,i=>{setTimeout(()=>{if(s.disconnected)return;let o=!0;R.set(s,a=>{s.disconnected||(!a&&o?(console.warn("Send to background - close connection"),o=!1,t.onClose(),c.close()):!o&&a&&(R.delete(s),Z(t,e,s,0,!0)))});let c=s.ws=new Se.default(i);c.onerror=()=>{},c.onmessage=a=>t.onData(a),c.onopen=()=>{if(o){if(s.disconnected)return;r=100,n&&t.onReconnect(),t.onOpen()}},c.onclose=()=>{if(o){if(s.disconnected)return;t.onClose(),Z(t,e,s,Math.min(1250,Math.min(r+500)),!0)}}},r)}),s),ee=Z;var k=require("@based/types");var E=require("@based/types");var U=require("@based/types");var We=t=>{clearTimeout(t.idlePing),t.idlePing=setTimeout(()=>{t.connection&&t.connected&&!t.connection.disconnected&&t.connection.ws.send("1")},6e4)},N=We;var m=(t,e)=>{e[0]===U.RequestTypes.Unsubscribe||e[0]===U.RequestTypes.Subscription||e[0]===U.RequestTypes.SendSubscriptionData||e[0]===U.RequestTypes.GetSubscription?t.subscriptionQueue.push(e):t.queue.push(e),t.connected&&!t.drainInProgress&&te(t)},te=t=>{t.connected&&!t.drainInProgress&&(t.queue.length||t.subscriptionQueue.length)&&(t.drainInProgress=!0,t.drainTimeout=setTimeout(()=>{if(t.drainInProgress=!1,t.queue.length||t.subscriptionQueue.length){let e=[...t.queue,...t.subscriptionQueue];t.queue=[],t.subscriptionQueue=[],t.connection.ws.send(JSON.stringify(e)),N(t)}},0))},ke=t=>{t.drainInProgress&&(clearTimeout(t.drainTimeout),t.drainInProgress=!1)};var se=require("@saulx/hash"),T=(t,e)=>e?(0,se.hashObjectIgnoreKeyOrder)([e,t]):(0,se.hashObjectIgnoreKeyOrder)(t);var M=(t,e,s,r,n)=>{r||(r=T(e,n));let i=t.subscriptions[r],o=t.cache[r];if(i)if(i.authError)if(!t.beingAuth)s(i.authError.error,r,0);else{let c=++i.cnt;i.subscribers[c]={onInitial:s}}else if(o)s(null,r,0,o.value);else{let c=++i.cnt;i.subscribers[c]={onInitial:s}}else{i=t.subscriptions[r]={query:e,cnt:1,name:n,subscribers:{1:{onInitial:s}}};let c;for(let a=0;a<t.subscriptionQueue.length;a++){let[u,l,,p]=t.subscriptionQueue[a];(u===E.RequestTypes.Unsubscribe||u===E.RequestTypes.SendSubscriptionData)&&l===r?(t.subscriptionQueue.splice(a,1),a--):(u===E.RequestTypes.Subscription||u===E.RequestTypes.GetSubscription)&&l===r&&(c=!0,u===E.RequestTypes.Subscription&&(p!==o.checksum&&(t.subscriptionQueue[a][3]=o.checksum),t.subscriptionQueue[a][4]=2))}if(!c){let a=[E.RequestTypes.GetSubscription,r,e];o&&a.push(o.checksum),n&&(o||a.push(0),a.push(n)),m(t,a)}}};var C=require("@based/types");var P=(t,e,s,r,n,i,o)=>{i||(i=T(e,o));let c=t.subscriptions[i],a=t.cache[i],u;if(c){u=++c.cnt;let l=!0;for(let p in c.subscribers)if(c.subscribers[p].onData){l=!1;break}if(c.subscribers[u]={onError:n,onData:s,onInitial:r},l){for(let d=0;d<t.subscriptionQueue.length;d++){let[h,v]=t.subscriptionQueue[d];h===C.RequestTypes.GetSubscription&&v===i&&(t.subscriptionQueue.splice(d,1),d--)}let p=[C.RequestTypes.Subscription,i,e];a&&(p.push(a.checksum),p.push(2)),o&&(a||p.push(0,2),p.push(o)),m(t,p)}}else{u=1,c=t.subscriptions[i]={query:e,cnt:1,name:o,subscribers:{1:{onError:n,onData:s,onInitial:r}}};let l=!1,p=!1,d;for(let h=0;h<t.subscriptionQueue.length;h++){let[v,q,,G]=t.subscriptionQueue[h];(v===C.RequestTypes.Unsubscribe||v===C.RequestTypes.SendSubscriptionData||v===C.RequestTypes.GetSubscription)&&q===i?(v===C.RequestTypes.GetSubscription&&(p=!0),d&&(d[4]=2),t.subscriptionQueue.splice(h,1),h--):v===C.RequestTypes.Subscription&&q===i&&(l=!0,d=t.subscriptionQueue[h],G!==a.checksum&&(d[3]=a.checksum),!d[4]&&p&&(d[4]=2))}if(!l){let h=[C.RequestTypes.Subscription,i,e];a&&(h.push(a.checksum),p&&h.push(2)),o&&(a?!p&&a&&h.push(2):h.push(0,0),h.push(o)),m(t,h)}}return a&&(r&&(r(null,i,u),delete c.subscribers[u].onInitial),s&&s(a.value,a.checksum)),[i,u]};var x=require("@based/types");var g=(t,e,s)=>{let r=t.subscriptions[e];if(r){let n=!1;if(s?r.subscribers[s]&&(delete r.subscribers[s],r.cnt--,r.cnt===0&&(n=!0)):n=!0,n){delete t.subscriptions[e];let i=!1;for(let o=0;o<t.subscriptionQueue.length;o++){let[c,a]=t.subscriptionQueue[o];c===x.RequestTypes.Unsubscribe&&a===e?i=!0:(c===x.RequestTypes.Subscription||c===x.RequestTypes.SendSubscriptionData)&&a===e&&(t.subscriptionQueue.splice(o,1),o--)}i||m(t,[x.RequestTypes.Unsubscribe,e])}}};var Oe=require("@based/types"),Te=t=>{for(let e=0;e<t.subscriptionQueue.length;e++)t.subscriptionQueue[e][0]===Oe.RequestTypes.Unsubscribe&&(t.subscriptionQueue.splice(e,1),e--)};var Ce=require("@based/types"),we=t=>{for(let e=0;e<t.subscriptionQueue.length;e++)t.subscriptionQueue[e][0]===Ce.RequestTypes.SendSubscriptionData&&(t.subscriptionQueue.splice(e,1),e--)};var L=(t,e=!1)=>{for(let s in t.subscriptions){let r=Number(s),n=t.subscriptions[s];if(e&&!n.authError)continue;let i,o,c;for(let l=0;l<t.subscriptionQueue.length;l++){let[p,d]=t.subscriptionQueue[l];d===r&&(p===10?(c=l,i=t.subscriptionQueue[l]):p===1&&(o=t.subscriptionQueue[l]))}i&&o&&console.error("GET IN Q AND SUB IN Q SHOULD BE IMPOSSIBLE");let a=t.cache[r],u=!1;if(i){let l=!0;for(let p in n.subscribers)if(n.subscribers[p].onData){l=!1;break}l?u=!0:(console.info("not only gets remove get"),t.subscriptionQueue.splice(c,1)),a&&i[3]!==a.checksum&&(i[3]=a.checksum)}if(!u)if(o)a&&o[3]!==a.checksum&&(o[3]=a.checksum,i&&(o[4]=2));else{let{name:l,query:p}=t.subscriptions[r];l?a?m(t,[1,r,p,a.checksum,i?2:0,l]):m(t,[1,r,p,0,i?2:0,l]):a?m(t,[1,r,p,a.checksum,i?2:0]):m(t,[1,r,p,0,i?2:0])}}};var H=(t,e)=>{if(typeof window!="undefined")return t;let s={white:"\x1B[37;1m",reset:"\x1B[0m",blue:"\x1B[34m",red:"\x1B[31m",green:"\x1B[32m",brightBlue:"\x1B[34;1m",brightRed:"\x1B[31;1m"};return`${s[e]}${t}${s.reset}`},re=(t,e=0,s=!1,r="",n=!1)=>{let i="";for(let a=0;a<e;a++)i+=" ";let o=s?[]:r?[i+`${H(r,n?"brightRed":"white")} {`]:[i+"{"],c=!1;s||(i+=" ",e+=1);for(let a in t){let u=t[a],l=a[0]==="$"?H(a,"white"):a;if(c&&(o[o.length-1]+=","),Array.isArray(u)){o.push(`${i} ${l}: [`);for(let p=0;p<u.length;p++){let d=u[p];o.push(...d&&typeof d=="object"?re(d,e+4):[`${i} ${d}`]),p!==u.length-1&&(o[o.length-1]+=",")}o.push(`${i} ]`)}else u&&typeof u=="object"?(o.push(`${i} ${l}: {`),o.push(...re(u,e+2,!0)),o.push(`${i} }`)):o.push(`${i} ${l}: ${u}`);c=!0}return s||o.push(i.slice(0,-1)+"}"),o},_=re;var B=t=>{let e=new Error(t.message);if(e.name=t.name?`${t.type} from ${t.name}`:t.type,e.stack=null,t.query||t.payload){let s=e.message.split(`
2
- `),r=0;s[0]===""&&s.shift();let n=s[0];for(let i=0;i<n.length;i++)if(n[i]!==" "){r=i-2;break}r>0?s=s.map(i=>i.slice(r)):s=s.map(i=>" "+i),t.code&&(e.code=t.code),e.message=`
3
-
4
- `+(t.payload&&typeof t.payload!="object"?` ${H("Payload","brightRed")} ${t.payload}`:_(t.payload||t.query,0,!1,t.payload?"Payload":"Query",!0).map(i=>" "+i).join(`
5
- `))+`
6
-
7
- `+s.join(`
8
- `)+`
9
-
10
- `}return e};var Pe=(t,e)=>{let[,s,r,n,i]=e,o=t.subscriptions[s];if(o){let c=t.cache[s]&&t.cache[s].checksum;if(i){let a=B(i);i.auth&&(o.authError={token:t.token,error:a});for(let u in o.subscribers){let l=o.subscribers[u];l.onInitial?i.auth?(l.onError&&l.onError(a),l.onInitial(a,Number(s),Number(u),void 0,!0),delete l.onInitial):(l.onInitial(a,Number(s),Number(u)),delete l.onInitial,g(t,s,Number(u))):l.onError&&l.onError(a)}}else if(c===n){o.authError&&delete o.authError;for(let a in o.subscribers){let u=o.subscribers[a];u.onInitial&&(u.onInitial(null,Number(s),Number(a),t.cache[s].value),delete u.onInitial,u.onData||g(t,s,Number(a)))}}else{o.authError&&delete o.authError,t.cache[s]={value:r,checksum:n};for(let a in o.subscribers){let u=o.subscribers[a];u.onInitial&&(u.onInitial(null,Number(s),Number(a),r),delete u.onInitial,u.onData||g(t,s,Number(a))),u.onData&&u.onData(r,n)}}}};var Be=require("@saulx/diff"),z=require("@based/types");var qe=(t,e)=>{let[,s,r,[n,i]]=e,o=t.subscriptions[s];if(o){let c=t.cache[s];if(!c||c.checksum!==n)if(c)if(c.checksum===i)for(let a in o.subscribers){let u=o.subscribers[a];u.onInitial&&(u.onInitial(null,Number(s),Number(a),c.value),delete u.onInitial,u.onData||g(t,s,Number(a)))}else m(t,[z.RequestTypes.SendSubscriptionData,s]);else m(t,[z.RequestTypes.SendSubscriptionData,s]);else{let a=!1;try{c.value=(0,Be.applyPatch)(c.value,r),c.value===null&&(a=!0)}catch(u){a=!0}if(a)console.warn(`
11
- Found corrupt data while applying diff to subscription need to re-fetch
12
- `),console.warn(_(o.query,2,!1,"Query").join(`
13
- `)+`
14
-
15
- `),delete t.cache[s],m(t,[z.RequestTypes.SendSubscriptionData,s]);else{c.checksum=i;for(let u in o.subscribers){let l=o.subscribers[u];l.onInitial&&(l.onInitial(null,Number(s),Number(u),c.value),delete l.onInitial,l.onData||g(t,s,Number(u))),l.onData&&l.onData(c.value,c.checksum)}}}}};var Ee=(t,e)=>{for(let s of e[1]){delete t.cache[s];let r=t.subscriptions[s];if(r){let n={type:"AuthorizationError",name:r.name?`observe "${r.name}"`:"observe",message:"Unauthorized request",payload:r.query,auth:!0},i=B(n);r.authError={token:t.token,error:i};for(let o in r.subscribers){let c=r.subscribers[o];c.onError&&c.onError(i)}}}};var Fe=require("@based/types");var Ve=0,O=(t,e,s,r,n,i)=>{let o=++Ve;t.requestCallbacks[o]={resolve:r,reject:n},e===Fe.RequestTypes.Call?m(t,[e,i,o,s]):m(t,[e,o,s])};var Qe=(t,e)=>{let[,s,r,n]=e,i=t.requestCallbacks[s];i&&(delete t.requestCallbacks[s],n?i.reject(B(n)):i.resolve(r))};var S=require("@based/types");var ie=require("@based/types");var Xe=t=>typeof t!="undefined"&&t!==null,Ye=(t,e,s)=>{if(t.beingAuth=!0,e)t.token=e,t.sendTokenOptions=s;else{for(let r in t.cache)t.subscriptions[r]||delete t.cache[r];delete t.token,delete t.sendTokenOptions}if(t.connected){let r=e?[ie.RequestTypes.Token,e,s].filter(Xe):[ie.RequestTypes.Token];t.connection.ws.send(JSON.stringify(r)),N(t),L(t,!0)}},D=Ye;var J=class{constructor(e){this.auth=[];this.subscriptions={};this.cache={};this.requestCallbacks={};this.connected=!1;this.subscriptionQueue=[];this.queue=[];this.drainInProgress=!1;this.based=e}onClose(){this.connected=!1,ke(this),Te(this),we(this),this.based.listeners.disconnect&&this.based.listeners.disconnect.forEach(e=>e())}onReconnect(){if(this.based.listeners.reconnect&&this.based.listeners.reconnect.forEach(e=>e()),this.tracking)for(let e of this.tracking)m(this,[S.RequestTypes.Track,{t:e}])}onOpen(){this.connected=!0,this.based.listeners.connect&&this.based.listeners.connect.forEach(e=>e()),this.token&&D(this,this.token,this.sendTokenOptions),L(this),te(this)}onData(e){try{let s=JSON.parse(e.data);if(s[0]===S.RequestTypes.Token){s[1].length&&Ee(this,s);for(let r of this.auth)r(!s[2]);this.beingAuth=!1,this.auth=[]}else s[0]===S.RequestTypes.Set||s[0]===S.RequestTypes.Get||s[0]===S.RequestTypes.Configuration||s[0]===S.RequestTypes.GetConfiguration||s[0]===S.RequestTypes.Call||s[0]===S.RequestTypes.Delete||s[0]===S.RequestTypes.Copy||s[0]===S.RequestTypes.Digest?Qe(this,s):s[0]===S.RequestTypes.Subscription?Pe(this,s):s[0]===S.RequestTypes.SubscriptionDiff&&qe(this,s)}catch(s){console.error("Received incorrect data ",e)}}};var ne=(t,e)=>{let s;if(t.configuration&&t.configuration.schema)for(let r in t.configuration.schema){let n=t.configuration.schema[r];if(n.prefixToTypeMapping){for(let i in n.prefixToTypeMapping)if(n.prefixToTypeMapping[i]===e){s=i;break}}}return s};var ue=require("@saulx/hash");var Ue=require("@based/types"),xe=require("@saulx/hash"),Re=new Set,Ze=t=>{if(typeof window!="undefined"){if(Re.has(t))return!1;Re.add(t);try{let e="_ba:"+(0,xe.hashCompact)(t);return localStorage.getItem(e)?!1:(localStorage.setItem(e,"1"),!0)}catch(e){return!1}}return!1},oe=(t,e)=>{if(e){let s=`${t}`,r=Object.keys(e).sort();for(let n of r)s+="_"+n+"_"+e[n];return s}else return t},I=(t,e,s,r,n,i,o)=>{let c=oe(e,s),a={t:c};o&&(a.r=1),n&&(a.e=1,i&&(a.o=i)),r?(a.s=1,t.tracking.delete(c)):o||(n||(t.tracking||(t.tracking=new Set),t.tracking.add(c)),Ze(c)&&(a.u=1)),m(t,[Ue.RequestTypes.Track,a])};var De=class{constructor(e,s,r){this.closed=!1;this.client=e,this.subId=r,this.subscriberId=s}unsubscribe(){this.closed=!0,g(this.client,this.subId,this.subscriberId)}},Ie=class{constructor(e,s){this.closed=!1;this.client=e,this.subs=s}unsubscribe(){if(!this.closed){this.closed=!0;for(let e of this.subs)e.unsubscribe()}}},ae=class{constructor(e,s){this.client=e,this.components=s}subscribe(e,s,r){let n={data:{}},i=[];for(let{key:o,obs:c}of this.components){let a=c.subscribe(u=>{if(o===""){Object.assign(n.data,u),e(n);return}n.data[o]=u,e(n)},s);i.push(a)}return new Ie(this.client,i)}},w=class{constructor(e,s,r){this.client=e,this.subId=typeof s=="string"?T(r,s):T(s),this.name=typeof s=="string"?s:null,this.payload=typeof s=="string"?r:s}subscribe(e,s,r){let[,n]=P(this.client,this.payload,e,i=>{i&&(console.error(i),s&&s(i))},s,this.subId,this.name);return new De(this.client,n,this.subId)}};var ce={},A={},et=(t,e)=>{ce[t]||(ce[t]=!0,setTimeout(()=>{console.info("Drain file q"),ce[t]=!1;let s=A[t];A[t]=[];let r=new global.FormData;for(let n of s){let{raw:i,name:o,id:c,file:a,functionName:u}=n,l=`${u||""}|${i?1:0}|${c}|${a.size}${o?`|${o}`:""}`;r.append(l,a)}try{let n=new global.XMLHttpRequest;n.upload.onprogress=i=>{let o=100*(i.loaded||i.position)/(i.totalSize||i.total);console.info(o,"upload...")},n.onerror=i=>{console.error("error!",i,"flap",n.responseText)},n.timeout=1e3*60*60*24,n.onabort=i=>{console.error("abort",i)},n.ontimeout=i=>{console.error("on timeout",i)},n.onload=()=>{let i={};try{i=JSON.parse(n.response),console.info("SUCCESS",i)}catch(o){console.error("something wrong with file upload",o)}},n.open("POST",t+"/file"),n.setRequestHeader("Content-Type","multipart/form-data"),n.setRequestHeader("Authorization",e),n.send(r)}catch(n){console.error("Something wrong with xhr upload",n)}},500))},Ae=async(t,e,s,r,n,i,o)=>{A[s]||(A[s]=[]),A[s].push({file:e,id:r,url:s,raw:n,name:i,functionName:o}),et(s,t.getToken())};var Ge=j(require("@based/get-service")),K={},W={},tt=async(t,e)=>{if(e.url)return typeof e.url=="string"?e.url:await e.url();if(!t.opts.env&&t.opts.url)return typeof t.opts.url=="string"?t.opts.url:await t.opts.url();let{env:s,project:r,org:n}=t.opts,i=s+"/"+r+"/"+n+"/"+t.opts.cluster;if(K[i])return K[i];if(W[i])return(await W[i]).url;let o=await(W[i]=(0,Ge.default)({env:s,project:r,org:n,name:"@based/hub",key:"file-upload",optionalKey:!0},0,t.opts.cluster));return delete W[i],setTimeout(()=>{delete K[i]},2e3),K[i]=o.url},$e=tt;var je=j(require("cross-fetch")),V=(t,e,s)=>((0,je.default)(e,{method:"POST",cache:"no-cache",headers:{"Content-Type":s.mimeType||"text/plain","File-Id":s.id,"File-Is-Raw":s.raw?"1":"0","File-Name":s.name||"","Function-Name":s.functionName||"",Authorization:t.getToken()},body:s.contents}).then(r=>{}).catch(r=>{console.error("Error while uploading file",r)}),{id:s.id});var F=require("./file/stream"),X=typeof window!="undefined",st=t=>"src"in t&&typeof t.src=="string",rt=t=>"path"in t&&typeof t.path=="string",it=t=>"contents"in t&&(0,F.isStream)(t.contents),Ne=async(t,e)=>{if(st(e)){let n=e.id?{$id:e.id}:{type:"file"};return e.src?(n.src=e.src,n.origin=e.src,e.size&&(n.size=e.size),e.name&&(n.name=e.name),e.parents&&(n.parents=e.parents),await t.set(n)):void 0}let s=e.id;if(!s){let n={type:"file",progress:0};e.name?n.name=e.name:global.File&&"contents"in e&&e.contents instanceof global.File&&(n.name=e.contents.name),e.parents&&(n.parents=e.parents),s=(await t.set(n)).id}e.id=s;let r=(await $e(t,e)).replace(/^ws/,"http");if(rt(e))return(0,F.uploadFilePath)(t,r,e),{id:s};if(it(e))return(0,F.uploadFileStream)(t,r,e),{id:s};if(e.contents instanceof ArrayBuffer)return e.contents=X?new global.Blob([e.contents],{type:e.mimeType||"text/plain"}):global.Buffer.from(e.contents),V(t,r+"/file",e);if(X&&e.contents instanceof global.Blob)return e.mimeType||(e.mimeType=e.contents.type),V(t,r+"/file",e);if(typeof e.contents=="string"||!X&&e.contents instanceof global.Buffer)return V(t,r+"/file",e);if(X&&e.contents instanceof File)return Ae(t,e.contents,r,e.id,e.raw||!1,e.name,e.functionName),{id:s};throw e.id||await t.delete({$id:s}),new Error(`Invalid contents for file api ${JSON.stringify(e,null,2)}`)};var Y=j(require("@based/get-service")),le=require("@saulx/utils"),y=require("@based/graphql");f(b,require("@based/types"),module.exports);var pe=class extends ge{constructor(e){super();this.client=new J(this),Object.defineProperty(this,"client",{enumerable:!1,writable:!0}),e&&e.url&&this.connect(e.url),this.graphql={query:this.gqlQuery.bind(this),live:this.gqlLive.bind(this)}}connect(e){!e&&this._url?this.client.connection||(this.client.connection=ee(this.client,this._url)):(this._url=e,this.client.connection=ee(this.client,e))}disconnect(){this.client.connection&&(this.client.connection.disconnected=!0,this.client.connection.destroy(),this.client.connection.ws&&this.client.connection.ws.close(),this.client.connected&&this.client.onClose(),delete this.client.connection),this.client.connected=!1}observeUntil(e,s,r){return new Promise((n,i)=>{let o,c=!1;this.observe(e,(a,u)=>{r&&r(a,u),s(a,u)&&(c=!0,o&&o(),n(a))}).then(a=>{c?o():o=a}).catch(a=>{i(a)})})}gql(e,...s){typeof e=="string"&&(e=[e]);let r=e[0];return s.forEach((n,i)=>{n&&n.kind==="Document"?r+=n.loc.source.body:r+=n,r+=e[i+1]}),(0,y.createOperations)({schemas:this.client.configuration.schema},(0,y.parseGraphql)(r))}gqlDb(e="default"){return(s,...r)=>{typeof s=="string"&&(s=[s]);let n=s[0];return r.forEach((i,o)=>{i&&i.kind==="Document"?n+=i.loc.source.body:n+=i,n+=s[o+1]}),(0,y.createOperations)({schemas:this.client.configuration.schema,db:e},(0,y.parseGraphql)(n))}}observe(e,s,r,n){return typeof e=="string"?new Promise((i,o)=>{let c=typeof s=="function",a=c?s:r,u=c?r:n;P(this.client,c?void 0:s,a,(l,p,d,h,v)=>{l&&!v?o(l):i(()=>{g(this.client,p,d)})},u,void 0,e)}):new Promise((i,o)=>{P(this.client,e,s,(c,a,u,l,p)=>{c&&!p?o(c):i(()=>{g(this.client,a,u)})},r)})}createObservable(e,s){return typeof e=="string"?new w(this.client,e,s):new w(this.client,e)}observeSchema(e,s,r){return new Promise((n,i)=>{let o=typeof e=="string"?e:"default",c=typeof e=="string"?s:e,a=typeof e=="string"?r:s;P(this.client,{$subscribe_schema:o},(u,l)=>{this.client.configuration||(this.client.configuration={dbs:[],schema:{},functions:{}}),this.client.configuration.schema[o]=u,c(u,l)},(u,l,p,d,h)=>{u&&!h?i(u):n(()=>{g(this.client,l,p)})},a)})}get(e,s){return typeof e=="string"?new Promise((r,n)=>{M(this.client,s,(i,o,c,a)=>{i?n(i):r(a)},0,e)}):new Promise((r,n)=>{O(this.client,k.RequestTypes.Get,e,r,n)})}file(e){return global.File&&e instanceof File&&(e={contents:e}),Ne(this,e)}call(e,s){return new Promise((r,n)=>{O(this.client,k.RequestTypes.Call,s,r,n,e)})}async id(e,s){let r=ne(this.client,e);if(r||(await this.schema(),r=ne(this.client,e)),!r)throw B({message:`Type does not exist ${e}`,type:"Invalid type",payload:s?{type:e,opts:s}:{type:e}});if(s){let n=(0,ue.hashCompact)(s,8,!0);return r+n}else return r+(0,ue.hashCompact)(Math.floor(Math.random()*99999999999)+""+Date.now())}digest(e){return new Promise((s,r)=>{O(this.client,k.RequestTypes.Digest,e,s,r)})}set(e){return new Promise((s,r)=>{O(this.client,k.RequestTypes.Set,e,s,r)})}copy(e){return new Promise((s,r)=>{O(this.client,k.RequestTypes.Copy,e,s,r)})}async gqlQuery(e,s={}){let r;typeof e=="string"?r=this.gql(e):r=e;try{if(r=(0,y.handleGraphqlVariables)(r,r,s),r.opType==="GET"){let i={$db:r.db},o=[];for(let a in r.ops){if(r.ops[a].fnObserve){let u=await this.get(r.ops[a].fnObserve.name,r.ops[a].fnObserve.payload);o.push({key:a,reply:u});continue}r.ops[a].get&&(i[a]=r.ops[a].get)}let c=await this.get(i);for(let{key:a,reply:u}of o)c[a]=u;return{data:c}}let n={};return await Promise.all(Object.entries(r.ops).map(async([i,o])=>{var l,p,d,h,v;if(o.delete){n[i]=await this.delete(o.delete);return}else if(o.fnCall){n[i]=await this.call(o.fnCall.name,o.fnCall.payload);return}let{id:c}=await this.set(o.set);if(!o.get){let q={};q.id=c;let G=(v=(h=(d=(p=(l=this.client)==null?void 0:l.configuration)==null?void 0:p.schema)==null?void 0:d[r.db])==null?void 0:h.prefixToTypeMapping)==null?void 0:v[c.slice(0,2)];G&&(q.type=G),n[i]=q;return}let a=(0,le.deepCopy)(o.get);a.$id=c;let u=await this.get(a);n[i]=u})),{data:n}}catch(n){return{errors:[{message:n.message,locations:n.locations}]}}}async gqlLive(e,s={}){let r;if(typeof e=="string"?r=this.gql(e):r=e,r=(0,y.handleGraphqlVariables)(r,r,s),r.opType==="GET"){let i=[],o={};for(let c in r.ops){if(r.ops[c].fnObserve){let{name:a,payload:u}=r.ops[c].fnObserve;i.push({key:c,fn:{name:a,payload:u}});continue}o[c]=r.ops[c].get}if(i!=null&&i.length){let c=i.map(u=>({obs:new w(this.client,u.fn.name,u.fn.payload),key:u.key})),a=new w(this.client,me({$db:r.db},o));return c.push({key:"",obs:a}),new ae(this.client,c)}return new w(this.client,{$db:r.db,data:o})}let n={};return await Promise.all(Object.entries(r.ops).map(async([i,o])=>{if(o.delete){n[i]=await this.delete(o.delete);return}else if(o.fnCall){n[i]=await this.call(o.fnCall.name,o.fnCall.payload);return}let{id:c}=await this.set(o.set),a=(0,le.deepCopy)(o.get);a.$id=c,n[i]=a})),new w(this.client,{$db:r.db,data:n})}analytics(e,s){return new Promise((r,n)=>{s?P(this.client,e,s,(i,o,c,a,u)=>{i&&!u?n(i):r(()=>{g(this.client,o,c)})},i=>console.error(i),void 0,"analytics"):M(this.client,e,(i,o,c,a)=>{i?n(i):((0,k.isAnalyticsHistoryOpts)(e)||(0,k.isAnalyticsTypesOpts)(e),r(a))},0,"analytics")})}track(e,s){I(this.client,e,s)}clearAnalytics(e,s){I(this.client,e,s,!1,!1,void 0,!0)}untrack(e,s){I(this.client,e,s,!0)}event(e,s,r){I(this.client,e,s,!1,!0,r)}delete(e){return new Promise((s,r)=>{O(this.client,k.RequestTypes.Delete,e,s,r)})}schema(){return new Promise((e,s)=>{let r=n=>{this.client.configuration=n,e(n)};O(this.client,k.RequestTypes.GetConfiguration,0,r,s)})}updateSchema(e){return new Promise((s,r)=>{O(this.client,k.RequestTypes.Configuration,e,s,r)})}getToken(){return this.client.token}auth(e,s){return new Promise(r=>{this.client.auth.push(r),(e&&e!==this.client.token||e===!1&&this.client.token)&&(typeof e=="string"?D(this.client,e,s):D(this.client),this.emit("auth",e))})}},nt=(t,e)=>{if(e){let s;t+=/\?/.test(t)?"&":"?";for(let r in e){let n=e[r];t+=s?`&${r}=${n}`:`${r}=${n}`,s=!0}}return t},ot=(t,e=pe)=>{let{env:s,project:r,org:n,url:i,key:o,name:c="@based/hub",cluster:a,params:u}=t;if(i||(a=t.cluster=(0,Y.getClusterUrl)(a),i=async()=>{let{url:l}=await(0,Y.default)({env:s,project:r,org:n,key:o,name:c},0,a);return nt(l,u)}),i){let l=new e;return l.opts=t,l.connect(i),l}},at=ot;0&&(module.exports={Based,BasedClient,BasedGraphQL,Observable,addGetSubscriber,addRequest,addSubscriber,createGraphqlOperations,generateSubscriptionId,generateTrackingKey,handleGraphqlVariables,parseGraphql,removeSubscriber});