@aztec/foundation 0.1.0-alpha46 → 0.1.0-alpha48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/.tsbuildinfo +1 -1
  2. package/dest/abi/abi_coder.d.ts +1 -28
  3. package/dest/abi/abi_coder.d.ts.map +1 -1
  4. package/dest/abi/abi_coder.js +1 -35
  5. package/dest/abi/function_selector.d.ts +73 -0
  6. package/dest/abi/function_selector.d.ts.map +1 -0
  7. package/dest/abi/function_selector.js +100 -0
  8. package/dest/abi/index.d.ts +1 -0
  9. package/dest/abi/index.d.ts.map +1 -1
  10. package/dest/abi/index.js +2 -1
  11. package/dest/json-rpc/class_converter.d.ts +8 -0
  12. package/dest/json-rpc/class_converter.d.ts.map +1 -1
  13. package/dest/json-rpc/class_converter.js +20 -5
  14. package/dest/json-rpc/convert.d.ts.map +1 -1
  15. package/dest/json-rpc/convert.js +34 -3
  16. package/dest/json-rpc/convert.test.js +46 -1
  17. package/dest/json-rpc/fixtures/class_a.d.ts +11 -0
  18. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -0
  19. package/dest/json-rpc/fixtures/class_a.js +17 -0
  20. package/dest/json-rpc/fixtures/class_b.d.ts +11 -0
  21. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -0
  22. package/dest/json-rpc/fixtures/class_b.js +17 -0
  23. package/dest/log/logger.d.ts +8 -1
  24. package/dest/log/logger.d.ts.map +1 -1
  25. package/dest/log/logger.js +16 -4
  26. package/dest/wasm/wasm_module.d.ts.map +1 -1
  27. package/dest/wasm/wasm_module.js +2 -2
  28. package/package.json +1 -1
  29. package/src/abi/abi_coder.ts +1 -38
  30. package/src/abi/function_selector.ts +111 -0
  31. package/src/abi/index.ts +1 -0
  32. package/src/json-rpc/class_converter.ts +18 -4
  33. package/src/json-rpc/convert.test.ts +51 -0
  34. package/src/json-rpc/convert.ts +35 -3
  35. package/src/json-rpc/fixtures/class_a.ts +15 -0
  36. package/src/json-rpc/fixtures/class_b.ts +15 -0
  37. package/src/log/logger.ts +20 -3
  38. package/src/wasm/wasm_module.ts +1 -1
