@uwdata/mosaic-core 0.23.1 → 0.24.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.
@@ -1 +1 @@
1
- {"version":3,"file":"Coordinator.d.ts","sourceRoot":"","sources":["../../src/Coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Coordinator.d.ts","sourceRoot":"","sources":["../../src/Coordinator.ts"],"names":[],"mappings":"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"}
@@ -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
- // @ts-expect-error FIXME
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":"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"}
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
- _initialized: boolean;
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,OAAO,CAAC;IACtB,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;;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;IAWlB;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI;IAKf;;;OAGG;IACH,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;CAGlC"}
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"}
@@ -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 = false;
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 = false;
197
+ this._initialized = 0;
187
198
  }
188
199
  else if (this._coordinator) {
189
200
  // if connected, let's initialize
190
- this._initialized = true;
191
- this._pending = this.prepare().then(() => this.requestQuery());
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":"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"}
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.23.1",
3
+ "version": "0.24.0",
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.32.0",
35
+ "@duckdb/duckdb-wasm": "1.33.1-dev42.0",
36
36
  "@uwdata/flechette": "^2.3.0",
37
37
  "@uwdata/mosaic-sql": "^0.23.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@uwdata/mosaic-duckdb": "^0.23.0"
41
41
  },
42
- "gitHead": "174dbd19f8af310ea1fa6d164bc3a5c832a6dc36"
42
+ "gitHead": "4d41d46038d4438ce9283d13b875abf0a9b9c2f4"
43
43
  }
@@ -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
- // @ts-expect-error FIXME
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
  }
@@ -31,7 +31,11 @@ export class MosaicClient {
31
31
  _coordinator: Coordinator | null;
32
32
  _pending: Promise<unknown>;
33
33
  _enabled: boolean;
34
- _initialized: boolean;
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 = false;
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 = false;
218
+ this._initialized = 0;
207
219
  } else if (this._coordinator) {
208
220
  // if connected, let's initialize
209
- this._initialized = true;
210
- this._pending = this.prepare().then(() => this.requestQuery());
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