@evolu/common 8.7.0 → 8.9.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 +498 -141
- package/dist/src/Assert.d.ts.map +1 -1
- package/dist/src/Assert.js +648 -99
- package/dist/src/{Buffer.d.ts → Binary.d.ts} +85 -12
- package/dist/src/Binary.d.ts.map +1 -0
- package/dist/src/{Buffer.js → Binary.js} +206 -24
- 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.d.ts +6 -0
- package/dist/src/Polyfills.d.ts.map +1 -1
- package/dist/src/Polyfills.js +10 -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 +14 -76
- package/dist/src/local-first/Protocol.d.ts.map +1 -1
- package/dist/src/local-first/Protocol.js +29 -206
- 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 -4
- package/src/Array.test.ts +809 -0
- package/src/Array.ts +21 -21
- package/src/Assert.test.ts +1232 -0
- package/src/Assert.ts +1023 -227
- package/src/BigInt.test.ts +28 -0
- package/src/Binary.test.ts +1128 -0
- package/src/{Buffer.ts → Binary.ts} +273 -46
- 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 +9 -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 +58 -261
- 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.map +0 -1
package/dist/src/Array.d.ts
CHANGED
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
*
|
|
63
63
|
* const leaderboard = sortScores([3, 1, 2]);
|
|
64
64
|
* assertEqual(leaderboard, [1, 2, 3]);
|
|
65
|
-
* assertType<NonEmptyReadonlyArray<number
|
|
65
|
+
* assertType<typeof leaderboard, NonEmptyReadonlyArray<number>>();
|
|
66
66
|
* ```
|
|
67
67
|
*
|
|
68
68
|
* Sorting an empty array isn't expensive, but functions can have side effects
|
|
@@ -202,7 +202,7 @@ export declare const emptyArray: ReadonlyArray<never>;
|
|
|
202
202
|
* }
|
|
203
203
|
*
|
|
204
204
|
* assertEqual(values, [0, 10, 20]);
|
|
205
|
-
* assertType<Array<number
|
|
205
|
+
* assertType<typeof values, Array<number>>();
|
|
206
206
|
* ```
|
|
207
207
|
*
|
|
208
208
|
* @group Constructors
|
|
@@ -228,7 +228,7 @@ export declare const createMutableArray: <T>(length: number) => Array<T>;
|
|
|
228
228
|
*
|
|
229
229
|
* const fromSet = arrayFrom(new Set([1, 2, 3]));
|
|
230
230
|
* assertEqual(fromSet, [1, 2, 3]);
|
|
231
|
-
* assertType<ReadonlyArray<number
|
|
231
|
+
* assertType<typeof fromSet, ReadonlyArray<number>>();
|
|
232
232
|
*
|
|
233
233
|
* assertEqual(
|
|
234
234
|
* arrayFrom(3, (i) => i * 10),
|
|
@@ -275,7 +275,7 @@ export declare function arrayFrom<T>(length: number, map: (index: number) => T):
|
|
|
275
275
|
* })(),
|
|
276
276
|
* );
|
|
277
277
|
* assertEqual(fromAsyncIterable, [1, 2]);
|
|
278
|
-
* assertType<ReadonlyArray<number
|
|
278
|
+
* assertType<typeof fromAsyncIterable, ReadonlyArray<number>>();
|
|
279
279
|
* ```
|
|
280
280
|
*
|
|
281
281
|
* Unlike `Array.fromAsync`, there's no map parameter — map the result with
|
|
@@ -312,8 +312,8 @@ export declare const arrayFromAsync: <T>(iterable: AsyncIterable<T> | Iterable<T
|
|
|
312
312
|
* throw new Error("Expected values");
|
|
313
313
|
* }
|
|
314
314
|
*
|
|
315
|
-
* assertType<NonEmptyArray<number
|
|
316
|
-
* assertType<NonEmptyReadonlyArray<number
|
|
315
|
+
* assertType<typeof mutable, NonEmptyArray<number>>();
|
|
316
|
+
* assertType<typeof readonly, NonEmptyReadonlyArray<number>>();
|
|
317
317
|
* assertEqual(firstInArray(readonly), 1);
|
|
318
318
|
* ```
|
|
319
319
|
*
|
|
@@ -337,7 +337,7 @@ export declare function isNonEmptyArray<T>(array: ReadonlyArray<T>): array is No
|
|
|
337
337
|
*
|
|
338
338
|
* const values = appendToArray([1, 2, 3], 4);
|
|
339
339
|
* assertEqual(values, [1, 2, 3, 4]);
|
|
340
|
-
* assertType<NonEmptyReadonlyArray<number
|
|
340
|
+
* assertType<typeof values, NonEmptyReadonlyArray<number>>();
|
|
341
341
|
* ```
|
|
342
342
|
*
|
|
343
343
|
* @group Transformations
|
|
@@ -358,7 +358,7 @@ export declare const appendToArray: <T>(array: ReadonlyArray<T>, item: T) => Non
|
|
|
358
358
|
*
|
|
359
359
|
* const values = prependToArray([2, 3], 1);
|
|
360
360
|
* assertEqual(values, [1, 2, 3]);
|
|
361
|
-
* assertType<NonEmptyReadonlyArray<number
|
|
361
|
+
* assertType<typeof values, NonEmptyReadonlyArray<number>>();
|
|
362
362
|
* ```
|
|
363
363
|
*
|
|
364
364
|
* @group Transformations
|
|
@@ -382,11 +382,11 @@ export declare const prependToArray: <T>(array: ReadonlyArray<T>, item: T) => No
|
|
|
382
382
|
* const values: ReadonlyArray<number> = [1, 2, 3];
|
|
383
383
|
* const indexed = mapArray(values, (value, index) => value + index);
|
|
384
384
|
* assertEqual(indexed, [1, 3, 5]);
|
|
385
|
-
* assertType<ReadonlyArray<number
|
|
385
|
+
* assertType<typeof indexed, ReadonlyArray<number>>();
|
|
386
386
|
*
|
|
387
387
|
* const nonEmpty: NonEmptyReadonlyArray<number> = [1, 2, 3];
|
|
388
388
|
* const doubled = mapArray(nonEmpty, (x) => x * 2);
|
|
389
|
-
* assertType<NonEmptyReadonlyArray<number
|
|
389
|
+
* assertType<typeof doubled, NonEmptyReadonlyArray<number>>();
|
|
390
390
|
* ```
|
|
391
391
|
*
|
|
392
392
|
* The mapper receives `(item, index, array)`, matching native `Array.map`.
|
|
@@ -423,7 +423,7 @@ export declare function mapArray<T, U>(array: ReadonlyArray<T>, mapper: (item: T
|
|
|
423
423
|
* (value, index): NonEmptyReadonlyArray<number> => [value, index],
|
|
424
424
|
* );
|
|
425
425
|
* assertEqual(flattened, [1, 2, 3, 4]);
|
|
426
|
-
* assertType<NonEmptyReadonlyArray<number
|
|
426
|
+
* assertType<typeof expanded, NonEmptyReadonlyArray<number>>();
|
|
427
427
|
* assertEqual(expanded, [1, 0, 2, 1, 3, 2]);
|
|
428
428
|
* ```
|
|
429
429
|
*
|
|
@@ -476,8 +476,8 @@ export declare function flatMapArray<T, U>(array: ReadonlyArray<T>, mapper: (ite
|
|
|
476
476
|
* const fromRight = concatArrays([], nonEmpty);
|
|
477
477
|
*
|
|
478
478
|
* assertEqual(joined, [1, 2, 3, 4]);
|
|
479
|
-
* assertType<NonEmptyReadonlyArray<number
|
|
480
|
-
* assertType<NonEmptyReadonlyArray<number
|
|
479
|
+
* assertType<typeof fromLeft, NonEmptyReadonlyArray<number>>();
|
|
480
|
+
* assertType<typeof fromRight, NonEmptyReadonlyArray<number>>();
|
|
481
481
|
* ```
|
|
482
482
|
*
|
|
483
483
|
* @group Transformations
|
|
@@ -521,7 +521,7 @@ export declare function concatArrays<T>(first: ReadonlyArray<T>, second: Readonl
|
|
|
521
521
|
* ];
|
|
522
522
|
* const positiveInts = filterArray(mixed, PositiveInt.is);
|
|
523
523
|
* assertEqual(positiveInts, [42]);
|
|
524
|
-
* assertType<ReadonlyArray<PositiveInt
|
|
524
|
+
* assertType<typeof positiveInts, ReadonlyArray<PositiveInt>>();
|
|
525
525
|
* ```
|
|
526
526
|
*
|
|
527
527
|
* The predicate receives `(item, index, array)`, matching native
|
|
@@ -558,7 +558,7 @@ export declare function filterArray<T>(array: ReadonlyArray<T>, predicate: (item
|
|
|
558
558
|
* ],
|
|
559
559
|
* (item) => item.id,
|
|
560
560
|
* );
|
|
561
|
-
* assertType<NonEmptyReadonlyArray<number
|
|
561
|
+
* assertType<typeof numbers, NonEmptyReadonlyArray<number>>();
|
|
562
562
|
* assertEqual(numbers, [1, 2, 3]);
|
|
563
563
|
* assertEqual(people, [
|
|
564
564
|
* { id: 1, name: "Alice" },
|
|
@@ -612,8 +612,8 @@ export declare function dedupeArray<T>(array: ReadonlyArray<T>, by?: (item: T) =
|
|
|
612
612
|
* ];
|
|
613
613
|
* const [positiveInts, strings] = partitionArray(mixed, PositiveInt.is);
|
|
614
614
|
* assertEqual(positiveInts, [42]);
|
|
615
|
-
* assertType<ReadonlyArray<PositiveInt
|
|
616
|
-
* assertType<ReadonlyArray<NonEmptyTrimmedString
|
|
615
|
+
* assertType<typeof positiveInts, ReadonlyArray<PositiveInt>>();
|
|
616
|
+
* assertType<typeof strings, ReadonlyArray<NonEmptyTrimmedString>>();
|
|
617
617
|
* ```
|
|
618
618
|
*
|
|
619
619
|
* The predicate receives `(item, index, array)`.
|
|
@@ -641,7 +641,7 @@ export declare function partitionArray<T>(array: ReadonlyArray<T>, predicate: (i
|
|
|
641
641
|
* const values: NonEmptyReadonlyArray<number> = [3, 1, 2];
|
|
642
642
|
* const sorted = sortArray(values, (a, b) => a - b);
|
|
643
643
|
* assertEqual(sorted, [1, 2, 3]);
|
|
644
|
-
* assertType<NonEmptyReadonlyArray<number
|
|
644
|
+
* assertType<typeof sorted, NonEmptyReadonlyArray<number>>();
|
|
645
645
|
* ```
|
|
646
646
|
*
|
|
647
647
|
* @group Transformations
|
|
@@ -667,7 +667,7 @@ export declare function sortArray<T>(array: ReadonlyArray<T>, compareFn?: (a: T,
|
|
|
667
667
|
* const values: NonEmptyReadonlyArray<number> = [1, 2, 3];
|
|
668
668
|
* const reversed = reverseArray(values);
|
|
669
669
|
* assertEqual(reversed, [3, 2, 1]);
|
|
670
|
-
* assertType<NonEmptyReadonlyArray<number
|
|
670
|
+
* assertType<typeof reversed, NonEmptyReadonlyArray<number>>();
|
|
671
671
|
* ```
|
|
672
672
|
*
|
|
673
673
|
* @group Transformations
|
|
@@ -741,8 +741,8 @@ export type ZipArrayResult<T extends ReadonlyArray<ReadonlyArray<unknown>>> = {
|
|
|
741
741
|
* ],
|
|
742
742
|
* );
|
|
743
743
|
* assertType<
|
|
744
|
-
*
|
|
745
|
-
*
|
|
744
|
+
* typeof pairs,
|
|
745
|
+
* NonEmptyReadonlyArray<Readonly<[number, string]>>
|
|
746
746
|
* >();
|
|
747
747
|
* ```
|
|
748
748
|
*
|
package/dist/src/Array.js
CHANGED
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
*
|
|
63
63
|
* const leaderboard = sortScores([3, 1, 2]);
|
|
64
64
|
* assertEqual(leaderboard, [1, 2, 3]);
|
|
65
|
-
* assertType<NonEmptyReadonlyArray<number
|
|
65
|
+
* assertType<typeof leaderboard, NonEmptyReadonlyArray<number>>();
|
|
66
66
|
* ```
|
|
67
67
|
*
|
|
68
68
|
* Sorting an empty array isn't expensive, but functions can have side effects
|
|
@@ -185,7 +185,7 @@ export const emptyArray = [];
|
|
|
185
185
|
* }
|
|
186
186
|
*
|
|
187
187
|
* assertEqual(values, [0, 10, 20]);
|
|
188
|
-
* assertType<Array<number
|
|
188
|
+
* assertType<typeof values, Array<number>>();
|
|
189
189
|
* ```
|
|
190
190
|
*
|
|
191
191
|
* @group Constructors
|
|
@@ -227,7 +227,7 @@ export function arrayFrom(iterableOrLength, map) {
|
|
|
227
227
|
* })(),
|
|
228
228
|
* );
|
|
229
229
|
* assertEqual(fromAsyncIterable, [1, 2]);
|
|
230
|
-
* assertType<ReadonlyArray<number
|
|
230
|
+
* assertType<typeof fromAsyncIterable, ReadonlyArray<number>>();
|
|
231
231
|
* ```
|
|
232
232
|
*
|
|
233
233
|
* Unlike `Array.fromAsync`, there's no map parameter — map the result with
|
|
@@ -256,7 +256,7 @@ export function isNonEmptyArray(array) {
|
|
|
256
256
|
*
|
|
257
257
|
* const values = appendToArray([1, 2, 3], 4);
|
|
258
258
|
* assertEqual(values, [1, 2, 3, 4]);
|
|
259
|
-
* assertType<NonEmptyReadonlyArray<number
|
|
259
|
+
* assertType<typeof values, NonEmptyReadonlyArray<number>>();
|
|
260
260
|
* ```
|
|
261
261
|
*
|
|
262
262
|
* @group Transformations
|
|
@@ -280,7 +280,7 @@ export const appendToArray = (array, item) =>
|
|
|
280
280
|
*
|
|
281
281
|
* const values = prependToArray([2, 3], 1);
|
|
282
282
|
* assertEqual(values, [1, 2, 3]);
|
|
283
|
-
* assertType<NonEmptyReadonlyArray<number
|
|
283
|
+
* assertType<typeof values, NonEmptyReadonlyArray<number>>();
|
|
284
284
|
* ```
|
|
285
285
|
*
|
|
286
286
|
* @group Transformations
|