@@ -0,0 +1,73 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import { ABIParameter } from '@aztec/foundation/abi';
3
+ import { Fr } from '@aztec/foundation/fields';
4
+ import { BufferReader } from '@aztec/foundation/serialize';
5
+ /**
6
+ * A function selector is the first 4 bytes of the hash of a function signature.
7
+ */
8
+ export declare class FunctionSelector {
9
+ value: number;
10
+ /**
11
+ * The size of the function selector in bytes.
12
+ */
13
+ static SIZE: number;
14
+ constructor(/** number representing the function selector */ value: number);
15
+ /**
16
+ * Checks if the function selector is empty (all bytes are 0).
17
+ * @returns True if the function selector is empty (all bytes are 0).
18
+ */
19
+ isEmpty(): boolean;
20
+ /**
21
+ * Serialize as a buffer.
22
+ * @returns The buffer.
23
+ */
24
+ toBuffer(): Buffer;
25
+ /**
26
+ * Serialize as a hex string.
27
+ * @returns The string.
28
+ */
29
+ toString(): string;
30
+ /**
31
+ * Checks if this function selector is equal to another.
32
+ * @param other - The other function selector.
33
+ * @returns True if the function selectors are equal.
34
+ */
35
+ equals(other: FunctionSelector): boolean;
36
+ /**
37
+ * Deserializes from a buffer or reader, corresponding to a write in cpp.
38
+ * @param buffer - Buffer or BufferReader to read from.
39
+ * @returns The FunctionSelector.
40
+ */
41
+ static fromBuffer(buffer: Buffer | BufferReader): FunctionSelector;
42
+ /**
43
+ * Returns a new field with the same contents as this EthAddress.
44
+ *
45
+ * @returns An Fr instance.
46
+ */
47
+ toField(): Fr;
48
+ /**
49
+ * Converts a field to function selector.
50
+ * @param fr - The field to convert.
51
+ * @returns The function selector.
52
+ */
53
+ static fromField(fr: Fr): FunctionSelector;
54
+ /**
55
+ * Creates a function selector from a signature.
56
+ * @param signature - Signature of the function to generate the selector for (e.g. "transfer(field,field)").
57
+ * @returns Function selector.
58
+ */
59
+ static fromSignature(signature: string): FunctionSelector;
60
+ /**
61
+ * Creates a function selector for a given function name and parameters.
62
+ * @param name - The name of the function.
63
+ * @param parameters - An array of ABIParameter objects, each containing the type information of a function parameter.
64
+ * @returns A Buffer containing the 4-byte function selector.
65
+ */
66
+ static fromNameAndParameters(name: string, parameters: ABIParameter[]): FunctionSelector;
67
+ /**
68
+ * Creates an empty function selector.
69
+ * @returns An empty function selector.
70
+ */
71
+ static empty(): FunctionSelector;
72
+ }
73
+ //# sourceMappingURL=function_selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function_selector.d.ts","sourceRoot":"","sources":["../../src/abi/function_selector.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D;;GAEG;AACH,qBAAa,gBAAgB;IAMyC,KAAK,EAAE,MAAM;IALjF;;OAEG;IACH,OAAc,IAAI,SAAK;gBAEX,gDAAgD,CAAQ,KAAK,EAAE,MAAM;IAMjF;;;OAGG;IACI,OAAO,IAAI,OAAO;IAIzB;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAIxC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB;IAMlE;;;;OAIG;IACI,OAAO;IAId;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,gBAAgB;IAI1C;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB;IAIzD;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE;IAKrE;;;OAGG;IACH,MAAM,CAAC,KAAK,IAAI,gBAAgB;CAGjC"}
@@ -0,0 +1,100 @@
1
+ import { toBigIntBE, toBufferBE } from '@aztec/foundation/bigint-buffer';
2
+ import { keccak } from '@aztec/foundation/crypto';
3
+ import { Fr } from '@aztec/foundation/fields';
4
+ import { BufferReader } from '@aztec/foundation/serialize';
5
+ /**
6
+ * A function selector is the first 4 bytes of the hash of a function signature.
7
+ */
8
+ export class FunctionSelector {
9
+ constructor(/** number representing the function selector */ value) {
10
+ this.value = value;
11
+ if (value > 2 ** (FunctionSelector.SIZE * 8) - 1) {
12
+ throw new Error(`Function selector must fit in ${FunctionSelector.SIZE} bytes.`);
13
+ }
14
+ }
15
+ /**
16
+ * Checks if the function selector is empty (all bytes are 0).
17
+ * @returns True if the function selector is empty (all bytes are 0).
18
+ */
19
+ isEmpty() {
20
+ return this.value === 0;
21
+ }
22
+ /**
23
+ * Serialize as a buffer.
24
+ * @returns The buffer.
25
+ */
26
+ toBuffer() {
27
+ return toBufferBE(BigInt(this.value), FunctionSelector.SIZE);
28
+ }
29
+ /**
30
+ * Serialize as a hex string.
31
+ * @returns The string.
32
+ */
33
+ toString() {
34
+ return this.toBuffer().toString('hex');
35
+ }
36
+ /**
37
+ * Checks if this function selector is equal to another.
38
+ * @param other - The other function selector.
39
+ * @returns True if the function selectors are equal.
40
+ */
41
+ equals(other) {
42
+ return this.value === other.value;
43
+ }
44
+ /**
45
+ * Deserializes from a buffer or reader, corresponding to a write in cpp.
46
+ * @param buffer - Buffer or BufferReader to read from.
47
+ * @returns The FunctionSelector.
48
+ */
49
+ static fromBuffer(buffer) {
50
+ const reader = BufferReader.asReader(buffer);
51
+ const value = Number(toBigIntBE(reader.readBytes(FunctionSelector.SIZE)));
52
+ return new FunctionSelector(value);
53
+ }
54
+ /**
55
+ * Returns a new field with the same contents as this EthAddress.
56
+ *
57
+ * @returns An Fr instance.
58
+ */
59
+ toField() {
60
+ return new Fr(this.value);
61
+ }
62
+ /**
63
+ * Converts a field to function selector.
64
+ * @param fr - The field to convert.
65
+ * @returns The function selector.
66
+ */
67
+ static fromField(fr) {
68
+ return new FunctionSelector(Number(fr.value));
69
+ }
70
+ /**
71
+ * Creates a function selector from a signature.
72
+ * @param signature - Signature of the function to generate the selector for (e.g. "transfer(field,field)").
73
+ * @returns Function selector.
74
+ */
75
+ static fromSignature(signature) {
76
+ return FunctionSelector.fromBuffer(keccak(Buffer.from(signature)).subarray(0, FunctionSelector.SIZE));
77
+ }
78
+ /**
79
+ * Creates a function selector for a given function name and parameters.
80
+ * @param name - The name of the function.
81
+ * @param parameters - An array of ABIParameter objects, each containing the type information of a function parameter.
82
+ * @returns A Buffer containing the 4-byte function selector.
83
+ */
84
+ static fromNameAndParameters(name, parameters) {
85
+ const signature = name === 'constructor' ? name : `${name}(${parameters.map(p => p.type.kind).join(',')})`;
86
+ return FunctionSelector.fromSignature(signature);
87
+ }
88
+ /**
89
+ * Creates an empty function selector.
90
+ * @returns An empty function selector.
91
+ */
92
+ static empty() {
93
+ return new FunctionSelector(0);
94
+ }
95
+ }
96
+ /**
97
+ * The size of the function selector in bytes.
98
+ */
99
+ FunctionSelector.SIZE = 4;
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25fc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2Z1bmN0aW9uX3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0Q7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQVksZ0RBQWdELENBQVEsS0FBYTtRQUFiLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDL0UsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxnQkFBZ0IsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDO1NBQ2xGO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRO1FBQ04sT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxLQUF1QjtRQUM1QixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBNkI7UUFDN0MsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE9BQU87UUFDWixPQUFPLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBTTtRQUNyQixPQUFPLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFpQjtRQUNwQyxPQUFPLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBWSxFQUFFLFVBQTBCO1FBQ25FLE1BQU0sU0FBUyxHQUFHLElBQUksS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDM0csT0FBTyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFLO1FBQ1YsT0FBTyxJQUFJLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7O0FBbkdEOztHQUVHO0FBQ1cscUJBQUksR0FBRyxDQUFDLENBQUMifQ==
@@ -2,4 +2,5 @@ export * from './abi.js';
2
2
  export * from './abi_coder.js';
