@uwdata/mosaic-core 0.23.1 → 0.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/Coordinator.d.ts.map +1 -1
- package/dist/src/Coordinator.js +7 -2
- package/dist/src/Coordinator.js.map +1 -1
- package/dist/src/MosaicClient.d.ts +10 -1
- package/dist/src/MosaicClient.d.ts.map +1 -1
- package/dist/src/MosaicClient.js +18 -4
- package/dist/src/MosaicClient.js.map +1 -1
- package/package.json +5 -5
- package/src/Coordinator.ts +10 -4
- package/src/MosaicClient.ts +20 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Coordinator.d.ts","sourceRoot":"","sources":["../../src/Coordinator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"Coordinator.d.ts","sourceRoot":"","sources":["../../src/Coordinator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAyB,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAE3G,OAAO,EAAE,YAAY,EAAY,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,UAAU,gBAAgB;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3B,UAAU,IAAI,IAAI,CAAC;CACpB;AAOD;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,QAAQ,CAAC,EAAE,WAAW,GACrB,WAAW,CAOb;AAED;;;;GAIG;AACH,qBAAa,WAAW;IACf,OAAO,EAAE,YAAY,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,oBAAyB;IAChC,YAAY,mCAAwC;IAC3D,SAAS,CAAC,OAAO,EAAE,MAAM,CAAgB;IAEzC;;;;;;;;OAQG;gBAED,EAAE,GAAE,SAAiC,EACrC,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,OAAO,CAAC,EAAE,YAAY,CAAC;QACvB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,MAAM,CAAC,EAAE,mBAAmB,CAAC;KACzB;IAkBR;;;;;OAKG;IACH,KAAK,CAAC,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;IAY1D;;;;OAIG;IACH,iBAAiB,IAAI,SAAS,GAAG,IAAI;IACrC,iBAAiB,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS;IAO3C;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAUtC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE;IAI9B;;;;;;OAMG;IACH,IAAI,CACF,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,EAC5B,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAClC,WAAW;IAKd;;;;;;;;;;OAUG;IACH,KAAK,CACH,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GACA,WAAW,CAAC,KAAK,CAAC;IACrB,KAAK,CACH,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GACA,WAAW,CAAC,OAAO,CAAC;IAoBvB;;;;;;;OAOG;IACH,QAAQ,CACN,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GACnD,WAAW,CAAC,KAAK,CAAC;IACrB,QAAQ,CACN,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAClD,WAAW,CAAC,OAAO,CAAC;IAUvB;;;;;;;OAOG;IACH,YAAY,CACV,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,SAAS,EAChB,QAAQ,GAAE,MAAwB,GACjC,OAAO,CAAC,OAAO,CAAC;IAUnB;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAO9E;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAoBnC;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;CAWvC"}
|
package/dist/src/Coordinator.js
CHANGED
|
@@ -234,15 +234,20 @@ function updateSelection(mc, selection) {
|
|
|
234
234
|
const { preaggregator, filterGroups } = mc;
|
|
235
235
|
const { clients } = filterGroups.get(selection);
|
|
236
236
|
const { active } = selection;
|
|
237
|
-
return Promise.allSettled(Array.from(clients, (client) => {
|
|
237
|
+
return Promise.allSettled(Array.from(clients, async (client) => {
|
|
238
|
+
// if client is not enabled, register a request for later
|
|
238
239
|
if (!client.enabled)
|
|
239
240
|
return client.requestQuery();
|
|
241
|
+
// if client is initializing, wait for it to complete
|
|
242
|
+
if (!client.initialized)
|
|
243
|
+
await client.pending;
|
|
244
|
+
// check if we can handle selection update via preaggregation
|
|
240
245
|
const info = preaggregator.request(client, selection, active);
|
|
241
246
|
const filter = info ? null : selection.predicate(client);
|
|
242
247
|
// skip due to cross-filtering
|
|
243
248
|
if (info?.skip || (!info && !filter))
|
|
244
249
|
return;
|
|
245
|
-
//
|
|
250
|
+
// generate and issue update query
|
|
246
251
|
const query = info?.query(active.predicate) ?? client.query(filter);
|
|
247
252
|
return mc.updateClient(client, query);
|
|
248
253
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Coordinator.js","sourceRoot":"","sources":["../../src/Coordinator.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"Coordinator.js","sourceRoot":"","sources":["../../src/Coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,11 @@ export declare class MosaicClient {
|
|
|
25
25
|
_coordinator: Coordinator | null;
|
|
26
26
|
_pending: Promise<unknown>;
|
|
27
27
|
_enabled: boolean;
|
|
28
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Initialization state. One of `0` (uninitialized), `-1` (preparing),
|
|
30
|
+
* or `1` (initialized).
|
|
31
|
+
*/
|
|
32
|
+
_initialized: -1 | 0 | 1;
|
|
29
33
|
_request: Query | boolean | null;
|
|
30
34
|
/**
|
|
31
35
|
* Create a new client instance.
|
|
@@ -46,6 +50,11 @@ export declare class MosaicClient {
|
|
|
46
50
|
* Return this client's enabled state.
|
|
47
51
|
*/
|
|
48
52
|
get enabled(): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Return this client's initialization state:
|
|
55
|
+
* `true` if initialization is complete, `false` otherwise.
|
|
56
|
+
*/
|
|
57
|
+
get initialized(): boolean;
|
|
49
58
|
/**
|
|
50
59
|
* Set this client's enabled state;
|
|
51
60
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MosaicClient.d.ts","sourceRoot":"","sources":["../../src/MosaicClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;AAEhD,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAE5D;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,YAAY;IACvB,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"MosaicClient.d.ts","sourceRoot":"","sources":["../../src/MosaicClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;AAEhD,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAE5D;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,YAAY;IACvB,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,QAAQ,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC;IAEjC;;;;;OAKG;gBACS,eAAe,CAAC,EAAE,SAAS;IAUvC;;OAEG;IACH,IAAI,WAAW,IAAI,WAAW,GAAG,IAAI,CAEpC;IAED;;OAEG;IACH,IAAI,WAAW,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,EAE9C;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAezB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAE9B;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,SAAS,GAAG,SAAS,CAEpC;IAED;;;;;OAKG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAG9B;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,WAAW;IAI9C;;;OAGG;IACH,YAAY,IAAI,IAAI;IAIpB;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAIhC;;;;OAIG;IACH,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAK9B;;;;;;;;;;OAUG;IACH,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI;IAUpD;;;;;;;OAOG;IACH,aAAa,IAAI,IAAI;IAQrB;;;OAGG;IACH,UAAU,IAAI,IAAI;IAclB;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI;IAKf;;;OAGG;IACH,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;CAGlC"}
|
package/dist/src/MosaicClient.js
CHANGED
|
@@ -24,6 +24,10 @@ export class MosaicClient {
|
|
|
24
24
|
_coordinator;
|
|
25
25
|
_pending;
|
|
26
26
|
_enabled;
|
|
27
|
+
/**
|
|
28
|
+
* Initialization state. One of `0` (uninitialized), `-1` (preparing),
|
|
29
|
+
* or `1` (initialized).
|
|
30
|
+
*/
|
|
27
31
|
_initialized;
|
|
28
32
|
_request;
|
|
29
33
|
/**
|
|
@@ -38,7 +42,7 @@ export class MosaicClient {
|
|
|
38
42
|
this._coordinator = null;
|
|
39
43
|
this._pending = Promise.resolve();
|
|
40
44
|
this._enabled = true;
|
|
41
|
-
this._initialized =
|
|
45
|
+
this._initialized = 0;
|
|
42
46
|
this._request = null;
|
|
43
47
|
}
|
|
44
48
|
/**
|
|
@@ -59,6 +63,13 @@ export class MosaicClient {
|
|
|
59
63
|
get enabled() {
|
|
60
64
|
return this._enabled;
|
|
61
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Return this client's initialization state:
|
|
68
|
+
* `true` if initialization is complete, `false` otherwise.
|
|
69
|
+
*/
|
|
70
|
+
get initialized() {
|
|
71
|
+
return this._initialized > 0;
|
|
72
|
+
}
|
|
62
73
|
/**
|
|
63
74
|
* Set this client's enabled state;
|
|
64
75
|
*/
|
|
@@ -183,12 +194,15 @@ export class MosaicClient {
|
|
|
183
194
|
initialize() {
|
|
184
195
|
if (!this._enabled) {
|
|
185
196
|
// clear flag so we initialize when enabled again
|
|
186
|
-
this._initialized =
|
|
197
|
+
this._initialized = 0;
|
|
187
198
|
}
|
|
188
199
|
else if (this._coordinator) {
|
|
189
200
|
// if connected, let's initialize
|
|
190
|
-
this._initialized =
|
|
191
|
-
this._pending = this.prepare().then(() =>
|
|
201
|
+
this._initialized = -1;
|
|
202
|
+
this._pending = this.prepare().then(() => {
|
|
203
|
+
this._initialized = 1;
|
|
204
|
+
return this.requestQuery();
|
|
205
|
+
});
|
|
192
206
|
}
|
|
193
207
|
}
|
|
194
208
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MosaicClient.js","sourceRoot":"","sources":["../../src/MosaicClient.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C,MAAM,UAAU,cAAc,CAAC,CAAU;IACvC,OAAO,CAAC,YAAY,YAAY,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,YAAY;IACvB,SAAS,CAAwB;IACjC,cAAc,CAAa;IAC3B,YAAY,CAAqB;IACjC,QAAQ,CAAmB;IAC3B,QAAQ,CAAU;IAClB,YAAY,
|
|
1
|
+
{"version":3,"file":"MosaicClient.js","sourceRoot":"","sources":["../../src/MosaicClient.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uwdata/mosaic-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.1",
|
|
4
4
|
"description": "Scalable and extensible linked data views.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mosaic",
|
|
@@ -32,12 +32,12 @@
|
|
|
32
32
|
"prepublishOnly": "pnpm run test && pnpm run lint && tsc --build"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@duckdb/duckdb-wasm": "1.
|
|
35
|
+
"@duckdb/duckdb-wasm": "1.33.1-dev42.0",
|
|
36
36
|
"@uwdata/flechette": "^2.3.0",
|
|
37
|
-
"@uwdata/mosaic-sql": "^0.
|
|
37
|
+
"@uwdata/mosaic-sql": "^0.24.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@uwdata/mosaic-duckdb": "^0.
|
|
40
|
+
"@uwdata/mosaic-duckdb": "^0.24.1"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "1f4fe1626e6f7181e0b195117e8089dc9adc4f63"
|
|
43
43
|
}
|
package/src/Coordinator.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import { SocketConnector } from './connectors/socket.js';
|
|
3
3
|
import { type Connector } from './connectors/Connector.js';
|
|
4
|
-
import { PreAggregator, type PreAggregateOptions } from './preagg/PreAggregator.js';
|
|
4
|
+
import { PreAggregator, type PreAggregateInfo, type PreAggregateOptions } from './preagg/PreAggregator.js';
|
|
5
5
|
import { voidLogger } from './util/void-logger.js';
|
|
6
6
|
import { QueryManager, Priority } from './QueryManager.js';
|
|
7
7
|
import { type Selection } from './Selection.js';
|
|
@@ -381,16 +381,22 @@ function updateSelection(
|
|
|
381
381
|
const { preaggregator, filterGroups } = mc;
|
|
382
382
|
const { clients } = filterGroups!.get(selection)!;
|
|
383
383
|
const { active } = selection;
|
|
384
|
-
return Promise.allSettled(Array.from(clients, (client: MosaicClient) => {
|
|
384
|
+
return Promise.allSettled(Array.from(clients, async (client: MosaicClient) => {
|
|
385
|
+
// if client is not enabled, register a request for later
|
|
385
386
|
if (!client.enabled) return client.requestQuery();
|
|
387
|
+
|
|
388
|
+
// if client is initializing, wait for it to complete
|
|
389
|
+
if (!client.initialized) await client.pending;
|
|
390
|
+
|
|
391
|
+
// check if we can handle selection update via preaggregation
|
|
386
392
|
const info = preaggregator.request(client, selection, active);
|
|
387
393
|
const filter = info ? null : selection.predicate(client);
|
|
388
394
|
|
|
389
395
|
// skip due to cross-filtering
|
|
390
396
|
if (info?.skip || (!info && !filter)) return;
|
|
391
397
|
|
|
392
|
-
//
|
|
393
|
-
const query = info?.query(active.predicate) ?? client.query(filter);
|
|
398
|
+
// generate and issue update query
|
|
399
|
+
const query = (info as PreAggregateInfo)?.query(active.predicate!) ?? client.query(filter);
|
|
394
400
|
return mc.updateClient(client, query);
|
|
395
401
|
}));
|
|
396
402
|
}
|
package/src/MosaicClient.ts
CHANGED
|
@@ -31,7 +31,11 @@ export class MosaicClient {
|
|
|
31
31
|
_coordinator: Coordinator | null;
|
|
32
32
|
_pending: Promise<unknown>;
|
|
33
33
|
_enabled: boolean;
|
|
34
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Initialization state. One of `0` (uninitialized), `-1` (preparing),
|
|
36
|
+
* or `1` (initialized).
|
|
37
|
+
*/
|
|
38
|
+
_initialized: -1 | 0 | 1;
|
|
35
39
|
_request: Query | boolean | null;
|
|
36
40
|
|
|
37
41
|
/**
|
|
@@ -46,7 +50,7 @@ export class MosaicClient {
|
|
|
46
50
|
this._coordinator = null;
|
|
47
51
|
this._pending = Promise.resolve();
|
|
48
52
|
this._enabled = true;
|
|
49
|
-
this._initialized =
|
|
53
|
+
this._initialized = 0;
|
|
50
54
|
this._request = null;
|
|
51
55
|
}
|
|
52
56
|
|
|
@@ -71,6 +75,14 @@ export class MosaicClient {
|
|
|
71
75
|
return this._enabled;
|
|
72
76
|
}
|
|
73
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Return this client's initialization state:
|
|
80
|
+
* `true` if initialization is complete, `false` otherwise.
|
|
81
|
+
*/
|
|
82
|
+
get initialized(): boolean {
|
|
83
|
+
return this._initialized > 0;
|
|
84
|
+
}
|
|
85
|
+
|
|
74
86
|
/**
|
|
75
87
|
* Set this client's enabled state;
|
|
76
88
|
*/
|
|
@@ -203,11 +215,14 @@ export class MosaicClient {
|
|
|
203
215
|
initialize(): void {
|
|
204
216
|
if (!this._enabled) {
|
|
205
217
|
// clear flag so we initialize when enabled again
|
|
206
|
-
this._initialized =
|
|
218
|
+
this._initialized = 0;
|
|
207
219
|
} else if (this._coordinator) {
|
|
208
220
|
// if connected, let's initialize
|
|
209
|
-
this._initialized =
|
|
210
|
-
this._pending = this.prepare().then(() =>
|
|
221
|
+
this._initialized = -1;
|
|
222
|
+
this._pending = this.prepare().then(() => {
|
|
223
|
+
this._initialized = 1;
|
|
224
|
+
return this.requestQuery();
|
|
225
|
+
});
|
|
211
226
|
}
|
|
212
227
|
}
|
|
213
228
|
|