@evolu/common 8.6.2 → 8.8.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 (303) hide show
  1. package/dist/src/Array.d.ts +21 -21
  2. package/dist/src/Array.js +5 -5
  3. package/dist/src/Assert.d.ts +478 -141
  4. package/dist/src/Assert.d.ts.map +1 -1
  5. package/dist/src/Assert.js +644 -99
  6. package/dist/src/Binary.d.ts +254 -0
  7. package/dist/src/Binary.d.ts.map +1 -0
  8. package/dist/src/Binary.js +958 -0
  9. package/dist/src/Console.d.ts +2 -10
  10. package/dist/src/Console.d.ts.map +1 -1
  11. package/dist/src/Console.js +6 -12
  12. package/dist/src/Crypto.d.ts +5 -5
  13. package/dist/src/Crypto.js +1 -1
  14. package/dist/src/Eq.d.ts +35 -40
  15. package/dist/src/Eq.d.ts.map +1 -1
  16. package/dist/src/Eq.js +51 -87
  17. package/dist/src/Function.d.ts +9 -14
  18. package/dist/src/Function.d.ts.map +1 -1
  19. package/dist/src/Function.js +7 -9
  20. package/dist/src/Http.d.ts +6 -7
  21. package/dist/src/Http.d.ts.map +1 -1
  22. package/dist/src/LeakDetector.d.ts.map +1 -1
  23. package/dist/src/LeakDetector.js +1 -0
  24. package/dist/src/LockManager.d.ts +1 -1
  25. package/dist/src/LockManager.js +1 -1
  26. package/dist/src/Lookup.d.ts +3 -2
  27. package/dist/src/Lookup.d.ts.map +1 -1
  28. package/dist/src/Lookup.js +4 -3
  29. package/dist/src/Number.d.ts +1 -1
  30. package/dist/src/Number.d.ts.map +1 -1
  31. package/dist/src/Number.js +1 -1
  32. package/dist/src/Object.d.ts +4 -4
  33. package/dist/src/Object.d.ts.map +1 -1
  34. package/dist/src/Object.js +5 -4
  35. package/dist/src/Option.d.ts +1 -2
  36. package/dist/src/Option.d.ts.map +1 -1
  37. package/dist/src/Option.js +1 -2
  38. package/dist/src/Platform.js +2 -0
  39. package/dist/src/Polyfills.js +4 -1
  40. package/dist/src/Random.d.ts +1 -1
  41. package/dist/src/Result.d.ts +49 -54
  42. package/dist/src/Result.d.ts.map +1 -1
  43. package/dist/src/Result.js +17 -22
  44. package/dist/src/Set.d.ts +6 -6
  45. package/dist/src/Set.js +2 -2
  46. package/dist/src/Sqlite.js +1 -1
  47. package/dist/src/String.js +3 -2
  48. package/dist/src/Task.d.ts +32 -32
  49. package/dist/src/Task.d.ts.map +1 -1
  50. package/dist/src/Task.js +20 -22
  51. package/dist/src/Test.d.ts +31 -3
  52. package/dist/src/Test.d.ts.map +1 -1
  53. package/dist/src/Test.js +46 -3
  54. package/dist/src/Time.d.ts +3 -11
  55. package/dist/src/Time.d.ts.map +1 -1
  56. package/dist/src/Time.js +10 -18
  57. package/dist/src/Type.d.ts +87 -85
  58. package/dist/src/Type.d.ts.map +1 -1
  59. package/dist/src/Type.js +70 -63
  60. package/dist/src/Types.d.ts +12 -12
  61. package/dist/src/Types.js +1 -1
  62. package/dist/src/WebSocket.d.ts +4 -7
  63. package/dist/src/WebSocket.d.ts.map +1 -1
  64. package/dist/src/Worker.d.ts +1 -1
  65. package/dist/src/Worker.js +7 -7
  66. package/dist/src/index.d.ts +1 -1
  67. package/dist/src/index.js +1 -1
  68. package/dist/src/intl/_en.d.ts.map +1 -1
  69. package/dist/src/intl/_en.js +1 -1
  70. package/dist/src/intl/ar.d.ts.map +1 -1
  71. package/dist/src/intl/ar.js +1 -1
  72. package/dist/src/intl/bn.d.ts.map +1 -1
  73. package/dist/src/intl/bn.js +1 -1
  74. package/dist/src/intl/ca.d.ts.map +1 -1
  75. package/dist/src/intl/ca.js +1 -1
  76. package/dist/src/intl/cs.d.ts.map +1 -1
  77. package/dist/src/intl/cs.js +1 -1
  78. package/dist/src/intl/da.d.ts.map +1 -1
  79. package/dist/src/intl/da.js +1 -1
  80. package/dist/src/intl/de.d.ts.map +1 -1
  81. package/dist/src/intl/de.js +1 -1
  82. package/dist/src/intl/el.d.ts.map +1 -1
  83. package/dist/src/intl/el.js +1 -1
  84. package/dist/src/intl/es.d.ts.map +1 -1
  85. package/dist/src/intl/es.js +1 -1
  86. package/dist/src/intl/fa.d.ts.map +1 -1
  87. package/dist/src/intl/fa.js +1 -1
  88. package/dist/src/intl/fi.d.ts.map +1 -1
  89. package/dist/src/intl/fi.js +1 -1
  90. package/dist/src/intl/fil.d.ts.map +1 -1
  91. package/dist/src/intl/fil.js +1 -1
  92. package/dist/src/intl/fr.d.ts.map +1 -1
  93. package/dist/src/intl/fr.js +1 -1
  94. package/dist/src/intl/he.d.ts.map +1 -1
  95. package/dist/src/intl/he.js +1 -1
  96. package/dist/src/intl/hi.d.ts.map +1 -1
  97. package/dist/src/intl/hi.js +1 -1
  98. package/dist/src/intl/hr.d.ts.map +1 -1
  99. package/dist/src/intl/hr.js +1 -1
  100. package/dist/src/intl/hu.d.ts.map +1 -1
  101. package/dist/src/intl/hu.js +1 -1
  102. package/dist/src/intl/id.d.ts.map +1 -1
  103. package/dist/src/intl/id.js +1 -1
  104. package/dist/src/intl/it.d.ts.map +1 -1
  105. package/dist/src/intl/it.js +1 -1
  106. package/dist/src/intl/ja.d.ts.map +1 -1
  107. package/dist/src/intl/ja.js +1 -1
  108. package/dist/src/intl/ko.d.ts.map +1 -1
  109. package/dist/src/intl/ko.js +1 -1
  110. package/dist/src/intl/ml.d.ts.map +1 -1
  111. package/dist/src/intl/ml.js +1 -1
  112. package/dist/src/intl/mr.d.ts.map +1 -1
  113. package/dist/src/intl/mr.js +1 -1
  114. package/dist/src/intl/ms.d.ts.map +1 -1
  115. package/dist/src/intl/ms.js +1 -1
  116. package/dist/src/intl/nb.d.ts.map +1 -1
  117. package/dist/src/intl/nb.js +1 -1
  118. package/dist/src/intl/nl.d.ts.map +1 -1
  119. package/dist/src/intl/nl.js +1 -1
  120. package/dist/src/intl/pa.d.ts.map +1 -1
  121. package/dist/src/intl/pa.js +1 -1
  122. package/dist/src/intl/pl.d.ts.map +1 -1
  123. package/dist/src/intl/pl.js +1 -1
  124. package/dist/src/intl/pt-BR.d.ts.map +1 -1
  125. package/dist/src/intl/pt-BR.js +1 -1
  126. package/dist/src/intl/pt.d.ts.map +1 -1
  127. package/dist/src/intl/pt.js +1 -1
  128. package/dist/src/intl/ro.d.ts.map +1 -1
  129. package/dist/src/intl/ro.js +1 -1
  130. package/dist/src/intl/sk.d.ts.map +1 -1
  131. package/dist/src/intl/sk.js +1 -1
  132. package/dist/src/intl/sl.d.ts.map +1 -1
  133. package/dist/src/intl/sl.js +1 -1
  134. package/dist/src/intl/sv.d.ts.map +1 -1
  135. package/dist/src/intl/sv.js +1 -1
  136. package/dist/src/intl/sw.d.ts.map +1 -1
  137. package/dist/src/intl/sw.js +1 -1
  138. package/dist/src/intl/ta.d.ts.map +1 -1
  139. package/dist/src/intl/ta.js +1 -1
  140. package/dist/src/intl/te.d.ts.map +1 -1
  141. package/dist/src/intl/te.js +1 -1
  142. package/dist/src/intl/th.d.ts.map +1 -1
  143. package/dist/src/intl/th.js +1 -1
  144. package/dist/src/intl/tr.d.ts.map +1 -1
  145. package/dist/src/intl/tr.js +1 -1
  146. package/dist/src/intl/uk.d.ts.map +1 -1
  147. package/dist/src/intl/uk.js +1 -1
  148. package/dist/src/intl/ur.d.ts.map +1 -1
  149. package/dist/src/intl/ur.js +1 -1
  150. package/dist/src/intl/vi.d.ts.map +1 -1
  151. package/dist/src/intl/vi.js +1 -1
  152. package/dist/src/intl/zh-CN.d.ts.map +1 -1
  153. package/dist/src/intl/zh-CN.js +1 -1
  154. package/dist/src/intl/zh-TW.d.ts.map +1 -1
  155. package/dist/src/intl/zh-TW.js +1 -1
  156. package/dist/src/local-first/Evolu.d.ts +12 -12
  157. package/dist/src/local-first/Evolu.d.ts.map +1 -1
  158. package/dist/src/local-first/Evolu.js +2 -2
  159. package/dist/src/local-first/Protocol.d.ts +28 -76
  160. package/dist/src/local-first/Protocol.d.ts.map +1 -1
  161. package/dist/src/local-first/Protocol.js +45 -229
  162. package/dist/src/local-first/Query.d.ts +11 -11
  163. package/dist/src/local-first/Query.js +6 -6
  164. package/dist/src/local-first/Relay.d.ts +2 -2
  165. package/dist/src/local-first/Schema.d.ts +3 -5
  166. package/dist/src/local-first/Schema.d.ts.map +1 -1
  167. package/dist/src/local-first/Schema.js +2 -4
  168. package/dist/src/local-first/Shared.d.ts.map +1 -1
  169. package/dist/src/local-first/Shared.js +5 -5
  170. package/dist/src/local-first/Storage.js +4 -4
  171. package/dist/src/local-first/Timestamp.d.ts +9 -0
  172. package/dist/src/local-first/Timestamp.d.ts.map +1 -1
  173. package/dist/src/local-first/Timestamp.js +13 -10
  174. package/package.json +7 -5
  175. package/src/Array.test.ts +809 -0
  176. package/src/Array.ts +21 -21
  177. package/src/Assert.test.ts +1181 -0
  178. package/src/Assert.ts +971 -227
  179. package/src/BigInt.test.ts +28 -0
  180. package/src/Binary.test.ts +1128 -0
  181. package/src/Binary.ts +1377 -0
  182. package/src/Brand.test.ts +90 -0
  183. package/src/Cache.test.ts +183 -0
  184. package/src/Callbacks.test.ts +66 -0
  185. package/src/Console.test.ts +809 -0
  186. package/src/Console.ts +9 -17
  187. package/src/Crypto.test.ts +138 -0
  188. package/src/Crypto.ts +5 -5
  189. package/src/Eq.test.ts +333 -0
  190. package/src/Eq.ts +110 -176
  191. package/src/Error.test.ts +118 -0
  192. package/src/Function.test.ts +204 -0
  193. package/src/Function.ts +10 -15
  194. package/src/Http.test.ts +816 -0
  195. package/src/Http.ts +6 -7
  196. package/src/LeakDetector.test.ts +210 -0
  197. package/src/LeakDetector.ts +1 -0
  198. package/src/LockManager.ts +2 -2
  199. package/src/Lookup.test.ts +418 -0
  200. package/src/Lookup.ts +4 -3
  201. package/src/Microtask.test.ts +140 -0
  202. package/src/Number.test.ts +218 -0
  203. package/src/Number.ts +2 -2
  204. package/src/Object.test.ts +293 -0
  205. package/src/Object.ts +5 -4
  206. package/src/Option.test.ts +104 -0
  207. package/src/Option.ts +1 -2
  208. package/src/Order.test.ts +56 -0
  209. package/src/Platform.ts +2 -0
  210. package/src/Polyfills.ts +3 -4
  211. package/src/Random.test.ts +89 -0
  212. package/src/Random.ts +1 -1
  213. package/src/Ref.test.ts +139 -0
  214. package/src/RefCount.test.ts +184 -0
  215. package/src/Relation.test.ts +505 -0
  216. package/src/Resource.test.ts +4623 -0
  217. package/src/Result.test.ts +1829 -0
  218. package/src/Result.ts +49 -54
  219. package/src/Schedule.test.ts +1554 -0
  220. package/src/Set.test.ts +279 -0
  221. package/src/Set.ts +6 -6
  222. package/src/Sqlite.ts +1 -1
  223. package/src/Store.test.ts +288 -0
  224. package/src/String.test.ts +54 -0
  225. package/src/String.ts +3 -3
  226. package/src/Task.test.ts +10820 -0
  227. package/src/Task.ts +38 -43
  228. package/src/Test.test.ts +88 -0
  229. package/src/Test.ts +49 -3
  230. package/src/Time.test.ts +926 -0
  231. package/src/Time.ts +13 -21
  232. package/src/Type.base64.test.ts +88 -0
  233. package/src/Type.test.ts +20465 -0
  234. package/src/Type.ts +114 -111
  235. package/src/Types.test.ts +324 -0
  236. package/src/Types.ts +13 -13
  237. package/src/WebSocket.ts +4 -7
  238. package/src/Worker.test.ts +755 -0
  239. package/src/Worker.ts +13 -18
  240. package/src/index.ts +1 -1
  241. package/src/intl/_en.ts +1 -1
  242. package/src/intl/ar.ts +1 -1
  243. package/src/intl/bn.ts +1 -1
  244. package/src/intl/ca.ts +1 -1
  245. package/src/intl/cs.ts +1 -1
  246. package/src/intl/da.ts +1 -1
  247. package/src/intl/de.ts +1 -1
  248. package/src/intl/el.ts +1 -1
  249. package/src/intl/es.ts +1 -1
  250. package/src/intl/fa.ts +1 -1
  251. package/src/intl/fi.ts +1 -1
  252. package/src/intl/fil.ts +1 -1
  253. package/src/intl/fr.ts +1 -1
  254. package/src/intl/he.ts +1 -1
  255. package/src/intl/hi.ts +1 -1
  256. package/src/intl/hr.ts +1 -1
  257. package/src/intl/hu.ts +1 -1
  258. package/src/intl/id.ts +1 -1
  259. package/src/intl/intl.test.ts +3106 -0
  260. package/src/intl/it.ts +1 -1
  261. package/src/intl/ja.ts +1 -1
  262. package/src/intl/ko.ts +1 -1
  263. package/src/intl/ml.ts +1 -1
  264. package/src/intl/mr.ts +1 -1
  265. package/src/intl/ms.ts +1 -1
  266. package/src/intl/nb.ts +1 -1
  267. package/src/intl/nl.ts +1 -1
  268. package/src/intl/pa.ts +1 -1
  269. package/src/intl/pl.ts +1 -1
  270. package/src/intl/pt-BR.ts +1 -1
  271. package/src/intl/pt.ts +1 -1
  272. package/src/intl/ro.ts +1 -1
  273. package/src/intl/sk.ts +1 -1
  274. package/src/intl/sl.ts +1 -1
  275. package/src/intl/sv.ts +1 -1
  276. package/src/intl/sw.ts +1 -1
  277. package/src/intl/ta.ts +1 -1
  278. package/src/intl/te.ts +1 -1
  279. package/src/intl/th.ts +1 -1
  280. package/src/intl/tr.ts +1 -1
  281. package/src/intl/uk.ts +1 -1
  282. package/src/intl/ur.ts +1 -1
  283. package/src/intl/vi.ts +1 -1
  284. package/src/intl/zh-CN.ts +1 -1
  285. package/src/intl/zh-TW.ts +1 -1
  286. package/src/local-first/Evolu.test.ts +1921 -0
  287. package/src/local-first/Evolu.ts +18 -14
  288. package/src/local-first/Owner.test.ts +83 -0
  289. package/src/local-first/Protocol.test.ts +1037 -0
  290. package/src/local-first/Protocol.ts +75 -290
  291. package/src/local-first/Query.test.ts +349 -0
  292. package/src/local-first/Query.ts +11 -11
  293. package/src/local-first/Relay.ts +2 -2
  294. package/src/local-first/Schema.ts +3 -5
  295. package/src/local-first/Shared.test.ts +1828 -0
  296. package/src/local-first/Shared.ts +9 -8
  297. package/src/local-first/Storage.ts +4 -4
  298. package/src/local-first/Timestamp.test.ts +374 -0
  299. package/src/local-first/Timestamp.ts +22 -10
  300. package/dist/src/Buffer.d.ts +0 -122
  301. package/dist/src/Buffer.d.ts.map +0 -1
  302. package/dist/src/Buffer.js +0 -69
  303. package/src/Buffer.ts +0 -206
