@evolu/common 8.5.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.
Files changed (328) hide show
  1. package/dist/src/Array.d.ts +170 -97
  2. package/dist/src/Array.d.ts.map +1 -1
  3. package/dist/src/Array.js +67 -42
  4. package/dist/src/Assert.d.ts +233 -30
  5. package/dist/src/Assert.d.ts.map +1 -1
  6. package/dist/src/Assert.js +150 -30
  7. package/dist/src/BigInt.d.ts +3 -3
  8. package/dist/src/BigInt.js +3 -3
  9. package/dist/src/Brand.d.ts +7 -7
  10. package/dist/src/Buffer.d.ts +12 -4
  11. package/dist/src/Buffer.d.ts.map +1 -1
  12. package/dist/src/Cache.d.ts +8 -3
  13. package/dist/src/Cache.d.ts.map +1 -1
  14. package/dist/src/Cache.js +8 -3
  15. package/dist/src/Callbacks.d.ts +8 -4
  16. package/dist/src/Callbacks.d.ts.map +1 -1
  17. package/dist/src/Console.d.ts +45 -30
  18. package/dist/src/Console.d.ts.map +1 -1
  19. package/dist/src/Console.js +32 -21
  20. package/dist/src/Crypto.d.ts +13 -8
  21. package/dist/src/Crypto.d.ts.map +1 -1
  22. package/dist/src/Crypto.js +6 -3
  23. package/dist/src/Eq.d.ts +107 -58
  24. package/dist/src/Eq.d.ts.map +1 -1
  25. package/dist/src/Eq.js +308 -112
  26. package/dist/src/Function.d.ts +54 -24
  27. package/dist/src/Function.d.ts.map +1 -1
  28. package/dist/src/Function.js +34 -17
  29. package/dist/src/Http.d.ts +52 -19
  30. package/dist/src/Http.d.ts.map +1 -1
  31. package/dist/src/Identicon.d.ts +9 -4
  32. package/dist/src/Identicon.d.ts.map +1 -1
  33. package/dist/src/Identicon.js +9 -4
  34. package/dist/src/LockManager.d.ts +12 -10
  35. package/dist/src/LockManager.d.ts.map +1 -1
  36. package/dist/src/Lookup.d.ts +4 -2
  37. package/dist/src/Lookup.d.ts.map +1 -1
  38. package/dist/src/Lookup.js +4 -2
  39. package/dist/src/Number.d.ts +28 -24
  40. package/dist/src/Number.d.ts.map +1 -1
  41. package/dist/src/Number.js +16 -17
  42. package/dist/src/Object.d.ts +89 -47
  43. package/dist/src/Object.d.ts.map +1 -1
  44. package/dist/src/Object.js +88 -41
  45. package/dist/src/Option.d.ts +14 -5
  46. package/dist/src/Option.d.ts.map +1 -1
  47. package/dist/src/Option.js +14 -5
  48. package/dist/src/Order.d.ts +12 -12
  49. package/dist/src/Order.js +12 -12
  50. package/dist/src/Platform.d.ts +2 -2
  51. package/dist/src/Random.d.ts +7 -4
  52. package/dist/src/Random.d.ts.map +1 -1
  53. package/dist/src/Redacted.d.ts +13 -6
  54. package/dist/src/Redacted.d.ts.map +1 -1
  55. package/dist/src/Redacted.js +4 -2
  56. package/dist/src/Ref.d.ts +4 -4
  57. package/dist/src/Relation.d.ts +5 -7
  58. package/dist/src/Relation.d.ts.map +1 -1
  59. package/dist/src/Resource.d.ts +27 -12
  60. package/dist/src/Resource.d.ts.map +1 -1
  61. package/dist/src/Result.d.ts +258 -114
  62. package/dist/src/Result.d.ts.map +1 -1
  63. package/dist/src/Result.js +71 -34
  64. package/dist/src/Schedule.d.ts +233 -116
  65. package/dist/src/Schedule.d.ts.map +1 -1
  66. package/dist/src/Schedule.js +204 -110
  67. package/dist/src/Set.d.ts +43 -24
  68. package/dist/src/Set.d.ts.map +1 -1
  69. package/dist/src/Set.js +25 -13
  70. package/dist/src/Sqlite.d.ts +4 -4
  71. package/dist/src/Sqlite.d.ts.map +1 -1
  72. package/dist/src/Sqlite.js +9 -8
  73. package/dist/src/Task.d.ts +441 -212
  74. package/dist/src/Task.d.ts.map +1 -1
  75. package/dist/src/Task.js +238 -115
  76. package/dist/src/Test.d.ts +10 -4
  77. package/dist/src/Test.d.ts.map +1 -1
  78. package/dist/src/Test.js +10 -4
  79. package/dist/src/Time.d.ts +27 -17
  80. package/dist/src/Time.d.ts.map +1 -1
  81. package/dist/src/Time.js +16 -6
  82. package/dist/src/Type.d.ts +1096 -387
  83. package/dist/src/Type.d.ts.map +1 -1
  84. package/dist/src/Type.js +1046 -372
  85. package/dist/src/Types.d.ts +95 -40
  86. package/dist/src/Types.d.ts.map +1 -1
  87. package/dist/src/Types.js +13 -4
  88. package/dist/src/WebSocket.d.ts +14 -6
  89. package/dist/src/WebSocket.d.ts.map +1 -1
  90. package/dist/src/Worker.d.ts +10 -6
  91. package/dist/src/Worker.d.ts.map +1 -1
  92. package/dist/src/intl/_en.d.ts +3 -1
  93. package/dist/src/intl/_en.d.ts.map +1 -1
  94. package/dist/src/intl/_en.js +17 -3
  95. package/dist/src/intl/ar.d.ts +3 -1
  96. package/dist/src/intl/ar.d.ts.map +1 -1
  97. package/dist/src/intl/ar.js +15 -2
  98. package/dist/src/intl/bn.d.ts +3 -1
  99. package/dist/src/intl/bn.d.ts.map +1 -1
  100. package/dist/src/intl/bn.js +16 -3
  101. package/dist/src/intl/ca.d.ts +3 -1
  102. package/dist/src/intl/ca.d.ts.map +1 -1
  103. package/dist/src/intl/ca.js +16 -3
  104. package/dist/src/intl/cs.d.ts +3 -1
  105. package/dist/src/intl/cs.d.ts.map +1 -1
  106. package/dist/src/intl/cs.js +16 -3
  107. package/dist/src/intl/da.d.ts +3 -1
  108. package/dist/src/intl/da.d.ts.map +1 -1
  109. package/dist/src/intl/da.js +16 -3
  110. package/dist/src/intl/de.d.ts +3 -1
  111. package/dist/src/intl/de.d.ts.map +1 -1
  112. package/dist/src/intl/de.js +16 -3
  113. package/dist/src/intl/el.d.ts +3 -1
  114. package/dist/src/intl/el.d.ts.map +1 -1
  115. package/dist/src/intl/el.js +16 -3
  116. package/dist/src/intl/es.d.ts +3 -1
  117. package/dist/src/intl/es.d.ts.map +1 -1
  118. package/dist/src/intl/es.js +16 -3
  119. package/dist/src/intl/fa.d.ts +3 -1
  120. package/dist/src/intl/fa.d.ts.map +1 -1
  121. package/dist/src/intl/fa.js +16 -3
  122. package/dist/src/intl/fi.d.ts +3 -1
  123. package/dist/src/intl/fi.d.ts.map +1 -1
  124. package/dist/src/intl/fi.js +16 -3
  125. package/dist/src/intl/fil.d.ts +3 -1
  126. package/dist/src/intl/fil.d.ts.map +1 -1
  127. package/dist/src/intl/fil.js +16 -3
  128. package/dist/src/intl/fr.d.ts +3 -1
  129. package/dist/src/intl/fr.d.ts.map +1 -1
  130. package/dist/src/intl/fr.js +16 -3
  131. package/dist/src/intl/he.d.ts +3 -1
  132. package/dist/src/intl/he.d.ts.map +1 -1
  133. package/dist/src/intl/he.js +16 -3
  134. package/dist/src/intl/hi.d.ts +3 -1
  135. package/dist/src/intl/hi.d.ts.map +1 -1
  136. package/dist/src/intl/hi.js +16 -3
  137. package/dist/src/intl/hr.d.ts +3 -1
  138. package/dist/src/intl/hr.d.ts.map +1 -1
  139. package/dist/src/intl/hr.js +16 -3
  140. package/dist/src/intl/hu.d.ts +2 -1
  141. package/dist/src/intl/hu.d.ts.map +1 -1
  142. package/dist/src/intl/hu.js +15 -3
  143. package/dist/src/intl/id.d.ts +3 -1
  144. package/dist/src/intl/id.d.ts.map +1 -1
  145. package/dist/src/intl/id.js +16 -3
  146. package/dist/src/intl/it.d.ts +3 -1
  147. package/dist/src/intl/it.d.ts.map +1 -1
  148. package/dist/src/intl/it.js +16 -3
  149. package/dist/src/intl/ja.d.ts +3 -1
  150. package/dist/src/intl/ja.d.ts.map +1 -1
  151. package/dist/src/intl/ja.js +16 -3
  152. package/dist/src/intl/ko.d.ts +3 -1
  153. package/dist/src/intl/ko.d.ts.map +1 -1
  154. package/dist/src/intl/ko.js +16 -3
  155. package/dist/src/intl/ml.d.ts +3 -1
  156. package/dist/src/intl/ml.d.ts.map +1 -1
  157. package/dist/src/intl/ml.js +16 -3
  158. package/dist/src/intl/mr.d.ts +3 -1
  159. package/dist/src/intl/mr.d.ts.map +1 -1
  160. package/dist/src/intl/mr.js +16 -3
  161. package/dist/src/intl/ms.d.ts +3 -1
  162. package/dist/src/intl/ms.d.ts.map +1 -1
  163. package/dist/src/intl/ms.js +15 -2
  164. package/dist/src/intl/nb.d.ts +2 -1
  165. package/dist/src/intl/nb.d.ts.map +1 -1
  166. package/dist/src/intl/nb.js +14 -2
  167. package/dist/src/intl/nl.d.ts +3 -1
  168. package/dist/src/intl/nl.d.ts.map +1 -1
  169. package/dist/src/intl/nl.js +16 -3
  170. package/dist/src/intl/pa.d.ts +3 -1
  171. package/dist/src/intl/pa.d.ts.map +1 -1
  172. package/dist/src/intl/pa.js +16 -3
  173. package/dist/src/intl/pl.d.ts +2 -0
  174. package/dist/src/intl/pl.d.ts.map +1 -1
  175. package/dist/src/intl/pl.js +15 -2
  176. package/dist/src/intl/pt-BR.d.ts +3 -1
  177. package/dist/src/intl/pt-BR.d.ts.map +1 -1
  178. package/dist/src/intl/pt-BR.js +16 -3
  179. package/dist/src/intl/pt.d.ts +3 -1
  180. package/dist/src/intl/pt.d.ts.map +1 -1
  181. package/dist/src/intl/pt.js +15 -2
  182. package/dist/src/intl/ro.d.ts +3 -1
  183. package/dist/src/intl/ro.d.ts.map +1 -1
  184. package/dist/src/intl/ro.js +16 -3
  185. package/dist/src/intl/sk.d.ts +3 -1
  186. package/dist/src/intl/sk.d.ts.map +1 -1
  187. package/dist/src/intl/sk.js +15 -2
  188. package/dist/src/intl/sl.d.ts +3 -1
  189. package/dist/src/intl/sl.d.ts.map +1 -1
  190. package/dist/src/intl/sl.js +16 -3
  191. package/dist/src/intl/sv.d.ts +3 -1
  192. package/dist/src/intl/sv.d.ts.map +1 -1
  193. package/dist/src/intl/sv.js +16 -3
  194. package/dist/src/intl/sw.d.ts +1 -0
  195. package/dist/src/intl/sw.d.ts.map +1 -1
  196. package/dist/src/intl/sw.js +14 -2
  197. package/dist/src/intl/ta.d.ts +3 -1
  198. package/dist/src/intl/ta.d.ts.map +1 -1
  199. package/dist/src/intl/ta.js +16 -3
  200. package/dist/src/intl/te.d.ts +3 -1
  201. package/dist/src/intl/te.d.ts.map +1 -1
  202. package/dist/src/intl/te.js +16 -3
  203. package/dist/src/intl/th.d.ts +3 -1
  204. package/dist/src/intl/th.d.ts.map +1 -1
  205. package/dist/src/intl/th.js +16 -3
  206. package/dist/src/intl/tr.d.ts +3 -1
  207. package/dist/src/intl/tr.d.ts.map +1 -1
  208. package/dist/src/intl/tr.js +16 -3
  209. package/dist/src/intl/uk.d.ts +3 -1
  210. package/dist/src/intl/uk.d.ts.map +1 -1
  211. package/dist/src/intl/uk.js +16 -3
  212. package/dist/src/intl/ur.d.ts +3 -1
  213. package/dist/src/intl/ur.d.ts.map +1 -1
  214. package/dist/src/intl/ur.js +15 -2
  215. package/dist/src/intl/vi.d.ts +3 -1
  216. package/dist/src/intl/vi.d.ts.map +1 -1
  217. package/dist/src/intl/vi.js +16 -3
  218. package/dist/src/intl/zh-CN.d.ts +3 -1
  219. package/dist/src/intl/zh-CN.d.ts.map +1 -1
  220. package/dist/src/intl/zh-CN.js +16 -3
  221. package/dist/src/intl/zh-TW.d.ts +3 -1
  222. package/dist/src/intl/zh-TW.d.ts.map +1 -1
  223. package/dist/src/intl/zh-TW.js +16 -3
  224. package/dist/src/local-first/Evolu.d.ts +47 -24
  225. package/dist/src/local-first/Evolu.d.ts.map +1 -1
  226. package/dist/src/local-first/Owner.d.ts +10 -7
  227. package/dist/src/local-first/Owner.d.ts.map +1 -1
  228. package/dist/src/local-first/Owner.js +10 -7
  229. package/dist/src/local-first/Protocol.d.ts +5 -5
  230. package/dist/src/local-first/Protocol.js +5 -5
  231. package/dist/src/local-first/Query.d.ts +34 -21
  232. package/dist/src/local-first/Query.d.ts.map +1 -1
  233. package/dist/src/local-first/Query.js +25 -13
  234. package/dist/src/local-first/Relay.d.ts +12 -5
  235. package/dist/src/local-first/Relay.d.ts.map +1 -1
  236. package/dist/src/local-first/Schema.d.ts +19 -11
  237. package/dist/src/local-first/Schema.d.ts.map +1 -1
  238. package/dist/src/local-first/Schema.js +11 -6
  239. package/dist/src/local-first/Storage.d.ts +4 -2
  240. package/dist/src/local-first/Storage.d.ts.map +1 -1
  241. package/package.json +3 -4
  242. package/src/Array.ts +170 -97
  243. package/src/Assert.ts +336 -31
  244. package/src/BigInt.ts +3 -3
  245. package/src/Brand.ts +7 -7
  246. package/src/Buffer.ts +12 -4
  247. package/src/Cache.ts +8 -3
  248. package/src/Callbacks.ts +8 -4
  249. package/src/Console.ts +45 -30
  250. package/src/Crypto.ts +13 -8
  251. package/src/Eq.ts +450 -122
  252. package/src/Function.ts +54 -24
  253. package/src/Http.ts +52 -19
  254. package/src/Identicon.ts +9 -4
  255. package/src/LockManager.ts +12 -10
  256. package/src/Lookup.ts +4 -2
  257. package/src/Number.ts +28 -24
  258. package/src/Object.ts +115 -49
  259. package/src/Option.ts +14 -5
  260. package/src/Order.ts +12 -12
  261. package/src/Platform.ts +2 -2
  262. package/src/Random.ts +7 -4
  263. package/src/Redacted.ts +13 -6
  264. package/src/Ref.ts +4 -4
  265. package/src/Relation.ts +5 -7
  266. package/src/Resource.ts +27 -12
  267. package/src/Result.ts +258 -114
  268. package/src/Schedule.ts +233 -116
  269. package/src/Set.ts +43 -24
  270. package/src/Sqlite.ts +9 -8
  271. package/src/Task.ts +441 -212
  272. package/src/Test.ts +10 -4
  273. package/src/Time.ts +27 -17
  274. package/src/Type.ts +2077 -620
  275. package/src/Types.ts +108 -40
  276. package/src/WebSocket.ts +14 -6
  277. package/src/Worker.ts +10 -6
  278. package/src/intl/_en.ts +20 -4
  279. package/src/intl/ar.ts +17 -2
  280. package/src/intl/bn.ts +19 -4
  281. package/src/intl/ca.ts +19 -4
  282. package/src/intl/cs.ts +19 -4
  283. package/src/intl/da.ts +19 -4
  284. package/src/intl/de.ts +19 -4
  285. package/src/intl/el.ts +19 -4
  286. package/src/intl/es.ts +19 -4
  287. package/src/intl/fa.ts +19 -4
  288. package/src/intl/fi.ts +19 -4
  289. package/src/intl/fil.ts +19 -4
  290. package/src/intl/fr.ts +19 -4
  291. package/src/intl/he.ts +19 -4
  292. package/src/intl/hi.ts +19 -4
  293. package/src/intl/hr.ts +19 -4
  294. package/src/intl/hu.ts +18 -4
  295. package/src/intl/id.ts +19 -4
  296. package/src/intl/it.ts +19 -4
  297. package/src/intl/ja.ts +19 -4
  298. package/src/intl/ko.ts +19 -4
  299. package/src/intl/ml.ts +19 -4
  300. package/src/intl/mr.ts +19 -4
  301. package/src/intl/ms.ts +17 -2
  302. package/src/intl/nb.ts +16 -2
  303. package/src/intl/nl.ts +19 -4
  304. package/src/intl/pa.ts +19 -4
  305. package/src/intl/pl.ts +18 -2
  306. package/src/intl/pt-BR.ts +19 -4
  307. package/src/intl/pt.ts +17 -2
  308. package/src/intl/ro.ts +19 -4
  309. package/src/intl/sk.ts +17 -2
  310. package/src/intl/sl.ts +19 -4
  311. package/src/intl/sv.ts +19 -4
  312. package/src/intl/sw.ts +15 -2
  313. package/src/intl/ta.ts +19 -4
  314. package/src/intl/te.ts +19 -4
  315. package/src/intl/th.ts +19 -4
  316. package/src/intl/tr.ts +19 -4
  317. package/src/intl/uk.ts +19 -4
  318. package/src/intl/ur.ts +17 -2
  319. package/src/intl/vi.ts +19 -3
  320. package/src/intl/zh-CN.ts +19 -4
  321. package/src/intl/zh-TW.ts +19 -4
  322. package/src/local-first/Evolu.ts +47 -24
  323. package/src/local-first/Owner.ts +10 -7
  324. package/src/local-first/Protocol.ts +5 -5
  325. package/src/local-first/Query.ts +34 -21
  326. package/src/local-first/Relay.ts +12 -5
  327. package/src/local-first/Schema.ts +19 -11
  328. 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
