forked from quic-issues/427e7578-d7bf-49c8-aee9-2dd999e25316
implemented frontend including separate message system; started to implement backend
This commit is contained in:
6
yjs-poll/node_modules/lib0/trait/equality.d.ts
generated
vendored
Normal file
6
yjs-poll/node_modules/lib0/trait/equality.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
export const EqualityTraitSymbol: unique symbol;
|
||||
export function equals<T extends EqualityTrait>(a: NoInfer<T>, b: T): boolean;
|
||||
export type EqualityTrait = {
|
||||
[EqualityTraitSymbol]: (other: EqualityTrait) => boolean;
|
||||
};
|
||||
//# sourceMappingURL=equality.d.ts.map
|
||||
1
yjs-poll/node_modules/lib0/trait/equality.d.ts.map
generated
vendored
Normal file
1
yjs-poll/node_modules/lib0/trait/equality.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"equality.d.ts","sourceRoot":"","sources":["equality.js"],"names":[],"mappings":"AAAA,gDAAqD;AAyB9C,uBALsB,CAAC,SAAhB,aAAc,KACjB,OAAO,CAAC,CAAC,CAAC,KACV,CAAC,GACA,OAAO,CAEgE;4BAtBtE;IAAE,CAAC,mBAAmB,CAAC,EAAC,CAAC,KAAK,EAAC,aAAa,KAAG,OAAO,CAAA;CAAE"}
|
||||
26
yjs-poll/node_modules/lib0/trait/equality.js
generated
vendored
Normal file
26
yjs-poll/node_modules/lib0/trait/equality.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
export const EqualityTraitSymbol = Symbol('Equality')
|
||||
|
||||
/**
|
||||
* @typedef {{ [EqualityTraitSymbol]:(other:EqualityTrait)=>boolean }} EqualityTrait
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* Utility function to compare any two objects.
|
||||
*
|
||||
* Note that it is expected that the first parameter is more specific than the latter one.
|
||||
*
|
||||
* @example js
|
||||
* class X { [traits.EqualityTraitSymbol] (other) { return other === this } }
|
||||
* class X2 { [traits.EqualityTraitSymbol] (other) { return other === this }, x2 () { return 2 } }
|
||||
* // this is fine
|
||||
* traits.equals(new X2(), new X())
|
||||
* // this is not, because the left type is less specific than the right one
|
||||
* traits.equals(new X(), new X2())
|
||||
*
|
||||
* @template {EqualityTrait} T
|
||||
* @param {NoInfer<T>} a
|
||||
* @param {T} b
|
||||
* @return {boolean}
|
||||
*/
|
||||
export const equals = (a, b) => a === b || !!a?.[EqualityTraitSymbol]?.(b) || false
|
||||
13
yjs-poll/node_modules/lib0/trait/fingerprint.d.ts
generated
vendored
Normal file
13
yjs-poll/node_modules/lib0/trait/fingerprint.d.ts
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
export const FingerprintTraitSymbol: unique symbol;
|
||||
export function fingerprint(a: Fingerprintable): string;
|
||||
/**
|
||||
* When implementing this trait, it is recommended to write some sort of "magic number" first to
|
||||
* ensure that different types of objects don't have the same fingerprint.
|
||||
*
|
||||
* The recommended pracice is to generate a random u32 number as your magic number. e.g. using
|
||||
* `console.log(random.uint32().toString(16))`
|
||||
*/
|
||||
export type Fingerprintable = {
|
||||
[FingerprintTraitSymbol]: () => string;
|
||||
} | import("../encoding.js").AnyEncodable;
|
||||
//# sourceMappingURL=fingerprint.d.ts.map
|
||||
1
yjs-poll/node_modules/lib0/trait/fingerprint.d.ts.map
generated
vendored
Normal file
1
yjs-poll/node_modules/lib0/trait/fingerprint.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["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"}
|
||||
21
yjs-poll/node_modules/lib0/trait/fingerprint.js
generated
vendored
Normal file
21
yjs-poll/node_modules/lib0/trait/fingerprint.js
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
import * as encoding from '../encoding.js'
|
||||
import * as rabin from '../hash/rabin.js'
|
||||
import * as buffer from '../buffer.js'
|
||||
|
||||
export const FingerprintTraitSymbol = Symbol('Fingerprint')
|
||||
|
||||
/**
|
||||
* When implementing this trait, it is recommended to write some sort of "magic number" first to
|
||||
* ensure that different types of objects don't have the same fingerprint.
|
||||
*
|
||||
* The recommended pracice is to generate a random u32 number as your magic number. e.g. using
|
||||
* `console.log(random.uint32().toString(16))`
|
||||
*
|
||||
* @typedef {{ [FingerprintTraitSymbol]:()=>string } | import('../encoding.js').AnyEncodable} Fingerprintable
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param {Fingerprintable} a
|
||||
* @return {string}
|
||||
*/
|
||||
export const fingerprint = a => (a != null && /** @type {any} */ (a)[FingerprintTraitSymbol]?.()) || buffer.toBase64(rabin.fingerprint(rabin.StandardIrreducible128, encoding.encode(encoder => { encoding.writeUint32(encoder, 0x8de1c475); encoding.writeAny(encoder, a) })))
|
||||
3
yjs-poll/node_modules/lib0/trait/traits.d.ts
generated
vendored
Normal file
3
yjs-poll/node_modules/lib0/trait/traits.d.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export * from "./equality.js";
|
||||
export * from "./fingerprint.js";
|
||||
//# sourceMappingURL=traits.d.ts.map
|
||||
1
yjs-poll/node_modules/lib0/trait/traits.d.ts.map
generated
vendored
Normal file
1
yjs-poll/node_modules/lib0/trait/traits.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["traits.js"],"names":[],"mappings":""}
|
||||
2
yjs-poll/node_modules/lib0/trait/traits.js
generated
vendored
Normal file
2
yjs-poll/node_modules/lib0/trait/traits.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export * from './equality.js'
|
||||
export * from './fingerprint.js'
|
||||
5
yjs-poll/node_modules/lib0/trait/traits.test.d.ts
generated
vendored
Normal file
5
yjs-poll/node_modules/lib0/trait/traits.test.d.ts
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
export function testEqualityTrait1(_tc: t.TestCase): void;
|
||||
export function testEqualityTrait2(_tc: t.TestCase): void;
|
||||
export function testFingerprintTrait(): void;
|
||||
import * as t from '../testing.js';
|
||||
//# sourceMappingURL=traits.test.d.ts.map
|
||||
1
yjs-poll/node_modules/lib0/trait/traits.test.d.ts.map
generated
vendored
Normal file
1
yjs-poll/node_modules/lib0/trait/traits.test.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"traits.test.d.ts","sourceRoot":"","sources":["traits.test.js"],"names":[],"mappings":"AAQO,wCAFI,CAAC,CAAC,QAAQ,QAwCpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QA2BpB;AAEM,6CAMN;mBApFkB,eAAe"}
|
||||
Reference in New Issue
Block a user