@@ -28,7 +28,7 @@
28
28
  * try {
29
29
  * throw new Error("Not found");
30
30
  * } catch (error) {
31
- * assertType<unknown, typeof error>();
31
+ * assertType<typeof error, unknown>();
32
32
  * }
33
33
  *
34
34
  * // With Result, errors are part of the return type.
@@ -130,8 +130,8 @@
130
130
  *
131
131
  * const profile = getCurrentProfile();
132
132
  * assertType<
133
- * Result<Profile, UserNotFoundError | ProfileNotFoundError>,
134
- * typeof profile
133
+ * typeof profile,
134
+ * Result<Profile, UserNotFoundError | ProfileNotFoundError>
135
135
  * >();
136
136
  * assertOk(profile, { userId: "user-1" });
137
137
  * ```
@@ -230,8 +230,8 @@ export type AnyResult = Result<any, any>;
230
230
  * const result = ok();
231
231
  * const count = ok(42);
232
232
  *
233
- * assertType<Result<void>, typeof result>();
234
- * assertType<Result<number>, typeof count>();
233
+ * assertType<typeof result, Result<void>>();
234
+ * assertType<typeof count, Result<number>>();
235
235
  * assertOk(result, undefined);
236
236
  * assertOk(count, 42);
237
237
  * ```