- * expect(firstInSet(difference)).toBe(6);
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 { createSet, type NonEmptyReadonlySet } from "@evolu/common";
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
- * expectTypeOf(values).toEqualTypeOf<NonEmptyReadonlySet<number>>();
67
- * expectTypeOf(empty).toEqualTypeOf<ReadonlySet<number>>();
68
- * expect(values).toEqual(new Set([1, 2, 3]));
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 { isNonEmptySet, type NonEmptyReadonlySet } from "@evolu/common";
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
- * expectTypeOf(set).toEqualTypeOf<NonEmptyReadonlySet<number>>();
117
- * expect(set.size).toBe(3);
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 { addToSet, type NonEmptyReadonlySet } from "@evolu/common";
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
- * expectTypeOf(added).toEqualTypeOf<NonEmptyReadonlySet<number>>();
142
- * expect(added).toEqual(new Set([1, 2, 3]));
143
- * expect(unchanged).not.toBe(original);
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
- * expect(deleteFromSet(original, 2)).toEqual(new Set([1, 3]));
170
- * expect(deleteFromSet(original, 5)).not.toBe(original);
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
- * expectTypeOf(doubled).toEqualTypeOf<NonEmptyReadonlySet<number>>();
206
- * expect(doubled).toEqual(new Set([2, 4, 6]));
207
- * expect(parity).toEqual(new Set([1, 0]));
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
- * expect(evens).toEqual(new Set([2, 4]));
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
- * expectTypeOf(strings).toEqualTypeOf<ReadonlySet<string>>();
253
- * expect(strings).toEqual(new Set(["a", "b"]));
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
- * expect(firstInSet(set)).toBe("a");
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
- * expect(select).toEqual({
455
+ * assertEqual(select, {
456
456
  * sql: "select * from users where id = ? and name = ?;",
457
457
  * parameters: [42, "Alice"],
458
458
  * });
459
- * expect(createTable.sql).toContain('create table "users"');
460
- * expect(ordered.sql).toBe(
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
- * expect(booleanToSqliteBoolean(true)).toBe(1);
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
- * expect(sqliteBooleanToBoolean(1)).toBe(true);
696
+ * assertTrue(sqliteBooleanToBoolean(1));
696
697
  * ```
697
698
  */
698
699
  export const sqliteBooleanToBoolean = (value: SqliteBoolean): boolean =>