3
3
  export * from './encoder.js';
4
4
  export * from './decoder.js';
5
+ export * from './function_selector.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abi/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abi/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC"}
package/dest/abi/index.js CHANGED
@@ -2,4 +2,5 @@ export * from './abi.js';
2
2
  export * from './abi_coder.js';
3
3
  export * from './encoder.js';
4
4
  export * from './decoder.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUMifQ==
5
+ export * from './function_selector.js';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx3QkFBd0IsQ0FBQyJ9
@@ -131,6 +131,14 @@ export declare class ClassConverter {
131
131
  * @returns The class object.
132
132
  */
133
133
  toJsonObj(classObj: any): JsonEncodedClass | StringEncodedClass;
134
+ /**
135
+ * Loads the corresponding type for this class based on constructor first and constructor name if not found.
136
+ * Constructor match works in the event of a minifier changing function names, and constructor name match
137
+ * works in the event of duplicated instances of node modules being loaded (see #1826).
138
+ * @param classObj - Object to lookup in the registered types.
139
+ * @returns Registered type name and encoding.
140
+ */
141
+ private lookupObject;
134
142
  }
135
143
  export {};
136
144
  //# sourceMappingURL=class_converter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"class_converter.d.ts","sourceRoot":"","sources":["../../src/json-rpc/class_converter.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,UAAU,aAAa;IACrB,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAExB;;OAEG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;CAClC;AAED;;;;;;;;;;;;;GAaG;AACH,UAAU,UAAU;IAClB,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAExB;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;CAChC;AAED;;GAEG;AACH,KAAK,OAAO,GAAG,UAAU,GAAG,aAAa,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AACD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA+C;IAC9D,OAAO,CAAC,MAAM,CAA+C;IAE7D;;;;OAIG;gBACS,cAAc,CAAC,EAAE,yBAAyB,EAAE,cAAc,CAAC,EAAE,uBAAuB;IAahG;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa;IAc/D;;;;OAIG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM;IAGlC;;;;OAIG;IACH,iBAAiB,CAAC,GAAG,EAAE,GAAG;IAG1B;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,GAAG;IAW/D;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG,kBAAkB;CAOhE"}
