lib0 1.0.0-rc.2 → 1.0.0-rc.21
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/README.md +0 -1315
- package/{types → dist}/buffer.d.ts +2 -10
- package/{types → dist}/delta/delta.d.ts +582 -144
- package/dist/delta/position.d.ts +65 -0
- package/dist/delta/rdt/delta.d.ts +57 -0
- package/dist/delta/rdt/dom.d.ts +102 -0
- package/dist/delta/rdt.d.ts +180 -0
- package/dist/delta/transformer/attr.d.ts +64 -0
- package/dist/delta/transformer/attribution-to-format.d.ts +52 -0
- package/dist/delta/transformer/children.d.ts +69 -0
- package/dist/delta/transformer/conform.d.ts +83 -0
- package/dist/delta/transformer/core.d.ts +189 -0
- package/dist/delta/transformer/full-attributions.d.ts +37 -0
- package/dist/delta/transformer/id.d.ts +2 -0
- package/dist/delta/transformer/inline.d.ts +89 -0
- package/dist/delta/transformer/pipe.d.ts +182 -0
- package/dist/delta/transformer/project.d.ts +223 -0
- package/dist/delta/transformer/rename-attrs.d.ts +75 -0
- package/dist/delta/transformer/rename.d.ts +41 -0
- package/dist/delta/transformer/value.d.ts +92 -0
- package/dist/delta/transformer.d.ts +14 -0
- package/dist/diff/patience.d.ts +25 -0
- package/{types → dist}/environment.d.ts +10 -0
- package/dist/hash/fnv1a.d.ts +11 -0
- package/{types → dist}/schema.d.ts +49 -38
- package/{types → dist}/ts.d.ts +4 -0
- package/dist/webcrypto.d.ts +3 -0
- package/package.json +148 -82
- package/src/bin/0serve.js +11 -3
- package/src/broadcastchannel.js +6 -1
- package/src/buffer.js +35 -25
- package/src/decoding.js +1 -1
- package/src/delta/delta.js +2531 -564
- package/src/delta/position.js +165 -0
- package/src/delta/rdt/delta.js +105 -0
- package/src/delta/rdt/dom.js +307 -0
- package/src/delta/rdt.js +255 -0
- package/src/delta/transformer/attr.js +126 -0
- package/src/delta/transformer/attribution-to-format.js +335 -0
- package/src/delta/transformer/children.js +219 -0
- package/src/delta/transformer/conform.js +401 -0
- package/src/delta/transformer/core.js +323 -0
- package/src/delta/transformer/full-attributions.js +282 -0
- package/src/delta/transformer/id.js +13 -0
- package/src/delta/transformer/inline.js +818 -0
- package/src/delta/transformer/pipe.js +272 -0
- package/src/delta/transformer/project.js +526 -0
- package/src/delta/transformer/rename-attrs.js +152 -0
- package/src/delta/transformer/rename.js +84 -0
- package/src/delta/transformer/value.js +214 -0
- package/src/delta/transformer.js +38 -0
- package/src/diff/patience.js +22 -11
- package/src/dom.js +2 -2
- package/src/encoding.js +1 -1
- package/src/environment.js +15 -0
- package/src/hash/fnv1a.js +82 -0
- package/src/number.js +1 -3
- package/src/performance.node.js +3 -3
- package/src/schema.js +231 -177
- package/src/string.js +3 -5
- package/src/testing.js +1 -1
- package/src/trait/equality.js +1 -1
- package/src/trait/fingerprint.js +1 -1
- package/src/ts.js +11 -0
- package/src/bin/gendocs.js +0 -117
- package/src/component.js +0 -414
- package/src/delta/binding.js +0 -372
- package/src/tree.js +0 -546
- package/types/bin/gendocs.d.ts +0 -3
- package/types/component.d.ts +0 -86
- package/types/delta/binding.d.ts +0 -106
- package/types/diff/patience.d.ts +0 -16
- package/types/tree.d.ts +0 -96
- package/types/webcrypto.d.ts +0 -3
- /package/{types → dist}/array.d.ts +0 -0
- /package/{types → dist}/bin/0ecdsa-generate-keypair.d.ts +0 -0
- /package/{types → dist}/bin/0serve.d.ts +0 -0
- /package/{types → dist}/bin/gentesthtml.d.ts +0 -0
- /package/{types → dist}/binary.d.ts +0 -0
- /package/{types → dist}/broadcastchannel.d.ts +0 -0
- /package/{types → dist}/cache.d.ts +0 -0
- /package/{types → dist}/conditions.d.ts +0 -0
- /package/{types → dist}/crypto/aes-gcm.d.ts +0 -0
- /package/{types → dist}/crypto/common.d.ts +0 -0
- /package/{types → dist}/crypto/ecdsa.d.ts +0 -0
- /package/{types → dist}/crypto/jwt.d.ts +0 -0
- /package/{types → dist}/crypto/rsa-oaep.d.ts +0 -0
- /package/{types → dist}/decoding.d.ts +0 -0
- /package/{types → dist}/diff.d.ts +0 -0
- /package/{types → dist}/dom.d.ts +0 -0
- /package/{types → dist}/encoding.d.ts +0 -0
- /package/{types → dist}/error.d.ts +0 -0
- /package/{types → dist}/eventloop.d.ts +0 -0
- /package/{types → dist}/function.d.ts +0 -0
- /package/{types → dist}/hash/rabin-gf2-polynomial.d.ts +0 -0
- /package/{types → dist}/hash/rabin-uncached.d.ts +0 -0
- /package/{types → dist}/hash/rabin.d.ts +0 -0
- /package/{types → dist}/hash/sha256.d.ts +0 -0
- /package/{types → dist}/hash/sha256.node.d.ts +0 -0
- /package/{types → dist}/indexeddb.d.ts +0 -0
- /package/{types → dist}/indexeddbV2.d.ts +0 -0
- /package/{types → dist}/iterator.d.ts +0 -0
- /package/{types → dist}/json.d.ts +0 -0
- /package/{types → dist}/list.d.ts +0 -0
- /package/{types → dist}/logging.common.d.ts +0 -0
- /package/{types → dist}/logging.d.ts +0 -0
- /package/{types → dist}/logging.node.d.ts +0 -0
- /package/{types → dist}/map.d.ts +0 -0
- /package/{types → dist}/math.d.ts +0 -0
- /package/{types → dist}/metric.d.ts +0 -0
- /package/{types → dist}/mutex.d.ts +0 -0
- /package/{types → dist}/number.d.ts +0 -0
- /package/{types → dist}/object.d.ts +0 -0
- /package/{types → dist}/observable.d.ts +0 -0
- /package/{types → dist}/pair.d.ts +0 -0
- /package/{types → dist}/performance.d.ts +0 -0
- /package/{types → dist}/performance.node.d.ts +0 -0
- /package/{types → dist}/pledge.d.ts +0 -0
- /package/{types → dist}/prng/Mt19937.d.ts +0 -0
- /package/{types → dist}/prng/Xoroshiro128plus.d.ts +0 -0
- /package/{types → dist}/prng/Xorshift32.d.ts +0 -0
- /package/{types → dist}/prng.d.ts +0 -0
- /package/{types → dist}/promise.d.ts +0 -0
- /package/{types → dist}/queue.d.ts +0 -0
- /package/{types → dist}/random.d.ts +0 -0
- /package/{types → dist}/set.d.ts +0 -0
- /package/{types → dist}/sort.d.ts +0 -0
- /package/{types → dist}/statistics.d.ts +0 -0
- /package/{types → dist}/storage.d.ts +0 -0
- /package/{types → dist}/string.d.ts +0 -0
- /package/{types → dist}/symbol.d.ts +0 -0
- /package/{types → dist}/testing.d.ts +0 -0
- /package/{types → dist}/time.d.ts +0 -0
- /package/{types → dist}/trait/equality.d.ts +0 -0
- /package/{types → dist}/trait/fingerprint.d.ts +0 -0
- /package/{types → dist}/trait/traits.d.ts +0 -0
- /package/{types → dist}/url.d.ts +0 -0
- /package/{types → dist}/webcrypto.deno.d.ts +0 -0
- /package/{types → dist}/webcrypto.node.d.ts +0 -0
- /package/{types → dist}/webcrypto.react-native.d.ts +0 -0
- /package/{types → dist}/websocket.d.ts +0 -0
|
@@ -71,6 +71,7 @@ export class Schema<T> implements equalityTraits.EqualityTrait {
|
|
|
71
71
|
* @protected
|
|
72
72
|
*/
|
|
73
73
|
protected static _dilutes: boolean;
|
|
74
|
+
get isSchema(): symbol;
|
|
74
75
|
/**
|
|
75
76
|
* Overwrite this when necessary. By default, we only check the `shape` property which every shape
|
|
76
77
|
* should have.
|
|
@@ -120,8 +121,6 @@ export class Schema<T> implements equalityTraits.EqualityTrait {
|
|
|
120
121
|
* "Always." - Snape, talking about type safety
|
|
121
122
|
*
|
|
122
123
|
* Ensures that a variable is a a specific type. Returns the value, or throws an exception if the assertion check failed.
|
|
123
|
-
* Use this if you know that the type is of a specific type and you just want to convince the type
|
|
124
|
-
* system.
|
|
125
124
|
*
|
|
126
125
|
* Can be useful when defining lambdas: `s.lambda(s.$number, s.$number).expect((n) => n + 1)`
|
|
127
126
|
*
|
|
@@ -129,11 +128,37 @@ export class Schema<T> implements equalityTraits.EqualityTrait {
|
|
|
129
128
|
* @return {o extends T ? T : never}
|
|
130
129
|
*/
|
|
131
130
|
expect(o: T): T extends T ? T : never;
|
|
131
|
+
$type: Schema<Schema<any>>;
|
|
132
132
|
/**
|
|
133
133
|
* @param {object} other
|
|
134
134
|
*/
|
|
135
135
|
[equalityTraits.EqualityTraitSymbol](other: object): boolean;
|
|
136
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* @extends {Schema<any>}
|
|
139
|
+
*/
|
|
140
|
+
export class $Type extends Schema<any> {
|
|
141
|
+
/**
|
|
142
|
+
* @param {string} name
|
|
143
|
+
*/
|
|
144
|
+
constructor(name: string);
|
|
145
|
+
/**
|
|
146
|
+
* @type {string}
|
|
147
|
+
*/
|
|
148
|
+
name: string;
|
|
149
|
+
typeSymbol: symbol;
|
|
150
|
+
/**
|
|
151
|
+
* @param {any} o
|
|
152
|
+
* @param {ValidationError} err
|
|
153
|
+
* @return {o is any}
|
|
154
|
+
*/
|
|
155
|
+
check(o: any, err: ValidationError): o is any;
|
|
156
|
+
$type: Schema<$Type>;
|
|
157
|
+
}
|
|
158
|
+
export function $type<T extends new (...args: any[]) => any>(uniqueName: string, TypeConstructor: T | {
|
|
159
|
+
[K: string | number | symbol]: any;
|
|
160
|
+
} | null): Schema<InstanceType<T>>;
|
|
161
|
+
export const $$type: Schema<$Type>;
|
|
137
162
|
/**
|
|
138
163
|
* @template {(new (...args:any[]) => any) | ((...args:any[]) => any)} Constr
|
|
139
164
|
* @typedef {Constr extends ((...args:any[]) => infer T) ? T : (Constr extends (new (...args:any[]) => any) ? InstanceType<Constr> : never)} Instance
|
|
@@ -182,24 +207,6 @@ export class $Custom extends Schema<any> {
|
|
|
182
207
|
}
|
|
183
208
|
export function $custom(check: (o: any) => boolean): Schema<any>;
|
|
184
209
|
export const $$custom: Schema<$Custom>;
|
|
185
|
-
/**
|
|
186
|
-
* @extends {Schema<{$type: Schema<any>}>}
|
|
187
|
-
*/
|
|
188
|
-
export class $Type extends Schema<{
|
|
189
|
-
$type: Schema<any>;
|
|
190
|
-
}> {
|
|
191
|
-
constructor();
|
|
192
|
-
/**
|
|
193
|
-
* @param {any} o
|
|
194
|
-
* @param {ValidationError} err
|
|
195
|
-
* @return {o is any}
|
|
196
|
-
*/
|
|
197
|
-
check(o: any, err: ValidationError): o is any;
|
|
198
|
-
}
|
|
199
|
-
export function $type(uniqueName: string, version?: number): Schema<{
|
|
200
|
-
$type: Schema<any>;
|
|
201
|
-
}>;
|
|
202
|
-
export const $$type: Schema<$Type>;
|
|
203
210
|
/**
|
|
204
211
|
* @template {Primitive} T
|
|
205
212
|
* @extends {Schema<T>}
|
|
@@ -383,7 +390,7 @@ export class $InstanceOf<T> extends Schema<T> {
|
|
|
383
390
|
}
|
|
384
391
|
export function $instanceOf<T>(c: new (...args: any) => T, check?: ((o: T) => boolean) | null): Schema<T>;
|
|
385
392
|
export const $$instanceOf: Schema<$InstanceOf<unknown>>;
|
|
386
|
-
export const $$schema: Schema<Schema<
|
|
393
|
+
export const $$schema: Schema<Schema<any>>;
|
|
387
394
|
/**
|
|
388
395
|
* @template {Schema<any>[]} Args
|
|
389
396
|
* @typedef {(...args:UnwrapArray<TuplePop<Args>>)=>Unwrap<TupleLast<Args>>} _LArgsToLambdaDef
|
|
@@ -442,6 +449,17 @@ export class $Union<S> extends Schema<S> {
|
|
|
442
449
|
}
|
|
443
450
|
export function $union<T extends Array<any>>(...schemas: T): CastToSchema<$Union<ReadSchemaUnwrapped<T>>>;
|
|
444
451
|
export const $$union: Schema<$Union<any>>;
|
|
452
|
+
export function $<IN>(o: IN): Schema<import("./ts.js").TypeIsAny<IN, any, ReadSchemaUnwrapped<IN>>>;
|
|
453
|
+
/**
|
|
454
|
+
* Assert that a variable is of this specific type.
|
|
455
|
+
* @type {<T>(o:any,schema:Schema<T>) => asserts o is T}
|
|
456
|
+
*/
|
|
457
|
+
export const assert: <T>(o: any, schema: Schema<T>) => asserts o is T;
|
|
458
|
+
/**
|
|
459
|
+
* Assert that a variable is of this specific type.
|
|
460
|
+
* @type {<T>(o:any,schema:Schema<T>) => asserts o is T}
|
|
461
|
+
*/
|
|
462
|
+
export const assertNoCheck: <T>(o: any, schema: Schema<T>) => asserts o is T;
|
|
445
463
|
/**
|
|
446
464
|
* @type {Schema<any>}
|
|
447
465
|
*/
|
|
@@ -489,6 +507,9 @@ export const $$uint8Array: Schema<Schema<Uint8Array>>;
|
|
|
489
507
|
export const $promise: Schema<Promise<unknown>>;
|
|
490
508
|
export const $$promise: Schema<Schema<Uint8Array>>;
|
|
491
509
|
/**
|
|
510
|
+
* Primitive JavaScript types: immutable, non-object value that is stored and compared directly by
|
|
511
|
+
* its value rather than by reference.
|
|
512
|
+
*
|
|
492
513
|
* @type {Schema<Primitive>}
|
|
493
514
|
*/
|
|
494
515
|
export const $primitive: Schema<Primitive>;
|
|
@@ -504,14 +525,6 @@ export const $primitive: Schema<Primitive>;
|
|
|
504
525
|
export const $json: Schema<null | number | string | boolean | JSON[] | {
|
|
505
526
|
[key: string]: JSON;
|
|
506
527
|
}>;
|
|
507
|
-
export function $<IN>(o: IN): Schema<import("./ts.js").TypeIsAny<IN, any, ReadSchemaUnwrapped<IN>>>;
|
|
508
|
-
/**
|
|
509
|
-
* Assert that a variable is of this specific type.
|
|
510
|
-
* The assertion check is only performed in non-production environments.
|
|
511
|
-
*
|
|
512
|
-
* @type {<T>(o:any,schema:Schema<T>) => asserts o is T}
|
|
513
|
-
*/
|
|
514
|
-
export const assert: <T>(o: any, schema: Schema<T>) => asserts o is T;
|
|
515
528
|
/**
|
|
516
529
|
* @todo move this to separate library
|
|
517
530
|
* @template {any} [State=undefined]
|
|
@@ -543,17 +556,14 @@ export class PatternMatcher<State extends unknown = undefined, Patterns extends
|
|
|
543
556
|
/**
|
|
544
557
|
* @param {string} errorMessage
|
|
545
558
|
*/
|
|
546
|
-
error(errorMessage?: string):
|
|
559
|
+
error(errorMessage?: string): PatternMatcherFn<Patterns | Pattern<any, never>, State>;
|
|
547
560
|
/**
|
|
548
|
-
* @return {
|
|
549
|
-
* Patterns extends Pattern<infer In, infer Out> ? (k: State extends undefined ? (o: In) => Out : (o: In, state: State) => Out) => void : never
|
|
550
|
-
* ) extends (k: infer I) => void ? I : never}
|
|
561
|
+
* @return {PatternMatcherFn<Patterns, State>}
|
|
551
562
|
*/
|
|
552
|
-
done():
|
|
563
|
+
done(): PatternMatcherFn<Patterns, State>;
|
|
553
564
|
}
|
|
554
565
|
export function match<State = undefined>(state?: State): PatternMatcher<State extends undefined ? undefined : ReadSchemaUnwrapped<State>>;
|
|
555
|
-
export function random<S>(gen: prng.PRNG, schema: S): ReadSchemaUnwrapped<S>;
|
|
556
|
-
export const ___test: 42;
|
|
566
|
+
export function random<S>(gen: prng.PRNG, schema: S, fallback?: (gen: prng.PRNG, o: Schema<any>) => any): ReadSchemaUnwrapped<S>;
|
|
557
567
|
export type Primitive = string | number | bigint | boolean | null | undefined | symbol;
|
|
558
568
|
export type AnyObject = {
|
|
559
569
|
[k: string | number | symbol]: any;
|
|
@@ -572,16 +582,17 @@ export type $ObjectToType<S extends {
|
|
|
572
582
|
}> = { [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; };
|
|
573
583
|
export type _ObjectDefToSchema<S> = import("./ts.js").Prettify<{ [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; }, 1>;
|
|
574
584
|
export type _LArgsToLambdaDef<Args extends Schema<any>[]> = (...args: UnwrapArray<TuplePop<Args>>) => Unwrap<TupleLast<Args>>;
|
|
585
|
+
export type ReadSchemaUnwrapped<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] ? ((Schemas extends Schema<infer S> ? S : never) | Primitives | (Constructors extends new (...args: any[]) => any ? InstanceType<Constructors> : never) | (Arrs extends any[] ? { [K in keyof Arrs]: ReadSchemaUnwrapped<Arrs[K]>; }[keyof Arrs & number] : never) | (Obj extends object ? _ObjectDefToSchema<{ [K in keyof Obj]: Schema<ReadSchemaUnwrapped<Obj[K]>>; }> : never)) : never;
|
|
586
|
+
export type ReadSchema<IN extends unknown> = Schema<ReadSchemaUnwrapped<IN>>;
|
|
575
587
|
export type JSONArray = JSON[];
|
|
576
588
|
export type JSON = Primitive | JSONArray | {
|
|
577
589
|
[key: string]: JSON;
|
|
578
590
|
};
|
|
579
|
-
export type ReadSchemaUnwrapped<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] ? ((Schemas extends Schema<infer S> ? S : never) | Primitives | (Constructors extends new (...args: any[]) => any ? InstanceType<Constructors> : never) | (Arrs extends any[] ? { [K in keyof Arrs]: ReadSchemaUnwrapped<Arrs[K]>; }[keyof Arrs & number] : never) | (Obj extends object ? _ObjectDefToSchema<{ [K in keyof Obj]: Schema<ReadSchemaUnwrapped<Obj[K]>>; }> : never)) : never;
|
|
580
|
-
export type ReadSchema<IN extends unknown> = Schema<ReadSchemaUnwrapped<IN>>;
|
|
581
591
|
export type Pattern<In, Out> = {
|
|
582
592
|
if: Schema<In>;
|
|
583
593
|
h: (o: In, state?: any) => Out;
|
|
584
594
|
};
|
|
595
|
+
export type PatternMatcherFn<Ps extends Pattern<any, any>, S> = import("./ts.js").UnionToIntersection<Ps extends Pattern<infer In, infer Out> ? [S] extends [undefined] ? (o: In) => Out : (o: In, state: S) => Out : never> & ([S] extends [undefined] ? (o: Ps extends Pattern<infer In, any> ? In : never) => (Ps extends Pattern<any, infer Out> ? Out : never) : (o: Ps extends Pattern<infer In, any> ? In : never, state: S) => (Ps extends Pattern<any, infer Out> ? Out : never));
|
|
585
596
|
import * as equalityTraits from './trait/equality.js';
|
|
586
597
|
/**
|
|
587
598
|
* @extends Schema<never>
|
package/{types → dist}/ts.d.ts
RENAMED
|
@@ -19,6 +19,10 @@ export type KeyOf<Obj extends {
|
|
|
19
19
|
export type PropsRename<OBJ extends { [K in string | number]: any; }, Renames extends {
|
|
20
20
|
[K: string | number]: string | number;
|
|
21
21
|
}> = { [K in keyof OBJ as K extends keyof Renames ? Renames[K] : K extends Renames[keyof Renames] ? never : K]: OBJ[K]; };
|
|
22
|
+
/**
|
|
23
|
+
* Convert a union type to an intersection type.
|
|
24
|
+
*/
|
|
25
|
+
export type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
|
|
22
26
|
/**
|
|
23
27
|
* Merge two objects, keeping only keys present in both with intersected value types.
|
|
24
28
|
* e.g. IntersectObjects<{a:string,b:string|number},{b:string,c:number}> = {b:string}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lib0",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.21",
|
|
4
4
|
"description": "",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -14,125 +14,194 @@
|
|
|
14
14
|
"0ecdsa-generate-keypair": "./src/bin/0ecdsa-generate-keypair.js"
|
|
15
15
|
},
|
|
16
16
|
"files": [
|
|
17
|
-
"
|
|
18
|
-
"!
|
|
17
|
+
"dist/**/*.d.ts",
|
|
18
|
+
"!dist/**/*test.d.ts",
|
|
19
19
|
"src/**/*.js",
|
|
20
|
-
"!src/**/*test.js"
|
|
20
|
+
"!src/**/*test.js",
|
|
21
|
+
"!src/test-setup.js"
|
|
21
22
|
],
|
|
22
23
|
"exports": {
|
|
23
24
|
"./package.json": "./package.json",
|
|
24
25
|
"./array": {
|
|
25
|
-
"types": "./
|
|
26
|
+
"types": "./dist/array.d.ts",
|
|
26
27
|
"default": "./src/array.js"
|
|
27
28
|
},
|
|
28
29
|
"./binary": {
|
|
29
|
-
"types": "./
|
|
30
|
+
"types": "./dist/binary.d.ts",
|
|
30
31
|
"default": "./src/binary.js"
|
|
31
32
|
},
|
|
32
33
|
"./broadcastchannel": {
|
|
33
|
-
"types": "./
|
|
34
|
+
"types": "./dist/broadcastchannel.d.ts",
|
|
34
35
|
"default": "./src/broadcastchannel.js"
|
|
35
36
|
},
|
|
36
37
|
"./buffer": {
|
|
37
|
-
"types": "./
|
|
38
|
+
"types": "./dist/buffer.d.ts",
|
|
38
39
|
"default": "./src/buffer.js"
|
|
39
40
|
},
|
|
40
41
|
"./cache": {
|
|
41
|
-
"types": "./
|
|
42
|
+
"types": "./dist/cache.d.ts",
|
|
42
43
|
"default": "./src/cache.js"
|
|
43
44
|
},
|
|
44
|
-
"./component": {
|
|
45
|
-
"types": "./types/component.d.ts",
|
|
46
|
-
"default": "./src/component.js"
|
|
47
|
-
},
|
|
48
45
|
"./conditions": {
|
|
49
|
-
"types": "./
|
|
46
|
+
"types": "./dist/conditions.d.ts",
|
|
50
47
|
"default": "./src/conditions.js"
|
|
51
48
|
},
|
|
52
49
|
"./crypto/jwt": {
|
|
53
|
-
"types": "./
|
|
50
|
+
"types": "./dist/crypto/jwt.d.ts",
|
|
54
51
|
"default": "./src/crypto/jwt.js"
|
|
55
52
|
},
|
|
56
53
|
"./crypto/aes-gcm": {
|
|
57
|
-
"types": "./
|
|
54
|
+
"types": "./dist/crypto/aes-gcm.d.ts",
|
|
58
55
|
"default": "./src/crypto/aes-gcm.js"
|
|
59
56
|
},
|
|
60
57
|
"./delta": {
|
|
61
|
-
"types": "./
|
|
58
|
+
"types": "./dist/delta/delta.d.ts",
|
|
62
59
|
"default": "./src/delta/delta.js"
|
|
63
60
|
},
|
|
61
|
+
"./delta/transformer": {
|
|
62
|
+
"types": "./dist/delta/transformer.d.ts",
|
|
63
|
+
"default": "./src/delta/transformer.js"
|
|
64
|
+
},
|
|
65
|
+
"./delta/position": {
|
|
66
|
+
"types": "./dist/delta/position.d.ts",
|
|
67
|
+
"default": "./src/delta/position.js"
|
|
68
|
+
},
|
|
69
|
+
"./delta/transformer/inline": {
|
|
70
|
+
"types": "./dist/delta/transformer/inline.d.ts",
|
|
71
|
+
"default": "./src/delta/transformer/inline.js"
|
|
72
|
+
},
|
|
73
|
+
"./delta/transformer/children": {
|
|
74
|
+
"types": "./dist/delta/transformer/children.d.ts",
|
|
75
|
+
"default": "./src/delta/transformer/children.js"
|
|
76
|
+
},
|
|
77
|
+
"./delta/transformer/id": {
|
|
78
|
+
"types": "./dist/delta/transformer/id.d.ts",
|
|
79
|
+
"default": "./src/delta/transformer/id.js"
|
|
80
|
+
},
|
|
81
|
+
"./delta/transformer/rename": {
|
|
82
|
+
"types": "./dist/delta/transformer/rename.d.ts",
|
|
83
|
+
"default": "./src/delta/transformer/rename.js"
|
|
84
|
+
},
|
|
85
|
+
"./delta/transformer/filter": {
|
|
86
|
+
"types": "./dist/delta/transformer/filter.d.ts",
|
|
87
|
+
"default": "./src/delta/transformer/filter.js"
|
|
88
|
+
},
|
|
89
|
+
"./delta/transformer/pipe": {
|
|
90
|
+
"types": "./dist/delta/transformer/pipe.d.ts",
|
|
91
|
+
"default": "./src/delta/transformer/pipe.js"
|
|
92
|
+
},
|
|
93
|
+
"./delta/transformer/attr": {
|
|
94
|
+
"types": "./dist/delta/transformer/attr.d.ts",
|
|
95
|
+
"default": "./src/delta/transformer/attr.js"
|
|
96
|
+
},
|
|
97
|
+
"./delta/transformer/project": {
|
|
98
|
+
"types": "./dist/delta/transformer/project.d.ts",
|
|
99
|
+
"default": "./src/delta/transformer/project.js"
|
|
100
|
+
},
|
|
101
|
+
"./delta/transformer/value": {
|
|
102
|
+
"types": "./dist/delta/transformer/value.d.ts",
|
|
103
|
+
"default": "./src/delta/transformer/value.js"
|
|
104
|
+
},
|
|
105
|
+
"./delta/transformer/rename-attrs": {
|
|
106
|
+
"types": "./dist/delta/transformer/rename-attrs.d.ts",
|
|
107
|
+
"default": "./src/delta/transformer/rename-attrs.js"
|
|
108
|
+
},
|
|
109
|
+
"./delta/transformer/attribution-to-format": {
|
|
110
|
+
"types": "./dist/delta/transformer/attribution-to-format.d.ts",
|
|
111
|
+
"default": "./src/delta/transformer/attribution-to-format.js"
|
|
112
|
+
},
|
|
113
|
+
"./delta/transformer/full-attributions": {
|
|
114
|
+
"types": "./dist/delta/transformer/full-attributions.d.ts",
|
|
115
|
+
"default": "./src/delta/transformer/full-attributions.js"
|
|
116
|
+
},
|
|
117
|
+
"./delta/rdt": {
|
|
118
|
+
"types": "./dist/delta/rdt.d.ts",
|
|
119
|
+
"default": "./src/delta/rdt.js"
|
|
120
|
+
},
|
|
121
|
+
"./delta/rdt/delta": {
|
|
122
|
+
"types": "./dist/delta/rdt/delta.d.ts",
|
|
123
|
+
"default": "./src/delta/rdt/delta.js"
|
|
124
|
+
},
|
|
125
|
+
"./delta/rdt/dom": {
|
|
126
|
+
"types": "./dist/delta/rdt/dom.d.ts",
|
|
127
|
+
"default": "./src/delta/rdt/dom.js"
|
|
128
|
+
},
|
|
64
129
|
"./crypto/ecdsa": {
|
|
65
|
-
"types": "./
|
|
130
|
+
"types": "./dist/crypto/ecdsa.d.ts",
|
|
66
131
|
"default": "./src/crypto/ecdsa.js"
|
|
67
132
|
},
|
|
68
133
|
"./crypto/rsa-oaep": {
|
|
69
|
-
"types": "./
|
|
134
|
+
"types": "./dist/crypto/rsa-oaep.d.ts",
|
|
70
135
|
"default": "./src/crypto/rsa-oaep.js"
|
|
71
136
|
},
|
|
137
|
+
"./hash/fnv1a": {
|
|
138
|
+
"types": "./dist/hash/fnv1a.d.ts",
|
|
139
|
+
"default": "./src/hash/fnv1a.js"
|
|
140
|
+
},
|
|
72
141
|
"./hash/rabin": {
|
|
73
|
-
"types": "./
|
|
142
|
+
"types": "./dist/hash/rabin.d.ts",
|
|
74
143
|
"default": "./src/hash/rabin.js"
|
|
75
144
|
},
|
|
76
145
|
"./hash/sha256": {
|
|
77
|
-
"types": "./
|
|
146
|
+
"types": "./dist/hash/sha256.d.ts",
|
|
78
147
|
"browser": "./src/hash/sha256.js",
|
|
79
148
|
"node": "./src/hash/sha256.node.js",
|
|
80
149
|
"default": "./src/hash/sha256.js"
|
|
81
150
|
},
|
|
82
151
|
"./decoding": {
|
|
83
|
-
"types": "./
|
|
152
|
+
"types": "./dist/decoding.d.ts",
|
|
84
153
|
"default": "./src/decoding.js"
|
|
85
154
|
},
|
|
86
155
|
"./diff/patience": {
|
|
87
|
-
"types": "./
|
|
156
|
+
"types": "./dist/diff/patience.d.ts",
|
|
88
157
|
"default": "./src/diff/patience.js"
|
|
89
158
|
},
|
|
90
159
|
"./diff": {
|
|
91
|
-
"types": "./
|
|
160
|
+
"types": "./dist/diff.d.ts",
|
|
92
161
|
"default": "./src/diff.js"
|
|
93
162
|
},
|
|
94
163
|
"./dom": {
|
|
95
|
-
"types": "./
|
|
164
|
+
"types": "./dist/dom.d.ts",
|
|
96
165
|
"default": "./src/dom.js"
|
|
97
166
|
},
|
|
98
167
|
"./encoding": {
|
|
99
|
-
"types": "./
|
|
168
|
+
"types": "./dist/encoding.d.ts",
|
|
100
169
|
"default": "./src/encoding.js"
|
|
101
170
|
},
|
|
102
171
|
"./environment": {
|
|
103
|
-
"types": "./
|
|
172
|
+
"types": "./dist/environment.d.ts",
|
|
104
173
|
"default": "./src/environment.js"
|
|
105
174
|
},
|
|
106
175
|
"./error": {
|
|
107
|
-
"types": "./
|
|
176
|
+
"types": "./dist/error.d.ts",
|
|
108
177
|
"default": "./src/error.js"
|
|
109
178
|
},
|
|
110
179
|
"./eventloop": {
|
|
111
|
-
"types": "./
|
|
180
|
+
"types": "./dist/eventloop.d.ts",
|
|
112
181
|
"default": "./src/eventloop.js"
|
|
113
182
|
},
|
|
114
183
|
"./function": {
|
|
115
|
-
"types": "./
|
|
184
|
+
"types": "./dist/function.d.ts",
|
|
116
185
|
"default": "./src/function.js"
|
|
117
186
|
},
|
|
118
187
|
"./indexeddb": {
|
|
119
|
-
"types": "./
|
|
188
|
+
"types": "./dist/indexeddb.d.ts",
|
|
120
189
|
"default": "./src/indexeddb.js"
|
|
121
190
|
},
|
|
122
191
|
"./iterator": {
|
|
123
|
-
"types": "./
|
|
192
|
+
"types": "./dist/iterator.d.ts",
|
|
124
193
|
"default": "./src/iterator.js"
|
|
125
194
|
},
|
|
126
195
|
"./json": {
|
|
127
|
-
"types": "./
|
|
196
|
+
"types": "./dist/json.d.ts",
|
|
128
197
|
"default": "./src/json.js"
|
|
129
198
|
},
|
|
130
199
|
"./list": {
|
|
131
|
-
"types": "./
|
|
200
|
+
"types": "./dist/list.d.ts",
|
|
132
201
|
"default": "./src/list.js"
|
|
133
202
|
},
|
|
134
203
|
"./logging": {
|
|
135
|
-
"types": "./
|
|
204
|
+
"types": "./dist/logging.node.d.ts",
|
|
136
205
|
"deno": "./src/logging.node.js",
|
|
137
206
|
"bun": "./src/logging.js",
|
|
138
207
|
"node": "./src/logging.node.js",
|
|
@@ -140,107 +209,103 @@
|
|
|
140
209
|
"default": "./src/logging.js"
|
|
141
210
|
},
|
|
142
211
|
"./map": {
|
|
143
|
-
"types": "./
|
|
212
|
+
"types": "./dist/map.d.ts",
|
|
144
213
|
"default": "./src/map.js"
|
|
145
214
|
},
|
|
146
215
|
"./math": {
|
|
147
|
-
"types": "./
|
|
216
|
+
"types": "./dist/math.d.ts",
|
|
148
217
|
"default": "./src/math.js"
|
|
149
218
|
},
|
|
150
219
|
"./metric": {
|
|
151
|
-
"types": "./
|
|
220
|
+
"types": "./dist/metric.d.ts",
|
|
152
221
|
"default": "./src/metric.js"
|
|
153
222
|
},
|
|
154
223
|
"./mutex": {
|
|
155
|
-
"types": "./
|
|
224
|
+
"types": "./dist/mutex.d.ts",
|
|
156
225
|
"default": "./src/mutex.js"
|
|
157
226
|
},
|
|
158
227
|
"./number": {
|
|
159
|
-
"types": "./
|
|
228
|
+
"types": "./dist/number.d.ts",
|
|
160
229
|
"default": "./src/number.js"
|
|
161
230
|
},
|
|
162
231
|
"./object": {
|
|
163
|
-
"types": "./
|
|
232
|
+
"types": "./dist/object.d.ts",
|
|
164
233
|
"default": "./src/object.js"
|
|
165
234
|
},
|
|
166
235
|
"./observable": {
|
|
167
|
-
"types": "./
|
|
236
|
+
"types": "./dist/observable.d.ts",
|
|
168
237
|
"default": "./src/observable.js"
|
|
169
238
|
},
|
|
170
239
|
"./pair": {
|
|
171
|
-
"types": "./
|
|
240
|
+
"types": "./dist/pair.d.ts",
|
|
172
241
|
"default": "./src/pair.js"
|
|
173
242
|
},
|
|
174
243
|
"./prng": {
|
|
175
|
-
"types": "./
|
|
244
|
+
"types": "./dist/prng.d.ts",
|
|
176
245
|
"default": "./src/prng.js"
|
|
177
246
|
},
|
|
178
247
|
"./promise": {
|
|
179
|
-
"types": "./
|
|
248
|
+
"types": "./dist/promise.d.ts",
|
|
180
249
|
"default": "./src/promise.js"
|
|
181
250
|
},
|
|
182
251
|
"./queue": {
|
|
183
|
-
"types": "./
|
|
252
|
+
"types": "./dist/queue.d.ts",
|
|
184
253
|
"default": "./src/queue.js"
|
|
185
254
|
},
|
|
186
255
|
"./random": {
|
|
187
|
-
"types": "./
|
|
256
|
+
"types": "./dist/random.d.ts",
|
|
188
257
|
"default": "./src/random.js"
|
|
189
258
|
},
|
|
190
259
|
"./set": {
|
|
191
|
-
"types": "./
|
|
260
|
+
"types": "./dist/set.d.ts",
|
|
192
261
|
"default": "./src/set.js"
|
|
193
262
|
},
|
|
194
263
|
"./sort": {
|
|
195
|
-
"types": "./
|
|
264
|
+
"types": "./dist/sort.d.ts",
|
|
196
265
|
"default": "./src/sort.js"
|
|
197
266
|
},
|
|
198
267
|
"./statistics": {
|
|
199
|
-
"types": "./
|
|
268
|
+
"types": "./dist/statistics.d.ts",
|
|
200
269
|
"default": "./src/statistics.js"
|
|
201
270
|
},
|
|
202
271
|
"./storage": {
|
|
203
|
-
"types": "./
|
|
272
|
+
"types": "./dist/storage.d.ts",
|
|
204
273
|
"default": "./src/storage.js"
|
|
205
274
|
},
|
|
206
275
|
"./string": {
|
|
207
|
-
"types": "./
|
|
276
|
+
"types": "./dist/string.d.ts",
|
|
208
277
|
"default": "./src/string.js"
|
|
209
278
|
},
|
|
210
279
|
"./symbol": {
|
|
211
|
-
"types": "./
|
|
280
|
+
"types": "./dist/symbol.d.ts",
|
|
212
281
|
"default": "./src/symbol.js"
|
|
213
282
|
},
|
|
214
283
|
"./traits": {
|
|
215
|
-
"types": "./
|
|
284
|
+
"types": "./dist/trait/traits.d.ts",
|
|
216
285
|
"default": "./src/trait/traits.js"
|
|
217
286
|
},
|
|
218
287
|
"./trait/fingerprint": {
|
|
219
|
-
"types": "./
|
|
288
|
+
"types": "./dist/trait/fingerprint.d.ts",
|
|
220
289
|
"default": "./src/trait/fingerprint.js"
|
|
221
290
|
},
|
|
222
291
|
"./testing": {
|
|
223
|
-
"types": "./
|
|
292
|
+
"types": "./dist/testing.d.ts",
|
|
224
293
|
"default": "./src/testing.js"
|
|
225
294
|
},
|
|
226
295
|
"./time": {
|
|
227
|
-
"types": "./
|
|
296
|
+
"types": "./dist/time.d.ts",
|
|
228
297
|
"default": "./src/time.js"
|
|
229
298
|
},
|
|
230
|
-
"./tree": {
|
|
231
|
-
"types": "./types/tree.d.ts",
|
|
232
|
-
"default": "./src/tree.js"
|
|
233
|
-
},
|
|
234
299
|
"./url": {
|
|
235
|
-
"types": "./
|
|
300
|
+
"types": "./dist/url.d.ts",
|
|
236
301
|
"default": "./src/url.js"
|
|
237
302
|
},
|
|
238
303
|
"./websocket": {
|
|
239
|
-
"types": "./
|
|
304
|
+
"types": "./dist/websocket.d.ts",
|
|
240
305
|
"default": "./src/websocket.js"
|
|
241
306
|
},
|
|
242
307
|
"./webcrypto": {
|
|
243
|
-
"types": "./
|
|
308
|
+
"types": "./dist/webcrypto.d.ts",
|
|
244
309
|
"deno": "./src/webcrypto.deno.js",
|
|
245
310
|
"react-native": "./src/webcrypto.react-native.js",
|
|
246
311
|
"node": "./src/webcrypto.node.js",
|
|
@@ -249,11 +314,11 @@
|
|
|
249
314
|
"default": "./src/webcrypto.js"
|
|
250
315
|
},
|
|
251
316
|
"./ts": {
|
|
252
|
-
"types": "./
|
|
317
|
+
"types": "./dist/ts.d.ts",
|
|
253
318
|
"default": "./src/ts.js"
|
|
254
319
|
},
|
|
255
320
|
"./performance": {
|
|
256
|
-
"types": "./
|
|
321
|
+
"types": "./dist/performance.d.ts",
|
|
257
322
|
"deno": "./src/performance.node.js",
|
|
258
323
|
"bun": "./src/performance.node.js",
|
|
259
324
|
"browser": "./src/performance.js",
|
|
@@ -261,31 +326,32 @@
|
|
|
261
326
|
"default": "./src/performance.js"
|
|
262
327
|
},
|
|
263
328
|
"./schema": {
|
|
264
|
-
"types": "./
|
|
329
|
+
"types": "./dist/schema.d.ts",
|
|
265
330
|
"default": "./src/schema.js"
|
|
266
331
|
}
|
|
267
332
|
},
|
|
268
333
|
"devDependencies": {
|
|
269
|
-
"@types/node": "^
|
|
270
|
-
"c8": "^
|
|
334
|
+
"@types/node": "^26.0.0",
|
|
335
|
+
"c8": "^11.0.0",
|
|
336
|
+
"dpdm": "^4.0.1",
|
|
337
|
+
"jsdom": "^29.1.1",
|
|
271
338
|
"standard": "^17.1.0",
|
|
272
|
-
"typescript": "^
|
|
339
|
+
"typescript": "^6.0.3"
|
|
273
340
|
},
|
|
274
341
|
"scripts": {
|
|
275
|
-
"clean": "rm -rf
|
|
276
|
-
"types": "rm -rf
|
|
277
|
-
"dist": "
|
|
342
|
+
"clean": "rm -rf dist",
|
|
343
|
+
"types": "rm -rf dist && tsc -p tsconfig.build.json",
|
|
344
|
+
"check-dist-types": "tsc -p tsconfig.dist-check.json",
|
|
345
|
+
"dist": "npm run clean && npm run types && npm run check-dist-types",
|
|
278
346
|
"debug": "npm run gentesthtml && node ./src/bin/0serve.js -o test.html",
|
|
279
|
-
"test": "c8 --check-coverage --lines
|
|
347
|
+
"test": "c8 --check-coverage --lines 97 --branches 96 --functions 94 --statements 97 node --unhandled-rejections=strict ./src/test.js",
|
|
348
|
+
"test:deno": "deno run -A src/test.js",
|
|
280
349
|
"test-inspect": "node --inspect-brk --unhandled-rejections=strict ./src/test.js --repetition-time 50",
|
|
281
|
-
"test-extensive": "
|
|
282
|
-
"test:bundle": "esbuild bundle.test.js --bundle --outfile=dist/bundle.test.js --analyze --minify && wc -c dist/bundle.test.js",
|
|
350
|
+
"test-extensive": "node ./src/test.js --repetition-time 1000 --extensive",
|
|
351
|
+
"test:bundle": "esbuild src/bundle.test.js --bundle --outfile=dist/bundle.test.js --analyze --minify && wc -c dist/bundle.test.js",
|
|
283
352
|
"trace-deopt": "clear && node --trace-deopt src/test.js",
|
|
284
353
|
"trace-opt": "clear && node --trace-opt src/test.js",
|
|
285
|
-
"lint": "tsc && standard",
|
|
286
|
-
"gendocs": "node ./bin/gendocs.js",
|
|
287
|
-
"np": "np --test-script dist",
|
|
288
|
-
"version": "npm run clean && npm run dist && git add README.md",
|
|
354
|
+
"lint": "tsc && standard && npx dpdm --exit-code circular:1 --warning false --tree false src/test.js",
|
|
289
355
|
"postpublish": "npm run clean",
|
|
290
356
|
"gentesthtml": "node ./src/bin/gentesthtml.js --script src/test.js > test.html"
|
|
291
357
|
},
|
|
@@ -301,11 +367,11 @@
|
|
|
301
367
|
"homepage": "https://github.com/dmonad/lib0#readme",
|
|
302
368
|
"standard": {
|
|
303
369
|
"ignore": [
|
|
304
|
-
"/
|
|
370
|
+
"/dist",
|
|
305
371
|
"/node_modules"
|
|
306
372
|
]
|
|
307
373
|
},
|
|
308
374
|
"engines": {
|
|
309
|
-
"node": ">=
|
|
375
|
+
"node": ">=22"
|
|
310
376
|
}
|
|
311
377
|
}
|