lib0 0.2.115-3 → 0.2.115-5
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/coverage/tmp/coverage-42121-1764767245409-0.json +1 -0
- package/coverage/tmp/{coverage-32703-1763495370274-0.json → coverage-42122-1764767192180-0.json} +1 -1
- package/delta/binding.d.ts +11 -9
- package/delta/binding.d.ts.map +1 -1
- package/delta/binding.js +5 -2
- package/delta/binding.test.d.ts.map +1 -1
- package/delta/delta-pitch.test.d.ts +5 -0
- package/delta/delta-pitch.test.d.ts.map +1 -0
- package/delta/{d2.d.ts → delta.d.ts} +117 -34
- package/delta/delta.d.ts.map +1 -0
- package/delta/{d2.js → delta.js} +247 -55
- package/delta/{d2.test.d.ts → delta.test.d.ts} +6 -1
- package/delta/delta.test.d.ts.map +1 -0
- package/delta/t3.test.d.ts +1 -1
- package/delta/t3.test.d.ts.map +1 -1
- package/dist/array.cjs +17 -60
- package/dist/array.cjs.map +1 -1
- package/dist/binding.cjs +114 -28
- package/dist/binding.cjs.map +1 -1
- package/dist/{broadcastchannel-d0c108a2.cjs → broadcastchannel-94897809.cjs} +2 -2
- package/dist/{broadcastchannel-d0c108a2.cjs.map → broadcastchannel-94897809.cjs.map} +1 -1
- package/dist/broadcastchannel.cjs +6 -6
- package/dist/{buffer-7f6fa8fa.cjs → buffer-8d110bf4.cjs} +2 -2
- package/dist/{buffer-7f6fa8fa.cjs.map → buffer-8d110bf4.cjs.map} +1 -1
- package/dist/buffer.cjs +5 -5
- package/dist/cache.cjs +3 -3
- package/dist/component.cjs +12 -8
- package/dist/component.cjs.map +1 -1
- package/dist/delta/binding.d.ts +11 -9
- package/dist/delta/binding.d.ts.map +1 -1
- package/dist/delta/binding.test.d.ts.map +1 -1
- package/dist/delta/delta-pitch.test.d.ts +5 -0
- package/dist/delta/delta-pitch.test.d.ts.map +1 -0
- package/dist/delta/{d2.d.ts → delta.d.ts} +117 -34
- package/dist/delta/delta.d.ts.map +1 -0
- package/dist/delta/{d2.test.d.ts → delta.test.d.ts} +6 -1
- package/dist/delta/delta.test.d.ts.map +1 -0
- package/dist/delta/t3.test.d.ts +1 -1
- package/dist/delta/t3.test.d.ts.map +1 -1
- package/dist/{d2.cjs → delta.cjs} +256 -60
- package/dist/delta.cjs.map +1 -0
- package/dist/{diff-1832cb43.cjs → diff-dc7bdc65.cjs} +2 -2
- package/dist/{diff-1832cb43.cjs.map → diff-dc7bdc65.cjs.map} +1 -1
- package/dist/diff.cjs +4 -4
- package/dist/{dom-f5047a64.cjs → dom-cad267af.cjs} +1 -1
- package/dist/{dom-f5047a64.cjs.map → dom-cad267af.cjs.map} +1 -1
- package/dist/dom.cjs +12 -5
- package/dist/dom.cjs.map +1 -1
- package/dist/{environment-90227ead.cjs → environment-98bcf64f.cjs} +2 -2
- package/dist/{environment-90227ead.cjs.map → environment-98bcf64f.cjs.map} +1 -1
- package/dist/environment.cjs +4 -4
- package/dist/equality.cjs +34 -0
- package/dist/equality.cjs.map +1 -0
- package/dist/fingerprint.cjs +44 -0
- package/dist/fingerprint.cjs.map +1 -0
- package/dist/{function-e7d18feb.cjs → function-b4e49016.cjs} +6 -6
- package/dist/function-b4e49016.cjs.map +1 -0
- package/dist/function.cjs +3 -3
- package/dist/index.cjs +9 -9
- package/dist/indexeddbV2.cjs +2 -2
- package/dist/jwt.cjs +5 -5
- package/dist/list.cjs +18 -5
- package/dist/list.cjs.map +1 -1
- package/dist/list.d.ts +9 -2
- package/dist/list.d.ts.map +1 -1
- package/dist/list.test.d.ts.map +1 -1
- package/dist/logging.cjs +11 -5
- package/dist/logging.cjs.map +1 -1
- package/dist/logging.common.cjs +4 -4
- package/dist/logging.node.cjs +4 -4
- package/dist/map.cjs +7 -314
- package/dist/map.cjs.map +1 -1
- package/dist/{object-18980796.cjs → object-dec41ef9.cjs} +3 -3
- package/dist/object-dec41ef9.cjs.map +1 -0
- package/dist/object.cjs +2 -2
- package/dist/object.d.ts.map +1 -1
- package/dist/performance.node.cjs +3 -3
- package/dist/pledge.cjs +2 -2
- package/dist/{prng-99204216.cjs → prng-aa81e812.cjs} +2 -2
- package/dist/{prng-99204216.cjs.map → prng-aa81e812.cjs.map} +1 -1
- package/dist/prng.cjs +6 -6
- package/dist/rabin-gf2-polynomial.cjs +5 -5
- package/dist/rabin-uncached.cjs +5 -5
- package/dist/rabin.cjs +5 -5
- package/dist/schema.cjs +202 -22
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.ts +86 -29
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.test.d.ts +4 -0
- package/dist/schema.test.d.ts.map +1 -1
- package/dist/testing.cjs +9 -9
- package/dist/testing.cjs.map +1 -1
- package/dist/{traits.d.ts → trait/equality.d.ts} +1 -1
- package/dist/trait/equality.d.ts.map +1 -0
- package/dist/trait/fingerprint.d.ts +13 -0
- package/dist/trait/fingerprint.d.ts.map +1 -0
- package/dist/trait/traits.d.ts +3 -0
- package/dist/trait/traits.d.ts.map +1 -0
- package/dist/trait/traits.test.d.ts +5 -0
- package/dist/trait/traits.test.d.ts.map +1 -0
- package/dist/traits.cjs +23 -26
- package/dist/traits.cjs.map +1 -1
- package/dist/url.cjs +2 -2
- package/function.js +4 -4
- package/list.d.ts +9 -2
- package/list.d.ts.map +1 -1
- package/list.js +17 -3
- package/list.test.d.ts.map +1 -1
- package/object.d.ts.map +1 -1
- package/object.js +2 -2
- package/package.json +8 -10
- package/schema.d.ts +86 -29
- package/schema.d.ts.map +1 -1
- package/schema.js +191 -20
- package/schema.test.d.ts +4 -0
- package/schema.test.d.ts.map +1 -1
- package/test.html +2 -4
- package/test.js +7 -13
- package/testing.js +3 -3
- package/{traits.d.ts → trait/equality.d.ts} +1 -1
- package/trait/equality.d.ts.map +1 -0
- package/trait/fingerprint.d.ts +13 -0
- package/trait/fingerprint.d.ts.map +1 -0
- package/trait/fingerprint.js +21 -0
- package/trait/traits.d.ts +3 -0
- package/trait/traits.d.ts.map +1 -0
- package/trait/traits.js +2 -0
- package/trait/traits.test.d.ts +5 -0
- package/{traits.test.d.ts.map → trait/traits.test.d.ts.map} +1 -1
- package/delta/abstract-array.d.ts +0 -166
- package/delta/abstract-array.d.ts.map +0 -1
- package/delta/abstract-array.js +0 -421
- package/delta/abstract.d.ts +0 -69
- package/delta/abstract.d.ts.map +0 -1
- package/delta/abstract.js +0 -102
- package/delta/array.d.ts +0 -23
- package/delta/array.d.ts.map +0 -1
- package/delta/array.js +0 -45
- package/delta/array.test.d.ts +0 -2
- package/delta/array.test.d.ts.map +0 -1
- package/delta/d2.d.ts.map +0 -1
- package/delta/d2.test.d.ts.map +0 -1
- package/delta/index.d.ts +0 -14
- package/delta/index.d.ts.map +0 -1
- package/delta/index.js +0 -79
- package/delta/map.d.ts +0 -226
- package/delta/map.d.ts.map +0 -1
- package/delta/map.js +0 -304
- package/delta/node.d.ts +0 -117
- package/delta/node.d.ts.map +0 -1
- package/delta/node.js +0 -183
- package/delta/node.test.d.ts +0 -4
- package/delta/node.test.d.ts.map +0 -1
- package/delta/ops.d.ts +0 -464
- package/delta/ops.d.ts.map +0 -1
- package/delta/ops.js +0 -544
- package/delta/t2.d.ts +0 -184
- package/delta/t2.d.ts.map +0 -1
- package/delta/t2.js +0 -890
- package/delta/text.d.ts +0 -43
- package/delta/text.d.ts.map +0 -1
- package/delta/text.js +0 -54
- package/delta/text.test.d.ts +0 -6
- package/delta/text.test.d.ts.map +0 -1
- package/delta/transformer.d.ts +0 -164
- package/delta/transformer.d.ts.map +0 -1
- package/delta/transformer.js +0 -888
- package/delta/transformer.test.d.ts +0 -13
- package/delta/transformer.test.d.ts.map +0 -1
- package/delta/value.d.ts +0 -84
- package/delta/value.d.ts.map +0 -1
- package/delta/value.js +0 -168
- package/dist/abstract-array.cjs +0 -433
- package/dist/abstract-array.cjs.map +0 -1
- package/dist/abstract.cjs +0 -122
- package/dist/abstract.cjs.map +0 -1
- package/dist/array2.cjs +0 -26
- package/dist/array2.cjs.map +0 -1
- package/dist/d2.cjs.map +0 -1
- package/dist/delta/abstract-array.d.ts +0 -166
- package/dist/delta/abstract-array.d.ts.map +0 -1
- package/dist/delta/abstract.d.ts +0 -69
- package/dist/delta/abstract.d.ts.map +0 -1
- package/dist/delta/array.d.ts +0 -23
- package/dist/delta/array.d.ts.map +0 -1
- package/dist/delta/array.test.d.ts +0 -2
- package/dist/delta/array.test.d.ts.map +0 -1
- package/dist/delta/d2.d.ts.map +0 -1
- package/dist/delta/d2.test.d.ts.map +0 -1
- package/dist/delta/index.d.ts +0 -14
- package/dist/delta/index.d.ts.map +0 -1
- package/dist/delta/map.d.ts +0 -226
- package/dist/delta/map.d.ts.map +0 -1
- package/dist/delta/node.d.ts +0 -117
- package/dist/delta/node.d.ts.map +0 -1
- package/dist/delta/node.test.d.ts +0 -4
- package/dist/delta/node.test.d.ts.map +0 -1
- package/dist/delta/ops.d.ts +0 -464
- package/dist/delta/ops.d.ts.map +0 -1
- package/dist/delta/t2.d.ts +0 -184
- package/dist/delta/t2.d.ts.map +0 -1
- package/dist/delta/text.d.ts +0 -43
- package/dist/delta/text.d.ts.map +0 -1
- package/dist/delta/text.test.d.ts +0 -6
- package/dist/delta/text.test.d.ts.map +0 -1
- package/dist/delta/transformer.d.ts +0 -164
- package/dist/delta/transformer.d.ts.map +0 -1
- package/dist/delta/transformer.test.d.ts +0 -13
- package/dist/delta/transformer.test.d.ts.map +0 -1
- package/dist/delta/value.d.ts +0 -84
- package/dist/delta/value.d.ts.map +0 -1
- package/dist/function-e7d18feb.cjs.map +0 -1
- package/dist/index2.cjs +0 -71
- package/dist/index2.cjs.map +0 -1
- package/dist/map2.cjs +0 -15
- package/dist/map2.cjs.map +0 -1
- package/dist/node.cjs +0 -206
- package/dist/node.cjs.map +0 -1
- package/dist/object-18980796.cjs.map +0 -1
- package/dist/ops.cjs +0 -575
- package/dist/ops.cjs.map +0 -1
- package/dist/t2.cjs +0 -932
- package/dist/t2.cjs.map +0 -1
- package/dist/text.cjs +0 -79
- package/dist/text.cjs.map +0 -1
- package/dist/traits.d.ts.map +0 -1
- package/dist/traits.test.d.ts +0 -4
- package/dist/traits.test.d.ts.map +0 -1
- package/dist/transformer.cjs +0 -930
- package/dist/transformer.cjs.map +0 -1
- package/dist/value.cjs +0 -187
- package/dist/value.cjs.map +0 -1
- package/traits.d.ts.map +0 -1
- package/traits.test.d.ts +0 -4
- /package/{traits.js → trait/equality.js} +0 -0
package/dist/schema.d.ts
CHANGED
|
@@ -1,8 +1,28 @@
|
|
|
1
|
+
export class ValidationError {
|
|
2
|
+
/**
|
|
3
|
+
* Reverse errors
|
|
4
|
+
* @type {Array<{ path: string?, expected: string, has: string, message: string? }>}
|
|
5
|
+
*/
|
|
6
|
+
_rerrs: Array<{
|
|
7
|
+
path: string | null;
|
|
8
|
+
expected: string;
|
|
9
|
+
has: string;
|
|
10
|
+
message: string | null;
|
|
11
|
+
}>;
|
|
12
|
+
/**
|
|
13
|
+
* @param {string?} path
|
|
14
|
+
* @param {string} expected
|
|
15
|
+
* @param {string} has
|
|
16
|
+
* @param {string?} message
|
|
17
|
+
*/
|
|
18
|
+
extend(path: string | null, expected: string, has: string, message?: string | null): void;
|
|
19
|
+
toString(): string;
|
|
20
|
+
}
|
|
1
21
|
/**
|
|
2
22
|
* @template T
|
|
3
|
-
* @implements {
|
|
23
|
+
* @implements {equalityTraits.EqualityTrait}
|
|
4
24
|
*/
|
|
5
|
-
export class Schema<T> implements
|
|
25
|
+
export class Schema<T> implements equalityTraits.EqualityTrait {
|
|
6
26
|
/**
|
|
7
27
|
* If true, the more things are added to the shape the more objects this schema will accept (e.g.
|
|
8
28
|
* union). By default, the more objects are added, the the fewer objects this schema will accept.
|
|
@@ -81,7 +101,7 @@ export class Schema<T> implements traits.EqualityTrait {
|
|
|
81
101
|
/**
|
|
82
102
|
* @param {object} other
|
|
83
103
|
*/
|
|
84
|
-
[
|
|
104
|
+
[equalityTraits.EqualityTraitSymbol](other: object): boolean;
|
|
85
105
|
}
|
|
86
106
|
/**
|
|
87
107
|
* @template {(new (...args:any[]) => any) | ((...args:any[]) => any)} Constr
|
|
@@ -357,7 +377,7 @@ export class $Union<S> extends Schema<S> {
|
|
|
357
377
|
constructor(v: Array<Schema<S>>);
|
|
358
378
|
shape: Schema<S>[];
|
|
359
379
|
}
|
|
360
|
-
export function $union<T extends Array<
|
|
380
|
+
export function $union<T extends Array<any>>(...schemas: T): CastToSchema<$Union<Unwrap<ReadSchema<T>>>>;
|
|
361
381
|
export const $$union: Schema<$Union<any>>;
|
|
362
382
|
/**
|
|
363
383
|
* @type {Schema<any>}
|
|
@@ -427,6 +447,53 @@ export function $<IN>(o: IN): ReadSchema<IN>;
|
|
|
427
447
|
* @type {<T>(o:any,schema:Schema<T>) => asserts o is T}
|
|
428
448
|
*/
|
|
429
449
|
export const assert: <T>(o: any, schema: Schema<T>) => asserts o is T;
|
|
450
|
+
/**
|
|
451
|
+
* @template In
|
|
452
|
+
* @template Out
|
|
453
|
+
* @typedef {{ if: Schema<In>, h: (o:In,state?:any)=>Out }} Pattern
|
|
454
|
+
*/
|
|
455
|
+
/**
|
|
456
|
+
* @template {Pattern<any,any>} P
|
|
457
|
+
* @template In
|
|
458
|
+
* @typedef {ReturnType<Extract<P,Pattern<In extends number ? number : (In extends string ? string : In),any>>['h']>} PatternMatchResult
|
|
459
|
+
*/
|
|
460
|
+
/**
|
|
461
|
+
* @todo move this to separate library
|
|
462
|
+
* @template {any} [State=undefined]
|
|
463
|
+
* @template {Pattern<any,any>} [Patterns=never]
|
|
464
|
+
*/
|
|
465
|
+
export class PatternMatcher<State extends unknown = undefined, Patterns extends Pattern<any, any> = never> {
|
|
466
|
+
/**
|
|
467
|
+
* @param {Schema<State>} [$state]
|
|
468
|
+
*/
|
|
469
|
+
constructor($state?: Schema<State>);
|
|
470
|
+
/**
|
|
471
|
+
* @type {Array<Patterns>}
|
|
472
|
+
*/
|
|
473
|
+
patterns: Array<Patterns>;
|
|
474
|
+
$state: Schema<State> | undefined;
|
|
475
|
+
/**
|
|
476
|
+
* @template P
|
|
477
|
+
* @template R
|
|
478
|
+
* @param {P} pattern
|
|
479
|
+
* @param {(o:NoInfer<Unwrap<ReadSchema<P>>>,s:State)=>R} handler
|
|
480
|
+
* @return {PatternMatcher<State,Patterns|Pattern<Unwrap<ReadSchema<P>>,R>>}
|
|
481
|
+
*/
|
|
482
|
+
if<P, R>(pattern: P, handler: (o: NoInfer<Unwrap<ReadSchema<P>>>, s: State) => R): PatternMatcher<State, Patterns | Pattern<Unwrap<ReadSchema<P>>, R>>;
|
|
483
|
+
/**
|
|
484
|
+
* @template R
|
|
485
|
+
* @param {(o:any,s:State)=>R} h
|
|
486
|
+
*/
|
|
487
|
+
else<R>(h: (o: any, s: State) => R): PatternMatcher<State, Patterns | Pattern<any, R>>;
|
|
488
|
+
/**
|
|
489
|
+
* @return {State extends undefined
|
|
490
|
+
* ? <In extends Unwrap<Patterns['if']>>(o:In,state?:undefined)=>PatternMatchResult<Patterns,In>
|
|
491
|
+
* : <In extends Unwrap<Patterns['if']>>(o:In,state:State)=>PatternMatchResult<Patterns,In>}
|
|
492
|
+
*/
|
|
493
|
+
done(): State extends undefined ? <In extends Unwrap<Patterns["if"]>>(o: In, state?: undefined) => PatternMatchResult<Patterns, In> : <In extends Unwrap<Patterns["if"]>>(o: In, state: State) => PatternMatchResult<Patterns, In>;
|
|
494
|
+
}
|
|
495
|
+
export function match<State = undefined>(state?: State): PatternMatcher<State extends undefined ? undefined : Unwrap<ReadSchema<State>>>;
|
|
496
|
+
export function random<S>(gen: prng.PRNG, schema: S): Unwrap<ReadSchema<S>>;
|
|
430
497
|
export type Primitive = string | number | bigint | boolean | null | undefined | symbol;
|
|
431
498
|
export type AnyObject = {
|
|
432
499
|
[k: string | number | symbol]: any;
|
|
@@ -443,36 +510,25 @@ export type CastStringTemplateArgsToTemplate<Ts extends Array<string | Schema<st
|
|
|
443
510
|
export type $ObjectToType<S extends {
|
|
444
511
|
[key: string | symbol | number]: Schema<any>;
|
|
445
512
|
}> = { [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; };
|
|
446
|
-
export type _ObjectDefToSchema<S extends {
|
|
447
|
-
[key: string | symbol | number]: Schema<any>;
|
|
448
|
-
}> = 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; }>;
|
|
513
|
+
export type _ObjectDefToSchema<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; }>;
|
|
449
514
|
export type _LArgsToLambdaDef<Args extends Schema<any>[]> = (...args: UnwrapArray<TuplePop<Args>>) => Unwrap<TupleLast<Args>>;
|
|
450
515
|
export type JSONArray = JSON[];
|
|
451
516
|
export type JSON = Primitive | JSONArray | {
|
|
452
517
|
[key: string]: JSON;
|
|
453
518
|
};
|
|
454
|
-
export type
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
/**
|
|
468
|
-
* @param {string?} path
|
|
469
|
-
* @param {string} expected
|
|
470
|
-
* @param {string} has
|
|
471
|
-
* @param {string?} message
|
|
472
|
-
*/
|
|
473
|
-
extend(path: string | null, expected: string, has: string, message?: string | null): void;
|
|
474
|
-
toString(): string;
|
|
475
|
-
}
|
|
519
|
+
export type ReadSchemaOld<IN extends unknown> = IN extends Schema<any> ? IN : (IN extends string | number | boolean | null ? Schema<IN> : (IN extends new (...args: any[]) => any ? Schema<InstanceType<IN>> : (IN extends any[] ? Schema<{ [K in keyof IN]: Unwrap<ReadSchema<IN[K]>>; }[number]> : (IN extends object ? (_ObjectDefToSchema<{ [K in keyof IN]: ReadSchema<IN[K]>; }> extends Schema<infer S> ? Schema<{ [K in keyof S]: S[K]; }> : never) : never))));
|
|
520
|
+
export type ReadSchema<IN extends unknown> = [Extract<IN, Schema<any>>, Extract<IN, string | number | boolean | null>, Extract<IN, new (...args: any[]) => any>, Extract<IN, any[]>, Extract<Exclude<IN, Schema<any> | string | number | boolean | null | (new (...args: any[]) => any) | any[]>, object>] extends [infer Schemas, infer Primitives, infer Constructors, infer Arrs, infer Obj] ? Schema<(Schemas extends Schema<infer S> ? S : never) | Primitives | (Constructors extends new (...args: any[]) => any ? InstanceType<Constructors> : never) | (Arrs extends any[] ? { [K in keyof Arrs]: Unwrap<ReadSchema<Arrs[K]>>; }[number] : never) | (Obj extends object ? Unwrap<(_ObjectDefToSchema<{ [K in keyof Obj]: ReadSchema<Obj[K]>; }> extends Schema<infer S> ? Schema<{ [K in keyof S]: S[K]; }> : never)> : never)> : never;
|
|
521
|
+
export type Q = ReadSchema<{
|
|
522
|
+
x: 42;
|
|
523
|
+
} | {
|
|
524
|
+
y: 99;
|
|
525
|
+
} | Schema<string> | [1, 2, {}]>;
|
|
526
|
+
export type Pattern<In, Out> = {
|
|
527
|
+
if: Schema<In>;
|
|
528
|
+
h: (o: In, state?: any) => Out;
|
|
529
|
+
};
|
|
530
|
+
export type PatternMatchResult<P extends Pattern<any, any>, In> = ReturnType<Extract<P, Pattern<In extends number ? number : (In extends string ? string : In), any>>["h"]>;
|
|
531
|
+
import * as equalityTraits from './trait/equality.js';
|
|
476
532
|
/**
|
|
477
533
|
* @template {Schema<any>} S
|
|
478
534
|
* @extends Schema<Unwrap<S>|undefined>
|
|
@@ -533,6 +589,7 @@ declare const schemaSymbol: unique symbol;
|
|
|
533
589
|
declare class $Never extends Schema<never> {
|
|
534
590
|
constructor();
|
|
535
591
|
}
|
|
592
|
+
import * as prng from './prng.js';
|
|
536
593
|
declare const isOptionalSymbol: unique symbol;
|
|
537
594
|
export {};
|
|
538
595
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../schema.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../schema.js"],"names":[],"mappings":"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"}
|
package/dist/schema.test.d.ts
CHANGED
|
@@ -7,5 +7,9 @@ export function testSchemaExtends(_tc: t.TestCase): void;
|
|
|
7
7
|
export function testSchemaErrors(_tc: t.TestCase): void;
|
|
8
8
|
export function testUnionMerging(_tc: t.TestCase): void;
|
|
9
9
|
export function testConvenienceHelper(): void;
|
|
10
|
+
export function testPatternMatcherBase(): void;
|
|
11
|
+
export function testPatternMatcherWithState(): void;
|
|
12
|
+
export function testPatternMatcherBenchmark(): void;
|
|
13
|
+
export function testRepeatRandomFromSchema(tc: t.TestCase): void;
|
|
10
14
|
import * as t from './testing.js';
|
|
11
15
|
//# sourceMappingURL=schema.test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["../schema.test.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["../schema.test.js"],"names":[],"mappings":"AAQO,iCAFI,CAAC,CAAC,QAAQ,QAqPpB;AAEM,yCAMN;AAKM,+CAFI,CAAC,CAAC,QAAQ,QAiBpB;AAKM,qCAFI,CAAC,CAAC,QAAQ,QA0BpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QAmBpB;AAKM,uCAFI,CAAC,CAAC,QAAQ,QAUpB;AAKM,sCAFI,CAAC,CAAC,QAAQ,QASpB;AAMM,sCAFI,CAAC,CAAC,QAAQ,QAcpB;AAEM,8CAqBN;AAEM,+CAmBN;AAEM,oDAuBN;AAEM,oDA8IN;AAKM,+CAFI,CAAC,CAAC,QAAQ,QA4BpB;mBAzmBkB,cAAc"}
|
package/dist/testing.cjs
CHANGED
|
@@ -3,24 +3,24 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var log = require('lib0/logging');
|
|
6
|
-
var diff = require('./diff-
|
|
7
|
-
var object = require('./object-
|
|
6
|
+
var diff = require('./diff-dc7bdc65.cjs');
|
|
7
|
+
var object = require('./object-dec41ef9.cjs');
|
|
8
8
|
var string = require('./string-fddc5f8b.cjs');
|
|
9
9
|
var math = require('./math-96d5e8c4.cjs');
|
|
10
10
|
var random = require('./random.cjs');
|
|
11
|
-
var prng = require('./prng-
|
|
11
|
+
var prng = require('./prng-aa81e812.cjs');
|
|
12
12
|
var statistics = require('./statistics-65f6114b.cjs');
|
|
13
13
|
var array = require('./array-78849c95.cjs');
|
|
14
|
-
var environment = require('./environment-
|
|
14
|
+
var environment = require('./environment-98bcf64f.cjs');
|
|
15
15
|
var json = require('./json-092190a1.cjs');
|
|
16
16
|
var time = require('./time-d8438852.cjs');
|
|
17
17
|
var promise = require('./promise-cda7b9bb.cjs');
|
|
18
18
|
var performance = require('lib0/performance');
|
|
19
|
-
var
|
|
20
|
-
require('./function-
|
|
19
|
+
var equality = require('./equality.cjs');
|
|
20
|
+
require('./function-b4e49016.cjs');
|
|
21
21
|
require('./binary-ac8e39e2.cjs');
|
|
22
22
|
require('lib0/webcrypto');
|
|
23
|
-
require('./buffer-
|
|
23
|
+
require('./buffer-8d110bf4.cjs');
|
|
24
24
|
require('./encoding-1a745c43.cjs');
|
|
25
25
|
require('./number-1fb57bba.cjs');
|
|
26
26
|
require('./decoding-76e75827.cjs');
|
|
@@ -471,8 +471,8 @@ const _compare = (a, b, path, message, customCompare) => {
|
|
|
471
471
|
if (a == null || b == null) {
|
|
472
472
|
return compareValues(null, a, b, path)
|
|
473
473
|
}
|
|
474
|
-
if (a[
|
|
475
|
-
if (a[
|
|
474
|
+
if (a[equality.EqualityTraitSymbol] != null) {
|
|
475
|
+
if (a[equality.EqualityTraitSymbol](b)) {
|
|
476
476
|
return true
|
|
477
477
|
} else {
|
|
478
478
|
_failMessage(message, 'Not equal by equality trait', path);
|
package/dist/testing.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.cjs","sources":["../testing.js"],"sourcesContent":["/**\n * Testing framework with support for generating tests.\n *\n * ```js\n * // test.js template for creating a test executable\n * import { runTests } from 'lib0/testing'\n * import * as log from 'lib0/logging'\n * import * as mod1 from './mod1.test.js'\n * import * as mod2 from './mod2.test.js'\n\n * import { isBrowser, isNode } from 'lib0/environment.js'\n *\n * if (isBrowser) {\n * // optional: if this is ran in the browser, attach a virtual console to the dom\n * log.createVConsole(document.body)\n * }\n *\n * runTests({\n * mod1,\n * mod2,\n * }).then(success => {\n * if (isNode) {\n * process.exit(success ? 0 : 1)\n * }\n * })\n * ```\n *\n * ```js\n * // mod1.test.js\n * /**\n * * runTests automatically tests all exported functions that start with \"test\".\n * * The name of the function should be in camelCase and is used for the logging output.\n * *\n * * @ param {t.TestCase} tc\n * *\\/\n * export const testMyFirstTest = tc => {\n * t.compare({ a: 4 }, { a: 4 }, 'objects are equal')\n * }\n * ```\n *\n * Now you can simply run `node test.js` to run your test or run test.js in the browser.\n *\n * @module testing\n */\n\nimport * as log from 'lib0/logging'\nimport { simpleDiffString } from './diff.js'\nimport * as object from './object.js'\nimport * as string from './string.js'\nimport * as math from './math.js'\nimport * as random from './random.js'\nimport * as prng from './prng.js'\nimport * as statistics from './statistics.js'\nimport * as array from './array.js'\nimport * as env from './environment.js'\nimport * as json from './json.js'\nimport * as time from './time.js'\nimport * as promise from './promise.js'\nimport * as performance from 'lib0/performance'\nimport * as traits from './traits.js'\n\nexport { production } from './environment.js'\nexport const extensive = env.hasConf('extensive')\n\n/* c8 ignore next */\nexport const envSeed = env.hasParam('--seed') ? Number.parseInt(env.getParam('--seed', '0')) : null\n\nexport class TestCase {\n /**\n * @param {string} moduleName\n * @param {string} testName\n */\n constructor (moduleName, testName) {\n /**\n * @type {string}\n */\n this.moduleName = moduleName\n /**\n * @type {string}\n */\n this.testName = testName\n /**\n * This type can store custom information related to the TestCase\n *\n * @type {Map<string,any>}\n */\n this.meta = new Map()\n this._seed = null\n this._prng = null\n }\n\n resetSeed () {\n this._seed = null\n this._prng = null\n }\n\n /**\n * @type {number}\n */\n /* c8 ignore next */\n get seed () {\n /* c8 ignore else */\n if (this._seed === null) {\n /* c8 ignore next */\n this._seed = envSeed === null ? random.uint32() : envSeed\n }\n return this._seed\n }\n\n /**\n * A PRNG for this test case. Use only this PRNG for randomness to make the test case reproducible.\n *\n * @type {prng.PRNG}\n */\n get prng () {\n /* c8 ignore else */\n if (this._prng === null) {\n this._prng = prng.create(this.seed)\n }\n return this._prng\n }\n}\n\nexport const repetitionTime = Number(env.getParam('--repetition-time', '50'))\n/* c8 ignore next */\nconst testFilter = env.hasParam('--filter') ? env.getParam('--filter', '') : null\n\n/* c8 ignore next */\nconst testFilterRegExp = testFilter !== null ? new RegExp(testFilter) : /.*/\n\nconst repeatTestRegex = /^(repeat|repeating)\\s/\n\n/**\n * @param {string} moduleName\n * @param {string} name\n * @param {function(TestCase):void|Promise<any>} f\n * @param {number} i\n * @param {number} numberOfTests\n */\nexport const run = async (moduleName, name, f, i, numberOfTests) => {\n const uncamelized = string.fromCamelCase(name.slice(4), ' ')\n const filtered = !testFilterRegExp.test(`[${i + 1}/${numberOfTests}] ${moduleName}: ${uncamelized}`)\n /* c8 ignore next 3 */\n if (filtered) {\n return true\n }\n const tc = new TestCase(moduleName, name)\n const repeat = repeatTestRegex.test(uncamelized)\n const groupArgs = [log.GREY, `[${i + 1}/${numberOfTests}] `, log.PURPLE, `${moduleName}: `, log.BLUE, uncamelized]\n /* c8 ignore next 5 */\n if (testFilter === null) {\n log.groupCollapsed(...groupArgs)\n } else {\n log.group(...groupArgs)\n }\n const times = []\n const start = performance.now()\n let lastTime = start\n /**\n * @type {any}\n */\n let err = null\n performance.mark(`${name}-start`)\n do {\n try {\n const p = f(tc)\n if (promise.isPromise(p)) {\n await p\n }\n } catch (_err) {\n err = _err\n }\n const currTime = performance.now()\n times.push(currTime - lastTime)\n lastTime = currTime\n if (repeat && err === null && (lastTime - start) < repetitionTime) {\n tc.resetSeed()\n } else {\n break\n }\n } while (err === null && (lastTime - start) < repetitionTime)\n performance.mark(`${name}-end`)\n /* c8 ignore next 3 */\n if (err !== null && err.constructor !== SkipError) {\n log.printError(err)\n }\n performance.measure(name, `${name}-start`, `${name}-end`)\n log.groupEnd()\n const duration = lastTime - start\n let success = true\n times.sort((a, b) => a - b)\n /* c8 ignore next 3 */\n const againMessage = env.isBrowser\n ? ` - ${window.location.host + window.location.pathname}?filter=\\\\[${i + 1}/${tc._seed === null ? '' : `&seed=${tc._seed}`}`\n : `\\nrepeat: npm run test -- --filter \"\\\\[${i + 1}/\" ${tc._seed === null ? '' : `--seed ${tc._seed}`}`\n const timeInfo = (repeat && err === null)\n ? ` - ${times.length} repetitions in ${time.humanizeDuration(duration)} (best: ${time.humanizeDuration(times[0])}, worst: ${time.humanizeDuration(array.last(times))}, median: ${time.humanizeDuration(statistics.median(times))}, average: ${time.humanizeDuration(statistics.average(times))})`\n : ` in ${time.humanizeDuration(duration)}`\n if (err !== null) {\n /* c8 ignore start */\n if (err.constructor === SkipError) {\n log.print(log.GREY, log.BOLD, 'Skipped: ', log.UNBOLD, uncamelized)\n } else {\n success = false\n log.print(log.RED, log.BOLD, 'Failure: ', log.UNBOLD, log.UNCOLOR, uncamelized, log.GREY, timeInfo, againMessage)\n }\n /* c8 ignore stop */\n } else {\n log.print(log.GREEN, log.BOLD, 'Success: ', log.UNBOLD, log.UNCOLOR, uncamelized, log.GREY, timeInfo, againMessage)\n }\n return success\n}\n\n/**\n * Describe what you are currently testing. The message will be logged.\n *\n * ```js\n * export const testMyFirstTest = tc => {\n * t.describe('crunching numbers', 'already crunched 4 numbers!') // the optional second argument can describe the state.\n * }\n * ```\n *\n * @param {string} description\n * @param {string} info\n */\nexport const describe = (description, info = '') => log.print(log.BLUE, description, ' ', log.GREY, info)\n\n/**\n * Describe the state of the current computation.\n * ```js\n * export const testMyFirstTest = tc => {\n * t.info(already crunched 4 numbers!') // the optional second argument can describe the state.\n * }\n * ```\n *\n * @param {string} info\n */\nexport const info = info => describe('', info)\n\nexport const printDom = log.printDom\n\nexport const printCanvas = log.printCanvas\n\n/**\n * Group outputs in a collapsible category.\n *\n * ```js\n * export const testMyFirstTest = tc => {\n * t.group('subtest 1', () => {\n * t.describe('this message is part of a collapsible section')\n * })\n * await t.groupAsync('subtest async 2', async () => {\n * await someaction()\n * t.describe('this message is part of a collapsible section')\n * })\n * }\n * ```\n *\n * @param {string} description\n * @param {function(...any):void} f\n */\nexport const group = (description, f) => {\n log.group(log.BLUE, description)\n try {\n f()\n } finally {\n log.groupEnd()\n }\n}\n\n/**\n * Group outputs in a collapsible category.\n *\n * ```js\n * export const testMyFirstTest = async tc => {\n * t.group('subtest 1', () => {\n * t.describe('this message is part of a collapsible section')\n * })\n * await t.groupAsync('subtest async 2', async () => {\n * await someaction()\n * t.describe('this message is part of a collapsible section')\n * })\n * }\n * ```\n *\n * @param {string} description\n * @param {function(...any):Promise<any>} f\n */\nexport const groupAsync = async (description, f) => {\n log.group(log.BLUE, description)\n try {\n await f()\n } finally {\n log.groupEnd()\n }\n}\n\n/**\n * Measure the time that it takes to calculate something.\n *\n * ```js\n * export const testMyFirstTest = async tc => {\n * t.measureTime('measurement', () => {\n * heavyCalculation()\n * })\n * await t.groupAsync('async measurement', async () => {\n * await heavyAsyncCalculation()\n * })\n * }\n * ```\n *\n * @param {string} message\n * @param {function(...any):void} f\n * @return {number} Returns a promise that resolves the measured duration to apply f\n */\nexport const measureTime = (message, f) => {\n let duration\n const start = performance.now()\n try {\n f()\n } finally {\n duration = performance.now() - start\n log.print(log.PURPLE, message, log.GREY, ` ${time.humanizeDuration(duration)}`)\n }\n return duration\n}\n\n/**\n * Measure the time that it takes to calculate something.\n *\n * ```js\n * export const testMyFirstTest = async tc => {\n * t.measureTimeAsync('measurement', async () => {\n * await heavyCalculation()\n * })\n * await t.groupAsync('async measurement', async () => {\n * await heavyAsyncCalculation()\n * })\n * }\n * ```\n *\n * @param {string} message\n * @param {function(...any):Promise<any>} f\n * @return {Promise<number>} Returns a promise that resolves the measured duration to apply f\n */\nexport const measureTimeAsync = async (message, f) => {\n let duration\n const start = performance.now()\n try {\n await f()\n } finally {\n duration = performance.now() - start\n log.print(log.PURPLE, message, log.GREY, ` ${time.humanizeDuration(duration)}`)\n }\n return duration\n}\n\n/**\n * @template T\n * @param {Array<T>} as\n * @param {Array<T>} bs\n * @param {string} [m]\n * @return {boolean}\n */\nexport const compareArrays = (as, bs, m = 'Arrays match') => {\n if (as.length !== bs.length) {\n fail(m)\n }\n for (let i = 0; i < as.length; i++) {\n if (as[i] !== bs[i]) {\n fail(m)\n }\n }\n return true\n}\n\n/**\n * @param {string} a\n * @param {string} b\n * @param {string} [m]\n * @throws {TestError} Throws if tests fails\n */\nexport const compareStrings = (a, b, m = 'Strings match') => {\n if (a !== b) {\n const diff = simpleDiffString(a, b)\n log.print(log.GREY, a.slice(0, diff.index), log.RED, a.slice(diff.index, diff.remove), log.GREEN, diff.insert, log.GREY, a.slice(diff.index + diff.remove))\n fail(m)\n }\n}\n\n/**\n * @template K,V\n * @param {Object<K,V>} a\n * @param {Object<K,V>} b\n * @param {string} [m]\n * @throws {TestError} Throws if test fails\n */\nexport const compareObjects = (a, b, m = 'Objects match') => { object.equalFlat(a, b) || fail(m) }\n\n/**\n * @param {any} _constructor\n * @param {any} a\n * @param {any} b\n * @param {string} path\n * @throws {TestError}\n */\nconst compareValues = (_constructor, a, b, path) => {\n if (a !== b) {\n fail(`Values ${json.stringify(a)} and ${json.stringify(b)} don't match (${path})`)\n }\n return true\n}\n\n/**\n * @param {string?} message\n * @param {string} reason\n * @param {string} path\n * @throws {TestError}\n */\nconst _failMessage = (message, reason, path) => fail(\n message === null\n ? `${reason} ${path}`\n : `${message} (${reason}) ${path}`\n)\n\n/**\n * @param {any} a\n * @param {any} b\n * @param {string} path\n * @param {string?} message\n * @param {function(any,any,any,string,any):boolean} customCompare\n */\nconst _compare = (a, b, path, message, customCompare) => {\n // we don't use assert here because we want to test all branches (istanbul errors if one branch is not tested)\n if (a == null || b == null) {\n return compareValues(null, a, b, path)\n }\n if (a[traits.EqualityTraitSymbol] != null) {\n if (a[traits.EqualityTraitSymbol](b)) {\n return true\n } else {\n _failMessage(message, 'Not equal by equality trait', path)\n }\n }\n if (a.constructor !== b.constructor) {\n _failMessage(message, 'Constructors don\\'t match', path)\n }\n let success = true\n switch (a.constructor) {\n case ArrayBuffer:\n a = new Uint8Array(a)\n b = new Uint8Array(b)\n // eslint-disable-next-line no-fallthrough\n case Uint8Array: {\n if (a.byteLength !== b.byteLength) {\n _failMessage(message, 'ArrayBuffer lengths match', path)\n }\n for (let i = 0; success && i < a.length; i++) {\n success = success && a[i] === b[i]\n }\n break\n }\n case Set: {\n if (a.size !== b.size) {\n _failMessage(message, 'Sets have different number of attributes', path)\n }\n // @ts-ignore\n a.forEach(value => {\n if (!b.has(value)) {\n _failMessage(message, `b.${path} does have ${value}`, path)\n }\n })\n break\n }\n case Map: {\n if (a.size !== b.size) {\n _failMessage(message, 'Maps have different number of attributes', path)\n }\n // @ts-ignore\n a.forEach((value, key) => {\n if (!b.has(key)) {\n _failMessage(message, `Property ${path}[\"${key}\"] does not exist on second argument`, path)\n }\n _compare(value, b.get(key), `${path}[\"${key}\"]`, message, customCompare)\n })\n break\n }\n case undefined: // undefined is often set as a constructor for objects\n case Object:\n if (object.length(a) !== object.length(b)) {\n _failMessage(message, 'Objects have a different number of attributes', path)\n }\n object.forEach(a, (value, key) => {\n if (!object.hasProperty(b, key)) {\n _failMessage(message, `Property ${path} does not exist on second argument`, path)\n }\n _compare(value, b[key], `${path}[\"${key}\"]`, message, customCompare)\n })\n break\n case Array:\n if (a.length !== b.length) {\n _failMessage(message, 'Arrays have a different number of attributes', path)\n }\n // @ts-ignore\n a.forEach((value, i) => _compare(value, b[i], `${path}[${i}]`, message, customCompare))\n break\n /* c8 ignore next 4 */\n default:\n if (!customCompare(a.constructor, a, b, path, compareValues)) {\n _failMessage(message, `Values ${json.stringify(a)} and ${json.stringify(b)} don't match`, path)\n }\n }\n assert(success, message)\n return true\n}\n\n/**\n * @template T\n * @param {T} a\n * @param {T} b\n * @param {string?} [message]\n * @param {function(any,T,T,string,any):boolean} [customCompare]\n */\nexport const compare = (a, b, message = null, customCompare = compareValues) => _compare(a, b, 'obj', message, customCompare)\n\n/**\n * @template T\n * @param {T} property\n * @param {string?} [message]\n * @return {asserts property is NonNullable<T>}\n * @throws {TestError}\n */\n/* c8 ignore next */\nexport const assert = (property, message = null) => { property || fail(`Assertion failed${message !== null ? `: ${message}` : ''}`) }\n\n/**\n * @param {function(...any):Promise<any>} f\n */\nexport const promiseRejected = async f => {\n try {\n await f()\n } catch (err) {\n return\n }\n fail('Expected promise to fail')\n}\n\n/**\n * @param {function(...any):void} f\n * @throws {TestError}\n */\nexport const fails = f => {\n try {\n f()\n } catch (_err) {\n log.print(log.GREEN, '⇖ This Error was expected')\n return\n }\n fail('Expected this to fail')\n}\n\n/**\n * @param {function(...any):Promise<any>} f\n * @throws {TestError}\n */\nexport const failsAsync = async f => {\n try {\n await f()\n } catch (_err) {\n log.print(log.GREEN, '⇖ This Error was expected')\n return\n }\n fail('Expected this to fail')\n}\n\n/**\n * @param {Object<string, Object<string, function(TestCase):void|Promise<any>>>} tests\n */\nexport const runTests = async tests => {\n /**\n * @param {string} testname\n */\n const filterTest = testname => testname.startsWith('test') || testname.startsWith('benchmark')\n const numberOfTests = object.map(tests, mod => object.map(mod, (f, fname) => /* c8 ignore next */ f && filterTest(fname) ? 1 : 0).reduce(math.add, 0)).reduce(math.add, 0)\n let successfulTests = 0\n let testnumber = 0\n const start = performance.now()\n for (const modName in tests) {\n const mod = tests[modName]\n for (const fname in mod) {\n const f = mod[fname]\n /* c8 ignore else */\n if (f && filterTest(fname)) {\n const repeatEachTest = 1\n let success = true\n for (let i = 0; success && i < repeatEachTest; i++) {\n success = await run(modName, fname, f, testnumber, numberOfTests)\n }\n testnumber++\n /* c8 ignore else */\n if (success) {\n successfulTests++\n }\n }\n }\n }\n const end = performance.now()\n log.print('')\n const success = successfulTests === numberOfTests\n /* c8 ignore start */\n if (success) {\n log.print(log.GREEN, log.BOLD, 'All tests successful!', log.GREY, log.UNBOLD, ` in ${time.humanizeDuration(end - start)}`)\n log.printImgBase64(nyanCatImage, 50)\n } else {\n const failedTests = numberOfTests - successfulTests\n log.print(log.RED, log.BOLD, `> ${failedTests} test${failedTests > 1 ? 's' : ''} failed`)\n }\n /* c8 ignore stop */\n return success\n}\n\nclass TestError extends Error {}\n\n/**\n * @param {string} reason\n * @throws {TestError}\n */\nexport const fail = reason => {\n log.print(log.RED, log.BOLD, 'X ', log.UNBOLD, reason)\n throw new TestError('Test Failed')\n}\n\nclass SkipError extends Error {}\n\n/**\n * @param {boolean} cond If true, this tests will be skipped\n * @throws {SkipError}\n */\nexport const skip = (cond = true) => {\n if (cond) {\n throw new SkipError('skipping..')\n }\n}\n\n// eslint-disable-next-line\nconst nyanCatImage = 'R0lGODlhjABMAPcAAMiSE0xMTEzMzUKJzjQ0NFsoKPc7//FM/9mH/z9x0HIiIoKCgmBHN+frGSkZLdDQ0LCwsDk71g0KCUzDdrQQEOFz/8yYdelmBdTiHFxcXDU2erR/mLrTHCgoKK5szBQUFNgSCTk6ymfpCB9VZS2Bl+cGBt2N8kWm0uDcGXhZRUvGq94NCFPhDiwsLGVlZTgqIPMDA1g3aEzS5D6xAURERDtG9JmBjJsZGWs2AD1W6Hp6eswyDeJ4CFNTU1LcEoJRmTMzSd14CTg5ser2GmDzBd17/xkZGUzMvoSMDiEhIfKruCwNAJaWlvRzA8kNDXDrCfi0pe1U/+GS6SZrAB4eHpZwVhoabsx9oiYmJt/TGHFxcYyMjOid0+Zl/0rF6j09PeRr/0zU9DxO6j+z0lXtBtp8qJhMAEssLGhoaPL/GVn/AAsWJ/9/AE3Z/zs9/3cAAOlf/+aa2RIyADo85uhh/0i84WtrazQ0UyMlmDMzPwUFBe16BTMmHau0E03X+g8pMEAoS1MBAf++kkzO8pBaqSZoe9uB/zE0BUQ3Sv///4WFheuiyzo880gzNDIyNissBNqF/8RiAOF2qG5ubj0vL1z6Avl5ASsgGkgUSy8vL/8n/z4zJy8lOv96uEssV1csAN5ZCDQ0Wz1a3tbEGHLeDdYKCg4PATE7PiMVFSoqU83eHEi43gUPAOZ8reGogeKU5dBBC8faHEez2lHYF4bQFMukFtl4CzY3kkzBVJfMGZkAAMfSFf27mP0t//g4/9R6Dfsy/1DRIUnSAPRD/0fMAFQ0Q+l7rnbaD0vEntCDD6rSGtO8GNpUCU/MK07LPNEfC7RaABUWWkgtOst+71v9AfD7GfDw8P19ATtA/NJpAONgB9yL+fm6jzIxMdnNGJxht1/2A9x//9jHGOSX3+5tBP27l35+fk5OTvZ9AhYgTjo0PUhGSDs9+LZjCFf2Aw0IDwcVAA8PD5lwg9+Q7YaChC0kJP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGNEM2MUEyMzE0QTRFMTExOUQzRkE3QTBCRDNBMjdBQyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpERjQ0NEY0QkI2MTcxMUUxOUJEQkUzNUNGQTkwRTU2MiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpERjQ0NEY0QUI2MTcxMUUxOUJEQkUzNUNGQTkwRTU2MiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1OEE3RTIwRjcyQTlFMTExOTQ1QkY2QTU5QzVCQjJBOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNEM2MUEyMzE0QTRFMTExOUQzRkE3QTBCRDNBMjdBQyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1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'\n"],"names":["env.hasConf","env.hasParam","env.getParam","random.uint32","prng.create","string.fromCamelCase","log","performance","promise.isPromise","env.isBrowser","time.humanizeDuration","array.last","statistics.median","statistics.average","diff","simpleDiffString","object.equalFlat","json.stringify","traits.EqualityTraitSymbol","object.length","object.forEach","object.hasProperty","object.map","math.add"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"testing.cjs","sources":["../testing.js"],"sourcesContent":["/**\n * Testing framework with support for generating tests.\n *\n * ```js\n * // test.js template for creating a test executable\n * import { runTests } from 'lib0/testing'\n * import * as log from 'lib0/logging'\n * import * as mod1 from './mod1.test.js'\n * import * as mod2 from './mod2.test.js'\n\n * import { isBrowser, isNode } from 'lib0/environment.js'\n *\n * if (isBrowser) {\n * // optional: if this is ran in the browser, attach a virtual console to the dom\n * log.createVConsole(document.body)\n * }\n *\n * runTests({\n * mod1,\n * mod2,\n * }).then(success => {\n * if (isNode) {\n * process.exit(success ? 0 : 1)\n * }\n * })\n * ```\n *\n * ```js\n * // mod1.test.js\n * /**\n * * runTests automatically tests all exported functions that start with \"test\".\n * * The name of the function should be in camelCase and is used for the logging output.\n * *\n * * @ param {t.TestCase} tc\n * *\\/\n * export const testMyFirstTest = tc => {\n * t.compare({ a: 4 }, { a: 4 }, 'objects are equal')\n * }\n * ```\n *\n * Now you can simply run `node test.js` to run your test or run test.js in the browser.\n *\n * @module testing\n */\n\nimport * as log from 'lib0/logging'\nimport { simpleDiffString } from './diff.js'\nimport * as object from './object.js'\nimport * as string from './string.js'\nimport * as math from './math.js'\nimport * as random from './random.js'\nimport * as prng from './prng.js'\nimport * as statistics from './statistics.js'\nimport * as array from './array.js'\nimport * as env from './environment.js'\nimport * as json from './json.js'\nimport * as time from './time.js'\nimport * as promise from './promise.js'\nimport * as performance from 'lib0/performance'\nimport * as equalityTrait from './trait/equality.js'\n\nexport { production } from './environment.js'\nexport const extensive = env.hasConf('extensive')\n\n/* c8 ignore next */\nexport const envSeed = env.hasParam('--seed') ? Number.parseInt(env.getParam('--seed', '0')) : null\n\nexport class TestCase {\n /**\n * @param {string} moduleName\n * @param {string} testName\n */\n constructor (moduleName, testName) {\n /**\n * @type {string}\n */\n this.moduleName = moduleName\n /**\n * @type {string}\n */\n this.testName = testName\n /**\n * This type can store custom information related to the TestCase\n *\n * @type {Map<string,any>}\n */\n this.meta = new Map()\n this._seed = null\n this._prng = null\n }\n\n resetSeed () {\n this._seed = null\n this._prng = null\n }\n\n /**\n * @type {number}\n */\n /* c8 ignore next */\n get seed () {\n /* c8 ignore else */\n if (this._seed === null) {\n /* c8 ignore next */\n this._seed = envSeed === null ? random.uint32() : envSeed\n }\n return this._seed\n }\n\n /**\n * A PRNG for this test case. Use only this PRNG for randomness to make the test case reproducible.\n *\n * @type {prng.PRNG}\n */\n get prng () {\n /* c8 ignore else */\n if (this._prng === null) {\n this._prng = prng.create(this.seed)\n }\n return this._prng\n }\n}\n\nexport const repetitionTime = Number(env.getParam('--repetition-time', '50'))\n/* c8 ignore next */\nconst testFilter = env.hasParam('--filter') ? env.getParam('--filter', '') : null\n\n/* c8 ignore next */\nconst testFilterRegExp = testFilter !== null ? new RegExp(testFilter) : /.*/\n\nconst repeatTestRegex = /^(repeat|repeating)\\s/\n\n/**\n * @param {string} moduleName\n * @param {string} name\n * @param {function(TestCase):void|Promise<any>} f\n * @param {number} i\n * @param {number} numberOfTests\n */\nexport const run = async (moduleName, name, f, i, numberOfTests) => {\n const uncamelized = string.fromCamelCase(name.slice(4), ' ')\n const filtered = !testFilterRegExp.test(`[${i + 1}/${numberOfTests}] ${moduleName}: ${uncamelized}`)\n /* c8 ignore next 3 */\n if (filtered) {\n return true\n }\n const tc = new TestCase(moduleName, name)\n const repeat = repeatTestRegex.test(uncamelized)\n const groupArgs = [log.GREY, `[${i + 1}/${numberOfTests}] `, log.PURPLE, `${moduleName}: `, log.BLUE, uncamelized]\n /* c8 ignore next 5 */\n if (testFilter === null) {\n log.groupCollapsed(...groupArgs)\n } else {\n log.group(...groupArgs)\n }\n const times = []\n const start = performance.now()\n let lastTime = start\n /**\n * @type {any}\n */\n let err = null\n performance.mark(`${name}-start`)\n do {\n try {\n const p = f(tc)\n if (promise.isPromise(p)) {\n await p\n }\n } catch (_err) {\n err = _err\n }\n const currTime = performance.now()\n times.push(currTime - lastTime)\n lastTime = currTime\n if (repeat && err === null && (lastTime - start) < repetitionTime) {\n tc.resetSeed()\n } else {\n break\n }\n } while (err === null && (lastTime - start) < repetitionTime)\n performance.mark(`${name}-end`)\n /* c8 ignore next 3 */\n if (err !== null && err.constructor !== SkipError) {\n log.printError(err)\n }\n performance.measure(name, `${name}-start`, `${name}-end`)\n log.groupEnd()\n const duration = lastTime - start\n let success = true\n times.sort((a, b) => a - b)\n /* c8 ignore next 3 */\n const againMessage = env.isBrowser\n ? ` - ${window.location.host + window.location.pathname}?filter=\\\\[${i + 1}/${tc._seed === null ? '' : `&seed=${tc._seed}`}`\n : `\\nrepeat: npm run test -- --filter \"\\\\[${i + 1}/\" ${tc._seed === null ? '' : `--seed ${tc._seed}`}`\n const timeInfo = (repeat && err === null)\n ? ` - ${times.length} repetitions in ${time.humanizeDuration(duration)} (best: ${time.humanizeDuration(times[0])}, worst: ${time.humanizeDuration(array.last(times))}, median: ${time.humanizeDuration(statistics.median(times))}, average: ${time.humanizeDuration(statistics.average(times))})`\n : ` in ${time.humanizeDuration(duration)}`\n if (err !== null) {\n /* c8 ignore start */\n if (err.constructor === SkipError) {\n log.print(log.GREY, log.BOLD, 'Skipped: ', log.UNBOLD, uncamelized)\n } else {\n success = false\n log.print(log.RED, log.BOLD, 'Failure: ', log.UNBOLD, log.UNCOLOR, uncamelized, log.GREY, timeInfo, againMessage)\n }\n /* c8 ignore stop */\n } else {\n log.print(log.GREEN, log.BOLD, 'Success: ', log.UNBOLD, log.UNCOLOR, uncamelized, log.GREY, timeInfo, againMessage)\n }\n return success\n}\n\n/**\n * Describe what you are currently testing. The message will be logged.\n *\n * ```js\n * export const testMyFirstTest = tc => {\n * t.describe('crunching numbers', 'already crunched 4 numbers!') // the optional second argument can describe the state.\n * }\n * ```\n *\n * @param {string} description\n * @param {string} info\n */\nexport const describe = (description, info = '') => log.print(log.BLUE, description, ' ', log.GREY, info)\n\n/**\n * Describe the state of the current computation.\n * ```js\n * export const testMyFirstTest = tc => {\n * t.info(already crunched 4 numbers!') // the optional second argument can describe the state.\n * }\n * ```\n *\n * @param {string} info\n */\nexport const info = info => describe('', info)\n\nexport const printDom = log.printDom\n\nexport const printCanvas = log.printCanvas\n\n/**\n * Group outputs in a collapsible category.\n *\n * ```js\n * export const testMyFirstTest = tc => {\n * t.group('subtest 1', () => {\n * t.describe('this message is part of a collapsible section')\n * })\n * await t.groupAsync('subtest async 2', async () => {\n * await someaction()\n * t.describe('this message is part of a collapsible section')\n * })\n * }\n * ```\n *\n * @param {string} description\n * @param {function(...any):void} f\n */\nexport const group = (description, f) => {\n log.group(log.BLUE, description)\n try {\n f()\n } finally {\n log.groupEnd()\n }\n}\n\n/**\n * Group outputs in a collapsible category.\n *\n * ```js\n * export const testMyFirstTest = async tc => {\n * t.group('subtest 1', () => {\n * t.describe('this message is part of a collapsible section')\n * })\n * await t.groupAsync('subtest async 2', async () => {\n * await someaction()\n * t.describe('this message is part of a collapsible section')\n * })\n * }\n * ```\n *\n * @param {string} description\n * @param {function(...any):Promise<any>} f\n */\nexport const groupAsync = async (description, f) => {\n log.group(log.BLUE, description)\n try {\n await f()\n } finally {\n log.groupEnd()\n }\n}\n\n/**\n * Measure the time that it takes to calculate something.\n *\n * ```js\n * export const testMyFirstTest = async tc => {\n * t.measureTime('measurement', () => {\n * heavyCalculation()\n * })\n * await t.groupAsync('async measurement', async () => {\n * await heavyAsyncCalculation()\n * })\n * }\n * ```\n *\n * @param {string} message\n * @param {function(...any):void} f\n * @return {number} Returns a promise that resolves the measured duration to apply f\n */\nexport const measureTime = (message, f) => {\n let duration\n const start = performance.now()\n try {\n f()\n } finally {\n duration = performance.now() - start\n log.print(log.PURPLE, message, log.GREY, ` ${time.humanizeDuration(duration)}`)\n }\n return duration\n}\n\n/**\n * Measure the time that it takes to calculate something.\n *\n * ```js\n * export const testMyFirstTest = async tc => {\n * t.measureTimeAsync('measurement', async () => {\n * await heavyCalculation()\n * })\n * await t.groupAsync('async measurement', async () => {\n * await heavyAsyncCalculation()\n * })\n * }\n * ```\n *\n * @param {string} message\n * @param {function(...any):Promise<any>} f\n * @return {Promise<number>} Returns a promise that resolves the measured duration to apply f\n */\nexport const measureTimeAsync = async (message, f) => {\n let duration\n const start = performance.now()\n try {\n await f()\n } finally {\n duration = performance.now() - start\n log.print(log.PURPLE, message, log.GREY, ` ${time.humanizeDuration(duration)}`)\n }\n return duration\n}\n\n/**\n * @template T\n * @param {Array<T>} as\n * @param {Array<T>} bs\n * @param {string} [m]\n * @return {boolean}\n */\nexport const compareArrays = (as, bs, m = 'Arrays match') => {\n if (as.length !== bs.length) {\n fail(m)\n }\n for (let i = 0; i < as.length; i++) {\n if (as[i] !== bs[i]) {\n fail(m)\n }\n }\n return true\n}\n\n/**\n * @param {string} a\n * @param {string} b\n * @param {string} [m]\n * @throws {TestError} Throws if tests fails\n */\nexport const compareStrings = (a, b, m = 'Strings match') => {\n if (a !== b) {\n const diff = simpleDiffString(a, b)\n log.print(log.GREY, a.slice(0, diff.index), log.RED, a.slice(diff.index, diff.remove), log.GREEN, diff.insert, log.GREY, a.slice(diff.index + diff.remove))\n fail(m)\n }\n}\n\n/**\n * @template K,V\n * @param {Object<K,V>} a\n * @param {Object<K,V>} b\n * @param {string} [m]\n * @throws {TestError} Throws if test fails\n */\nexport const compareObjects = (a, b, m = 'Objects match') => { object.equalFlat(a, b) || fail(m) }\n\n/**\n * @param {any} _constructor\n * @param {any} a\n * @param {any} b\n * @param {string} path\n * @throws {TestError}\n */\nconst compareValues = (_constructor, a, b, path) => {\n if (a !== b) {\n fail(`Values ${json.stringify(a)} and ${json.stringify(b)} don't match (${path})`)\n }\n return true\n}\n\n/**\n * @param {string?} message\n * @param {string} reason\n * @param {string} path\n * @throws {TestError}\n */\nconst _failMessage = (message, reason, path) => fail(\n message === null\n ? `${reason} ${path}`\n : `${message} (${reason}) ${path}`\n)\n\n/**\n * @param {any} a\n * @param {any} b\n * @param {string} path\n * @param {string?} message\n * @param {function(any,any,any,string,any):boolean} customCompare\n */\nconst _compare = (a, b, path, message, customCompare) => {\n // we don't use assert here because we want to test all branches (istanbul errors if one branch is not tested)\n if (a == null || b == null) {\n return compareValues(null, a, b, path)\n }\n if (a[equalityTrait.EqualityTraitSymbol] != null) {\n if (a[equalityTrait.EqualityTraitSymbol](b)) {\n return true\n } else {\n _failMessage(message, 'Not equal by equality trait', path)\n }\n }\n if (a.constructor !== b.constructor) {\n _failMessage(message, 'Constructors don\\'t match', path)\n }\n let success = true\n switch (a.constructor) {\n case ArrayBuffer:\n a = new Uint8Array(a)\n b = new Uint8Array(b)\n // eslint-disable-next-line no-fallthrough\n case Uint8Array: {\n if (a.byteLength !== b.byteLength) {\n _failMessage(message, 'ArrayBuffer lengths match', path)\n }\n for (let i = 0; success && i < a.length; i++) {\n success = success && a[i] === b[i]\n }\n break\n }\n case Set: {\n if (a.size !== b.size) {\n _failMessage(message, 'Sets have different number of attributes', path)\n }\n // @ts-ignore\n a.forEach(value => {\n if (!b.has(value)) {\n _failMessage(message, `b.${path} does have ${value}`, path)\n }\n })\n break\n }\n case Map: {\n if (a.size !== b.size) {\n _failMessage(message, 'Maps have different number of attributes', path)\n }\n // @ts-ignore\n a.forEach((value, key) => {\n if (!b.has(key)) {\n _failMessage(message, `Property ${path}[\"${key}\"] does not exist on second argument`, path)\n }\n _compare(value, b.get(key), `${path}[\"${key}\"]`, message, customCompare)\n })\n break\n }\n case undefined: // undefined is often set as a constructor for objects\n case Object:\n if (object.length(a) !== object.length(b)) {\n _failMessage(message, 'Objects have a different number of attributes', path)\n }\n object.forEach(a, (value, key) => {\n if (!object.hasProperty(b, key)) {\n _failMessage(message, `Property ${path} does not exist on second argument`, path)\n }\n _compare(value, b[key], `${path}[\"${key}\"]`, message, customCompare)\n })\n break\n case Array:\n if (a.length !== b.length) {\n _failMessage(message, 'Arrays have a different number of attributes', path)\n }\n // @ts-ignore\n a.forEach((value, i) => _compare(value, b[i], `${path}[${i}]`, message, customCompare))\n break\n /* c8 ignore next 4 */\n default:\n if (!customCompare(a.constructor, a, b, path, compareValues)) {\n _failMessage(message, `Values ${json.stringify(a)} and ${json.stringify(b)} don't match`, path)\n }\n }\n assert(success, message)\n return true\n}\n\n/**\n * @template T\n * @param {T} a\n * @param {T} b\n * @param {string?} [message]\n * @param {function(any,T,T,string,any):boolean} [customCompare]\n */\nexport const compare = (a, b, message = null, customCompare = compareValues) => _compare(a, b, 'obj', message, customCompare)\n\n/**\n * @template T\n * @param {T} property\n * @param {string?} [message]\n * @return {asserts property is NonNullable<T>}\n * @throws {TestError}\n */\n/* c8 ignore next */\nexport const assert = (property, message = null) => { property || fail(`Assertion failed${message !== null ? `: ${message}` : ''}`) }\n\n/**\n * @param {function(...any):Promise<any>} f\n */\nexport const promiseRejected = async f => {\n try {\n await f()\n } catch (err) {\n return\n }\n fail('Expected promise to fail')\n}\n\n/**\n * @param {function(...any):void} f\n * @throws {TestError}\n */\nexport const fails = f => {\n try {\n f()\n } catch (_err) {\n log.print(log.GREEN, '⇖ This Error was expected')\n return\n }\n fail('Expected this to fail')\n}\n\n/**\n * @param {function(...any):Promise<any>} f\n * @throws {TestError}\n */\nexport const failsAsync = async f => {\n try {\n await f()\n } catch (_err) {\n log.print(log.GREEN, '⇖ This Error was expected')\n return\n }\n fail('Expected this to fail')\n}\n\n/**\n * @param {Object<string, Object<string, function(TestCase):void|Promise<any>>>} tests\n */\nexport const runTests = async tests => {\n /**\n * @param {string} testname\n */\n const filterTest = testname => testname.startsWith('test') || testname.startsWith('benchmark')\n const numberOfTests = object.map(tests, mod => object.map(mod, (f, fname) => /* c8 ignore next */ f && filterTest(fname) ? 1 : 0).reduce(math.add, 0)).reduce(math.add, 0)\n let successfulTests = 0\n let testnumber = 0\n const start = performance.now()\n for (const modName in tests) {\n const mod = tests[modName]\n for (const fname in mod) {\n const f = mod[fname]\n /* c8 ignore else */\n if (f && filterTest(fname)) {\n const repeatEachTest = 1\n let success = true\n for (let i = 0; success && i < repeatEachTest; i++) {\n success = await run(modName, fname, f, testnumber, numberOfTests)\n }\n testnumber++\n /* c8 ignore else */\n if (success) {\n successfulTests++\n }\n }\n }\n }\n const end = performance.now()\n log.print('')\n const success = successfulTests === numberOfTests\n /* c8 ignore start */\n if (success) {\n log.print(log.GREEN, log.BOLD, 'All tests successful!', log.GREY, log.UNBOLD, ` in ${time.humanizeDuration(end - start)}`)\n log.printImgBase64(nyanCatImage, 50)\n } else {\n const failedTests = numberOfTests - successfulTests\n log.print(log.RED, log.BOLD, `> ${failedTests} test${failedTests > 1 ? 's' : ''} failed`)\n }\n /* c8 ignore stop */\n return success\n}\n\nclass TestError extends Error {}\n\n/**\n * @param {string} reason\n * @throws {TestError}\n */\nexport const fail = reason => {\n log.print(log.RED, log.BOLD, 'X ', log.UNBOLD, reason)\n throw new TestError('Test Failed')\n}\n\nclass SkipError extends Error {}\n\n/**\n * @param {boolean} cond If true, this tests will be skipped\n * @throws {SkipError}\n */\nexport const skip = (cond = true) => {\n if (cond) {\n throw new SkipError('skipping..')\n }\n}\n\n// eslint-disable-next-line\nconst nyanCatImage = 'R0lGODlhjABMAPcAAMiSE0xMTEzMzUKJzjQ0NFsoKPc7//FM/9mH/z9x0HIiIoKCgmBHN+frGSkZLdDQ0LCwsDk71g0KCUzDdrQQEOFz/8yYdelmBdTiHFxcXDU2erR/mLrTHCgoKK5szBQUFNgSCTk6ymfpCB9VZS2Bl+cGBt2N8kWm0uDcGXhZRUvGq94NCFPhDiwsLGVlZTgqIPMDA1g3aEzS5D6xAURERDtG9JmBjJsZGWs2AD1W6Hp6eswyDeJ4CFNTU1LcEoJRmTMzSd14CTg5ser2GmDzBd17/xkZGUzMvoSMDiEhIfKruCwNAJaWlvRzA8kNDXDrCfi0pe1U/+GS6SZrAB4eHpZwVhoabsx9oiYmJt/TGHFxcYyMjOid0+Zl/0rF6j09PeRr/0zU9DxO6j+z0lXtBtp8qJhMAEssLGhoaPL/GVn/AAsWJ/9/AE3Z/zs9/3cAAOlf/+aa2RIyADo85uhh/0i84WtrazQ0UyMlmDMzPwUFBe16BTMmHau0E03X+g8pMEAoS1MBAf++kkzO8pBaqSZoe9uB/zE0BUQ3Sv///4WFheuiyzo880gzNDIyNissBNqF/8RiAOF2qG5ubj0vL1z6Avl5ASsgGkgUSy8vL/8n/z4zJy8lOv96uEssV1csAN5ZCDQ0Wz1a3tbEGHLeDdYKCg4PATE7PiMVFSoqU83eHEi43gUPAOZ8reGogeKU5dBBC8faHEez2lHYF4bQFMukFtl4CzY3kkzBVJfMGZkAAMfSFf27mP0t//g4/9R6Dfsy/1DRIUnSAPRD/0fMAFQ0Q+l7rnbaD0vEntCDD6rSGtO8GNpUCU/MK07LPNEfC7RaABUWWkgtOst+71v9AfD7GfDw8P19ATtA/NJpAONgB9yL+fm6jzIxMdnNGJxht1/2A9x//9jHGOSX3+5tBP27l35+fk5OTvZ9AhYgTjo0PUhGSDs9+LZjCFf2Aw0IDwcVAA8PD5lwg9+Q7YaChC0kJP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGNEM2MUEyMzE0QTRFMTExOUQzRkE3QTBCRDNBMjdBQyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpERjQ0NEY0QkI2MTcxMUUxOUJEQkUzNUNGQTkwRTU2MiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpERjQ0NEY0QUI2MTcxMUUxOUJEQkUzNUNGQTkwRTU2MiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1OEE3RTIwRjcyQTlFMTExOTQ1QkY2QTU5QzVCQjJBOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNEM2MUEyMzE0QTRFMTExOUQzRkE3QTBCRDNBMjdBQyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1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'\n"],"names":["env.hasConf","env.hasParam","env.getParam","random.uint32","prng.create","string.fromCamelCase","log","performance","promise.isPromise","env.isBrowser","time.humanizeDuration","array.last","statistics.median","statistics.average","diff","simpleDiffString","object.equalFlat","json.stringify","equalityTrait.EqualityTraitSymbol","object.length","object.forEach","object.hasProperty","object.map","math.add"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"equality.d.ts","sourceRoot":"","sources":["../../trait/equality.js"],"names":[],"mappings":"AAAA,gDAAqD;AAyB9C,uBALsB,CAAC,SAAhB,aAAc,KACjB,OAAO,CAAC,CAAC,CAAC,KACV,CAAC,GACA,OAAO,CAE4D;4BAtBlE;IAAE,CAAC,mBAAmB,CAAC,EAAC,CAAC,KAAK,EAAC,aAAa,KAAG,OAAO,CAAA;CAAE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const FingerprintTraitSymbol: unique symbol;
|
|
2
|
+
export function fingerprint(a: Fingerprintable): string;
|
|
3
|
+
/**
|
|
4
|
+
* When implementing this trait, it is recommended to write some sort of "magic number" first to
|
|
5
|
+
* ensure that different types of objects don't have the same fingerprint.
|
|
6
|
+
*
|
|
7
|
+
* The recommended pracice is to generate a random u32 number as your magic number. e.g. using
|
|
8
|
+
* `console.log(random.uint32().toString(16))`
|
|
9
|
+
*/
|
|
10
|
+
export type Fingerprintable = {
|
|
11
|
+
[FingerprintTraitSymbol]: () => string;
|
|
12
|
+
} | import("../encoding.js").AnyEncodable;
|
|
13
|
+
//# sourceMappingURL=fingerprint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../trait/fingerprint.js"],"names":[],"mappings":"AAIA,mDAA2D;AAgBpD,+BAHI,eAAe,GACd,MAAM,CAE6P;;;;;;;;8BAPlQ;IAAE,CAAC,sBAAsB,CAAC,EAAC,MAAI,MAAM,CAAA;CAAE,GAAG,OAAO,gBAAgB,EAAE,YAAY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../../trait/traits.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traits.test.d.ts","sourceRoot":"","sources":["../../trait/traits.test.js"],"names":[],"mappings":"AAQO,wCAFI,CAAC,CAAC,QAAQ,QAwCpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QA2BpB;AAEM,6CAMN;mBApFkB,eAAe"}
|
package/dist/traits.cjs
CHANGED
|
@@ -2,33 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
var equality = require('./equality.cjs');
|
|
6
|
+
var fingerprint = require('./fingerprint.cjs');
|
|
7
|
+
require('./encoding-1a745c43.cjs');
|
|
8
|
+
require('./math-96d5e8c4.cjs');
|
|
9
|
+
require('./number-1fb57bba.cjs');
|
|
10
|
+
require('./binary-ac8e39e2.cjs');
|
|
11
|
+
require('./string-fddc5f8b.cjs');
|
|
12
|
+
require('./array-78849c95.cjs');
|
|
13
|
+
require('./set-5b47859e.cjs');
|
|
14
|
+
require('./rabin.cjs');
|
|
15
|
+
require('./buffer-8d110bf4.cjs');
|
|
16
|
+
require('./environment-98bcf64f.cjs');
|
|
17
|
+
require('./map-24d263c0.cjs');
|
|
18
|
+
require('./conditions-f5c0c102.cjs');
|
|
19
|
+
require('./storage.cjs');
|
|
20
|
+
require('./function-b4e49016.cjs');
|
|
21
|
+
require('./object-dec41ef9.cjs');
|
|
22
|
+
require('./decoding-76e75827.cjs');
|
|
23
|
+
require('./error-0c1f634f.cjs');
|
|
6
24
|
|
|
7
|
-
/**
|
|
8
|
-
* @typedef {{ [EqualityTraitSymbol]:(other:EqualityTrait)=>boolean }} EqualityTrait
|
|
9
|
-
*/
|
|
10
25
|
|
|
11
|
-
/**
|
|
12
|
-
*
|
|
13
|
-
* Utility function to compare any two objects.
|
|
14
|
-
*
|
|
15
|
-
* Note that it is expected that the first parameter is more specific than the latter one.
|
|
16
|
-
*
|
|
17
|
-
* @example js
|
|
18
|
-
* class X { [traits.EqualityTraitSymbol] (other) { return other === this } }
|
|
19
|
-
* class X2 { [traits.EqualityTraitSymbol] (other) { return other === this }, x2 () { return 2 } }
|
|
20
|
-
* // this is fine
|
|
21
|
-
* traits.equals(new X2(), new X())
|
|
22
|
-
* // this is not, because the left type is less specific than the right one
|
|
23
|
-
* traits.equals(new X(), new X2())
|
|
24
|
-
*
|
|
25
|
-
* @template {EqualityTrait} T
|
|
26
|
-
* @param {NoInfer<T>} a
|
|
27
|
-
* @param {T} b
|
|
28
|
-
* @return {boolean}
|
|
29
|
-
*/
|
|
30
|
-
const equals = (a, b) => a === b || a[EqualityTraitSymbol]?.(b) || false;
|
|
31
26
|
|
|
32
|
-
exports.EqualityTraitSymbol = EqualityTraitSymbol;
|
|
33
|
-
exports.equals = equals;
|
|
27
|
+
exports.EqualityTraitSymbol = equality.EqualityTraitSymbol;
|
|
28
|
+
exports.equals = equality.equals;
|
|
29
|
+
exports.FingerprintTraitSymbol = fingerprint.FingerprintTraitSymbol;
|
|
30
|
+
exports.fingerprint = fingerprint.fingerprint;
|
|
34
31
|
//# sourceMappingURL=traits.cjs.map
|