lib0 0.2.109 → 0.2.111

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.
Files changed (100) hide show
  1. package/array.d.ts +2 -2
  2. package/array.d.ts.map +1 -1
  3. package/array.js +5 -6
  4. package/bin/gentesthtml.js +16 -2
  5. package/coverage/tmp/coverage-37930-1752527249527-0.json +1 -0
  6. package/coverage/tmp/coverage-37931-1752527222567-0.json +1 -0
  7. package/dist/aes-gcm.cjs +4 -4
  8. package/dist/{array-f0f52786.cjs → array-f5410bdd.cjs} +6 -7
  9. package/dist/array-f5410bdd.cjs.map +1 -0
  10. package/dist/array.cjs +1 -1
  11. package/dist/array.d.ts +2 -2
  12. package/dist/array.d.ts.map +1 -1
  13. package/dist/{broadcastchannel-3f71755b.cjs → broadcastchannel-7479dcb7.cjs} +2 -2
  14. package/dist/{broadcastchannel-3f71755b.cjs.map → broadcastchannel-7479dcb7.cjs.map} +1 -1
  15. package/dist/broadcastchannel.cjs +9 -9
  16. package/dist/{buffer-c040e625.cjs → buffer-cba90761.cjs} +6 -6
  17. package/dist/{buffer-c040e625.cjs.map → buffer-cba90761.cjs.map} +1 -1
  18. package/dist/buffer.cjs +8 -8
  19. package/dist/cache.cjs +3 -3
  20. package/dist/component.cjs +5 -5
  21. package/dist/{decoding-7b1393a8.cjs → decoding-9732ddf2.cjs} +3 -3
  22. package/dist/{decoding-7b1393a8.cjs.map → decoding-9732ddf2.cjs.map} +1 -1
  23. package/dist/decoding.cjs +4 -4
  24. package/dist/{diff-117a5b30.cjs → diff-63d13d0f.cjs} +2 -2
  25. package/dist/{diff-117a5b30.cjs.map → diff-63d13d0f.cjs.map} +1 -1
  26. package/dist/diff.cjs +4 -4
  27. package/dist/{encoding-364fc682.cjs → encoding-62f41e96.cjs} +3 -3
  28. package/dist/{encoding-364fc682.cjs.map → encoding-62f41e96.cjs.map} +1 -1
  29. package/dist/encoding.cjs +3 -3
  30. package/dist/{environment-f28f4004.cjs → environment-2789c99d.cjs} +3 -3
  31. package/dist/{environment-f28f4004.cjs.map → environment-2789c99d.cjs.map} +1 -1
  32. package/dist/environment.cjs +5 -5
  33. package/dist/{function-e09c7eb7.cjs → function-6c17de82.cjs} +3 -3
  34. package/dist/{function-e09c7eb7.cjs.map → function-6c17de82.cjs.map} +1 -1
  35. package/dist/function.cjs +3 -3
  36. package/dist/index.cjs +12 -12
  37. package/dist/indexeddbV2.cjs +1 -1
  38. package/dist/jwt.cjs +8 -8
  39. package/dist/list.cjs +3 -3
  40. package/dist/logging.cjs +5 -5
  41. package/dist/logging.common.cjs +5 -5
  42. package/dist/logging.node.cjs +5 -5
  43. package/dist/{object-0dc73acd.cjs → object-491858d1.cjs} +24 -7
  44. package/dist/object-491858d1.cjs.map +1 -0
  45. package/dist/object.cjs +2 -1
  46. package/dist/object.cjs.map +1 -1
  47. package/dist/object.d.ts +12 -7
  48. package/dist/object.d.ts.map +1 -1
  49. package/dist/object.test.d.ts +1 -0
  50. package/dist/object.test.d.ts.map +1 -1
  51. package/dist/observable.cjs +1 -1
  52. package/dist/patience.cjs +1 -1
  53. package/dist/performance.node.cjs +3 -3
  54. package/dist/pledge.cjs +1 -1
  55. package/dist/{prng-57f83f83.cjs → prng-6cd9a82d.cjs} +3 -3
  56. package/dist/{prng-57f83f83.cjs.map → prng-6cd9a82d.cjs.map} +1 -1
  57. package/dist/prng.cjs +9 -9
  58. package/dist/prng.test.d.ts.map +1 -1
  59. package/dist/rabin-gf2-polynomial.cjs +8 -8
  60. package/dist/rabin-uncached.cjs +8 -8
  61. package/dist/rabin.cjs +8 -8
  62. package/dist/random.test.d.ts.map +1 -1
  63. package/dist/schema.cjs +545 -0
  64. package/dist/schema.cjs.map +1 -0
  65. package/dist/schema.d.ts +317 -0
  66. package/dist/schema.d.ts.map +1 -0
  67. package/dist/schema.test.d.ts +3 -0
  68. package/dist/schema.test.d.ts.map +1 -0
  69. package/dist/sort.test.d.ts.map +1 -1
  70. package/dist/{string-42009272.cjs → string-04e96f2d.cjs} +2 -2
  71. package/dist/{string-42009272.cjs.map → string-04e96f2d.cjs.map} +1 -1
  72. package/dist/string.cjs +2 -2
  73. package/dist/testing.cjs +10 -11
  74. package/dist/testing.cjs.map +1 -1
  75. package/dist/testing.d.ts.map +1 -1
  76. package/dist/url.cjs +1 -1
  77. package/dist/{websocket-3a481d20.cjs → websocket-2c325505.cjs} +1 -1
  78. package/dist/{websocket-3a481d20.cjs.map → websocket-2c325505.cjs.map} +1 -1
  79. package/dist/websocket.cjs +2 -2
  80. package/object.d.ts +12 -7
  81. package/object.d.ts.map +1 -1
  82. package/object.js +20 -5
  83. package/object.test.d.ts +1 -0
  84. package/object.test.d.ts.map +1 -1
  85. package/package.json +11 -5
  86. package/prng.test.d.ts.map +1 -1
  87. package/random.test.d.ts.map +1 -1
  88. package/schema.d.ts +317 -0
  89. package/schema.d.ts.map +1 -0
  90. package/schema.js +504 -0
  91. package/schema.test.d.ts +3 -0
  92. package/schema.test.d.ts.map +1 -0
  93. package/sort.test.d.ts.map +1 -1
  94. package/test.html +1 -0
  95. package/test.js +3 -2
  96. package/testing.d.ts.map +1 -1
  97. package/testing.js +0 -1
  98. package/coverage/tmp/coverage-32991-1750516864118-0.json +0 -1
  99. package/dist/array-f0f52786.cjs.map +0 -1
  100. package/dist/object-0dc73acd.cjs.map +0 -1
