@fireproof/core 0.21.0-dev-preview-2 → 0.21.0-dev-preview-4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/blockstore/loader.d.ts +2 -1
  2. package/blockstore/loader.d.ts.map +1 -1
  3. package/blockstore/loader.js +40 -10
  4. package/blockstore/loader.js.map +1 -1
  5. package/blockstore/store.js +1 -1
  6. package/blockstore/store.js.map +1 -1
  7. package/database.d.ts +1 -2
  8. package/database.d.ts.map +1 -1
  9. package/database.js +2 -3
  10. package/database.js.map +1 -1
  11. package/index.d.ts +1 -0
  12. package/index.d.ts.map +1 -1
  13. package/index.js +1 -0
  14. package/index.js.map +1 -1
  15. package/indexer.d.ts.map +1 -1
  16. package/indexer.js +5 -5
  17. package/indexer.js.map +1 -1
  18. package/ledger.d.ts +3 -2
  19. package/ledger.d.ts.map +1 -1
  20. package/ledger.js +7 -4
  21. package/ledger.js.map +1 -1
  22. package/package.json +1 -1
  23. package/protocols/cloud/http-connection.d.ts +2 -1
  24. package/protocols/cloud/http-connection.d.ts.map +1 -1
  25. package/protocols/cloud/http-connection.js +1 -0
  26. package/protocols/cloud/http-connection.js.map +1 -1
  27. package/protocols/cloud/msg-types-data.d.ts +4 -4
  28. package/protocols/cloud/msg-types-data.d.ts.map +1 -1
  29. package/protocols/cloud/msg-types-data.js.map +1 -1
  30. package/protocols/cloud/msg-types-meta.d.ts +13 -13
  31. package/protocols/cloud/msg-types-meta.d.ts.map +1 -1
  32. package/protocols/cloud/msg-types-meta.js.map +1 -1
  33. package/protocols/cloud/msg-types-wal.d.ts +4 -4
  34. package/protocols/cloud/msg-types-wal.d.ts.map +1 -1
  35. package/protocols/cloud/msg-types-wal.js.map +1 -1
  36. package/protocols/cloud/msg-types.d.ts +33 -19
  37. package/protocols/cloud/msg-types.d.ts.map +1 -1
  38. package/protocols/cloud/msg-types.js +4 -1
  39. package/protocols/cloud/msg-types.js.map +1 -1
  40. package/protocols/cloud/msger.d.ts +47 -38
  41. package/protocols/cloud/msger.d.ts.map +1 -1
  42. package/protocols/cloud/msger.js +211 -106
  43. package/protocols/cloud/msger.js.map +1 -1
  44. package/protocols/cloud/ws-connection.d.ts +14 -3
  45. package/protocols/cloud/ws-connection.d.ts.map +1 -1
  46. package/protocols/cloud/ws-connection.js +73 -34
  47. package/protocols/cloud/ws-connection.js.map +1 -1
  48. package/protocols/dashboard/index.d.ts +4 -0
  49. package/protocols/dashboard/index.d.ts.map +1 -0
  50. package/protocols/dashboard/index.js +4 -0
  51. package/protocols/dashboard/index.js.map +1 -0
  52. package/protocols/dashboard/msg-api.d.ts +11 -0
  53. package/protocols/dashboard/msg-api.d.ts.map +1 -0
  54. package/protocols/dashboard/msg-api.js +55 -0
  55. package/protocols/dashboard/msg-api.js.map +1 -0
  56. package/protocols/dashboard/msg-is.d.ts +45 -0
  57. package/protocols/dashboard/msg-is.d.ts.map +1 -0
  58. package/protocols/dashboard/msg-is.js +63 -0
  59. package/protocols/dashboard/msg-is.js.map +1 -0
  60. package/protocols/dashboard/msg-types.d.ts +397 -0
  61. package/protocols/dashboard/msg-types.d.ts.map +1 -0
  62. package/protocols/dashboard/msg-types.js +4 -0
  63. package/protocols/dashboard/msg-types.js.map +1 -0
  64. package/protocols/index.d.ts +1 -0
  65. package/protocols/index.d.ts.map +1 -1
  66. package/protocols/index.js +1 -0
  67. package/protocols/index.js.map +1 -1
  68. package/react/img-file.d.ts +1 -1
  69. package/react/types.d.ts +29 -9
  70. package/react/types.d.ts.map +1 -1
  71. package/react/use-all-docs.d.ts +1 -1
  72. package/react/use-all-docs.d.ts.map +1 -1
  73. package/react/use-all-docs.js.map +1 -1
  74. package/react/use-attach.d.ts +9 -4
  75. package/react/use-attach.d.ts.map +1 -1
  76. package/react/use-attach.js +136 -43
  77. package/react/use-attach.js.map +1 -1
  78. package/react/use-fireproof.js +2 -2
  79. package/react/use-fireproof.js.map +1 -1
  80. package/runtime/gateways/cloud/gateway.d.ts +8 -8
  81. package/runtime/gateways/cloud/gateway.d.ts.map +1 -1
  82. package/runtime/gateways/cloud/gateway.js +17 -15
  83. package/runtime/gateways/cloud/gateway.js.map +1 -1
  84. package/runtime/gateways/cloud/to-cloud.d.ts +22 -9
  85. package/runtime/gateways/cloud/to-cloud.d.ts.map +1 -1
  86. package/runtime/gateways/cloud/to-cloud.js +75 -59
  87. package/runtime/gateways/cloud/to-cloud.js.map +1 -1
  88. package/runtime/gateways/file/key-bag-file.d.ts +1 -0
  89. package/runtime/gateways/file/key-bag-file.d.ts.map +1 -1
  90. package/runtime/gateways/file/key-bag-file.js +12 -0
  91. package/runtime/gateways/file/key-bag-file.js.map +1 -1
  92. package/runtime/gateways/indexeddb/gateway-impl.d.ts.map +1 -1
  93. package/runtime/gateways/indexeddb/gateway-impl.js.map +1 -1
  94. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts +1 -0
  95. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts.map +1 -1
  96. package/runtime/gateways/indexeddb/key-bag-indexeddb.js +6 -0
  97. package/runtime/gateways/indexeddb/key-bag-indexeddb.js.map +1 -1
  98. package/runtime/key-bag-memory.d.ts +1 -0
  99. package/runtime/key-bag-memory.d.ts.map +1 -1
  100. package/runtime/key-bag-memory.js +7 -0
  101. package/runtime/key-bag-memory.js.map +1 -1
  102. package/runtime/key-bag.d.ts +3 -0
  103. package/runtime/key-bag.d.ts.map +1 -1
  104. package/runtime/key-bag.js +6 -0
  105. package/runtime/key-bag.js.map +1 -1
  106. package/tests/fireproof/attachable.test.ts +1 -1
  107. package/tests/fireproof/charwise-boolean.test.ts +1 -2
  108. package/tests/fireproof/deleted-docs-handling.test.ts +0 -1
  109. package/tests/fireproof/query-docs.test.ts +1 -4
  110. package/tests/fireproof/query-property-inconsistency.test.ts +1 -4
  111. package/tests/fireproof/query-result-properties.test.ts +1 -4
  112. package/tests/protocols/cloud/msger.test.ts +563 -0
  113. package/types.d.ts +6 -7
  114. package/types.d.ts.map +1 -1
  115. package/use-fireproof/iframe-strategy.d.ts +6 -4
  116. package/use-fireproof/iframe-strategy.d.ts.map +1 -1
  117. package/use-fireproof/iframe-strategy.js +7 -11
  118. package/use-fireproof/iframe-strategy.js.map +1 -1
  119. package/use-fireproof/index.d.ts +6 -2
  120. package/use-fireproof/index.d.ts.map +1 -1
  121. package/use-fireproof/index.js +23 -3
  122. package/use-fireproof/index.js.map +1 -1
  123. package/use-fireproof/redirect-strategy.d.ts +11 -4
  124. package/use-fireproof/redirect-strategy.d.ts.map +1 -1
  125. package/use-fireproof/redirect-strategy.js +142 -20
  126. package/use-fireproof/redirect-strategy.js.map +1 -1
  127. package/utils.d.ts +3 -0
  128. package/utils.d.ts.map +1 -1
  129. package/utils.js.map +1 -1