@@ -340,7 +340,7 @@ export declare const err: <E>(error: E) => Result<never, E>;
340
340
  *
341
341
  * const count = getCount();
342
342
  * if (isOk(count)) {
343
- * assertType<Ok<number>, typeof count>();
343
+ * assertType<typeof count, Ok<number>>();
344
344
  * assertEqual(count.value, 2);
345
345
  * }
346
346
  * ```
@@ -371,7 +371,7 @@ export declare const isOk: <T, E>(result: Result<T, E>) => result is Ok<T>;
371
371
  *
372
372
  * const count = getCount();
373
373
  * if (isErr(count)) {
374
- * assertType<Err<CountUnavailableError>, typeof count>();
374
+ * assertType<typeof count, Err<CountUnavailableError>>();
375
375
  * assertErr(count, { type: "CountUnavailable" });
376
376
  * }
377
377
  * ```
@@ -400,9 +400,10 @@ export declare const isErr: <T, E>(result: Result<T, E>) => result is Err<E>;
400
400
  *
401
401
  * ```ts
402
402
  * import {
403
- * assert,
404
- * assertErr,
405
403
  * assertEqual,
404
+ * assertErr,
405
+ * assertInstanceOf,
406
+ * assertSame,
406
407
  * assertType,
407
408
  * err,
408
409
  * getOrThrow,
@@ -423,21 +424,15 @@ export declare const isErr: <T, E>(result: Result<T, E>) => result is Err<E>;
423
424
  *
424
425
  * // At app startup, crash if the config is invalid.
425
426
  * const config = getOrThrow(loadConfig());
426
- * assertType<Config, typeof config>();
427
+ * assertType<typeof config, Config>();
427
428
  * assertEqual(config.port, 3000);
428
429
  *
429
- * const thrown = trySync(() => getOrThrow(err({ type: "InvalidConfig" })));
430
+ * const invalidConfigError: InvalidConfigError = { type: "InvalidConfig" };
431
+ * const thrown = trySync(() => getOrThrow(err(invalidConfigError)));
430
432
  * assertErr(thrown);
431
- * assert(thrown.error instanceof Error, "Expected an Error.");
433
+ * assertInstanceOf(thrown.error, Error);
432
434
  * assertEqual(thrown.error.message, "getOrThrow");
433
- * const cause = thrown.error.cause;
434
- * assert(
435
- * typeof cause === "object" &&
436
- * cause !== null &&
437
- * "type" in cause &&
438
- * cause.type === "InvalidConfig",
439
- * "Expected InvalidConfig cause.",
440
- * );
435
+ * assertSame(thrown.error.cause, invalidConfigError);
441
436
  * ```