1
+ {"version":3,"file":"class_converter.d.ts","sourceRoot":"","sources":["../../src/json-rpc/class_converter.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,UAAU,aAAa;IACrB,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAExB;;OAEG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;CAClC;AAED;;;;;;;;;;;;;GAaG;AACH,UAAU,UAAU;IAClB,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAExB;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;CAChC;AAED;;GAEG;AACH,KAAK,OAAO,GAAG,UAAU,GAAG,aAAa,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AACD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA+C;IAC9D,OAAO,CAAC,MAAM,CAA+C;IAE7D;;;;OAIG;gBACS,cAAc,CAAC,EAAE,yBAAyB,EAAE,cAAc,CAAC,EAAE,uBAAuB;IAahG;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa;IAc/D;;;;OAIG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM;IAGlC;;;;OAIG;IACH,iBAAiB,CAAC,GAAG,EAAE,GAAG;IAI1B;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,GAAG;IAW/D;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,GAAG,kBAAkB;IAM/D;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;CAOrB"}
@@ -51,7 +51,8 @@ export class ClassConverter {
51
51
  * @returns If it is a registered class.
52
52
  */
53
53
  isRegisteredClass(obj) {
54
- return this.toName.has(obj);
54
+ const name = obj.prototype.constructor.name;
55
+ return this.toName.has(obj) || this.isRegisteredClassName(name);
55
56
  }
56
57
  /**
57
58
  * Convert a JSON-like object to a class object.
@@ -75,11 +76,25 @@ export class ClassConverter {
75
76
  * @returns The class object.
76
77
  */
77
78
  toJsonObj(classObj) {
78
- const result = this.toName.get(classObj.constructor);
79
- assert(result, `Could not find class in lookup.`);
80
- const [type, encoding] = result;
79
+ const { type, encoding } = this.lookupObject(classObj);
81
80
  const data = encoding === 'string' ? classObj.toString() : classObj.toJSON();
82
81
  return { type: type, data };
83
82
  }
83
+ /**
84
+ * Loads the corresponding type for this class based on constructor first and constructor name if not found.
85
+ * Constructor match works in the event of a minifier changing function names, and constructor name match
86
+ * works in the event of duplicated instances of node modules being loaded (see #1826).
87
+ * @param classObj - Object to lookup in the registered types.
88
+ * @returns Registered type name and encoding.
89
+ */
90
+ lookupObject(classObj) {
91
+ const nameResult = this.toName.get(classObj.constructor);
92
+ if (nameResult)
93
+ return { type: nameResult[0], encoding: nameResult[1] };
94
+ const classResult = this.toClass.get(classObj.constructor.name);
95
+ if (classResult)
96
+ return { type: classObj.constructor.name, encoding: classResult[1] };
97
+ throw new Error(`Could not find class ${classObj.constructor.name} in lookup.`);
98
+ }
84
99
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NfY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2pzb24tcnBjL2NsYXNzX2NvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQW1HdkQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFJekI7Ozs7T0FJRztJQUNILFlBQVksY0FBMEMsRUFBRSxjQUF3QztRQVJ4RixZQUFPLEdBQUcsSUFBSSxHQUFHLEVBQW9DLENBQUM7UUFDdEQsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFvQyxDQUFDO1FBUTNELElBQUksY0FBYyxFQUFFO1lBQ2xCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ25EO1NBQ0Y7UUFDRCxJQUFJLGNBQWMsRUFBRTtZQUNsQixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQzthQUNuRDtTQUNGO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFFBQVEsQ0FBQyxJQUFZLEVBQUUsTUFBZSxFQUFFLFFBQXVCO1FBQzdELE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLHFEQUFxRCxDQUFDLENBQUM7UUFDakYsTUFBTSxDQUNKLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxFQUMxRixTQUFTLElBQUksK0NBQStDLENBQzdELENBQUM7UUFDRixNQUFNLENBQ0gsTUFBd0IsQ0FBQyxZQUFZLENBQUMsSUFBSyxNQUFxQixDQUFDLFVBQVUsQ0FBQyxFQUM3RSxTQUFTLElBQUksMERBQTBELENBQ3hFLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHFCQUFxQixDQUFDLElBQVk7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLEdBQVE7UUFDeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxPQUE4QztRQUN2RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO1FBRWpELE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ2xDLElBQUksUUFBUSxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzdELE9BQVEsTUFBeUIsQ0FBQyxVQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdEO2FBQU07WUFDTCxPQUFRLE1BQXNCLENBQUMsUUFBUyxDQUFDLE9BQU8sQ0FBQyxJQUFjLENBQUMsQ0FBQztTQUNsRTtJQUNILENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLFFBQWE7UUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sQ0FBQyxNQUFNLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNoQyxNQUFNLElBQUksR0FBRyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3RSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0NBQ0YifQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NfY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2pzb24tcnBjL2NsYXNzX2NvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQW1HdkQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFJekI7Ozs7T0FJRztJQUNILFlBQVksY0FBMEMsRUFBRSxjQUF3QztRQVJ4RixZQUFPLEdBQUcsSUFBSSxHQUFHLEVBQW9DLENBQUM7UUFDdEQsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFvQyxDQUFDO1FBUTNELElBQUksY0FBYyxFQUFFO1lBQ2xCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ25EO1NBQ0Y7UUFDRCxJQUFJLGNBQWMsRUFBRTtZQUNsQixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQzthQUNuRDtTQUNGO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFFBQVEsQ0FBQyxJQUFZLEVBQUUsTUFBZSxFQUFFLFFBQXVCO1FBQzdELE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLHFEQUFxRCxDQUFDLENBQUM7UUFDakYsTUFBTSxDQUNKLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxFQUMxRixTQUFT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
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/json-rpc/convert.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAS,GAAG,QAM3C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAYrE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAqCpE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAmClE"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/json-rpc/convert.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA2BtD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAS,GAAG,QAM3C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAYrE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAyCpE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAsClE"}
@@ -1,5 +1,27 @@
1
1
  import { Buffer } from 'buffer';
2
2
  import cloneDeepWith from 'lodash.clonedeepwith';
3
+ /**
4
+ * Check prototype chain to determine if an object is 'plain' (not a class instance).
5
+ * @param obj - The object to check.
6
+ * @returns True if the object is 'plain'.
7
+ */
8
+ function isPlainObject(obj) {
9
+ if (obj === null) {
10
+ return false;
11
+ }
12
+ let proto = obj;
13
+ let counter = 0;
14
+ const MAX_PROTOTYPE_CHAIN_LENGTH = 1000; // Adjust as needed
15
+ while (Object.getPrototypeOf(proto) !== null) {
16
+ if (counter >= MAX_PROTOTYPE_CHAIN_LENGTH) {
17
+ // This is a failsafe in case circular prototype chain has been created. It should not be hit
18
+ return false;
19
+ }
20
+ proto = Object.getPrototypeOf(proto);
21
+ counter++;
22
+ }
23
+ return Object.getPrototypeOf(obj) === proto;
24
+ }
3
25
  /**
4
26
  * Recursively looks through an object for bigints and converts them to object format.
5
27
  * @param obj - The object to convert.
@@ -46,8 +68,13 @@ export function convertFromJsonObj(cc, obj) {
46
68
  return BigInt(obj.data);
47
69
  }
48
70
  // Is this a convertible type?
49
- if (typeof obj.type === 'string' && cc.isRegisteredClassName(obj.type)) {
50
- return cc.toClassObj(obj);
71
+ if (typeof obj.type === 'string') {
72
+ if (cc.isRegisteredClassName(obj.type)) {
73
+ return cc.toClassObj(obj);
74
+ }
75
+ else {
76
+ throw new Error(`Object ${obj.type} not registered for serialisation`);
77
+ }
51
78
  }
52
79
  // Is this an array?
53
80
  if (Array.isArray(obj)) {
@@ -100,7 +127,11 @@ export function convertToJsonObj(cc, obj) {
100
127
  }
101
128
  return newObj;
102
129
  }
130
+ // Throw if this is a non-primitive class that was not registered
131
+ if (typeof obj === 'object' && !isPlainObject(obj)) {
132
+ throw new Error(`Object ${obj.constructor.name} not registered for serialisation`);
133
+ }
103
134
  // Leave alone, assume JSON primitive
104
135
  return obj;
105
136
  }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qc29uLXJwYy9jb252ZXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxhQUFhLE1BQU0sc0JBQXNCLENBQUM7QUFJakQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsR0FBUSxFQUFFLEVBQUU7SUFDOUMsT0FBTyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDdkMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1NBQ25EO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFXLEVBQUUsUUFBa0I7SUFDM0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUNuQixHQUFHLEVBQ0gsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDYixPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3ZCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRTtTQUN2QixDQUFDO1FBQ0osQ0FBQyxDQUFDLEtBQUssRUFDWCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNqQixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEVBQWtCLEVBQUUsR0FBUTtJQUM3RCxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDaEIsT0FB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
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qc29uLXJwYy9jb252ZXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxhQUFhLE1BQU0sc0JBQXNCLENBQUM7QUFJakQ7Ozs7R0FJRztBQUNILFNBQVMsYUFBYSxDQUFDLEdBQVE7SUFDN0IsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1FBQ2hCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDaEIsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLENBQUMsbUJBQW1CO0lBQzVELE9BQU8sTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDNUMsSUFBSSxPQUFPLElBQUksMEJBQTBCLEVBQUU7WUFDekMsNkZBQTZGO1lBQzdGLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssQ0FBQztBQUM5QyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsR0FBUSxFQUFFLEVBQUU7SUFDOUMsT0FBTyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDdkMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1NBQ25EO0lBQ0gs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
@@ -1,6 +1,8 @@
1
1
  import { Buffer } from 'buffer';
2
2
  import { ClassConverter } from './class_converter.js';
3
3
  import { convertBigintsInObj, convertFromJsonObj, convertToJsonObj } from './convert.js';
4
+ import { ToStringClass as ToStringClassA } from './fixtures/class_a.js';
5
+ import { ToStringClass as ToStringClassB } from './fixtures/class_b.js';
4
6
  import { TestNote } from './fixtures/test_state.js';
5
7
  const TEST_BASE64 = 'YmFzZTY0IGRlY29kZXI=';
6
8
  test('test an RPC function over client', () => {
@@ -20,4 +22,47 @@ test('does not convert a string', () => {
20
22
  expect(convertBigintsInObj('hello')).toEqual('hello');
21
23
  expect(convertBigintsInObj({ msg: 'hello' })).toEqual({ msg: 'hello' });
22
24
  });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2pzb24tcnBjL2NvbnZlcnQudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXBELE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDO0FBQzNDLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxHQUFHLEVBQUU7SUFDNUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxjQUFjLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xHLE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEYsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsRixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7SUFDN0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN6RSxNQUFNLENBQUMsbUJBQW1CLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvRixNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDL0UsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsMkJBQTJCLEVBQUUsR0FBRyxFQUFFO0lBQ3JDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxNQUFNLENBQUMsbUJBQW1CLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQzFFLENBQUMsQ0FBQyxDQUFDIn0=
25
+ test('converts a registered class', () => {
26
+ const cc = new ClassConverter({ ToStringClass: ToStringClassA });
27
+ const obj = { content: new ToStringClassA('a', 'b') };
28
+ const serialised = convertToJsonObj(cc, obj);
29
+ const deserialised = convertFromJsonObj(cc, serialised);
30
+ expect(deserialised.content).toBeInstanceOf(ToStringClassA);
31
+ expect(deserialised.content.x).toEqual('a');
32
+ expect(deserialised.content.y).toEqual('b');
33
+ });
34
+ test('converts a class by name in the event of duplicate modules being loaded', () => {
35
+ expect(ToStringClassA.prototype.constructor.name).toEqual('ToStringClass');
36
+ expect(ToStringClassB.prototype.constructor.name).toEqual('ToStringClass');
37
+ const cc = new ClassConverter({ ToStringClass: ToStringClassA });
38
+ const obj = { content: new ToStringClassB('a', 'b') };
39
+ const serialised = convertToJsonObj(cc, obj);
40
+ const deserialised = convertFromJsonObj(cc, serialised);
41
+ expect(deserialised.content).toBeInstanceOf(ToStringClassA);
42
+ expect(deserialised.content.x).toEqual('a');
43
+ expect(deserialised.content.y).toEqual('b');
44
+ });
45
+ test('converts a class by constructor instead of name in the event of minified bundle', () => {
46
+ const cc = new ClassConverter({ NotMinifiedToStringClassName: ToStringClassA });
47
+ const obj = { content: new ToStringClassA('a', 'b') };
48
+ const serialised = convertToJsonObj(cc, obj);
49
+ const deserialised = convertFromJsonObj(cc, serialised);
50
+ expect(deserialised.content).toBeInstanceOf(ToStringClassA);
51
+ expect(deserialised.content.x).toEqual('a');
52
+ expect(deserialised.content.y).toEqual('b');
53
+ });
54
+ test('converts a plain object', () => {
55
+ const obj = { a: 10, b: [20, 30], c: 'foo' };
56
+ const cc = new ClassConverter();
57
+ expect(convertFromJsonObj(cc, convertToJsonObj(cc, obj))).toEqual(obj);
58
+ });
59
+ test('refuses to convert to json an unknown class', () => {
60
+ const cc = new ClassConverter();
61
+ expect(() => convertToJsonObj(cc, { content: new ToStringClassA('a', 'b') })).toThrowError(/not registered/);
62
+ });
63
+ test('refuses to convert from json an unknown class', () => {
64
+ const cc = new ClassConverter({ ToStringClass: ToStringClassA });
65
+ const serialised = convertToJsonObj(cc, { content: new ToStringClassA('a', 'b') });
66
+ expect(() => convertFromJsonObj(new ClassConverter(), serialised)).toThrowError(/not registered/);
67
+ });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2pzb24tcnBjL2NvbnZlcnQudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsSUFBSSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxJQUFJLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVwRCxNQUFNLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQztBQUMzQyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsR0FBRyxFQUFFO0lBQzVDLE1BQU0sRUFBRSxHQUFHLElBQUksY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRyxNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixNQUFNLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxD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
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Test class for testing string converter.
3
+ */
4
+ export declare class ToStringClass {
5
+ readonly x: string;
6
+ readonly y: string;
7
+ constructor(/** A value */ x: string, /** Another value */ y: string);
8
+ toString(): string;
9
+ static fromString(value: string): ToStringClass;
10
+ }
11
+ //# sourceMappingURL=class_a.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class_a.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/fixtures/class_a.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,aAAa;aACmB,CAAC,EAAE,MAAM;aAAuC,CAAC,EAAE,MAAM;gBAAxF,cAAc,CAAiB,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAiB,CAAC,EAAE,MAAM;IAEpG,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM;CAIhC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Test class for testing string converter.
3
+ */
4
+ export class ToStringClass {
5
+ constructor(/** A value */ x, /** Another value */ y) {
6
+ this.x = x;
7
+ this.y = y;
8
+ }
9
+ toString() {
10
+ return [this.x, this.y].join('-');
11
+ }
12
+ static fromString(value) {
13
+ const [x, y] = value.split('-');
14
+ return new ToStringClass(x, y);
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NfYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9qc29uLXJwYy9maXh0dXJlcy9jbGFzc19hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFBWSxjQUFjLENBQWlCLENBQVMsRUFBRSxvQkFBb0IsQ0FBaUIsQ0FBUztRQUF6RCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQXVDLE1BQUMsR0FBRCxDQUFDLENBQVE7SUFBRyxDQUFDO0lBRXhHLFFBQVE7UUFDTixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDN0IsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDRiJ9
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Test class for testing string converter.
3
+ */
4
+ export declare class ToStringClass {
5
+ readonly x: string;
6
+ readonly y: string;
7
+ constructor(/** A value */ x: string, /** Another value */ y: string);
8
+ toString(): string;
9
+ static fromString(value: string): ToStringClass;
10
+ }
11
+ //# sourceMappingURL=class_b.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class_b.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/fixtures/class_b.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,aAAa;aACmB,CAAC,EAAE,MAAM;aAAuC,CAAC,EAAE,MAAM;gBAAxF,cAAc,CAAiB,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAiB,CAAC,EAAE,MAAM;IAEpG,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM;CAIhC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Test class for testing string converter.
3
+ */
4
+ export class ToStringClass {
5
+ constructor(/** A value */ x, /** Another value */ y) {
6
+ this.x = x;
7
+ this.y = y;
8
+ }
9
+ toString() {
10
+ return [this.x, this.y].join('-');
11
+ }
12
+ static fromString(value) {
13
+ const [x, y] = value.split('-');
14
+ return new ToStringClass(x, y);
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NfYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9qc29uLXJwYy9maXh0dXJlcy9jbGFzc19iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFBWSxjQUFjLENBQWlCLENBQVMsRUFBRSxvQkFBb0IsQ0FBaUIsQ0FBUztRQUF6RCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQXVDLE1BQUMsR0FBRCxDQUFDLENBQVE7SUFBRyxDQUFDO0lBRXhHLFFBQVE7UUFDTixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDN0IsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDRiJ9
@@ -1,5 +1,5 @@
1
1
  import { LogFn } from './index.js';
2
- declare const LogLevels: readonly ["silent", "fatal", "error", "warn", "info", "debug"];
2
+ declare const LogLevels: readonly ["silent", "error", "warn", "info", "verbose", "debug"];
3
3
  /**
4
4
  * A valid log severity level.
5
5
  */
@@ -23,5 +23,12 @@ export type DebugLogger = LogFn & Logger;
23
23
  * @returns A debug logger.
24
24
  */
25
25
  export declare function createDebugLogger(name: string): DebugLogger;
26
+ /** A callback to capture all logs. */
27
+ export type LogHandler = (level: LogLevel, namespace: string, args: any[]) => void;
28
+ /**
29
+ * Registers a callback for all logs, whether they are emitted in the current log level or not.
30
+ * @param handler - Callback to be called on every log.
31
+ */
32
+ export declare function onLog(handler: LogHandler): void;
26
33
  export {};
27
34
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/log/logger.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,QAAA,MAAM,SAAS,gEAAiE,CAAC;AAGjF;;GAEG;AACH,KAAK,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAK3C;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;KAAG,CAAC,IAAI,QAAQ,GAAG,KAAK;CAAE,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;AAEzC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAa3D"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/log/logger.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,QAAA,MAAM,SAAS,kEAAmE,CAAC;AAGnF;;GAEG;AACH,KAAK,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAK3C;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;KAAG,CAAC,IAAI,QAAQ,GAAG,KAAK;CAAE,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;AAEzC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAa3D;AAED,sCAAsC;AACtC,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAInF;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,UAAU,QAExC"}
@@ -1,7 +1,8 @@
1
1
  import debug from 'debug';
2
2
  import isNode from 'detect-node';
3
3
  import { isatty } from 'tty';
4
- const LogLevels = ['silent', 'fatal', 'error', 'warn', 'info', 'debug'];
4
+ // Matches a subset of Winston log levels
5
+ const LogLevels = ['silent', 'error', 'warn', 'info', 'verbose', 'debug'];
5
6
  const DefaultLogLevel = 'info';
6
7
  const envLogLevel = process.env.LOG_LEVEL?.toLowerCase();
7
8
  const currentLevel = LogLevels.includes(envLogLevel) ? envLogLevel : DefaultLogLevel;
@@ -18,13 +19,21 @@ export function createDebugLogger(name) {
18
19
  debugLogger.enabled = true;
19
20
  const logger = {
20
21
  silent: () => { },
21
- fatal: (...args) => logWithDebug(debugLogger, 'fatal', args),
22
22
  error: (...args) => logWithDebug(debugLogger, 'error', args),
23
23
  warn: (...args) => logWithDebug(debugLogger, 'warn', args),
24
24
  info: (...args) => logWithDebug(debugLogger, 'info', args),
25
+ verbose: (...args) => logWithDebug(debugLogger, 'verbose', args),
25
26
  debug: (...args) => logWithDebug(debugLogger, 'debug', args),
26
27
  };
27
- return Object.assign(debugLogger, logger);
28
+ return Object.assign((...args) => logWithDebug(debugLogger, 'debug', args), logger);
29
+ }
30
+ const logHandlers = [];
31
+ /**
32
+ * Registers a callback for all logs, whether they are emitted in the current log level or not.
33
+ * @param handler - Callback to be called on every log.
34
+ */
35
+ export function onLog(handler) {
36
+ logHandlers.push(handler);
28
37
  }
29
38
  /**
30
39
  * Logs args to npm debug if enabled or log level is debug, console.error otherwise.
@@ -33,6 +42,9 @@ export function createDebugLogger(name) {
33
42
  * @param args - Args to log.
34
43
  */
35
44
  function logWithDebug(debug, level, args) {
45
+ for (const handler of logHandlers) {
46
+ handler(level, debug.namespace, args);
47
+ }
36
48
  if (debug.enabled) {
37
49
  debug(args[0], ...args.slice(1));
38
50
  }
@@ -63,4 +75,4 @@ function printLog(args) {
63
75
  // eslint-disable-next-line no-console
64
76
  console.error(...args);
65
77
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZy9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBSTdCLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQVUsQ0FBQztBQUNqRixNQUFNLGVBQWUsR0FBRyxNQUFlLENBQUM7QUFPeEMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFjLENBQUM7QUFDckUsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7QUFhckY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQVk7SUFDNUMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLElBQUksWUFBWSxLQUFLLE9BQU87UUFBRSxXQUFXLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUV6RCxNQUFNLE1BQU0sR0FBRztRQUNiLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO1FBQ2hCLEtBQUssRUFBRSxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDbkUsS0FBSyxFQUFFLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQztRQUNuRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO1FBQ2pFLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUM7UUFDakUsS0FBSyxFQUFFLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQztLQUNwRSxDQUFDO0lBQ0YsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLFlBQVksQ0FBQyxLQUFxQixFQUFFLEtBQWUsRUFBRSxJQUFXO0lBQ3ZFLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtRQUNqQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2xDO1NBQU0sSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssTUFBTSxFQUFFO1FBQ3pHLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQzlDO0FBQ0gsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxTQUFTLENBQUMsV0FBMkIsRUFBRSxLQUFlO0lBQzdELE1BQU0sVUFBVSxHQUFHLFlBQVksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRSxNQUFNLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQztJQUM5RSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUUsT0FBTyxNQUFNLENBQUM7SUFDekQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFXLENBQUM7SUFDdEUsTUFBTSxTQUFTLEdBQUcsVUFBVSxHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUM7SUFDbkYsT0FBTyxLQUFLLFNBQVMsTUFBTSxNQUFNLFdBQVcsQ0FBQztBQUMvQyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxRQUFRLENBQUMsSUFBVztJQUMzQixzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQ3pCLENBQUMifQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZy9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBSTdCLHlDQUF5QztBQUN6QyxNQUFNLFNBQVMsR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFVLENBQUM7QUFDbkYsTUFBTSxlQUFlLEdBQUcsTUFBZSxDQUFDO0FBT3hDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBYyxDQUFDO0FBQ3JFLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO0FBYXJGOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFZO0lBQzVDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxJQUFJLFlBQVksS0FBSyxPQUFPO1FBQUUsV0FBVyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFFekQsTUFBTSxNQUFNLEdBQUc7UUFDYixNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztRQUNoQixLQUFLLEVBQUUsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQ25FLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUM7UUFDakUsSUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"wasm_module.d.ts","sourceRoot":"","sources":["../../src/wasm/wasm_module.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,KAAK,EAAyB,MAAM,iBAAiB,CAAC;AAG/D;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC;IAEzC;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAEvD;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,qBAAa,UAAW,YAAW,WAAW;IAc1C,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAdlB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAuB;IACxC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,KAAK,CAAQ;IAErB;;;;;OAKG;gBAEO,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,MAAM,EACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,GAAG,EAC7C,UAAU,SAAS;IAMrB;;;OAGG;IACI,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,MAAM;IAG/C;;;;;;OAMG;IACU,IAAI,CAAC,OAAO,SAAK,EAAE,OAAO,SAAO,EAAE,UAAU,GAAE,MAAM,GAAG,IAAoB;IA6CzF;;;OAGG;IACI,OAAO,IAAI,GAAG;IAOrB;;;OAGG;IACI,SAAS;IAIhB;;;OAGG;IACI,SAAS,CAAC,MAAM,EAAE,KAAK;IAQ9B;;;;;OAKG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,MAAM;IAa/C;;;OAGG;IACI,YAAY,IAAI,WAAW,CAAC,MAAM;IAGzC;;;OAGG;IACI,SAAS,IAAI,UAAU;IAQ9B;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIxB;;;;;OAKG;IACI,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU;IAI7D;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU;IAOlD;;;;OAIG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAQrC;;;;;OAKG;IACU,OAAO;IAIpB;;OAEG;IACI,OAAO;CAMf"}
1
+ {"version":3,"file":"wasm_module.d.ts","sourceRoot":"","sources":["../../src/wasm/wasm_module.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,KAAK,EAAyB,MAAM,iBAAiB,CAAC;AAG/D;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC;IAEzC;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAEvD;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,qBAAa,UAAW,YAAW,WAAW;IAc1C,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAdlB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAuB;IACxC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,KAAK,CAAQ;IAErB;;;;;OAKG;gBAEO,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,MAAM,EACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,GAAG,EAC7C,UAAU,SAAe;IAM3B;;;OAGG;IACI,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,MAAM;IAG/C;;;;;;OAMG;IACU,IAAI,CAAC,OAAO,SAAK,EAAE,OAAO,SAAO,EAAE,UAAU,GAAE,MAAM,GAAG,IAAoB;IA6CzF;;;OAGG;IACI,OAAO,IAAI,GAAG;IAOrB;;;OAGG;IACI,SAAS;IAIhB;;;OAGG;IACI,SAAS,CAAC,MAAM,EAAE,KAAK;IAQ9B;;;;;OAKG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,MAAM;IAa/C;;;OAGG;IACI,YAAY,IAAI,WAAW,CAAC,MAAM;IAGzC;;;OAGG;IACI,SAAS,IAAI,UAAU;IAQ9B;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIxB;;;;;OAKG;IACI,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU;IAI7D;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU;IAOlD;;;;OAIG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAQrC;;;;;OAKG;IACU,OAAO;IAIpB;;OAEG;IACI,OAAO;CAMf"}