@evolu/common 8.0.0-next.4 → 8.0.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 +279 -173
- package/dist/src/Array.d.ts.map +1 -1
- package/dist/src/Array.js +105 -101
- package/dist/src/Assert.d.ts +44 -44
- package/dist/src/Assert.d.ts.map +1 -1
- package/dist/src/Assert.js +44 -32
- package/dist/src/BigInt.d.ts +6 -3
- package/dist/src/BigInt.d.ts.map +1 -1
- package/dist/src/BigInt.js +5 -2
- package/dist/src/Brand.d.ts +27 -40
- package/dist/src/Brand.d.ts.map +1 -1
- package/dist/src/Buffer.d.ts +27 -11
- package/dist/src/Buffer.d.ts.map +1 -1
- package/dist/src/Cache.d.ts +9 -4
- package/dist/src/Cache.d.ts.map +1 -1
- package/dist/src/Cache.js +8 -3
- package/dist/src/Callbacks.d.ts +30 -19
- package/dist/src/Callbacks.d.ts.map +1 -1
- package/dist/src/Console.d.ts +145 -66
- package/dist/src/Console.d.ts.map +1 -1
- package/dist/src/Console.js +91 -43
- package/dist/src/Crypto.d.ts +85 -42
- package/dist/src/Crypto.d.ts.map +1 -1
- package/dist/src/Crypto.js +44 -20
- package/dist/src/Eq.d.ts +87 -21
- package/dist/src/Eq.d.ts.map +1 -1
- package/dist/src/Eq.js +67 -19
- package/dist/src/Error.d.ts +5 -3
- package/dist/src/Error.d.ts.map +1 -1
- package/dist/src/Error.js +16 -0
- package/dist/src/Function.d.ts +119 -58
- package/dist/src/Function.d.ts.map +1 -1
- package/dist/src/Function.js +86 -43
- package/dist/src/Http.d.ts +394 -0
- package/dist/src/Http.d.ts.map +1 -0
- package/dist/src/Http.js +102 -0
- package/dist/src/Identicon.d.ts +16 -7
- package/dist/src/Identicon.d.ts.map +1 -1
- package/dist/src/Identicon.js +14 -5
- package/dist/src/LeakDetector.d.ts +88 -0
- package/dist/src/LeakDetector.d.ts.map +1 -0
- package/dist/src/LeakDetector.js +86 -0
- package/dist/src/LockManager.d.ts +18 -9
- package/dist/src/LockManager.d.ts.map +1 -1
- package/dist/src/LockManager.js +7 -8
- package/dist/src/Lookup.d.ts +43 -13
- package/dist/src/Lookup.d.ts.map +1 -1
- package/dist/src/Lookup.js +28 -8
- package/dist/src/Microtask.d.ts +1 -1
- package/dist/src/Microtask.d.ts.map +1 -1
- package/dist/src/Microtask.js +3 -7
- package/dist/src/Number.d.ts +49 -13
- package/dist/src/Number.d.ts.map +1 -1
- package/dist/src/Number.js +34 -5
- package/dist/src/Object.d.ts +160 -40
- package/dist/src/Object.d.ts.map +1 -1
- package/dist/src/Object.js +92 -46
- package/dist/src/Option.d.ts +10 -7
- package/dist/src/Option.d.ts.map +1 -1
- package/dist/src/Option.js +9 -6
- package/dist/src/Order.d.ts +21 -21
- package/dist/src/Order.d.ts.map +1 -1
- package/dist/src/Order.js +18 -21
- package/dist/src/Platform.d.ts +31 -0
- package/dist/src/Platform.d.ts.map +1 -1
- package/dist/src/Platform.js +98 -0
- package/dist/src/Random.d.ts +32 -17
- package/dist/src/Random.d.ts.map +1 -1
- package/dist/src/Random.js +12 -8
- package/dist/src/Redacted.d.ts +43 -29
- package/dist/src/Redacted.d.ts.map +1 -1
- package/dist/src/Redacted.js +14 -3
- package/dist/src/Ref.d.ts +11 -3
- package/dist/src/Ref.d.ts.map +1 -1
- package/dist/src/Ref.js +2 -2
- package/dist/src/RefCount.d.ts +2 -6
- package/dist/src/RefCount.d.ts.map +1 -1
- package/dist/src/RefCount.js +33 -90
- package/dist/src/Relation.d.ts +70 -5
- package/dist/src/Relation.d.ts.map +1 -1
- package/dist/src/Relation.js +77 -2
- package/dist/src/Resource.d.ts +590 -155
- package/dist/src/Resource.d.ts.map +1 -1
- package/dist/src/Resource.js +592 -343
- package/dist/src/Result.d.ts +838 -191
- package/dist/src/Result.d.ts.map +1 -1
- package/dist/src/Result.js +163 -102
- package/dist/src/Schedule.d.ts +684 -231
- package/dist/src/Schedule.d.ts.map +1 -1
- package/dist/src/Schedule.js +766 -295
- package/dist/src/Set.d.ts +89 -40
- package/dist/src/Set.d.ts.map +1 -1
- package/dist/src/Set.js +50 -29
- package/dist/src/Sqlite.d.ts +29 -72
- package/dist/src/Sqlite.d.ts.map +1 -1
- package/dist/src/Sqlite.js +41 -46
- package/dist/src/StackTrace.d.ts +40 -0
- package/dist/src/StackTrace.d.ts.map +1 -0
- package/dist/src/StackTrace.js +140 -0
- package/dist/src/Store.d.ts +5 -4
- package/dist/src/Store.d.ts.map +1 -1
- package/dist/src/Store.js +5 -4
- package/dist/src/String.d.ts +7 -1
- package/dist/src/String.d.ts.map +1 -1
- package/dist/src/String.js +20 -7
- package/dist/src/Task.d.ts +3572 -1770
- package/dist/src/Task.d.ts.map +1 -1
- package/dist/src/Task.js +1879 -1274
- package/dist/src/Test.d.ts +17 -125
- package/dist/src/Test.d.ts.map +1 -1
- package/dist/src/Test.js +17 -68
- package/dist/src/Time.d.ts +108 -49
- package/dist/src/Time.d.ts.map +1 -1
- package/dist/src/Time.js +172 -73
- package/dist/src/Type.d.ts +3542 -1926
- package/dist/src/Type.d.ts.map +1 -1
- package/dist/src/Type.js +3070 -1784
- package/dist/src/Types.d.ts +200 -108
- package/dist/src/Types.d.ts.map +1 -1
- package/dist/src/Types.js +39 -8
- package/dist/src/WebSocket.d.ts +48 -23
- package/dist/src/WebSocket.d.ts.map +1 -1
- package/dist/src/WebSocket.js +15 -6
- package/dist/src/Worker.d.ts +94 -36
- package/dist/src/Worker.d.ts.map +1 -1
- package/dist/src/Worker.js +58 -24
- package/dist/src/index.d.ts +55 -52
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/intl/cs.d.ts +94 -0
- package/dist/src/intl/cs.d.ts.map +1 -0
- package/dist/src/intl/cs.js +220 -0
- package/dist/src/intl/index.d.ts +7 -0
- package/dist/src/intl/index.d.ts.map +1 -0
- package/dist/src/intl/index.js +6 -0
- package/dist/src/local-first/Db.d.ts +12 -8
- package/dist/src/local-first/Db.d.ts.map +1 -1
- package/dist/src/local-first/Db.js +109 -132
- package/dist/src/local-first/Error.d.ts +4 -4
- package/dist/src/local-first/Evolu.d.ts +338 -92
- package/dist/src/local-first/Evolu.d.ts.map +1 -1
- package/dist/src/local-first/Evolu.js +47 -55
- package/dist/src/local-first/LocalAuth.d.ts +4 -4
- package/dist/src/local-first/LocalAuth.d.ts.map +1 -1
- package/dist/src/local-first/Owner.d.ts +61 -24
- package/dist/src/local-first/Owner.d.ts.map +1 -1
- package/dist/src/local-first/Owner.js +45 -8
- package/dist/src/local-first/Protocol.d.ts +44 -31
- package/dist/src/local-first/Protocol.d.ts.map +1 -1
- package/dist/src/local-first/Protocol.js +36 -13
- package/dist/src/local-first/Query.d.ts +147 -62
- package/dist/src/local-first/Query.d.ts.map +1 -1
- package/dist/src/local-first/Query.js +112 -58
- package/dist/src/local-first/Relay.d.ts +44 -14
- package/dist/src/local-first/Relay.d.ts.map +1 -1
- package/dist/src/local-first/Schema.d.ts +92 -41
- package/dist/src/local-first/Schema.d.ts.map +1 -1
- package/dist/src/local-first/Schema.js +25 -8
- package/dist/src/local-first/Shared.d.ts +23 -21
- package/dist/src/local-first/Shared.d.ts.map +1 -1
- package/dist/src/local-first/Shared.js +100 -57
- package/dist/src/local-first/Storage.d.ts +53 -32
- package/dist/src/local-first/Storage.d.ts.map +1 -1
- package/dist/src/local-first/Storage.js +194 -234
- package/dist/src/local-first/Timestamp.d.ts +21 -21
- package/dist/src/local-first/Timestamp.d.ts.map +1 -1
- package/dist/src/local-first/Timestamp.js +2 -2
- package/dist/src/local-first/index.d.ts +11 -11
- package/package.json +14 -13
- package/src/Array.ts +306 -205
- package/src/Assert.ts +54 -69
- package/src/BigInt.ts +6 -3
- package/src/Brand.ts +27 -40
- package/src/Buffer.ts +28 -12
- package/src/Cache.ts +9 -4
- package/src/Callbacks.ts +30 -19
- package/src/Console.ts +156 -84
- package/src/Crypto.ts +83 -41
- package/src/Eq.ts +95 -22
- package/src/Error.ts +8 -4
- package/src/Function.ts +167 -59
- package/src/Http.ts +549 -0
- package/src/Identicon.ts +16 -7
- package/src/LeakDetector.ts +182 -0
- package/src/LockManager.ts +43 -39
- package/src/Lookup.ts +62 -28
- package/src/Microtask.ts +19 -23
- package/src/Number.ts +64 -12
- package/src/Object.ts +173 -49
- package/src/Option.ts +10 -7
- package/src/Order.ts +23 -21
- package/src/Platform.ts +136 -0
- package/src/Polyfills.ts +6 -12
- package/src/Random.ts +32 -19
- package/src/Redacted.ts +44 -30
- package/src/Ref.ts +14 -6
- package/src/RefCount.ts +38 -80
- package/src/Relation.ts +202 -10
- package/src/Resource.ts +1199 -591
- package/src/Result.ts +930 -271
- package/src/Schedule.ts +859 -343
- package/src/Set.ts +89 -40
- package/src/Sqlite.ts +144 -138
- package/src/StackTrace.ts +230 -0
- package/src/Store.ts +8 -7
- package/src/String.ts +22 -5
- package/src/Task.ts +5101 -2832
- package/src/Test.ts +20 -168
- package/src/Time.ts +293 -90
- package/src/Type.ts +10034 -4117
- package/src/Types.ts +227 -110
- package/src/WebSocket.ts +64 -36
- package/src/Worker.ts +180 -72
- package/src/index.ts +55 -52
- package/src/intl/cs.ts +388 -0
- package/src/intl/index.ts +7 -0
- package/src/local-first/Db.ts +152 -179
- package/src/local-first/Error.ts +4 -4
- package/src/local-first/Evolu.ts +495 -250
- package/src/local-first/LocalAuth.ts +6 -12
- package/src/local-first/Owner.ts +58 -21
- package/src/local-first/Protocol.ts +49 -31
- package/src/local-first/Query.ts +146 -61
- package/src/local-first/Relay.ts +51 -21
- package/src/local-first/Schema.ts +109 -51
- package/src/local-first/Shared.ts +266 -226
- package/src/local-first/Storage.ts +266 -264
- package/src/local-first/Timestamp.ts +25 -18
- package/src/local-first/index.ts +11 -11
- package/dist/src/Skiplist.d.ts +0 -28
- package/dist/src/Skiplist.d.ts.map +0 -1
- package/dist/src/Skiplist.js +0 -64
- package/dist/src/Tracer.d.ts +0 -48
- package/dist/src/Tracer.d.ts.map +0 -1
- package/dist/src/Tracer.js +0 -6
- package/src/Skiplist.ts +0 -108
- package/src/Tracer.ts +0 -54
package/dist/src/Brand.d.ts
CHANGED
|
@@ -14,57 +14,42 @@
|
|
|
14
14
|
* Avoid primitive types in domain code—brand everything. Evolu Type provides
|
|
15
15
|
* many brand helpers.
|
|
16
16
|
*
|
|
17
|
-
* ### Single
|
|
17
|
+
* ### Single brand
|
|
18
18
|
*
|
|
19
19
|
* ```ts
|
|
20
|
-
*
|
|
21
|
-
* type UserId = number & Brand<"UserId">;
|
|
22
|
-
*
|
|
23
|
-
* // A function that creates `UserId` values.
|
|
24
|
-
* // Casting with `as UserId` is unsafe, so `createUserId` must be unit-tested.
|
|
25
|
-
* const createUserId = (): UserId => {
|
|
26
|
-
* return 123 as UserId; // Unsafe casting
|
|
27
|
-
* };
|
|
20
|
+
* import type { Brand } from "@evolu/common";
|
|
28
21
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* // A function that accepts only `UserId`.
|
|
32
|
-
* const getUser = (id: UserId) => {
|
|
33
|
-
* // Implementation
|
|
34
|
-
* };
|
|
22
|
+
* type UserId = number & Brand<"UserId">;
|
|
35
23
|
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
24
|
+
* // Branding does not validate at runtime, so isolate the cast in a trusted
|
|
25
|
+
* // factory.
|
|
26
|
+
* const createUserId = (value: number): UserId => value as UserId;
|
|
27
|
+
* const getUser = (id: UserId): number => id;
|
|
28
|
+
* const userId = createUserId(123);
|
|
29
|
+
* expect(getUser(userId)).toBe(123);
|
|
30
|
+
* // @ts-expect-error A plain number is not a UserId.
|
|
31
|
+
* getUser(123);
|
|
39
32
|
* ```
|
|
40
33
|
*
|
|
41
|
-
* ### Multiple
|
|
34
|
+
* ### Multiple brands
|
|
42
35
|
*
|
|
43
36
|
* ```ts
|
|
44
|
-
*
|
|
37
|
+
* import type { Brand } from "@evolu/common";
|
|
38
|
+
*
|
|
45
39
|
* type Min1 = string & Brand<"Min1">;
|
|
46
40
|
* type Max100 = string & Brand<"Max100">;
|
|
47
41
|
* type Min1Max100 = string & Brand<"Min1" | "Max100">;
|
|
48
42
|
*
|
|
49
|
-
*
|
|
50
|
-
* const
|
|
51
|
-
* const requiresMax100 = (value: Max100): void => {};
|
|
52
|
-
*
|
|
53
|
-
* // Values with single brands
|
|
54
|
-
* const min1Value: Min1 = "hello" as Min1;
|
|
55
|
-
* const max100Value: Max100 = "world" as Max100;
|
|
43
|
+
* const requiresMin1 = (value: Min1): string => value;
|
|
44
|
+
* const requiresMax100 = (value: Max100): string => value;
|
|
56
45
|
*
|
|
57
|
-
* // Value with multiple brands
|
|
58
46
|
* const min1Max100Value: Min1Max100 = "typescript" as Min1Max100;
|
|
59
47
|
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* requiresMax100(max100Value); // Valid
|
|
63
|
-
* requiresMin1(min1Max100Value); // Valid: Min1Max100 satisfies Min1
|
|
64
|
-
* requiresMax100(min1Max100Value); // Valid: Min1Max100 satisfies Max100
|
|
48
|
+
* expect(requiresMin1(min1Max100Value)).toBe("typescript");
|
|
49
|
+
* expect(requiresMax100(min1Max100Value)).toBe("typescript");
|
|
65
50
|
* ```
|
|
66
51
|
*
|
|
67
|
-
* ### Standalone
|
|
52
|
+
* ### Standalone brand
|
|
68
53
|
*
|
|
69
54
|
* Brand can be used alone without a base type for purely nominal typing. This
|
|
70
55
|
* is useful for opaque values where the internal structure is hidden and type
|
|
@@ -73,15 +58,17 @@
|
|
|
73
58
|
* code platform-agnostic.
|
|
74
59
|
*
|
|
75
60
|
* ```ts
|
|
76
|
-
*
|
|
61
|
+
* import type { Brand } from "@evolu/common";
|
|
62
|
+
*
|
|
77
63
|
* type NativePort = Brand<"NativePort">;
|
|
78
64
|
*
|
|
79
|
-
*
|
|
80
|
-
* const requiresNativePort = (port: NativePort): void => {};
|
|
65
|
+
* const requiresNativePort = (port: NativePort): NativePort => port;
|
|
81
66
|
*
|
|
82
|
-
* const
|
|
83
|
-
*
|
|
84
|
-
* requiresNativePort(nativeValue);
|
|
67
|
+
* const nativeValue: unknown = { id: 1 };
|
|
68
|
+
* const port = nativeValue as NativePort;
|
|
69
|
+
* expect(requiresNativePort(port)).toBe(nativeValue);
|
|
70
|
+
* // @ts-expect-error An unknown value is not a NativePort.
|
|
71
|
+
* requiresNativePort(nativeValue);
|
|
85
72
|
* ```
|
|
86
73
|
*/
|
|
87
74
|
export interface Brand<B extends string> {
|
package/dist/src/Brand.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Brand.d.ts","sourceRoot":"","sources":["../../src/Brand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH
|
|
1
|
+
{"version":3,"file":"Brand.d.ts","sourceRoot":"","sources":["../../src/Brand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,MAAM;IACrC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;CAC/C;AAED,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AAErC;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC"}
|
package/dist/src/Buffer.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
5
|
*/
|
|
6
|
-
import { NonNegativeInt } from "./Type.
|
|
6
|
+
import { NonNegativeInt } from "./Type.ts";
|
|
7
7
|
export { bytesToHex, bytesToUtf8, concatBytes, hexToBytes, utf8ToBytes, } from "@noble/ciphers/utils.js";
|
|
8
8
|
/**
|
|
9
9
|
* Custom error for {@link Buffer}-related failures like premature end of data.
|
|
@@ -36,18 +36,34 @@ export declare class BufferError extends Error {
|
|
|
36
36
|
* ### Example
|
|
37
37
|
*
|
|
38
38
|
* ```ts
|
|
39
|
+
* import {
|
|
40
|
+
* createBuffer,
|
|
41
|
+
* createIdFromString,
|
|
42
|
+
* IdBytes,
|
|
43
|
+
* idBytesToId,
|
|
44
|
+
* idBytesTypeValueLength,
|
|
45
|
+
* idToIdBytes,
|
|
46
|
+
* NonNegativeInt,
|
|
47
|
+
* } from "@evolu/common";
|
|
48
|
+
* import {
|
|
49
|
+
* decodeNonNegativeInt,
|
|
50
|
+
* encodeNonNegativeInt,
|
|
51
|
+
* } from "@evolu/common/local-first";
|
|
52
|
+
*
|
|
39
53
|
* const buffer = createBuffer();
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
54
|
+
* const id = createIdFromString("buffer-example");
|
|
55
|
+
* encodeNonNegativeInt(buffer, NonNegativeInt.orThrow(300));
|
|
56
|
+
* buffer.extend(idToIdBytes(id));
|
|
43
57
|
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
58
|
+
* const decoder = createBuffer(buffer.unwrap());
|
|
59
|
+
* expect(decodeNonNegativeInt(decoder)).toBe(300);
|
|
60
|
+
* const decodedId = idBytesToId(
|
|
61
|
+
* IdBytes.orThrow(decoder.shiftN(idBytesTypeValueLength)),
|
|
62
|
+
* );
|
|
63
|
+
* expect(decodedId).toBe(id);
|
|
64
|
+
* expect(() => decodeNonNegativeInt(decoder)).toThrow(
|
|
65
|
+
* "Buffer parse ended prematurely",
|
|
66
|
+
* );
|
|
51
67
|
* ```
|
|
52
68
|
*
|
|
53
69
|
* For more on exponential growth, see:
|
package/dist/src/Buffer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Buffer.d.ts","sourceRoot":"","sources":["../../src/Buffer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAsB,MAAM,WAAW,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,qBAAa,WAAY,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"Buffer.d.ts","sourceRoot":"","sources":["../../src/Buffer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAsB,MAAM,WAAW,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAO,EAAE,MAAM,EAK1B;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,MAAM,WAAW,MAAM;IACrB,kDAAkD;IAClD,WAAW,EAAE,MAAM,cAAc,CAAC;IAElC,gEAAgE;IAChE,SAAS,EAAE,MAAM,cAAc,CAAC;IAEhC;;;OAGG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAEtD;;;OAGG;IACH,KAAK,EAAE,MAAM,cAAc,CAAC;IAE5B;;;OAGG;IACH,MAAM,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,UAAU,CAAC;IAE1C;;;OAGG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAE3C;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB;;;;OAIG;IACH,MAAM,EAAE,MAAM,UAAU,CAAC;CAC1B;AAED,8DAA8D;AAC9D,eAAO,MAAM,YAAY,eACX,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,KACzC,MA4DF,CAAC"}
|
package/dist/src/Cache.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
5
|
*/
|
|
6
|
-
import { PositiveInt } from "./Type.
|
|
6
|
+
import { PositiveInt } from "./Type.ts";
|
|
7
7
|
/**
|
|
8
8
|
* Generic cache interface providing basic key-value storage operations.
|
|
9
9
|
*
|
|
@@ -36,11 +36,16 @@ export interface Cache<K, V> {
|
|
|
36
36
|
* ### Example
|
|
37
37
|
*
|
|
38
38
|
* ```ts
|
|
39
|
-
*
|
|
39
|
+
* import { createLruCache, PositiveInt } from "@evolu/common";
|
|
40
|
+
*
|
|
41
|
+
* const cache = createLruCache<string, number>(PositiveInt.orThrow(2));
|
|
40
42
|
* cache.set("a", 1);
|
|
41
43
|
* cache.set("b", 2);
|
|
42
|
-
*
|
|
43
|
-
* cache.
|
|
44
|
+
* // Reading "a" makes "b" the least recently used entry.
|
|
45
|
+
* expect(cache.get("a")).toBe(1);
|
|
46
|
+
* cache.set("c", 3);
|
|
47
|
+
*
|
|
48
|
+
* expect(cache.has("b")).toBe(false);
|
|
44
49
|
* ```
|
|
45
50
|
*/
|
|
46
51
|
export declare const createLruCache: <K, V>(capacity: PositiveInt) => Cache<K, V>;
|
package/dist/src/Cache.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../src/Cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;IACzB,2CAA2C;IAC3C,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;IAEzB,kEAAkE;IAClE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAE/B,4CAA4C;IAC5C,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAE9B,oCAAoC;IACpC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAEzB,mDAAmD;IACnD,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACjC;AAED
|
|
1
|
+
{"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../src/Cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;IACzB,2CAA2C;IAC3C,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;IAEzB,kEAAkE;IAClE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAE/B,4CAA4C;IAC5C,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAE9B,oCAAoC;IACpC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAEzB,mDAAmD;IACnD,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,CAAC,YAAY,WAAW,KAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAmCtE,CAAC"}
|
package/dist/src/Cache.js
CHANGED
|
@@ -13,11 +13,16 @@ import { PositiveInt } from "./Type.js";
|
|
|
13
13
|
* ### Example
|
|
14
14
|
*
|
|
15
15
|
* ```ts
|
|
16
|
-
*
|
|
16
|
+
* import { createLruCache, PositiveInt } from "@evolu/common";
|
|
17
|
+
*
|
|
18
|
+
* const cache = createLruCache<string, number>(PositiveInt.orThrow(2));
|
|
17
19
|
* cache.set("a", 1);
|
|
18
20
|
* cache.set("b", 2);
|
|
19
|
-
*
|
|
20
|
-
* cache.
|
|
21
|
+
* // Reading "a" makes "b" the least recently used entry.
|
|
22
|
+
* expect(cache.get("a")).toBe(1);
|
|
23
|
+
* cache.set("c", 3);
|
|
24
|
+
*
|
|
25
|
+
* expect(cache.has("b")).toBe(false);
|
|
21
26
|
* ```
|
|
22
27
|
*/
|
|
23
28
|
export const createLruCache = (capacity) => {
|
package/dist/src/Callbacks.d.ts
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
5
|
*/
|
|
6
|
-
import type { RandomBytesDep } from "./Crypto.
|
|
7
|
-
import { Id } from "./Type.
|
|
8
|
-
import type { Callback } from "./Types.
|
|
6
|
+
import type { RandomBytesDep } from "./Crypto.ts";
|
|
7
|
+
import { Id } from "./Type.ts";
|
|
8
|
+
import type { Callback } from "./Types.ts";
|
|
9
9
|
/**
|
|
10
10
|
* Request-response correlation for callbacks across boundaries.
|
|
11
11
|
*
|
|
@@ -19,27 +19,38 @@ import type { Callback } from "./Types.js";
|
|
|
19
19
|
* The `execute` method intentionally does not use try-catch or {@link Result}
|
|
20
20
|
* because it's the callback's responsibility to handle its own errors.
|
|
21
21
|
*
|
|
22
|
-
* ###
|
|
22
|
+
* ### Correlating callback responses
|
|
23
23
|
*
|
|
24
24
|
* ```ts
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* const
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* const
|
|
33
|
-
*
|
|
25
|
+
* import { createCallbacks, testCreateDeps } from "@evolu/common";
|
|
26
|
+
*
|
|
27
|
+
* const deps = testCreateDeps();
|
|
28
|
+
*
|
|
29
|
+
* // No-argument callback
|
|
30
|
+
* using callbacks = createCallbacks(deps);
|
|
31
|
+
* let noArgumentCalls = 0;
|
|
32
|
+
* const noArgumentId = callbacks.register(() => {
|
|
33
|
+
* noArgumentCalls++;
|
|
34
|
+
* });
|
|
35
|
+
* callbacks.execute(noArgumentId);
|
|
36
|
+
* callbacks.execute(noArgumentId);
|
|
37
|
+
* expect(noArgumentCalls).toBe(1);
|
|
38
|
+
*
|
|
39
|
+
* // Typed callback
|
|
40
|
+
* using stringCallbacks = createCallbacks<string>(deps);
|
|
41
|
+
* let received = "";
|
|
42
|
+
* const stringCallbackId = stringCallbacks.register((value) => {
|
|
43
|
+
* received = value;
|
|
34
44
|
* });
|
|
35
|
-
* stringCallbacks.execute(
|
|
45
|
+
* stringCallbacks.execute(stringCallbackId, "hello");
|
|
46
|
+
* expect(received).toBe("hello");
|
|
36
47
|
*
|
|
37
|
-
* // Promise.withResolvers
|
|
38
|
-
*
|
|
48
|
+
* // Promise.withResolvers
|
|
49
|
+
* using promiseCallbacks = createCallbacks<string>(deps);
|
|
39
50
|
* const { promise, resolve } = Promise.withResolvers<string>();
|
|
40
|
-
* const
|
|
41
|
-
* promiseCallbacks.execute(
|
|
42
|
-
* await promise
|
|
51
|
+
* const promiseCallbackId = promiseCallbacks.register(resolve);
|
|
52
|
+
* promiseCallbacks.execute(promiseCallbackId, "resolved value");
|
|
53
|
+
* expect(await promise).toBe("resolved value");
|
|
43
54
|
* ```
|
|
44
55
|
*
|
|
45
56
|
* @template T - The type of argument passed to callbacks (defaults to undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Callbacks.d.ts","sourceRoot":"","sources":["../../src/Callbacks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAY,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"Callbacks.d.ts","sourceRoot":"","sources":["../../src/Callbacks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAY,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,SAAS,CAAE,SAAQ,UAAU;IAC1D,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAEjD,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,SAAS,GACjC,CAAC,EAAE,EAAE,EAAE,KAAK,SAAS,GACrB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC;CACnC;AAED,mEAAmE;AACnE,eAAO,MAAM,eAAe,GAAI,CAAC,GAAG,SAAS,QACrC,cAAc,KACnB,SAAS,CAAC,CAAC,CA6Bb,CAAC"}
|
package/dist/src/Console.d.ts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
5
|
*/
|
|
6
|
-
import type { ReadonlyStore } from "./Store.
|
|
7
|
-
import { type Millis, type TimeDep } from "./Time.
|
|
6
|
+
import type { ReadonlyStore } from "./Store.ts";
|
|
7
|
+
import { type Millis, type TimeDep } from "./Time.ts";
|
|
8
8
|
/**
|
|
9
9
|
* Platform-agnostic console with structured logging.
|
|
10
10
|
*
|
|
@@ -31,31 +31,47 @@ import { type Millis, type TimeDep } from "./Time.js";
|
|
|
31
31
|
* {@link ReadonlyStore} for subscribing
|
|
32
32
|
* - {@link createMultiOutput} — fans out to multiple outputs
|
|
33
33
|
*
|
|
34
|
+
* Wrap logged values in named objects such as `{ config }` so developer tools
|
|
35
|
+
* display useful, expandable labels.
|
|
36
|
+
*
|
|
34
37
|
* ### Example
|
|
35
38
|
*
|
|
36
39
|
* ```ts
|
|
37
|
-
*
|
|
38
|
-
*
|
|
40
|
+
* import {
|
|
41
|
+
* createConsole,
|
|
42
|
+
* createConsoleArrayOutput,
|
|
43
|
+
* type Console,
|
|
44
|
+
* type ConsoleEntry,
|
|
45
|
+
* type ConsoleLevel,
|
|
46
|
+
* } from "@evolu/common";
|
|
39
47
|
*
|
|
40
|
-
*
|
|
41
|
-
* const
|
|
42
|
-
*
|
|
43
|
-
* formatter: createConsoleFormatter()({ timestampFormat: "relative" }),
|
|
48
|
+
* const entries: Array<ConsoleEntry> = [];
|
|
49
|
+
* const root = createConsole({
|
|
50
|
+
* output: createConsoleArrayOutput(entries),
|
|
44
51
|
* });
|
|
45
|
-
*
|
|
46
|
-
* //
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
52
|
+
* const relay = root.child("relay");
|
|
53
|
+
* // Silence a noisy subsystem without affecting root logs.
|
|
54
|
+
* relay.setLevel("silent");
|
|
55
|
+
* relay.info("polling");
|
|
56
|
+
* root.info("Creating instance", { config: { port: 4000 } });
|
|
57
|
+
*
|
|
58
|
+
* expect(root.getLevel()).toBe("log");
|
|
59
|
+
* expect(relay.getLevel()).toBe("silent");
|
|
60
|
+
* expect(entries[0]?.args).toEqual([
|
|
61
|
+
* "Creating instance",
|
|
62
|
+
* { config: { port: 4000 } },
|
|
63
|
+
* ]);
|
|
64
|
+
*
|
|
65
|
+
* const setLevelRecursive = (
|
|
66
|
+
* console: Console,
|
|
67
|
+
* level: ConsoleLevel,
|
|
68
|
+
* ): void => {
|
|
69
|
+
* console.setLevel(level);
|
|
70
|
+
* for (const child of console.children) setLevelRecursive(child, level);
|
|
58
71
|
* };
|
|
72
|
+
* setLevelRecursive(root, "warn");
|
|
73
|
+
* expect(root.getLevel()).toBe("warn");
|
|
74
|
+
* expect(relay.getLevel()).toBe("warn");
|
|
59
75
|
* ```
|
|
60
76
|
*
|
|
61
77
|
* Console intentionally does not use {@link Task}. Logging must be as fast as
|
|
@@ -237,12 +253,26 @@ export type ConsoleEntryTimestampFormat = "relative" | "absolute" | "iso" | "non
|
|
|
237
253
|
* ### Example
|
|
238
254
|
*
|
|
239
255
|
* ```ts
|
|
256
|
+
* import {
|
|
257
|
+
* createConsole,
|
|
258
|
+
* createConsoleStoreOutput,
|
|
259
|
+
* type ConsoleEntry,
|
|
260
|
+
* } from "@evolu/common";
|
|
261
|
+
*
|
|
240
262
|
* const storeOutput = createConsoleStoreOutput();
|
|
241
263
|
* const console = createConsole({ output: storeOutput });
|
|
264
|
+
* let forwardedEntry: ConsoleEntry | null = null;
|
|
265
|
+
* const unsubscribe = storeOutput.entry.subscribe(() => {
|
|
266
|
+
* forwardedEntry = storeOutput.entry.get();
|
|
267
|
+
* });
|
|
242
268
|
*
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
*
|
|
269
|
+
* console.child("relay").info("connected");
|
|
270
|
+
* unsubscribe();
|
|
271
|
+
*
|
|
272
|
+
* expect(forwardedEntry).toEqual({
|
|
273
|
+
* method: "info",
|
|
274
|
+
* path: ["relay"],
|
|
275
|
+
* args: ["connected"],
|
|
246
276
|
* });
|
|
247
277
|
* ```
|
|
248
278
|
*/
|
|
@@ -283,7 +313,15 @@ export declare const createConsole: ({ name, level, output, path, formatter, }?:
|
|
|
283
313
|
* ### Example
|
|
284
314
|
*
|
|
285
315
|
* ```ts
|
|
316
|
+
* import {
|
|
317
|
+
* createNativeConsoleOutput,
|
|
318
|
+
* type ConsoleOutput,
|
|
319
|
+
* } from "@evolu/common";
|
|
320
|
+
*
|
|
286
321
|
* const output = createNativeConsoleOutput();
|
|
322
|
+
*
|
|
323
|
+
* expectTypeOf(output).toEqualTypeOf<ConsoleOutput>();
|
|
324
|
+
* expect(output.write).toBeTypeOf("function");
|
|
287
325
|
* ```
|
|
288
326
|
*/
|
|
289
327
|
export declare const createNativeConsoleOutput: () => ConsoleOutput;
|
|
@@ -295,23 +333,52 @@ export declare const createNativeConsoleOutput: () => ConsoleOutput;
|
|
|
295
333
|
* ### Example
|
|
296
334
|
*
|
|
297
335
|
* ```ts
|
|
298
|
-
*
|
|
299
|
-
*
|
|
300
|
-
*
|
|
301
|
-
*
|
|
336
|
+
* import {
|
|
337
|
+
* createConsoleFormatter,
|
|
338
|
+
* Millis,
|
|
339
|
+
* testCreateTime,
|
|
340
|
+
* type ConsoleEntry,
|
|
341
|
+
* } from "@evolu/common";
|
|
342
|
+
*
|
|
343
|
+
* const time = testCreateTime({ startAt: Millis.orThrow(0) });
|
|
344
|
+
* const formatRelative = createConsoleFormatter({ time })({
|
|
345
|
+
* timestampFormat: "relative",
|
|
302
346
|
* });
|
|
347
|
+
* const connected: ConsoleEntry = {
|
|
348
|
+
* method: "log",
|
|
349
|
+
* path: ["relay"],
|
|
350
|
+
* args: ["connected"],
|
|
351
|
+
* };
|
|
303
352
|
*
|
|
304
|
-
*
|
|
305
|
-
*
|
|
306
|
-
*
|
|
307
|
-
*
|
|
308
|
-
*
|
|
309
|
-
*
|
|
310
|
-
*
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
*
|
|
353
|
+
* expect(formatRelative(connected)).toEqual([
|
|
354
|
+
* "+0.000s [relay]",
|
|
355
|
+
* "connected",
|
|
356
|
+
* ]);
|
|
357
|
+
* time.advance("1.5s");
|
|
358
|
+
* expect(
|
|
359
|
+
* formatRelative({
|
|
360
|
+
* ...connected,
|
|
361
|
+
* path: ["relay", "db"],
|
|
362
|
+
* args: ["opened"],
|
|
363
|
+
* }),
|
|
364
|
+
* ).toEqual(["+1.500s [relay] [db]", "opened"]);
|
|
365
|
+
*
|
|
366
|
+
* const localTimestamp = new globalThis.Date(
|
|
367
|
+
* 2026,
|
|
368
|
+
* 0,
|
|
369
|
+
* 28,
|
|
370
|
+
* 14,
|
|
371
|
+
* 30,
|
|
372
|
+
* 15,
|
|
373
|
+
* 123,
|
|
374
|
+
* ).getTime();
|
|
375
|
+
* const formatAbsolute = createConsoleFormatter({
|
|
376
|
+
* time: testCreateTime({ startAt: Millis.orThrow(localTimestamp) }),
|
|
377
|
+
* })({ timestampFormat: "absolute" });
|
|
378
|
+
* expect(formatAbsolute(connected)).toEqual([
|
|
379
|
+
* "14:30:15.123 [relay]",
|
|
380
|
+
* "connected",
|
|
381
|
+
* ]);
|
|
315
382
|
* ```
|
|
316
383
|
*/
|
|
317
384
|
export declare const createConsoleFormatter: ({ time }?: Partial<TimeDep>) => (config?: ConsoleFormatterConfig) => ConsoleFormatter;
|
|
@@ -325,11 +392,20 @@ export declare const createConsoleStoreOutput: () => ConsoleStoreOutput;
|
|
|
325
392
|
* ### Example
|
|
326
393
|
*
|
|
327
394
|
* ```ts
|
|
328
|
-
*
|
|
329
|
-
*
|
|
395
|
+
* import {
|
|
396
|
+
* createConsole,
|
|
397
|
+
* createConsoleArrayOutput,
|
|
398
|
+
* type ConsoleEntry,
|
|
399
|
+
* } from "@evolu/common";
|
|
330
400
|
*
|
|
331
|
-
*
|
|
332
|
-
*
|
|
401
|
+
* const entries: Array<ConsoleEntry> = [];
|
|
402
|
+
* const console = createConsole({
|
|
403
|
+
* output: createConsoleArrayOutput(entries),
|
|
404
|
+
* });
|
|
405
|
+
* console.info("connected");
|
|
406
|
+
* expect(entries).toEqual([
|
|
407
|
+
* { method: "info", path: [], args: ["connected"] },
|
|
408
|
+
* ]);
|
|
333
409
|
* ```
|
|
334
410
|
*/
|
|
335
411
|
export declare const createConsoleArrayOutput: (entries: Array<ConsoleEntry>) => ConsoleOutput;
|
|
@@ -342,43 +418,46 @@ export declare const createConsoleArrayOutput: (entries: Array<ConsoleEntry>) =>
|
|
|
342
418
|
* ### Example
|
|
343
419
|
*
|
|
344
420
|
* ```ts
|
|
421
|
+
* import {
|
|
422
|
+
* createConsole,
|
|
423
|
+
* createConsoleArrayOutput,
|
|
424
|
+
* createConsoleStoreOutput,
|
|
425
|
+
* createMultiOutput,
|
|
426
|
+
* type ConsoleEntry,
|
|
427
|
+
* } from "@evolu/common";
|
|
428
|
+
*
|
|
429
|
+
* const entries: Array<ConsoleEntry> = [];
|
|
345
430
|
* const storeOutput = createConsoleStoreOutput();
|
|
346
431
|
* const console = createConsole({
|
|
347
|
-
* output: createMultiOutput([
|
|
432
|
+
* output: createMultiOutput([
|
|
433
|
+
* createConsoleArrayOutput(entries),
|
|
434
|
+
* storeOutput,
|
|
435
|
+
* ]),
|
|
348
436
|
* });
|
|
437
|
+
* console.error("disconnected");
|
|
438
|
+
*
|
|
439
|
+
* expect(storeOutput.entry.get()).toEqual(entries[0]);
|
|
349
440
|
* ```
|
|
350
441
|
*/
|
|
351
442
|
export declare const createMultiOutput: (outputs: ReadonlyArray<ConsoleOutput>) => ConsoleOutput;
|
|
352
443
|
/**
|
|
353
444
|
* Creates a {@link TestConsole} that captures all output for testing.
|
|
354
445
|
*
|
|
355
|
-
* Unlike {@link createConsole}, this doesn't require dependencies and
|
|
356
|
-
*
|
|
446
|
+
* Unlike {@link createConsole}, this doesn't require dependencies and captures
|
|
447
|
+
* entries in memory.
|
|
357
448
|
*
|
|
358
449
|
* ### Example
|
|
359
450
|
*
|
|
360
451
|
* ```ts
|
|
361
|
-
*
|
|
362
|
-
* const console = testCreateConsole();
|
|
363
|
-
* console.info("Hello");
|
|
364
|
-
*
|
|
365
|
-
* expect(console.getEntriesSnapshot()).toMatchInlineSnapshot(`
|
|
366
|
-
* [
|
|
367
|
-
* {
|
|
368
|
-
* "method": "info",
|
|
369
|
-
* "path": [],
|
|
370
|
-
* "args": ["Hello"]
|
|
371
|
-
* }
|
|
372
|
-
* ]
|
|
373
|
-
* `);
|
|
374
|
-
* });
|
|
452
|
+
* import { testCreateConsole } from "@evolu/common";
|
|
375
453
|
*
|
|
376
|
-
*
|
|
377
|
-
*
|
|
378
|
-
*
|
|
379
|
-
*
|
|
380
|
-
*
|
|
381
|
-
* }
|
|
454
|
+
* const console = testCreateConsole({ level: "info" });
|
|
455
|
+
* console.debug("ignored");
|
|
456
|
+
* console.child("relay").info("connected");
|
|
457
|
+
*
|
|
458
|
+
* expect(console.getEntriesSnapshot()).toEqual([
|
|
459
|
+
* { method: "info", path: ["relay"], args: ["connected"] },
|
|
460
|
+
* ]);
|
|
382
461
|
* ```
|
|
383
462
|
*/
|
|
384
463
|
export declare const testCreateConsole: ({ level, }?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Console.d.ts","sourceRoot":"","sources":["../../src/Console.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAIL,KAAK,MAAM,EACX,KAAK,OAAO,EACb,MAAM,WAAW,CAAC;AAEnB
|
|
1
|
+
{"version":3,"file":"Console.d.ts","sourceRoot":"","sources":["../../src/Console.ts"],"names":[],"mappings":"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"}
|