@@ -0,0 +1,563 @@
1
+ import { Result, URI } from "@adviser/cement";
2
+ import { ensureSuperThis, ps, SuperThis } from "@fireproof/core";
3
+ import {
4
+ buildResChat,
5
+ buildResGestalt,
6
+ buildResOpen,
7
+ MsgIsError,
8
+ MsgIsReqChat,
9
+ MsgIsReqGestalt,
10
+ MsgIsReqOpen,
11
+ NotReadyErrorMsg,
12
+ } from "../../../src/protocols/cloud/msg-types.js";
13
+ import { VirtualConnected } from "../../../src/protocols/cloud/msger.js";
14
+
15
+ const sthis = ensureSuperThis();
16
+
17
+ class TestConnection implements ps.cloud.MsgRawConnection {
18
+ readonly sthis: SuperThis;
19
+ readonly exchangedGestalt: ps.cloud.ExchangedGestalt;
20
+ readonly activeBinds: Map<string, ps.cloud.ActiveStream>;
21
+ readonly id: string;
22
+
23
+ isReady = true;
24
+
25
+ constructor(sthis: SuperThis, exGestalt: ps.cloud.ExchangedGestalt) {
26
+ this.sthis = sthis;
27
+ this.exchangedGestalt = exGestalt;
28
+ this.activeBinds = new Map();
29
+ this.id = this.sthis.nextId().str;
30
+ }
31
+
32
+ readonly bindFn = vi.fn();
33
+ bind<S extends ps.cloud.MsgBase, Q extends ps.cloud.MsgBase>(
34
+ req: Q,
35
+ opts: ps.cloud.RequestOpts,
36
+ ): ReadableStream<ps.cloud.MsgWithError<S>> {
37
+ this.bindFn(req, opts);
38
+ return new ReadableStream<ps.cloud.MsgWithError<S>>({
39
+ start: (ctl) => {
40
+ ctl.enqueue({
41
+ tid: req.tid,
42
+ type: req.type,
43
+ version: req.version,
44
+ auth: {
45
+ type: "error",
46
+ },
47
+ } as S);
48
+ },
49
+ });
50
+ }
51
+ readonly requestFn = vi.fn();
52
+ request<S extends ps.cloud.MsgBase, Q extends ps.cloud.MsgBase>(
53
+ req: Q,
54
+ opts: ps.cloud.RequestOpts,
55
+ ): Promise<ps.cloud.MsgWithError<S>> {
56
+ this.requestFn(req, opts);
57
+ // console.log("request", req);
58
+ return Promise.resolve({
59
+ tid: req.tid,
60
+ type: req.type,
61
+ version: req.version,
62
+ auth: {
63
+ type: "error",
64
+ },
65
+ } as S);
66
+ }
67
+ readonly sendFn = vi.fn();
68
+ send<S extends ps.cloud.MsgBase, Q extends ps.cloud.MsgBase>(msg: Q): Promise<ps.cloud.MsgWithError<S>> {
69
+ this.sendFn(msg);
70
+ // console.log("send", msg);
71
+ return Promise.resolve({
72
+ tid: msg.tid,
73
+ type: msg.type,
74
+ version: msg.version,
75
+ auth: {
76
+ type: "error",
77
+ },
78
+ } as S);
79
+ }
80
+ readonly startFn = vi.fn();
81
+ start(): Promise<Result<void>> {
82
+ this.startFn();
83
+ // console.log("start", this.id); //, this.startFn.mock.calls);
84
+ return Promise.resolve(Result.Ok(undefined));
85
+ }
86
+ readonly closeFn = vi.fn();
87
+ close(o: ps.cloud.MsgBase): Promise<Result<void>> {
88
+ this.closeFn(o);
89
+ // console.log("close", this.id); //, o, this.closeFn.mock.calls);
90
+ return Promise.resolve(Result.Ok(undefined));
91
+ }
92
+ readonly onMsgFn = vi.fn();
93
+ onMsg(msg: ps.cloud.OnMsgFn<ps.cloud.MsgBase>): ps.cloud.UnReg {
94
+ this.onMsgFn(msg);
95
+ return () => {
96
+ /* no-op */
97
+ };
98
+ }
99
+ }
100
+
101
+ it("queued-raw-connection", async () => {
102
+ const msgP = ps.cloud.defaultMsgParams(sthis, { hasPersistent: true });
103
+ const my = ps.cloud.defaultGestalt(msgP, { id: "FP-Universal-Client" });
104
+ const realConn = new MockWSConnection(sthis, {
105
+ my,
106
+ remote: ps.cloud.defaultGestalt(msgP, { id: "FP-Universal-Server" }),
107
+ });
108
+
109
+ const vconn = new ps.cloud.VirtualConnected(sthis, {
110
+ curl: "http://localhost:8080",
111
+ imsgP: msgP,
112
+ openWSorHttp: {
113
+ openHttp: async function (): Promise<Result<ps.cloud.MsgRawConnection>> {
114
+ return Result.Ok(
115
+ new MockHttpConnection(sthis, {
116
+ my,
117
+ remote: ps.cloud.defaultGestalt(msgP, { id: "FP-Universal-Server" }),
118
+ }),
119
+ );
120
+ },
121
+ openWS: async function (): Promise<Result<ps.cloud.MsgRawConnection>> {
122
+ return Result.Ok(realConn);
123
+ },
124
+ },
125
+ });
126
+
127
+ await vconn.send({
128
+ tid: "1234",
129
+ type: "test",
130
+ version: "1.0",
131
+ auth: {
132
+ type: "error",
133
+ },
134
+ });
135
+
136
+ await vconn.request(
137
+ {
138
+ tid: "1234",
139
+ type: "test",
140
+ version: "1.0",
141
+ auth: {
142
+ type: "error",
143
+ },
144
+ },
145
+ {
146
+ waitFor: (msg) => {
147
+ return msg.type === "test" && msg.tid === "1234";
148
+ },
149
+ },
150
+ );
151
+
152
+ await vconn.close({
153
+ tid: "1234",
154
+ type: "test",
155
+ version: "1.0",
156
+ auth: {
157
+ type: "error",
158
+ },
159
+ });
160
+
161
+ // await sleep(100);
162
+
163
+ expect(realConn.startFn).toHaveBeenCalledTimes(1);
164
+ expect(realConn.sendFn).toHaveBeenCalledTimes(1);
165
+ expect(realConn.closeFn).toHaveBeenCalledTimes(1);
166
+ expect(realConn.requestFn).toHaveBeenCalledTimes(2); // open + test
167
+ });
168
+
169
+ class MockHttpConnection extends TestConnection implements ps.cloud.MsgRawConnection {
170
+ sthis: SuperThis;
171
+ exchangedGestalt: ps.cloud.ExchangedGestalt;
172
+ activeBinds: Map<string, ps.cloud.ActiveStream>;
173
+
174
+ readonly isReady = true;
175
+
176
+ constructor(sthis: SuperThis, exGestalt: ps.cloud.ExchangedGestalt) {
177
+ super(sthis, exGestalt);
178
+ this.sthis = sthis;
179
+ this.exchangedGestalt = exGestalt;
180
+ this.activeBinds = new Map();
181
+ }
182
+
183
+ bind<S extends ps.cloud.MsgBase, Q extends ps.cloud.MsgBase>(
184
+ req: Q,
185
+ opts: ps.cloud.RequestOpts,
186
+ ): ReadableStream<ps.cloud.MsgWithError<S>> {
187
+ super.bind(req, opts);
188
+ // console.log("http-bind", req, opts);
189
+ return new ReadableStream<ps.cloud.MsgWithError<S>>({
190
+ start: (ctl) => {
191
+ ctl.enqueue({
192
+ tid: req.tid,
193
+ type: req.type,
194
+ version: req.version,
195
+ auth: {
196
+ type: "error",
197
+ },
198
+ } as S);
199
+ },
200
+ });
201
+ }
202
+ request<S extends ps.cloud.MsgBase, Q extends ps.cloud.MsgBase>(
203
+ req: Q,
204
+ opts: ps.cloud.RequestOpts,
205
+ ): Promise<ps.cloud.MsgWithError<S>> {
206
+ super.request(req, opts);
207
+ switch (true) {
208
+ case MsgIsReqGestalt(req):
209
+ // console.log("http-request-gestalt", req, opts);
210
+ return Promise.resolve(buildResGestalt(req, this.exchangedGestalt.remote, req.auth) as unknown as S);
211
+ }
212
+ // console.log("http-request", req, opts);
213
+ return Promise.resolve({
214
+ tid: req.tid,
215
+ type: req.type,
216
+ version: req.version,
217
+ auth: {
218
+ type: "error",
219
+ },
220
+ } as S);
221
+ }
222
+ send<S extends ps.cloud.MsgBase, Q extends ps.cloud.MsgBase>(msg: Q): Promise<ps.cloud.MsgWithError<S>> {
223
+ super.send(msg);
224
+ // console.log("http-send", msg);
225
+ return Promise.resolve({
226
+ tid: msg.tid,
227
+ type: msg.type,
228
+ version: msg.version,
229
+ auth: {
230
+ type: "error",
231
+ },
232
+ } as S);
233
+ }
234
+ start(): Promise<Result<void>> {
235
+ super.start();
236
+ // console.log("http-start");
237
+ return Promise.resolve(Result.Ok(undefined));
238
+ }
239
+ close(o: ps.cloud.MsgBase): Promise<Result<void>> {
240
+ // console.log("http-close");
241
+ super.close(o);
242
+ return Promise.resolve(Result.Ok(undefined));
243
+ }
244
+ onMsg(msg: ps.cloud.OnMsgFn<ps.cloud.MsgBase>): ps.cloud.UnReg {
245
+ super.onMsg(msg);
246
+ // console.log("http-onMsg", msg);
247
+ return () => {
248
+ /* no-op */
249
+ };
250
+ }
251
+ }
252
+
253
+ class MockWSConnection extends TestConnection implements ps.cloud.MsgRawConnection {
254
+ sthis: SuperThis;
255
+ exchangedGestalt: ps.cloud.ExchangedGestalt;
256
+ activeBinds: Map<string, ps.cloud.ActiveStream>;
257
+
258
+ isReady = false;
259
+
260
+ constructor(sthis: SuperThis, exGestalt: ps.cloud.ExchangedGestalt) {
261
+ super(sthis, exGestalt);
262
+ this.sthis = sthis;
263
+ this.exchangedGestalt = exGestalt;
264
+ this.activeBinds = new Map();
265
+ }
266
+ bind<S extends ps.cloud.MsgBase, Q extends ps.cloud.MsgBase>(
267
+ req: Q,
268
+ opts: ps.cloud.RequestOpts,
269
+ ): ReadableStream<ps.cloud.MsgWithError<S>> {
270
+ super.bind(req, opts);
271
+ // console.log("ws-bind", req, opts);
272
+ const id = this.sthis.nextId().str;
273
+ return new ReadableStream<ps.cloud.MsgWithError<S>>({
274
+ cancel: () => {
275
+ // console.log("ws-bind-close");
276
+ this.activeBinds.delete(id);
277
+ },
278
+ start: (controller) => {
279
+ this.activeBinds.set(id, {
280
+ id,
281
+ bind: {
282
+ msg: req,
283
+ opts,
284
+ },
285
+ controller,
286
+ });
287
+ this.send(req).catch((e) => {
288
+ // eslint-disable-next-line no-console
289
+ console.error("send-error", e);
290
+ });
291
+ },
292
+ });
293
+ }
294
+ request<S extends ps.cloud.MsgBase, Q extends ps.cloud.MsgBase>(
295
+ req: Q,
296
+ opts: ps.cloud.RequestOpts,
297
+ ): Promise<ps.cloud.MsgWithError<S>> {
298
+ super.request(req, opts);
299
+ if (!this.isReady) {
300
+ return Promise.resolve({
301
+ tid: req.tid,
302
+ type: "error",
303
+ version: req.version,
304
+ reason: "not-ready",
305
+ src: "not-ready",
306
+ message: "Not Ready",
307
+ auth: {
308
+ type: "error",
309
+ },
310
+ } satisfies NotReadyErrorMsg);
311
+ }
312
+
313
+ switch (true) {
314
+ case MsgIsReqOpen(req):
315
+ // console.log("ws-request-open", req);
316
+ return Promise.resolve(buildResOpen(this.sthis, req) as unknown as S);
317
+ }
318
+ // console.log("ws-request", req, opts);
319
+ return Promise.resolve({
320
+ tid: req.tid,
321
+ type: req.type,
322
+ version: req.version,
323
+ auth: {
324
+ type: "error",
325
+ },
326
+ } as S);
327
+ }
328
+ send<S extends ps.cloud.MsgBase, Q extends ps.cloud.MsgBase>(msg: Q): Promise<ps.cloud.MsgWithError<S>> {
329
+ super.send(msg);
330
+ // console.log("ws-send", msg);
331
+ if (MsgIsReqChat(msg)) {
332
+ const res = buildResChat(msg, msg.conn, `got[${msg.message}]`);
333
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
334
+ for (const [_, bind] of this.activeBinds.entries()) {
335
+ // console.log("ws-to-bind", res);
336
+ bind.controller?.enqueue(res);
337
+ }
338
+ return Promise.resolve(msg as unknown as S);
339
+ }
340
+ return Promise.resolve({
341
+ tid: msg.tid,
342
+ type: msg.type,
343
+ version: msg.version,
344
+ auth: {
345
+ type: "error",
346
+ },
347
+ } as S);
348
+ }
349
+ start(): Promise<Result<void>> {
350
+ super.start();
351
+ this.isReady = true;
352
+ return Promise.resolve(Result.Ok(undefined));
353
+ }
354
+ close(o: ps.cloud.MsgBase): Promise<Result<void>> {
355
+ super.close(o);
356
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
357
+ for (const [_, bind] of this.activeBinds.entries()) {
358
+ bind.controller?.close();
359
+ }
360
+ if (!this.isReady) {
361
+ return Promise.resolve(Result.Err("Not ready"));
362
+ }
363
+ return Promise.resolve(Result.Ok(undefined));
364
+ }
365
+ onMsg(msg: ps.cloud.OnMsgFn<ps.cloud.MsgBase>): ps.cloud.UnReg {
366
+ super.onMsg(msg);
367
+ throw new Error("Method not implemented.");
368
+ }
369
+ }
370
+
371
+ describe("retry-connection", () => {
372
+ let wsMock: MockWSConnection;
373
+ let connected: VirtualConnected;
374
+ beforeEach(async () => {
375
+ const rMsc = await ps.cloud.Msger.connect(
376
+ sthis,
377
+ "http://localhost:8080",
378
+ {},
379
+ {},
380
+ {
381
+ openHttp: async function (
382
+ sthis: SuperThis,
383
+ urls: URI[],
384
+ msgP: ps.cloud.MsgerParamsWithEnDe,
385
+ exGestalt: ps.cloud.ExchangedGestalt,
386
+ ): Promise<Result<ps.cloud.MsgRawConnection>> {
387
+ return Result.Ok(new MockHttpConnection(sthis, exGestalt));
388
+ },
389
+ openWS: async function (
390
+ sthis: SuperThis,
391
+ url: URI,
392
+ msgP: ps.cloud.MsgerParamsWithEnDe,
393
+ exGestalt: ps.cloud.ExchangedGestalt,
394
+ ): Promise<Result<ps.cloud.MsgRawConnection>> {
395
+ // if (wsMock) {
396
+ // assert.fail("WS connection already created");
397
+ // }
398
+ wsMock = new MockWSConnection(sthis, exGestalt);
399
+ return Result.Ok(wsMock);
400
+ },
401
+ },
402
+ );
403
+
404
+ expect(rMsc.isOk()).toBe(true);
405
+ connected = rMsc.unwrap();
406
+ });
407
+
408
+ afterEach(async () => {
409
+ await connected.close({
410
+ tid: "1234",
411
+ type: "test",
412
+ version: "1.0",
413
+ auth: {
414
+ type: "error",
415
+ },
416
+ });
417
+ });
418
+
419
+ it("bind", async () => {
420
+ const result = connected.bind(
421
+ {
422
+ tid: "1234",
423
+ type: "reqChat",
424
+ version: "1.0",
425
+ message: `ping[i]`,
426
+ auth: {
427
+ type: "error",
428
+ },
429
+ },
430
+ {
431
+ waitFor: (msg) => {
432
+ return msg.type === "resChat";
433
+ },
434
+ },
435
+ );
436
+ const reader = result.getReader();
437
+
438
+ const { done, value: msg } = await reader.read();
439
+ expect(done).toBe(false);
440
+ if (msg && !MsgIsError(msg)) {
441
+ expect(msg).toEqual({
442
+ auth: {
443
+ type: "error",
444
+ },
445
+ conn: msg.conn,
446
+ message: "got[ping[i]]",
447
+ targets: undefined,
448
+ tid: "1234",
449
+ type: "resChat",
450
+ version: "FP-MSG-1.0",
451
+ });
452
+ } else {
453
+ assert.fail("msg is error");
454
+ }
455
+ const refConn = msg.conn;
456
+
457
+ for (let i = 0; i < 3; i++) {
458
+ await connected.send({
459
+ tid: "1234" + i,
460
+ type: "reqChat",
461
+ version: "1.0",
462
+ message: `ping[${i}]`,
463
+ auth: {
464
+ type: "error",
465
+ },
466
+ });
467
+ wsMock.isReady = false; // trigger not-ready error
468
+ if (i > 0) {
469
+ const { done, value: msgl } = await reader.read();
470
+ expect(done).toBe(false);
471
+ if (msgl && !MsgIsError(msgl)) {
472
+ expect(msgl).toEqual({
473
+ auth: {
474
+ type: "error",
475
+ },
476
+ conn: refConn,
477
+ message: "got[ping[i]]",
478
+ targets: undefined,
479
+ tid: "1234",
480
+ type: "resChat",
481
+ version: "FP-MSG-1.0",
482
+ });
483
+ }
484
+ }
485
+ const { done, value: msgl } = await reader.read();
486
+ expect(done).toBe(false);
487
+ if (msgl && !MsgIsError(msgl)) {
488
+ expect(msgl).toEqual({
489
+ auth: {
490
+ type: "error",
491
+ },
492
+ conn: refConn,
493
+ message: "got[ping[" + i + "]]",
494
+ targets: undefined,
495
+ tid: "1234" + i,
496
+ type: "resChat",
497
+ version: "FP-MSG-1.0",
498
+ });
499
+ }
500
+ }
501
+
502
+ connected.close({
503
+ tid: "1234",
504
+ type: "error",
505
+ version: "1.0",
506
+ message: "Not Happy",
507
+ auth: {
508
+ type: "error",
509
+ },
510
+ } as ps.cloud.MsgBase);
511
+ });
512
+
513
+ it("request", async () => {
514
+ for (let i = 0; i < 3; i++) {
515
+ const result = await connected.request(
516
+ {
517
+ tid: "1234" + i,
518
+ type: "test",
519
+ version: "1.0",
520
+ auth: {
521
+ type: "error",
522
+ },
523
+ },
524
+ {
525
+ waitFor: (msg) => {
526
+ return msg.type === "test" && msg.tid === "1234";
527
+ },
528
+ },
529
+ );
530
+ expect(result).toEqual({
531
+ tid: "1234" + i,
532
+ type: "test",
533
+ version: "1.0",
534
+ auth: {
535
+ type: "error",
536
+ },
537
+ });
538
+ wsMock.isReady = false; // trigger not-ready error
539
+ }
540
+ });
541
+
542
+ it("send", async () => {
543
+ for (let i = 0; i < 3; i++) {
544
+ const result = await connected.send({
545
+ tid: "1234" + i,
546
+ type: "test",
547
+ version: "1.0",
548
+ auth: {
549
+ type: "error",
550
+ },
551
+ });
552
+ expect(result).toEqual({
553
+ tid: "1234" + i,
554
+ type: "test",
555
+ version: "1.0",
556
+ auth: {
557
+ type: "error",
558
+ },
559
+ });
560
+ wsMock.isReady = false; // trigger not-ready error
561
+ }
562
+ });
563
+ });
package/types.d.ts CHANGED
@@ -229,10 +229,10 @@ export interface QueryOpts<K extends IndexKeyType> {
229
229
  prefix?: IndexKeyType;
230
230
  }
