@moltendb-web/query 0.2.0 → 0.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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +23 -7
- package/dist/index.js +10 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +9 -0
package/dist/index.d.ts
CHANGED
|
@@ -75,6 +75,7 @@ export declare class WorkerTransport implements MoltenTransport {
|
|
|
75
75
|
private worker;
|
|
76
76
|
private messageId;
|
|
77
77
|
private pending;
|
|
78
|
+
onEvent?: (event: any) => void;
|
|
78
79
|
constructor(worker: Worker, startId?: number);
|
|
79
80
|
send(action: 'get' | 'set' | 'update' | 'delete', payload: Document): Promise<JsonValue>;
|
|
80
81
|
}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4CA,uCAAuC;AACvC,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEjC,mEAAmE;AACnE,MAAM,MAAM,QAAQ,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEpD,yEAAyE;AACzE,MAAM,MAAM,OAAO,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAAC;AAIlD,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,CAAC;CAC7C,CAAC;AAIF,mCAAmC;AACnC,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAID,mCAAmC;AACnC,MAAM,WAAW,QAAQ;IACvB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAID;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAIrD;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAC1F;AAID;;;;;;GAMG;AACH,qBAAa,eAAgB,YAAW,eAAe;IACrD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAsF;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.esm.js
CHANGED
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
// await db.collection('laptops').delete().keys(['lp4', 'lp5']).exec();
|
|
40
40
|
// await db.collection('laptops').delete().drop().exec();
|
|
41
41
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
42
|
+
|
|
42
43
|
// ─── WorkerTransport ──────────────────────────────────────────────────────────
|
|
43
44
|
/**
|
|
44
45
|
* Default transport that communicates with a MoltenDB Web Worker.
|
|
@@ -47,12 +48,19 @@
|
|
|
47
48
|
* postMessage({ id, action, ...payload })
|
|
48
49
|
* onmessage → { id, result } | { id, error }
|
|
49
50
|
*/
|
|
50
|
-
|
|
51
|
+
class WorkerTransport {
|
|
51
52
|
constructor(worker, startId = 0) {
|
|
52
53
|
this.pending = new Map();
|
|
53
54
|
this.messageId = startId;
|
|
54
55
|
this.worker = worker;
|
|
55
56
|
this.worker.addEventListener('message', (event) => {
|
|
57
|
+
// 1. Intercept unsolicited broadcast events from the Rust core
|
|
58
|
+
if (event.data && event.data.type === 'event') {
|
|
59
|
+
if (this.onEvent)
|
|
60
|
+
this.onEvent(event.data);
|
|
61
|
+
return; // Don't try to process this as a promise resolution
|
|
62
|
+
}
|
|
63
|
+
// 2. Standard request/response routing
|
|
56
64
|
const { id, result, error } = event.data;
|
|
57
65
|
const p = this.pending.get(id);
|
|
58
66
|
if (!p)
|
|
@@ -72,6 +80,7 @@ export class WorkerTransport {
|
|
|
72
80
|
});
|
|
73
81
|
}
|
|
74
82
|
}
|
|
83
|
+
export { WorkerTransport as WorkerTransport };
|
|
75
84
|
// ─── GetQuery ─────────────────────────────────────────────────────────────────
|
|
76
85
|
/**
|
|
77
86
|
* Builder for GET (read/query) operations.
|
|
@@ -88,7 +97,7 @@ export class WorkerTransport {
|
|
|
88
97
|
* .count(5)
|
|
89
98
|
* .exec();
|
|
90
99
|
*/
|
|
91
|
-
|
|
100
|
+
class GetQuery {
|
|
92
101
|
/** @internal */
|
|
93
102
|
constructor(transport, collection) {
|
|
94
103
|
this.transport = transport;
|
|
@@ -210,6 +219,7 @@ export class GetQuery {
|
|
|
210
219
|
return this.transport.send('get', this.payload);
|
|
211
220
|
}
|
|
212
221
|
}
|
|
222
|
+
export { GetQuery as GetQuery };
|
|
213
223
|
// ─── SetQuery ─────────────────────────────────────────────────────────────────
|
|
214
224
|
/**
|
|
215
225
|
* Builder for SET (insert / upsert) operations.
|
|
@@ -224,7 +234,7 @@ export class GetQuery {
|
|
|
224
234
|
* })
|
|
225
235
|
* .exec();
|
|
226
236
|
*/
|
|
227
|
-
|
|
237
|
+
class SetQuery {
|
|
228
238
|
/** @internal */
|
|
229
239
|
constructor(transport, collection, data) {
|
|
230
240
|
this.transport = transport;
|
|
@@ -269,6 +279,7 @@ export class SetQuery {
|
|
|
269
279
|
return this.transport.send('set', this.payload);
|
|
270
280
|
}
|
|
271
281
|
}
|
|
282
|
+
export { SetQuery as SetQuery };
|
|
272
283
|
// ─── UpdateQuery ──────────────────────────────────────────────────────────────
|
|
273
284
|
/**
|
|
274
285
|
* Builder for UPDATE (partial patch / merge) operations.
|
|
@@ -283,7 +294,7 @@ export class SetQuery {
|
|
|
283
294
|
* .update({ lp4: { price: 1749, in_stock: true } })
|
|
284
295
|
* .exec();
|
|
285
296
|
*/
|
|
286
|
-
|
|
297
|
+
class UpdateQuery {
|
|
287
298
|
/** @internal */
|
|
288
299
|
constructor(transport, collection, data) {
|
|
289
300
|
this.transport = transport;
|
|
@@ -298,6 +309,7 @@ export class UpdateQuery {
|
|
|
298
309
|
return this.transport.send('update', this.payload);
|
|
299
310
|
}
|
|
300
311
|
}
|
|
312
|
+
export { UpdateQuery as UpdateQuery };
|
|
301
313
|
// ─── DeleteQuery ──────────────────────────────────────────────────────────────
|
|
302
314
|
/**
|
|
303
315
|
* Builder for DELETE operations.
|
|
@@ -314,7 +326,7 @@ export class UpdateQuery {
|
|
|
314
326
|
* // Drop the entire collection
|
|
315
327
|
* await db.collection('laptops').delete().drop().exec();
|
|
316
328
|
*/
|
|
317
|
-
|
|
329
|
+
class DeleteQuery {
|
|
318
330
|
/** @internal */
|
|
319
331
|
constructor(transport, collection) {
|
|
320
332
|
this.transport = transport;
|
|
@@ -351,13 +363,14 @@ export class DeleteQuery {
|
|
|
351
363
|
return this.transport.send('delete', this.payload);
|
|
352
364
|
}
|
|
353
365
|
}
|
|
366
|
+
export { DeleteQuery as DeleteQuery };
|
|
354
367
|
// ─── CollectionHandle ─────────────────────────────────────────────────────────
|
|
355
368
|
/**
|
|
356
369
|
* A handle to a specific collection.
|
|
357
370
|
* Returned by `MoltenDBClient.collection(name)`.
|
|
358
371
|
* Use it to start any of the four operation builders.
|
|
359
372
|
*/
|
|
360
|
-
|
|
373
|
+
class CollectionHandle {
|
|
361
374
|
/** @internal */
|
|
362
375
|
constructor(transport, collectionName) {
|
|
363
376
|
this.transport = transport;
|
|
@@ -406,6 +419,7 @@ export class CollectionHandle {
|
|
|
406
419
|
return new DeleteQuery(this.transport, this.collectionName);
|
|
407
420
|
}
|
|
408
421
|
}
|
|
422
|
+
export { CollectionHandle as CollectionHandle };
|
|
409
423
|
// ─── MoltenDBClient ───────────────────────────────────────────────────────────
|
|
410
424
|
/**
|
|
411
425
|
* The main entry point for the MoltenDB query builder.
|
|
@@ -427,7 +441,7 @@ export class CollectionHandle {
|
|
|
427
441
|
* .count(5)
|
|
428
442
|
* .exec();
|
|
429
443
|
*/
|
|
430
|
-
|
|
444
|
+
class MoltenDBClient {
|
|
431
445
|
constructor(transport) {
|
|
432
446
|
this.transport = transport;
|
|
433
447
|
}
|
|
@@ -441,3 +455,5 @@ export class MoltenDBClient {
|
|
|
441
455
|
return new CollectionHandle(this.transport, name);
|
|
442
456
|
}
|
|
443
457
|
}
|
|
458
|
+
export { MoltenDBClient as MoltenDBClient };
|
|
459
|
+
//# sourceMappingURL=index.js.map
|
package/dist/index.js
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
// await db.collection('laptops').delete().drop().exec();
|
|
42
42
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
43
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
-
exports.
|
|
44
|
+
exports.MoltenDBClient = exports.CollectionHandle = exports.DeleteQuery = exports.UpdateQuery = exports.SetQuery = exports.GetQuery = exports.WorkerTransport = void 0;
|
|
45
45
|
// ─── WorkerTransport ──────────────────────────────────────────────────────────
|
|
46
46
|
/**
|
|
47
47
|
* Default transport that communicates with a MoltenDB Web Worker.
|
|
@@ -56,6 +56,13 @@ class WorkerTransport {
|
|
|
56
56
|
this.messageId = startId;
|
|
57
57
|
this.worker = worker;
|
|
58
58
|
this.worker.addEventListener('message', (event) => {
|
|
59
|
+
// 1. Intercept unsolicited broadcast events from the Rust core
|
|
60
|
+
if (event.data && event.data.type === 'event') {
|
|
61
|
+
if (this.onEvent)
|
|
62
|
+
this.onEvent(event.data);
|
|
63
|
+
return; // Don't try to process this as a promise resolution
|
|
64
|
+
}
|
|
65
|
+
// 2. Standard request/response routing
|
|
59
66
|
const { id, result, error } = event.data;
|
|
60
67
|
const p = this.pending.get(id);
|
|
61
68
|
if (!p)
|
|
@@ -436,7 +443,7 @@ exports.CollectionHandle = CollectionHandle;
|
|
|
436
443
|
* .count(5)
|
|
437
444
|
* .exec();
|
|
438
445
|
*/
|
|
439
|
-
class
|
|
446
|
+
class MoltenDBClient {
|
|
440
447
|
constructor(transport) {
|
|
441
448
|
this.transport = transport;
|
|
442
449
|
}
|
|
@@ -450,5 +457,5 @@ class MoltenDBQueryBuilder {
|
|
|
450
457
|
return new CollectionHandle(this.transport, name);
|
|
451
458
|
}
|
|
452
459
|
}
|
|
453
|
-
exports.
|
|
460
|
+
exports.MoltenDBClient = MoltenDBClient;
|
|
454
461
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,mDAAmD;AACnD,EAAE;AACF,yEAAyE;AACzE,6EAA6E;AAC7E,iBAAiB;AACjB,EAAE;AACF,qEAAqE;AACrE,+CAA+C;AAC/C,8CAA8C;AAC9C,qCAAqC;AACrC,2CAA2C;AAC3C,EAAE;AACF,oCAAoC;AACpC,EAAE;AACF,2CAA2C;AAC3C,EAAE;AACF,6BAA6B;AAC7B,mDAAmD;AACnD,aAAa;AACb,iCAAiC;AACjC,2CAA2C;AAC3C,gDAAgD;AAChD,iBAAiB;AACjB,eAAe;AACf,EAAE;AACF,2BAA2B;AAC3B,mCAAmC;AACnC,sDAAsD;AACtD,eAAe;AACf,EAAE;AACF,8BAA8B;AAC9B,mCAAmC;AACnC,wDAAwD;AACxD,eAAe;AACf,EAAE;AACF,2CAA2C;AAC3C,gEAAgE;AAChE,yEAAyE;AACzE,2DAA2D;AAC3D,gFAAgF;;;AAuFhF,iFAAiF;AAEjF;;;;;;GAMG;AACH,MAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -138,14 +138,23 @@ export class WorkerTransport implements MoltenTransport {
|
|
|
138
138
|
private worker: Worker;
|
|
139
139
|
private messageId: number;
|
|
140
140
|
private pending = new Map<number, { resolve: (v: JsonValue) => void; reject: (e: Error) => void }>();
|
|
141
|
+
public onEvent?: (event: any) => void;
|
|
141
142
|
|
|
142
143
|
constructor(worker: Worker, startId = 0) {
|
|
143
144
|
this.messageId = startId;
|
|
144
145
|
this.worker = worker;
|
|
145
146
|
this.worker.addEventListener('message', (event: MessageEvent) => {
|
|
147
|
+
// 1. Intercept unsolicited broadcast events from the Rust core
|
|
148
|
+
if (event.data && event.data.type === 'event') {
|
|
149
|
+
if (this.onEvent) this.onEvent(event.data);
|
|
150
|
+
return; // Don't try to process this as a promise resolution
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// 2. Standard request/response routing
|
|
146
154
|
const { id, result, error } = event.data as { id: number; result?: JsonValue; error?: string };
|
|
147
155
|
const p = this.pending.get(id);
|
|
148
156
|
if (!p) return;
|
|
157
|
+
|
|
149
158
|
this.pending.delete(id);
|
|
150
159
|
if (error) p.reject(new Error(error));
|
|
151
160
|
else p.resolve(result ?? null);
|