@evolu/common 8.5.0 → 8.6.1
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 +170 -97
- package/dist/src/Array.d.ts.map +1 -1
- package/dist/src/Array.js +67 -42
- package/dist/src/Assert.d.ts +233 -30
- package/dist/src/Assert.d.ts.map +1 -1
- package/dist/src/Assert.js +150 -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/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 +4 -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/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/Resource.d.ts +27 -12
- package/dist/src/Resource.d.ts.map +1 -1
- package/dist/src/Result.d.ts +258 -114
- package/dist/src/Result.d.ts.map +1 -1
- package/dist/src/Result.js +71 -34
- 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 +9 -8
- package/dist/src/Task.d.ts +441 -212
- package/dist/src/Task.d.ts.map +1 -1
- package/dist/src/Task.js +238 -115
- package/dist/src/Test.d.ts +10 -4
- package/dist/src/Test.d.ts.map +1 -1
- package/dist/src/Test.js +10 -4
- package/dist/src/Time.d.ts +27 -17
- package/dist/src/Time.d.ts.map +1 -1
- package/dist/src/Time.js +16 -6
- package/dist/src/Type.d.ts +1096 -387
- package/dist/src/Type.d.ts.map +1 -1
- package/dist/src/Type.js +1046 -372
- 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/Worker.d.ts +10 -6
- package/dist/src/Worker.d.ts.map +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/Evolu.d.ts +47 -24
- package/dist/src/local-first/Evolu.d.ts.map +1 -1
- package/dist/src/local-first/Owner.d.ts +10 -7
- package/dist/src/local-first/Owner.d.ts.map +1 -1
- package/dist/src/local-first/Owner.js +10 -7
- package/dist/src/local-first/Protocol.d.ts +5 -5
- package/dist/src/local-first/Protocol.js +7 -7
- 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 +25 -13
- 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/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/Storage.d.ts +4 -2
- package/dist/src/local-first/Storage.d.ts.map +1 -1
- package/package.json +3 -4
- package/src/Array.ts +170 -97
- package/src/Assert.ts +336 -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/LockManager.ts +12 -10
- package/src/Lookup.ts +4 -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 +2 -2
- package/src/Random.ts +7 -4
- package/src/Redacted.ts +13 -6
- package/src/Ref.ts +4 -4
- package/src/Relation.ts +5 -7
- package/src/Resource.ts +27 -12
- package/src/Result.ts +258 -114
- package/src/Schedule.ts +233 -116
- package/src/Set.ts +43 -24
- package/src/Sqlite.ts +9 -8
- package/src/Task.ts +441 -212
- package/src/Test.ts +10 -4
- package/src/Time.ts +27 -17
- package/src/Type.ts +2077 -620
- package/src/Types.ts +108 -40
- package/src/WebSocket.ts +14 -6
- package/src/Worker.ts +10 -6
- 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/Evolu.ts +47 -24
- package/src/local-first/Owner.ts +10 -7
- package/src/local-first/Protocol.ts +7 -7
- package/src/local-first/Query.ts +34 -21
- package/src/local-first/Relay.ts +12 -5
- package/src/local-first/Schema.ts +19 -11
- package/src/local-first/Storage.ts +4 -2
package/src/Set.ts
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* ```ts
|
|
14
14
|
* import {
|
|
15
15
|
* addToSet,
|
|
16
|
+
* assertEqual,
|
|
16
17
|
* deleteFromSet,
|
|
17
18
|
* filterSet,
|
|
18
19
|
* firstInSet,
|
|
@@ -31,7 +32,7 @@
|
|
|
31
32
|
* const difference = intersection.difference(new Set([4]));
|
|
32
33
|
*
|
|
33
34
|
* if (!isNonEmptySet(difference)) throw new Error("Expected values");
|
|
34
|
-
*
|
|
35
|
+
* assertEqual(firstInSet(difference), 6);
|
|
35
36
|
* ```
|
|
36
37
|
*
|
|
37
38
|
* @module
|
|
@@ -58,14 +59,19 @@ export const emptySet: ReadonlySet<never> = /*#__PURE__*/ new Set();
|
|
|
58
59
|
* ### Preserving non-empty inputs
|
|
59
60
|
*
|
|
60
61
|
* ```ts
|
|
61
|
-
* import {
|
|
62
|
+
* import {
|
|
63
|
+
* assertEqual,
|
|
64
|
+
* assertType,
|
|
65
|
+
* createSet,
|
|
66
|
+
* type NonEmptyReadonlySet,
|
|
67
|
+
* } from "@evolu/common";
|
|
62
68
|
*
|
|
63
69
|
* const values = createSet([1, 2, 3]);
|
|
64
70
|
* const empty = createSet([] as ReadonlyArray<number>);
|
|
65
71
|
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
72
|
+
* assertType<NonEmptyReadonlySet<number>, typeof values>();
|
|
73
|
+
* assertType<ReadonlySet<number>, typeof empty>();
|
|
74
|
+
* assertEqual(values, new Set([1, 2, 3]));
|
|
69
75
|
* ```
|
|
70
76
|
*
|
|
71
77
|
* @group Constructors
|
|
@@ -108,13 +114,18 @@ export type NonEmptyReadonlySet<T> = ReadonlySet<T> & Brand<"NonEmpty">;
|
|
|
108
114
|
* ### Narrowing before access
|
|
109
115
|
*
|
|
110
116
|
* ```ts
|
|
111
|
-
* import {
|
|
117
|
+
* import {
|
|
118
|
+
* assertEqual,
|
|
119
|
+
* assertType,
|
|
120
|
+
* isNonEmptySet,
|
|
121
|
+
* type NonEmptyReadonlySet,
|
|
122
|
+
* } from "@evolu/common";
|
|
112
123
|
*
|
|
113
124
|
* const set: ReadonlySet<number> = new Set([1, 2, 3]);
|
|
114
125
|
* if (!isNonEmptySet(set)) throw new Error("Expected a non-empty set");
|
|
115
126
|
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
127
|
+
* assertType<NonEmptyReadonlySet<number>, typeof set>();
|
|
128
|
+
* assertEqual(set.size, 3);
|
|
118
129
|
* ```
|
|
119
130
|
*
|
|
120
131
|
* @group Type guards
|
|
@@ -132,15 +143,21 @@ export const isNonEmptySet = <T>(
|
|
|
132
143
|
* ### Adding without mutation
|
|
133
144
|
*
|
|
134
145
|
* ```ts
|
|
135
|
-
* import {
|
|
146
|
+
* import {
|
|
147
|
+
* addToSet,
|
|
148
|
+
* assertEqual,
|
|
149
|
+
* assertTrue,
|
|
150
|
+
* assertType,
|
|
151
|
+
* type NonEmptyReadonlySet,
|
|
152
|
+
* } from "@evolu/common";
|
|
136
153
|
*
|
|
137
154
|
* const original: ReadonlySet<number> = new Set([1, 2]);
|
|
138
155
|
* const added = addToSet(original, 3);
|
|
139
156
|
* const unchanged = addToSet(original, 2);
|
|
140
157
|
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
158
|
+
* assertType<NonEmptyReadonlySet<number>, typeof added>();
|
|
159
|
+
* assertEqual(added, new Set([1, 2, 3]));
|
|
160
|
+
* assertTrue(unchanged !== original);
|
|
144
161
|
* ```
|
|
145
162
|
*
|
|
146
163
|
* @group Transformations
|
|
@@ -163,11 +180,11 @@ export const addToSet = <T>(
|
|
|
163
180
|
* ### Deleting without mutation
|
|
164
181
|
*
|
|
165
182
|
* ```ts
|
|
166
|
-
* import { deleteFromSet } from "@evolu/common";
|
|
183
|
+
* import { assertEqual, assertTrue, deleteFromSet } from "@evolu/common";
|
|
167
184
|
*
|
|
168
185
|
* const original = new Set([1, 2, 3]);
|
|
169
|
-
*
|
|
170
|
-
*
|
|
186
|
+
* assertEqual(deleteFromSet(original, 2), new Set([1, 3]));
|
|
187
|
+
* assertTrue(deleteFromSet(original, 5) !== original);
|
|
171
188
|
* ```
|
|
172
189
|
*
|
|
173
190
|
* @group Transformations
|
|
@@ -193,6 +210,8 @@ export const deleteFromSet = <T>(
|
|
|
193
210
|
*
|
|
194
211
|
* ```ts
|
|
195
212
|
* import {
|
|
213
|
+
* assertEqual,
|
|
214
|
+
* assertType,
|
|
196
215
|
* createSet,
|
|
197
216
|
* mapSet,
|
|
198
217
|
* type NonEmptyReadonlySet,
|
|
@@ -202,9 +221,9 @@ export const deleteFromSet = <T>(
|
|
|
202
221
|
* const doubled = mapSet(original, (x) => x * 2);
|
|
203
222
|
* const parity = mapSet(original, (x) => x % 2);
|
|
204
223
|
*
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
*
|
|
224
|
+
* assertType<NonEmptyReadonlySet<number>, typeof doubled>();
|
|
225
|
+
* assertEqual(doubled, new Set([2, 4, 6]));
|
|
226
|
+
* assertEqual(parity, new Set([1, 0]));
|
|
208
227
|
* ```
|
|
209
228
|
*
|
|
210
229
|
* @group Transformations
|
|
@@ -239,18 +258,18 @@ export function mapSet<T, U>(
|
|
|
239
258
|
* ### Filtering and refining
|
|
240
259
|
*
|
|
241
260
|
* ```ts
|
|
242
|
-
* import { filterSet } from "@evolu/common";
|
|
261
|
+
* import { assertEqual, assertType, filterSet } from "@evolu/common";
|
|
243
262
|
*
|
|
244
263
|
* const evens = filterSet(new Set([1, 2, 3, 4, 5]), (x) => x % 2 === 0);
|
|
245
|
-
*
|
|
264
|
+
* assertEqual(evens, new Set([2, 4]));
|
|
246
265
|
*
|
|
247
266
|
* const mixed: ReadonlySet<string | number> = new Set([1, "a", 2, "b"]);
|
|
248
267
|
* const strings = filterSet(
|
|
249
268
|
* mixed,
|
|
250
269
|
* (value): value is string => typeof value === "string",
|
|
251
270
|
* );
|
|
252
|
-
*
|
|
253
|
-
*
|
|
271
|
+
* assertType<ReadonlySet<string>, typeof strings>();
|
|
272
|
+
* assertEqual(strings, new Set(["a", "b"]));
|
|
254
273
|
* ```
|
|
255
274
|
*
|
|
256
275
|
* @group Transformations
|
|
@@ -284,10 +303,10 @@ export function filterSet<T>(
|
|
|
284
303
|
* ### Reading the first value
|
|
285
304
|
*
|
|
286
305
|
* ```ts
|
|
287
|
-
* import { createSet, firstInSet } from "@evolu/common";
|
|
306
|
+
* import { assertEqual, createSet, firstInSet } from "@evolu/common";
|
|
288
307
|
*
|
|
289
308
|
* const set = createSet(["a", "b", "c"]);
|
|
290
|
-
*
|
|
309
|
+
* assertEqual(firstInSet(set), "a");
|
|
291
310
|
* ```
|
|
292
311
|
*
|
|
293
312
|
* @group Accessors
|
package/src/Sqlite.ts
CHANGED
|
@@ -434,7 +434,7 @@ export type SqlTemplateParam = SqliteValue | SqlIdentifier | RawSql;
|
|
|
434
434
|
* ### Example
|
|
435
435
|
*
|
|
436
436
|
* ```ts
|
|
437
|
-
* import { sql } from "@evolu/common";
|
|
437
|
+
* import { assertEqual, assertTrue, sql } from "@evolu/common";
|
|
438
438
|
*
|
|
439
439
|
* const id = 42;
|
|
440
440
|
* const name = "Alice";
|
|
@@ -452,12 +452,13 @@ export type SqlTemplateParam = SqliteValue | SqlIdentifier | RawSql;
|
|
|
452
452
|
* const orderBy = "created_at desc";
|
|
453
453
|
* const ordered = sql`select * from users order by ${sql.raw(orderBy)};`;
|
|
454
454
|
*
|
|
455
|
-
*
|
|
455
|
+
* assertEqual(select, {
|
|
456
456
|
* sql: "select * from users where id = ? and name = ?;",
|
|
457
457
|
* parameters: [42, "Alice"],
|
|
458
458
|
* });
|
|
459
|
-
*
|
|
460
|
-
*
|
|
459
|
+
* assertTrue(createTable.sql.includes('create table "users"'));
|
|
460
|
+
* assertEqual(
|
|
461
|
+
* ordered.sql,
|
|
461
462
|
* "select * from users order by created_at desc;",
|
|
462
463
|
* );
|
|
463
464
|
* ```
|
|
@@ -676,9 +677,9 @@ export const sqliteFalse = 0;
|
|
|
676
677
|
* ### Example
|
|
677
678
|
*
|
|
678
679
|
* ```ts
|
|
679
|
-
* import { booleanToSqliteBoolean } from "@evolu/common";
|
|
680
|
+
* import { assertEqual, booleanToSqliteBoolean } from "@evolu/common";
|
|
680
681
|
*
|
|
681
|
-
*
|
|
682
|
+
* assertEqual(booleanToSqliteBoolean(true), 1);
|
|
682
683
|
* ```
|
|
683
684
|
*/
|
|
684
685
|
export const booleanToSqliteBoolean = (value: boolean): SqliteBoolean =>
|
|
@@ -690,9 +691,9 @@ export const booleanToSqliteBoolean = (value: boolean): SqliteBoolean =>
|
|
|
690
691
|
* ### Example
|
|
691
692
|
*
|
|
692
693
|
* ```ts
|
|
693
|
-
* import { sqliteBooleanToBoolean } from "@evolu/common";
|
|
694
|
+
* import { assertTrue, sqliteBooleanToBoolean } from "@evolu/common";
|
|
694
695
|
*
|
|
695
|
-
*
|
|
696
|
+
* assertTrue(sqliteBooleanToBoolean(1));
|
|
696
697
|
* ```
|
|
697
698
|
*/
|
|
698
699
|
export const sqliteBooleanToBoolean = (value: SqliteBoolean): boolean =>
|