442
437
  *
443
438
  * Throws: `Error` with the original error attached as `cause`.
@@ -480,7 +475,7 @@ export declare const getOrThrow: <T, E>(result: Result<T, E>) => T;
480
475
  * const user = getOrNull(findUser("user-1"));
481
476
  * const missingUser = getOrNull(findUser("missing"));
482
477
  *
483
- * assertType<User | null, typeof user>();
478
+ * assertType<typeof user, User | null>();
484
479
  * assertEqual(user, { id: "user-1" });
485
480
  * assertEqual(missingUser, null);
486
481
  * ```
@@ -508,7 +503,7 @@ export declare const getOrNull: <T, E>(result: Result<T, E>) => T | null;
508
503
  *
509
504
  * const getCount = (): Result<number> => ok(2);
510
505
  * const count = getOk(getCount());
511
- * assertType<number, typeof count>();
506
+ * assertType<typeof count, number>();
512
507
  * assertEqual(count, 2);
513
508
  * ```
514
509
  *
@@ -530,9 +525,9 @@ export declare const getOk: <T>(result: Result<T>) => T;
530
525
  *
531
526
  * ```ts
532
527
  * import {
533
- * assert,
534
- * assertErr,
535
528
  * assertEqual,
529
+ * assertErr,
530
+ * assertInstanceOf,
536
531
  * assertOk,
537
532
  * assertType,
538
533
  * trySync,
@@ -563,12 +558,12 @@ export declare const getOk: <T>(result: Result<T>) => T;
563
558
  * }
564
559
  *
565
560
  * const result = reserveSeat("B2");
566
- * assertType<Result<void, SeatUnavailableError>, typeof result>();
561
+ * assertType<typeof result, Result<void, SeatUnavailableError>>();
567
562
  * assertOk(result, undefined);
568
563
  * assertErr(reserveSeat("A1"), { type: "SeatUnavailable", seat: "A1" });
569
564
  * const databaseError = trySync(() => reserveSeat("B1"));
570
565
  * assertErr(databaseError);
571
- * assert(databaseError.error instanceof Error, "Expected an Error.");
566
+ * assertInstanceOf(databaseError.error, Error);
572
567
  * assertEqual(databaseError.error.message, "Database error");
573
568
  * ```