231
231
  export interface AllDocsQueryOpts extends QueryOpts<string> {
232
- readonly key?: string;
233
- readonly keys?: string[];
234
- prefix?: string;
235
- includeDeleted?: boolean;
232
+ readonly key: string;
233
+ readonly keys: string[];
234
+ readonly prefix: string;
235
+ readonly includeDeleted: boolean;
236
236
  }
237
237
  export interface AllDocsResponse<T extends DocTypes> {
238
238
  readonly rows: {
@@ -402,7 +402,6 @@ export interface Database extends ReadyCloseDestroy, HasLogger, HasSuperThis {
402
402
  readonly ledger: Ledger;
403
403
  readonly logger: Logger;
404
404
  readonly sthis: SuperThis;
405
- readonly id: string;
406
405
  readonly name: string;
407
406
  onClosed(fn: () => void): void;
408
407
  attach(a: Attachable): Promise<Attached>;
@@ -412,7 +411,7 @@ export interface Database extends ReadyCloseDestroy, HasLogger, HasSuperThis {
412
411
  del(id: string): Promise<DocResponse>;
413
412
  remove(id: string): Promise<DocResponse>;
414
413
  changes<T extends DocTypes>(since?: ClockHead, opts?: ChangesOptions): Promise<ChangesResponse<T>>;
415
- allDocs<T extends DocTypes>(opts?: AllDocsQueryOpts): Promise<AllDocsResponse<T>>;
414
+ allDocs<T extends DocTypes>(opts?: Partial<AllDocsQueryOpts>): Promise<AllDocsResponse<T>>;
416
415
  allDocuments<T extends DocTypes>(): Promise<{
417
416
  rows: {
418
417
  key: string;
@@ -449,9 +448,9 @@ export interface Ledger extends HasCRDT {
449
448
  readonly writeQueue: WriteQueue<DocUpdate<DocTypes>>;
450
449
  readonly logger: Logger;
451
450
  readonly sthis: SuperThis;
452
- readonly id: string;
453
451
  readonly name: string;
454
452
  readonly ctx: AppContext;
453
+ refId(): Promise<string>;
455
454
  onClosed(fn: () => void): () => void;
456
455
  attach(a: Attachable): Promise<Attached>;
457
456
  close(): Promise<void>;
package/types.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}