@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.
- package/dist/src/Array.d.ts +21 -21
- package/dist/src/Array.js +5 -5
- package/dist/src/Assert.d.ts +478 -141
- package/dist/src/Assert.d.ts.map +1 -1
- package/dist/src/Assert.js +644 -99
- package/dist/src/Binary.d.ts +254 -0
- package/dist/src/Binary.d.ts.map +1 -0
- package/dist/src/Binary.js +958 -0
- package/dist/src/Console.d.ts +2 -10
- package/dist/src/Console.d.ts.map +1 -1
- package/dist/src/Console.js +6 -12
- package/dist/src/Crypto.d.ts +5 -5
- package/dist/src/Crypto.js +1 -1
- package/dist/src/Eq.d.ts +35 -40
- package/dist/src/Eq.d.ts.map +1 -1
- package/dist/src/Eq.js +51 -87
- package/dist/src/Function.d.ts +9 -14
- package/dist/src/Function.d.ts.map +1 -1
- package/dist/src/Function.js +7 -9
- package/dist/src/Http.d.ts +6 -7
- package/dist/src/Http.d.ts.map +1 -1
- package/dist/src/LeakDetector.d.ts.map +1 -1
- package/dist/src/LeakDetector.js +1 -0
- package/dist/src/LockManager.d.ts +1 -1
- package/dist/src/LockManager.js +1 -1
- package/dist/src/Lookup.d.ts +3 -2
- package/dist/src/Lookup.d.ts.map +1 -1
- package/dist/src/Lookup.js +4 -3
- package/dist/src/Number.d.ts +1 -1
- package/dist/src/Number.d.ts.map +1 -1
- package/dist/src/Number.js +1 -1
- package/dist/src/Object.d.ts +4 -4
- package/dist/src/Object.d.ts.map +1 -1
- package/dist/src/Object.js +5 -4
- package/dist/src/Option.d.ts +1 -2
- package/dist/src/Option.d.ts.map +1 -1
- package/dist/src/Option.js +1 -2
- package/dist/src/Platform.js +2 -0
- package/dist/src/Polyfills.js +4 -1
- package/dist/src/Random.d.ts +1 -1
- package/dist/src/Result.d.ts +49 -54
- package/dist/src/Result.d.ts.map +1 -1
- package/dist/src/Result.js +17 -22
- package/dist/src/Set.d.ts +6 -6
- package/dist/src/Set.js +2 -2
- package/dist/src/Sqlite.js +1 -1
- package/dist/src/String.js +3 -2
- package/dist/src/Task.d.ts +32 -32
- package/dist/src/Task.d.ts.map +1 -1
- package/dist/src/Task.js +20 -22
- package/dist/src/Test.d.ts +31 -3
- package/dist/src/Test.d.ts.map +1 -1
- package/dist/src/Test.js +46 -3
- package/dist/src/Time.d.ts +3 -11
- package/dist/src/Time.d.ts.map +1 -1
- package/dist/src/Time.js +10 -18
- package/dist/src/Type.d.ts +87 -85
- package/dist/src/Type.d.ts.map +1 -1
- package/dist/src/Type.js +70 -63
- package/dist/src/Types.d.ts +12 -12
- package/dist/src/Types.js +1 -1
- package/dist/src/WebSocket.d.ts +4 -7
- package/dist/src/WebSocket.d.ts.map +1 -1
- package/dist/src/Worker.d.ts +1 -1
- package/dist/src/Worker.js +7 -7
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/intl/_en.d.ts.map +1 -1
- package/dist/src/intl/_en.js +1 -1
- package/dist/src/intl/ar.d.ts.map +1 -1
- package/dist/src/intl/ar.js +1 -1
- package/dist/src/intl/bn.d.ts.map +1 -1
- package/dist/src/intl/bn.js +1 -1
- package/dist/src/intl/ca.d.ts.map +1 -1
- package/dist/src/intl/ca.js +1 -1
- package/dist/src/intl/cs.d.ts.map +1 -1
- package/dist/src/intl/cs.js +1 -1
- package/dist/src/intl/da.d.ts.map +1 -1
- package/dist/src/intl/da.js +1 -1
- package/dist/src/intl/de.d.ts.map +1 -1
- package/dist/src/intl/de.js +1 -1
- package/dist/src/intl/el.d.ts.map +1 -1
- package/dist/src/intl/el.js +1 -1
- package/dist/src/intl/es.d.ts.map +1 -1
- package/dist/src/intl/es.js +1 -1
- package/dist/src/intl/fa.d.ts.map +1 -1
- package/dist/src/intl/fa.js +1 -1
- package/dist/src/intl/fi.d.ts.map +1 -1
- package/dist/src/intl/fi.js +1 -1
- package/dist/src/intl/fil.d.ts.map +1 -1
- package/dist/src/intl/fil.js +1 -1
- package/dist/src/intl/fr.d.ts.map +1 -1
- package/dist/src/intl/fr.js +1 -1
- package/dist/src/intl/he.d.ts.map +1 -1
- package/dist/src/intl/he.js +1 -1
- package/dist/src/intl/hi.d.ts.map +1 -1
- package/dist/src/intl/hi.js +1 -1
- package/dist/src/intl/hr.d.ts.map +1 -1
- package/dist/src/intl/hr.js +1 -1
- package/dist/src/intl/hu.d.ts.map +1 -1
- package/dist/src/intl/hu.js +1 -1
- package/dist/src/intl/id.d.ts.map +1 -1
- package/dist/src/intl/id.js +1 -1
- package/dist/src/intl/it.d.ts.map +1 -1
- package/dist/src/intl/it.js +1 -1
- package/dist/src/intl/ja.d.ts.map +1 -1
- package/dist/src/intl/ja.js +1 -1
- package/dist/src/intl/ko.d.ts.map +1 -1
- package/dist/src/intl/ko.js +1 -1
- package/dist/src/intl/ml.d.ts.map +1 -1
- package/dist/src/intl/ml.js +1 -1
- package/dist/src/intl/mr.d.ts.map +1 -1
- package/dist/src/intl/mr.js +1 -1
- package/dist/src/intl/ms.d.ts.map +1 -1
- package/dist/src/intl/ms.js +1 -1
- package/dist/src/intl/nb.d.ts.map +1 -1
- package/dist/src/intl/nb.js +1 -1
- package/dist/src/intl/nl.d.ts.map +1 -1
- package/dist/src/intl/nl.js +1 -1
- package/dist/src/intl/pa.d.ts.map +1 -1
- package/dist/src/intl/pa.js +1 -1
- package/dist/src/intl/pl.d.ts.map +1 -1
- package/dist/src/intl/pl.js +1 -1
- package/dist/src/intl/pt-BR.d.ts.map +1 -1
- package/dist/src/intl/pt-BR.js +1 -1
- package/dist/src/intl/pt.d.ts.map +1 -1
- package/dist/src/intl/pt.js +1 -1
- package/dist/src/intl/ro.d.ts.map +1 -1
- package/dist/src/intl/ro.js +1 -1
- package/dist/src/intl/sk.d.ts.map +1 -1
- package/dist/src/intl/sk.js +1 -1
- package/dist/src/intl/sl.d.ts.map +1 -1
- package/dist/src/intl/sl.js +1 -1
- package/dist/src/intl/sv.d.ts.map +1 -1
- package/dist/src/intl/sv.js +1 -1
- package/dist/src/intl/sw.d.ts.map +1 -1
- package/dist/src/intl/sw.js +1 -1
- package/dist/src/intl/ta.d.ts.map +1 -1
- package/dist/src/intl/ta.js +1 -1
- package/dist/src/intl/te.d.ts.map +1 -1
- package/dist/src/intl/te.js +1 -1
- package/dist/src/intl/th.d.ts.map +1 -1
- package/dist/src/intl/th.js +1 -1
- package/dist/src/intl/tr.d.ts.map +1 -1
- package/dist/src/intl/tr.js +1 -1
- package/dist/src/intl/uk.d.ts.map +1 -1
- package/dist/src/intl/uk.js +1 -1
- package/dist/src/intl/ur.d.ts.map +1 -1
- package/dist/src/intl/ur.js +1 -1
- package/dist/src/intl/vi.d.ts.map +1 -1
- package/dist/src/intl/vi.js +1 -1
- package/dist/src/intl/zh-CN.d.ts.map +1 -1
- package/dist/src/intl/zh-CN.js +1 -1
- package/dist/src/intl/zh-TW.d.ts.map +1 -1
- package/dist/src/intl/zh-TW.js +1 -1
- package/dist/src/local-first/Evolu.d.ts +12 -12
- package/dist/src/local-first/Evolu.d.ts.map +1 -1
- package/dist/src/local-first/Evolu.js +2 -2
- package/dist/src/local-first/Protocol.d.ts +28 -76
- package/dist/src/local-first/Protocol.d.ts.map +1 -1
- package/dist/src/local-first/Protocol.js +45 -229
- package/dist/src/local-first/Query.d.ts +11 -11
- package/dist/src/local-first/Query.js +6 -6
- package/dist/src/local-first/Relay.d.ts +2 -2
- package/dist/src/local-first/Schema.d.ts +3 -5
- package/dist/src/local-first/Schema.d.ts.map +1 -1
- package/dist/src/local-first/Schema.js +2 -4
- package/dist/src/local-first/Shared.d.ts.map +1 -1
- package/dist/src/local-first/Shared.js +5 -5
- package/dist/src/local-first/Storage.js +4 -4
- package/dist/src/local-first/Timestamp.d.ts +9 -0
- package/dist/src/local-first/Timestamp.d.ts.map +1 -1
- package/dist/src/local-first/Timestamp.js +13 -10
- package/package.json +7 -5
- package/src/Array.test.ts +809 -0
- package/src/Array.ts +21 -21
- package/src/Assert.test.ts +1181 -0
- package/src/Assert.ts +971 -227
- package/src/BigInt.test.ts +28 -0
- package/src/Binary.test.ts +1128 -0
- package/src/Binary.ts +1377 -0
- package/src/Brand.test.ts +90 -0
- package/src/Cache.test.ts +183 -0
- package/src/Callbacks.test.ts +66 -0
- package/src/Console.test.ts +809 -0
- package/src/Console.ts +9 -17
- package/src/Crypto.test.ts +138 -0
- package/src/Crypto.ts +5 -5
- package/src/Eq.test.ts +333 -0
- package/src/Eq.ts +110 -176
- package/src/Error.test.ts +118 -0
- package/src/Function.test.ts +204 -0
- package/src/Function.ts +10 -15
- package/src/Http.test.ts +816 -0
- package/src/Http.ts +6 -7
- package/src/LeakDetector.test.ts +210 -0
- package/src/LeakDetector.ts +1 -0
- package/src/LockManager.ts +2 -2
- package/src/Lookup.test.ts +418 -0
- package/src/Lookup.ts +4 -3
- package/src/Microtask.test.ts +140 -0
- package/src/Number.test.ts +218 -0
- package/src/Number.ts +2 -2
- package/src/Object.test.ts +293 -0
- package/src/Object.ts +5 -4
- package/src/Option.test.ts +104 -0
- package/src/Option.ts +1 -2
- package/src/Order.test.ts +56 -0
- package/src/Platform.ts +2 -0
- package/src/Polyfills.ts +3 -4
- package/src/Random.test.ts +89 -0
- package/src/Random.ts +1 -1
- package/src/Ref.test.ts +139 -0
- package/src/RefCount.test.ts +184 -0
- package/src/Relation.test.ts +505 -0
- package/src/Resource.test.ts +4623 -0
- package/src/Result.test.ts +1829 -0
- package/src/Result.ts +49 -54
- package/src/Schedule.test.ts +1554 -0
- package/src/Set.test.ts +279 -0
- package/src/Set.ts +6 -6
- package/src/Sqlite.ts +1 -1
- package/src/Store.test.ts +288 -0
- package/src/String.test.ts +54 -0
- package/src/String.ts +3 -3
- package/src/Task.test.ts +10820 -0
- package/src/Task.ts +38 -43
- package/src/Test.test.ts +88 -0
- package/src/Test.ts +49 -3
- package/src/Time.test.ts +926 -0
- package/src/Time.ts +13 -21
- package/src/Type.base64.test.ts +88 -0
- package/src/Type.test.ts +20465 -0
- package/src/Type.ts +114 -111
- package/src/Types.test.ts +324 -0
- package/src/Types.ts +13 -13
- package/src/WebSocket.ts +4 -7
- package/src/Worker.test.ts +755 -0
- package/src/Worker.ts +13 -18
- package/src/index.ts +1 -1
- package/src/intl/_en.ts +1 -1
- package/src/intl/ar.ts +1 -1
- package/src/intl/bn.ts +1 -1
- package/src/intl/ca.ts +1 -1
- package/src/intl/cs.ts +1 -1
- package/src/intl/da.ts +1 -1
- package/src/intl/de.ts +1 -1
- package/src/intl/el.ts +1 -1
- package/src/intl/es.ts +1 -1
- package/src/intl/fa.ts +1 -1
- package/src/intl/fi.ts +1 -1
- package/src/intl/fil.ts +1 -1
- package/src/intl/fr.ts +1 -1
- package/src/intl/he.ts +1 -1
- package/src/intl/hi.ts +1 -1
- package/src/intl/hr.ts +1 -1
- package/src/intl/hu.ts +1 -1
- package/src/intl/id.ts +1 -1
- package/src/intl/intl.test.ts +3106 -0
- package/src/intl/it.ts +1 -1
- package/src/intl/ja.ts +1 -1
- package/src/intl/ko.ts +1 -1
- package/src/intl/ml.ts +1 -1
- package/src/intl/mr.ts +1 -1
- package/src/intl/ms.ts +1 -1
- package/src/intl/nb.ts +1 -1
- package/src/intl/nl.ts +1 -1
- package/src/intl/pa.ts +1 -1
- package/src/intl/pl.ts +1 -1
- package/src/intl/pt-BR.ts +1 -1
- package/src/intl/pt.ts +1 -1
- package/src/intl/ro.ts +1 -1
- package/src/intl/sk.ts +1 -1
- package/src/intl/sl.ts +1 -1
- package/src/intl/sv.ts +1 -1
- package/src/intl/sw.ts +1 -1
- package/src/intl/ta.ts +1 -1
- package/src/intl/te.ts +1 -1
- package/src/intl/th.ts +1 -1
- package/src/intl/tr.ts +1 -1
- package/src/intl/uk.ts +1 -1
- package/src/intl/ur.ts +1 -1
- package/src/intl/vi.ts +1 -1
- package/src/intl/zh-CN.ts +1 -1
- package/src/intl/zh-TW.ts +1 -1
- package/src/local-first/Evolu.test.ts +1921 -0
- package/src/local-first/Evolu.ts +18 -14
- package/src/local-first/Owner.test.ts +83 -0
- package/src/local-first/Protocol.test.ts +1037 -0
- package/src/local-first/Protocol.ts +75 -290
- package/src/local-first/Query.test.ts +349 -0
- package/src/local-first/Query.ts +11 -11
- package/src/local-first/Relay.ts +2 -2
- package/src/local-first/Schema.ts +3 -5
- package/src/local-first/Shared.test.ts +1828 -0
- package/src/local-first/Shared.ts +9 -8
- package/src/local-first/Storage.ts +4 -4
- package/src/local-first/Timestamp.test.ts +374 -0
- package/src/local-first/Timestamp.ts +22 -10
- package/dist/src/Buffer.d.ts +0 -122
- package/dist/src/Buffer.d.ts.map +0 -1
- package/dist/src/Buffer.js +0 -69
- package/src/Buffer.ts +0 -206
package/dist/src/Console.d.ts
CHANGED
|
@@ -326,7 +326,7 @@ export declare const createConsole: ({ name, level, output, path, formatter, }?:
|
|
|
326
326
|
*
|
|
327
327
|
* const output = createNativeConsoleOutput();
|
|
328
328
|
*
|
|
329
|
-
* assertType<
|
|
329
|
+
* assertType<typeof output, ConsoleOutput>();
|
|
330
330
|
* assertEqual(typeof output.write, "function");
|
|
331
331
|
* ```
|
|
332
332
|
*/
|
|
@@ -371,15 +371,7 @@ export declare const createNativeConsoleOutput: () => ConsoleOutput;
|
|
|
371
371
|
* assertType(Data, nested);
|
|
372
372
|
* assertEqual(nested, ["+1.500s [relay] [db]", "opened"]);
|
|
373
373
|
*
|
|
374
|
-
* const localTimestamp = new
|
|
375
|
-
* 2026,
|
|
376
|
-
* 0,
|
|
377
|
-
* 28,
|
|
378
|
-
* 14,
|
|
379
|
-
* 30,
|
|
380
|
-
* 15,
|
|
381
|
-
* 123,
|
|
382
|
-
* ).getTime();
|
|
374
|
+
* const localTimestamp = new Date(2026, 0, 28, 14, 30, 15, 123).getTime();
|
|
383
375
|
* const formatAbsolute = createConsoleFormatter({
|
|
384
376
|
* time: testCreateTime({ startAt: Millis.orThrow(localTimestamp) }),
|
|
385
377
|
* })({ timestampFormat: "absolute" });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Console.d.ts","sourceRoot":"","sources":["../../src/Console.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Console.d.ts","sourceRoot":"","sources":["../../src/Console.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Console.js
CHANGED
|
@@ -71,14 +71,16 @@ export const createConsole = ({ name = "", level = "log", output = createNativeC
|
|
|
71
71
|
*
|
|
72
72
|
* const output = createNativeConsoleOutput();
|
|
73
73
|
*
|
|
74
|
-
* assertType<
|
|
74
|
+
* assertType<typeof output, ConsoleOutput>();
|
|
75
75
|
* assertEqual(typeof output.write, "function");
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
78
|
export const createNativeConsoleOutput = () => ({
|
|
79
79
|
write: (entry, formatter) => {
|
|
80
80
|
const args = formatter ? formatter(entry) : entry.args;
|
|
81
|
-
|
|
81
|
+
// oxlint-disable-next-line evolu/no-unnecessary-global-this -- Write to the global object console even if a realm lexical binding shadows it.
|
|
82
|
+
const nativeConsole = globalThis.console;
|
|
83
|
+
nativeConsole[entry.method](...args);
|
|
82
84
|
},
|
|
83
85
|
});
|
|
84
86
|
/**
|
|
@@ -121,15 +123,7 @@ export const createNativeConsoleOutput = () => ({
|
|
|
121
123
|
* assertType(Data, nested);
|
|
122
124
|
* assertEqual(nested, ["+1.500s [relay] [db]", "opened"]);
|
|
123
125
|
*
|
|
124
|
-
* const localTimestamp = new
|
|
125
|
-
* 2026,
|
|
126
|
-
* 0,
|
|
127
|
-
* 28,
|
|
128
|
-
* 14,
|
|
129
|
-
* 30,
|
|
130
|
-
* 15,
|
|
131
|
-
* 123,
|
|
132
|
-
* ).getTime();
|
|
126
|
+
* const localTimestamp = new Date(2026, 0, 28, 14, 30, 15, 123).getTime();
|
|
133
127
|
* const formatAbsolute = createConsoleFormatter({
|
|
134
128
|
* time: testCreateTime({ startAt: Millis.orThrow(localTimestamp) }),
|
|
135
129
|
* })({ timestampFormat: "absolute" });
|
|
@@ -156,7 +150,7 @@ export const createConsoleFormatter = ({ time = createTime() } = {}) => (config
|
|
|
156
150
|
timestamp = formatMillisAsClockTime(now);
|
|
157
151
|
break;
|
|
158
152
|
case "iso":
|
|
159
|
-
timestamp = new
|
|
153
|
+
timestamp = new Date(now).toISOString();
|
|
160
154
|
break;
|
|
161
155
|
}
|
|
162
156
|
const path = entry.path.length > 0 ? entry.path.map((p) => `[${p}]`).join(" ") : "";
|
package/dist/src/Crypto.d.ts
CHANGED
|
@@ -49,10 +49,10 @@ export interface RandomBytes {
|
|
|
49
49
|
* const seed = randomBytes.create(64);
|
|
50
50
|
* const custom = randomBytes.create(48);
|
|
51
51
|
*
|
|
52
|
-
* assertType<
|
|
53
|
-
* assertType<
|
|
54
|
-
* assertType<
|
|
55
|
-
* assertType<
|
|
52
|
+
* assertType<typeof nonce16, Entropy16>();
|
|
53
|
+
* assertType<typeof nonce24, Entropy24>();
|
|
54
|
+
* assertType<typeof key, Entropy32>();
|
|
55
|
+
* assertType<typeof seed, Entropy64>();
|
|
56
56
|
* assertEqual(custom.length, 48);
|
|
57
57
|
* ```
|
|
58
58
|
*/
|
|
@@ -127,7 +127,7 @@ export type XChaCha20Poly1305Ciphertext = typeof XChaCha20Poly1305Ciphertext.Out
|
|
|
127
127
|
* randomBytes: createRandomBytes(),
|
|
128
128
|
* })(plaintext, encryptionKey);
|
|
129
129
|
*
|
|
130
|
-
* assertType<
|
|
130
|
+
* assertType<typeof ciphertext, XChaCha20Poly1305Ciphertext>();
|
|
131
131
|
* assertEqual(nonce.length, 24);
|
|
132
132
|
* ```
|
|
133
133
|
*
|
package/dist/src/Crypto.js
CHANGED
|
@@ -85,7 +85,7 @@ export const XChaCha20Poly1305Ciphertext = /*#__PURE__*/ brand("XChaCha20Poly130
|
|
|
85
85
|
* randomBytes: createRandomBytes(),
|
|
86
86
|
* })(plaintext, encryptionKey);
|
|
87
87
|
*
|
|
88
|
-
* assertType<
|
|
88
|
+
* assertType<typeof ciphertext, XChaCha20Poly1305Ciphertext>();
|
|
89
89
|
* assertEqual(nonce.length, 24);
|
|
90
90
|
* ```
|
|
91
91
|
*
|
package/dist/src/Eq.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @module
|
|
5
5
|
*/
|
|
6
6
|
import type { Order } from "./Order.ts";
|
|
7
|
-
import type { IsData
|
|
7
|
+
import type { IsData } from "./Type.ts";
|
|
8
8
|
import type { CompileTimeError } from "./Types.ts";
|
|
9
9
|
/**
|
|
10
10
|
* Compares two values of the same type `A` for equality.
|
|
@@ -18,6 +18,13 @@ import type { CompileTimeError } from "./Types.ts";
|
|
|
18
18
|
* - **Transitive**: if `eq(a, b)` and `eq(b, c)` are `true`, then `eq(a, c)` is
|
|
19
19
|
* `true`.
|
|
20
20
|
*
|
|
21
|
+
* Evolu does not provide `eqStrict`: JavaScript strict equality (`===`) is not
|
|
22
|
+
* reflexive because `NaN === NaN` is `false`, so it cannot define an
|
|
23
|
+
* `Eq<number>`. Use `===` directly when that behavior is required. See [MDN's
|
|
24
|
+
* equality comparisons and sameness
|
|
25
|
+
* guide](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Equality_comparisons_and_sameness)
|
|
26
|
+
* for how JavaScript's equality algorithms differ.
|
|
27
|
+
*
|
|
21
28
|
* Use {@link eqFromOrder} to derive equality from an {@link Order}.
|
|
22
29
|
*
|
|
23
30
|
* ### Example
|
|
@@ -46,13 +53,13 @@ export type Eq<in A> = (x: A, y: A) => boolean;
|
|
|
46
53
|
* ### Example
|
|
47
54
|
*
|
|
48
55
|
* ```ts
|
|
49
|
-
* import { assertFalse, assertTrue,
|
|
56
|
+
* import { assertFalse, assertTrue, eqSameValue } from "@evolu/common";
|
|
50
57
|
*
|
|
51
|
-
* assertTrue(
|
|
52
|
-
* assertFalse(
|
|
58
|
+
* assertTrue(eqSameValue(NaN, NaN));
|
|
59
|
+
* assertFalse(eqSameValue(0, -0));
|
|
53
60
|
* ```
|
|
54
61
|
*/
|
|
55
|
-
export declare const
|
|
62
|
+
export declare const eqSameValue: <A>(x: A, y: A) => boolean;
|
|
56
63
|
/**
|
|
57
64
|
* Compares two values using SameValueZero equality.
|
|
58
65
|
*
|
|
@@ -71,13 +78,13 @@ export declare const eqStrict: <A>(x: A, y: A) => boolean;
|
|
|
71
78
|
* ```
|
|
72
79
|
*/
|
|
73
80
|
export declare const eqSameValueZero: <A>(x: A, y: A) => boolean;
|
|
74
|
-
/** An {@link Eq} for strings using {@link
|
|
81
|
+
/** An {@link Eq} for strings using {@link eqSameValue}. */
|
|
75
82
|
export declare const eqString: Eq<string>;
|
|
76
|
-
/** An {@link Eq} for numbers using {@link
|
|
83
|
+
/** An {@link Eq} for numbers using {@link eqSameValue}. */
|
|
77
84
|
export declare const eqNumber: Eq<number>;
|
|
78
|
-
/** An {@link Eq} for bigints using {@link
|
|
85
|
+
/** An {@link Eq} for bigints using {@link eqSameValue}. */
|
|
79
86
|
export declare const eqBigInt: Eq<bigint>;
|
|
80
|
-
/** An {@link Eq} for booleans using {@link
|
|
87
|
+
/** An {@link Eq} for booleans using {@link eqSameValue}. */
|
|
81
88
|
export declare const eqBoolean: Eq<boolean>;
|
|
82
89
|
/** An {@link Eq} for `undefined`. */
|
|
83
90
|
export declare const eqUndefined: Eq<undefined>;
|
|
@@ -110,7 +117,8 @@ export declare const eqFromOrder: <A>(order: Order<A>) => Eq<A>;
|
|
|
110
117
|
*/
|
|
111
118
|
export declare const createEqArrayLike: <A>(item: Eq<A>) => Eq<ArrayLike<A>>;
|
|
112
119
|
/**
|
|
113
|
-
* Compares two array-like structures element by element using
|
|
120
|
+
* Compares two array-like structures element by element using
|
|
121
|
+
* {@link eqSameValue}.
|
|
114
122
|
*
|
|
115
123
|
* Useful for structural sharing checks where objects are compared by reference
|
|
116
124
|
* identity. `NaN` elements are equal, while `0` and `-0` elements differ.
|
|
@@ -118,15 +126,19 @@ export declare const createEqArrayLike: <A>(item: Eq<A>) => Eq<ArrayLike<A>>;
|
|
|
118
126
|
* ### Example
|
|
119
127
|
*
|
|
120
128
|
* ```ts
|
|
121
|
-
* import {
|
|
129
|
+
* import {
|
|
130
|
+
* assertFalse,
|
|
131
|
+
* assertTrue,
|
|
132
|
+
* eqArraySameValue,
|
|
133
|
+
* } from "@evolu/common";
|
|
122
134
|
*
|
|
123
135
|
* const a = { x: 1 };
|
|
124
136
|
* const b = { x: 1 };
|
|
125
|
-
* assertTrue(
|
|
126
|
-
* assertFalse(
|
|
137
|
+
* assertTrue(eqArraySameValue([a, a], [a, a]));
|
|
138
|
+
* assertFalse(eqArraySameValue([a], [b]));
|
|
127
139
|
* ```
|
|
128
140
|
*/
|
|
129
|
-
export declare const
|
|
141
|
+
export declare const eqArraySameValue: <A>(x: ArrayLike<A>, y: ArrayLike<A>) => boolean;
|
|
130
142
|
/**
|
|
131
143
|
* Compares two array-like structures of numbers for equality.
|
|
132
144
|
*
|
|
@@ -176,17 +188,17 @@ export declare const eqUint8Array: Eq<Uint8Array>;
|
|
|
176
188
|
*/
|
|
177
189
|
export declare const createEqObject: <A>(eqs: { [K in keyof A]: Eq<A[K]>; }) => Eq<{ readonly [K in keyof A]: A[K]; }>;
|
|
178
190
|
/**
|
|
179
|
-
*
|
|
191
|
+
* Deeply compares two {@link Data} values using platform-independent structural
|
|
192
|
+
* equality.
|
|
180
193
|
*
|
|
181
|
-
* Primitive values use
|
|
182
|
-
*
|
|
183
|
-
* and Maps
|
|
184
|
-
*
|
|
185
|
-
*
|
|
194
|
+
* Primitive values use `Object.is`. Arrays are ordered; plain Objects compare
|
|
195
|
+
* their own string-keyed properties regardless of property order or prototype;
|
|
196
|
+
* Sets and Maps ignore insertion order; Dates compare their time values; and
|
|
197
|
+
* Uint8Arrays compare their bytes. Cyclic and shared data graphs are
|
|
198
|
+
* supported.
|
|
186
199
|
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
189
|
-
* use the {@link Data} Type at an unknown boundary.
|
|
200
|
+
* Arguments are restricted to Data at compile time. Use the {@link Data} Type at
|
|
201
|
+
* an unknown boundary.
|
|
190
202
|
*
|
|
191
203
|
* ### Example
|
|
192
204
|
*
|
|
@@ -208,23 +220,6 @@ export declare const createEqObject: <A>(eqs: { [K in keyof A]: Eq<A[K]>; }) =>
|
|
|
208
220
|
* ```
|
|
209
221
|
*/
|
|
210
222
|
export declare function eqData<Actual, Expected>(actual: Actual, expected: Expected, ...dataError: EqDataError<Actual | Expected>): boolean;
|
|
211
|
-
/**
|
|
212
|
-
* Compares two {@link JsonValue} values using {@link eqData}.
|
|
213
|
-
*
|
|
214
|
-
* ### Example
|
|
215
|
-
*
|
|
216
|
-
* ```ts
|
|
217
|
-
* import { assertTrue, eqJsonValue, type JsonValue } from "@evolu/common";
|
|
218
|
-
*
|
|
219
|
-
* const first: JsonValue = { profile: { name: "Ada" } };
|
|
220
|
-
* const second: JsonValue = { profile: { name: "Ada" } };
|
|
221
|
-
*
|
|
222
|
-
* assertTrue(eqJsonValue(first, second));
|
|
223
|
-
* ```
|
|
224
|
-
*/
|
|
225
|
-
export declare const eqJsonValue: Eq<JsonValue>;
|
|
226
|
-
/** Compares two {@link JsonValueInput} values using {@link eqData}. */
|
|
227
|
-
export declare const eqJsonValueInput: Eq<JsonValueInput>;
|
|
228
223
|
type EqDataError<Value> = IsData<Value> extends true ? [] : [
|
|
229
224
|
error: CompileTimeError<"eqData", "Actual and expected values must consist only of Data.">
|
|
230
225
|
];
|
package/dist/src/Eq.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Eq.d.ts","sourceRoot":"","sources":["../../src/Eq.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EAAQ,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"Eq.d.ts","sourceRoot":"","sources":["../../src/Eq.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EAAQ,MAAM,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;AAE/C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAG,OAA0B,CAAC;AAEvE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAG,OACpB,CAAC;AAE7B,2DAA2D;AAC3D,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAe,CAAC;AAEhD,2DAA2D;AAC3D,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAe,CAAC;AAEhD,2DAA2D;AAC3D,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAe,CAAC;AAEhD,4DAA4D;AAC5D,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,OAAO,CAAe,CAAC;AAElD,qCAAqC;AACrC,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,SAAS,CAAe,CAAC;AAEtD,gCAAgC;AAChC,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,IAAI,CAAe,CAAC;AAE5C,mDAAmD;AACnD,eAAO,MAAM,WAAW,GACrB,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,KAAG,EAAE,CAAC,CAAC,CAEP,CAAC;AAEtB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,iBAAiB,GAC3B,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAUhC,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,gBAAgB,GAxGD,CAAC,uCAjBU,OAyHqC,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,uBAA4C,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,UAAU,CAAiB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,cAAc,GACxB,CAAC,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,KAAG,EAAE,CAAC,EACzC,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAC9B,CASA,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,QAAQ,EACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,GAAG,SAAS,EAAE,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,GAC3C,OAAO,CAAC;AAmQX,KAAK,WAAW,CAAC,KAAK,IACpB,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,GACtB,EAAE,GACF;IACE,KAAK,EAAE,gBAAgB,CACrB,QAAQ,EACR,uDAAuD,CACxD;CACF,CAAC"}
|
package/dist/src/Eq.js
CHANGED
|
@@ -13,13 +13,13 @@ import { getObjectKind } from "./Object.js";
|
|
|
13
13
|
* ### Example
|
|
14
14
|
*
|
|
15
15
|
* ```ts
|
|
16
|
-
* import { assertFalse, assertTrue,
|
|
16
|
+
* import { assertFalse, assertTrue, eqSameValue } from "@evolu/common";
|
|
17
17
|
*
|
|
18
|
-
* assertTrue(
|
|
19
|
-
* assertFalse(
|
|
18
|
+
* assertTrue(eqSameValue(NaN, NaN));
|
|
19
|
+
* assertFalse(eqSameValue(0, -0));
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
|
-
export const
|
|
22
|
+
export const eqSameValue = (x, y) => Object.is(x, y);
|
|
23
23
|
/**
|
|
24
24
|
* Compares two values using SameValueZero equality.
|
|
25
25
|
*
|
|
@@ -38,18 +38,18 @@ export const eqStrict = (x, y) => Object.is(x, y);
|
|
|
38
38
|
* ```
|
|
39
39
|
*/
|
|
40
40
|
export const eqSameValueZero = (x, y) => x === y || Object.is(x, y);
|
|
41
|
-
/** An {@link Eq} for strings using {@link
|
|
42
|
-
export const eqString =
|
|
43
|
-
/** An {@link Eq} for numbers using {@link
|
|
44
|
-
export const eqNumber =
|
|
45
|
-
/** An {@link Eq} for bigints using {@link
|
|
46
|
-
export const eqBigInt =
|
|
47
|
-
/** An {@link Eq} for booleans using {@link
|
|
48
|
-
export const eqBoolean =
|
|
41
|
+
/** An {@link Eq} for strings using {@link eqSameValue}. */
|
|
42
|
+
export const eqString = eqSameValue;
|
|
43
|
+
/** An {@link Eq} for numbers using {@link eqSameValue}. */
|
|
44
|
+
export const eqNumber = eqSameValue;
|
|
45
|
+
/** An {@link Eq} for bigints using {@link eqSameValue}. */
|
|
46
|
+
export const eqBigInt = eqSameValue;
|
|
47
|
+
/** An {@link Eq} for booleans using {@link eqSameValue}. */
|
|
48
|
+
export const eqBoolean = eqSameValue;
|
|
49
49
|
/** An {@link Eq} for `undefined`. */
|
|
50
|
-
export const eqUndefined =
|
|
50
|
+
export const eqUndefined = eqSameValue;
|
|
51
51
|
/** An {@link Eq} for `null`. */
|
|
52
|
-
export const eqNull =
|
|
52
|
+
export const eqNull = eqSameValue;
|
|
53
53
|
/** Derives an {@link Eq} from an {@link Order}. */
|
|
54
54
|
export const eqFromOrder = (order) => (x, y) => order(x, y) === 0;
|
|
55
55
|
/**
|
|
@@ -87,7 +87,8 @@ export const createEqArrayLike = (item) => (x, y) => {
|
|
|
87
87
|
return true;
|
|
88
88
|
};
|
|
89
89
|
/**
|
|
90
|
-
* Compares two array-like structures element by element using
|
|
90
|
+
* Compares two array-like structures element by element using
|
|
91
|
+
* {@link eqSameValue}.
|
|
91
92
|
*
|
|
92
93
|
* Useful for structural sharing checks where objects are compared by reference
|
|
93
94
|
* identity. `NaN` elements are equal, while `0` and `-0` elements differ.
|
|
@@ -95,15 +96,19 @@ export const createEqArrayLike = (item) => (x, y) => {
|
|
|
95
96
|
* ### Example
|
|
96
97
|
*
|
|
97
98
|
* ```ts
|
|
98
|
-
* import {
|
|
99
|
+
* import {
|
|
100
|
+
* assertFalse,
|
|
101
|
+
* assertTrue,
|
|
102
|
+
* eqArraySameValue,
|
|
103
|
+
* } from "@evolu/common";
|
|
99
104
|
*
|
|
100
105
|
* const a = { x: 1 };
|
|
101
106
|
* const b = { x: 1 };
|
|
102
|
-
* assertTrue(
|
|
103
|
-
* assertFalse(
|
|
107
|
+
* assertTrue(eqArraySameValue([a, a], [a, a]));
|
|
108
|
+
* assertFalse(eqArraySameValue([a], [b]));
|
|
104
109
|
* ```
|
|
105
110
|
*/
|
|
106
|
-
export const
|
|
111
|
+
export const eqArraySameValue = /*#__PURE__*/ createEqArrayLike(eqSameValue);
|
|
107
112
|
/**
|
|
108
113
|
* Compares two array-like structures of numbers for equality.
|
|
109
114
|
*
|
|
@@ -162,46 +167,16 @@ export const createEqObject = (eqs) => (x, y) => {
|
|
|
162
167
|
return true;
|
|
163
168
|
};
|
|
164
169
|
export function eqData(actual, expected) {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
rightsByLeft: new Map(),
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Compares two {@link JsonValue} values using {@link eqData}.
|
|
172
|
-
*
|
|
173
|
-
* ### Example
|
|
174
|
-
*
|
|
175
|
-
* ```ts
|
|
176
|
-
* import { assertTrue, eqJsonValue, type JsonValue } from "@evolu/common";
|
|
177
|
-
*
|
|
178
|
-
* const first: JsonValue = { profile: { name: "Ada" } };
|
|
179
|
-
* const second: JsonValue = { profile: { name: "Ada" } };
|
|
180
|
-
*
|
|
181
|
-
* assertTrue(eqJsonValue(first, second));
|
|
182
|
-
* ```
|
|
183
|
-
*/
|
|
184
|
-
export const eqJsonValue = eqData;
|
|
185
|
-
/** Compares two {@link JsonValueInput} values using {@link eqData}. */
|
|
186
|
-
export const eqJsonValueInput = eqData;
|
|
187
|
-
const eqDataInternal = (actual, expected, context) => {
|
|
170
|
+
const pairs = [];
|
|
171
|
+
const rightsByLeft = new Map();
|
|
188
172
|
const frames = [{ kind: "Compare", actual, expected }];
|
|
189
173
|
const attempts = [];
|
|
190
|
-
const retryFailedCandidate = (_frame) => {
|
|
191
|
-
const attempt = attempts.pop();
|
|
192
|
-
if (attempt === undefined)
|
|
193
|
-
return false;
|
|
194
|
-
rollbackEqDataContext(context, attempt.contextCheckpoint);
|
|
195
|
-
frames.length = attempt.frameCheckpoint;
|
|
196
|
-
frames.push(attempt.retry);
|
|
197
|
-
return true;
|
|
198
|
-
};
|
|
199
174
|
while (frames.length > 0) {
|
|
200
175
|
const frame = frames.pop();
|
|
201
176
|
if (frame.kind === "Compare") {
|
|
202
177
|
const x = frame.actual;
|
|
203
178
|
const y = frame.expected;
|
|
204
|
-
if (
|
|
179
|
+
if (eqSameValue(x, y))
|
|
205
180
|
continue;
|
|
206
181
|
if (typeof x !== typeof y) {
|
|
207
182
|
frames.push({ kind: "Fail" });
|
|
@@ -214,16 +189,16 @@ const eqDataInternal = (actual, expected, context) => {
|
|
|
214
189
|
frames.push({ kind: "Fail" });
|
|
215
190
|
continue;
|
|
216
191
|
}
|
|
217
|
-
const rights =
|
|
192
|
+
const rights = rightsByLeft.get(x);
|
|
218
193
|
if (rights?.has(y))
|
|
219
194
|
continue;
|
|
220
195
|
if (rights === undefined) {
|
|
221
|
-
|
|
196
|
+
rightsByLeft.set(x, new Set([y]));
|
|
222
197
|
}
|
|
223
198
|
else {
|
|
224
199
|
rights.add(y);
|
|
225
200
|
}
|
|
226
|
-
|
|
201
|
+
pairs.push([x, y]);
|
|
227
202
|
const xKind = getObjectKind(x);
|
|
228
203
|
const yKind = getObjectKind(y);
|
|
229
204
|
if (xKind !== yKind) {
|
|
@@ -353,13 +328,12 @@ const eqDataInternal = (actual, expected, context) => {
|
|
|
353
328
|
frames.push({ kind: "Fail" });
|
|
354
329
|
continue;
|
|
355
330
|
}
|
|
356
|
-
|
|
357
|
-
|
|
331
|
+
attempts.push({
|
|
332
|
+
pairsCheckpoint: pairs.length,
|
|
358
333
|
frameCheckpoint: frames.length,
|
|
359
334
|
retry: { ...frame, candidateIndex: frame.candidateIndex + 1 },
|
|
360
|
-
};
|
|
361
|
-
|
|
362
|
-
frames.push({ kind: "CommitSet", match: frame });
|
|
335
|
+
});
|
|
336
|
+
frames.push({ kind: "Commit", match: frame });
|
|
363
337
|
frames.push({
|
|
364
338
|
kind: "Compare",
|
|
365
339
|
actual: frame.actual[frame.actualIndex],
|
|
@@ -376,13 +350,12 @@ const eqDataInternal = (actual, expected, context) => {
|
|
|
376
350
|
}
|
|
377
351
|
const [actualKey, actualValue] = frame.actual[frame.actualIndex];
|
|
378
352
|
const [expectedKey, expectedValue] = frame.unmatched[frame.candidateIndex];
|
|
379
|
-
|
|
380
|
-
|
|
353
|
+
attempts.push({
|
|
354
|
+
pairsCheckpoint: pairs.length,
|
|
381
355
|
frameCheckpoint: frames.length,
|
|
382
356
|
retry: { ...frame, candidateIndex: frame.candidateIndex + 1 },
|
|
383
|
-
};
|
|
384
|
-
|
|
385
|
-
frames.push({ kind: "CommitMap", match: frame });
|
|
357
|
+
});
|
|
358
|
+
frames.push({ kind: "Commit", match: frame });
|
|
386
359
|
frames.push({
|
|
387
360
|
kind: "Compare",
|
|
388
361
|
actual: actualValue,
|
|
@@ -395,17 +368,7 @@ const eqDataInternal = (actual, expected, context) => {
|
|
|
395
368
|
});
|
|
396
369
|
continue;
|
|
397
370
|
}
|
|
398
|
-
if (frame.kind === "
|
|
399
|
-
attempts.pop();
|
|
400
|
-
frame.match.unmatched.splice(frame.match.candidateIndex, 1);
|
|
401
|
-
frames.push({
|
|
402
|
-
...frame.match,
|
|
403
|
-
actualIndex: frame.match.actualIndex + 1,
|
|
404
|
-
candidateIndex: 0,
|
|
405
|
-
});
|
|
406
|
-
continue;
|
|
407
|
-
}
|
|
408
|
-
if (frame.kind === "CommitMap") {
|
|
371
|
+
if (frame.kind === "Commit") {
|
|
409
372
|
attempts.pop();
|
|
410
373
|
frame.match.unmatched.splice(frame.match.candidateIndex, 1);
|
|
411
374
|
frames.push({
|
|
@@ -415,17 +378,18 @@ const eqDataInternal = (actual, expected, context) => {
|
|
|
415
378
|
});
|
|
416
379
|
continue;
|
|
417
380
|
}
|
|
418
|
-
|
|
381
|
+
const attempt = attempts.pop();
|
|
382
|
+
if (attempt === undefined)
|
|
419
383
|
return false;
|
|
384
|
+
while (pairs.length > attempt.pairsCheckpoint) {
|
|
385
|
+
const [left, right] = pairs.pop();
|
|
386
|
+
const rights = rightsByLeft.get(left);
|
|
387
|
+
rights.delete(right);
|
|
388
|
+
if (rights.size === 0)
|
|
389
|
+
rightsByLeft.delete(left);
|
|
390
|
+
}
|
|
391
|
+
frames.length = attempt.frameCheckpoint;
|
|
392
|
+
frames.push(attempt.retry);
|
|
420
393
|
}
|
|
421
394
|
return true;
|
|
422
|
-
}
|
|
423
|
-
const rollbackEqDataContext = (context, checkpoint) => {
|
|
424
|
-
while (context.pairs.length > checkpoint) {
|
|
425
|
-
const [left, right] = context.pairs.pop();
|
|
426
|
-
const rights = context.rightsByLeft.get(left);
|
|
427
|
-
rights.delete(right);
|
|
428
|
-
if (rights.size === 0)
|
|
429
|
-
context.rightsByLeft.delete(left);
|
|
430
|
-
}
|
|
431
|
-
};
|
|
395
|
+
}
|
package/dist/src/Function.d.ts
CHANGED
|
@@ -135,9 +135,9 @@ export declare const identity: <A>(a: A) => A;
|
|
|
135
135
|
*
|
|
136
136
|
* ```ts
|
|
137
137
|
* import {
|
|
138
|
-
* assert,
|
|
139
138
|
* assertEqual,
|
|
140
139
|
* assertErr,
|
|
140
|
+
* assertInstanceOf,
|
|
141
141
|
* assertTrue,
|
|
142
142
|
* disposable,
|
|
143
143
|
* trySync,
|
|
@@ -159,11 +159,8 @@ export declare const identity: <A>(a: A) => A;
|
|
|
159
159
|
* assertTrue(cleaned);
|
|
160
160
|
* const result = trySync(() => resource.read());
|
|
161
161
|
* assertErr(result);
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
* result.error.message === "Cannot use a disposed object.",
|
|
165
|
-
* "Expected the disposed-object error.",
|
|
166
|
-
* );
|
|
162
|
+
* assertInstanceOf(result.error, Error);
|
|
163
|
+
* assertEqual(result.error.message, "Cannot use a disposed object.");
|
|
167
164
|
* ```
|
|
168
165
|
*/
|
|
169
166
|
export declare function disposable<T extends object>(value: T extends Disposable ? Omit<T, typeof Symbol.dispose> : T, disposer?: DisposableStack): T extends Disposable ? T : T & Disposable;
|
|
@@ -248,8 +245,9 @@ export declare const constVoid: Thunk<void>;
|
|
|
248
245
|
*
|
|
249
246
|
* ```ts
|
|
250
247
|
* import {
|
|
251
|
-
*
|
|
248
|
+
* assertEqual,
|
|
252
249
|
* assertErr,
|
|
250
|
+
* assertInstanceOf,
|
|
253
251
|
* assertType,
|
|
254
252
|
* todo,
|
|
255
253
|
* trySync,
|
|
@@ -263,16 +261,13 @@ export declare const constVoid: Thunk<void>;
|
|
|
263
261
|
* const getConfig = () => todo<Config>();
|
|
264
262
|
*
|
|
265
263
|
* assertType<
|
|
266
|
-
* [
|
|
267
|
-
* [
|
|
264
|
+
* [ReturnType<typeof getCount>, ReturnType<typeof getConfig>],
|
|
265
|
+
* [number, Config]
|
|
268
266
|
* >();
|
|
269
267
|
* const result = trySync(getCount);
|
|
270
268
|
* assertErr(result);
|
|
271
|
-
*
|
|
272
|
-
*
|
|
273
|
-
* result.error.message === "not yet implemented",
|
|
274
|
-
* "Expected the not-yet-implemented error.",
|
|
275
|
-
* );
|
|
269
|
+
* assertInstanceOf(result.error, Error);
|
|
270
|
+
* assertEqual(result.error.message, "not yet implemented");
|
|
276
271
|
* ```
|
|
277
272
|
*/
|
|
278
273
|
export declare const todo: <T>() => T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Function.d.ts","sourceRoot":"","sources":["../../src/Function.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuFG;AACH,eAAO,MAAM,eAAe,UAAW,KAAK,KAAG,KAE9C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,KAAK,CAAC,KAAG,CAAM,CAAC;AAE1C
|
|
1
|
+
{"version":3,"file":"Function.d.ts","sourceRoot":"","sources":["../../src/Function.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuFG;AACH,eAAO,MAAM,eAAe,UAAW,KAAK,KAAG,KAE9C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,KAAK,CAAC,KAAG,CAAM,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EACzC,KAAK,EAAE,CAAC,SAAS,UAAU,GAAG,IAAI,CAAC,CAAC,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAChE,QAAQ,CAAC,EAAE,eAAe,GACzB,CAAC,SAAS,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;AAE7C,mDAAmD;AACnD,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EACzC,KAAK,EAAE,CAAC,SAAS,eAAe,GAAG,IAAI,CAAC,CAAC,EAAE,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAC1E,QAAQ,EAAE,oBAAoB,GAC7B,CAAC,SAAS,eAAe,GAAG,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;AA2BvD,eAAO,MAAM,YAAY,UAChB,OAAO,KACb,KAAK,IAAI,UAAU,GAAG,eAOxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,QAAQ,GAClB,CAAC,SAAS,CAAC,KAAG,KAAK,CAAC,CAAC,CAEf,CAAC;AAEV,2CAA2C;AAC3C,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,IAAI,CAAgC,CAAC;AAEnE,4CAA4C;AAC5C,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAiC,CAAC;AAEtE,2CAA2C;AAC3C,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,IAAI,CAAgC,CAAC;AAEnE,gDAAgD;AAChD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,SAAS,CACT,CAAC;AAEpC,mEAAmE;AACnE,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,IAAI,CAAkB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,eAAO,MAAM,IAAI,GAAI,CAAC,OAAK,CAE1B,CAAC"}
|
package/dist/src/Function.js
CHANGED
|
@@ -188,8 +188,9 @@ export const constVoid = constUndefined;
|
|
|
188
188
|
*
|
|
189
189
|
* ```ts
|
|
190
190
|
* import {
|
|
191
|
-
*
|
|
191
|
+
* assertEqual,
|
|
192
192
|
* assertErr,
|
|
193
|
+
* assertInstanceOf,
|
|
193
194
|
* assertType,
|
|
194
195
|
* todo,
|
|
195
196
|
* trySync,
|
|
@@ -203,19 +204,16 @@ export const constVoid = constUndefined;
|
|
|
203
204
|
* const getConfig = () => todo<Config>();
|
|
204
205
|
*
|
|
205
206
|
* assertType<
|
|
206
|
-
* [
|
|
207
|
-
* [
|
|
207
|
+
* [ReturnType<typeof getCount>, ReturnType<typeof getConfig>],
|
|
208
|
+
* [number, Config]
|
|
208
209
|
* >();
|
|
209
210
|
* const result = trySync(getCount);
|
|
210
211
|
* assertErr(result);
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
* result.error.message === "not yet implemented",
|
|
214
|
-
* "Expected the not-yet-implemented error.",
|
|
215
|
-
* );
|
|
212
|
+
* assertInstanceOf(result.error, Error);
|
|
213
|
+
* assertEqual(result.error.message, "not yet implemented");
|
|
216
214
|
* ```
|
|
217
215
|
*/
|
|
218
|
-
//
|
|
216
|
+
// oxlint-disable-next-line typescript/no-unnecessary-type-parameters
|
|
219
217
|
export const todo = () => {
|
|
220
218
|
throw new Error("not yet implemented");
|
|
221
219
|
};
|
package/dist/src/Http.d.ts
CHANGED
|
@@ -332,8 +332,8 @@ export type FetchConsume<T, E = never> = (response: Response) => Awaitable<Resul
|
|
|
332
332
|
* }),
|
|
333
333
|
* );
|
|
334
334
|
* assertType<
|
|
335
|
-
*
|
|
336
|
-
*
|
|
335
|
+
* typeof metadata,
|
|
336
|
+
* Task<{ status: number; cache: string | null }, FetchTransportError>
|
|
337
337
|
* >();
|
|
338
338
|
* assertOk(user);
|
|
339
339
|
* assertType(Data, user.value);
|
|
@@ -349,7 +349,8 @@ export type FetchConsume<T, E = never> = (response: Response) => Awaitable<Resul
|
|
|
349
349
|
*
|
|
350
350
|
* ```ts
|
|
351
351
|
* import {
|
|
352
|
-
*
|
|
352
|
+
* assertErr,
|
|
353
|
+
* assertType,
|
|
353
354
|
* AbortError,
|
|
354
355
|
* createRun,
|
|
355
356
|
* fetch,
|
|
@@ -371,10 +372,8 @@ export type FetchConsume<T, E = never> = (response: Response) => Awaitable<Resul
|
|
|
371
372
|
* fiber.abort();
|
|
372
373
|
* const result = await fiber;
|
|
373
374
|
*
|
|
374
|
-
*
|
|
375
|
-
*
|
|
376
|
-
* "Expected an AbortError.",
|
|
377
|
-
* );
|
|
375
|
+
* assertErr(result);
|
|
376
|
+
* assertType(AbortError, result.error);
|
|
378
377
|
* ```
|
|
379
378
|
*
|
|
380
379
|
* @group Fetch
|