tinybase 5.4.0-beta.4 → 5.4.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.
Files changed (59) hide show
  1. package/@types/indexes/index.d.cts +2 -2
  2. package/@types/indexes/index.d.ts +2 -2
  3. package/@types/indexes/with-schemas/index.d.cts +2 -2
  4. package/@types/indexes/with-schemas/index.d.ts +2 -2
  5. package/@types/persisters/persister-durable-object-storage/index.d.cts +7 -0
  6. package/@types/persisters/persister-durable-object-storage/index.d.ts +7 -0
  7. package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.cts +7 -0
  8. package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.ts +7 -0
  9. package/@types/queries/index.d.cts +1 -1
  10. package/@types/queries/index.d.ts +1 -1
  11. package/@types/queries/with-schemas/index.d.cts +1 -1
  12. package/@types/queries/with-schemas/index.d.ts +1 -1
  13. package/@types/store/index.d.cts +1 -1
  14. package/@types/store/index.d.ts +1 -1
  15. package/@types/store/with-schemas/index.d.cts +1 -1
  16. package/@types/store/with-schemas/index.d.ts +1 -1
  17. package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.cts +17 -2
  18. package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +17 -2
  19. package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.cts +17 -2
  20. package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +17 -2
  21. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs +1 -1
  22. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs.gz +0 -0
  23. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +1 -1
  24. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz +0 -0
  25. package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/index.cjs +9 -5
  26. package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +9 -5
  27. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs +1 -1
  28. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs.gz +0 -0
  29. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +1 -1
  30. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz +0 -0
  31. package/cjs/synchronizers/synchronizer-ws-server-durable-object/index.cjs +2 -2
  32. package/cjs/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +2 -2
  33. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  34. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  35. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  36. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  37. package/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +9 -5
  38. package/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +9 -5
  39. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  40. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  41. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  42. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  43. package/package.json +1 -1
  44. package/readme.md +13 -13
  45. package/releases.md +40 -28
  46. package/synchronizers/synchronizer-ws-server-durable-object/index.js +2 -2
  47. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +2 -2
  48. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  49. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  50. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  51. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  52. package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +9 -5
  53. package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +9 -5
  54. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  55. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  56. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  57. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  58. package/umd/synchronizers/synchronizer-ws-server-durable-object/index.js +2 -2
  59. package/umd/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +2 -2
@@ -51,8 +51,8 @@ export type Slice = Ids;
51
51
  * can do something based on every Index in the Indexes object. See that method
52
52
  * for specific examples.
53
53
  * @param indexId The Id of the Index that the callback can operate on.
54
- * @param forEachRow A function that will let you iterate over the Slice objects
55
- * in this Index.
54
+ * @param forEachSlice A function that will let you iterate over the Slice
55
+ * objects in this Index.
56
56
  * @category Callback
57
57
  * @since v1.0.0
58
58
  */
@@ -51,8 +51,8 @@ export type Slice = Ids;
51
51
  * can do something based on every Index in the Indexes object. See that method
52
52
  * for specific examples.
53
53
  * @param indexId The Id of the Index that the callback can operate on.
54
- * @param forEachRow A function that will let you iterate over the Slice objects
55
- * in this Index.
54
+ * @param forEachSlice A function that will let you iterate over the Slice
55
+ * objects in this Index.
56
56
  * @category Callback
57
57
  * @since v1.0.0
58
58
  */
@@ -75,8 +75,8 @@ export type Slice = Ids;
75
75
  * can do something based on every Index in the Indexes object. See that method
76
76
  * for specific examples.
77
77
  * @param indexId The Id of the Index that the callback can operate on.
78
- * @param forEachRow A function that will let you iterate over the Slice objects
79
- * in this Index.
78
+ * @param forEachSlice A function that will let you iterate over the Slice
79
+ * objects in this Index.
80
80
  * @category Callback
81
81
  * @since v1.0.0
82
82
  */
@@ -75,8 +75,8 @@ export type Slice = Ids;
75
75
  * can do something based on every Index in the Indexes object. See that method
76
76
  * for specific examples.
77
77
  * @param indexId The Id of the Index that the callback can operate on.
78
- * @param forEachRow A function that will let you iterate over the Slice objects
79
- * in this Index.
78
+ * @param forEachSlice A function that will let you iterate over the Slice
79
+ * objects in this Index.
80
80
  * @category Callback
81
81
  * @since v1.0.0
82
82
  */
@@ -2,6 +2,7 @@
2
2
  * The persister-durable-object-storage module of the TinyBase project lets you
3
3
  * save and load Store data to and from Cloudflare Durable Object storage (in an
4
4
  * appropriate environment).
5
+ * @see Cloudflare Durable Objects guide
5
6
  * @see Persistence guides
6
7
  * @packageDocumentation
7
8
  * @module persister-durable-object-storage
@@ -72,6 +73,12 @@ export interface DurableObjectStoragePersister
72
73
  * A DurableObjectStoragePersister only supports MergeableStore objects, and
73
74
  * cannot be used to persist a regular Store.
74
75
  *
76
+ * Durable Objects have limitations on the data that can be stored in each key
77
+ * of their key-value structure. The DurableObjectStoragePersister uses one key
78
+ * per TinyBase Value, one key per Cell, one key per Row, and one key per Table.
79
+ * Mostly this is CRDT metadata, but the main caution is to ensure that each
80
+ * individual TinyBase Cell and Value data does not exceed the (128 KiB) limit.
81
+ *
75
82
  * As well as providing a reference to the MergeableStore to persist, you must
76
83
  * provide a `storage` parameter which identifies the Durable Object storage to
77
84
  * persist it to.
@@ -2,6 +2,7 @@
2
2
  * The persister-durable-object-storage module of the TinyBase project lets you
3
3
  * save and load Store data to and from Cloudflare Durable Object storage (in an
4
4
  * appropriate environment).
5
+ * @see Cloudflare Durable Objects guide
5
6
  * @see Persistence guides
6
7
  * @packageDocumentation
7
8
  * @module persister-durable-object-storage
@@ -72,6 +73,12 @@ export interface DurableObjectStoragePersister
72
73
  * A DurableObjectStoragePersister only supports MergeableStore objects, and
73
74
  * cannot be used to persist a regular Store.
74
75
  *
76
+ * Durable Objects have limitations on the data that can be stored in each key
77
+ * of their key-value structure. The DurableObjectStoragePersister uses one key
78
+ * per TinyBase Value, one key per Cell, one key per Row, and one key per Table.
79
+ * Mostly this is CRDT metadata, but the main caution is to ensure that each
80
+ * individual TinyBase Cell and Value data does not exceed the (128 KiB) limit.
81
+ *
75
82
  * As well as providing a reference to the MergeableStore to persist, you must
76
83
  * provide a `storage` parameter which identifies the Durable Object storage to
77
84
  * persist it to.
@@ -2,6 +2,7 @@
2
2
  * The persister-durable-object-storage module of the TinyBase project lets you
3
3
  * save and load Store data to and from Cloudflare Durable Object storage (in an
4
4
  * appropriate environment).
5
+ * @see Cloudflare Durable Objects guide
5
6
  * @see Persistence guides
6
7
  * @packageDocumentation
7
8
  * @module persister-durable-object-storage
@@ -84,6 +85,12 @@ export interface DurableObjectStoragePersister<Schemas extends OptionalSchemas>
84
85
  * A DurableObjectStoragePersister only supports MergeableStore objects, and
85
86
  * cannot be used to persist a regular Store.
86
87
  *
88
+ * Durable Objects have limitations on the data that can be stored in each key
89
+ * of their key-value structure. The DurableObjectStoragePersister uses one key
90
+ * per TinyBase Value, one key per Cell, one key per Row, and one key per Table.
91
+ * Mostly this is CRDT metadata, but the main caution is to ensure that each
92
+ * individual TinyBase Cell and Value data does not exceed the (128 KiB) limit.
93
+ *
87
94
  * As well as providing a reference to the MergeableStore to persist, you must
88
95
  * provide a `storage` parameter which identifies the Durable Object storage to
89
96
  * persist it to.
@@ -2,6 +2,7 @@
2
2
  * The persister-durable-object-storage module of the TinyBase project lets you
3
3
  * save and load Store data to and from Cloudflare Durable Object storage (in an
4
4
  * appropriate environment).
5
+ * @see Cloudflare Durable Objects guide
5
6
  * @see Persistence guides
6
7
  * @packageDocumentation
7
8
  * @module persister-durable-object-storage
@@ -84,6 +85,12 @@ export interface DurableObjectStoragePersister<Schemas extends OptionalSchemas>
84
85
  * A DurableObjectStoragePersister only supports MergeableStore objects, and
85
86
  * cannot be used to persist a regular Store.
86
87
  *
88
+ * Durable Objects have limitations on the data that can be stored in each key
89
+ * of their key-value structure. The DurableObjectStoragePersister uses one key
90
+ * per TinyBase Value, one key per Cell, one key per Row, and one key per Table.
91
+ * Mostly this is CRDT metadata, but the main caution is to ensure that each
92
+ * individual TinyBase Cell and Value data does not exceed the (128 KiB) limit.
93
+ *
87
94
  * As well as providing a reference to the MergeableStore to persist, you must
88
95
  * provide a `storage` parameter which identifies the Durable Object storage to
89
96
  * persist it to.
