lib0 0.2.111 → 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-37931-1752527222567-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 +64 -32
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.ts +60 -51
- 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 +11 -11
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.ts +5 -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 +60 -51
- package/schema.d.ts.map +1 -1
- package/schema.js +59 -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/testing.d.ts +5 -5
- package/testing.d.ts.map +1 -1
- package/testing.js +1 -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-37930-1752527249527-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,27 @@ 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;
|
|
100
|
-
/**
|
|
101
|
-
* @param {any} o
|
|
102
|
-
* @return {o is { [K in keyof S]: S[K] extends $Schema<infer Type> ? Type : never }}
|
|
103
|
-
*/
|
|
104
|
-
check(o: any): o is { [K in keyof S]: S[K] extends $Schema<infer Type_1> ? Type_1 : never; };
|
|
105
102
|
}
|
|
106
|
-
export function object<
|
|
107
|
-
[key: string]: $Schema<any>;
|
|
108
|
-
|
|
109
|
-
[key: symbol]: $Schema<any>;
|
|
110
|
-
}>(def: T): $Schema<{ [Key in keyof T]: T[Key] extends $Schema<infer Type> ? Type : never; }>;
|
|
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; }>;
|
|
111
106
|
/**
|
|
112
107
|
* @template {$Schema<string|number|symbol>} Keys
|
|
113
108
|
* @template {$Schema<any>} Values
|
|
@@ -127,7 +122,7 @@ export class $Record<Keys extends $Schema<string | number | symbol>, Values exte
|
|
|
127
122
|
*/
|
|
128
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>;
|
|
129
124
|
}
|
|
130
|
-
export function record<Keys extends $Schema<string | number | symbol>, Values extends $Schema<any>>(keys: Keys, values: Values):
|
|
125
|
+
export function record<Keys extends $Schema<string | number | symbol>, Values extends $Schema<any>>(keys: Keys, values: Values): CastToSchema<$Record<Keys, Values>>;
|
|
131
126
|
/**
|
|
132
127
|
* @template {$Schema<any>[]} S
|
|
133
128
|
* @extends {$Schema<{ [Key in keyof S]: S[Key] extends $Schema<infer Type> ? Type : never }>}
|
|
@@ -144,7 +139,7 @@ export class $Tuple<S extends $Schema<any>[]> extends $Schema<{ [Key in keyof S]
|
|
|
144
139
|
*/
|
|
145
140
|
check(o: any): o is { [K in keyof S]: S[K] extends $Schema<infer Type_1> ? Type_1 : never; };
|
|
146
141
|
}
|
|
147
|
-
export function tuple<T extends
|
|
142
|
+
export function tuple<T extends Array<$Schema<any>>>(...def: T): CastToSchema<$Tuple<T>>;
|
|
148
143
|
/**
|
|
149
144
|
* @template {$Schema<any>} S
|
|
150
145
|
* @extends {$Schema<Array<S extends $Schema<infer T> ? T : never>>}
|
|
@@ -162,9 +157,9 @@ export class $Array<S extends $Schema<any>> extends $Schema<(S extends $Schema<i
|
|
|
162
157
|
* @param {any} o
|
|
163
158
|
* @return {o is Array<S extends $Schema<infer T> ? T : never>} o
|
|
164
159
|
*/
|
|
165
|
-
check(o: any): o is
|
|
160
|
+
check(o: any): o is Array<S extends $Schema<infer T_1> ? T_1 : never>;
|
|
166
161
|
}
|
|
167
|
-
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>>;
|
|
168
163
|
/**
|
|
169
164
|
* @template T
|
|
170
165
|
* @extends {$Schema<T>}
|
|
@@ -179,13 +174,13 @@ export class $InstanceOf<T> extends $Schema<T> {
|
|
|
179
174
|
export function instance<T>(c: new (...args: any) => T): $Schema<T>;
|
|
180
175
|
/**
|
|
181
176
|
* @template {$Schema<any>[]} Args
|
|
182
|
-
* @typedef {(...args:
|
|
177
|
+
* @typedef {(...args:UnwrapArray<TuplePop<Args>>)=>Unwrap<TupleLast<Args>>} _LArgsToLambdaDef
|
|
183
178
|
*/
|
|
184
179
|
/**
|
|
185
180
|
* @template {Array<$Schema<any>>} Args
|
|
186
181
|
* @extends {$Schema<_LArgsToLambdaDef<Args>>}
|
|
187
182
|
*/
|
|
188
|
-
export class $Lambda<Args extends
|
|
183
|
+
export class $Lambda<Args extends Array<$Schema<any>>> extends $Schema<_LArgsToLambdaDef<Args>> {
|
|
189
184
|
/**
|
|
190
185
|
* @param {Args} args
|
|
191
186
|
*/
|
|
@@ -194,12 +189,12 @@ export class $Lambda<Args extends $Schema<any>[]> extends $Schema<_LArgsToLambda
|
|
|
194
189
|
args: $Schema<any[]>;
|
|
195
190
|
res: $Schema<any>;
|
|
196
191
|
}
|
|
197
|
-
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>>>;
|
|
198
193
|
/**
|
|
199
194
|
* @template {Array<$Schema<any>>} T
|
|
200
|
-
* @extends {$Schema<Intersect<
|
|
195
|
+
* @extends {$Schema<Intersect<UnwrapArray<T>>>}
|
|
201
196
|
*/
|
|
202
|
-
export class $Intersection<T extends
|
|
197
|
+
export class $Intersection<T extends Array<$Schema<any>>> extends $Schema<Intersect<UnwrapArray<T>>> {
|
|
203
198
|
/**
|
|
204
199
|
* @param {T} v
|
|
205
200
|
*/
|
|
@@ -209,7 +204,7 @@ export class $Intersection<T extends $Schema<any>[]> extends $Schema<Intersect<E
|
|
|
209
204
|
*/
|
|
210
205
|
v: T;
|
|
211
206
|
}
|
|
212
|
-
export function intersect<T extends $Schema<any>[]>(...def: T):
|
|
207
|
+
export function intersect<T extends $Schema<any>[]>(...def: T): CastToSchema<$Intersection<T>>;
|
|
213
208
|
/**
|
|
214
209
|
* @template S
|
|
215
210
|
* @extends {$Schema<S>}
|
|
@@ -222,7 +217,7 @@ export class $Union<S> extends $Schema<S> {
|
|
|
222
217
|
constructor(v: Array<$Schema<S>>);
|
|
223
218
|
v: $Schema<S>[];
|
|
224
219
|
}
|
|
225
|
-
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)>>;
|
|
226
221
|
/**
|
|
227
222
|
* @type {$Schema<any>}
|
|
228
223
|
*/
|
|
@@ -252,17 +247,30 @@ export const string: $Schema<string>;
|
|
|
252
247
|
export const assert: <T>(o: any, schema: $Schema<T>) => asserts o is T;
|
|
253
248
|
export type LiteralType = string | number | bigint | boolean | null | undefined;
|
|
254
249
|
export type AnyObject = {
|
|
255
|
-
[k: string]: any;
|
|
256
|
-
[k: number]: any;
|
|
257
|
-
[k: symbol]: any;
|
|
250
|
+
[k: string | number | symbol]: any;
|
|
258
251
|
};
|
|
259
|
-
export type
|
|
260
|
-
export type
|
|
261
|
-
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>] : [];
|
|
262
254
|
export type CastToSchema<T> = T extends $Schema<infer S> ? $Schema<S> : never;
|
|
263
255
|
export type TupleLast<Arr extends unknown[]> = Arr extends [...unknown[], infer L] ? L : never;
|
|
264
256
|
export type TuplePop<Arr extends unknown[]> = Arr extends [...infer Fs, unknown] ? Fs : never;
|
|
265
|
-
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
|
+
}
|
|
266
274
|
/**
|
|
267
275
|
* @typedef {string|number|bigint|boolean|null|undefined} LiteralType
|
|
268
276
|
*/
|
|
@@ -271,22 +279,11 @@ export type _LArgsToLambdaDef<Args extends $Schema<any>[]> = (...args: ExtractTy
|
|
|
271
279
|
*/
|
|
272
280
|
/**
|
|
273
281
|
* @template T
|
|
274
|
-
* @typedef {T extends $Schema<infer X> ? X : T}
|
|
275
|
-
*/
|
|
276
|
-
/**
|
|
277
|
-
* @template {readonly unknown[]} T
|
|
278
|
-
* @typedef {T extends []
|
|
279
|
-
* ? {}
|
|
280
|
-
* : T extends [infer First]
|
|
281
|
-
* ? First
|
|
282
|
-
* : T extends [infer First, ...infer Rest]
|
|
283
|
-
* ? First & Intersect<Rest>
|
|
284
|
-
* : never
|
|
285
|
-
* } Intersect
|
|
282
|
+
* @typedef {T extends $Schema<infer X> ? X : T} Unwrap
|
|
286
283
|
*/
|
|
287
284
|
/**
|
|
288
285
|
* @template {readonly unknown[]} T
|
|
289
|
-
* @typedef {T extends readonly [$Schema<infer First>, ...infer Rest] ? [First, ...
|
|
286
|
+
* @typedef {T extends readonly [$Schema<infer First>, ...infer Rest] ? [First, ...UnwrapArray<Rest>] : [] } UnwrapArray
|
|
290
287
|
*/
|
|
291
288
|
/**
|
|
292
289
|
* @template T
|
|
@@ -300,6 +297,17 @@ export type _LArgsToLambdaDef<Args extends $Schema<any>[]> = (...args: ExtractTy
|
|
|
300
297
|
* @template {unknown[]} Arr
|
|
301
298
|
* @typedef {Arr extends [...infer Fs, unknown] ? Fs : never} TuplePop
|
|
302
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
|
+
*/
|
|
303
311
|
declare const schemaSymbol: unique symbol;
|
|
304
312
|
/**
|
|
305
313
|
* @type {$Schema<null>}
|
|
@@ -313,5 +321,6 @@ declare const void_: $Schema<void>;
|
|
|
313
321
|
* @type {$Schema<undefined>}
|
|
314
322
|
*/
|
|
315
323
|
declare const undefined_: $Schema<undefined>;
|
|
324
|
+
declare const isOptionalSymbol: unique symbol;
|
|
316
325
|
export { null_ as null, _null as null, void_ as void, _void as void, undefined_ as undefined };
|
|
317
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":"AA0DA;;GAEG;AACH,qBAFa,CAAC;IAIZ;;;;;;;OAOG;IACH,YAHW,CAAC,GACA,OAAO,CAIlB;IAGD;;;;;OAKG;IACH,UAHW,GAAG,GACF,EAAE,IAAI,CAAC,CAIlB;IAGD;;OAEG;IACH,gBAFU,OAAO,CAAC,CAAC,OAAC,CAAC,CAIpB;IAED;;OAEG;IACH,gBAFU,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAI9B;IAED;;;;;;;;;;OAUG;IACH,QAHW,GAAG,GACF,YAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAKlC;IAED;;;;;;;;;;;;OAYG;IACH,UAHW,CAAC,GACA,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAKlC;IAvED,8BAAqC;CAwEtC;AAED;;;GAGG;AACH,4BAHuE,CAAC,SAA1D,CAAC,KAAK,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,GAAG,CAAE,sCAC7B,GAAG,EAAE,KAAK,MAAM,CAAC,+BAAiC,GAAG,EAAE,KAAK,GAAG;IAGtG;;OAEG;IACH,eAFW,CAAC,EAKX;IADC,KAAU;IAGZ;;;OAGG;IACH,SAHW,GAAG,GACF,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,MAAM,GAAC,CAAC,GAAG,GAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAI/H;CACF;AAOM,8BAJgE,CAAC,SAA1D,CAAC,KAAK,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,GAAG,CAAE,KAC3D,CAAC,GACA,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAEY;AAEvD;;;GAGG;AACH,sBAH2B,CAAC,SAAd,WAAY;IAIxB;;OAEG;IACH,sBAFW,KAAK,CAAC,CAAC,CAAC,EAKlB;IADC,OAAiB;CAUpB;AAOM,wBAJsB,CAAC,SAAhB,WAAW,EAAG,eACjB,CAAC,GACA,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAEiB;AA2B9D;;;GAGG;AAEH;;;GAGG;AACH,qBAH0D,CAAC,SAA9C;IAAE,CAAC,GAAG,EAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CAAE;IAIvD;;OAEG;IACH,eAFW,CAAC,EAKX;IADC,KAAU;CAUb;AASM,uBAJqD,CAAC,SAAhD;IAAG,CAAC,GAAG,EAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CAAG,OAChD,CAAC,GACA,OAAO,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,GAAE,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,GAAE,CAAC,CAEhO;AAElE;;;;GAIG;AACH,qBAJ6C,IAAI,SAAnC,OAAO,CAAC,MAAM,GAAC,MAAM,GAAC,MAAM,CAAE,EAChB,MAAM,SAApB,OAAO,CAAC,GAAG,CAAE,oDAC4B,CAAC,4CAA2C,CAAC;IAGlG;;;OAGG;IACH,kBAHW,IAAI,UACJ,MAAM,EAMhB;IAFC,WAAgB;IAChB,eAAoB;IAGtB;;;OAGG;IACH,SAHW,GAAG,GACF,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,OAAO,CAAC,MAAM,GAAC,CAAC,GAAG,GAAC,GAAG,KAAK,EAAC,MAAM,SAAS,OAAO,CAAC,MAAM,GAAC,CAAC,GAAG,GAAC,GAAG,KAAK,CAAC,CAI7G;CACF;AASM,uBANsC,IAAI,SAAnC,OAAO,CAAC,MAAM,GAAC,MAAM,GAAC,MAAM,CAAE,EAChB,MAAM,SAApB,OAAO,CAAC,GAAG,CAAE,QAChB,IAAI,UACJ,MAAM,GACL,YAAY,CAAC,OAAO,CAAC,IAAI,EAAC,MAAM,CAAC,CAAC,CAEmB;AAEjE;;;GAGG;AACH,oBAH8B,CAAC,SAAjB,OAAO,CAAC,GAAG,CAAC,EAAG,qBACL,GAAG,2CAA2C,IAAI;IAGxE;;OAEG;IACH,eAFW,CAAC,EAKX;IADC,KAAU;IAGZ;;;OAGG;IACH,SAHW,GAAG,GACF,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,MAAI,CAAC,GAAG,MAAI,GAAG,KAAK,GAAE,CAInF;CACF;AAOM,sBAJ4B,CAAC,SAAtB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAE,UACvB,CAAC,GACA,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAEa;AAEhD;;;GAGG;AACH,oBAH4B,CAAC,SAAf,OAAO,CAAC,GAAG,CAAE,2CACwB,CAAC;IAGlD;;OAEG;IACH,eAFW,KAAK,CAAC,CAAC,CAAC,EAQlB;IAJC;;OAEG;IACH,GAFU,OAAO,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,GAAC,CAAC,GAAG,GAAC,GAAG,KAAK,CAAC,CAEX;IAGhD;;;OAGG;IACH,SAHW,GAAG,GACF,CAAC,IAAI,KAAK,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,GAAC,CAAC,GAAG,GAAC,GAAG,KAAK,CAAC,CAI7D;CACF;AAOM,sBAJ4B,CAAC,SAAtB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAE,UACvB,CAAC,GACA,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAEzB;AAEhD;;;GAGG;AACH,yBAHa,CAAC;IAIZ;;OAEG;IACH,yBAFW,KAAK,GAAG,IAAI,EAAC,GAAG,KAAK,CAAC,EAKhC;IADC,iBAJsB,GAAG,KAAK,CAAC,CAIX;CAUvB;AAOM,yBAJM,CAAC,KACH,KAAK,GAAG,IAAI,EAAC,GAAG,KAAK,CAAC,GACrB,OAAO,CAAC,CAAC,CAAC,CAEyB;AAE/C;;;GAGG;AAEH;;;GAGG;AACH,qBAHmC,IAAI,SAAzB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAE;IAIhC;;OAEG;IACH,kBAFW,IAAI,EAOd;IAHC,YAA0B;IAC1B,qBAAoC;IACpC,kBAAyB;CAU5B;AAOM,uBAJuB,IAAI,SAApB,OAAO,CAAC,GAAG,CAAC,EAAG,WAClB,IAAI,GACH,OAAO,CAAC,CAAC,GAAG,IAAI,EAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAEH;AAEhF;;;GAGG;AACH,2BAHmC,CAAC,SAAtB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAE;IAIhC;;OAEG;IACH,eAFW,CAAC,EAQX;IAJC;;OAEG;IACH,GAFU,CAAC,CAED;CAWb;AAOM,0BAJuB,CAAC,SAAjB,OAAO,CAAC,GAAG,CAAC,EAAG,UAClB,CAAC,GACA,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAEiB;AAE3D;;;GAGG;AACH,oBAHa,CAAC;IAoBZ,wCAAqC;IAhBrC;;OAEG;IACH,eAFW,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAK3B;IADC,gBAAU;CAYb;AAOM,sBAJ4B,CAAC,SAAtB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAE,UACvB,CAAC,GACA,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAEmB;AAE3H;;GAEG;AACH,kBAFU,OAAO,CAAC,GAAG,CAAC,CAEQ;AAE9B;;GAEG;AACH,qBAFU,OAAO,CAAC,MAAM,CAAC,CAEkB;AAE3C;;GAEG;AACH,qBAFU,OAAO,CAAC,MAAM,CAAC,CAEkB;AAE3C;;GAEG;AACH,qBAFU,OAAO,CAAC,MAAM,CAAC,CAEkB;AAE3C;;GAEG;AACH,qBAFU,OAAO,CAAC,MAAM,CAAC,CAEkB;AAoB3C;;;;;GAKG;AACH,qBAFU,CAAC,CAAC,EAAE,CAAC,EAAC,GAAG,EAAC,MAAM,EAAC,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,CAQnD;0BA1gBQ,MAAM,GAAC,MAAM,GAAC,MAAM,GAAC,OAAO,GAAC,IAAI,GAAC,SAAS;wBAI3C;IAAE,CAAC,CAAC,EAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,GAAG,CAAA;CAAE;mBAIjC,CAAC,IACD,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;wBAIb,CAAC,SAAtB,SAAU,OAAO,EAAG,IACpB,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE;yBAI7F,CAAC,IACD,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK;sBAInC,GAAG,SAAd,OAAO,EAAG,IACX,GAAG,SAAS,CAAC,GAAG,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;qBAInC,GAAG,SAAd,OAAO,EAAG,IACX,GAAG,SAAS,CAAC,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK;sBAI1B,CAAC,SAAtB,SAAU,OAAO,EAAG,IACpB,CAAC,SAAS,EAAE,GAClB,EAAE,GACF,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,GACvB,KAAK,GACL,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,GACtC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GACvB,KAAK;0BAwKiD,CAAC,SAAjD;IAAG,CAAC,GAAG,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CAAG,IAC/C,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,GAAE,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,GAAE;8BA+J5P,IAAI,SAApB,OAAO,CAAC,GAAG,CAAC,EAAG,IAChB,CAAC,GAAG,IAAI,EAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AA1L3E;;;GAGG;AACH,wBAH4B,CAAC,SAAf,OAAO,CAAC,GAAG,CAAE;IAIzB;;OAEG;IACH,eAFW,CAAC,EAKX;IADC,KAAU;IAWZ,kCAAyC;CAC1C;AA9MD;;GAEG;AAEH;;GAEG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;;;;;;;GAUG;AAEH,0CAAsC;AA0ctC;;GAEG;AACH,qBAFU,OAAO,CAAC,IAAI,CAAC,CAEI;AAR3B;;GAEG;AACH,qBAFU,OAAO,CAAC,IAAI,CAAC,CAEC;AARxB;;GAEG;AACH,0BAFU,OAAO,CAAC,SAAS,CAAC,CAES;AAzTrC,8CAA2C"}
|
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,21 @@ 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 }>}
|
|
221
253
|
*/
|
|
222
|
-
export const object = def => new $Object(def)
|
|
254
|
+
export const object = def => /** @type {any} */ (new $Object(def))
|
|
223
255
|
|
|
224
256
|
/**
|
|
225
257
|
* @template {$Schema<string|number|symbol>} Keys
|
|
@@ -347,7 +379,7 @@ export const instance = c => new $InstanceOf(c)
|
|
|
347
379
|
|
|
348
380
|
/**
|
|
349
381
|
* @template {$Schema<any>[]} Args
|
|
350
|
-
* @typedef {(...args:
|
|
382
|
+
* @typedef {(...args:UnwrapArray<TuplePop<Args>>)=>Unwrap<TupleLast<Args>>} _LArgsToLambdaDef
|
|
351
383
|
*/
|
|
352
384
|
|
|
353
385
|
/**
|
|
@@ -377,13 +409,13 @@ export class $Lambda extends $Schema {
|
|
|
377
409
|
/**
|
|
378
410
|
* @template {$Schema<any>[]} Args
|
|
379
411
|
* @param {Args} args
|
|
380
|
-
* @return {$Schema<(...args:
|
|
412
|
+
* @return {$Schema<(...args:UnwrapArray<TuplePop<Args>>)=>Unwrap<TupleLast<Args>>>}
|
|
381
413
|
*/
|
|
382
414
|
export const lambda = (...args) => new $Lambda(args.length > 0 ? args : [void_])
|
|
383
415
|
|
|
384
416
|
/**
|
|
385
417
|
* @template {Array<$Schema<any>>} T
|
|
386
|
-
* @extends {$Schema<Intersect<
|
|
418
|
+
* @extends {$Schema<Intersect<UnwrapArray<T>>>}
|
|
387
419
|
*/
|
|
388
420
|
export class $Intersection extends $Schema {
|
|
389
421
|
/**
|
|
@@ -399,7 +431,7 @@ export class $Intersection extends $Schema {
|
|
|
399
431
|
|
|
400
432
|
/**
|
|
401
433
|
* @param {any} o
|
|
402
|
-
* @return {o is Intersect<
|
|
434
|
+
* @return {o is Intersect<UnwrapArray<T>>}
|
|
403
435
|
*/
|
|
404
436
|
check (o) {
|
|
405
437
|
// @ts-ignore
|
|
@@ -441,7 +473,7 @@ export class $Union extends $Schema {
|
|
|
441
473
|
/**
|
|
442
474
|
* @template {Array<$Schema<any>>} T
|
|
443
475
|
* @param {T} def
|
|
444
|
-
* @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)>>}
|
|
445
477
|
*/
|
|
446
478
|
export const union = (...def) => $Union.schema.check(def[0]) ? new $Union([...def[0].v, ...def.slice(1)]) : new $Union(def)
|
|
447
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/testing.d.ts
CHANGED
|
@@ -45,11 +45,11 @@ export function group(description: string, f: (...args: any[]) => void): void;
|
|
|
45
45
|
export function groupAsync(description: string, f: (...args: any[]) => Promise<any>): Promise<void>;
|
|
46
46
|
export function measureTime(message: string, f: (...args: any[]) => void): number;
|
|
47
47
|
export function measureTimeAsync(message: string, f: (...args: any[]) => Promise<any>): Promise<number>;
|
|
48
|
-
export function compareArrays<T>(as: T
|
|
49
|
-
export function compareStrings(a: string, b: string, m?: string
|
|
50
|
-
export function compareObjects<K, V>(a: any, b: any, m?: string
|
|
51
|
-
export function compare<T>(a: T, b: T, message?: string | null
|
|
52
|
-
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>;
|
|
53
53
|
export function promiseRejected(f: (...args: any[]) => Promise<any>): Promise<void>;
|
|
54
54
|
export function fails(f: (...args: any[]) => void): void;
|
|
55
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":";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,
|
|
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')
|
package/testing.test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.test.d.ts","sourceRoot":"","sources":["testing.test.js"],"names":[],"mappings":"AAQO,4CAEN;AAEM,yCAMN;AAKM,mCAFI,
|
|
1
|
+
{"version":3,"file":"testing.test.d.ts","sourceRoot":"","sources":["testing.test.js"],"names":[],"mappings":"AAQO,4CAEN;AAEM,yCAMN;AAKM,mCAFI,CAAC,CAAC,QAAQ,QAqGpB;AAEM,6CAcN;AAEM,qCAMN;AAEM,2CAIN;AAEM,6CAON;mBAjKkB,cAAc"}
|
package/time.test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.test.d.ts","sourceRoot":"","sources":["time.test.js"],"names":[],"mappings":"AAOO,6BAFI,
|
|
1
|
+
{"version":3,"file":"time.test.d.ts","sourceRoot":"","sources":["time.test.js"],"names":[],"mappings":"AAOO,6BAFI,CAAC,CAAC,QAAQ,QAMpB;AAKM,sCAFI,CAAC,CAAC,QAAQ,QAmBpB;mBAhCkB,cAAc"}
|
package/traits.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["traits.js"],"names":[],"mappings":"AAAA,gDAAqD
|
|
1
|
+
{"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["traits.js"],"names":[],"mappings":"AAAA,gDAAqD;4BAGxC;IAAE,CAAC,mBAAmB,CAAC,EAAC,CAAC,KAAK,EAAC,aAAa,KAAG,OAAO,CAAA;CAAE"}
|
package/traits.test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traits.test.d.ts","sourceRoot":"","sources":["traits.test.js"],"names":[],"mappings":"AAOO,wCAFI,
|
|
1
|
+
{"version":3,"file":"traits.test.d.ts","sourceRoot":"","sources":["traits.test.js"],"names":[],"mappings":"AAOO,wCAFI,CAAC,CAAC,QAAQ,QAiBpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QA2BpB;mBApDkB,cAAc"}
|
package/tree.d.ts
CHANGED
|
@@ -77,14 +77,14 @@ declare class N<V> {
|
|
|
77
77
|
_parent: any;
|
|
78
78
|
isRed(): boolean;
|
|
79
79
|
isBlack(): boolean;
|
|
80
|
-
redden():
|
|
81
|
-
blacken():
|
|
80
|
+
redden(): this;
|
|
81
|
+
blacken(): this;
|
|
82
82
|
get grandparent(): any;
|
|
83
83
|
get parent(): any;
|
|
84
84
|
get sibling(): any;
|
|
85
|
-
set left(
|
|
85
|
+
set left(n: any);
|
|
86
86
|
get left(): any;
|
|
87
|
-
set right(
|
|
87
|
+
set right(n: any);
|
|
88
88
|
get right(): any;
|
|
89
89
|
rotateLeft(tree: any): void;
|
|
90
90
|
next(): any;
|
package/tree.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["tree.js"],"names":[],"mappings":"AAiJA;;;;GAIG;AACH;
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["tree.js"],"names":[],"mappings":"AAiJA;;;;GAIG;AACH,kBAFa,CAAC,EAAC,CAAC;IAIZ,UAAgB;IAChB,eAAe;IAGjB;;OAEG;IACH,aAFW,CAAC,KAMX;IAED;;OAEG;IACH,aAFW,CAAC,KAMX;IAED;;OAEG;IACH,6BAFW,CAAC,OA0BX;IAED;;OAEG;IACH,2BAFW,CAAC,OA6BX;IAED;;OAEG;IACH,oBAFY,CAAC,CAQZ;IAED;;;OAGG;IACH,yBAHW,CAAC,GACA,CAAC,CAKZ;IAED;;;OAGG;IACH,uBAHW,CAAC,GACA,CAAC,CAKZ;IAED;;;;OAIG;IACH,cAJW,CAAC,cAED,CAAS,IAAC,EAAD,CAAC,KAAE,IAAI,QAoB1B;IAED;;;OAGG;IACH,SAHW,CAAC,GACA,CAAC,GAAC,IAAI,CASjB;IAED;;;OAGG;IACH,aAHW,CAAC,GACA,CAAC,CAAC,CAAC,CAAC,GAAC,IAAI,CAoBpB;IAED;;OAEG;IACH,WAFW,CAAC,QAmEX;IAED,yBAmEC;IAED,iBA+BC;IAED,yBA8CC;CACF;AA7gBD;;GAEG;AACH,gBAFa,CAAC;IAGZ;;;;OAIG;IACH,iBAFW,CAAC,EAQX;IALC,OAAc;IACd,eAAiB;IACjB,WAAiB;IACjB,YAAkB;IAClB,aAAmB;IAGrB,iBAA8B;IAC9B,mBAAiC;IACjC,eAA4C;IAC5C,gBAA8C;IAC9C,uBAEC;IAED,kBAEC;IAED,mBAIC;IAUD,iBAKC;IAbD,gBAEC;IAaD,kBAKC;IAhBD,iBAEC;IAgBD,4BAOC;IAED,YAeC;IAED,YAeC;IAED,6BAOC;IAED,gBAOC;CACF"}
|
package/url.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["url.js"],"names":[],"mappings":"AAcO,uCAHI,MAAM;
|
|
1
|
+
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["url.js"],"names":[],"mappings":"AAcO,uCAHI,MAAM;;EAkBhB;AAMM;;IAFK,MAAM,CAGmF"}
|