@evolu/common 7.0.0 → 7.1.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/README.md +26 -28
- package/dist/src/Array.d.ts +104 -43
- package/dist/src/Array.d.ts.map +1 -1
- package/dist/src/Array.js +55 -51
- package/dist/src/Assert.d.ts.map +1 -1
- package/dist/src/Brand.d.ts +1 -1
- package/dist/src/Cache.d.ts +1 -6
- package/dist/src/Cache.d.ts.map +1 -1
- package/dist/src/Cache.js +1 -6
- package/dist/src/Console.d.ts +1 -1
- package/dist/src/Console.js +1 -1
- package/dist/src/Crypto.d.ts.map +1 -1
- package/dist/src/Crypto.js +5 -1
- package/dist/src/Evolu/Internal.d.ts +2 -2
- package/dist/src/Evolu/Internal.js +2 -2
- package/dist/src/Evolu/Public.d.ts +1 -1
- package/dist/src/Evolu/Public.js +1 -1
- package/dist/src/Order.d.ts +0 -5
- package/dist/src/Order.d.ts.map +1 -1
- package/dist/src/Order.js +0 -5
- package/dist/src/Platform.d.ts +0 -5
- package/dist/src/Platform.d.ts.map +1 -1
- package/dist/src/Platform.js +0 -5
- package/dist/src/Random.d.ts +0 -5
- package/dist/src/Random.d.ts.map +1 -1
- package/dist/src/Random.js +0 -5
- package/dist/src/Ref.d.ts.map +1 -1
- package/dist/src/Result.d.ts +15 -17
- package/dist/src/Result.d.ts.map +1 -1
- package/dist/src/Store.d.ts +0 -5
- package/dist/src/Store.d.ts.map +1 -1
- package/dist/src/Store.js +0 -5
- package/dist/src/Task.d.ts +4 -10
- package/dist/src/Task.d.ts.map +1 -1
- package/dist/src/Task.js +0 -5
- package/dist/src/Time.d.ts +0 -5
- package/dist/src/Time.d.ts.map +1 -1
- package/dist/src/Time.js +0 -5
- package/dist/src/Type.d.ts +3 -3
- package/dist/src/Type.d.ts.map +1 -1
- package/dist/src/Type.js +1 -1
- package/dist/src/Types.d.ts +37 -0
- package/dist/src/Types.d.ts.map +1 -1
- package/dist/src/WebSocket.d.ts +0 -5
- package/dist/src/WebSocket.d.ts.map +1 -1
- package/dist/src/WebSocket.js +0 -5
- package/dist/src/Worker.d.ts +0 -5
- package/dist/src/Worker.d.ts.map +1 -1
- package/dist/src/Worker.js +0 -5
- package/package.json +1 -1
- package/src/Array.ts +140 -45
- package/src/Assert.ts +0 -14
- package/src/Brand.ts +1 -1
- package/src/Cache.ts +1 -7
- package/src/Console.ts +1 -1
- package/src/Crypto.ts +5 -1
- package/src/Evolu/Internal.ts +2 -2
- package/src/Evolu/Public.ts +1 -1
- package/src/Order.ts +0 -6
- package/src/Platform.ts +0 -6
- package/src/Random.ts +0 -6
- package/src/Ref.ts +0 -5
- package/src/Result.ts +15 -17
- package/src/Store.ts +0 -5
- package/src/Task.ts +4 -11
- package/src/Time.ts +0 -6
- package/src/Type.ts +3 -3
- package/src/Types.ts +42 -0
- package/src/WebSocket.ts +0 -6
- package/src/Worker.ts +0 -6
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Evolu
|
|
2
2
|
|
|
3
|
-
Evolu is TypeScript library and local-first platform.
|
|
3
|
+
Evolu is a TypeScript library and local-first platform.
|
|
4
4
|
|
|
5
5
|
## Documentation
|
|
6
6
|
|
|
@@ -20,7 +20,7 @@ To chat with other community members, you can join the [Evolu Discord](https://d
|
|
|
20
20
|
|
|
21
21
|
We provide a free relay `free.evoluhq.com` for testing and personal usage.
|
|
22
22
|
|
|
23
|
-
The Evolu Relay source
|
|
23
|
+
The Evolu Relay source and Docker files are in the [/apps/relay](/apps/relay) directory.
|
|
24
24
|
|
|
25
25
|
Alternatively, a pre-built image `evoluhq/relay:latest` is hosted on [Docker Hub](https://hub.docker.com/r/evoluhq/relay).
|
|
26
26
|
|
|
@@ -36,39 +36,37 @@ Install dependencies:
|
|
|
36
36
|
pnpm install
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
Build
|
|
39
|
+
Build scripts
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
pnpm build
|
|
43
|
-
pnpm build
|
|
44
|
-
```
|
|
41
|
+
- `pnpm build` - Build packages
|
|
42
|
+
- `pnpm build:web` - Build web
|
|
43
|
+
- `pnpm examples:build` - Build all examples
|
|
45
44
|
|
|
46
|
-
Start dev
|
|
45
|
+
Start dev
|
|
47
46
|
|
|
48
|
-
|
|
49
|
-
# web
|
|
50
|
-
pnpm dev
|
|
47
|
+
> **Warning**: Run `pnpm build` before running dev. Packages must be built first.
|
|
51
48
|
|
|
52
|
-
|
|
53
|
-
pnpm ios
|
|
54
|
-
pnpm android
|
|
55
|
-
|
|
49
|
+
- `pnpm dev` - Dev server for web
|
|
50
|
+
- `pnpm ios` - Run iOS example (requires `pnpm dev` running)
|
|
51
|
+
- `pnpm android` - Run Android example (requires `pnpm dev` running)
|
|
52
|
+
- `pnpm examples:react-nextjs:dev` - Dev server for React Next.js example
|
|
53
|
+
- `pnpm examples:react-vite-pwa:dev` - Dev server for React Vite PWA example
|
|
54
|
+
- `pnpm examples:svelte-vite-pwa:dev` - Dev server for Svelte Vite PWA example
|
|
55
|
+
- `pnpm examples:vue-vite-pwa:dev` - Dev server for Vue Vite PWA example
|
|
56
56
|
|
|
57
|
-
Linting
|
|
57
|
+
Linting
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
pnpm lint
|
|
61
|
-
pnpm lint-monorepo
|
|
62
|
-
```
|
|
59
|
+
- `pnpm lint` - Lint code
|
|
60
|
+
- `pnpm lint-monorepo` - Lint monorepo structure
|
|
63
61
|
|
|
64
|
-
|
|
62
|
+
Testing
|
|
65
63
|
|
|
66
|
-
|
|
67
|
-
pnpm test
|
|
68
|
-
```
|
|
64
|
+
- `pnpm test` - Run tests
|
|
69
65
|
|
|
70
|
-
|
|
66
|
+
Release
|
|
71
67
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
- `pnpm changeset` - Describe changes for release log
|
|
69
|
+
|
|
70
|
+
Verify
|
|
71
|
+
|
|
72
|
+
- `pnpm verify` - Run all checks (build, lint, test) before commit
|
package/dist/src/Array.d.ts
CHANGED
|
@@ -1,8 +1,44 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Array types, type guards, operations, transformations, accessors, and
|
|
3
|
+
* mutations
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
5
|
+
* ### Example
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* // Types - compile-time guarantee of at least one element
|
|
9
|
+
* const _valid: NonEmptyReadonlyArray<number> = [1, 2, 3];
|
|
10
|
+
* // ts-expect-error - empty array is not a valid NonEmptyReadonlyArray
|
|
11
|
+
* const _invalid: NonEmptyReadonlyArray<number> = [];
|
|
12
|
+
*
|
|
13
|
+
* // Type guards
|
|
14
|
+
* const arr: ReadonlyArray<number> = [1, 2, 3];
|
|
15
|
+
* if (isNonEmptyReadonlyArray(arr)) {
|
|
16
|
+
* firstInArray(arr);
|
|
17
|
+
* }
|
|
18
|
+
*
|
|
19
|
+
* // Operations
|
|
20
|
+
* const appended = appendToArray([1, 2, 3], 4); // [1, 2, 3, 4]
|
|
21
|
+
* const prepended = prependToArray([2, 3], 1); // [1, 2, 3]
|
|
22
|
+
*
|
|
23
|
+
* // Transformations
|
|
24
|
+
* const readonly: ReadonlyArray<number> = [1, 2, 3];
|
|
25
|
+
* const mapped = mapArray(readonly, (x) => x * 2); // [2, 4, 6]
|
|
26
|
+
* const filtered = filterArray(readonly, (x) => x > 1); // [2, 3]
|
|
27
|
+
* const deduped = dedupeArray([1, 2, 1, 3, 2]); // [1, 2, 3]
|
|
28
|
+
* const [evens, odds] = partitionArray(
|
|
29
|
+
* [1, 2, 3, 4, 5],
|
|
30
|
+
* (x) => x % 2 === 0,
|
|
31
|
+
* ); // [[2, 4], [1, 3, 5]]
|
|
32
|
+
*
|
|
33
|
+
* // Accessors
|
|
34
|
+
* const first = firstInArray(["a", "b", "c"]); // "a"
|
|
35
|
+
* const last = lastInArray(["a", "b", "c"]); // "c"
|
|
36
|
+
*
|
|
37
|
+
* // Mutations
|
|
38
|
+
* const mutable: NonEmptyArray<number> = [1, 2, 3];
|
|
39
|
+
* shiftArray(mutable); // 1 (guaranteed to exist)
|
|
40
|
+
* mutable; // [2, 3]
|
|
41
|
+
* ```
|
|
6
42
|
*
|
|
7
43
|
* Functions are intentionally data-first to be prepared for the upcoming
|
|
8
44
|
* JavaScript pipe operator.
|
|
@@ -43,42 +79,9 @@
|
|
|
43
79
|
* **Note**: Feel free to use Array instance methods (mutation) if you think
|
|
44
80
|
* it's better (performance, local scope, etc.).
|
|
45
81
|
*
|
|
46
|
-
* ### Example
|
|
47
|
-
*
|
|
48
|
-
* ```ts
|
|
49
|
-
* // Types - compile-time guarantee of at least one element
|
|
50
|
-
* const _valid: NonEmptyReadonlyArray<number> = [1, 2, 3];
|
|
51
|
-
* // ts-expect-error - empty array is not a valid NonEmptyReadonlyArray
|
|
52
|
-
* const _invalid: NonEmptyReadonlyArray<number> = [];
|
|
53
|
-
*
|
|
54
|
-
* // Guards
|
|
55
|
-
* const arr: ReadonlyArray<number> = [1, 2, 3];
|
|
56
|
-
* if (isNonEmptyReadonlyArray(arr)) {
|
|
57
|
-
* firstInArray(arr);
|
|
58
|
-
* }
|
|
59
|
-
*
|
|
60
|
-
* // Operations
|
|
61
|
-
* const appended = appendToArray([1, 2, 3], 4); // [1, 2, 3, 4]
|
|
62
|
-
* const prepended = prependToArray([2, 3], 1); // [1, 2, 3]
|
|
63
|
-
*
|
|
64
|
-
* // Transformations
|
|
65
|
-
* const readonly: ReadonlyArray<number> = [1, 2, 3];
|
|
66
|
-
* const mapped = mapArray(readonly, (x) => x * 2); // [2, 4, 6]
|
|
67
|
-
* const filtered = filterArray(readonly, (x) => x > 1); // [2, 3]
|
|
68
|
-
* const deduped = dedupeArray([1, 2, 1, 3, 2]); // [1, 2, 3]
|
|
69
|
-
*
|
|
70
|
-
* // Accessors
|
|
71
|
-
* const first = firstInArray(["a", "b", "c"]); // "a"
|
|
72
|
-
* const last = lastInArray(["a", "b", "c"]); // "c"
|
|
73
|
-
*
|
|
74
|
-
* // Mutations
|
|
75
|
-
* const mutable: NonEmptyArray<number> = [1, 2, 3];
|
|
76
|
-
* shiftArray(mutable); // 1 (guaranteed to exist)
|
|
77
|
-
* mutable; // [2, 3]
|
|
78
|
-
* ```
|
|
79
|
-
*
|
|
80
82
|
* @module
|
|
81
83
|
*/
|
|
84
|
+
import { PredicateWithIndex, RefinementWithIndex } from "./Types.js";
|
|
82
85
|
/**
|
|
83
86
|
* An array with at least one element.
|
|
84
87
|
*
|
|
@@ -157,8 +160,7 @@ export declare const prependToArray: <T>(array: ReadonlyArray<T>, item: T) => No
|
|
|
157
160
|
/**
|
|
158
161
|
* Maps an array using a mapper function.
|
|
159
162
|
*
|
|
160
|
-
* Accepts both mutable and readonly arrays.
|
|
161
|
-
* Preserves non-empty type.
|
|
163
|
+
* Accepts both mutable and readonly arrays. Preserves non-empty type.
|
|
162
164
|
*
|
|
163
165
|
* ### Example
|
|
164
166
|
*
|
|
@@ -171,19 +173,37 @@ export declare const prependToArray: <T>(array: ReadonlyArray<T>, item: T) => No
|
|
|
171
173
|
export declare function mapArray<T, U>(array: NonEmptyReadonlyArray<T> | NonEmptyArray<T>, mapper: (item: T, index: number) => U): NonEmptyReadonlyArray<U>;
|
|
172
174
|
export declare function mapArray<T, U>(array: ReadonlyArray<T> | Array<T>, mapper: (item: T, index: number) => U): ReadonlyArray<U>;
|
|
173
175
|
/**
|
|
174
|
-
* Filters an array using a predicate function, returning a new
|
|
176
|
+
* Filters an array using a predicate or refinement function, returning a new
|
|
177
|
+
* readonly array.
|
|
175
178
|
*
|
|
176
|
-
* Accepts both mutable and readonly arrays.
|
|
179
|
+
* Accepts both mutable and readonly arrays. When used with a refinement
|
|
180
|
+
* function (with `value is Type` syntax), TypeScript will narrow the result
|
|
181
|
+
* type to the narrowed type, making it useful for filtering with Evolu Types
|
|
182
|
+
* like `PositiveInt.is`.
|
|
177
183
|
*
|
|
178
|
-
* ###
|
|
184
|
+
* ### Examples
|
|
185
|
+
*
|
|
186
|
+
* #### With predicate
|
|
179
187
|
*
|
|
180
188
|
* ```ts
|
|
181
189
|
* filterArray([1, 2, 3, 4, 5], (x) => x % 2 === 0); // [2, 4]
|
|
182
190
|
* ```
|
|
183
191
|
*
|
|
192
|
+
* #### With refinement
|
|
193
|
+
*
|
|
194
|
+
* ```ts
|
|
195
|
+
* const mixed: ReadonlyArray<NonEmptyString | PositiveInt> = [
|
|
196
|
+
* NonEmptyString.orThrow("hello"),
|
|
197
|
+
* PositiveInt.orThrow(42),
|
|
198
|
+
* ];
|
|
199
|
+
* const positiveInts = filterArray(mixed, PositiveInt.is);
|
|
200
|
+
* // positiveInts: ReadonlyArray<PositiveInt> (narrowed type)
|
|
201
|
+
* ```
|
|
202
|
+
*
|
|
184
203
|
* @category Transformations
|
|
185
204
|
*/
|
|
186
|
-
export declare
|
|
205
|
+
export declare function filterArray<T, S extends T>(array: ReadonlyArray<T>, refinement: RefinementWithIndex<T, S>): ReadonlyArray<S>;
|
|
206
|
+
export declare function filterArray<T>(array: ReadonlyArray<T>, predicate: PredicateWithIndex<T>): ReadonlyArray<T>;
|
|
187
207
|
/**
|
|
188
208
|
* Returns a new readonly array with duplicate items removed. If `by` is
|
|
189
209
|
* provided, it will be used to derive the key for uniqueness; otherwise values
|
|
@@ -214,6 +234,47 @@ export declare const filterArray: <T>(array: ReadonlyArray<T>, predicate: (item:
|
|
|
214
234
|
*/
|
|
215
235
|
export declare function dedupeArray<T>(array: NonEmptyReadonlyArray<T> | NonEmptyArray<T>, by?: (item: T) => unknown): NonEmptyReadonlyArray<T>;
|
|
216
236
|
export declare function dedupeArray<T>(array: ReadonlyArray<T> | Array<T>, by?: (item: T) => unknown): ReadonlyArray<T>;
|
|
237
|
+
/**
|
|
238
|
+
* Partitions an array into two arrays based on a predicate or refinement
|
|
239
|
+
* function.
|
|
240
|
+
*
|
|
241
|
+
* Returns a tuple where the first array contains elements that satisfy the
|
|
242
|
+
* predicate, and the second array contains elements that do not. Accepts both
|
|
243
|
+
* mutable and readonly arrays.
|
|
244
|
+
*
|
|
245
|
+
* When used with a refinement function (with `value is Type` syntax),
|
|
246
|
+
* TypeScript will narrow the first array to the narrowed type, making it useful
|
|
247
|
+
* for filtering with Evolu Types like `PositiveInt.is`.
|
|
248
|
+
*
|
|
249
|
+
* ### Examples
|
|
250
|
+
*
|
|
251
|
+
* #### With predicate
|
|
252
|
+
*
|
|
253
|
+
* ```ts
|
|
254
|
+
* const [evens, odds] = partitionArray(
|
|
255
|
+
* [1, 2, 3, 4, 5],
|
|
256
|
+
* (x) => x % 2 === 0,
|
|
257
|
+
* );
|
|
258
|
+
* evens; // [2, 4]
|
|
259
|
+
* odds; // [1, 3, 5]
|
|
260
|
+
* ```
|
|
261
|
+
*
|
|
262
|
+
* #### With refinement
|
|
263
|
+
*
|
|
264
|
+
* ```ts
|
|
265
|
+
* const mixed: ReadonlyArray<NonEmptyString | PositiveInt> = [
|
|
266
|
+
* NonEmptyString.orThrow("hello"),
|
|
267
|
+
* PositiveInt.orThrow(42),
|
|
268
|
+
* ];
|
|
269
|
+
* const [positiveInts, strings] = partitionArray(mixed, PositiveInt.is);
|
|
270
|
+
* // positiveInts: ReadonlyArray<PositiveInt> (narrowed type)
|
|
271
|
+
* // strings: ReadonlyArray<NonEmptyString> (Exclude<T, PositiveInt>)
|
|
272
|
+
* ```
|
|
273
|
+
*
|
|
274
|
+
* @category Transformations
|
|
275
|
+
*/
|
|
276
|
+
export declare function partitionArray<T, S extends T>(array: ReadonlyArray<T>, refinement: RefinementWithIndex<T, S>): readonly [ReadonlyArray<S>, ReadonlyArray<Exclude<T, S>>];
|
|
277
|
+
export declare function partitionArray<T>(array: ReadonlyArray<T>, predicate: PredicateWithIndex<T>): readonly [ReadonlyArray<T>, ReadonlyArray<T>];
|
|
217
278
|
/**
|
|
218
279
|
* Returns the first element of a non-empty array.
|
|
219
280
|
*
|
package/dist/src/Array.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Array.d.ts","sourceRoot":"","sources":["../../src/Array.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Array.d.ts","sourceRoot":"","sources":["../../src/Array.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Array.js
CHANGED
|
@@ -1,8 +1,44 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Array types, type guards, operations, transformations, accessors, and
|
|
3
|
+
* mutations
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
5
|
+
* ### Example
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* // Types - compile-time guarantee of at least one element
|
|
9
|
+
* const _valid: NonEmptyReadonlyArray<number> = [1, 2, 3];
|
|
10
|
+
* // ts-expect-error - empty array is not a valid NonEmptyReadonlyArray
|
|
11
|
+
* const _invalid: NonEmptyReadonlyArray<number> = [];
|
|
12
|
+
*
|
|
13
|
+
* // Type guards
|
|
14
|
+
* const arr: ReadonlyArray<number> = [1, 2, 3];
|
|
15
|
+
* if (isNonEmptyReadonlyArray(arr)) {
|
|
16
|
+
* firstInArray(arr);
|
|
17
|
+
* }
|
|
18
|
+
*
|
|
19
|
+
* // Operations
|
|
20
|
+
* const appended = appendToArray([1, 2, 3], 4); // [1, 2, 3, 4]
|
|
21
|
+
* const prepended = prependToArray([2, 3], 1); // [1, 2, 3]
|
|
22
|
+
*
|
|
23
|
+
* // Transformations
|
|
24
|
+
* const readonly: ReadonlyArray<number> = [1, 2, 3];
|
|
25
|
+
* const mapped = mapArray(readonly, (x) => x * 2); // [2, 4, 6]
|
|
26
|
+
* const filtered = filterArray(readonly, (x) => x > 1); // [2, 3]
|
|
27
|
+
* const deduped = dedupeArray([1, 2, 1, 3, 2]); // [1, 2, 3]
|
|
28
|
+
* const [evens, odds] = partitionArray(
|
|
29
|
+
* [1, 2, 3, 4, 5],
|
|
30
|
+
* (x) => x % 2 === 0,
|
|
31
|
+
* ); // [[2, 4], [1, 3, 5]]
|
|
32
|
+
*
|
|
33
|
+
* // Accessors
|
|
34
|
+
* const first = firstInArray(["a", "b", "c"]); // "a"
|
|
35
|
+
* const last = lastInArray(["a", "b", "c"]); // "c"
|
|
36
|
+
*
|
|
37
|
+
* // Mutations
|
|
38
|
+
* const mutable: NonEmptyArray<number> = [1, 2, 3];
|
|
39
|
+
* shiftArray(mutable); // 1 (guaranteed to exist)
|
|
40
|
+
* mutable; // [2, 3]
|
|
41
|
+
* ```
|
|
6
42
|
*
|
|
7
43
|
* Functions are intentionally data-first to be prepared for the upcoming
|
|
8
44
|
* JavaScript pipe operator.
|
|
@@ -43,40 +79,6 @@
|
|
|
43
79
|
* **Note**: Feel free to use Array instance methods (mutation) if you think
|
|
44
80
|
* it's better (performance, local scope, etc.).
|
|
45
81
|
*
|
|
46
|
-
* ### Example
|
|
47
|
-
*
|
|
48
|
-
* ```ts
|
|
49
|
-
* // Types - compile-time guarantee of at least one element
|
|
50
|
-
* const _valid: NonEmptyReadonlyArray<number> = [1, 2, 3];
|
|
51
|
-
* // ts-expect-error - empty array is not a valid NonEmptyReadonlyArray
|
|
52
|
-
* const _invalid: NonEmptyReadonlyArray<number> = [];
|
|
53
|
-
*
|
|
54
|
-
* // Guards
|
|
55
|
-
* const arr: ReadonlyArray<number> = [1, 2, 3];
|
|
56
|
-
* if (isNonEmptyReadonlyArray(arr)) {
|
|
57
|
-
* firstInArray(arr);
|
|
58
|
-
* }
|
|
59
|
-
*
|
|
60
|
-
* // Operations
|
|
61
|
-
* const appended = appendToArray([1, 2, 3], 4); // [1, 2, 3, 4]
|
|
62
|
-
* const prepended = prependToArray([2, 3], 1); // [1, 2, 3]
|
|
63
|
-
*
|
|
64
|
-
* // Transformations
|
|
65
|
-
* const readonly: ReadonlyArray<number> = [1, 2, 3];
|
|
66
|
-
* const mapped = mapArray(readonly, (x) => x * 2); // [2, 4, 6]
|
|
67
|
-
* const filtered = filterArray(readonly, (x) => x > 1); // [2, 3]
|
|
68
|
-
* const deduped = dedupeArray([1, 2, 1, 3, 2]); // [1, 2, 3]
|
|
69
|
-
*
|
|
70
|
-
* // Accessors
|
|
71
|
-
* const first = firstInArray(["a", "b", "c"]); // "a"
|
|
72
|
-
* const last = lastInArray(["a", "b", "c"]); // "c"
|
|
73
|
-
*
|
|
74
|
-
* // Mutations
|
|
75
|
-
* const mutable: NonEmptyArray<number> = [1, 2, 3];
|
|
76
|
-
* shiftArray(mutable); // 1 (guaranteed to exist)
|
|
77
|
-
* mutable; // [2, 3]
|
|
78
|
-
* ```
|
|
79
|
-
*
|
|
80
82
|
* @module
|
|
81
83
|
*/
|
|
82
84
|
/**
|
|
@@ -145,20 +147,9 @@ export const prependToArray = (array, item) => [item, ...array];
|
|
|
145
147
|
export function mapArray(array, mapper) {
|
|
146
148
|
return array.map(mapper);
|
|
147
149
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
152
|
-
*
|
|
153
|
-
* ### Example
|
|
154
|
-
*
|
|
155
|
-
* ```ts
|
|
156
|
-
* filterArray([1, 2, 3, 4, 5], (x) => x % 2 === 0); // [2, 4]
|
|
157
|
-
* ```
|
|
158
|
-
*
|
|
159
|
-
* @category Transformations
|
|
160
|
-
*/
|
|
161
|
-
export const filterArray = (array, predicate) => array.filter(predicate);
|
|
150
|
+
export function filterArray(array, predicate) {
|
|
151
|
+
return array.filter(predicate);
|
|
152
|
+
}
|
|
162
153
|
export function dedupeArray(array, by) {
|
|
163
154
|
if (by == null) {
|
|
164
155
|
return Array.from(new Set(array));
|
|
@@ -172,6 +163,19 @@ export function dedupeArray(array, by) {
|
|
|
172
163
|
return true;
|
|
173
164
|
});
|
|
174
165
|
}
|
|
166
|
+
export function partitionArray(array, predicate) {
|
|
167
|
+
const trueArray = [];
|
|
168
|
+
const falseArray = [];
|
|
169
|
+
for (let i = 0; i < array.length; i++) {
|
|
170
|
+
if (predicate(array[i], i)) {
|
|
171
|
+
trueArray.push(array[i]);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
falseArray.push(array[i]);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return [trueArray, falseArray];
|
|
178
|
+
}
|
|
175
179
|
/**
|
|
176
180
|
* Returns the first element of a non-empty array.
|
|
177
181
|
*
|
package/dist/src/Assert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Assert.d.ts","sourceRoot":"","sources":["../../src/Assert.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Assert.d.ts","sourceRoot":"","sources":["../../src/Assert.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,MAAM,EAAE,CACnB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,SAIZ,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,EAAE,CAAC,CAAC,EAClC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EACb,OAAO,CAAC,EAAE,MAAM,KACb,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAKlC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,2BAA2B,EAAE,CAAC,CAAC,EAC1C,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EACrB,OAAO,CAAC,EAAE,MAAM,KACb,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAK3C,CAAC"}
|
package/dist/src/Brand.d.ts
CHANGED
package/dist/src/Cache.d.ts
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 🗄️ Generic cache interface and LRU cache implementation.
|
|
3
|
-
*
|
|
4
|
-
* @module
|
|
5
|
-
*/
|
|
6
1
|
import { PositiveInt } from "./Type.js";
|
|
7
2
|
/**
|
|
8
3
|
* Generic cache interface providing basic key-value storage operations.
|
|
@@ -25,7 +20,7 @@ export interface Cache<K, V> {
|
|
|
25
20
|
readonly map: ReadonlyMap<K, V>;
|
|
26
21
|
}
|
|
27
22
|
/**
|
|
28
|
-
* Creates
|
|
23
|
+
* Creates an LRU (least recently used) cache with a maximum capacity.
|
|
29
24
|
*
|
|
30
25
|
* When the cache reaches capacity, the least recently used entry is evicted.
|
|
31
26
|
* Both `get` and `set` operations update the access order.
|
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
|
|
1
|
+
{"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../src/Cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC;;;;;;;GAOG;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;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,CAAC,EAAE,UAAU,WAAW,KAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAmCtE,CAAC"}
|
package/dist/src/Cache.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* @module
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Creates a Least Recently Used (LRU) cache with a maximum capacity.
|
|
2
|
+
* Creates an LRU (least recently used) cache with a maximum capacity.
|
|
8
3
|
*
|
|
9
4
|
* When the cache reaches capacity, the least recently used entry is evicted.
|
|
10
5
|
* Both `get` and `set` operations update the access order.
|
package/dist/src/Console.d.ts
CHANGED
package/dist/src/Console.js
CHANGED
package/dist/src/Crypto.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../src/Crypto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../src/Crypto.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,EAAW,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAiB,cAAc,EAAc,MAAM,WAAW,CAAC;AAEtE,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,SAAS,CAAC;IACnC,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,SAAS,CAAC;IACnC,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,SAAS,CAAC;IACnC,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED,QAAA,MAAM,OAAO,uVAA+B,CAAC;AAC7C,KAAK,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;AAEnC,eAAO,MAAM,SAAS,mbAAsB,CAAC;AAC7C,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC;AAE9C,eAAO,MAAM,SAAS,mbAAsB,CAAC;AAC7C,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC;AAE9C,eAAO,MAAM,SAAS,mbAAsB,CAAC;AAC7C,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC;AAE9C,eAAO,MAAM,iBAAiB,QAAO,WAEnC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,GACvB,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,EACvC,MAAM,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,KACnC,SAaF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,EACb,YAAY,SAAS,KACpB,SAMF,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,aAAa,2qBAAoC,CAAC;AAC/D,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAEtD,8BAA8B;AAC9B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IAErC,QAAQ,CAAC,OAAO,EAAE,CAChB,SAAS,EAAE,UAAU,EACrB,aAAa,EAAE,aAAa,KACzB;QACH,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;QAC3B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;KACjC,CAAC;IAEF,QAAQ,CAAC,OAAO,EAAE,CAChB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,UAAU,KACd,MAAM,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,cAAc,KACnB,eAyBF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAClC,QAAQ,cAAc,KACrB,cAOF,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,kBAAkB,GAAI,QAAQ,cAAc,KAAG,UAI3D,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC;AAExE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C"}
|
package/dist/src/Crypto.js
CHANGED
package/dist/src/Evolu/Public.js
CHANGED
package/dist/src/Order.d.ts
CHANGED
package/dist/src/Order.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Order.d.ts","sourceRoot":"","sources":["../../src/Order.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Order.d.ts","sourceRoot":"","sources":["../../src/Order.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC;AAEnD;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,GACrB,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,KAAG,KAAK,CAAC,CAAC,CAER,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,GACtB,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAG,KAAK,CAAC,CAAC,CAEhB,CAAC;AAEhB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,MAAM,CAAgC,CAAC;AAEvE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,eAAuC,CAAC;AAEhE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,eAAuC,CAAC;AAEhE,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU,CAUxD,CAAC"}
|
package/dist/src/Order.js
CHANGED
package/dist/src/Platform.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Platform.d.ts","sourceRoot":"","sources":["../../src/Platform.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Platform.d.ts","sourceRoot":"","sources":["../../src/Platform.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,aAAa,SAIoB,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,SACkC,CAAC"}
|
package/dist/src/Platform.js
CHANGED
package/dist/src/Random.d.ts
CHANGED
package/dist/src/Random.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../../src/Random.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../../src/Random.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE7C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,MAAM;IACrB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,oDAAoD;AACpD,eAAO,MAAM,YAAY,QAAO,MAE9B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,MAKnD,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,4DAA4D;AAC5D,eAAO,MAAM,eAAe,QAAO,SAA4B,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,YAErD,CAAC"}
|
package/dist/src/Random.js
CHANGED
package/dist/src/Ref.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ref.d.ts","sourceRoot":"","sources":["../../src/Ref.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Ref.d.ts","sourceRoot":"","sources":["../../src/Ref.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,GAAG,CAAC,CAAC;IACpB,iCAAiC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAEtB,sBAAsB;IACtB,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAEjC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;CACvD;AAED,0DAA0D;AAC1D,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,cAAc,CAAC,KAAG,GAAG,CAAC,CAAC,CAcnD,CAAC"}
|