574
569
  *
@@ -592,9 +587,9 @@ export declare function trySync<T, E>(fn: () => T, mapError: (error: unknown) =>
592
587
  *
593
588
  * ```ts
594
589
  * import {
595
- * assert,
596
- * assertErr,
597
590
  * assertEqual,
591
+ * assertErr,
592
+ * assertInstanceOf,
598
593
  * assertOk,
599
594
  * assertType,
600
595
  * tryAsync,
@@ -630,7 +625,7 @@ export declare function trySync<T, E>(fn: () => T, mapError: (error: unknown) =>
630
625
  * }
631
626
  *
632
627
  * const result = await reserveSeat("B2");
633
- * assertType<Result<void, SeatUnavailableError>, typeof result>();
628
+ * assertType<typeof result, Result<void, SeatUnavailableError>>();
634
629
  * assertOk(result, undefined);
635
630
  * assertErr(await reserveSeat("A1"), {
636
631
  * type: "SeatUnavailable",
@@ -638,7 +633,7 @@ export declare function trySync<T, E>(fn: () => T, mapError: (error: unknown) =>
638
633
  * });
639
634
  * const databaseError = await tryAsync(() => reserveSeat("B1"));
640
635
  * assertErr(databaseError);
641
- * assert(databaseError.error instanceof Error, "Expected an Error.");
636
+ * assertInstanceOf(databaseError.error, Error);
642
637
  * assertEqual(databaseError.error.message, "Database error");
643
638
  * ```
644
639
  *
@@ -684,7 +679,7 @@ export declare function tryAsync<T, E>(promiseThunk: Thunk<Awaitable<T>>, mapErr
684
679
  * interface ReadFailedError extends Typed<"ReadFailed"> {}
685
680
  *
686
681
  * const value = next(0);
687
- * assertType<NextResult<string, ReadFailedError, number>, typeof value>();
682
+ * assertType<typeof value, NextResult<string, ReadFailedError, number>>();
688
683
  * assertOk(value, "first");
689
684
  * assertErr(next(1), { type: "ReadFailed" });
690
685
  * assertErr(next(2), { type: "Done", done: 2 });
@@ -709,8 +704,8 @@ export type NextResult<A, E = never, D = void> = Result<A, E | Done<D>>;
709
704
  *
710
705
  * const withoutValue = done();
711
706
  * const withValue = done(42);
712
- * assertType<Done<void>, typeof withoutValue>();
713
- * assertType<Done<number>, typeof withValue>();
707
+ * assertType<typeof withoutValue, Done<void>>();
708
+ * assertType<typeof withValue, Done<number>>();
714
709
  * assertEqual(withoutValue, { type: "Done", done: undefined });
715
710
  * assertEqual(withValue, { type: "Done", done: 42 });
716
711
  * ```
@@ -751,7 +746,7 @@ export declare function done<D>(value: D): Done<D>;
751
746
  *
752
747
  * interface ReadFailedError extends Typed<"ReadFailed"> {}
753
748
  *
754
- * assertType<ReadFailedError, ExcludeDone<Errors>>();
749
+ * assertType<ExcludeDone<Errors>, ReadFailedError>();
755
750
  * ```
756
751
  *
757
752
  * @group Pull
@@ -777,7 +772,7 @@ export type ExcludeDone<E> = Exclude<E, Done<any>>;
777
772
  *
778
773
  * interface ReadFailedError extends Typed<"ReadFailed"> {}
779
774
  *
780
- * assertType<Done<number>, OnlyDone<Errors>>();
775
+ * assertType<OnlyDone<Errors>, Done<number>>();
781
776
  * ```
782
777
  *
783
778
  * @group Pull
@@ -800,7 +795,7 @@ export type OnlyDone<E> = Extract<E, Done<any>>;
800
795
  *
801
796
  * interface ReadFailedError extends Typed<"ReadFailed"> {}
802
797
  *
803
- * assertType<number, InferDone<ReadResult>>();
798
+ * assertType<InferDone<ReadResult>, number>();
804
799
  * ```
805
800
  *
806
801
  * @group Pull
@@ -846,8 +841,8 @@ export type InferDone<R extends Result<any, any>> = InferErr<R> extends infer Er
846
841
  * const user: Result<User, UserNotFoundError> = ok({ id: "user-1" });
847
842
  * const profile = flatMapResult(user, ({ id }) => getProfile(id));
848
843
  * assertType<
849
- * Result<Profile, UserNotFoundError | ProfileNotFoundError>,
850
- * typeof profile
844
+ * typeof profile,
845
+ * Result<Profile, UserNotFoundError | ProfileNotFoundError>
851
846
  * >();
852
847
  * assertOk(profile, { userId: "user-1" });
853
848
  * ```
@@ -887,11 +882,11 @@ export declare const flatMapResult: <T, E, U, F>(result: Result<T, E>, fn: (valu
887
882
  *
888
883
  * const values = allResult([getCount(), getLabel()]);
889
884
  * assertType<
885
+ * typeof values,
890
886
  * Result<
891
887
  * readonly [number, string],
892
888
  * CountUnavailableError | LabelUnavailableError
893
- * >,
894
- * typeof values
889
+ * >
895
890
  * >();
896
891
  * assertOk(values, [2, "books"]);
897
892
  * ```
@@ -918,8 +913,8 @@ export declare function allResult<const T extends readonly [AnyResult, ...Readon
918
913
  * const resultsByName = { a: ok(1), b: ok(2) } as const;
919
914
  * const valuesByName = allResult(resultsByName);
920
915
  * assertType<
921
- * Result<{ readonly a: number; readonly b: number }>,
922
- * typeof valuesByName
916
+ * typeof valuesByName,
917
+ * Result<{ readonly a: number; readonly b: number }>
923
918
  * >();
924
919
  * assertOk(valuesByName, { a: 1, b: 2 });
925
920
  * ```
@@ -945,7 +940,7 @@ export declare function allResult<T extends Readonly<Record<string, AnyResult>>>
945
940
  *
946
941
  * const results: ReadonlyArray<Result<number>> = [ok(1), ok(2)];
947
942
  * const numbers = allResult(results);
948
- * assertType<Result<ReadonlyArray<number>>, typeof numbers>();
943
+ * assertType<typeof numbers, Result<ReadonlyArray<number>>>();
949
944
  * assertOk(numbers, [1, 2]);
950
945
  * ```
951
946
  */
@@ -967,7 +962,7 @@ export declare function allResult<T, E>(results: Iterable<Result<T, E>>): Result
967
962
  *
968
963
  * const results: NonEmptyReadonlyArray<Result<number>> = [ok(1), ok(2)];
969
964
  * const numbers = allResult(results);
970
- * assertType<Result<NonEmptyReadonlyArray<number>>, typeof numbers>();
965
+ * assertType<typeof numbers, Result<NonEmptyReadonlyArray<number>>>();
971
966
  * assertOk(numbers, [1, 2]);
972
967
  * ```
973
968
  */
@@ -987,7 +982,7 @@ export declare function allResult<T, E>(results: NonEmptyReadonlyArray<Result<T,
987
982
  * } from "@evolu/common";
988
983
  *
989
984
  * const result = allResult({ a: ok(1), b: ok(2) }, { collect: false });
990
- * assertType<Result<void>, typeof result>();
985
+ * assertType<typeof result, Result<void>>();
991
986
  * assertOk(result, undefined);
992
987
  * ```
993
988
  */
@@ -1013,7 +1008,7 @@ export declare function allResult<T extends Readonly<Record<string, AnyResult>>>
1013
1008
  *
1014
1009
  * const results: ReadonlyArray<Result<number>> = [ok(1), ok(2)];
1015
1010
  * const result = allResult(results, { collect: false });
1016
- * assertType<Result<void>, typeof result>();
1011
+ * assertType<typeof result, Result<void>>();
1017
1012
  * assertOk(result, undefined);
1018
1013
  * ```
1019
1014
  */
@@ -1037,11 +1032,11 @@ export declare function allResult<R extends AnyResult>(results: Iterable<R>, opt
1037
1032
  *
1038
1033
  * const numbers: NonEmptyReadonlyArray<number> = [1, 2];
1039
1034
  * const doubled = allResult(numbers, (number) => ok(number * 2));
1040
- * assertType<Result<NonEmptyReadonlyArray<number>>, typeof doubled>();
1035
+ * assertType<typeof doubled, Result<NonEmptyReadonlyArray<number>>>();
1041
1036
  * assertOk(doubled, [2, 4]);
1042
1037
  *
1043
1038
  * const tuple = allResult([1, 2] as const, (number) => ok(number * 2));
1044
- * assertType<Result<readonly [number, number]>, typeof tuple>();
1039
+ * assertType<typeof tuple, Result<readonly [number, number]>>();
1045
1040
  * assertOk(tuple, [2, 4]);
1046
1041
  * ```
1047
1042
  */
@@ -1064,7 +1059,7 @@ export declare function allResult<const A extends readonly [unknown, ...Array<un
1064
1059
  *
1065
1060
  * const numbers: Iterable<number> = new Set([1, 2]);
1066
1061
  * const doubled = allResult(numbers, (number) => ok(number * 2));
1067
- * assertType<Result<ReadonlyArray<number>>, typeof doubled>();
1062
+ * assertType<typeof doubled, Result<ReadonlyArray<number>>>();
1068
1063
  * assertOk(doubled, [2, 4]);
1069
1064
  * ```
1070
1065
  */
@@ -1092,8 +1087,8 @@ export declare function allResult<A, R extends AnyResult>(values: Iterable<A>, f
1092
1087
  * const userIdsByRole = { owner: "user-1", reviewer: "user-2" } as const;
1093
1088
  * const usersByRole = allResult(userIdsByRole, toUser);
1094
1089
  * assertType<
1095
- * Result<Readonly<Record<"owner" | "reviewer", User>>>,
1096
- * typeof usersByRole
1090
+ * typeof usersByRole,
1091
+ * Result<Readonly<Record<"owner" | "reviewer", User>>>
1097
1092
  * >();
1098
1093
  * assertOk(usersByRole, {
1099
1094
  * owner: { id: "user-1" },
@@ -1131,7 +1126,7 @@ export declare function allResult<A, R extends AnyResult, K extends string>(valu
1131
1126
  * collect: false,
1132
1127
  * },
1133
1128
  * );
1134
- * assertType<Result<void>, typeof result>();
1129
+ * assertType<typeof result, Result<void>>();
1135
1130
  * assertOk(result, undefined);
1136
1131
  * assertEqual(visited, [1, 2]);
1137
1132
  * ```
@@ -1156,7 +1151,7 @@ export declare function allResult<A, R extends AnyResult>(values: Iterable<A>, f
1156
1151
  * const result = allResult({ a: 1, b: 2 }, (number) => ok(number * 2), {
1157
1152
  * collect: false,
1158
1153
  * });
1159
- * assertType<Result<void>, typeof result>();
1154
+ * assertType<typeof result, Result<void>>();
1160
1155
  * assertOk(result, undefined);
1161
1156
  * ```
1162
1157
  */
@@ -1190,7 +1185,7 @@ export declare function allResult<A, R extends AnyResult, K extends string>(valu
1190
1185
  * interface CacheMissError extends Typed<"CacheMiss"> {}
1191
1186
  *
1192
1187
  * const number = anyResult([getCachedPrice(), ok(42)]);
1193
- * assertType<Result<number, CacheMissError>, typeof number>();
1188
+ * assertType<typeof number, Result<number, CacheMissError>>();
1194
1189
  * assertOk(number, 42);
1195
1190
  * ```
1196
1191
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Result.d.ts","sourceRoot":"","sources":["../../src/Result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Result.d.ts","sourceRoot":"","sources":["../../src/Result.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@
28
28
  * try {
29
29
  * throw new Error("Not found");
30
30
  * } catch (error) {
31
- * assertType<unknown, typeof error>();
31
+ * assertType<typeof error, unknown>();
32
32
  * }
33
33
  *
34
34
  * // With Result, errors are part of the return type.
@@ -130,8 +130,8 @@
130
130
  *
131
131
  * const profile = getCurrentProfile();
132
132
  * assertType<
133
- * Result<Profile, UserNotFoundError | ProfileNotFoundError>,
134
- * typeof profile
133
+ * typeof profile,
134
+ * Result<Profile, UserNotFoundError | ProfileNotFoundError>
135
135
  * >();
136
136
  * assertOk(profile, { userId: "user-1" });
137
137
  * ```
@@ -240,7 +240,7 @@ export const err = (error) => ({ ok: false, error });
240
240
  *
241
241
  * const count = getCount();
242
242
  * if (isOk(count)) {
243
- * assertType<Ok<number>, typeof count>();
243
+ * assertType<typeof count, Ok<number>>();
244
244
  * assertEqual(count.value, 2);
245
245
  * }
246
246
  * ```
@@ -271,7 +271,7 @@ export const isOk = (result) => result.ok;
271
271
  *
272
272
  * const count = getCount();
273
273
  * if (isErr(count)) {
274
- * assertType<Err<CountUnavailableError>, typeof count>();
274
+ * assertType<typeof count, Err<CountUnavailableError>>();
275
275
  * assertErr(count, { type: "CountUnavailable" });
276
276
  * }
277
277
  * ```
@@ -300,9 +300,10 @@ export const isErr = (result) => !result.ok;
300
300
  *
301
301
  * ```ts
302
302
  * import {
303
- * assert,
304
- * assertErr,
305
303
  * assertEqual,
304
+ * assertErr,
305
+ * assertInstanceOf,
306
+ * assertSame,
306
307
  * assertType,
307
308
  * err,
308
309
  * getOrThrow,
@@ -323,21 +324,15 @@ export const isErr = (result) => !result.ok;
323
324
  *
324
325
  * // At app startup, crash if the config is invalid.
325
326
  * const config = getOrThrow(loadConfig());
326
- * assertType<Config, typeof config>();
327
+ * assertType<typeof config, Config>();
327
328
  * assertEqual(config.port, 3000);
328
329
  *
329
- * const thrown = trySync(() => getOrThrow(err({ type: "InvalidConfig" })));
330
+ * const invalidConfigError: InvalidConfigError = { type: "InvalidConfig" };
331
+ * const thrown = trySync(() => getOrThrow(err(invalidConfigError)));
330
332
  * assertErr(thrown);
331
- * assert(thrown.error instanceof Error, "Expected an Error.");
333
+ * assertInstanceOf(thrown.error, Error);
332
334
  * assertEqual(thrown.error.message, "getOrThrow");
333
- * const cause = thrown.error.cause;
334
- * assert(
335
- * typeof cause === "object" &&
336
- * cause !== null &&
337
- * "type" in cause &&
338
- * cause.type === "InvalidConfig",
339
- * "Expected InvalidConfig cause.",
340
- * );
335
+ * assertSame(thrown.error.cause, invalidConfigError);
341
336
  * ```
342
337
  *
343
338
  * Throws: `Error` with the original error attached as `cause`.
@@ -385,7 +380,7 @@ export const getOrThrow = (result) => {
385
380
  * const user = getOrNull(findUser("user-1"));
386
381
  * const missingUser = getOrNull(findUser("missing"));
387
382
  *
388
- * assertType<User | null, typeof user>();
383
+ * assertType<typeof user, User | null>();
389
384
  * assertEqual(user, { id: "user-1" });
390
385
  * assertEqual(missingUser, null);
391
386
  * ```
@@ -413,7 +408,7 @@ export const getOrNull = (result) => result.ok ? result.value : null;
413
408
  *
414
409
  * const getCount = (): Result<number> => ok(2);
415
410
  * const count = getOk(getCount());
416
- * assertType<number, typeof count>();
411
+ * assertType<typeof count, number>();
417
412
  * assertEqual(count, 2);
418
413
  * ```
419
414
  *
@@ -485,8 +480,8 @@ export function done(value) {
485
480
  * const user: Result<User, UserNotFoundError> = ok({ id: "user-1" });
486
481
  * const profile = flatMapResult(user, ({ id }) => getProfile(id));
487
482
  * assertType<
488
- * Result<Profile, UserNotFoundError | ProfileNotFoundError>,
489
- * typeof profile
483
+ * typeof profile,
484
+ * Result<Profile, UserNotFoundError | ProfileNotFoundError>
490
485
  * >();
491
486
  * assertOk(profile, { userId: "user-1" });
492
487
  * ```
package/dist/src/Set.d.ts CHANGED
@@ -66,8 +66,8 @@ export declare const emptySet: ReadonlySet<never>;
66
66
  * const values = createSet([1, 2, 3]);
67
67
  * const empty = createSet([] as ReadonlyArray<number>);
68
68
  *
69
- * assertType<NonEmptyReadonlySet<number>, typeof values>();
70
- * assertType<ReadonlySet<number>, typeof empty>();
69
+ * assertType<typeof values, NonEmptyReadonlySet<number>>();
70
+ * assertType<typeof empty, ReadonlySet<number>>();
71
71
  * assertEqual(values, new Set([1, 2, 3]));
72
72
  * ```
73
73
  *
@@ -114,7 +114,7 @@ export type NonEmptyReadonlySet<T> = ReadonlySet<T> & Brand<"NonEmpty">;
114
114
  * const set: ReadonlySet<number> = new Set([1, 2, 3]);
115
115
  * if (!isNonEmptySet(set)) throw new Error("Expected a non-empty set");
116
116
  *
117
- * assertType<NonEmptyReadonlySet<number>, typeof set>();
117
+ * assertType<typeof set, NonEmptyReadonlySet<number>>();
118
118
  * assertEqual(set.size, 3);
119
119
  * ```
120
120
  *
@@ -142,7 +142,7 @@ export declare const isNonEmptySet: <T>(set: ReadonlySet<T>) => set is NonEmptyR
142
142
  * const added = addToSet(original, 3);
143
143
  * const unchanged = addToSet(original, 2);
144
144
  *
145
- * assertType<NonEmptyReadonlySet<number>, typeof added>();
145
+ * assertType<typeof added, NonEmptyReadonlySet<number>>();
146
146
  * assertEqual(added, new Set([1, 2, 3]));
147
147
  * assertTrue(unchanged !== original);
148
148
  * ```
@@ -192,7 +192,7 @@ export declare const deleteFromSet: <T>(set: ReadonlySet<T>, item: T) => Readonl
192
192
  * const doubled = mapSet(original, (x) => x * 2);
193
193
  * const parity = mapSet(original, (x) => x % 2);
194
194
  *
195
- * assertType<NonEmptyReadonlySet<number>, typeof doubled>();
195
+ * assertType<typeof doubled, NonEmptyReadonlySet<number>>();
196
196
  * assertEqual(doubled, new Set([2, 4, 6]));
197
197
  * assertEqual(parity, new Set([1, 0]));
198
198
  * ```
@@ -222,7 +222,7 @@ export declare function mapSet<T, U>(set: ReadonlySet<T>, mapper: (item: T) => U
222
222
  * mixed,
223
223
  * (value): value is string => typeof value === "string",
224
224
  * );
225
- * assertType<ReadonlySet<string>, typeof strings>();
225
+ * assertType<typeof strings, ReadonlySet<string>>();
226
226
  * assertEqual(strings, new Set(["a", "b"]));
227
227
  * ```
228
228
  *
package/dist/src/Set.js CHANGED
@@ -73,7 +73,7 @@ export function createSet(items) {
73
73
  * const set: ReadonlySet<number> = new Set([1, 2, 3]);
74
74
  * if (!isNonEmptySet(set)) throw new Error("Expected a non-empty set");
75
75
  *
76
- * assertType<NonEmptyReadonlySet<number>, typeof set>();
76
+ * assertType<typeof set, NonEmptyReadonlySet<number>>();
77
77
  * assertEqual(set.size, 3);
78
78
  * ```
79
79
  *
@@ -101,7 +101,7 @@ export const isNonEmptySet = (set) => set.size > 0;
101
101
  * const added = addToSet(original, 3);
102
102
  * const unchanged = addToSet(original, 2);
103
103
  *
104
- * assertType<NonEmptyReadonlySet<number>, typeof added>();
104
+ * assertType<typeof added, NonEmptyReadonlySet<number>>();
105
105
  * assertEqual(added, new Set([1, 2, 3]));
106
106
  * assertTrue(unchanged !== original);
107
107
  * ```
@@ -55,7 +55,7 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
55
55
  var e = new Error(message);
56
56
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
57
57
  });
58
- import { bytesToHex, hexToBytes } from "./Buffer.js";
58
+ import { bytesToHex, hexToBytes } from "./Binary.js";
59
59
  import { createEqObject, eqString, eqUint8Array } from "./Eq.js";
60
60
  import { disposable } from "./Function.js";
61
61
  import { createMutableRecord, objectToEntries } from "./Object.js";
@@ -13,7 +13,7 @@ export const safelyStringifyUnknownValue = (value) => {
13
13
  if (typeof value === "string")
14
14
  return JSON.stringify(value);
15
15
  if (value === null || typeof value !== "object")
16
- return globalThis.String(value);
16
+ return String(value);
17
17
  try {
18
18
  // `JSON.stringify` can return `undefined` when `toJSON` does.
19
19
  const stringifiedValue = JSON.stringify(value);
@@ -24,7 +24,8 @@ export const safelyStringifyUnknownValue = (value) => {
24
24
  // Fall through to a simpler representation.
25
25
  }
26
26
  try {
27
- return globalThis.String(value);
27
+ // oxlint-disable-next-line typescript/no-base-to-string -- This is the intentional last-resort representation.
28
+ return String(value);
28
29
  }
29
30
  catch {
30
31
  return "[Unserializable value]";