@@ -234,7 +234,7 @@ export type ResultTableCallback = (
234
234
  * that you can do something based on every ResultRow in a ResultTable. See that
235
235
  * method for specific examples.
236
236
  * @param rowId The Id of the ResultRow that the callback can operate on.
237
- * @param forEachRow A function that will let you iterate over the ResultCell
237
+ * @param forEachCell A function that will let you iterate over the ResultCell
238
238
  * values in this ResultRow.
239
239
  * @category Callback
240
240
  * @since v2.0.0
@@ -234,7 +234,7 @@ export type ResultTableCallback = (
234
234
  * that you can do something based on every ResultRow in a ResultTable. See that
235
235
  * method for specific examples.
236
236
  * @param rowId The Id of the ResultRow that the callback can operate on.
237
- * @param forEachRow A function that will let you iterate over the ResultCell
237
+ * @param forEachCell A function that will let you iterate over the ResultCell
238
238
  * values in this ResultRow.
239
239
  * @category Callback
240
240
  * @since v2.0.0
@@ -245,7 +245,7 @@ export type ResultTableCallback = (
245
245
  * that you can do something based on every ResultRow in a ResultTable. See that
246
246
  * method for specific examples.
247
247
  * @param rowId The Id of the ResultRow that the callback can operate on.
248
- * @param forEachRow A function that will let you iterate over the ResultCell
248
+ * @param forEachCell A function that will let you iterate over the ResultCell
249
249
  * values in this ResultRow.
250
250
  * @category Callback
251
251
  * @since v2.0.0
@@ -245,7 +245,7 @@ export type ResultTableCallback = (
245
245
  * that you can do something based on every ResultRow in a ResultTable. See that
246
246
  * method for specific examples.
247
247
  * @param rowId The Id of the ResultRow that the callback can operate on.
248
- * @param forEachRow A function that will let you iterate over the ResultCell
248
+ * @param forEachCell A function that will let you iterate over the ResultCell
249
249
  * values in this ResultRow.
250
250
  * @category Callback
251
251
  * @since v2.0.0
@@ -394,7 +394,7 @@ export type TableCellCallback = (cellId: Id, count: number) => void;
394
394
  * do something based on every Row in a Table. See that method for specific
395
395
  * examples.
396
396
  * @param rowId The Id of the Row that the callback can operate on.
397
- * @param forEachRow A function that will let you iterate over the Cell values
397
+ * @param forEachCell A function that will let you iterate over the Cell values
398
398
  * in this Row.
399
399
  * @category Callback
400
400
  * @since v1.0.0
@@ -394,7 +394,7 @@ export type TableCellCallback = (cellId: Id, count: number) => void;
394
394
  * do something based on every Row in a Table. See that method for specific
395
395
  * examples.
396
396
  * @param rowId The Id of the Row that the callback can operate on.
397
- * @param forEachRow A function that will let you iterate over the Cell values
397
+ * @param forEachCell A function that will let you iterate over the Cell values
398
398
  * in this Row.
399
399
  * @category Callback
400
400
  * @since v1.0.0
@@ -588,7 +588,7 @@ export type TableCellCallback<
588
588
  * do something based on every Row in a Table. See that method for specific
589
589
  * examples.
590
590
  * @param rowId The Id of the Row that the callback can operate on.
591
- * @param forEachRow A function that will let you iterate over the Cell values
591
+ * @param forEachCell A function that will let you iterate over the Cell values
592
592
  * in this Row.
593
593
  * @category Callback
594
594
  * @since v1.0.0
@@ -588,7 +588,7 @@ export type TableCellCallback<
588
588
  * do something based on every Row in a Table. See that method for specific
589
589
  * examples.
590
590
  * @param rowId The Id of the Row that the callback can operate on.
591
- * @param forEachRow A function that will let you iterate over the Cell values
591
+ * @param forEachCell A function that will let you iterate over the Cell values
592
592
  * in this Row.
593
593
  * @category Callback
594
594
  * @since v1.0.0
@@ -2,6 +2,7 @@
2
2
  * The synchronizer-ws-server-durable-object module of the TinyBase project lets
3
3
  * you create a server that facilitates synchronization between clients, running
4
4
  * as a Cloudflare Durable Object.
5
+ * @see Cloudflare Durable Objects guide
5
6
  * @see Synchronization guide
6
7
  * @see Todo App v6 (collaboration) demo
7
8
  * @packageDocumentation
@@ -17,6 +18,16 @@ import {DurableObject} from 'cloudflare:workers';
17
18
  * A WsServerDurableObject is the server component (running as a Cloudflare
18
19
  * Durable Object) for synchronization between clients that are using
19
20
  * WsSynchronizer instances.
21
+ *
22
+ * The WsServerDurableObject is an overridden implementation of the
23
+ * DurableObject class, so you can have access to its members as well as the
24
+ * TinyBase-specific methods. If you are using the storage for other data, you
25
+ * may want to configure a `prefix` parameter to ensure you don't accidentally
26
+ * collide with TinyBase data.
27
+ *
28
+ * Always remember to call the `super` implementations of the methods that
29
+ * TinyBase uses (the constructor, `fetch`, `webSocketMessage`, and
30
+ * `webSocketClose`) if you further override them.
20
31
  * @category Creation
21
32
  * @since v5.4.0
22
33
  */
@@ -26,12 +37,16 @@ export class WsServerDurableObject<Env = unknown> extends DurableObject<Env> {
26
37
  * the TinyBase clients.
27
38
  *
28
39
  * For basic TinyBase synchronization and persistence, you don't need to
29
- * override this method, but if you do, ensure you call the super constructor.
40
+ * override this method, but if you do, ensure you call the `super`
41
+ * constructor
42
+ * with the two parameters.
43
+ * @param ctx The DurableObjectState context.
44
+ * @param env The DurableObjectState environment.
30
45
  * @returns A new instance of the WsServerDurableObject.
31
46
  * @category Creation
32
47
  * @since v5.4.0
33
48
  */
34
- constructor();
49
+ constructor(ctx: DurableObjectState, env: Env);
35
50
 
36
51
  /**
37
52
  * The createPersister method is used to return a persister for the Durable
@@ -2,6 +2,7 @@
2
2
  * The synchronizer-ws-server-durable-object module of the TinyBase project lets
3
3
  * you create a server that facilitates synchronization between clients, running
4
4
  * as a Cloudflare Durable Object.
5
+ * @see Cloudflare Durable Objects guide
5
6
  * @see Synchronization guide
6
7
  * @see Todo App v6 (collaboration) demo
7
8
  * @packageDocumentation
@@ -17,6 +18,16 @@ import {DurableObject} from 'cloudflare:workers';
17
18
  * A WsServerDurableObject is the server component (running as a Cloudflare
18
19
  * Durable Object) for synchronization between clients that are using
19
20
  * WsSynchronizer instances.
21
+ *
22
+ * The WsServerDurableObject is an overridden implementation of the
23
+ * DurableObject class, so you can have access to its members as well as the
24
+ * TinyBase-specific methods. If you are using the storage for other data, you
25
+ * may want to configure a `prefix` parameter to ensure you don't accidentally
26
+ * collide with TinyBase data.
27
+ *
28
+ * Always remember to call the `super` implementations of the methods that
29
+ * TinyBase uses (the constructor, `fetch`, `webSocketMessage`, and
30
+ * `webSocketClose`) if you further override them.
20
31
  * @category Creation
21
32
  * @since v5.4.0
22
33
  */
@@ -26,12 +37,16 @@ export class WsServerDurableObject<Env = unknown> extends DurableObject<Env> {
26
37
  * the TinyBase clients.
27
38
  *
28
39
  * For basic TinyBase synchronization and persistence, you don't need to
29
- * override this method, but if you do, ensure you call the super constructor.
40
+ * override this method, but if you do, ensure you call the `super`
41
+ * constructor
42
+ * with the two parameters.
43
+ * @param ctx The DurableObjectState context.
44
+ * @param env The DurableObjectState environment.
30
45
  * @returns A new instance of the WsServerDurableObject.
31
46
  * @category Creation
32
47
  * @since v5.4.0
33
48
  */
34
- constructor();
49
+ constructor(ctx: DurableObjectState, env: Env);
35
50
 
36
51
  /**
37
52
  * The createPersister method is used to return a persister for the Durable
@@ -2,6 +2,7 @@
2
2
  * The synchronizer-ws-server-durable-object module of the TinyBase project lets
3
3
  * you create a server that facilitates synchronization between clients, running
4
4
  * as a Cloudflare Durable Object.
5
+ * @see Cloudflare Durable Objects guide
5
6
  * @see Synchronization guide
6
7
  * @see Todo App v6 (collaboration) demo
7
8
  * @packageDocumentation
@@ -25,6 +26,16 @@ import {DurableObject} from 'cloudflare:workers';
25
26
  * A WsServerDurableObject is the server component (running as a Cloudflare
26
27
  * Durable Object) for synchronization between clients that are using
27
28
  * WsSynchronizer instances.
29
+ *
30
+ * The WsServerDurableObject is an overridden implementation of the
31
+ * DurableObject class, so you can have access to its members as well as the
32
+ * TinyBase-specific methods. If you are using the storage for other data, you
33
+ * may want to configure a `prefix` parameter to ensure you don't accidentally
34
+ * collide with TinyBase data.
35
+ *
36
+ * Always remember to call the `super` implementations of the methods that
37
+ * TinyBase uses (the constructor, `fetch`, `webSocketMessage`, and
38
+ * `webSocketClose`) if you further override them.
28
39
  * @category Creation
29
40
  * @since v5.4.0
30
41
  */
@@ -37,12 +48,16 @@ export class WsServerDurableObject<
37
48
  * the TinyBase clients.
38
49
  *
39
50
  * For basic TinyBase synchronization and persistence, you don't need to
40
- * override this method, but if you do, ensure you call the super constructor.
51
+ * override this method, but if you do, ensure you call the `super`
52
+ * constructor
53
+ * with the two parameters.
54
+ * @param ctx The DurableObjectState context.
55
+ * @param env The DurableObjectState environment.
41
56
  * @returns A new instance of the WsServerDurableObject.
42
57
  * @category Creation
43
58
  * @since v5.4.0
44
59
  */
45
- constructor();
60
+ constructor(ctx: DurableObjectState, env: Env);
46
61
 
47
62
  /**
48
63
  * The createPersister method is used to return a persister for the Durable
@@ -2,6 +2,7 @@
2
2
  * The synchronizer-ws-server-durable-object module of the TinyBase project lets
3
3
  * you create a server that facilitates synchronization between clients, running
4
4
  * as a Cloudflare Durable Object.
5
+ * @see Cloudflare Durable Objects guide
5
6
  * @see Synchronization guide
6
7
  * @see Todo App v6 (collaboration) demo
7
8
  * @packageDocumentation
@@ -25,6 +26,16 @@ import {DurableObject} from 'cloudflare:workers';
25
26
  * A WsServerDurableObject is the server component (running as a Cloudflare
26
27
  * Durable Object) for synchronization between clients that are using
27
28
  * WsSynchronizer instances.
29
+ *
30
+ * The WsServerDurableObject is an overridden implementation of the
31
+ * DurableObject class, so you can have access to its members as well as the
32
+ * TinyBase-specific methods. If you are using the storage for other data, you
33
+ * may want to configure a `prefix` parameter to ensure you don't accidentally
34
+ * collide with TinyBase data.
35
+ *
36
+ * Always remember to call the `super` implementations of the methods that
37
+ * TinyBase uses (the constructor, `fetch`, `webSocketMessage`, and
38
+ * `webSocketClose`) if you further override them.
28
39
  * @category Creation
29
40
  * @since v5.4.0
30
41
  */
@@ -37,12 +48,16 @@ export class WsServerDurableObject<
37
48
  * the TinyBase clients.
38
49
  *
39
50
  * For basic TinyBase synchronization and persistence, you don't need to
40
- * override this method, but if you do, ensure you call the super constructor.
51
+ * override this method, but if you do, ensure you call the `super`
52
+ * constructor
53
+ * with the two parameters.
54
+ * @param ctx The DurableObjectState context.
55
+ * @param env The DurableObjectState environment.
41
56
  * @returns A new instance of the WsServerDurableObject.
42
57
  * @category Creation
43
58
  * @since v5.4.0
44
59
  */
45
- constructor();
60
+ constructor(ctx: DurableObjectState, env: Env);
46
61
 
47
62
  /**
48
63
  * The createPersister method is used to return a persister for the Durable
@@ -1 +1 @@
1
- "use strict";var e=require("cloudflare:workers");const t="",n=(e,t="",n)=>e.split(t,n),l=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),s=Math,a=s.floor,i=e=>null==e,u=(e,t,n)=>i(e)?null==n?void 0:n():t(e),c=e=>Array.isArray(e),d=(e,t,n)=>e.slice(t,n),h=e=>e.length,v=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),p=(e,...t)=>e.push(...t),f=e=>e.shift(),b=Object,S=e=>b.getPrototypeOf(e),w=b.entries,m=b.keys,C=b.freeze,M=(e,t)=>g(w(e),(([e,n])=>t(n,e))),P=e=>(e=>!i(e)&&u(S(e),(e=>e==b.prototype||i(S(e))),(()=>!0)))(e)&&0==(e=>h(m(e)))(e),O=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),x=JSON.stringify,A=JSON.parse,k=(e,t)=>{const n=e.indexOf("\n");-1!==n&&t(d(e,0,n),d(e,n+1))},T=(e,...n)=>j(null!=e?e:t,x(n,((e,t)=>void 0===t?"":t))),j=(e,t)=>e+"\n"+t,L=e=>i(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),I=(e,t)=>null==e?void 0:e.forEach(t),D=(e,t)=>null==e?void 0:e.delete(t),W=e=>new Map(e),E=(e,t)=>null==e?void 0:e.get(t),H=(e,t,n)=>i(n)?(D(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n,l)=>{var r,o,s;return o=t,null!=(s=null==(r=e)?void 0:r.has(o))&&s?null==l||l(E(e,t)):H(e,t,n()),E(e,t)},N=(e,t,n,l,r=0)=>u((n?R:E)(e,t[r],r>h(t)-2?n:W),(o=>{if(r>h(t)-2)return(null==l?void 0:l(o))&&H(e,t[r]),o;const s=N(o,t,n,l,r+1);return L(o)&&H(e,t[r]),s})),z=(e,t)=>t?[e,t]:[e],F=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},U=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),V=e=>new Set(c(e)||i(e)?e:[e]),q=/^\d+$/;var J=Object.defineProperty,$=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,t,n)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const X=W(),Y=W(),Z=(e,n,l,r,o,s,a,d={},y=0,b=[])=>{let S,w,m,M=0,O=0,x=0;R(X,b,(()=>0)),R(Y,b,(()=>[]));const A=W(),[k,T,j,z,F]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!P(e)||!P(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!P(e)||!P(t),t.setContent]:v("Store type not supported by this Persister"))(a,e,y),[U,J,Z]=(()=>{let e;const[n,l]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?f(e):null)?r:t+n++},t=>{q.test(t)&&h(e)<1e3&&p(e,t)}]})(),r=W();return[(l,o,s,a=[],i=()=>[])=>{null!=e||(e=se);const u=n(1);var c,d;return H(r,u,[l,o,s,a,i]),d=u,null==(c=N(o,null!=s?s:[t],V))||c.add(d),u},(n,l,...o)=>g(((e,n=[t])=>{const l=[],r=(e,t)=>t==h(n)?p(l,e):null===n[t]?I(e,(e=>r(e,t+1))):g([n[t],null],(n=>r(E(e,n),t+1)));return r(e,0),l})(n,l),(t=>I(t,(t=>E(r,t)[0](e,...null!=l?l:[],...o))))),e=>u(E(r,e),(([,n,o])=>(N(n,null!=o?o:[t],void 0,(t=>(D(t,e),L(t)?1:0))),H(r,e),l(e),o))),t=>u(E(r,t),(([t,,n=[],l,r])=>{const o=(...s)=>{var a,u;const c=h(s);c==h(n)?t(e,...s,...r(s)):i(n[c])?g(null!=(u=null==(a=l[c])?void 0:a.call(l,...s))?u:[],(e=>o(...s,e))):o(...s,n[c])};o()}))]})(),_=e=>{e!=M&&(M=e,J(A,void 0,M))},ee=t=>{(k&&c(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},te=e=>Q(void 0,null,(function*(){return 2!=M&&(_(1),O++,yield oe((()=>Q(void 0,null,(function*(){try{const t=yield n();c(t)?ee(t):e?F(e):v("Content is not an array: "+t)}catch(t){e&&F(e)}_(0)}))))),se})),ne=()=>(w&&(o(w),w=void 0),se),le=e=>Q(void 0,null,(function*(){return 1!=M&&(_(2),x++,yield oe((()=>Q(void 0,null,(function*(){try{yield l(T,e)}catch(e){}_(0)}))))),se})),re=()=>(m&&(e.delListener(m),m=void 0),se),oe=(...e)=>Q(void 0,null,(function*(){return p(E(Y,b),...e),yield Q(void 0,null,(function*(){if(!E(X,b)){for(H(X,b,1);!i(S=f(E(Y,b)));)try{yield S()}catch(e){}H(X,b,0)}})),se})),se=((e,t)=>{for(var n in t||(t={}))B.call(t,n)&&K(e,n,t[n]);if($)for(var n of $(t))G.call(t,n)&&K(e,n,t[n]);return e})({load:te,startAutoLoad:e=>Q(void 0,null,(function*(){ne(),yield te(e);try{w=yield r(((e,t)=>Q(void 0,null,(function*(){t||e?2!=M&&(_(1),O++,ee(null!=t?t:e),_(0)):yield te()}))))}catch(e){}return se})),stopAutoLoad:ne,isAutoLoading:()=>!i(w),save:le,startAutoSave:()=>Q(void 0,null,(function*(){return re(),yield le(),m=e.addDidFinishTransactionListener((()=>{const e=j();z(e)&&le(e)})),se})),stopAutoSave:re,isAutoSaving:()=>!i(m),getStatus:()=>M,addStatusListener:e=>U(e,A),delListener:t=>(Z(t),e),schedule:oe,getStore:()=>e,destroy:()=>(E(Y,b).splice(0,void 0),ne().stopAutoSave()),getStats:()=>({loads:O,saves:x})},d);return C(se)},_=n("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ee=r.crypto?e=>r.crypto.getRandomValues(e):e=>y(e,(()=>a(256*s.random()))),te=(e=16)=>{return t=(e,t)=>e+_[63&t],ee(new Uint8Array(e)).reduce(t,"");var t};var ne,le,re,oe,se=Object.defineProperty,ae=Object.getOwnPropertySymbols,ie=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,de=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())})),he=e=>{throw TypeError(e)},ve=(e,t,n)=>t.has(e)||he("Cannot "+n),ge=(e,t,n)=>(ve(e,t,"read from private field"),n?n.call(e):t.get(e)),ye=(e,t,n)=>t.has(e)?he("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),pe=(e,t,n)=>(ve(e,t,"access private method"),n),fe=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const be=/\/([^?]*)/,Se="S",we=e=>{var n,l,r,o;return null!=(l=null==(r=new URL(e.url).pathname,o=be,n=null==r?void 0:r.match(o))?void 0:n[1])?l:t},me=e=>{var t;return"websocket"==(null==(t=e.headers.get("upgrade"))?void 0:t.toLowerCase())?e.headers.get("sec-websocket-key"):null},Ce=(e,t=null,n=null)=>new Response(n,{status:e,webSocket:t}),Me=()=>Ce(426,null,"Upgrade required");class Pe extends e.DurableObject{constructor(e,n){super(e,n),ye(this,le),ye(this,ne),this.ctx.blockConcurrencyWhile((()=>fe(this,null,(function*(){return yield u(yield this.createPersister(),(e=>fe(this,null,(function*(){const n=((e,n,r,s,a,c,d,h,v={})=>{let g,y=0,p=0,f=0;const b=W(),S=()=>te(11),w=(e,t,l,r)=>{p++,n(e,t,l,r)},m=(e,t,n,r)=>de(void 0,null,(function*(){return new l(((l,s)=>{const i=r+"."+te(4),u=o((()=>{D(b,i),s(`No response from ${null!=e?e:"anyone"} to ${i}, `+t)}),a);H(b,i,[e,(e,t)=>{clearTimeout(u),D(b,i),l([e,t,r])}]),w(e,i,t,n)}))})),C=(e,[t,n])=>{M(t,(([t,n],l)=>{const r=O(e[0],l,U);M(t,(([e,t],n)=>{const l=O(r[0],n,U);M(e,(([e,t],n)=>l[0][n]=z(e,t))),l[1]=F(l[1],t)})),r[1]=F(r[1],n)})),e[1]=F(e[1],n)},x=(...n)=>de(void 0,[...n],(function*(n=null,l,r=S()){try{i(l)&&([l,n,r]=yield m(null,1,t,r));const[o,s]=l,[a,u]=e.getMergeableContentHashes();let c=U();if(a!=o){const[t,l]=(yield m(n,4,e.getMergeableTableHashes(),r))[0];if(c=t,!P(l)){const[t,o]=(yield m(n,5,e.getMergeableRowHashes(l),r))[0];if(C(c,t),!P(o)){const t=(yield m(n,6,e.getMergeableCellHashes(o),r))[0];C(c,t)}}}return[c,u==s?U():(yield m(n,7,e.getMergeableValueHashes(),r))[0],1]}catch(e){}})),A=Z(e,(()=>de(void 0,null,(function*(){const e=yield x();return!e||P(e[0][0])&&P(e[1][0])?void 0:e}))),((t,n)=>de(void 0,null,(function*(){return n?w(null,S(),3,n):w(null,S(),2,e.getMergeableContentHashes())}))),(e=>g=e),(()=>g=void 0),0,2,((e,t)=>{for(var n in t||(t={}))ie.call(t,n)&&ce(e,n,t[n]);if(ae)for(var n of ae(t))ue.call(t,n)&&ce(e,n,t[n]);return e})({startSync:e=>de(void 0,null,(function*(){return y=1,yield(yield A.startAutoLoad(e)).startAutoSave()})),stopSync:()=>(y=0,A.stopAutoLoad().stopAutoSave()),destroy:()=>A.stopSync(),getSynchronizerStats:()=>({sends:p,receives:f})},v),1);return r(((t,n,l,r)=>{const o=y||A.isAutoLoading();f++,0==l?u(E(b,n),(([e,n])=>i(e)||e==t?n(r,t):0)):2==l&&o?x(t,r,null!=n?n:void 0).then((e=>{null==g||g(void 0,e)})).catch(h):3==l&&o?null==g||g(void 0,r):u(1==l&&(y||A.isAutoSaving())?e.getMergeableContentHashes():4==l?e.getMergeableTableDiff(r):5==l?e.getMergeableRowDiff(r):6==l?e.getMergeableCellDiff(r):7==l?e.getMergeableValueDiff(r):void 0,(e=>{w(t,n,0,e)}))})),A})(e.getStore(),((e,t,n,l)=>pe(this,le,re).call(this,Se,T(e,t,n,l))),(e=>{return n=t=>((e,t)=>k(e,((e,n)=>{return t(e,...(l=n,A(l,((e,t)=>""===t?void 0:t))));var l})))(t,e),ve(this,t=ne,"write to private field"),t.set(this,n),n;var t,n}),0,1);yield e.load(),yield e.startAutoSave(),o(n.startSync)}))))}))))}fetch(e){const n=we(e);return u(me(e),(e=>{const[l,r]=(o=new WebSocketPair,b.values(o));var o,s;return s=pe(this,le,oe).call(this),0==h(s)&&this.onPathId(n,1),this.ctx.acceptWebSocket(r,[e,n]),this.onClientId(n,e,1),r.send(T(Se,null,1,t)),Ce(101,l)}),Me)}webSocketMessage(e,t){u(this.ctx.getTags(e)[0],(n=>pe(this,le,re).call(this,n,t.toString(),e)))}webSocketClose(e){const[t,n]=this.ctx.getTags(e);this.onClientId(n,t,-1),1==h(pe(this,le,oe).call(this))&&this.onPathId(n,-1)}createPersister(){}getPathId(){var e;return null==(e=this.ctx.getTags(pe(this,le,oe).call(this)[0]))?void 0:e[1]}getClientIds(){return y(pe(this,le,oe).call(this),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,n){}onMessage(e,t,n){}}ne=new WeakMap,le=new WeakSet,re=function(e,n,l){k(n.toString(),((n,r)=>{var o;const s=j(e,r);this.onMessage(e,n,r),n==t?(e!=Se&&ge(this,ne).call(this,s),g(pe(this,le,oe).call(this),(e=>{e!=l&&e.send(s)}))):n==Se?ge(this,ne).call(this,s):n!=e&&(null==(o=pe(this,le,oe).call(this,n)[0])||o.send(s))}))},oe=function(e){return this.ctx.getWebSockets(e)},exports.WsServerDurableObject=Pe,exports.getWsServerDurableObjectFetch=e=>(t,n)=>me(t)?n[e].get(n[e].idFromName(we(t))).fetch(t):Me();
1
+ "use strict";var e=require("cloudflare:workers");const t="",n=(e,t="",n)=>e.split(t,n),l=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),s=Math,a=s.floor,i=e=>null==e,u=(e,t,n)=>i(e)?null==n?void 0:n():t(e),c=e=>Array.isArray(e),d=(e,t,n)=>e.slice(t,n),h=e=>e.length,v=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),p=(e,...t)=>e.push(...t),f=e=>e.shift(),b=Object,S=e=>b.getPrototypeOf(e),w=b.entries,m=b.keys,C=b.freeze,M=(e,t)=>g(w(e),(([e,n])=>t(n,e))),P=e=>(e=>!i(e)&&u(S(e),(e=>e==b.prototype||i(S(e))),(()=>!0)))(e)&&0==(e=>h(m(e)))(e),O=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),x=JSON.stringify,A=JSON.parse,k=(e,t)=>{const n=e.indexOf("\n");-1!==n&&t(d(e,0,n),d(e,n+1))},T=(e,...n)=>j(null!=e?e:t,x(n,((e,t)=>void 0===t?"":t))),j=(e,t)=>e+"\n"+t,L=e=>i(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),I=(e,t)=>null==e?void 0:e.forEach(t),D=(e,t)=>null==e?void 0:e.delete(t),W=e=>new Map(e),E=(e,t)=>null==e?void 0:e.get(t),H=(e,t,n)=>i(n)?(D(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n,l)=>{var r,o,s;return o=t,null!=(s=null==(r=e)?void 0:r.has(o))&&s?null==l||l(E(e,t)):H(e,t,n()),E(e,t)},N=(e,t,n,l,r=0)=>u((n?R:E)(e,t[r],r>h(t)-2?n:W),(o=>{if(r>h(t)-2)return(null==l?void 0:l(o))&&H(e,t[r]),o;const s=N(o,t,n,l,r+1);return L(o)&&H(e,t[r]),s})),z=(e,t)=>t?[e,t]:[e],F=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},U=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),V=e=>new Set(c(e)||i(e)?e:[e]),q=/^\d+$/;var J=Object.defineProperty,$=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,t,n)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const X=W(),Y=W(),Z=(e,n,l,r,o,s,a,d={},y=0,b=[])=>{let S,w,m,M=0,O=0,x=0;R(X,b,(()=>0)),R(Y,b,(()=>[]));const A=W(),[k,T,j,z,F]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!P(e)||!P(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!P(e)||!P(t),t.setContent]:v("Store type not supported by this Persister"))(a,e,y),[U,J,Z]=(()=>{let e;const[n,l]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?f(e):null)?r:t+n++},t=>{q.test(t)&&h(e)<1e3&&p(e,t)}]})(),r=W();return[(l,o,s,a=[],i=()=>[])=>{null!=e||(e=se);const u=n(1);var c,d;return H(r,u,[l,o,s,a,i]),d=u,null==(c=N(o,null!=s?s:[t],V))||c.add(d),u},(n,l,...o)=>g(((e,n=[t])=>{const l=[],r=(e,t)=>t==h(n)?p(l,e):null===n[t]?I(e,(e=>r(e,t+1))):g([n[t],null],(n=>r(E(e,n),t+1)));return r(e,0),l})(n,l),(t=>I(t,(t=>E(r,t)[0](e,...null!=l?l:[],...o))))),e=>u(E(r,e),(([,n,o])=>(N(n,null!=o?o:[t],void 0,(t=>(D(t,e),L(t)?1:0))),H(r,e),l(e),o))),t=>u(E(r,t),(([t,,n=[],l,r])=>{const o=(...s)=>{var a,u;const c=h(s);c==h(n)?t(e,...s,...r(s)):i(n[c])?g(null!=(u=null==(a=l[c])?void 0:a.call(l,...s))?u:[],(e=>o(...s,e))):o(...s,n[c])};o()}))]})(),_=e=>{e!=M&&(M=e,J(A,void 0,M))},ee=t=>{(k&&c(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},te=e=>Q(void 0,null,(function*(){return 2!=M&&(_(1),O++,yield oe((()=>Q(void 0,null,(function*(){try{const t=yield n();c(t)?ee(t):e?F(e):v("Content is not an array: "+t)}catch(t){e&&F(e)}_(0)}))))),se})),ne=()=>(w&&(o(w),w=void 0),se),le=e=>Q(void 0,null,(function*(){return 1!=M&&(_(2),x++,yield oe((()=>Q(void 0,null,(function*(){try{yield l(T,e)}catch(e){}_(0)}))))),se})),re=()=>(m&&(e.delListener(m),m=void 0),se),oe=(...e)=>Q(void 0,null,(function*(){return p(E(Y,b),...e),yield Q(void 0,null,(function*(){if(!E(X,b)){for(H(X,b,1);!i(S=f(E(Y,b)));)try{yield S()}catch(e){}H(X,b,0)}})),se})),se=((e,t)=>{for(var n in t||(t={}))B.call(t,n)&&K(e,n,t[n]);if($)for(var n of $(t))G.call(t,n)&&K(e,n,t[n]);return e})({load:te,startAutoLoad:e=>Q(void 0,null,(function*(){ne(),yield te(e);try{w=yield r(((e,t)=>Q(void 0,null,(function*(){t||e?2!=M&&(_(1),O++,ee(null!=t?t:e),_(0)):yield te()}))))}catch(e){}return se})),stopAutoLoad:ne,isAutoLoading:()=>!i(w),save:le,startAutoSave:()=>Q(void 0,null,(function*(){return re(),yield le(),m=e.addDidFinishTransactionListener((()=>{const e=j();z(e)&&le(e)})),se})),stopAutoSave:re,isAutoSaving:()=>!i(m),getStatus:()=>M,addStatusListener:e=>U(e,A),delListener:t=>(Z(t),e),schedule:oe,getStore:()=>e,destroy:()=>(E(Y,b).splice(0,void 0),ne().stopAutoSave()),getStats:()=>({loads:O,saves:x})},d);return C(se)},_=n("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ee=r.crypto?e=>r.crypto.getRandomValues(e):e=>y(e,(()=>a(256*s.random()))),te=(e=16)=>{return t=(e,t)=>e+_[63&t],ee(new Uint8Array(e)).reduce(t,"");var t};var ne,le,re,oe,se=Object.defineProperty,ae=Object.getOwnPropertySymbols,ie=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,de=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())})),he=e=>{throw TypeError(e)},ve=(e,t,n)=>t.has(e)||he("Cannot "+n),ge=(e,t,n)=>(ve(e,t,"read from private field"),n?n.call(e):t.get(e)),ye=(e,t,n)=>t.has(e)?he("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),pe=(e,t,n)=>(ve(e,t,"access private method"),n),fe=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const be=/\/([^?]*)/,Se="S",we=e=>{var n,l,r,o;return null!=(l=null==(r=new URL(e.url).pathname,o=be,n=null==r?void 0:r.match(o))?void 0:n[1])?l:t},me=e=>{var t;return"websocket"==(null==(t=e.headers.get("upgrade"))?void 0:t.toLowerCase())?e.headers.get("sec-websocket-key"):null},Ce=(e,t=null,n=null)=>new Response(n,{status:e,webSocket:t}),Me=()=>Ce(426,null,"Upgrade required");class Pe extends e.DurableObject{constructor(e,n){super(e,n),ye(this,le),ye(this,ne),this.ctx.blockConcurrencyWhile((()=>fe(this,null,(function*(){return yield u(yield this.createPersister(),(e=>fe(this,null,(function*(){const n=((e,n,r,s,a,c,d,h,v={})=>{let g,y=0,p=0,f=0;const b=W(),S=()=>te(11),w=(e,t,l,r)=>{p++,n(e,t,l,r)},m=(e,t,n,r)=>de(void 0,null,(function*(){return new l(((l,s)=>{const i=r+"."+te(4),u=o((()=>{D(b,i),s(`No response from ${null!=e?e:"anyone"} to ${i}, `+t)}),a);H(b,i,[e,(e,t)=>{clearTimeout(u),D(b,i),l([e,t,r])}]),w(e,i,t,n)}))})),C=(e,[t,n])=>{M(t,(([t,n],l)=>{const r=O(e[0],l,U);M(t,(([e,t],n)=>{const l=O(r[0],n,U);M(e,(([e,t],n)=>l[0][n]=z(e,t))),l[1]=F(l[1],t)})),r[1]=F(r[1],n)})),e[1]=F(e[1],n)},x=(...n)=>de(void 0,[...n],(function*(n=null,l,r=S()){try{i(l)&&([l,n,r]=yield m(null,1,t,r));const[o,s]=l,[a,u]=e.getMergeableContentHashes();let c=U();if(a!=o){const[t,l]=(yield m(n,4,e.getMergeableTableHashes(),r))[0];if(c=t,!P(l)){const[t,o]=(yield m(n,5,e.getMergeableRowHashes(l),r))[0];if(C(c,t),!P(o)){const t=(yield m(n,6,e.getMergeableCellHashes(o),r))[0];C(c,t)}}}return[c,u==s?U():(yield m(n,7,e.getMergeableValueHashes(),r))[0],1]}catch(e){}})),A=Z(e,(()=>de(void 0,null,(function*(){const e=yield x();return!e||P(e[0][0])&&P(e[1][0])?void 0:e}))),((t,n)=>de(void 0,null,(function*(){return n?w(null,S(),3,n):w(null,S(),2,e.getMergeableContentHashes())}))),(e=>g=e),(()=>g=void 0),0,2,((e,t)=>{for(var n in t||(t={}))ie.call(t,n)&&ce(e,n,t[n]);if(ae)for(var n of ae(t))ue.call(t,n)&&ce(e,n,t[n]);return e})({startSync:e=>de(void 0,null,(function*(){return y=1,yield(yield A.startAutoLoad(e)).startAutoSave()})),stopSync:()=>(y=0,A.stopAutoLoad().stopAutoSave()),destroy:()=>A.stopSync(),getSynchronizerStats:()=>({sends:p,receives:f})},v),1);return r(((t,n,l,r)=>{const o=y||A.isAutoLoading();f++,0==l?u(E(b,n),(([e,n])=>i(e)||e==t?n(r,t):0)):2==l&&o?x(t,r,null!=n?n:void 0).then((e=>{null==g||g(void 0,e)})).catch(h):3==l&&o?null==g||g(void 0,r):u(1==l&&(y||A.isAutoSaving())?e.getMergeableContentHashes():4==l?e.getMergeableTableDiff(r):5==l?e.getMergeableRowDiff(r):6==l?e.getMergeableCellDiff(r):7==l?e.getMergeableValueDiff(r):void 0,(e=>{w(t,n,0,e)}))})),A})(e.getStore(),((e,t,n,l)=>pe(this,le,re).call(this,Se,T(e,t,n,l))),(e=>{return n=t=>((e,t)=>k(e,((e,n)=>{return t(e,...(l=n,A(l,((e,t)=>""===t?void 0:t))));var l})))(t,e),ve(this,t=ne,"write to private field"),t.set(this,n),n;var t,n}),0,1);yield e.load(),yield e.startAutoSave(),o(n.startSync)}))))}))))}fetch(e){const n=we(e);return u(me(e),(e=>{const[l,r]=(o=new WebSocketPair,b.values(o));var o,s;return s=pe(this,le,oe).call(this),0==h(s)&&this.onPathId(n,1),this.ctx.acceptWebSocket(r,[e,n]),this.onClientId(n,e,1),r.send(T(Se,null,1,t)),Ce(101,l)}),Me)}webSocketMessage(e,t){u(this.ctx.getTags(e)[0],(n=>pe(this,le,re).call(this,n,t.toString(),e)))}webSocketClose(e){const[t,n]=this.ctx.getTags(e);this.onClientId(n,t,-1),1==h(pe(this,le,oe).call(this))&&this.onPathId(n,-1)}createPersister(){}getPathId(){var e;return null==(e=this.ctx.getTags(pe(this,le,oe).call(this)[0]))?void 0:e[1]}getClientIds(){return y(pe(this,le,oe).call(this),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,n){}onMessage(e,t,n){}}ne=new WeakMap,le=new WeakSet,re=function(e,n,l){k(n.toString(),((n,r)=>{var o,s,a;const i=j(e,r);this.onMessage(e,n,r),n==t?(e!=Se&&(null==(o=ge(this,ne))||o.call(this,i)),g(pe(this,le,oe).call(this),(e=>{e!=l&&e.send(i)}))):n==Se?null==(s=ge(this,ne))||s.call(this,i):n!=e&&(null==(a=pe(this,le,oe).call(this,n)[0])||a.send(i))}))},oe=function(e){return this.ctx.getWebSockets(e)},exports.WsServerDurableObject=Pe,exports.getWsServerDurableObjectFetch=e=>(t,n)=>me(t)?n[e].get(n[e].idFromName(we(t))).fetch(t):Me();
@@ -1 +1 @@
1
- "use strict";var e=require("cloudflare:workers");const t="",n=(e,t="",n)=>e.split(t,n),l=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),s=Math,a=s.floor,i=e=>null==e,u=(e,t,n)=>i(e)?null==n?void 0:n():t(e),c=e=>Array.isArray(e),d=(e,t,n)=>e.slice(t,n),h=e=>e.length,v=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),p=(e,...t)=>e.push(...t),f=e=>e.shift(),b=Object,S=e=>b.getPrototypeOf(e),w=b.entries,m=b.keys,C=b.freeze,M=(e,t)=>g(w(e),(([e,n])=>t(n,e))),P=e=>(e=>!i(e)&&u(S(e),(e=>e==b.prototype||i(S(e))),(()=>!0)))(e)&&0==(e=>h(m(e)))(e),O=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),x=JSON.stringify,A=JSON.parse,k=(e,t)=>{const n=e.indexOf("\n");-1!==n&&t(d(e,0,n),d(e,n+1))},T=(e,...n)=>j(null!=e?e:t,x(n,((e,t)=>void 0===t?"":t))),j=(e,t)=>e+"\n"+t,L=e=>i(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),I=(e,t)=>null==e?void 0:e.forEach(t),D=(e,t)=>null==e?void 0:e.delete(t),W=e=>new Map(e),E=(e,t)=>null==e?void 0:e.get(t),H=(e,t,n)=>i(n)?(D(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n,l)=>{var r,o,s;return o=t,null!=(s=null==(r=e)?void 0:r.has(o))&&s?null==l||l(E(e,t)):H(e,t,n()),E(e,t)},N=(e,t,n,l,r=0)=>u((n?R:E)(e,t[r],r>h(t)-2?n:W),(o=>{if(r>h(t)-2)return(null==l?void 0:l(o))&&H(e,t[r]),o;const s=N(o,t,n,l,r+1);return L(o)&&H(e,t[r]),s})),z=(e,t)=>t?[e,t]:[e],F=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},U=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),V=e=>new Set(c(e)||i(e)?e:[e]),q=/^\d+$/;var J=Object.defineProperty,$=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,t,n)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const X=W(),Y=W(),Z=(e,n,l,r,o,s,a,d={},y=0,b=[])=>{let S,w,m,M=0,O=0,x=0;R(X,b,(()=>0)),R(Y,b,(()=>[]));const A=W(),[k,T,j,z,F]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!P(e)||!P(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!P(e)||!P(t),t.setContent]:v("Store type not supported by this Persister"))(a,e,y),[U,J,Z]=(()=>{let e;const[n,l]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?f(e):null)?r:t+n++},t=>{q.test(t)&&h(e)<1e3&&p(e,t)}]})(),r=W();return[(l,o,s,a=[],i=()=>[])=>{null!=e||(e=se);const u=n(1);var c,d;return H(r,u,[l,o,s,a,i]),d=u,null==(c=N(o,null!=s?s:[t],V))||c.add(d),u},(n,l,...o)=>g(((e,n=[t])=>{const l=[],r=(e,t)=>t==h(n)?p(l,e):null===n[t]?I(e,(e=>r(e,t+1))):g([n[t],null],(n=>r(E(e,n),t+1)));return r(e,0),l})(n,l),(t=>I(t,(t=>E(r,t)[0](e,...null!=l?l:[],...o))))),e=>u(E(r,e),(([,n,o])=>(N(n,null!=o?o:[t],void 0,(t=>(D(t,e),L(t)?1:0))),H(r,e),l(e),o))),t=>u(E(r,t),(([t,,n=[],l,r])=>{const o=(...s)=>{var a,u;const c=h(s);c==h(n)?t(e,...s,...r(s)):i(n[c])?g(null!=(u=null==(a=l[c])?void 0:a.call(l,...s))?u:[],(e=>o(...s,e))):o(...s,n[c])};o()}))]})(),_=e=>{e!=M&&(M=e,J(A,void 0,M))},ee=t=>{(k&&c(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},te=e=>Q(void 0,null,(function*(){return 2!=M&&(_(1),O++,yield oe((()=>Q(void 0,null,(function*(){try{const t=yield n();c(t)?ee(t):e?F(e):v("Content is not an array: "+t)}catch(t){e&&F(e)}_(0)}))))),se})),ne=()=>(w&&(o(w),w=void 0),se),le=e=>Q(void 0,null,(function*(){return 1!=M&&(_(2),x++,yield oe((()=>Q(void 0,null,(function*(){try{yield l(T,e)}catch(e){}_(0)}))))),se})),re=()=>(m&&(e.delListener(m),m=void 0),se),oe=(...e)=>Q(void 0,null,(function*(){return p(E(Y,b),...e),yield Q(void 0,null,(function*(){if(!E(X,b)){for(H(X,b,1);!i(S=f(E(Y,b)));)try{yield S()}catch(e){}H(X,b,0)}})),se})),se=((e,t)=>{for(var n in t||(t={}))B.call(t,n)&&K(e,n,t[n]);if($)for(var n of $(t))G.call(t,n)&&K(e,n,t[n]);return e})({load:te,startAutoLoad:e=>Q(void 0,null,(function*(){ne(),yield te(e);try{w=yield r(((e,t)=>Q(void 0,null,(function*(){t||e?2!=M&&(_(1),O++,ee(null!=t?t:e),_(0)):yield te()}))))}catch(e){}return se})),stopAutoLoad:ne,isAutoLoading:()=>!i(w),save:le,startAutoSave:()=>Q(void 0,null,(function*(){return re(),yield le(),m=e.addDidFinishTransactionListener((()=>{const e=j();z(e)&&le(e)})),se})),stopAutoSave:re,isAutoSaving:()=>!i(m),getStatus:()=>M,addStatusListener:e=>U(e,A),delListener:t=>(Z(t),e),schedule:oe,getStore:()=>e,destroy:()=>(E(Y,b).splice(0,void 0),ne().stopAutoSave()),getStats:()=>({loads:O,saves:x})},d);return C(se)},_=n("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ee=r.crypto?e=>r.crypto.getRandomValues(e):e=>y(e,(()=>a(256*s.random()))),te=(e=16)=>{return t=(e,t)=>e+_[63&t],ee(new Uint8Array(e)).reduce(t,"");var t};var ne,le,re,oe,se=Object.defineProperty,ae=Object.getOwnPropertySymbols,ie=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,de=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())})),he=e=>{throw TypeError(e)},ve=(e,t,n)=>t.has(e)||he("Cannot "+n),ge=(e,t,n)=>(ve(e,t,"read from private field"),n?n.call(e):t.get(e)),ye=(e,t,n)=>t.has(e)?he("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),pe=(e,t,n)=>(ve(e,t,"access private method"),n),fe=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const be=/\/([^?]*)/,Se="S",we=e=>{var n,l,r,o;return null!=(l=null==(r=new URL(e.url).pathname,o=be,n=null==r?void 0:r.match(o))?void 0:n[1])?l:t},me=e=>{var t;return"websocket"==(null==(t=e.headers.get("upgrade"))?void 0:t.toLowerCase())?e.headers.get("sec-websocket-key"):null},Ce=(e,t=null,n=null)=>new Response(n,{status:e,webSocket:t}),Me=()=>Ce(426,null,"Upgrade required");class Pe extends e.DurableObject{constructor(e,n){super(e,n),ye(this,le),ye(this,ne),this.ctx.blockConcurrencyWhile((()=>fe(this,null,(function*(){return yield u(yield this.createPersister(),(e=>fe(this,null,(function*(){const n=((e,n,r,s,a,c,d,h,v={})=>{let g,y=0,p=0,f=0;const b=W(),S=()=>te(11),w=(e,t,l,r)=>{p++,n(e,t,l,r)},m=(e,t,n,r)=>de(void 0,null,(function*(){return new l(((l,s)=>{const i=r+"."+te(4),u=o((()=>{D(b,i),s(`No response from ${null!=e?e:"anyone"} to ${i}, `+t)}),a);H(b,i,[e,(e,t)=>{clearTimeout(u),D(b,i),l([e,t,r])}]),w(e,i,t,n)}))})),C=(e,[t,n])=>{M(t,(([t,n],l)=>{const r=O(e[0],l,U);M(t,(([e,t],n)=>{const l=O(r[0],n,U);M(e,(([e,t],n)=>l[0][n]=z(e,t))),l[1]=F(l[1],t)})),r[1]=F(r[1],n)})),e[1]=F(e[1],n)},x=(...n)=>de(void 0,[...n],(function*(n=null,l,r=S()){try{i(l)&&([l,n,r]=yield m(null,1,t,r));const[o,s]=l,[a,u]=e.getMergeableContentHashes();let c=U();if(a!=o){const[t,l]=(yield m(n,4,e.getMergeableTableHashes(),r))[0];if(c=t,!P(l)){const[t,o]=(yield m(n,5,e.getMergeableRowHashes(l),r))[0];if(C(c,t),!P(o)){const t=(yield m(n,6,e.getMergeableCellHashes(o),r))[0];C(c,t)}}}return[c,u==s?U():(yield m(n,7,e.getMergeableValueHashes(),r))[0],1]}catch(e){}})),A=Z(e,(()=>de(void 0,null,(function*(){const e=yield x();return!e||P(e[0][0])&&P(e[1][0])?void 0:e}))),((t,n)=>de(void 0,null,(function*(){return n?w(null,S(),3,n):w(null,S(),2,e.getMergeableContentHashes())}))),(e=>g=e),(()=>g=void 0),0,2,((e,t)=>{for(var n in t||(t={}))ie.call(t,n)&&ce(e,n,t[n]);if(ae)for(var n of ae(t))ue.call(t,n)&&ce(e,n,t[n]);return e})({startSync:e=>de(void 0,null,(function*(){return y=1,yield(yield A.startAutoLoad(e)).startAutoSave()})),stopSync:()=>(y=0,A.stopAutoLoad().stopAutoSave()),destroy:()=>A.stopSync(),getSynchronizerStats:()=>({sends:p,receives:f})},v),1);return r(((t,n,l,r)=>{const o=y||A.isAutoLoading();f++,0==l?u(E(b,n),(([e,n])=>i(e)||e==t?n(r,t):0)):2==l&&o?x(t,r,null!=n?n:void 0).then((e=>{null==g||g(void 0,e)})).catch(h):3==l&&o?null==g||g(void 0,r):u(1==l&&(y||A.isAutoSaving())?e.getMergeableContentHashes():4==l?e.getMergeableTableDiff(r):5==l?e.getMergeableRowDiff(r):6==l?e.getMergeableCellDiff(r):7==l?e.getMergeableValueDiff(r):void 0,(e=>{w(t,n,0,e)}))})),A})(e.getStore(),((e,t,n,l)=>pe(this,le,re).call(this,Se,T(e,t,n,l))),(e=>{return n=t=>((e,t)=>k(e,((e,n)=>{return t(e,...(l=n,A(l,((e,t)=>""===t?void 0:t))));var l})))(t,e),ve(this,t=ne,"write to private field"),t.set(this,n),n;var t,n}),0,1);yield e.load(),yield e.startAutoSave(),o(n.startSync)}))))}))))}fetch(e){const n=we(e);return u(me(e),(e=>{const[l,r]=(o=new WebSocketPair,b.values(o));var o,s;return s=pe(this,le,oe).call(this),0==h(s)&&this.onPathId(n,1),this.ctx.acceptWebSocket(r,[e,n]),this.onClientId(n,e,1),r.send(T(Se,null,1,t)),Ce(101,l)}),Me)}webSocketMessage(e,t){u(this.ctx.getTags(e)[0],(n=>pe(this,le,re).call(this,n,t.toString(),e)))}webSocketClose(e){const[t,n]=this.ctx.getTags(e);this.onClientId(n,t,-1),1==h(pe(this,le,oe).call(this))&&this.onPathId(n,-1)}createPersister(){}getPathId(){var e;return null==(e=this.ctx.getTags(pe(this,le,oe).call(this)[0]))?void 0:e[1]}getClientIds(){return y(pe(this,le,oe).call(this),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,n){}onMessage(e,t,n){}}ne=new WeakMap,le=new WeakSet,re=function(e,n,l){k(n.toString(),((n,r)=>{var o;const s=j(e,r);this.onMessage(e,n,r),n==t?(e!=Se&&ge(this,ne).call(this,s),g(pe(this,le,oe).call(this),(e=>{e!=l&&e.send(s)}))):n==Se?ge(this,ne).call(this,s):n!=e&&(null==(o=pe(this,le,oe).call(this,n)[0])||o.send(s))}))},oe=function(e){return this.ctx.getWebSockets(e)},exports.WsServerDurableObject=Pe,exports.getWsServerDurableObjectFetch=e=>(t,n)=>me(t)?n[e].get(n[e].idFromName(we(t))).fetch(t):Me();
1
+ "use strict";var e=require("cloudflare:workers");const t="",n=(e,t="",n)=>e.split(t,n),l=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),s=Math,a=s.floor,i=e=>null==e,u=(e,t,n)=>i(e)?null==n?void 0:n():t(e),c=e=>Array.isArray(e),d=(e,t,n)=>e.slice(t,n),h=e=>e.length,v=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),p=(e,...t)=>e.push(...t),f=e=>e.shift(),b=Object,S=e=>b.getPrototypeOf(e),w=b.entries,m=b.keys,C=b.freeze,M=(e,t)=>g(w(e),(([e,n])=>t(n,e))),P=e=>(e=>!i(e)&&u(S(e),(e=>e==b.prototype||i(S(e))),(()=>!0)))(e)&&0==(e=>h(m(e)))(e),O=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),x=JSON.stringify,A=JSON.parse,k=(e,t)=>{const n=e.indexOf("\n");-1!==n&&t(d(e,0,n),d(e,n+1))},T=(e,...n)=>j(null!=e?e:t,x(n,((e,t)=>void 0===t?"":t))),j=(e,t)=>e+"\n"+t,L=e=>i(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),I=(e,t)=>null==e?void 0:e.forEach(t),D=(e,t)=>null==e?void 0:e.delete(t),W=e=>new Map(e),E=(e,t)=>null==e?void 0:e.get(t),H=(e,t,n)=>i(n)?(D(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n,l)=>{var r,o,s;return o=t,null!=(s=null==(r=e)?void 0:r.has(o))&&s?null==l||l(E(e,t)):H(e,t,n()),E(e,t)},N=(e,t,n,l,r=0)=>u((n?R:E)(e,t[r],r>h(t)-2?n:W),(o=>{if(r>h(t)-2)return(null==l?void 0:l(o))&&H(e,t[r]),o;const s=N(o,t,n,l,r+1);return L(o)&&H(e,t[r]),s})),z=(e,t)=>t?[e,t]:[e],F=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},U=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),V=e=>new Set(c(e)||i(e)?e:[e]),q=/^\d+$/;var J=Object.defineProperty,$=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,t,n)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const X=W(),Y=W(),Z=(e,n,l,r,o,s,a,d={},y=0,b=[])=>{let S,w,m,M=0,O=0,x=0;R(X,b,(()=>0)),R(Y,b,(()=>[]));const A=W(),[k,T,j,z,F]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!P(e)||!P(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!P(e)||!P(t),t.setContent]:v("Store type not supported by this Persister"))(a,e,y),[U,J,Z]=(()=>{let e;const[n,l]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?f(e):null)?r:t+n++},t=>{q.test(t)&&h(e)<1e3&&p(e,t)}]})(),r=W();return[(l,o,s,a=[],i=()=>[])=>{null!=e||(e=se);const u=n(1);var c,d;return H(r,u,[l,o,s,a,i]),d=u,null==(c=N(o,null!=s?s:[t],V))||c.add(d),u},(n,l,...o)=>g(((e,n=[t])=>{const l=[],r=(e,t)=>t==h(n)?p(l,e):null===n[t]?I(e,(e=>r(e,t+1))):g([n[t],null],(n=>r(E(e,n),t+1)));return r(e,0),l})(n,l),(t=>I(t,(t=>E(r,t)[0](e,...null!=l?l:[],...o))))),e=>u(E(r,e),(([,n,o])=>(N(n,null!=o?o:[t],void 0,(t=>(D(t,e),L(t)?1:0))),H(r,e),l(e),o))),t=>u(E(r,t),(([t,,n=[],l,r])=>{const o=(...s)=>{var a,u;const c=h(s);c==h(n)?t(e,...s,...r(s)):i(n[c])?g(null!=(u=null==(a=l[c])?void 0:a.call(l,...s))?u:[],(e=>o(...s,e))):o(...s,n[c])};o()}))]})(),_=e=>{e!=M&&(M=e,J(A,void 0,M))},ee=t=>{(k&&c(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},te=e=>Q(void 0,null,(function*(){return 2!=M&&(_(1),O++,yield oe((()=>Q(void 0,null,(function*(){try{const t=yield n();c(t)?ee(t):e?F(e):v("Content is not an array: "+t)}catch(t){e&&F(e)}_(0)}))))),se})),ne=()=>(w&&(o(w),w=void 0),se),le=e=>Q(void 0,null,(function*(){return 1!=M&&(_(2),x++,yield oe((()=>Q(void 0,null,(function*(){try{yield l(T,e)}catch(e){}_(0)}))))),se})),re=()=>(m&&(e.delListener(m),m=void 0),se),oe=(...e)=>Q(void 0,null,(function*(){return p(E(Y,b),...e),yield Q(void 0,null,(function*(){if(!E(X,b)){for(H(X,b,1);!i(S=f(E(Y,b)));)try{yield S()}catch(e){}H(X,b,0)}})),se})),se=((e,t)=>{for(var n in t||(t={}))B.call(t,n)&&K(e,n,t[n]);if($)for(var n of $(t))G.call(t,n)&&K(e,n,t[n]);return e})({load:te,startAutoLoad:e=>Q(void 0,null,(function*(){ne(),yield te(e);try{w=yield r(((e,t)=>Q(void 0,null,(function*(){t||e?2!=M&&(_(1),O++,ee(null!=t?t:e),_(0)):yield te()}))))}catch(e){}return se})),stopAutoLoad:ne,isAutoLoading:()=>!i(w),save:le,startAutoSave:()=>Q(void 0,null,(function*(){return re(),yield le(),m=e.addDidFinishTransactionListener((()=>{const e=j();z(e)&&le(e)})),se})),stopAutoSave:re,isAutoSaving:()=>!i(m),getStatus:()=>M,addStatusListener:e=>U(e,A),delListener:t=>(Z(t),e),schedule:oe,getStore:()=>e,destroy:()=>(E(Y,b).splice(0,void 0),ne().stopAutoSave()),getStats:()=>({loads:O,saves:x})},d);return C(se)},_=n("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ee=r.crypto?e=>r.crypto.getRandomValues(e):e=>y(e,(()=>a(256*s.random()))),te=(e=16)=>{return t=(e,t)=>e+_[63&t],ee(new Uint8Array(e)).reduce(t,"");var t};var ne,le,re,oe,se=Object.defineProperty,ae=Object.getOwnPropertySymbols,ie=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,de=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())})),he=e=>{throw TypeError(e)},ve=(e,t,n)=>t.has(e)||he("Cannot "+n),ge=(e,t,n)=>(ve(e,t,"read from private field"),n?n.call(e):t.get(e)),ye=(e,t,n)=>t.has(e)?he("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),pe=(e,t,n)=>(ve(e,t,"access private method"),n),fe=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const be=/\/([^?]*)/,Se="S",we=e=>{var n,l,r,o;return null!=(l=null==(r=new URL(e.url).pathname,o=be,n=null==r?void 0:r.match(o))?void 0:n[1])?l:t},me=e=>{var t;return"websocket"==(null==(t=e.headers.get("upgrade"))?void 0:t.toLowerCase())?e.headers.get("sec-websocket-key"):null},Ce=(e,t=null,n=null)=>new Response(n,{status:e,webSocket:t}),Me=()=>Ce(426,null,"Upgrade required");class Pe extends e.DurableObject{constructor(e,n){super(e,n),ye(this,le),ye(this,ne),this.ctx.blockConcurrencyWhile((()=>fe(this,null,(function*(){return yield u(yield this.createPersister(),(e=>fe(this,null,(function*(){const n=((e,n,r,s,a,c,d,h,v={})=>{let g,y=0,p=0,f=0;const b=W(),S=()=>te(11),w=(e,t,l,r)=>{p++,n(e,t,l,r)},m=(e,t,n,r)=>de(void 0,null,(function*(){return new l(((l,s)=>{const i=r+"."+te(4),u=o((()=>{D(b,i),s(`No response from ${null!=e?e:"anyone"} to ${i}, `+t)}),a);H(b,i,[e,(e,t)=>{clearTimeout(u),D(b,i),l([e,t,r])}]),w(e,i,t,n)}))})),C=(e,[t,n])=>{M(t,(([t,n],l)=>{const r=O(e[0],l,U);M(t,(([e,t],n)=>{const l=O(r[0],n,U);M(e,(([e,t],n)=>l[0][n]=z(e,t))),l[1]=F(l[1],t)})),r[1]=F(r[1],n)})),e[1]=F(e[1],n)},x=(...n)=>de(void 0,[...n],(function*(n=null,l,r=S()){try{i(l)&&([l,n,r]=yield m(null,1,t,r));const[o,s]=l,[a,u]=e.getMergeableContentHashes();let c=U();if(a!=o){const[t,l]=(yield m(n,4,e.getMergeableTableHashes(),r))[0];if(c=t,!P(l)){const[t,o]=(yield m(n,5,e.getMergeableRowHashes(l),r))[0];if(C(c,t),!P(o)){const t=(yield m(n,6,e.getMergeableCellHashes(o),r))[0];C(c,t)}}}return[c,u==s?U():(yield m(n,7,e.getMergeableValueHashes(),r))[0],1]}catch(e){}})),A=Z(e,(()=>de(void 0,null,(function*(){const e=yield x();return!e||P(e[0][0])&&P(e[1][0])?void 0:e}))),((t,n)=>de(void 0,null,(function*(){return n?w(null,S(),3,n):w(null,S(),2,e.getMergeableContentHashes())}))),(e=>g=e),(()=>g=void 0),0,2,((e,t)=>{for(var n in t||(t={}))ie.call(t,n)&&ce(e,n,t[n]);if(ae)for(var n of ae(t))ue.call(t,n)&&ce(e,n,t[n]);return e})({startSync:e=>de(void 0,null,(function*(){return y=1,yield(yield A.startAutoLoad(e)).startAutoSave()})),stopSync:()=>(y=0,A.stopAutoLoad().stopAutoSave()),destroy:()=>A.stopSync(),getSynchronizerStats:()=>({sends:p,receives:f})},v),1);return r(((t,n,l,r)=>{const o=y||A.isAutoLoading();f++,0==l?u(E(b,n),(([e,n])=>i(e)||e==t?n(r,t):0)):2==l&&o?x(t,r,null!=n?n:void 0).then((e=>{null==g||g(void 0,e)})).catch(h):3==l&&o?null==g||g(void 0,r):u(1==l&&(y||A.isAutoSaving())?e.getMergeableContentHashes():4==l?e.getMergeableTableDiff(r):5==l?e.getMergeableRowDiff(r):6==l?e.getMergeableCellDiff(r):7==l?e.getMergeableValueDiff(r):void 0,(e=>{w(t,n,0,e)}))})),A})(e.getStore(),((e,t,n,l)=>pe(this,le,re).call(this,Se,T(e,t,n,l))),(e=>{return n=t=>((e,t)=>k(e,((e,n)=>{return t(e,...(l=n,A(l,((e,t)=>""===t?void 0:t))));var l})))(t,e),ve(this,t=ne,"write to private field"),t.set(this,n),n;var t,n}),0,1);yield e.load(),yield e.startAutoSave(),o(n.startSync)}))))}))))}fetch(e){const n=we(e);return u(me(e),(e=>{const[l,r]=(o=new WebSocketPair,b.values(o));var o,s;return s=pe(this,le,oe).call(this),0==h(s)&&this.onPathId(n,1),this.ctx.acceptWebSocket(r,[e,n]),this.onClientId(n,e,1),r.send(T(Se,null,1,t)),Ce(101,l)}),Me)}webSocketMessage(e,t){u(this.ctx.getTags(e)[0],(n=>pe(this,le,re).call(this,n,t.toString(),e)))}webSocketClose(e){const[t,n]=this.ctx.getTags(e);this.onClientId(n,t,-1),1==h(pe(this,le,oe).call(this))&&this.onPathId(n,-1)}createPersister(){}getPathId(){var e;return null==(e=this.ctx.getTags(pe(this,le,oe).call(this)[0]))?void 0:e[1]}getClientIds(){return y(pe(this,le,oe).call(this),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,n){}onMessage(e,t,n){}}ne=new WeakMap,le=new WeakSet,re=function(e,n,l){k(n.toString(),((n,r)=>{var o,s,a;const i=j(e,r);this.onMessage(e,n,r),n==t?(e!=Se&&(null==(o=ge(this,ne))||o.call(this,i)),g(pe(this,le,oe).call(this),(e=>{e!=l&&e.send(i)}))):n==Se?null==(s=ge(this,ne))||s.call(this,i):n!=e&&(null==(a=pe(this,le,oe).call(this,n)[0])||a.send(i))}))},oe=function(e){return this.ctx.getWebSockets(e)},exports.WsServerDurableObject=Pe,exports.getWsServerDurableObjectFetch=e=>(t,n)=>me(t)?n[e].get(n[e].idFromName(we(t))).fetch(t):Me();
@@ -1030,12 +1030,14 @@ _WsServerDurableObject_instances = new WeakSet();
1030
1030
  // --
1031
1031
  handleMessage_fn = function (fromClientId, message, fromClient) {
1032
1032
  ifPayloadValid(message.toString(), (toClientId, remainder) => {
1033
- var _a;
1033
+ var _a, _b, _c;
1034
1034
  const forwardedPayload = createRawPayload(fromClientId, remainder);
1035
1035
  this.onMessage(fromClientId, toClientId, remainder);
1036
1036
  if (toClientId == EMPTY_STRING) {
1037
1037
  if (fromClientId != SERVER_CLIENT_ID) {
1038
- __privateGet(this, _serverClientSend).call(this, forwardedPayload);
1038
+ (_a = __privateGet(this, _serverClientSend)) == null
1039
+ ? void 0
1040
+ : _a.call(this, forwardedPayload);
1039
1041
  }
1040
1042
  arrayForEach(
1041
1043
  __privateMethod(
@@ -1050,15 +1052,17 @@ handleMessage_fn = function (fromClientId, message, fromClient) {
1050
1052
  },
1051
1053
  );
1052
1054
  } else if (toClientId == SERVER_CLIENT_ID) {
1053
- __privateGet(this, _serverClientSend).call(this, forwardedPayload);
1055
+ (_b = __privateGet(this, _serverClientSend)) == null
1056
+ ? void 0
1057
+ : _b.call(this, forwardedPayload);
1054
1058
  } else if (toClientId != fromClientId) {
1055
- (_a = __privateMethod(
1059
+ (_c = __privateMethod(
1056
1060
  this,
1057
1061
  _WsServerDurableObject_instances,
1058
1062
  getClients_fn,
1059
1063
  ).call(this, toClientId)[0]) == null
1060
1064
  ? void 0
1061
- : _a.send(forwardedPayload);
1065
+ : _c.send(forwardedPayload);
1062
1066
  }
1063
1067
  });
1064
1068
  };
@@ -1030,12 +1030,14 @@ _WsServerDurableObject_instances = new WeakSet();
1030
1030
  // --
1031
1031
  handleMessage_fn = function (fromClientId, message, fromClient) {
1032
1032
  ifPayloadValid(message.toString(), (toClientId, remainder) => {
1033
- var _a;
1033
+ var _a, _b, _c;
1034
1034
  const forwardedPayload = createRawPayload(fromClientId, remainder);
1035
1035
  this.onMessage(fromClientId, toClientId, remainder);
1036
1036
  if (toClientId == EMPTY_STRING) {
1037
1037
  if (fromClientId != SERVER_CLIENT_ID) {
1038
- __privateGet(this, _serverClientSend).call(this, forwardedPayload);
1038
+ (_a = __privateGet(this, _serverClientSend)) == null
1039
+ ? void 0
1040
+ : _a.call(this, forwardedPayload);
1039
1041
  }
1040
1042
  arrayForEach(
1041
1043
  __privateMethod(
@@ -1050,15 +1052,17 @@ handleMessage_fn = function (fromClientId, message, fromClient) {
1050
1052
  },
1051
1053
  );
1052
1054
  } else if (toClientId == SERVER_CLIENT_ID) {
1053
- __privateGet(this, _serverClientSend).call(this, forwardedPayload);
1055
+ (_b = __privateGet(this, _serverClientSend)) == null
1056
+ ? void 0
1057
+ : _b.call(this, forwardedPayload);
1054
1058
  } else if (toClientId != fromClientId) {
1055
- (_a = __privateMethod(
1059
+ (_c = __privateMethod(
1056
1060
  this,
1057
1061
  _WsServerDurableObject_instances,
1058
1062
  getClients_fn,
1059
1063
  ).call(this, toClientId)[0]) == null
1060
1064
  ? void 0
1061
- : _a.send(forwardedPayload);
1065
+ : _c.send(forwardedPayload);
1062
1066
  }
1063
1067
  });
1064
1068
  };
@@ -1 +1 @@
1
- "use strict";var e=require("cloudflare:workers");const t="",s=(e,t="",s)=>e.split(t,s),a=Promise,n=globalThis,r=(e,t=0)=>setTimeout(e,1e3*t),o=Math,i=o.floor,c=e=>null==e,l=(e,t,s)=>c(e)?s?.():t(e),g=e=>Array.isArray(e),u=(e,t,s)=>e.slice(t,s),h=e=>e.length,d=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),v=(e,...t)=>e.push(...t),S=e=>e.shift(),b=Object,p=e=>b.getPrototypeOf(e),C=b.entries,f=b.keys,M=b.freeze,A=(e,t)=>y(C(e),(([e,s])=>t(s,e))),k=e=>(e=>!c(e)&&l(p(e),(e=>e==b.prototype||c(p(e))),(()=>!0)))(e)&&0==(e=>h(f(e)))(e),m=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),L=JSON.stringify,T=JSON.parse,x=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(u(e,0,s),u(e,s+1))},P=(e,...s)=>D(e??t,L(s,((e,t)=>void 0===t?"":t))),D=(e,t)=>e+"\n"+t,I=e=>c(e)||0==(e=>e?.size??0)(e),O=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),W=e=>new Map(e),R=(e,t)=>e?.get(t),j=(e,t,s)=>c(s)?(H(e,t),e):e?.set(t,s),E=(e,t,s,a)=>{var n,r;return n=e,r=t,n?.has(r)?a?.(R(e,t)):j(e,t,s()),R(e,t)},N=(e,t,s,a,n=0)=>l((s?E:R)(e,t[n],n>h(t)-2?s:W),(r=>{if(n>h(t)-2)return a?.(r)&&j(e,t[n]),r;const o=N(r,t,s,a,n+1);return I(r)&&j(e,t[n]),o})),z=(e,t)=>t?[e,t]:[e],F=(e,t)=>((e??"")>(t??"")?e:t)??"",U=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),V=e=>new Set(g(e)||c(e)?e:[e]),q=/^\d+$/,J=W(),$=W(),B=(e,s,a,n,r,o,i,u={},w=0,b=[])=>{let p,C,f,A=0,m=0,L=0;E(J,b,(()=>0)),E($,b,(()=>[]));const T=W(),[x,P,D,z,F]=((e=1,t,s)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!s),([[e],[t]])=>!k(e)||!k(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!k(e)||!k(t),t.setContent]:d("Store type not supported by this Persister"))(i,e,w),[U,B,G]=(()=>{let e;const[s,a]=(()=>{const e=[];let s=0;return[a=>(a?S(e):null)??t+s++,t=>{q.test(t)&&h(e)<1e3&&v(e,t)}]})(),n=W();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=s(1);var g,u;return j(n,l,[a,r,o,i,c]),g=N(r,o??[t],V),u=l,g?.add(u),l},(s,a,...r)=>y(((e,s=[t])=>{const a=[],n=(e,t)=>t==h(s)?v(a,e):null===s[t]?O(e,(e=>n(e,t+1))):y([s[t],null],(s=>n(R(e,s),t+1)));return n(e,0),a})(s,a),(t=>O(t,(t=>R(n,t)[0](e,...a??[],...r))))),e=>l(R(n,e),(([,s,r])=>(N(s,r??[t],void 0,(t=>(H(t,e),I(t)?1:0))),j(n,e),a(e),r))),t=>l(R(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=h(o);i==h(s)?t(e,...o,...n(o)):c(s[i])?y(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=A&&(A=e,B(T,void 0,A))},Q=t=>{(x&&g(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=A&&(K(1),m++,await ee((async()=>{try{const t=await s();g(t)?Q(t):e?F(e):d("Content is not an array: "+t)}catch(t){e&&F(e)}K(0)}))),te),Y=()=>(C&&(r(C),C=void 0),te),Z=async e=>(1!=A&&(K(2),L++,await ee((async()=>{try{await a(P,e)}catch(e){}K(0)}))),te),_=()=>(f&&(e.delListener(f),f=void 0),te),ee=async(...e)=>(v(R($,b),...e),await(async()=>{if(!R(J,b)){for(j(J,b,1);!c(p=S(R($,b)));)try{await p()}catch(e){}j(J,b,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{C=await n((async(e,t)=>{t||e?2!=A&&(K(1),m++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!c(C),save:Z,startAutoSave:async()=>(_(),await Z(),f=e.addDidFinishTransactionListener((()=>{const e=D();z(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!c(f),getStatus:()=>A,addStatusListener:e=>U(e,T),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(R($,b).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:m,saves:L}),...u};return M(te)},G=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),K=n.crypto?e=>n.crypto.getRandomValues(e):e=>w(e,(()=>i(256*o.random()))),Q=(e=16)=>{return t=(e,t)=>e+G[63&t],K(new Uint8Array(e)).reduce(t,"");var t},X=/\/([^?]*)/,Y="S",Z=e=>{return(s=new URL(e.url).pathname,a=X,s?.match(a))?.[1]??t;var s,a},_=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,ee=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),te=()=>ee(426,null,"Upgrade required");class se extends e.DurableObject{#e;constructor(e,s){super(e,s),this.ctx.blockConcurrencyWhile((async()=>await l(await this.createPersister(),(async e=>{const s=((e,s,n,o,i,g,u,h,d={})=>{let y,w=0,v=0,S=0;const b=W(),p=()=>Q(11),C=(e,t,a,n)=>{v++,s(e,t,a,n)},f=async(e,t,s,n)=>new a(((a,o)=>{const c=n+"."+Q(4),l=r((()=>{H(b,c),o(`No response from ${e??"anyone"} to ${c}, `+t)}),i);j(b,c,[e,(e,t)=>{clearTimeout(l),H(b,c),a([e,t,n])}]),C(e,c,t,s)})),M=(e,[t,s])=>{A(t,(([t,s],a)=>{const n=m(e[0],a,U);A(t,(([e,t],s)=>{const a=m(n[0],s,U);A(e,(([e,t],s)=>a[0][s]=z(e,t))),a[1]=F(a[1],t)})),n[1]=F(n[1],s)})),e[1]=F(e[1],s)},L=async(s=null,a,n=p())=>{try{c(a)&&([a,s,n]=await f(null,1,t,n));const[r,o]=a,[i,l]=e.getMergeableContentHashes();let g=U();if(i!=r){const[t,a]=(await f(s,4,e.getMergeableTableHashes(),n))[0];if(g=t,!k(a)){const[t,r]=(await f(s,5,e.getMergeableRowHashes(a),n))[0];if(M(g,t),!k(r)){const t=(await f(s,6,e.getMergeableCellHashes(r),n))[0];M(g,t)}}}return[g,l==o?U():(await f(s,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},T=B(e,(async()=>{const e=await L();return!e||k(e[0][0])&&k(e[1][0])?void 0:e}),(async(t,s)=>s?C(null,p(),3,s):C(null,p(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(w=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(w=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>T.stopSync(),getSynchronizerStats:()=>({sends:v,receives:S}),...d},1);return n(((t,s,a,n)=>{const r=w||T.isAutoLoading();S++,0==a?l(R(b,s),(([e,s])=>c(e)||e==t?s(n,t):0)):2==a&&r?L(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(h):3==a&&r?y?.(void 0,n):l(1==a&&(w||T.isAutoSaving())?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(n):5==a?e.getMergeableRowDiff(n):6==a?e.getMergeableCellDiff(n):7==a?e.getMergeableValueDiff(n):void 0,(e=>{C(t,s,0,e)}))})),T})(e.getStore(),((e,t,s,a)=>this.#t(Y,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>x(e,((e,s)=>{return t(e,...(a=s,T(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),r(s.startSync)}))))}fetch(e){const s=Z(e);return l(_(e),(e=>{const[a,n]=(r=new WebSocketPair,b.values(r));var r,o;return o=this.#s(),0==h(o)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[e,s]),this.onClientId(s,e,1),n.send(P(Y,null,1,t)),ee(101,a)}),te)}webSocketMessage(e,t){l(this.ctx.getTags(e)[0],(s=>this.#t(s,t.toString(),e)))}webSocketClose(e){const[t,s]=this.ctx.getTags(e);this.onClientId(s,t,-1),1==h(this.#s())&&this.onPathId(s,-1)}#t(e,s,a){x(s.toString(),((s,n)=>{const r=D(e,n);this.onMessage(e,s,n),s==t?(e!=Y&&this.#e(r),y(this.#s(),(e=>{e!=a&&e.send(r)}))):s==Y?this.#e(r):s!=e&&this.#s(s)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return w(this.#s(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,s){}onMessage(e,t,s){}}exports.WsServerDurableObject=se,exports.getWsServerDurableObjectFetch=e=>(t,s)=>_(t)?s[e].get(s[e].idFromName(Z(t))).fetch(t):te();
1
+ "use strict";var e=require("cloudflare:workers");const t="",s=(e,t="",s)=>e.split(t,s),a=Promise,n=globalThis,r=(e,t=0)=>setTimeout(e,1e3*t),o=Math,i=o.floor,c=e=>null==e,l=(e,t,s)=>c(e)?s?.():t(e),g=e=>Array.isArray(e),u=(e,t,s)=>e.slice(t,s),h=e=>e.length,d=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),v=(e,...t)=>e.push(...t),S=e=>e.shift(),b=Object,p=e=>b.getPrototypeOf(e),C=b.entries,f=b.keys,M=b.freeze,A=(e,t)=>y(C(e),(([e,s])=>t(s,e))),k=e=>(e=>!c(e)&&l(p(e),(e=>e==b.prototype||c(p(e))),(()=>!0)))(e)&&0==(e=>h(f(e)))(e),m=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),L=JSON.stringify,T=JSON.parse,x=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(u(e,0,s),u(e,s+1))},P=(e,...s)=>D(e??t,L(s,((e,t)=>void 0===t?"":t))),D=(e,t)=>e+"\n"+t,I=e=>c(e)||0==(e=>e?.size??0)(e),O=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),W=e=>new Map(e),R=(e,t)=>e?.get(t),j=(e,t,s)=>c(s)?(H(e,t),e):e?.set(t,s),E=(e,t,s,a)=>{var n,r;return n=e,r=t,n?.has(r)?a?.(R(e,t)):j(e,t,s()),R(e,t)},N=(e,t,s,a,n=0)=>l((s?E:R)(e,t[n],n>h(t)-2?s:W),(r=>{if(n>h(t)-2)return a?.(r)&&j(e,t[n]),r;const o=N(r,t,s,a,n+1);return I(r)&&j(e,t[n]),o})),z=(e,t)=>t?[e,t]:[e],F=(e,t)=>((e??"")>(t??"")?e:t)??"",U=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),V=e=>new Set(g(e)||c(e)?e:[e]),q=/^\d+$/,J=W(),$=W(),B=(e,s,a,n,r,o,i,u={},w=0,b=[])=>{let p,C,f,A=0,m=0,L=0;E(J,b,(()=>0)),E($,b,(()=>[]));const T=W(),[x,P,D,z,F]=((e=1,t,s)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!s),([[e],[t]])=>!k(e)||!k(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!k(e)||!k(t),t.setContent]:d("Store type not supported by this Persister"))(i,e,w),[U,B,G]=(()=>{let e;const[s,a]=(()=>{const e=[];let s=0;return[a=>(a?S(e):null)??t+s++,t=>{q.test(t)&&h(e)<1e3&&v(e,t)}]})(),n=W();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=s(1);var g,u;return j(n,l,[a,r,o,i,c]),g=N(r,o??[t],V),u=l,g?.add(u),l},(s,a,...r)=>y(((e,s=[t])=>{const a=[],n=(e,t)=>t==h(s)?v(a,e):null===s[t]?O(e,(e=>n(e,t+1))):y([s[t],null],(s=>n(R(e,s),t+1)));return n(e,0),a})(s,a),(t=>O(t,(t=>R(n,t)[0](e,...a??[],...r))))),e=>l(R(n,e),(([,s,r])=>(N(s,r??[t],void 0,(t=>(H(t,e),I(t)?1:0))),j(n,e),a(e),r))),t=>l(R(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=h(o);i==h(s)?t(e,...o,...n(o)):c(s[i])?y(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=A&&(A=e,B(T,void 0,A))},Q=t=>{(x&&g(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=A&&(K(1),m++,await ee((async()=>{try{const t=await s();g(t)?Q(t):e?F(e):d("Content is not an array: "+t)}catch(t){e&&F(e)}K(0)}))),te),Y=()=>(C&&(r(C),C=void 0),te),Z=async e=>(1!=A&&(K(2),L++,await ee((async()=>{try{await a(P,e)}catch(e){}K(0)}))),te),_=()=>(f&&(e.delListener(f),f=void 0),te),ee=async(...e)=>(v(R($,b),...e),await(async()=>{if(!R(J,b)){for(j(J,b,1);!c(p=S(R($,b)));)try{await p()}catch(e){}j(J,b,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{C=await n((async(e,t)=>{t||e?2!=A&&(K(1),m++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!c(C),save:Z,startAutoSave:async()=>(_(),await Z(),f=e.addDidFinishTransactionListener((()=>{const e=D();z(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!c(f),getStatus:()=>A,addStatusListener:e=>U(e,T),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(R($,b).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:m,saves:L}),...u};return M(te)},G=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),K=n.crypto?e=>n.crypto.getRandomValues(e):e=>w(e,(()=>i(256*o.random()))),Q=(e=16)=>{return t=(e,t)=>e+G[63&t],K(new Uint8Array(e)).reduce(t,"");var t},X=/\/([^?]*)/,Y="S",Z=e=>{return(s=new URL(e.url).pathname,a=X,s?.match(a))?.[1]??t;var s,a},_=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,ee=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),te=()=>ee(426,null,"Upgrade required");class se extends e.DurableObject{#e;constructor(e,s){super(e,s),this.ctx.blockConcurrencyWhile((async()=>await l(await this.createPersister(),(async e=>{const s=((e,s,n,o,i,g,u,h,d={})=>{let y,w=0,v=0,S=0;const b=W(),p=()=>Q(11),C=(e,t,a,n)=>{v++,s(e,t,a,n)},f=async(e,t,s,n)=>new a(((a,o)=>{const c=n+"."+Q(4),l=r((()=>{H(b,c),o(`No response from ${e??"anyone"} to ${c}, `+t)}),i);j(b,c,[e,(e,t)=>{clearTimeout(l),H(b,c),a([e,t,n])}]),C(e,c,t,s)})),M=(e,[t,s])=>{A(t,(([t,s],a)=>{const n=m(e[0],a,U);A(t,(([e,t],s)=>{const a=m(n[0],s,U);A(e,(([e,t],s)=>a[0][s]=z(e,t))),a[1]=F(a[1],t)})),n[1]=F(n[1],s)})),e[1]=F(e[1],s)},L=async(s=null,a,n=p())=>{try{c(a)&&([a,s,n]=await f(null,1,t,n));const[r,o]=a,[i,l]=e.getMergeableContentHashes();let g=U();if(i!=r){const[t,a]=(await f(s,4,e.getMergeableTableHashes(),n))[0];if(g=t,!k(a)){const[t,r]=(await f(s,5,e.getMergeableRowHashes(a),n))[0];if(M(g,t),!k(r)){const t=(await f(s,6,e.getMergeableCellHashes(r),n))[0];M(g,t)}}}return[g,l==o?U():(await f(s,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},T=B(e,(async()=>{const e=await L();return!e||k(e[0][0])&&k(e[1][0])?void 0:e}),(async(t,s)=>s?C(null,p(),3,s):C(null,p(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(w=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(w=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>T.stopSync(),getSynchronizerStats:()=>({sends:v,receives:S}),...d},1);return n(((t,s,a,n)=>{const r=w||T.isAutoLoading();S++,0==a?l(R(b,s),(([e,s])=>c(e)||e==t?s(n,t):0)):2==a&&r?L(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(h):3==a&&r?y?.(void 0,n):l(1==a&&(w||T.isAutoSaving())?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(n):5==a?e.getMergeableRowDiff(n):6==a?e.getMergeableCellDiff(n):7==a?e.getMergeableValueDiff(n):void 0,(e=>{C(t,s,0,e)}))})),T})(e.getStore(),((e,t,s,a)=>this.#t(Y,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>x(e,((e,s)=>{return t(e,...(a=s,T(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),r(s.startSync)}))))}fetch(e){const s=Z(e);return l(_(e),(e=>{const[a,n]=(r=new WebSocketPair,b.values(r));var r,o;return o=this.#s(),0==h(o)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[e,s]),this.onClientId(s,e,1),n.send(P(Y,null,1,t)),ee(101,a)}),te)}webSocketMessage(e,t){l(this.ctx.getTags(e)[0],(s=>this.#t(s,t.toString(),e)))}webSocketClose(e){const[t,s]=this.ctx.getTags(e);this.onClientId(s,t,-1),1==h(this.#s())&&this.onPathId(s,-1)}#t(e,s,a){x(s.toString(),((s,n)=>{const r=D(e,n);this.onMessage(e,s,n),s==t?(e!=Y&&this.#e?.(r),y(this.#s(),(e=>{e!=a&&e.send(r)}))):s==Y?this.#e?.(r):s!=e&&this.#s(s)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return w(this.#s(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,s){}onMessage(e,t,s){}}exports.WsServerDurableObject=se,exports.getWsServerDurableObjectFetch=e=>(t,s)=>_(t)?s[e].get(s[e].idFromName(Z(t))).fetch(t):te();