lib0 0.2.110 → 0.2.112
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/array.d.ts +15 -15
- package/array.d.ts.map +1 -1
- package/array.test.d.ts.map +1 -1
- package/binary.d.ts.map +1 -1
- package/binary.test.d.ts.map +1 -1
- package/broadcastchannel.d.ts.map +1 -1
- package/broadcastchannel.test.d.ts.map +1 -1
- package/buffer.d.ts +6 -6
- package/buffer.d.ts.map +1 -1
- package/buffer.test.d.ts.map +1 -1
- package/cache.d.ts +3 -3
- package/cache.d.ts.map +1 -1
- package/cache.test.d.ts.map +1 -1
- package/component.d.ts +3 -3
- package/component.d.ts.map +1 -1
- package/component.js +1 -1
- package/conditions.d.ts.map +1 -1
- package/coverage/tmp/coverage-20054-1752683240888-0.json +1 -0
- package/coverage/tmp/{coverage-19939-1752497665435-0.json → coverage-20055-1752683207886-0.json} +1 -1
- package/crypto/aes-gcm.d.ts +2 -2
- package/crypto/aes-gcm.d.ts.map +1 -1
- package/crypto/common.d.ts.map +1 -1
- package/crypto/ecdsa.d.ts +1 -1
- package/crypto/ecdsa.d.ts.map +1 -1
- package/crypto/rsa-oaep.d.ts +1 -1
- package/crypto/rsa-oaep.d.ts.map +1 -1
- package/crypto.test.d.ts.map +1 -1
- package/decoding.d.ts +1 -1
- package/decoding.d.ts.map +1 -1
- package/diff/patience.d.ts.map +1 -1
- package/diff/patience.test.d.ts.map +1 -1
- package/diff.d.ts +2 -3
- package/diff.d.ts.map +1 -1
- package/diff.js +1 -3
- package/diff.test.d.ts.map +1 -1
- package/dist/aes-gcm.cjs +5 -5
- package/dist/{array-f5410bdd.cjs → array-78849c95.cjs} +2 -2
- package/dist/{array-f5410bdd.cjs.map → array-78849c95.cjs.map} +1 -1
- package/dist/array.cjs +2 -2
- package/dist/array.d.ts +15 -15
- package/dist/array.d.ts.map +1 -1
- package/dist/array.test.d.ts.map +1 -1
- package/dist/binary.d.ts.map +1 -1
- package/dist/binary.test.d.ts.map +1 -1
- package/dist/{broadcastchannel-7479dcb7.cjs → broadcastchannel-2c4b0a1c.cjs} +3 -3
- package/dist/{broadcastchannel-7479dcb7.cjs.map → broadcastchannel-2c4b0a1c.cjs.map} +1 -1
- package/dist/broadcastchannel.cjs +9 -9
- package/dist/broadcastchannel.d.ts.map +1 -1
- package/dist/broadcastchannel.test.d.ts.map +1 -1
- package/dist/{buffer-cba90761.cjs → buffer-a74f7330.cjs} +6 -6
- package/dist/{buffer-cba90761.cjs.map → buffer-a74f7330.cjs.map} +1 -1
- package/dist/buffer.cjs +8 -8
- package/dist/buffer.d.ts +6 -6
- package/dist/buffer.d.ts.map +1 -1
- package/dist/buffer.test.d.ts.map +1 -1
- package/dist/cache.cjs +3 -3
- package/dist/cache.d.ts +3 -3
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.test.d.ts.map +1 -1
- package/dist/component.cjs +6 -6
- package/dist/component.cjs.map +1 -1
- package/dist/component.d.ts +3 -3
- package/dist/component.d.ts.map +1 -1
- package/dist/conditions.d.ts.map +1 -1
- package/dist/crypto/aes-gcm.d.ts +2 -2
- package/dist/crypto/aes-gcm.d.ts.map +1 -1
- package/dist/crypto/common.d.ts.map +1 -1
- package/dist/crypto/ecdsa.d.ts +1 -1
- package/dist/crypto/ecdsa.d.ts.map +1 -1
- package/dist/crypto/rsa-oaep.d.ts +1 -1
- package/dist/crypto/rsa-oaep.d.ts.map +1 -1
- package/dist/crypto.test.d.ts.map +1 -1
- package/dist/{decoding-9732ddf2.cjs → decoding-2b136346.cjs} +3 -3
- package/dist/{decoding-9732ddf2.cjs.map → decoding-2b136346.cjs.map} +1 -1
- package/dist/decoding.cjs +5 -5
- package/dist/decoding.d.ts +1 -1
- package/dist/decoding.d.ts.map +1 -1
- package/dist/diff/patience.d.ts.map +1 -1
- package/dist/diff/patience.test.d.ts.map +1 -1
- package/dist/{diff-63d13d0f.cjs → diff-77c4cf8e.cjs} +3 -5
- package/dist/diff-77c4cf8e.cjs.map +1 -0
- package/dist/diff.cjs +4 -4
- package/dist/diff.d.ts +2 -3
- package/dist/diff.d.ts.map +1 -1
- package/dist/diff.test.d.ts.map +1 -1
- package/dist/dom.d.ts.map +1 -1
- package/dist/{encoding-62f41e96.cjs → encoding-1acb59c4.cjs} +3 -3
- package/dist/{encoding-62f41e96.cjs.map → encoding-1acb59c4.cjs.map} +1 -1
- package/dist/encoding.cjs +4 -4
- package/dist/encoding.d.ts +6 -6
- package/dist/encoding.d.ts.map +1 -1
- package/dist/encoding.test.d.ts.map +1 -1
- package/dist/{environment-2789c99d.cjs → environment-2de08e0e.cjs} +3 -3
- package/dist/{environment-2789c99d.cjs.map → environment-2de08e0e.cjs.map} +1 -1
- package/dist/environment.cjs +5 -5
- package/dist/eventloop.d.ts.map +1 -1
- package/dist/eventloop.test.d.ts.map +1 -1
- package/dist/{function-6c17de82.cjs → function-09b8292c.cjs} +2 -2
- package/dist/{function-6c17de82.cjs.map → function-09b8292c.cjs.map} +1 -1
- package/dist/function.cjs +3 -3
- package/dist/function.d.ts +8 -3
- package/dist/function.d.ts.map +1 -1
- package/dist/function.test.d.ts.map +1 -1
- package/dist/hash/rabin-gf2-polynomial.d.ts +3 -3
- package/dist/hash/rabin-gf2-polynomial.d.ts.map +1 -1
- package/dist/hash/rabin-uncached.d.ts +3 -3
- package/dist/hash/rabin-uncached.d.ts.map +1 -1
- package/dist/hash/rabin.d.ts +10 -10
- package/dist/hash/rabin.d.ts.map +1 -1
- package/dist/hash/rabin.test.d.ts.map +1 -1
- package/dist/hash/sha256.d.ts +1 -1
- package/dist/hash/sha256.d.ts.map +1 -1
- package/dist/hash/sha256.node.d.ts +1 -1
- package/dist/hash/sha256.node.d.ts.map +1 -1
- package/dist/hash/sha256.test.d.ts.map +1 -1
- package/dist/index.cjs +12 -12
- package/dist/indexeddb.d.ts +11 -11
- package/dist/indexeddb.d.ts.map +1 -1
- package/dist/indexeddbV2.d.ts +9 -9
- package/dist/indexeddbV2.d.ts.map +1 -1
- package/dist/iterator.d.ts +4 -4
- package/dist/iterator.d.ts.map +1 -1
- package/dist/json.d.ts +3 -3
- package/dist/json.d.ts.map +1 -1
- package/dist/jwt.cjs +8 -8
- package/dist/list.cjs +3 -3
- package/dist/list.d.ts +3 -3
- package/dist/list.d.ts.map +1 -1
- package/dist/list.test.d.ts.map +1 -1
- package/dist/logging.cjs +5 -5
- package/dist/logging.common.cjs +5 -5
- package/dist/logging.common.d.ts.map +1 -1
- package/dist/logging.d.ts.map +1 -1
- package/dist/logging.node.cjs +5 -5
- package/dist/logging.node.d.ts.map +1 -1
- package/dist/map.d.ts +1 -1
- package/dist/map.d.ts.map +1 -1
- package/dist/map.test.d.ts.map +1 -1
- package/dist/math.test.d.ts.map +1 -1
- package/dist/metric.d.ts +1 -1
- package/dist/metric.d.ts.map +1 -1
- package/dist/metric.test.d.ts.map +1 -1
- package/dist/mutex.d.ts.map +1 -1
- package/dist/number.d.ts +1 -1
- package/dist/number.d.ts.map +1 -1
- package/dist/number.test.d.ts.map +1 -1
- package/dist/object.d.ts +9 -13
- package/dist/object.d.ts.map +1 -1
- package/dist/object.test.d.ts.map +1 -1
- package/dist/observable.cjs +2 -2
- package/dist/observable.d.ts +4 -4
- package/dist/observable.d.ts.map +1 -1
- package/dist/observable.test.d.ts.map +1 -1
- package/dist/pair.d.ts +2 -2
- package/dist/pair.d.ts.map +1 -1
- package/dist/pair.test.d.ts.map +1 -1
- package/dist/patience.cjs +2 -2
- package/dist/performance.d.ts +3 -3
- package/dist/performance.d.ts.map +1 -1
- package/dist/performance.node.cjs +3 -3
- package/dist/performance.node.d.ts +0 -1
- package/dist/performance.node.d.ts.map +1 -1
- package/dist/pledge.d.ts +9 -9
- package/dist/pledge.d.ts.map +1 -1
- package/dist/pledge.test.d.ts.map +1 -1
- package/dist/prng/Mt19937.d.ts +1 -1
- package/dist/prng/Mt19937.d.ts.map +1 -1
- package/dist/prng/Xoroshiro128plus.d.ts +1 -1
- package/dist/prng/Xoroshiro128plus.d.ts.map +1 -1
- package/dist/{prng-6cd9a82d.cjs → prng-24dfe0bf.cjs} +3 -3
- package/dist/{prng-6cd9a82d.cjs.map → prng-24dfe0bf.cjs.map} +1 -1
- package/dist/prng.cjs +9 -9
- package/dist/prng.d.ts +3 -3
- package/dist/prng.d.ts.map +1 -1
- package/dist/prng.test.d.ts.map +1 -1
- package/dist/promise.d.ts +4 -4
- package/dist/promise.d.ts.map +1 -1
- package/dist/promise.test.d.ts.map +1 -1
- package/dist/queue.d.ts +1 -1
- package/dist/queue.d.ts.map +1 -1
- package/dist/queue.test.d.ts.map +1 -1
- package/dist/rabin-gf2-polynomial.cjs +8 -8
- package/dist/rabin-uncached.cjs +8 -8
- package/dist/rabin.cjs +8 -8
- package/dist/random.d.ts +1 -1
- package/dist/random.d.ts.map +1 -1
- package/dist/random.test.d.ts.map +1 -1
- package/dist/schema.cjs +100 -32
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.ts +76 -47
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.test.d.ts +1 -0
- package/dist/schema.test.d.ts.map +1 -1
- package/dist/{set-a0a3ea69.cjs → set-5b47859e.cjs} +8 -9
- package/dist/set-5b47859e.cjs.map +1 -0
- package/dist/set.cjs +1 -1
- package/dist/set.d.ts +2 -2
- package/dist/set.d.ts.map +1 -1
- package/dist/set.test.d.ts.map +1 -1
- package/dist/sort.d.ts +3 -3
- package/dist/sort.d.ts.map +1 -1
- package/dist/sort.test.d.ts.map +1 -1
- package/dist/statistics.d.ts.map +1 -1
- package/dist/statistics.test.d.ts.map +1 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.test.d.ts.map +1 -1
- package/dist/{string-04e96f2d.cjs → string-b2827a90.cjs} +2 -2
- package/dist/{string-04e96f2d.cjs.map → string-b2827a90.cjs.map} +1 -1
- package/dist/string.cjs +3 -3
- package/dist/string.d.ts.map +1 -1
- package/dist/string.test.d.ts.map +1 -1
- package/dist/symbol.test.d.ts.map +1 -1
- package/dist/testing.cjs +12 -12
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.ts +6 -5
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.test.d.ts.map +1 -1
- package/dist/time.test.d.ts.map +1 -1
- package/dist/traits.d.ts.map +1 -1
- package/dist/traits.test.d.ts.map +1 -1
- package/dist/tree.d.ts +4 -4
- package/dist/tree.d.ts.map +1 -1
- package/dist/url.d.ts.map +1 -1
- package/dist/url.test.d.ts.map +1 -1
- package/dist/{websocket-2c325505.cjs → websocket-40a601d4.cjs} +1 -1
- package/dist/{websocket-2c325505.cjs.map → websocket-40a601d4.cjs.map} +1 -1
- package/dist/websocket.cjs +3 -3
- package/dist/websocket.d.ts +1 -1
- package/dist/websocket.d.ts.map +1 -1
- package/dom.d.ts.map +1 -1
- package/encoding.d.ts +6 -6
- package/encoding.d.ts.map +1 -1
- package/encoding.test.d.ts.map +1 -1
- package/eventloop.d.ts.map +1 -1
- package/eventloop.test.d.ts.map +1 -1
- package/function.d.ts +8 -3
- package/function.d.ts.map +1 -1
- package/function.test.d.ts.map +1 -1
- package/hash/rabin-gf2-polynomial.d.ts +3 -3
- package/hash/rabin-gf2-polynomial.d.ts.map +1 -1
- package/hash/rabin-uncached.d.ts +3 -3
- package/hash/rabin-uncached.d.ts.map +1 -1
- package/hash/rabin.d.ts +10 -10
- package/hash/rabin.d.ts.map +1 -1
- package/hash/rabin.test.d.ts.map +1 -1
- package/hash/sha256.d.ts +1 -1
- package/hash/sha256.d.ts.map +1 -1
- package/hash/sha256.node.d.ts +1 -1
- package/hash/sha256.node.d.ts.map +1 -1
- package/hash/sha256.test.d.ts.map +1 -1
- package/indexeddb.d.ts +11 -11
- package/indexeddb.d.ts.map +1 -1
- package/indexeddbV2.d.ts +9 -9
- package/indexeddbV2.d.ts.map +1 -1
- package/iterator.d.ts +4 -4
- package/iterator.d.ts.map +1 -1
- package/json.d.ts +3 -3
- package/json.d.ts.map +1 -1
- package/list.d.ts +3 -3
- package/list.d.ts.map +1 -1
- package/list.test.d.ts.map +1 -1
- package/logging.common.d.ts.map +1 -1
- package/logging.d.ts.map +1 -1
- package/logging.node.d.ts.map +1 -1
- package/map.d.ts +1 -1
- package/map.d.ts.map +1 -1
- package/map.test.d.ts.map +1 -1
- package/math.test.d.ts.map +1 -1
- package/metric.d.ts +1 -1
- package/metric.d.ts.map +1 -1
- package/metric.test.d.ts.map +1 -1
- package/mutex.d.ts.map +1 -1
- package/number.d.ts +1 -1
- package/number.d.ts.map +1 -1
- package/number.test.d.ts.map +1 -1
- package/object.d.ts +9 -13
- package/object.d.ts.map +1 -1
- package/object.test.d.ts.map +1 -1
- package/observable.d.ts +4 -4
- package/observable.d.ts.map +1 -1
- package/observable.test.d.ts.map +1 -1
- package/package.json +3 -3
- package/pair.d.ts +2 -2
- package/pair.d.ts.map +1 -1
- package/pair.test.d.ts.map +1 -1
- package/performance.d.ts +3 -3
- package/performance.d.ts.map +1 -1
- package/performance.node.d.ts +0 -1
- package/performance.node.d.ts.map +1 -1
- package/pledge.d.ts +9 -9
- package/pledge.d.ts.map +1 -1
- package/pledge.test.d.ts.map +1 -1
- package/prng/Mt19937.d.ts +1 -1
- package/prng/Mt19937.d.ts.map +1 -1
- package/prng/Xoroshiro128plus.d.ts +1 -1
- package/prng/Xoroshiro128plus.d.ts.map +1 -1
- package/prng.d.ts +3 -3
- package/prng.d.ts.map +1 -1
- package/prng.test.d.ts.map +1 -1
- package/promise.d.ts +4 -4
- package/promise.d.ts.map +1 -1
- package/promise.test.d.ts.map +1 -1
- package/queue.d.ts +1 -1
- package/queue.d.ts.map +1 -1
- package/queue.test.d.ts.map +1 -1
- package/random.d.ts +1 -1
- package/random.d.ts.map +1 -1
- package/random.test.d.ts.map +1 -1
- package/schema.d.ts +76 -47
- package/schema.d.ts.map +1 -1
- package/schema.js +93 -27
- package/schema.test.d.ts +1 -0
- package/schema.test.d.ts.map +1 -1
- package/set.d.ts +2 -2
- package/set.d.ts.map +1 -1
- package/set.js +2 -3
- package/set.test.d.ts.map +1 -1
- package/sort.d.ts +3 -3
- package/sort.d.ts.map +1 -1
- package/sort.test.d.ts.map +1 -1
- package/statistics.d.ts.map +1 -1
- package/statistics.test.d.ts.map +1 -1
- package/storage.d.ts.map +1 -1
- package/storage.test.d.ts.map +1 -1
- package/string.d.ts.map +1 -1
- package/string.test.d.ts.map +1 -1
- package/symbol.test.d.ts.map +1 -1
- package/test.html +1 -0
- package/testing.d.ts +6 -5
- package/testing.d.ts.map +1 -1
- package/testing.js +2 -1
- package/testing.test.d.ts.map +1 -1
- package/time.test.d.ts.map +1 -1
- package/traits.d.ts.map +1 -1
- package/traits.test.d.ts.map +1 -1
- package/tree.d.ts +4 -4
- package/tree.d.ts.map +1 -1
- package/url.d.ts.map +1 -1
- package/url.test.d.ts.map +1 -1
- package/websocket.d.ts +1 -1
- package/websocket.d.ts.map +1 -1
- package/coverage/tmp/coverage-19938-1752497708602-0.json +0 -1
- package/dist/diff-63d13d0f.cjs.map +0 -1
- package/dist/set-a0a3ea69.cjs.map +0 -1
package/schema.d.ts
CHANGED
|
@@ -23,9 +23,9 @@ export class $Schema<T> {
|
|
|
23
23
|
*/
|
|
24
24
|
get nullable(): $Schema<T | null>;
|
|
25
25
|
/**
|
|
26
|
-
* @type {$Schema<T
|
|
26
|
+
* @type {$Optional<$Schema<T>>}
|
|
27
27
|
*/
|
|
28
|
-
get optional(): $Schema<T
|
|
28
|
+
get optional(): $Optional<$Schema<T>>;
|
|
29
29
|
/**
|
|
30
30
|
* Cast a variable to a specific type. Returns the casted value, or throws an exception otherwise.
|
|
31
31
|
* Use this if you know that the type is of a specific type and you just want to convince the type
|
|
@@ -68,9 +68,9 @@ export class $ConstructedBy<C extends (new (...args: any[]) => any) | ((...args:
|
|
|
68
68
|
* @param {any} o
|
|
69
69
|
* @return {o is C extends ((...args:any[]) => infer T) ? T : (C extends (new (...args:any[]) => any) ? InstanceType<C> : never)} o
|
|
70
70
|
*/
|
|
71
|
-
check(o: any): o is C extends (...args: any[]) => infer T_1 ? T_1 : C extends new (...args: any[]) => any ? InstanceType<C> : never;
|
|
71
|
+
check(o: any): o is C extends ((...args: any[]) => infer T_1) ? T_1 : (C extends (new (...args: any[]) => any) ? InstanceType<C> : never);
|
|
72
72
|
}
|
|
73
|
-
export function constructedBy<C extends (new (...args: any[]) => any) | ((...args: any[]) => any)>(c: C):
|
|
73
|
+
export function constructedBy<C extends (new (...args: any[]) => any) | ((...args: any[]) => any)>(c: C): CastToSchema<$ConstructedBy<C>>;
|
|
74
74
|
/**
|
|
75
75
|
* @template {LiteralType} T
|
|
76
76
|
* @extends {$Schema<T>}
|
|
@@ -82,32 +82,47 @@ export class $Literal<T extends LiteralType> extends $Schema<T> {
|
|
|
82
82
|
constructor(literals: Array<T>);
|
|
83
83
|
v: T[];
|
|
84
84
|
}
|
|
85
|
-
export function literal<T extends LiteralType[]>(...literals: T):
|
|
85
|
+
export function literal<T extends LiteralType[]>(...literals: T): CastToSchema<$Literal<T[number]>>;
|
|
86
|
+
/**
|
|
87
|
+
* @template {{ [key: string|symbol|number]: $Schema<any> }} S
|
|
88
|
+
* @typedef {{ [Key in keyof S as S[Key] extends $Optional<$Schema<any>> ? Key : never]?: S[Key] extends $Optional<$Schema<infer Type>> ? Type : never } & { [Key in keyof S as S[Key] extends $Optional<$Schema<any>> ? never : Key]: S[Key] extends $Schema<infer Type> ? Type : never }} $ObjectToType
|
|
89
|
+
*/
|
|
86
90
|
/**
|
|
87
91
|
* @template {{[key:string|symbol|number]: $Schema<any>}} S
|
|
88
|
-
* @extends {$Schema<
|
|
92
|
+
* @extends {$Schema<$ObjectToType<S>>}
|
|
89
93
|
*/
|
|
90
94
|
export class $Object<S extends {
|
|
91
|
-
[key: string]: $Schema<any>;
|
|
92
|
-
|
|
93
|
-
[key: symbol]: $Schema<any>;
|
|
94
|
-
}> extends $Schema<{ [Key in keyof S]: S[Key] extends $Schema<infer Type> ? Type : never; }> {
|
|
95
|
+
[key: string | symbol | number]: $Schema<any>;
|
|
96
|
+
}> extends $Schema<$ObjectToType<S>> {
|
|
95
97
|
/**
|
|
96
98
|
* @param {S} v
|
|
97
99
|
*/
|
|
98
100
|
constructor(v: S);
|
|
99
101
|
v: S;
|
|
102
|
+
}
|
|
103
|
+
export function object<S extends {
|
|
104
|
+
[key: string | symbol | number]: $Schema<any>;
|
|
105
|
+
}>(def: S): $Schema<{ [Key in keyof S as S[Key] extends $Optional<$Schema<any>> ? Key : never]?: S[Key] extends $Optional<$Schema<infer Type>> ? Type : never; } & { [Key in keyof S as S[Key] extends $Optional<$Schema<any>> ? never : Key]: S[Key] extends $Schema<infer Type> ? Type : never; }>;
|
|
106
|
+
/**
|
|
107
|
+
* @template {$Schema<string|number|symbol>} Keys
|
|
108
|
+
* @template {$Schema<any>} Values
|
|
109
|
+
* @extends {$Schema<Record<Keys extends $Schema<infer K> ? K : never,Values extends $Schema<infer T> ? T : never>>}
|
|
110
|
+
*/
|
|
111
|
+
export class $Record<Keys extends $Schema<string | number | symbol>, Values extends $Schema<any>> extends $Schema<Record<Keys extends $Schema<infer K> ? K : never, Values extends $Schema<infer T> ? T : never>> {
|
|
112
|
+
/**
|
|
113
|
+
* @param {Keys} keys
|
|
114
|
+
* @param {Values} values
|
|
115
|
+
*/
|
|
116
|
+
constructor(keys: Keys, values: Values);
|
|
117
|
+
keys: Keys;
|
|
118
|
+
values: Values;
|
|
100
119
|
/**
|
|
101
120
|
* @param {any} o
|
|
102
|
-
* @return {o is
|
|
121
|
+
* @return {o is Record<Keys extends $Schema<infer K> ? K : never,Values extends $Schema<infer T> ? T : never>}
|
|
103
122
|
*/
|
|
104
|
-
check(o: any): o is
|
|
123
|
+
check(o: any): o is Record<Keys extends $Schema<infer K_1> ? K_1 : never, Values extends $Schema<infer T_1> ? T_1 : never>;
|
|
105
124
|
}
|
|
106
|
-
export function
|
|
107
|
-
[key: string]: $Schema<any>;
|
|
108
|
-
[key: number]: $Schema<any>;
|
|
109
|
-
[key: symbol]: $Schema<any>;
|
|
110
|
-
}>(def: T): $Schema<{ [Key in keyof T]: T[Key] extends $Schema<infer Type> ? Type : never; }>;
|
|
125
|
+
export function record<Keys extends $Schema<string | number | symbol>, Values extends $Schema<any>>(keys: Keys, values: Values): CastToSchema<$Record<Keys, Values>>;
|
|
111
126
|
/**
|
|
112
127
|
* @template {$Schema<any>[]} S
|
|
113
128
|
* @extends {$Schema<{ [Key in keyof S]: S[Key] extends $Schema<infer Type> ? Type : never }>}
|
|
@@ -124,7 +139,7 @@ export class $Tuple<S extends $Schema<any>[]> extends $Schema<{ [Key in keyof S]
|
|
|
124
139
|
*/
|
|
125
140
|
check(o: any): o is { [K in keyof S]: S[K] extends $Schema<infer Type_1> ? Type_1 : never; };
|
|
126
141
|
}
|
|
127
|
-
export function tuple<T extends
|
|
142
|
+
export function tuple<T extends Array<$Schema<any>>>(...def: T): CastToSchema<$Tuple<T>>;
|
|
128
143
|
/**
|
|
129
144
|
* @template {$Schema<any>} S
|
|
130
145
|
* @extends {$Schema<Array<S extends $Schema<infer T> ? T : never>>}
|
|
@@ -142,9 +157,9 @@ export class $Array<S extends $Schema<any>> extends $Schema<(S extends $Schema<i
|
|
|
142
157
|
* @param {any} o
|
|
143
158
|
* @return {o is Array<S extends $Schema<infer T> ? T : never>} o
|
|
144
159
|
*/
|
|
145
|
-
check(o: any): o is
|
|
160
|
+
check(o: any): o is Array<S extends $Schema<infer T_1> ? T_1 : never>;
|
|
146
161
|
}
|
|
147
|
-
export function array<T extends
|
|
162
|
+
export function array<T extends Array<$Schema<any>>>(...def: T): $Schema<Array<T extends Array<$Schema<infer S>> ? S : never>>;
|
|
148
163
|
/**
|
|
149
164
|
* @template T
|
|
150
165
|
* @extends {$Schema<T>}
|
|
@@ -159,13 +174,13 @@ export class $InstanceOf<T> extends $Schema<T> {
|
|
|
159
174
|
export function instance<T>(c: new (...args: any) => T): $Schema<T>;
|
|
160
175
|
/**
|
|
161
176
|
* @template {$Schema<any>[]} Args
|
|
162
|
-
* @typedef {(...args:
|
|
177
|
+
* @typedef {(...args:UnwrapArray<TuplePop<Args>>)=>Unwrap<TupleLast<Args>>} _LArgsToLambdaDef
|
|
163
178
|
*/
|
|
164
179
|
/**
|
|
165
180
|
* @template {Array<$Schema<any>>} Args
|
|
166
181
|
* @extends {$Schema<_LArgsToLambdaDef<Args>>}
|
|
167
182
|
*/
|
|
168
|
-
export class $Lambda<Args extends
|
|
183
|
+
export class $Lambda<Args extends Array<$Schema<any>>> extends $Schema<_LArgsToLambdaDef<Args>> {
|
|
169
184
|
/**
|
|
170
185
|
* @param {Args} args
|
|
171
186
|
*/
|
|
@@ -174,12 +189,12 @@ export class $Lambda<Args extends $Schema<any>[]> extends $Schema<_LArgsToLambda
|
|
|
174
189
|
args: $Schema<any[]>;
|
|
175
190
|
res: $Schema<any>;
|
|
176
191
|
}
|
|
177
|
-
export function lambda<Args extends $Schema<any>[]>(...args: Args): $Schema<(...args:
|
|
192
|
+
export function lambda<Args extends $Schema<any>[]>(...args: Args): $Schema<(...args: UnwrapArray<TuplePop<Args>>) => Unwrap<TupleLast<Args>>>;
|
|
178
193
|
/**
|
|
179
194
|
* @template {Array<$Schema<any>>} T
|
|
180
|
-
* @extends {$Schema<Intersect<
|
|
195
|
+
* @extends {$Schema<Intersect<UnwrapArray<T>>>}
|
|
181
196
|
*/
|
|
182
|
-
export class $Intersection<T extends
|
|
197
|
+
export class $Intersection<T extends Array<$Schema<any>>> extends $Schema<Intersect<UnwrapArray<T>>> {
|
|
183
198
|
/**
|
|
184
199
|
* @param {T} v
|
|
185
200
|
*/
|
|
@@ -189,7 +204,7 @@ export class $Intersection<T extends $Schema<any>[]> extends $Schema<Intersect<E
|
|
|
189
204
|
*/
|
|
190
205
|
v: T;
|
|
191
206
|
}
|
|
192
|
-
export function intersect<T extends $Schema<any>[]>(...def: T):
|
|
207
|
+
export function intersect<T extends $Schema<any>[]>(...def: T): CastToSchema<$Intersection<T>>;
|
|
193
208
|
/**
|
|
194
209
|
* @template S
|
|
195
210
|
* @extends {$Schema<S>}
|
|
@@ -202,7 +217,7 @@ export class $Union<S> extends $Schema<S> {
|
|
|
202
217
|
constructor(v: Array<$Schema<S>>);
|
|
203
218
|
v: $Schema<S>[];
|
|
204
219
|
}
|
|
205
|
-
export function union<T extends
|
|
220
|
+
export function union<T extends Array<$Schema<any>>>(...def: T): CastToSchema<$Union<T extends [] ? never : (T extends Array<$Schema<infer S>> ? S : never)>>;
|
|
206
221
|
/**
|
|
207
222
|
* @type {$Schema<any>}
|
|
208
223
|
*/
|
|
@@ -232,17 +247,30 @@ export const string: $Schema<string>;
|
|
|
232
247
|
export const assert: <T>(o: any, schema: $Schema<T>) => asserts o is T;
|
|
233
248
|
export type LiteralType = string | number | bigint | boolean | null | undefined;
|
|
234
249
|
export type AnyObject = {
|
|
235
|
-
[k: string]: any;
|
|
236
|
-
[k: number]: any;
|
|
237
|
-
[k: symbol]: any;
|
|
250
|
+
[k: string | number | symbol]: any;
|
|
238
251
|
};
|
|
239
|
-
export type
|
|
240
|
-
export type
|
|
241
|
-
export type ExtractTypesFromSchemaArray<T extends readonly unknown[]> = T extends readonly [$Schema<infer First>, ...infer Rest] ? [First, ...ExtractTypesFromSchemaArray<Rest>] : [];
|
|
252
|
+
export type Unwrap<T> = T extends $Schema<infer X> ? X : T;
|
|
253
|
+
export type UnwrapArray<T extends readonly unknown[]> = T extends readonly [$Schema<infer First>, ...infer Rest] ? [First, ...UnwrapArray<Rest>] : [];
|
|
242
254
|
export type CastToSchema<T> = T extends $Schema<infer S> ? $Schema<S> : never;
|
|
243
255
|
export type TupleLast<Arr extends unknown[]> = Arr extends [...unknown[], infer L] ? L : never;
|
|
244
256
|
export type TuplePop<Arr extends unknown[]> = Arr extends [...infer Fs, unknown] ? Fs : never;
|
|
245
|
-
export type
|
|
257
|
+
export type Intersect<T extends readonly unknown[]> = T extends [] ? {} : T extends [infer First] ? First : T extends [infer First, ...infer Rest] ? First & Intersect<Rest> : never;
|
|
258
|
+
export type $ObjectToType<S extends {
|
|
259
|
+
[key: string | symbol | number]: $Schema<any>;
|
|
260
|
+
}> = { [Key in keyof S as S[Key] extends $Optional<$Schema<any>> ? Key : never]?: S[Key] extends $Optional<$Schema<infer Type>> ? Type : never; } & { [Key in keyof S as S[Key] extends $Optional<$Schema<any>> ? never : Key]: S[Key] extends $Schema<infer Type> ? Type : never; };
|
|
261
|
+
export type _LArgsToLambdaDef<Args extends $Schema<any>[]> = (...args: UnwrapArray<TuplePop<Args>>) => Unwrap<TupleLast<Args>>;
|
|
262
|
+
/**
|
|
263
|
+
* @template {$Schema<any>} S
|
|
264
|
+
* @extends $Schema<Unwrap<S>|undefined>
|
|
265
|
+
*/
|
|
266
|
+
declare class $Optional<S extends $Schema<any>> extends $Schema<Unwrap<S> | undefined> {
|
|
267
|
+
/**
|
|
268
|
+
* @param {S} s
|
|
269
|
+
*/
|
|
270
|
+
constructor(s: S);
|
|
271
|
+
s: S;
|
|
272
|
+
get [isOptionalSymbol](): boolean;
|
|
273
|
+
}
|
|
246
274
|
/**
|
|
247
275
|
* @typedef {string|number|bigint|boolean|null|undefined} LiteralType
|
|
248
276
|
*/
|
|
@@ -251,22 +279,11 @@ export type _LArgsToLambdaDef<Args extends $Schema<any>[]> = (...args: ExtractTy
|
|
|
251
279
|
*/
|
|
252
280
|
/**
|
|
253
281
|
* @template T
|
|
254
|
-
* @typedef {T extends $Schema<infer X> ? X : T}
|
|
255
|
-
*/
|
|
256
|
-
/**
|
|
257
|
-
* @template {readonly unknown[]} T
|
|
258
|
-
* @typedef {T extends []
|
|
259
|
-
* ? {}
|
|
260
|
-
* : T extends [infer First]
|
|
261
|
-
* ? First
|
|
262
|
-
* : T extends [infer First, ...infer Rest]
|
|
263
|
-
* ? First & Intersect<Rest>
|
|
264
|
-
* : never
|
|
265
|
-
* } Intersect
|
|
282
|
+
* @typedef {T extends $Schema<infer X> ? X : T} Unwrap
|
|
266
283
|
*/
|
|
267
284
|
/**
|
|
268
285
|
* @template {readonly unknown[]} T
|
|
269
|
-
* @typedef {T extends readonly [$Schema<infer First>, ...infer Rest] ? [First, ...
|
|
286
|
+
* @typedef {T extends readonly [$Schema<infer First>, ...infer Rest] ? [First, ...UnwrapArray<Rest>] : [] } UnwrapArray
|
|
270
287
|
*/
|
|
271
288
|
/**
|
|
272
289
|
* @template T
|
|
@@ -280,6 +297,17 @@ export type _LArgsToLambdaDef<Args extends $Schema<any>[]> = (...args: ExtractTy
|
|
|
280
297
|
* @template {unknown[]} Arr
|
|
281
298
|
* @typedef {Arr extends [...infer Fs, unknown] ? Fs : never} TuplePop
|
|
282
299
|
*/
|
|
300
|
+
/**
|
|
301
|
+
* @template {readonly unknown[]} T
|
|
302
|
+
* @typedef {T extends []
|
|
303
|
+
* ? {}
|
|
304
|
+
* : T extends [infer First]
|
|
305
|
+
* ? First
|
|
306
|
+
* : T extends [infer First, ...infer Rest]
|
|
307
|
+
* ? First & Intersect<Rest>
|
|
308
|
+
* : never
|
|
309
|
+
* } Intersect
|
|
310
|
+
*/
|
|
283
311
|
declare const schemaSymbol: unique symbol;
|
|
284
312
|
/**
|
|
285
313
|
* @type {$Schema<null>}
|
|
@@ -293,5 +321,6 @@ declare const void_: $Schema<void>;
|
|
|
293
321
|
* @type {$Schema<undefined>}
|
|
294
322
|
*/
|
|
295
323
|
declare const undefined_: $Schema<undefined>;
|
|
324
|
+
declare const isOptionalSymbol: unique symbol;
|
|
296
325
|
export { null_ as null, _null as null, void_ as void, _void as void, undefined_ as undefined };
|
|
297
326
|
//# sourceMappingURL=schema.d.ts.map
|
package/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["schema.js"],"names":[],"mappings":"AA0DA;;GAEG;AACH;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["schema.js"],"names":[],"mappings":"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"}
|
package/schema.js
CHANGED
|
@@ -19,24 +19,12 @@ import * as env from './environment.js'
|
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* @template T
|
|
22
|
-
* @typedef {T extends $Schema<infer X> ? X : T}
|
|
22
|
+
* @typedef {T extends $Schema<infer X> ? X : T} Unwrap
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* @template {readonly unknown[]} T
|
|
27
|
-
* @typedef {T extends []
|
|
28
|
-
* ? {}
|
|
29
|
-
* : T extends [infer First]
|
|
30
|
-
* ? First
|
|
31
|
-
* : T extends [infer First, ...infer Rest]
|
|
32
|
-
* ? First & Intersect<Rest>
|
|
33
|
-
* : never
|
|
34
|
-
* } Intersect
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* @template {readonly unknown[]} T
|
|
39
|
-
* @typedef {T extends readonly [$Schema<infer First>, ...infer Rest] ? [First, ...ExtractTypesFromSchemaArray<Rest>] : [] } ExtractTypesFromSchemaArray
|
|
27
|
+
* @typedef {T extends readonly [$Schema<infer First>, ...infer Rest] ? [First, ...UnwrapArray<Rest>] : [] } UnwrapArray
|
|
40
28
|
*/
|
|
41
29
|
|
|
42
30
|
/**
|
|
@@ -54,6 +42,18 @@ import * as env from './environment.js'
|
|
|
54
42
|
* @typedef {Arr extends [...infer Fs, unknown] ? Fs : never} TuplePop
|
|
55
43
|
*/
|
|
56
44
|
|
|
45
|
+
/**
|
|
46
|
+
* @template {readonly unknown[]} T
|
|
47
|
+
* @typedef {T extends []
|
|
48
|
+
* ? {}
|
|
49
|
+
* : T extends [infer First]
|
|
50
|
+
* ? First
|
|
51
|
+
* : T extends [infer First, ...infer Rest]
|
|
52
|
+
* ? First & Intersect<Rest>
|
|
53
|
+
* : never
|
|
54
|
+
* } Intersect
|
|
55
|
+
*/
|
|
56
|
+
|
|
57
57
|
const schemaSymbol = Symbol('0schema')
|
|
58
58
|
|
|
59
59
|
/**
|
|
@@ -93,10 +93,10 @@ export class $Schema {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
/**
|
|
96
|
-
* @type {$Schema<T
|
|
96
|
+
* @type {$Optional<$Schema<T>>}
|
|
97
97
|
*/
|
|
98
98
|
get optional () {
|
|
99
|
-
return
|
|
99
|
+
return new $Optional(/** @type {$Schema<T>} */ (this))
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
/**
|
|
@@ -192,9 +192,39 @@ export class $Literal extends $Schema {
|
|
|
192
192
|
*/
|
|
193
193
|
export const literal = (...literals) => new $Literal(literals)
|
|
194
194
|
|
|
195
|
+
const isOptionalSymbol = Symbol('optional')
|
|
196
|
+
/**
|
|
197
|
+
* @template {$Schema<any>} S
|
|
198
|
+
* @extends $Schema<Unwrap<S>|undefined>
|
|
199
|
+
*/
|
|
200
|
+
class $Optional extends $Schema {
|
|
201
|
+
/**
|
|
202
|
+
* @param {S} s
|
|
203
|
+
*/
|
|
204
|
+
constructor (s) {
|
|
205
|
+
super()
|
|
206
|
+
this.s = s
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* @param {any} o
|
|
211
|
+
* @return {o is (Unwrap<S>|undefined)}
|
|
212
|
+
*/
|
|
213
|
+
check (o) {
|
|
214
|
+
return o === undefined || this.s.check(o)
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
get [isOptionalSymbol] () { return true }
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* @template {{ [key: string|symbol|number]: $Schema<any> }} S
|
|
222
|
+
* @typedef {{ [Key in keyof S as S[Key] extends $Optional<$Schema<any>> ? Key : never]?: S[Key] extends $Optional<$Schema<infer Type>> ? Type : never } & { [Key in keyof S as S[Key] extends $Optional<$Schema<any>> ? never : Key]: S[Key] extends $Schema<infer Type> ? Type : never }} $ObjectToType
|
|
223
|
+
*/
|
|
224
|
+
|
|
195
225
|
/**
|
|
196
226
|
* @template {{[key:string|symbol|number]: $Schema<any>}} S
|
|
197
|
-
* @extends {$Schema<
|
|
227
|
+
* @extends {$Schema<$ObjectToType<S>>}
|
|
198
228
|
*/
|
|
199
229
|
export class $Object extends $Schema {
|
|
200
230
|
/**
|
|
@@ -207,19 +237,55 @@ export class $Object extends $Schema {
|
|
|
207
237
|
|
|
208
238
|
/**
|
|
209
239
|
* @param {any} o
|
|
210
|
-
* @return {o is
|
|
240
|
+
* @return {o is $ObjectToType<S>}
|
|
211
241
|
*/
|
|
212
242
|
check (o) {
|
|
213
243
|
return o != null && obj.every(this.v, (vv, vk) => vv.check(o[vk]))
|
|
214
244
|
}
|
|
215
245
|
}
|
|
216
246
|
|
|
247
|
+
// I used an explicit type annotation instead of $ObjectToType, so that the user doesn't see the
|
|
248
|
+
// weird type definitions when inspecting type definions.
|
|
217
249
|
/**
|
|
218
|
-
* @template {{ [key:string|symbol|number]: $Schema<any> }}
|
|
219
|
-
* @param {
|
|
220
|
-
* @return {
|
|
250
|
+
* @template {{ [key:string|symbol|number]: $Schema<any> }} S
|
|
251
|
+
* @param {S} def
|
|
252
|
+
* @return {$Schema<{ [Key in keyof S as S[Key] extends $Optional<$Schema<any>> ? Key : never]?: S[Key] extends $Optional<$Schema<infer Type>> ? Type : never } & { [Key in keyof S as S[Key] extends $Optional<$Schema<any>> ? never : Key]: S[Key] extends $Schema<infer Type> ? Type : never }>}
|
|
253
|
+
*/
|
|
254
|
+
export const object = def => /** @type {any} */ (new $Object(def))
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* @template {$Schema<string|number|symbol>} Keys
|
|
258
|
+
* @template {$Schema<any>} Values
|
|
259
|
+
* @extends {$Schema<Record<Keys extends $Schema<infer K> ? K : never,Values extends $Schema<infer T> ? T : never>>}
|
|
260
|
+
*/
|
|
261
|
+
export class $Record extends $Schema {
|
|
262
|
+
/**
|
|
263
|
+
* @param {Keys} keys
|
|
264
|
+
* @param {Values} values
|
|
265
|
+
*/
|
|
266
|
+
constructor (keys, values) {
|
|
267
|
+
super()
|
|
268
|
+
this.keys = keys
|
|
269
|
+
this.values = values
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* @param {any} o
|
|
274
|
+
* @return {o is Record<Keys extends $Schema<infer K> ? K : never,Values extends $Schema<infer T> ? T : never>}
|
|
275
|
+
*/
|
|
276
|
+
check (o) {
|
|
277
|
+
return o != null && obj.every(o, (vv, vk) => this.keys.check(vk) && this.values.check(vv))
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* @template {$Schema<string|number|symbol>} Keys
|
|
283
|
+
* @template {$Schema<any>} Values
|
|
284
|
+
* @param {Keys} keys
|
|
285
|
+
* @param {Values} values
|
|
286
|
+
* @return {CastToSchema<$Record<Keys,Values>>}
|
|
221
287
|
*/
|
|
222
|
-
export const
|
|
288
|
+
export const record = (keys, values) => new $Record(keys, values)
|
|
223
289
|
|
|
224
290
|
/**
|
|
225
291
|
* @template {$Schema<any>[]} S
|
|
@@ -313,7 +379,7 @@ export const instance = c => new $InstanceOf(c)
|
|
|
313
379
|
|
|
314
380
|
/**
|
|
315
381
|
* @template {$Schema<any>[]} Args
|
|
316
|
-
* @typedef {(...args:
|
|
382
|
+
* @typedef {(...args:UnwrapArray<TuplePop<Args>>)=>Unwrap<TupleLast<Args>>} _LArgsToLambdaDef
|
|
317
383
|
*/
|
|
318
384
|
|
|
319
385
|
/**
|
|
@@ -343,13 +409,13 @@ export class $Lambda extends $Schema {
|
|
|
343
409
|
/**
|
|
344
410
|
* @template {$Schema<any>[]} Args
|
|
345
411
|
* @param {Args} args
|
|
346
|
-
* @return {$Schema<(...args:
|
|
412
|
+
* @return {$Schema<(...args:UnwrapArray<TuplePop<Args>>)=>Unwrap<TupleLast<Args>>>}
|
|
347
413
|
*/
|
|
348
414
|
export const lambda = (...args) => new $Lambda(args.length > 0 ? args : [void_])
|
|
349
415
|
|
|
350
416
|
/**
|
|
351
417
|
* @template {Array<$Schema<any>>} T
|
|
352
|
-
* @extends {$Schema<Intersect<
|
|
418
|
+
* @extends {$Schema<Intersect<UnwrapArray<T>>>}
|
|
353
419
|
*/
|
|
354
420
|
export class $Intersection extends $Schema {
|
|
355
421
|
/**
|
|
@@ -365,7 +431,7 @@ export class $Intersection extends $Schema {
|
|
|
365
431
|
|
|
366
432
|
/**
|
|
367
433
|
* @param {any} o
|
|
368
|
-
* @return {o is Intersect<
|
|
434
|
+
* @return {o is Intersect<UnwrapArray<T>>}
|
|
369
435
|
*/
|
|
370
436
|
check (o) {
|
|
371
437
|
// @ts-ignore
|
|
@@ -407,7 +473,7 @@ export class $Union extends $Schema {
|
|
|
407
473
|
/**
|
|
408
474
|
* @template {Array<$Schema<any>>} T
|
|
409
475
|
* @param {T} def
|
|
410
|
-
* @return {CastToSchema<$Union<T extends Array<$Schema<infer S>> ? S : never>>}
|
|
476
|
+
* @return {CastToSchema<$Union<T extends [] ? never : (T extends Array<$Schema<infer S>> ? S : never)>>}
|
|
411
477
|
*/
|
|
412
478
|
export const union = (...def) => $Union.schema.check(def[0]) ? new $Union([...def[0].v, ...def.slice(1)]) : new $Union(def)
|
|
413
479
|
|
package/schema.test.d.ts
CHANGED
package/schema.test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["schema.test.js"],"names":[],"mappings":"AAOO,iCAFI,
|
|
1
|
+
{"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["schema.test.js"],"names":[],"mappings":"AAOO,iCAFI,CAAC,CAAC,QAAQ,QAmOpB;AAKM,+CAFI,CAAC,CAAC,QAAQ,QAiBpB;mBA5PkB,cAAc"}
|
package/set.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export function create(): Set<any>;
|
|
2
|
-
export function toArray<T>(set: Set<T>): T
|
|
3
|
-
export function first<T>(set: Set<T>): T;
|
|
2
|
+
export function toArray<T>(set: Set<T>): Array<T>;
|
|
3
|
+
export function first<T>(set: Set<T>): T | undefined;
|
|
4
4
|
export function from<T>(entries: Iterable<T>): Set<T>;
|
|
5
5
|
//# sourceMappingURL=set.d.ts.map
|
package/set.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["set.js"],"names":[],"mappings":"AAMO,mCAA8B;AAO9B,
|
|
1
|
+
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["set.js"],"names":[],"mappings":"AAMO,mCAA8B;AAO9B,wBAJM,CAAC,OACH,GAAG,CAAC,CAAC,CAAC,GACL,KAAK,CAAC,CAAC,CAAC,CAEyB;AAOtC,sBAJM,CAAC,OACH,GAAG,CAAC,CAAC,CAAC,GACL,CAAC,GAAC,SAAS,CAE8B;AAO9C,qBAJM,CAAC,WACH,QAAQ,CAAC,CAAC,CAAC,GACV,GAAG,CAAC,CAAC,CAAC,CAE6B"}
|
package/set.js
CHANGED
|
@@ -16,10 +16,9 @@ export const toArray = set => Array.from(set)
|
|
|
16
16
|
/**
|
|
17
17
|
* @template T
|
|
18
18
|
* @param {Set<T>} set
|
|
19
|
-
* @return {T}
|
|
19
|
+
* @return {T|undefined}
|
|
20
20
|
*/
|
|
21
|
-
export const first = set =>
|
|
22
|
-
set.values().next().value ?? undefined
|
|
21
|
+
export const first = set => set.values().next().value
|
|
23
22
|
|
|
24
23
|
/**
|
|
25
24
|
* @template T
|
package/set.test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.test.d.ts","sourceRoot":"","sources":["set.test.js"],"names":[],"mappings":"AAMO,+BAFI,
|
|
1
|
+
{"version":3,"file":"set.test.d.ts","sourceRoot":"","sources":["set.test.js"],"names":[],"mappings":"AAMO,+BAFI,CAAC,CAAC,QAAQ,QAUpB;mBAdkB,cAAc"}
|
package/sort.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function _insertionSort<T>(arr: T
|
|
2
|
-
export function insertionSort<T>(arr: T
|
|
3
|
-
export function quicksort<T>(arr: T
|
|
1
|
+
export function _insertionSort<T>(arr: Array<T>, lo: number, hi: number, compare: (arg0: T, arg1: T) => number): void;
|
|
2
|
+
export function insertionSort<T>(arr: Array<T>, compare: (arg0: T, arg1: T) => number): void;
|
|
3
|
+
export function quicksort<T>(arr: Array<T>, compare: (arg0: T, arg1: T) => number): void;
|
|
4
4
|
//# sourceMappingURL=sort.d.ts.map
|
package/sort.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["sort.js"],"names":[],"mappings":"AAkBO,
|
|
1
|
+
{"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["sort.js"],"names":[],"mappings":"AAkBO,+BANM,CAAC,OACH,KAAK,CAAC,CAAC,CAAC,MACR,MAAM,MACN,MAAM,WACN,CAAS,IAAC,EAAD,CAAC,EAAC,IAAC,EAAD,CAAC,KAAE,MAAM,QAU9B;AAQM,8BALM,CAAC,OACH,KAAK,CAAC,CAAC,CAAC,WACR,CAAS,IAAC,EAAD,CAAC,EAAC,IAAC,EAAD,CAAC,KAAE,MAAM,GACnB,IAAI,CAIf;AAiDM,0BALM,CAAC,OACH,KAAK,CAAC,CAAC,CAAC,WACR,CAAS,IAAC,EAAD,CAAC,EAAC,IAAC,EAAD,CAAC,KAAE,MAAM,GACnB,IAAI,CAIf"}
|
package/sort.test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort.test.d.ts","sourceRoot":"","sources":["sort.test.js"],"names":[],"mappings":"AAoEO,kCAFI,
|
|
1
|
+
{"version":3,"file":"sort.test.d.ts","sourceRoot":"","sources":["sort.test.js"],"names":[],"mappings":"AAoEO,kCAFI,CAAC,CAAC,QAAQ,QAoBpB;AAKM,mCAFI,CAAC,CAAC,QAAQ,QAoBpB;AAKM,mCAFI,CAAC,CAAC,QAAQ,QAoBpB;AAKM,yCAFI,CAAC,CAAC,QAAQ,QAoBpB;AAKM,+CAFI,CAAC,CAAC,QAAQ,QA4BpB;mBAzLkB,cAAc"}
|
package/statistics.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statistics.d.ts","sourceRoot":"","sources":["statistics.js"],"names":[],"mappings":"AAYO,4BAHI,
|
|
1
|
+
{"version":3,"file":"statistics.d.ts","sourceRoot":"","sources":["statistics.js"],"names":[],"mappings":"AAYO,4BAHI,KAAK,CAAC,MAAM,CAAC,GACZ,MAAM,CAE2K;AAMtL,6BAHI,KAAK,CAAC,MAAM,CAAC,GACZ,MAAM,CAEgD"}
|
package/statistics.test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statistics.test.d.ts","sourceRoot":"","sources":["statistics.test.js"],"names":[],"mappings":"AAOO,+BAFI,
|
|
1
|
+
{"version":3,"file":"statistics.test.d.ts","sourceRoot":"","sources":["statistics.test.js"],"names":[],"mappings":"AAOO,+BAFI,CAAC,CAAC,QAAQ,QASpB;mBAbkB,cAAc"}
|
package/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["storage.js"],"names":[],"mappings":"AAiDA;;GAEG;AAEH,6BAAuC;AAShC,
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["storage.js"],"names":[],"mappings":"AAiDA;;GAEG;AAEH,6BAAuC;AAShC,uCAJI,CAAS,IAAmD,EAAnD;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAG,IAAI,eAIuC;AAS9G,wCAJI,CAAS,IAAmD,EAAnD;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAG,IAAI,eAI2C"}
|
package/storage.test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.test.d.ts","sourceRoot":"","sources":["storage.test.js"],"names":[],"mappings":"AAMO,sCAFI,
|
|
1
|
+
{"version":3,"file":"storage.test.d.ts","sourceRoot":"","sources":["storage.test.js"],"names":[],"mappings":"AAMO,sCAFI,CAAC,CAAC,QAAQ,QAapB;mBAhBkB,cAAc"}
|
package/string.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["string.js"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,0DAA+C;AAC/C,gEAAiD;AAEjD;;;GAGG;AACH,yCAAsD;AAc/C,4BAHI,MAAM,GACL,MAAM,CAEuC;AASlD,iCAJI,MAAM,aACN,MAAM,GACL,MAAM,CAEkH;AAO7H,oCAHI,MAAM,GACL,MAAM,CAE2D;AAMtE,yCAHI,MAAM,GACL,UAAU,CAUrB;AAGD,
|
|
1
|
+
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["string.js"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,0DAA+C;AAC/C,gEAAiD;AAEjD;;;GAGG;AACH,yCAAsD;AAc/C,4BAHI,MAAM,GACL,MAAM,CAEuC;AASlD,iCAJI,MAAM,aACN,MAAM,GACL,MAAM,CAEkH;AAO7H,oCAHI,MAAM,GACL,MAAM,CAE2D;AAMtE,yCAHI,MAAM,GACL,UAAU,CAUrB;AAGD,8BAA0C,WAAW,CAAoE;AAMlH,uCAHI,MAAM,GACL,UAAU,CAE6C;AAjB5D,gCAHI,MAAM,GACL,UAAU,CAUrB;AAsBM,yCAHI,UAAU,GACT,MAAM,CAejB;AAGD,+CAAmI;AAkB5H,uCAHI,UAAU,GACT,MAAM,CAE8E;AAlCzF,gCAHI,UAAU,GACT,MAAM,CAejB;AAoCM,4BALI,MAAM,SACN,MAAM,UACN,MAAM,WACN,MAAM,UAEkG;AAM5G,+BAHI,MAAM,KACN,MAAM,UAE0D;AAOpE,gCAFI,MAAM,UAST;AAOD,kCAFI,MAAM,UAST"}
|
package/string.test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.test.d.ts","sourceRoot":"","sources":["string.test.js"],"names":[],"mappings":"AAOO,mCAFI,
|
|
1
|
+
{"version":3,"file":"string.test.d.ts","sourceRoot":"","sources":["string.test.js"],"names":[],"mappings":"AAOO,mCAFI,CAAC,CAAC,QAAQ,QAMpB;AAKM,iDAFI,CAAC,CAAC,QAAQ,QAOpB;AAKM,iDAFI,CAAC,CAAC,QAAQ,QAapB;AAKM,iDAFI,CAAC,CAAC,QAAQ,QAapB;AAKM,6CAFI,CAAC,CAAC,QAAQ,QAYpB;AAKM,gCAFI,CAAC,CAAC,QAAQ,QAMpB;AAKM,oCAFI,CAAC,CAAC,QAAQ,QAYpB;mBA1FkB,cAAc"}
|
package/symbol.test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol.test.d.ts","sourceRoot":"","sources":["symbol.test.js"],"names":[],"mappings":"AAMO,6CAFI,
|
|
1
|
+
{"version":3,"file":"symbol.test.d.ts","sourceRoot":"","sources":["symbol.test.js"],"names":[],"mappings":"AAMO,6CAFI,CAAC,CAAC,QAAQ,QAQpB;mBAZkB,cAAc"}
|
package/test.html
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"lib0/performance.js": "./performance.js",
|
|
155
155
|
"lib0/dist/performance.cjs": "./dist/performance.node.cjs",
|
|
156
156
|
"lib0/performance": "./performance.js",
|
|
157
|
+
"lib0/schema": "./schema.js",
|
|
157
158
|
"isomorphic.js": "./node_modules/isomorphic.js/browser.mjs",
|
|
158
159
|
"isomorphic.js/package.json": "./node_modules/isomorphic.js/package.json"
|
|
159
160
|
},
|
package/testing.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { production } from "./environment.js";
|
|
1
2
|
export const extensive: boolean;
|
|
2
3
|
export const envSeed: number | null;
|
|
3
4
|
export class TestCase {
|
|
@@ -44,11 +45,11 @@ export function group(description: string, f: (...args: any[]) => void): void;
|
|
|
44
45
|
export function groupAsync(description: string, f: (...args: any[]) => Promise<any>): Promise<void>;
|
|
45
46
|
export function measureTime(message: string, f: (...args: any[]) => void): number;
|
|
46
47
|
export function measureTimeAsync(message: string, f: (...args: any[]) => Promise<any>): Promise<number>;
|
|
47
|
-
export function compareArrays<T>(as: T
|
|
48
|
-
export function compareStrings(a: string, b: string, m?: string
|
|
49
|
-
export function compareObjects<K, V>(a: any, b: any, m?: string
|
|
50
|
-
export function compare<T>(a: T, b: T, message?: string | null
|
|
51
|
-
export function assert<T>(property: T, message?: string | null
|
|
48
|
+
export function compareArrays<T>(as: Array<T>, bs: Array<T>, m?: string): boolean;
|
|
49
|
+
export function compareStrings(a: string, b: string, m?: string): void;
|
|
50
|
+
export function compareObjects<K, V>(a: any, b: any, m?: string): void;
|
|
51
|
+
export function compare<T>(a: T, b: T, message?: string | null, customCompare?: (arg0: any, arg1: T, arg2: T, arg3: string, arg4: any) => boolean): boolean;
|
|
52
|
+
export function assert<T>(property: T, message?: string | null): asserts property is NonNullable<T>;
|
|
52
53
|
export function promiseRejected(f: (...args: any[]) => Promise<any>): Promise<void>;
|
|
53
54
|
export function fails(f: (...args: any[]) => void): void;
|
|
54
55
|
export function failsAsync(f: (...args: any[]) => Promise<any>): Promise<void>;
|
package/testing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["testing.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["testing.js"],"names":[],"mappings":";AA8DA,gCAAiD;AAGjD,oCAAmG;AAEnG;IACE;;;OAGG;IACH,wBAHW,MAAM,YACN,MAAM,EAmBhB;IAhBC;;OAEG;IACH,YAFU,MAAM,CAEY;IAC5B;;OAEG;IACH,UAFU,MAAM,CAEQ;IACxB;;;;OAIG;IACH,MAFU,GAAG,CAAC,MAAM,EAAC,GAAG,CAAC,CAEJ;IACrB,qBAAiB;IACjB,wBAAiB;IAGnB,kBAGC;IAED;;OAEG;IAEH,YAHU,MAAM,CAUf;IAED;;;;OAIG;IACH,YAFU,IAAI,CAAC,IAAI,CAQlB;CACF;AAED,oCAA6E;AAgBtE,gCANI,MAAM,QACN,MAAM,KACN,CAAS,IAAQ,EAAR,QAAQ,KAAE,IAAI,GAAC,OAAO,CAAC,GAAG,CAAC,KACpC,MAAM,iBACN,MAAM,oBA0EhB;AAcM,sCAHI,MAAM,SACN,MAAM,QAEwF;AAYlG,2BAFI,MAAM,QAE6B;AAE9C,yDAAoC;AAEpC,8EAA0C;AAoBnC,mCAHI,MAAM,KACN,IAAS,IAAM,EAAH,GAAG,EAAA,KAAE,IAAI,QAS/B;AAoBM,wCAHI,MAAM,KACN,IAAS,IAAM,EAAH,GAAG,EAAA,KAAE,OAAO,CAAC,GAAG,CAAC,iBASvC;AAoBM,qCAJI,MAAM,KACN,IAAS,IAAM,EAAH,GAAG,EAAA,KAAE,IAAI,GACpB,MAAM,CAYjB;AAoBM,0CAJI,MAAM,KACN,IAAS,IAAM,EAAH,GAAG,EAAA,KAAE,OAAO,CAAC,GAAG,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,CAY1B;AASM,8BANM,CAAC,MACH,KAAK,CAAC,CAAC,CAAC,MACR,KAAK,CAAC,CAAC,CAAC,MACR,MAAM,GACL,OAAO,CAYlB;AAQM,kCALI,MAAM,KACN,MAAM,MACN,MAAM,QAShB;AASM,+BANM,CAAC,EAAC,CAAC,sBAGL,MAAM,QAGiF;AA8H3F,wBANM,CAAC,KACH,CAAC,KACD,CAAC,YACD,MAAM,OAAC,kBACP,CAAS,IAAG,EAAH,GAAG,EAAC,IAAC,EAAD,CAAC,EAAC,IAAC,EAAD,CAAC,EAAC,IAAM,EAAN,MAAM,EAAC,IAAG,EAAH,GAAG,KAAE,OAAO,WAE8E;AAUtH,uBAPM,CAAC,YACH,CAAC,YACD,MAAM,OAAC,GACN,QAAQ,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,CAIuF;AAK9H,mCAFI,IAAS,IAAM,EAAH,GAAG,EAAA,KAAE,OAAO,CAAC,GAAG,CAAC,iBASvC;AAMM,yBAHI,IAAS,IAAM,EAAH,GAAG,EAAA,KAAE,IAAI,QAW/B;AAMM,8BAHI,IAAS,IAAM,EAAH,GAAG,EAAA,KAAE,OAAO,CAAC,GAAG,CAAC,iBAWvC;AAKM;;4BAF2C,QAAQ,KAAE,IAAI,GAAC,OAAO,CAAC,GAAG,CAAC;;qBA2C5E;AAQM,6BAHI,MAAM,SAMhB;AAQM,4BAHI,OAAO,QAOjB;sBA/kBqB,WAAW"}
|
package/testing.js
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
* * runTests automatically tests all exported functions that start with "test".
|
|
32
32
|
* * The name of the function should be in camelCase and is used for the logging output.
|
|
33
33
|
* *
|
|
34
|
-
* * @param {t.TestCase} tc
|
|
34
|
+
* * @ param {t.TestCase} tc
|
|
35
35
|
* *\/
|
|
36
36
|
* export const testMyFirstTest = tc => {
|
|
37
37
|
* t.compare({ a: 4 }, { a: 4 }, 'objects are equal')
|
|
@@ -59,6 +59,7 @@ import * as promise from './promise.js'
|
|
|
59
59
|
import * as performance from 'lib0/performance'
|
|
60
60
|
import * as traits from './traits.js'
|
|
61
61
|
|
|
62
|
+
export { production } from './environment.js'
|
|
62
63
|
export const extensive = env.hasConf('extensive')
|
|
63
64
|
|
|
64
65
|
/* c8 ignore next */
|