@evolu/common 8.4.0 → 8.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/Array.d.ts +191 -94
- package/dist/src/Array.d.ts.map +1 -1
- package/dist/src/Array.js +91 -40
- package/dist/src/Assert.d.ts +233 -30
- package/dist/src/Assert.d.ts.map +1 -1
- package/dist/src/Assert.js +151 -30
- package/dist/src/BigInt.d.ts +3 -3
- package/dist/src/BigInt.js +3 -3
- package/dist/src/Brand.d.ts +7 -7
- package/dist/src/Buffer.d.ts +12 -4
- package/dist/src/Buffer.d.ts.map +1 -1
- package/dist/src/Cache.d.ts +8 -3
- package/dist/src/Cache.d.ts.map +1 -1
- package/dist/src/Cache.js +8 -3
- package/dist/src/Callbacks.d.ts +8 -4
- package/dist/src/Callbacks.d.ts.map +1 -1
- package/dist/src/Console.d.ts +45 -30
- package/dist/src/Console.d.ts.map +1 -1
- package/dist/src/Console.js +32 -21
- package/dist/src/Crypto.d.ts +13 -8
- package/dist/src/Crypto.d.ts.map +1 -1
- package/dist/src/Crypto.js +6 -3
- package/dist/src/Eq.d.ts +107 -58
- package/dist/src/Eq.d.ts.map +1 -1
- package/dist/src/Eq.js +308 -112
- package/dist/src/Function.d.ts +54 -24
- package/dist/src/Function.d.ts.map +1 -1
- package/dist/src/Function.js +34 -17
- package/dist/src/Http.d.ts +52 -19
- package/dist/src/Http.d.ts.map +1 -1
- package/dist/src/Identicon.d.ts +9 -4
- package/dist/src/Identicon.d.ts.map +1 -1
- package/dist/src/Identicon.js +9 -4
- package/dist/src/LeakDetector.d.ts.map +1 -1
- package/dist/src/LeakDetector.js +4 -1
- package/dist/src/LockManager.d.ts +12 -10
- package/dist/src/LockManager.d.ts.map +1 -1
- package/dist/src/Lookup.d.ts +4 -2
- package/dist/src/Lookup.d.ts.map +1 -1
- package/dist/src/Lookup.js +5 -2
- package/dist/src/Number.d.ts +28 -24
- package/dist/src/Number.d.ts.map +1 -1
- package/dist/src/Number.js +16 -17
- package/dist/src/Object.d.ts +89 -47
- package/dist/src/Object.d.ts.map +1 -1
- package/dist/src/Object.js +88 -41
- package/dist/src/Option.d.ts +14 -5
- package/dist/src/Option.d.ts.map +1 -1
- package/dist/src/Option.js +14 -5
- package/dist/src/Order.d.ts +12 -12
- package/dist/src/Order.js +12 -12
- package/dist/src/Platform.d.ts +2 -2
- package/dist/src/Platform.js +1 -0
- package/dist/src/Random.d.ts +7 -4
- package/dist/src/Random.d.ts.map +1 -1
- package/dist/src/Redacted.d.ts +13 -6
- package/dist/src/Redacted.d.ts.map +1 -1
- package/dist/src/Redacted.js +4 -2
- package/dist/src/Ref.d.ts +4 -4
- package/dist/src/Relation.d.ts +5 -7
- package/dist/src/Relation.d.ts.map +1 -1
- package/dist/src/Relation.js +3 -3
- package/dist/src/Resource.d.ts +27 -12
- package/dist/src/Resource.d.ts.map +1 -1
- package/dist/src/Resource.js +9 -3
- package/dist/src/Result.d.ts +258 -114
- package/dist/src/Result.d.ts.map +1 -1
- package/dist/src/Result.js +74 -39
- package/dist/src/Schedule.d.ts +233 -116
- package/dist/src/Schedule.d.ts.map +1 -1
- package/dist/src/Schedule.js +204 -110
- package/dist/src/Set.d.ts +43 -24
- package/dist/src/Set.d.ts.map +1 -1
- package/dist/src/Set.js +25 -13
- package/dist/src/Sqlite.d.ts +4 -4
- package/dist/src/Sqlite.d.ts.map +1 -1
- package/dist/src/Sqlite.js +18 -15
- package/dist/src/Store.d.ts.map +1 -1
- package/dist/src/Store.js +3 -1
- package/dist/src/String.d.ts.map +1 -1
- package/dist/src/String.js +1 -1
- package/dist/src/Task.d.ts +555 -264
- package/dist/src/Task.d.ts.map +1 -1
- package/dist/src/Task.js +278 -168
- package/dist/src/Test.d.ts +10 -4
- package/dist/src/Test.d.ts.map +1 -1
- package/dist/src/Test.js +11 -4
- package/dist/src/Time.d.ts +27 -17
- package/dist/src/Time.d.ts.map +1 -1
- package/dist/src/Time.js +25 -8
- package/dist/src/Type.d.ts +1218 -372
- package/dist/src/Type.d.ts.map +1 -1
- package/dist/src/Type.js +1056 -379
- package/dist/src/Types.d.ts +95 -40
- package/dist/src/Types.d.ts.map +1 -1
- package/dist/src/Types.js +13 -4
- package/dist/src/WebSocket.d.ts +14 -6
- package/dist/src/WebSocket.d.ts.map +1 -1
- package/dist/src/WebSocket.js +8 -0
- package/dist/src/Worker.d.ts +10 -6
- package/dist/src/Worker.d.ts.map +1 -1
- package/dist/src/Worker.js +1 -1
- package/dist/src/intl/_en.d.ts +3 -1
- package/dist/src/intl/_en.d.ts.map +1 -1
- package/dist/src/intl/_en.js +17 -3
- package/dist/src/intl/ar.d.ts +3 -1
- package/dist/src/intl/ar.d.ts.map +1 -1
- package/dist/src/intl/ar.js +15 -2
- package/dist/src/intl/bn.d.ts +3 -1
- package/dist/src/intl/bn.d.ts.map +1 -1
- package/dist/src/intl/bn.js +16 -3
- package/dist/src/intl/ca.d.ts +3 -1
- package/dist/src/intl/ca.d.ts.map +1 -1
- package/dist/src/intl/ca.js +16 -3
- package/dist/src/intl/cs.d.ts +3 -1
- package/dist/src/intl/cs.d.ts.map +1 -1
- package/dist/src/intl/cs.js +16 -3
- package/dist/src/intl/da.d.ts +3 -1
- package/dist/src/intl/da.d.ts.map +1 -1
- package/dist/src/intl/da.js +16 -3
- package/dist/src/intl/de.d.ts +3 -1
- package/dist/src/intl/de.d.ts.map +1 -1
- package/dist/src/intl/de.js +16 -3
- package/dist/src/intl/el.d.ts +3 -1
- package/dist/src/intl/el.d.ts.map +1 -1
- package/dist/src/intl/el.js +16 -3
- package/dist/src/intl/es.d.ts +3 -1
- package/dist/src/intl/es.d.ts.map +1 -1
- package/dist/src/intl/es.js +16 -3
- package/dist/src/intl/fa.d.ts +3 -1
- package/dist/src/intl/fa.d.ts.map +1 -1
- package/dist/src/intl/fa.js +16 -3
- package/dist/src/intl/fi.d.ts +3 -1
- package/dist/src/intl/fi.d.ts.map +1 -1
- package/dist/src/intl/fi.js +16 -3
- package/dist/src/intl/fil.d.ts +3 -1
- package/dist/src/intl/fil.d.ts.map +1 -1
- package/dist/src/intl/fil.js +16 -3
- package/dist/src/intl/fr.d.ts +3 -1
- package/dist/src/intl/fr.d.ts.map +1 -1
- package/dist/src/intl/fr.js +16 -3
- package/dist/src/intl/he.d.ts +3 -1
- package/dist/src/intl/he.d.ts.map +1 -1
- package/dist/src/intl/he.js +16 -3
- package/dist/src/intl/hi.d.ts +3 -1
- package/dist/src/intl/hi.d.ts.map +1 -1
- package/dist/src/intl/hi.js +16 -3
- package/dist/src/intl/hr.d.ts +3 -1
- package/dist/src/intl/hr.d.ts.map +1 -1
- package/dist/src/intl/hr.js +16 -3
- package/dist/src/intl/hu.d.ts +2 -1
- package/dist/src/intl/hu.d.ts.map +1 -1
- package/dist/src/intl/hu.js +15 -3
- package/dist/src/intl/id.d.ts +3 -1
- package/dist/src/intl/id.d.ts.map +1 -1
- package/dist/src/intl/id.js +16 -3
- package/dist/src/intl/it.d.ts +3 -1
- package/dist/src/intl/it.d.ts.map +1 -1
- package/dist/src/intl/it.js +16 -3
- package/dist/src/intl/ja.d.ts +3 -1
- package/dist/src/intl/ja.d.ts.map +1 -1
- package/dist/src/intl/ja.js +16 -3
- package/dist/src/intl/ko.d.ts +3 -1
- package/dist/src/intl/ko.d.ts.map +1 -1
- package/dist/src/intl/ko.js +16 -3
- package/dist/src/intl/ml.d.ts +3 -1
- package/dist/src/intl/ml.d.ts.map +1 -1
- package/dist/src/intl/ml.js +16 -3
- package/dist/src/intl/mr.d.ts +3 -1
- package/dist/src/intl/mr.d.ts.map +1 -1
- package/dist/src/intl/mr.js +16 -3
- package/dist/src/intl/ms.d.ts +3 -1
- package/dist/src/intl/ms.d.ts.map +1 -1
- package/dist/src/intl/ms.js +15 -2
- package/dist/src/intl/nb.d.ts +2 -1
- package/dist/src/intl/nb.d.ts.map +1 -1
- package/dist/src/intl/nb.js +14 -2
- package/dist/src/intl/nl.d.ts +3 -1
- package/dist/src/intl/nl.d.ts.map +1 -1
- package/dist/src/intl/nl.js +16 -3
- package/dist/src/intl/pa.d.ts +3 -1
- package/dist/src/intl/pa.d.ts.map +1 -1
- package/dist/src/intl/pa.js +16 -3
- package/dist/src/intl/pl.d.ts +2 -0
- package/dist/src/intl/pl.d.ts.map +1 -1
- package/dist/src/intl/pl.js +15 -2
- package/dist/src/intl/pt-BR.d.ts +3 -1
- package/dist/src/intl/pt-BR.d.ts.map +1 -1
- package/dist/src/intl/pt-BR.js +16 -3
- package/dist/src/intl/pt.d.ts +3 -1
- package/dist/src/intl/pt.d.ts.map +1 -1
- package/dist/src/intl/pt.js +15 -2
- package/dist/src/intl/ro.d.ts +3 -1
- package/dist/src/intl/ro.d.ts.map +1 -1
- package/dist/src/intl/ro.js +16 -3
- package/dist/src/intl/sk.d.ts +3 -1
- package/dist/src/intl/sk.d.ts.map +1 -1
- package/dist/src/intl/sk.js +15 -2
- package/dist/src/intl/sl.d.ts +3 -1
- package/dist/src/intl/sl.d.ts.map +1 -1
- package/dist/src/intl/sl.js +16 -3
- package/dist/src/intl/sv.d.ts +3 -1
- package/dist/src/intl/sv.d.ts.map +1 -1
- package/dist/src/intl/sv.js +16 -3
- package/dist/src/intl/sw.d.ts +1 -0
- package/dist/src/intl/sw.d.ts.map +1 -1
- package/dist/src/intl/sw.js +14 -2
- package/dist/src/intl/ta.d.ts +3 -1
- package/dist/src/intl/ta.d.ts.map +1 -1
- package/dist/src/intl/ta.js +16 -3
- package/dist/src/intl/te.d.ts +3 -1
- package/dist/src/intl/te.d.ts.map +1 -1
- package/dist/src/intl/te.js +16 -3
- package/dist/src/intl/th.d.ts +3 -1
- package/dist/src/intl/th.d.ts.map +1 -1
- package/dist/src/intl/th.js +16 -3
- package/dist/src/intl/tr.d.ts +3 -1
- package/dist/src/intl/tr.d.ts.map +1 -1
- package/dist/src/intl/tr.js +16 -3
- package/dist/src/intl/uk.d.ts +3 -1
- package/dist/src/intl/uk.d.ts.map +1 -1
- package/dist/src/intl/uk.js +16 -3
- package/dist/src/intl/ur.d.ts +3 -1
- package/dist/src/intl/ur.d.ts.map +1 -1
- package/dist/src/intl/ur.js +15 -2
- package/dist/src/intl/vi.d.ts +3 -1
- package/dist/src/intl/vi.d.ts.map +1 -1
- package/dist/src/intl/vi.js +16 -3
- package/dist/src/intl/zh-CN.d.ts +3 -1
- package/dist/src/intl/zh-CN.d.ts.map +1 -1
- package/dist/src/intl/zh-CN.js +16 -3
- package/dist/src/intl/zh-TW.d.ts +3 -1
- package/dist/src/intl/zh-TW.d.ts.map +1 -1
- package/dist/src/intl/zh-TW.js +16 -3
- package/dist/src/local-first/Db.js +3 -2
- package/dist/src/local-first/Evolu.d.ts +47 -24
- package/dist/src/local-first/Evolu.d.ts.map +1 -1
- package/dist/src/local-first/Evolu.js +1 -0
- package/dist/src/local-first/Owner.d.ts +18 -14
- package/dist/src/local-first/Owner.d.ts.map +1 -1
- package/dist/src/local-first/Owner.js +14 -11
- package/dist/src/local-first/Protocol.d.ts +5 -5
- package/dist/src/local-first/Protocol.d.ts.map +1 -1
- package/dist/src/local-first/Protocol.js +35 -29
- package/dist/src/local-first/Query.d.ts +34 -21
- package/dist/src/local-first/Query.d.ts.map +1 -1
- package/dist/src/local-first/Query.js +27 -14
- package/dist/src/local-first/Relay.d.ts +12 -5
- package/dist/src/local-first/Relay.d.ts.map +1 -1
- package/dist/src/local-first/Relay.js +1 -1
- package/dist/src/local-first/Schema.d.ts +19 -11
- package/dist/src/local-first/Schema.d.ts.map +1 -1
- package/dist/src/local-first/Schema.js +11 -6
- package/dist/src/local-first/Shared.d.ts.map +1 -1
- package/dist/src/local-first/Shared.js +4 -2
- package/dist/src/local-first/Storage.d.ts +4 -2
- package/dist/src/local-first/Storage.d.ts.map +1 -1
- package/dist/src/local-first/Timestamp.d.ts.map +1 -1
- package/dist/src/local-first/Timestamp.js +1 -1
- package/package.json +3 -4
- package/src/Array.ts +195 -95
- package/src/Assert.ts +337 -31
- package/src/BigInt.ts +3 -3
- package/src/Brand.ts +7 -7
- package/src/Buffer.ts +12 -4
- package/src/Cache.ts +8 -3
- package/src/Callbacks.ts +8 -4
- package/src/Console.ts +45 -30
- package/src/Crypto.ts +13 -8
- package/src/Eq.ts +450 -122
- package/src/Function.ts +54 -24
- package/src/Http.ts +52 -19
- package/src/Identicon.ts +9 -4
- package/src/LeakDetector.ts +4 -3
- package/src/LockManager.ts +12 -10
- package/src/Lookup.ts +5 -2
- package/src/Number.ts +28 -24
- package/src/Object.ts +115 -49
- package/src/Option.ts +14 -5
- package/src/Order.ts +12 -12
- package/src/Platform.ts +3 -2
- package/src/Random.ts +7 -4
- package/src/Redacted.ts +13 -6
- package/src/Ref.ts +4 -4
- package/src/Relation.ts +8 -10
- package/src/Resource.ts +36 -15
- package/src/Result.ts +263 -119
- package/src/Schedule.ts +233 -116
- package/src/Set.ts +43 -24
- package/src/Sqlite.ts +18 -15
- package/src/Store.ts +3 -1
- package/src/String.ts +1 -1
- package/src/Task.ts +566 -286
- package/src/Test.ts +11 -4
- package/src/Time.ts +36 -19
- package/src/Type.ts +2191 -590
- package/src/Types.ts +108 -40
- package/src/WebSocket.ts +22 -6
- package/src/Worker.ts +11 -7
- package/src/intl/_en.ts +20 -4
- package/src/intl/ar.ts +17 -2
- package/src/intl/bn.ts +19 -4
- package/src/intl/ca.ts +19 -4
- package/src/intl/cs.ts +19 -4
- package/src/intl/da.ts +19 -4
- package/src/intl/de.ts +19 -4
- package/src/intl/el.ts +19 -4
- package/src/intl/es.ts +19 -4
- package/src/intl/fa.ts +19 -4
- package/src/intl/fi.ts +19 -4
- package/src/intl/fil.ts +19 -4
- package/src/intl/fr.ts +19 -4
- package/src/intl/he.ts +19 -4
- package/src/intl/hi.ts +19 -4
- package/src/intl/hr.ts +19 -4
- package/src/intl/hu.ts +18 -4
- package/src/intl/id.ts +19 -4
- package/src/intl/it.ts +19 -4
- package/src/intl/ja.ts +19 -4
- package/src/intl/ko.ts +19 -4
- package/src/intl/ml.ts +19 -4
- package/src/intl/mr.ts +19 -4
- package/src/intl/ms.ts +17 -2
- package/src/intl/nb.ts +16 -2
- package/src/intl/nl.ts +19 -4
- package/src/intl/pa.ts +19 -4
- package/src/intl/pl.ts +18 -2
- package/src/intl/pt-BR.ts +19 -4
- package/src/intl/pt.ts +17 -2
- package/src/intl/ro.ts +19 -4
- package/src/intl/sk.ts +17 -2
- package/src/intl/sl.ts +19 -4
- package/src/intl/sv.ts +19 -4
- package/src/intl/sw.ts +15 -2
- package/src/intl/ta.ts +19 -4
- package/src/intl/te.ts +19 -4
- package/src/intl/th.ts +19 -4
- package/src/intl/tr.ts +19 -4
- package/src/intl/uk.ts +19 -4
- package/src/intl/ur.ts +17 -2
- package/src/intl/vi.ts +19 -3
- package/src/intl/zh-CN.ts +19 -4
- package/src/intl/zh-TW.ts +19 -4
- package/src/local-first/Db.ts +2 -1
- package/src/local-first/Evolu.ts +48 -24
- package/src/local-first/Owner.ts +18 -14
- package/src/local-first/Protocol.ts +45 -35
- package/src/local-first/Query.ts +40 -24
- package/src/local-first/Relay.ts +13 -6
- package/src/local-first/Schema.ts +19 -11
- package/src/local-first/Shared.ts +4 -2
- package/src/local-first/Storage.ts +4 -2
- package/src/local-first/Timestamp.ts +1 -1
package/dist/src/Types.d.ts
CHANGED
|
@@ -11,7 +11,12 @@
|
|
|
11
11
|
* ### Completion callbacks
|
|
12
12
|
*
|
|
13
13
|
* ```ts
|
|
14
|
-
* import {
|
|
14
|
+
* import {
|
|
15
|
+
* assertEqual,
|
|
16
|
+
* ok,
|
|
17
|
+
* type Callback,
|
|
18
|
+
* type Result,
|
|
19
|
+
* } from "@evolu/common";
|
|
15
20
|
*
|
|
16
21
|
* const completedValues: Array<string> = [];
|
|
17
22
|
* const onComplete: Callback<string> = (value) => {
|
|
@@ -25,7 +30,7 @@
|
|
|
25
30
|
* onComplete("direct");
|
|
26
31
|
* for (const callback of queue) callback(ok("queued"));
|
|
27
32
|
*
|
|
28
|
-
*
|
|
33
|
+
* assertEqual(completedValues, ["direct", "queued"]);
|
|
29
34
|
* ```
|
|
30
35
|
*/
|
|
31
36
|
export type Callback<T> = (value: T) => void;
|
|
@@ -37,7 +42,7 @@ export type Callback<T> = (value: T) => void;
|
|
|
37
42
|
* ### Subscription teardown
|
|
38
43
|
*
|
|
39
44
|
* ```ts
|
|
40
|
-
* import type
|
|
45
|
+
* import { assertEqual, type CallbackWithTeardown } from "@evolu/common";
|
|
41
46
|
*
|
|
42
47
|
* interface EventSource {
|
|
43
48
|
* readonly start: () => void;
|
|
@@ -46,8 +51,12 @@ export type Callback<T> = (value: T) => void;
|
|
|
46
51
|
*
|
|
47
52
|
* const events: Array<string> = [];
|
|
48
53
|
* const source: EventSource = {
|
|
49
|
-
* start: () =>
|
|
50
|
-
*
|
|
54
|
+
* start: () => {
|
|
55
|
+
* events.push("started");
|
|
56
|
+
* },
|
|
57
|
+
* stop: () => {
|
|
58
|
+
* events.push("stopped");
|
|
59
|
+
* },
|
|
51
60
|
* };
|
|
52
61
|
* const subscribe: CallbackWithTeardown<EventSource> = (source) => {
|
|
53
62
|
* source.start();
|
|
@@ -56,7 +65,7 @@ export type Callback<T> = (value: T) => void;
|
|
|
56
65
|
* const teardown = subscribe(source);
|
|
57
66
|
* if (teardown) teardown();
|
|
58
67
|
*
|
|
59
|
-
*
|
|
68
|
+
* assertEqual(events, ["started", "stopped"]);
|
|
60
69
|
* ```
|
|
61
70
|
*/
|
|
62
71
|
export type CallbackWithTeardown<T> = (value: T) => void | (() => void);
|
|
@@ -68,11 +77,11 @@ export type CallbackWithTeardown<T> = (value: T) => void | (() => void);
|
|
|
68
77
|
* ### Filtering values
|
|
69
78
|
*
|
|
70
79
|
* ```ts
|
|
71
|
-
* import type
|
|
80
|
+
* import { assertEqual, type Predicate } from "@evolu/common";
|
|
72
81
|
*
|
|
73
82
|
* const isEven: Predicate<number> = (n) => n % 2 === 0;
|
|
74
83
|
*
|
|
75
|
-
*
|
|
84
|
+
* assertEqual([1, 2, 3, 4].filter(isEven), [2, 4]);
|
|
76
85
|
* ```
|
|
77
86
|
*/
|
|
78
87
|
export type Predicate<T> = (value: T) => boolean;
|
|
@@ -84,12 +93,12 @@ export type Predicate<T> = (value: T) => boolean;
|
|
|
84
93
|
* ### Filtering by position
|
|
85
94
|
*
|
|
86
95
|
* ```ts
|
|
87
|
-
* import type
|
|
96
|
+
* import { assertEqual, type PredicateWithIndex } from "@evolu/common";
|
|
88
97
|
*
|
|
89
|
-
* const isEvenIndex: PredicateWithIndex<string> = (
|
|
98
|
+
* const isEvenIndex: PredicateWithIndex<string> = (_value, index) =>
|
|
90
99
|
* index % 2 === 0;
|
|
91
100
|
*
|
|
92
|
-
*
|
|
101
|
+
* assertEqual(["a", "b", "c", "d"].filter(isEvenIndex), ["a", "c"]);
|
|
93
102
|
* ```
|
|
94
103
|
*/
|
|
95
104
|
export type PredicateWithIndex<T> = (value: T, index: number) => boolean;
|
|
@@ -99,7 +108,7 @@ export type PredicateWithIndex<T> = (value: T, index: number) => boolean;
|
|
|
99
108
|
* ### Narrowing a value
|
|
100
109
|
*
|
|
101
110
|
* ```ts
|
|
102
|
-
* import type
|
|
111
|
+
* import { assert, assertEqual, type Refinement } from "@evolu/common";
|
|
103
112
|
*
|
|
104
113
|
* interface Animal {
|
|
105
114
|
* readonly name: string;
|
|
@@ -112,9 +121,9 @@ export type PredicateWithIndex<T> = (value: T, index: number) => boolean;
|
|
|
112
121
|
* "breed" in animal;
|
|
113
122
|
* const dog: Dog = { name: "Dog", breed: "Beagle" };
|
|
114
123
|
* const animal: Animal = dog;
|
|
115
|
-
*
|
|
124
|
+
* assert(isDog(animal), "Expected a dog.");
|
|
116
125
|
*
|
|
117
|
-
*
|
|
126
|
+
* assertEqual(animal.breed, "Beagle");
|
|
118
127
|
* ```
|
|
119
128
|
*/
|
|
120
129
|
export type Refinement<in A, out B extends A> = (a: A) => a is B;
|
|
@@ -128,7 +137,12 @@ export type Refinement<in A, out B extends A> = (a: A) => a is B;
|
|
|
128
137
|
* ### Indexed refinement
|
|
129
138
|
*
|
|
130
139
|
* ```ts
|
|
131
|
-
* import {
|
|
140
|
+
* import {
|
|
141
|
+
* assertTrue,
|
|
142
|
+
* assertType,
|
|
143
|
+
* partitionArray,
|
|
144
|
+
* type RefinementWithIndex,
|
|
145
|
+
* } from "@evolu/common";
|
|
132
146
|
*
|
|
133
147
|
* type Item = {
|
|
134
148
|
* readonly type: "number" | "string";
|
|
@@ -146,9 +160,9 @@ export type Refinement<in A, out B extends A> = (a: A) => a is B;
|
|
|
146
160
|
* ];
|
|
147
161
|
* const [numbers, others] = partitionArray(items, isNumberItem);
|
|
148
162
|
*
|
|
149
|
-
*
|
|
150
|
-
*
|
|
151
|
-
*
|
|
163
|
+
* assertType<ReadonlyArray<NumberItem>, typeof numbers>();
|
|
164
|
+
* assertTrue(numbers[0]?.value === 2);
|
|
165
|
+
* assertTrue(others[0]?.value === 1);
|
|
152
166
|
* ```
|
|
153
167
|
*/
|
|
154
168
|
export type RefinementWithIndex<in A, out B extends A> = (a: A, index: number) => a is B;
|
|
@@ -167,7 +181,7 @@ export type RefinementWithIndex<in A, out B extends A> = (a: A, index: number) =
|
|
|
167
181
|
* ### Adding runtime identity
|
|
168
182
|
*
|
|
169
183
|
* ```ts
|
|
170
|
-
* import { instance, type Instance } from "@evolu/common";
|
|
184
|
+
* import { assertEqual, instance, type Instance } from "@evolu/common";
|
|
171
185
|
*
|
|
172
186
|
* interface Foo extends Instance<"Foo"> {
|
|
173
187
|
* readonly value: string;
|
|
@@ -178,7 +192,7 @@ export type RefinementWithIndex<in A, out B extends A> = (a: A, index: number) =
|
|
|
178
192
|
* value: "value",
|
|
179
193
|
* };
|
|
180
194
|
*
|
|
181
|
-
*
|
|
195
|
+
* assertEqual(foo["~evolu/instance"], "Foo");
|
|
182
196
|
* ```
|
|
183
197
|
*/
|
|
184
198
|
export interface Instance<Name extends string> {
|
|
@@ -198,7 +212,12 @@ export declare const instance: <const Name extends string>(name: Name) => Instan
|
|
|
198
212
|
* ### Checking runtime identity
|
|
199
213
|
*
|
|
200
214
|
* ```ts
|
|
201
|
-
* import {
|
|
215
|
+
* import {
|
|
216
|
+
* assertTrue,
|
|
217
|
+
* instance,
|
|
218
|
+
* isInstance,
|
|
219
|
+
* type Instance,
|
|
220
|
+
* } from "@evolu/common";
|
|
202
221
|
*
|
|
203
222
|
* interface Foo extends Instance<"Foo"> {
|
|
204
223
|
* readonly value: string;
|
|
@@ -207,7 +226,7 @@ export declare const instance: <const Name extends string>(name: Name) => Instan
|
|
|
207
226
|
* const isFoo = isInstance<Foo>("Foo");
|
|
208
227
|
* const value: unknown = { ...instance("Foo"), value: "value" };
|
|
209
228
|
*
|
|
210
|
-
*
|
|
229
|
+
* assertTrue(isFoo(value));
|
|
211
230
|
* ```
|
|
212
231
|
*/
|
|
213
232
|
export declare const isInstance: <Value extends Instance<string>>(name: Value["~evolu/instance"]) => (value: unknown) => value is Value;
|
|
@@ -220,17 +239,20 @@ export declare const isInstance: <Value extends Instance<string>>(name: Value["~
|
|
|
220
239
|
* ### Optional nullable properties
|
|
221
240
|
*
|
|
222
241
|
* ```ts
|
|
223
|
-
* import type
|
|
242
|
+
* import { assertType, type NullablePartial } from "@evolu/common";
|
|
224
243
|
*
|
|
225
244
|
* type Example = {
|
|
226
245
|
* required: string;
|
|
227
246
|
* optionalWithNull: string | null;
|
|
228
247
|
* };
|
|
229
248
|
*
|
|
230
|
-
*
|
|
231
|
-
*
|
|
232
|
-
*
|
|
233
|
-
*
|
|
249
|
+
* assertType<
|
|
250
|
+
* {
|
|
251
|
+
* required: string;
|
|
252
|
+
* optionalWithNull?: string | null;
|
|
253
|
+
* },
|
|
254
|
+
* NullablePartial<Example>
|
|
255
|
+
* >();
|
|
234
256
|
* ```
|
|
235
257
|
*/
|
|
236
258
|
export type NullablePartial<T, NK extends keyof T = {
|
|
@@ -272,15 +294,18 @@ export type Writable<T> = {
|
|
|
272
294
|
* ### Flattening an intersection
|
|
273
295
|
*
|
|
274
296
|
* ```ts
|
|
275
|
-
* import type
|
|
297
|
+
* import { assertType, type Simplify } from "@evolu/common";
|
|
276
298
|
*
|
|
277
299
|
* type A = { a: string } & { b: number };
|
|
278
300
|
* type B = Simplify<A>;
|
|
279
301
|
*
|
|
280
|
-
*
|
|
281
|
-
*
|
|
282
|
-
*
|
|
283
|
-
*
|
|
302
|
+
* assertType<
|
|
303
|
+
* {
|
|
304
|
+
* a: string;
|
|
305
|
+
* b: number;
|
|
306
|
+
* },
|
|
307
|
+
* B
|
|
308
|
+
* >();
|
|
284
309
|
* ```
|
|
285
310
|
*/
|
|
286
311
|
export type Simplify<T> = {
|
|
@@ -300,7 +325,11 @@ export type PartialProp<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>
|
|
|
300
325
|
* ### Sync and async completion
|
|
301
326
|
*
|
|
302
327
|
* ```ts
|
|
303
|
-
* import {
|
|
328
|
+
* import {
|
|
329
|
+
* assertEqual,
|
|
330
|
+
* isPromiseLike,
|
|
331
|
+
* type Awaitable,
|
|
332
|
+
* } from "@evolu/common";
|
|
304
333
|
*
|
|
305
334
|
* const cache = new Map([["cached", "from cache"]]);
|
|
306
335
|
* const getData = (id: string): Awaitable<string> =>
|
|
@@ -310,8 +339,8 @@ export type PartialProp<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>
|
|
|
310
339
|
* const result = getData("cached");
|
|
311
340
|
* const cached = isPromiseLike(result) ? await result : result;
|
|
312
341
|
*
|
|
313
|
-
*
|
|
314
|
-
*
|
|
342
|
+
* assertEqual(fetched, "fetched missing");
|
|
343
|
+
* assertEqual(cached, "from cache");
|
|
315
344
|
* ```
|
|
316
345
|
*/
|
|
317
346
|
export type Awaitable<T> = T | PromiseLike<T>;
|
|
@@ -324,7 +353,11 @@ export type Awaitable<T> = T | PromiseLike<T>;
|
|
|
324
353
|
* ### Conditional awaiting
|
|
325
354
|
*
|
|
326
355
|
* ```ts
|
|
327
|
-
* import {
|
|
356
|
+
* import {
|
|
357
|
+
* assertTrue,
|
|
358
|
+
* isPromiseLike,
|
|
359
|
+
* type Awaitable,
|
|
360
|
+
* } from "@evolu/common";
|
|
328
361
|
*
|
|
329
362
|
* const cache = new Map([["cached", true]]);
|
|
330
363
|
* const validate = (id: string): Awaitable<boolean> =>
|
|
@@ -333,12 +366,33 @@ export type Awaitable<T> = T | PromiseLike<T>;
|
|
|
333
366
|
* const result = validate("cached");
|
|
334
367
|
* const isValid = isPromiseLike(result) ? await result : result;
|
|
335
368
|
*
|
|
336
|
-
*
|
|
369
|
+
* assertTrue(isValid);
|
|
337
370
|
* ```
|
|
338
371
|
*/
|
|
339
372
|
export declare const isPromiseLike: <T>(value: Awaitable<T>) => value is PromiseLike<T>;
|
|
340
373
|
/** Creates a readable compiler-facing error message. */
|
|
341
374
|
export type CompileTimeError<Context extends string, Message extends string> = `⛔ ${Context} error: ${Message}`;
|
|
375
|
+
/**
|
|
376
|
+
* Returns whether two types are identical according to TypeScript.
|
|
377
|
+
*
|
|
378
|
+
* Unlike mutual assignability, this distinguishes narrower literals, `any`,
|
|
379
|
+
* `unknown`, `never`, optional properties, and readonly properties.
|
|
380
|
+
* Intersection types are not normalized; apply {@link Simplify} explicitly when
|
|
381
|
+
* normalization is part of the intended comparison.
|
|
382
|
+
*
|
|
383
|
+
* ### Exact type equality
|
|
384
|
+
*
|
|
385
|
+
* ```ts
|
|
386
|
+
* import { assertType, type IsSameType } from "@evolu/common";
|
|
387
|
+
*
|
|
388
|
+
* assertType<
|
|
389
|
+
* true,
|
|
390
|
+
* IsSameType<{ readonly id: string }, { readonly id: string }>
|
|
391
|
+
* >();
|
|
392
|
+
* assertType<false, IsSameType<"ready", string>>();
|
|
393
|
+
* ```
|
|
394
|
+
*/
|
|
395
|
+
export type IsSameType<A, B> = (<T>() => T extends (A & T) | T ? true : false) extends <T>() => (T extends (B & T) | T ? true : false) ? [A] extends [never] ? [B] extends [never] ? true : false : [B] extends [never] ? false : true : false;
|
|
342
396
|
/** Returns whether a type is a union. */
|
|
343
397
|
export type IsUnion<T, Whole = T> = [T] extends [never] ? false : T extends Whole ? [Whole] extends [T] ? false : true : never;
|
|
344
398
|
/** Returns every property key present in any member of a union. */
|
|
@@ -356,7 +410,7 @@ export type ParameterIntersection<T> = [T] extends [(value: infer I) => void] ?
|
|
|
356
410
|
* ### Preserving discriminated unions
|
|
357
411
|
*
|
|
358
412
|
* ```ts
|
|
359
|
-
* import type
|
|
413
|
+
* import { assertType, type DistributiveOmit } from "@evolu/common";
|
|
360
414
|
*
|
|
361
415
|
* type Event =
|
|
362
416
|
* | { type: "a"; a: string; shared: number }
|
|
@@ -364,8 +418,9 @@ export type ParameterIntersection<T> = [T] extends [(value: infer I) => void] ?
|
|
|
364
418
|
*
|
|
365
419
|
* type Payload = DistributiveOmit<Event, "shared">;
|
|
366
420
|
*
|
|
367
|
-
*
|
|
368
|
-
* { type: "a"; a: string } | { type: "b"; b: number }
|
|
421
|
+
* assertType<
|
|
422
|
+
* { type: "a"; a: string } | { type: "b"; b: number },
|
|
423
|
+
* Payload
|
|
369
424
|
* >();
|
|
370
425
|
* ```
|
|
371
426
|
*/
|
package/dist/src/Types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../src/Types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH
|
|
1
|
+
{"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../src/Types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Types.js
CHANGED
|
@@ -17,7 +17,12 @@ export const instance = (name) => ({ "~evolu/instance": name });
|
|
|
17
17
|
* ### Checking runtime identity
|
|
18
18
|
*
|
|
19
19
|
* ```ts
|
|
20
|
-
* import {
|
|
20
|
+
* import {
|
|
21
|
+
* assertTrue,
|
|
22
|
+
* instance,
|
|
23
|
+
* isInstance,
|
|
24
|
+
* type Instance,
|
|
25
|
+
* } from "@evolu/common";
|
|
21
26
|
*
|
|
22
27
|
* interface Foo extends Instance<"Foo"> {
|
|
23
28
|
* readonly value: string;
|
|
@@ -26,7 +31,7 @@ export const instance = (name) => ({ "~evolu/instance": name });
|
|
|
26
31
|
* const isFoo = isInstance<Foo>("Foo");
|
|
27
32
|
* const value: unknown = { ...instance("Foo"), value: "value" };
|
|
28
33
|
*
|
|
29
|
-
*
|
|
34
|
+
* assertTrue(isFoo(value));
|
|
30
35
|
* ```
|
|
31
36
|
*/
|
|
32
37
|
export const isInstance = (name) => (value) => value !== null &&
|
|
@@ -42,7 +47,11 @@ export const isInstance = (name) => (value) => value !== null &&
|
|
|
42
47
|
* ### Conditional awaiting
|
|
43
48
|
*
|
|
44
49
|
* ```ts
|
|
45
|
-
* import {
|
|
50
|
+
* import {
|
|
51
|
+
* assertTrue,
|
|
52
|
+
* isPromiseLike,
|
|
53
|
+
* type Awaitable,
|
|
54
|
+
* } from "@evolu/common";
|
|
46
55
|
*
|
|
47
56
|
* const cache = new Map([["cached", true]]);
|
|
48
57
|
* const validate = (id: string): Awaitable<boolean> =>
|
|
@@ -51,7 +60,7 @@ export const isInstance = (name) => (value) => value !== null &&
|
|
|
51
60
|
* const result = validate("cached");
|
|
52
61
|
* const isValid = isPromiseLike(result) ? await result : result;
|
|
53
62
|
*
|
|
54
|
-
*
|
|
63
|
+
* assertTrue(isValid);
|
|
55
64
|
* ```
|
|
56
65
|
*/
|
|
57
66
|
export const isPromiseLike = (value) => typeof value?.then === "function";
|
package/dist/src/WebSocket.d.ts
CHANGED
|
@@ -46,6 +46,10 @@ import { type Typed } from "./Type.ts";
|
|
|
46
46
|
*
|
|
47
47
|
* ```ts
|
|
48
48
|
* import {
|
|
49
|
+
* assert,
|
|
50
|
+
* assertEqual,
|
|
51
|
+
* assertOk,
|
|
52
|
+
* assertTrue,
|
|
49
53
|
* createRun,
|
|
50
54
|
* createWebSocket,
|
|
51
55
|
* testCreateWebSocket,
|
|
@@ -63,9 +67,6 @@ import { type Typed } from "./Type.ts";
|
|
|
63
67
|
* createSocket("wss://example.com", {
|
|
64
68
|
* protocols: ["evolu"],
|
|
65
69
|
* binaryType: "arraybuffer",
|
|
66
|
-
* onOpen: () => console.log("Connected"),
|
|
67
|
-
* onMessage: (data) => console.log("Received:", data),
|
|
68
|
-
* onClose: () => console.log("Disconnected"),
|
|
69
70
|
* }),
|
|
70
71
|
* );
|
|
71
72
|
* return socket.send("Hello");
|
|
@@ -74,10 +75,17 @@ import { type Typed } from "./Type.ts";
|
|
|
74
75
|
* const socketFactory = testCreateWebSocket();
|
|
75
76
|
* await using run = createRun();
|
|
76
77
|
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
78
|
+
* assertOk(await run(connectAndSend(socketFactory)), undefined);
|
|
79
|
+
* assertTrue(socketFactory.sentMessages.length === 1);
|
|
80
|
+
* const message = socketFactory.sentMessages[0];
|
|
81
|
+
* assert(
|
|
82
|
+
* message !== undefined && typeof message.data === "string",
|
|
83
|
+
* "Expected a text message.",
|
|
84
|
+
* );
|
|
85
|
+
* assertEqual(
|
|
86
|
+
* { url: message.url, data: message.data },
|
|
79
87
|
* { url: "wss://example.com", data: "Hello" },
|
|
80
|
-
*
|
|
88
|
+
* );
|
|
81
89
|
* ```
|
|
82
90
|
*/
|
|
83
91
|
export interface WebSocket extends AsyncDisposable {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocket.d.ts","sourceRoot":"","sources":["../../src/WebSocket.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAmC,KAAK,KAAK,EAAE,MAAM,WAAW,CAAC;AAExE
|
|
1
|
+
{"version":3,"file":"WebSocket.d.ts","sourceRoot":"","sources":["../../src/WebSocket.ts"],"names":[],"mappings":"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"}
|
package/dist/src/WebSocket.js
CHANGED
|
@@ -79,9 +79,13 @@ export const createWebSocket = (url, { protocols, binaryType, onOpen, onClose, s
|
|
|
79
79
|
const closeSocket = () => {
|
|
80
80
|
if (!socket)
|
|
81
81
|
return;
|
|
82
|
+
// oxlint-disable-next-line unicorn/prefer-add-event-listener -- This adapter owns and clears one handler.
|
|
82
83
|
socket.onopen = null;
|
|
84
|
+
// oxlint-disable-next-line unicorn/prefer-add-event-listener -- This adapter owns and clears one handler.
|
|
83
85
|
socket.onclose = null;
|
|
86
|
+
// oxlint-disable-next-line unicorn/prefer-add-event-listener -- This adapter owns and clears one handler.
|
|
84
87
|
socket.onmessage = null;
|
|
88
|
+
// oxlint-disable-next-line unicorn/prefer-add-event-listener -- This adapter owns and clears one handler.
|
|
85
89
|
socket.onerror = null;
|
|
86
90
|
if (socket.readyState !== socket.CLOSING &&
|
|
87
91
|
socket.readyState !== socket.CLOSED) {
|
|
@@ -99,10 +103,12 @@ export const createWebSocket = (url, { protocols, binaryType, onOpen, onClose, s
|
|
|
99
103
|
if (binaryType)
|
|
100
104
|
socket.binaryType = binaryType;
|
|
101
105
|
let isOpen = false;
|
|
106
|
+
// oxlint-disable-next-line unicorn/prefer-add-event-listener -- This adapter owns and clears one handler.
|
|
102
107
|
socket.onopen = () => {
|
|
103
108
|
isOpen = true;
|
|
104
109
|
onOpen?.();
|
|
105
110
|
};
|
|
111
|
+
// oxlint-disable-next-line unicorn/prefer-add-event-listener -- This adapter owns and clears one handler.
|
|
106
112
|
socket.onclose = (event) => {
|
|
107
113
|
onClose?.(event);
|
|
108
114
|
if (shouldRetryOnClose(event)) {
|
|
@@ -112,9 +118,11 @@ export const createWebSocket = (url, { protocols, binaryType, onOpen, onClose, s
|
|
|
112
118
|
resolve(ok());
|
|
113
119
|
}
|
|
114
120
|
};
|
|
121
|
+
// oxlint-disable-next-line unicorn/prefer-add-event-listener -- This adapter owns and clears one handler.
|
|
115
122
|
socket.onmessage = (event) => {
|
|
116
123
|
onMessage?.(event.data);
|
|
117
124
|
};
|
|
125
|
+
// oxlint-disable-next-line unicorn/prefer-add-event-listener -- This adapter owns and clears one handler.
|
|
118
126
|
socket.onerror = (event) => {
|
|
119
127
|
const error = isOpen
|
|
120
128
|
? { type: "WebSocketConnectionError", event }
|
package/dist/src/Worker.d.ts
CHANGED
|
@@ -51,6 +51,7 @@ export interface MessagePort<Input, Output = never> extends Disposable {
|
|
|
51
51
|
*
|
|
52
52
|
* ```ts
|
|
53
53
|
* import {
|
|
54
|
+
* assertType,
|
|
54
55
|
* createMessageChannel,
|
|
55
56
|
* type NativeMessagePort,
|
|
56
57
|
* } from "@evolu/common";
|
|
@@ -66,9 +67,7 @@ export interface MessagePort<Input, Output = never> extends Disposable {
|
|
|
66
67
|
* port: consoleChannel.port1.native,
|
|
67
68
|
* };
|
|
68
69
|
*
|
|
69
|
-
*
|
|
70
|
-
* NativeMessagePort<ConsoleMessage>
|
|
71
|
-
* >();
|
|
70
|
+
* assertType<NativeMessagePort<ConsoleMessage>, typeof init.port>();
|
|
72
71
|
* ```
|
|
73
72
|
*/
|
|
74
73
|
readonly native: NativeMessagePort<Input, Output>;
|
|
@@ -119,6 +118,7 @@ export type WorkerDeps = ConsoleDep & ConsoleStoreOutputEntryDep & CreateMessage
|
|
|
119
118
|
*
|
|
120
119
|
* ```ts
|
|
121
120
|
* import {
|
|
121
|
+
* assertEqual,
|
|
122
122
|
* createMessageChannel,
|
|
123
123
|
* createMessagePort,
|
|
124
124
|
* createSharedWorker,
|
|
@@ -156,14 +156,18 @@ export type WorkerDeps = ConsoleDep & ConsoleStoreOutputEntryDep & CreateMessage
|
|
|
156
156
|
* ]);
|
|
157
157
|
* queryChannel.port1.postMessage({ text: "all todos" });
|
|
158
158
|
*
|
|
159
|
-
*
|
|
159
|
+
* assertEqual(await response.promise, { rows: ["all todos"] });
|
|
160
160
|
* ```
|
|
161
161
|
*
|
|
162
162
|
* On the worker side, attach the handler after asynchronous initialization;
|
|
163
163
|
* messages sent earlier remain queued:
|
|
164
164
|
*
|
|
165
165
|
* ```ts
|
|
166
|
-
* import {
|
|
166
|
+
* import {
|
|
167
|
+
* assertEqual,
|
|
168
|
+
* createMessageChannel,
|
|
169
|
+
* createMessagePort,
|
|
170
|
+
* } from "@evolu/common";
|
|
167
171
|
*
|
|
168
172
|
* interface Query {
|
|
169
173
|
* readonly text: string;
|
|
@@ -184,7 +188,7 @@ export type WorkerDeps = ConsoleDep & ConsoleStoreOutputEntryDep & CreateMessage
|
|
|
184
188
|
* };
|
|
185
189
|
* await allReceived.promise;
|
|
186
190
|
*
|
|
187
|
-
*
|
|
191
|
+
* assertEqual(received, [
|
|
188
192
|
* { text: "all todos" },
|
|
189
193
|
* { text: "completed todos" },
|
|
190
194
|
* ]);
|
package/dist/src/Worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../../src/Worker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAG3E;;;;GAIG;AACH,MAAM,WAAW,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAE,SAAQ,WAAW,CAChE,KAAK,EACL,MAAM,CACP;CAAG;AAEJ;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAE,SAAQ,UAAU;IACrE,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAE,SAAQ,UAAU;IACpE,QAAQ,CAAC,WAAW,EAAE,CACpB,OAAO,EAAE,KAAK,EACd,QAAQ,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,KACnC,IAAI,CAAC;IAEV;;;;;OAKG;IACH,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAE9C
|
|
1
|
+
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../../src/Worker.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Worker.js
CHANGED
|
@@ -183,7 +183,7 @@ export const createBroadcastChannel = (name) => {
|
|
|
183
183
|
postMessage: (message) => {
|
|
184
184
|
const dispatches = broadcastChannelDispatchesByName.get(name);
|
|
185
185
|
assert(dispatches, "Expected broadcast channel dispatches");
|
|
186
|
-
for (const otherDispatch of
|
|
186
|
+
for (const otherDispatch of dispatches) {
|
|
187
187
|
if (otherDispatch === dispatch)
|
|
188
188
|
continue;
|
|
189
189
|
scheduleWorkerTask(() => {
|
package/dist/src/intl/_en.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @module
|
|
14
14
|
*/
|
|
15
|
-
import type { ArrayError, Base64UrlError, BetweenError, CapitalizedError, DateIsoError, DateIsoFromDateError, DecimalStringError, DiscriminatedUnionError, EvoluTypeError, FiniteError, GreaterThanError, GreaterThanOrEqualToError, InstanceOfError, Int64Error, Int64StringError, IntError, IdError, JsonError, JsonValueError, LengthError, LessThanError, LessThanOrEqualToError, LiteralError, MaxLengthError, MinLengthError, MnemonicError, MultipleOfError, NegativeDecimalStringError, NegativeError, NameError, NeverError, NonNaNError, NonNegativeDecimalStringError, NonNegativeError, NonPositiveDecimalStringError, NonPositiveError, ObjectError, ObjectTagError, PositiveDecimalStringError, PositiveError, RecordError, RegexError, SetError, TableIdError, TemplateLiteralError, TrimmedError, TupleElementsError, TupleError, TypeError, TypeErrorFormatter, TypeOfError, UInt64Error, UnionError } from "../Type.ts";
|
|
15
|
+
import type { ArrayError, Base64UrlError, BetweenError, CapitalizedError, DateIsoError, DateIsoFromDateError, DecimalStringError, DiscriminatedUnionError, EvoluTypeError, FiniteError, GreaterThanError, GreaterThanOrEqualToError, InstanceOfError, Int64Error, Int64StringError, IntError, IdError, JsonError, JsonValueError, LengthError, LessThanError, LessThanOrEqualToError, LiteralError, MapError, MaxLengthError, MinLengthError, MnemonicError, MultipleOfError, NegativeDecimalStringError, NegativeError, NameError, NeverError, NonNaNError, NonNegativeDecimalStringError, NonNegativeError, NonPositiveDecimalStringError, NonPositiveError, ObjectError, ObjectTagError, PositiveDecimalStringError, PositiveError, RecordError, RegexError, SetError, TableIdError, TemplateLiteralError, TrimmedError, TupleElementsError, TupleError, TypeError, TypeErrorFormatter, TypeOfError, UInt64Error, UnionError } from "../Type.ts";
|
|
16
16
|
/** Formats a NeverError in English. */
|
|
17
17
|
export declare const formatNeverError: TypeErrorFormatter<NeverError>;
|
|
18
18
|
/** Formats a String TypeOfError in English. */
|
|
@@ -111,6 +111,8 @@ export declare const formatBetweenError: TypeErrorFormatter<BetweenError>;
|
|
|
111
111
|
export declare const formatArrayError: TypeErrorFormatter<ArrayError>;
|
|
112
112
|
/** Formats a SetError in English. */
|
|
113
113
|
export declare const formatSetError: TypeErrorFormatter<SetError>;
|
|
114
|
+
/** Formats a MapError in English. */
|
|
115
|
+
export declare const formatMapError: TypeErrorFormatter<MapError>;
|
|
114
116
|
/** Formats a TupleError in English. */
|
|
115
117
|
export declare const formatTupleError: TypeErrorFormatter<TupleError | TupleElementsError<TypeError>>;
|
|
116
118
|
/** Formats a RecordError in English. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_en.d.ts","sourceRoot":"","sources":["../../../src/intl/_en.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_en.d.ts","sourceRoot":"","sources":["../../../src/intl/_en.ts"],"names":[],"mappings":"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"}
|
package/dist/src/intl/_en.js
CHANGED
|
@@ -137,9 +137,6 @@ export const formatSetError = (error) => {
|
|
|
137
137
|
if (error.reason.kind === "NotSet") {
|
|
138
138
|
return `A value ${safelyStringifyUnknownValue(error.reason.value)} is not a Set.`;
|
|
139
139
|
}
|
|
140
|
-
if (error.reason.kind === "UnexpectedPrototype") {
|
|
141
|
-
return "The value is an instance of a Set subclass, but a Set Output must be a direct Set instance.";
|
|
142
|
-
}
|
|
143
140
|
const issue = error.reason.issues[0];
|
|
144
141
|
switch (issue.kind) {
|
|
145
142
|
case "ExcessProperty":
|
|
@@ -148,6 +145,23 @@ export const formatSetError = (error) => {
|
|
|
148
145
|
return `A Set element at index ${issue.index} is invalid.`;
|
|
149
146
|
}
|
|
150
147
|
};
|
|
148
|
+
/** Formats a MapError in English. */
|
|
149
|
+
export const formatMapError = (error) => {
|
|
150
|
+
if (error.reason.kind === "NotMap") {
|
|
151
|
+
return `A value ${safelyStringifyUnknownValue(error.reason.value)} is not a Map.`;
|
|
152
|
+
}
|
|
153
|
+
const issue = error.reason.issues[0];
|
|
154
|
+
switch (issue.kind) {
|
|
155
|
+
case "ExcessProperty":
|
|
156
|
+
return `An excess Map property ${safelyStringifyUnknownValue(issue.key)} is not allowed.`;
|
|
157
|
+
case "Key":
|
|
158
|
+
return `A Map key at index ${issue.index} is invalid.`;
|
|
159
|
+
case "Value":
|
|
160
|
+
return `A Map value at index ${issue.index} is invalid.`;
|
|
161
|
+
case "Collision":
|
|
162
|
+
return `Map keys at indexes ${issue.previousIndex} and ${issue.index} decode to the same key ${safelyStringifyUnknownValue(issue.outputKey)}.`;
|
|
163
|
+
}
|
|
164
|
+
};
|
|
151
165
|
/** Formats a TupleError in English. */
|
|
152
166
|
export const formatTupleError = (error) => {
|
|
153
167
|
if (error.reason.kind === "NotArray") {
|