package/schema.d.ts ADDED
@@ -0,0 +1,317 @@
1
+ /**
2
+ * @template T
3
+ */
4
+ export class $Schema<T> {
5
+ /**
6
+ * Use `schema.validate(obj)` with a typed parameter that is already of typed to be an instance of
7
+ * Schema. Validate will check the structure of the parameter and return true iff the instance
8
+ * really is an instance of Schema.
9
+ *
10
+ * @param {T} o
11
+ * @return {boolean}
12
+ */
13
+ validate(o: T): boolean;
14
+ /**
15
+ * Similar to validate, but this method accepts untyped parameters.
16
+ *
17
+ * @param {any} _o
18
+ * @return {_o is T}
19
+ */
20
+ check(_o: any): _o is T;
21
+ /**
22
+ * @type {$Schema<T?>}
23
+ */
24
+ get nullable(): $Schema<T | null>;
25
+ /**
26
+ * @type {$Schema<T|undefined>}
27
+ */
28
+ get optional(): $Schema<T | undefined>;
29
+ /**
30
+ * Cast a variable to a specific type. Returns the casted value, or throws an exception otherwise.
31
+ * Use this if you know that the type is of a specific type and you just want to convince the type
32
+ * system.
33
+ *
34
+ * **Do not rely on these error messages!**
35
+ * Performs an assertion check only if not in a production environment.
36
+ *
37
+ * @param {any} o
38
+ * @return {o extends T ? T : never}
39
+ */
40
+ cast(o: any): any extends T ? T : never;
41
+ /**
42
+ * Ensures that a variable is a a specific type. Returns the value, or throws an exception if the assertion check failed.
43
+ * Use this if you know that the type is of a specific type and you just want to convince the type
44
+ * system.
45
+ *
46
+ * Can be useful when defining lambdas: `s.lambda(s.$number, s.$void).ensure((n) => n + 1)`
47
+ *
48
+ * **Do not rely on these error messages!**
49
+ * Performs an assertion check if not in a production environment.
50
+ *
51
+ * @param {T} o
52
+ * @return {o extends T ? T : never}
53
+ */
54
+ ensure(o: T): T extends T ? T : never;
55
+ get [schemaSymbol](): boolean;
56
+ }
57
+ /**
58
+ * @template {(new (...args:any[]) => any) | ((...args:any[]) => any)} C
59
+ * @extends {$Schema<C extends ((...args:any[]) => infer T) ? T : (C extends (new (...args:any[]) => any) ? InstanceType<C> : never)>}
60
+ */
61
+ export class $ConstructedBy<C extends (new (...args: any[]) => any) | ((...args: any[]) => any)> extends $Schema<C extends (...args: any[]) => infer T ? T : C extends new (...args: any[]) => any ? InstanceType<C> : never> {
62
+ /**
63
+ * @param {C} c
64
+ */
65
+ constructor(c: C);
66
+ v: C;
67
+ /**
68
+ * @param {any} o
69
+ * @return {o is C extends ((...args:any[]) => infer T) ? T : (C extends (new (...args:any[]) => any) ? InstanceType<C> : never)} o
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;
72
+ }
73
+ export function constructedBy<C extends (new (...args: any[]) => any) | ((...args: any[]) => any)>(c: C): $Schema<C extends (...args: any[]) => infer T ? T : C extends new (...args: any[]) => any ? InstanceType<C> : never>;
74
+ /**
75
+ * @template {LiteralType} T
76
+ * @extends {$Schema<T>}
77
+ */
78
+ export class $Literal<T extends LiteralType> extends $Schema<T> {
79
+ /**
80
+ * @param {Array<T>} literals
81
+ */
82
+ constructor(literals: Array<T>);
83
+ v: T[];
84
+ }
85
+ export function literal<T extends LiteralType[]>(...literals: T): $Schema<T[number]>;
86
+ /**
87
+ * @template {{[key:string|symbol|number]: $Schema<any>}} S
88
+ * @extends {$Schema<{ [Key in keyof S]: S[Key] extends $Schema<infer Type> ? Type : never }>}
89
+ */
90
+ export class $Object<S extends {
91
+ [key: string]: $Schema<any>;
92
+ [key: number]: $Schema<any>;
93
+ [key: symbol]: $Schema<any>;
94
+ }> extends $Schema<{ [Key in keyof S]: S[Key] extends $Schema<infer Type> ? Type : never; }> {
95
+ /**
96
+ * @param {S} v
97
+ */
98
+ constructor(v: S);
99
+ 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
+ }
106
+ export function object<T extends {
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; }>;
111
+ /**
112
+ * @template {$Schema<string|number|symbol>} Keys
113
+ * @template {$Schema<any>} Values
114
+ * @extends {$Schema<Record<Keys extends $Schema<infer K> ? K : never,Values extends $Schema<infer T> ? T : never>>}
115
+ */
116
+ 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>> {
117
+ /**
118
+ * @param {Keys} keys
119
+ * @param {Values} values
120
+ */
121
+ constructor(keys: Keys, values: Values);
122
+ keys: Keys;
123
+ values: Values;
124
+ /**
125
+ * @param {any} o
126
+ * @return {o is Record<Keys extends $Schema<infer K> ? K : never,Values extends $Schema<infer T> ? T : never>}
127
+ */
128
+ 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
+ }
130
+ export function record<Keys extends $Schema<string | number | symbol>, Values extends $Schema<any>>(keys: Keys, values: Values): $Schema<Record<Keys extends $Schema<infer K> ? K : never, Values extends $Schema<infer T> ? T : never>>;
131
+ /**
132
+ * @template {$Schema<any>[]} S
133
+ * @extends {$Schema<{ [Key in keyof S]: S[Key] extends $Schema<infer Type> ? Type : never }>}
134
+ */
135
+ export class $Tuple<S extends $Schema<any>[]> extends $Schema<{ [Key in keyof S]: S[Key] extends $Schema<infer Type> ? Type : never; }> {
136
+ /**
137
+ * @param {S} v
138
+ */
139
+ constructor(v: S);
140
+ v: S;
141
+ /**
142
+ * @param {any} o
143
+ * @return {o is { [K in keyof S]: S[K] extends $Schema<infer Type> ? Type : never }}
144
+ */
145
+ check(o: any): o is { [K in keyof S]: S[K] extends $Schema<infer Type_1> ? Type_1 : never; };
146
+ }
147
+ export function tuple<T extends $Schema<any>[]>(...def: T): $Schema<{ [Key in keyof T]: T[Key] extends $Schema<infer Type> ? Type : never; }>;
148
+ /**
149
+ * @template {$Schema<any>} S
150
+ * @extends {$Schema<Array<S extends $Schema<infer T> ? T : never>>}
151
+ */
152
+ export class $Array<S extends $Schema<any>> extends $Schema<(S extends $Schema<infer T> ? T : never)[]> {
153
+ /**
154
+ * @param {Array<S>} v
155
+ */
156
+ constructor(v: Array<S>);
157
+ /**
158
+ * @type {$Schema<S extends $Schema<infer T> ? T : never>}
159
+ */
160
+ v: $Schema<S extends $Schema<infer T_1> ? T_1 : never>;
161
+ /**
162
+ * @param {any} o
163
+ * @return {o is Array<S extends $Schema<infer T> ? T : never>} o
164
+ */
165
+ check(o: any): o is (S extends $Schema<infer T_2> ? T_2 : never)[];
166
+ }
167
+ export function array<T extends $Schema<any>[]>(...def: T): $Schema<(T extends $Schema<infer S>[] ? S : never)[]>;
168
+ /**
169
+ * @template T
170
+ * @extends {$Schema<T>}
171
+ */
172
+ export class $InstanceOf<T> extends $Schema<T> {
173
+ /**
174
+ * @param {new (...args:any) => T} constructor
175
+ */
176
+ constructor(constructor: new (...args: any) => T);
177
+ v: new (...args: any) => T;
178
+ }
179
+ export function instance<T>(c: new (...args: any) => T): $Schema<T>;
180
+ /**
181
+ * @template {$Schema<any>[]} Args
182
+ * @typedef {(...args:ExtractTypesFromSchemaArray<TuplePop<Args>>)=>TypeOfSchema<TupleLast<Args>>} _LArgsToLambdaDef
183
+ */
184
+ /**
185
+ * @template {Array<$Schema<any>>} Args
186
+ * @extends {$Schema<_LArgsToLambdaDef<Args>>}
187
+ */
188
+ export class $Lambda<Args extends $Schema<any>[]> extends $Schema<_LArgsToLambdaDef<Args>> {
189
+ /**
190
+ * @param {Args} args
191
+ */
192
+ constructor(args: Args);
193
+ len: number;
194
+ args: $Schema<any[]>;
195
+ res: $Schema<any>;
196
+ }
197
+ export function lambda<Args extends $Schema<any>[]>(...args: Args): $Schema<(...args: ExtractTypesFromSchemaArray<TuplePop<Args>>) => TypeOfSchema<TupleLast<Args>>>;
198
+ /**
199
+ * @template {Array<$Schema<any>>} T
200
+ * @extends {$Schema<Intersect<ExtractTypesFromSchemaArray<T>>>}
201
+ */
202
+ export class $Intersection<T extends $Schema<any>[]> extends $Schema<Intersect<ExtractTypesFromSchemaArray<T>>> {
203
+ /**
204
+ * @param {T} v
205
+ */
206
+ constructor(v: T);
207
+ /**
208
+ * @type {T}
209
+ */
210
+ v: T;
211
+ }
212
+ export function intersect<T extends $Schema<any>[]>(...def: T): $Schema<Intersect<ExtractTypesFromSchemaArray<T>>>;
213
+ /**
214
+ * @template S
215
+ * @extends {$Schema<S>}
216
+ */
217
+ export class $Union<S> extends $Schema<S> {
218
+ static schema: $Schema<$Union<unknown>>;
219
+ /**
220
+ * @param {Array<$Schema<S>>} v
221
+ */
222
+ constructor(v: Array<$Schema<S>>);
223
+ v: $Schema<S>[];
224
+ }
225
+ export function union<T extends $Schema<any>[]>(...def: T): $Schema<T extends $Schema<infer S>[] ? S : never>;
226
+ /**
227
+ * @type {$Schema<any>}
228
+ */
229
+ export const any: $Schema<any>;
230
+ /**
231
+ * @type {$Schema<bigint>}
232
+ */
233
+ export const bigint: $Schema<bigint>;
234
+ /**
235
+ * @type {$Schema<Symbol>}
236
+ */
237
+ export const symbol: $Schema<Symbol>;
238
+ /**
239
+ * @type {$Schema<number>}
240
+ */
241
+ export const number: $Schema<number>;
242
+ /**
243
+ * @type {$Schema<string>}
244
+ */
245
+ export const string: $Schema<string>;
246
+ /**
247
+ * Assert that a variable is of this specific type.
248
+ * The assertion check is only performed in non-production environments.
249
+ *
250
+ * @type {<T>(o:any,schema:$Schema<T>) => asserts o is T}
251
+ */
252
+ export const assert: <T>(o: any, schema: $Schema<T>) => asserts o is T;
253
+ export type LiteralType = string | number | bigint | boolean | null | undefined;
254
+ export type AnyObject = {
255
+ [k: string]: any;
256
+ [k: number]: any;
257
+ [k: symbol]: any;
258
+ };
259
+ export type TypeOfSchema<T> = T extends $Schema<infer X> ? X : T;
260
+ export type Intersect<T extends readonly unknown[]> = T extends [] ? {} : T extends [infer First] ? First : T extends [infer First_1, ...infer Rest] ? First_1 & Intersect<Rest> : never;
261
+ export type ExtractTypesFromSchemaArray<T extends readonly unknown[]> = T extends readonly [$Schema<infer First>, ...infer Rest] ? [First, ...ExtractTypesFromSchemaArray<Rest>] : [];
262
+ export type CastToSchema<T> = T extends $Schema<infer S> ? $Schema<S> : never;
263
+ export type TupleLast<Arr extends unknown[]> = Arr extends [...unknown[], infer L] ? L : never;
264
+ export type TuplePop<Arr extends unknown[]> = Arr extends [...infer Fs, unknown] ? Fs : never;
265
+ export type _LArgsToLambdaDef<Args extends $Schema<any>[]> = (...args: ExtractTypesFromSchemaArray<TuplePop<Args>>) => TypeOfSchema<TupleLast<Args>>;
266
+ /**
267
+ * @typedef {string|number|bigint|boolean|null|undefined} LiteralType
268
+ */
269
+ /**
270
+ * @typedef {{ [k:string|number|symbol]: any }} AnyObject
271
+ */
272
+ /**
273
+ * @template T
274
+ * @typedef {T extends $Schema<infer X> ? X : T} TypeOfSchema
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
286
+ */
287
+ /**
288
+ * @template {readonly unknown[]} T
289
+ * @typedef {T extends readonly [$Schema<infer First>, ...infer Rest] ? [First, ...ExtractTypesFromSchemaArray<Rest>] : [] } ExtractTypesFromSchemaArray
290
+ */
291
+ /**
292
+ * @template T
293
+ * @typedef {T extends $Schema<infer S> ? $Schema<S> : never} CastToSchema
294
+ */
295
+ /**
296
+ * @template {unknown[]} Arr
297
+ * @typedef {Arr extends [...unknown[], infer L] ? L : never} TupleLast
298
+ */
299
+ /**
300
+ * @template {unknown[]} Arr
301
+ * @typedef {Arr extends [...infer Fs, unknown] ? Fs : never} TuplePop
302
+ */
303
+ declare const schemaSymbol: unique symbol;
304
+ /**
305
+ * @type {$Schema<null>}
306
+ */
307
+ declare const null_: $Schema<null>;
308
+ /**
309
+ * @type {$Schema<void>}
310
+ */
311
+ declare const void_: $Schema<void>;
312
+ /**
313
+ * @type {$Schema<undefined>}
314
+ */
315
+ declare const undefined_: $Schema<undefined>;
316
+ export { null_ as null, _null as null, void_ as void, _void as void, undefined_ as undefined };
317
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["schema.js"],"names":[],"mappings":"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"}