@aztec/foundation 0.7.10 → 0.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dest/abi/encoder.d.ts.map +1 -1
  2. package/dest/abi/encoder.js +9 -5
  3. package/dest/abi/function_selector.js +1 -1
  4. package/dest/abi/index.d.ts +1 -0
  5. package/dest/abi/index.d.ts.map +1 -1
  6. package/dest/abi/index.js +2 -1
  7. package/dest/abi/utils.d.ts +20 -0
  8. package/dest/abi/utils.d.ts.map +1 -0
  9. package/dest/abi/utils.js +25 -0
  10. package/dest/fields/coordinate.d.ts +5 -5
  11. package/dest/fields/coordinate.js +5 -5
  12. package/dest/fields/fields.d.ts +4 -0
  13. package/dest/fields/fields.d.ts.map +1 -1
  14. package/dest/fields/fields.js +9 -1
  15. package/dest/fifo/memory_fifo.js +2 -2
  16. package/dest/json-rpc/client/json_rpc_client.d.ts.map +1 -1
  17. package/dest/json-rpc/client/json_rpc_client.js +8 -7
  18. package/dest/json-rpc/convert.js +2 -2
  19. package/dest/json-rpc/server/json_proxy.d.ts.map +1 -1
  20. package/dest/json-rpc/server/json_proxy.js +5 -4
  21. package/dest/json-rpc/server/json_rpc_server.d.ts.map +1 -1
  22. package/dest/json-rpc/server/json_rpc_server.js +52 -7
  23. package/dest/log/index.d.ts +4 -4
  24. package/dest/log/index.d.ts.map +1 -1
  25. package/dest/log/index.js +1 -1
  26. package/dest/log/logger.d.ts +7 -3
  27. package/dest/log/logger.d.ts.map +1 -1
  28. package/dest/log/logger.js +36 -16
  29. package/dest/timer/elapsed.d.ts +14 -0
  30. package/dest/timer/elapsed.d.ts.map +1 -0
  31. package/dest/timer/elapsed.js +22 -0
  32. package/dest/timer/index.d.ts +1 -0
  33. package/dest/timer/index.d.ts.map +1 -1
  34. package/dest/timer/index.js +2 -1
  35. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -1
  36. package/dest/transport/dispatch/create_dispatch_fn.js +3 -2
  37. package/dest/transport/transport_client.d.ts.map +1 -1
  38. package/dest/transport/transport_client.js +4 -3
  39. package/dest/wasm/wasm_module.js +4 -4
  40. package/package.json +65 -3
  41. package/src/abi/encoder.ts +8 -4
  42. package/src/abi/function_selector.ts +1 -1
  43. package/src/abi/index.ts +1 -0
  44. package/src/abi/utils.ts +28 -0
  45. package/src/fields/coordinate.ts +5 -5
  46. package/src/fields/fields.ts +10 -0
  47. package/src/fifo/memory_fifo.ts +1 -1
  48. package/src/json-rpc/client/json_rpc_client.ts +7 -6
  49. package/src/json-rpc/convert.ts +2 -2
  50. package/src/json-rpc/server/json_proxy.ts +5 -3
  51. package/src/json-rpc/server/json_rpc_server.ts +50 -6
  52. package/src/log/index.ts +5 -4
  53. package/src/log/logger.ts +45 -19
  54. package/src/timer/elapsed.ts +23 -0
  55. package/src/timer/index.ts +1 -0
  56. package/src/transport/dispatch/create_dispatch_fn.ts +3 -1
  57. package/src/transport/transport_client.ts +3 -2
  58. package/src/wasm/wasm_module.ts +3 -3
  59. package/.eslintrc.cjs +0 -134
  60. package/.prettierrc.json +0 -10
  61. package/.tsbuildinfo +0 -1
  62. package/dest/abi/decoder.test.d.ts +0 -2
  63. package/dest/abi/decoder.test.d.ts.map +0 -1
  64. package/dest/abi/decoder.test.js +0 -70
  65. package/dest/abi/encoder.test.d.ts +0 -2
  66. package/dest/abi/encoder.test.d.ts.map +0 -1
  67. package/dest/abi/encoder.test.js +0 -74
  68. package/dest/async-map/async_map.test.d.ts +0 -2
  69. package/dest/async-map/async_map.test.d.ts.map +0 -1
  70. package/dest/async-map/async_map.test.js +0 -9
  71. package/dest/bigint-buffer/bigint-buffer.test.d.ts +0 -2
  72. package/dest/bigint-buffer/bigint-buffer.test.d.ts.map +0 -1
  73. package/dest/bigint-buffer/bigint-buffer.test.js +0 -18
  74. package/dest/committable/committable.test.d.ts +0 -2
  75. package/dest/committable/committable.test.d.ts.map +0 -1
  76. package/dest/committable/committable.test.js +0 -26
  77. package/dest/crypto/random/index.test.d.ts +0 -2
  78. package/dest/crypto/random/index.test.d.ts.map +0 -1
  79. package/dest/crypto/random/index.test.js +0 -13
  80. package/dest/crypto/sha256/index.test.d.ts +0 -2
  81. package/dest/crypto/sha256/index.test.d.ts.map +0 -1
  82. package/dest/crypto/sha256/index.test.js +0 -11
  83. package/dest/eth-address/eth_address.test.d.ts +0 -2
  84. package/dest/eth-address/eth_address.test.d.ts.map +0 -1
  85. package/dest/eth-address/eth_address.test.js +0 -95
  86. package/dest/fields/coordinate.test.d.ts +0 -2
  87. package/dest/fields/coordinate.test.d.ts.map +0 -1
  88. package/dest/fields/coordinate.test.js +0 -22
  89. package/dest/fields/grumpkin_scalar.test.d.ts +0 -2
  90. package/dest/fields/grumpkin_scalar.test.d.ts.map +0 -1
  91. package/dest/fields/grumpkin_scalar.test.js +0 -45
  92. package/dest/json-rpc/client/json_rpc_client.test.d.ts +0 -2
  93. package/dest/json-rpc/client/json_rpc_client.test.d.ts.map +0 -1
  94. package/dest/json-rpc/client/json_rpc_client.test.js +0 -20
  95. package/dest/json-rpc/convert.test.d.ts +0 -2
  96. package/dest/json-rpc/convert.test.d.ts.map +0 -1
  97. package/dest/json-rpc/convert.test.js +0 -68
  98. package/dest/json-rpc/server/json_rpc_server.test.d.ts +0 -2
  99. package/dest/json-rpc/server/json_rpc_server.test.d.ts.map +0 -1
  100. package/dest/json-rpc/server/json_rpc_server.test.js +0 -22
  101. package/dest/log/log_history.test.d.ts +0 -2
  102. package/dest/log/log_history.test.d.ts.map +0 -1
  103. package/dest/log/log_history.test.js +0 -78
  104. package/dest/mutex/mutex.test.d.ts +0 -9
  105. package/dest/mutex/mutex.test.d.ts.map +0 -1
  106. package/dest/mutex/mutex.test.js +0 -58
  107. package/dest/serialize/buffer_reader.test.d.ts +0 -2
  108. package/dest/serialize/buffer_reader.test.d.ts.map +0 -1
  109. package/dest/serialize/buffer_reader.test.js +0 -156
  110. package/dest/serialize/serialize.test.d.ts +0 -2
  111. package/dest/serialize/serialize.test.d.ts.map +0 -1
  112. package/dest/serialize/serialize.test.js +0 -68
  113. package/dest/wasm/wasm_module.test.d.ts +0 -2
  114. package/dest/wasm/wasm_module.test.d.ts.map +0 -1
  115. package/dest/wasm/wasm_module.test.js +0 -24
  116. package/src/abi/decoder.test.ts +0 -77
  117. package/src/abi/encoder.test.ts +0 -80
  118. package/src/async-map/async_map.test.ts +0 -9
  119. package/src/bigint-buffer/bigint-buffer.test.ts +0 -21
  120. package/src/committable/committable.test.ts +0 -32
  121. package/src/crypto/random/index.test.ts +0 -13
  122. package/src/crypto/sha256/index.test.ts +0 -14
  123. package/src/eth-address/eth_address.test.ts +0 -114
  124. package/src/fields/coordinate.test.ts +0 -26
  125. package/src/fields/grumpkin_scalar.test.ts +0 -55
  126. package/src/json-rpc/client/json_rpc_client.test.ts +0 -21
  127. package/src/json-rpc/convert.test.ts +0 -77
  128. package/src/json-rpc/server/json_rpc_server.test.ts +0 -24
  129. package/src/log/log_history.test.ts +0 -88
  130. package/src/mutex/mutex.test.ts +0 -76
  131. package/src/serialize/buffer_reader.test.ts +0 -176
  132. package/src/serialize/serialize.test.ts +0 -89
  133. package/src/wasm/wasm_module.test.ts +0 -28
  134. package/tsconfig.dest.json +0 -5
  135. package/tsconfig.json +0 -10
@@ -1,95 +0,0 @@
1
- import { EthAddress } from './index.js';
2
- describe('address', () => {
3
- it('should return correct string', () => {
4
- const address = EthAddress.fromString('0xc6d9d2cd449a754c494264e1809c50e34d64562b');
5
- expect(address.toChecksumString()).toBe('0xc6d9d2cD449A754c494264e1809c50e34D64562b');
6
- });
7
- it('should return correct buffer', () => {
8
- const address = EthAddress.fromString('0xc6d9d2cd449a754c494264e1809c50e34d64562b');
9
- expect(address.toBuffer20()).toEqual(Buffer.from('c6d9d2cD449A754c494264e1809c50e34D64562b', 'hex'));
10
- });
11
- it('should return correct 32 byte buffer', () => {
12
- const address = EthAddress.fromString('0xc6d9d2cd449a754c494264e1809c50e34d64562b');
13
- expect(address.toBuffer32()).toEqual(Buffer.from('000000000000000000000000c6d9d2cD449A754c494264e1809c50e34D64562b', 'hex'));
14
- });
15
- it('should create address from 32 byte buffer', () => {
16
- const buffer = Buffer.from('000000000000000000000000c6d9d2cD449A754c494264e1809c50e34D64562b', 'hex');
17
- expect(new EthAddress(buffer)).toEqual(EthAddress.fromString('0xc6d9d2cD449A754c494264e1809c50e34D64562b'));
18
- });
19
- it('should not create address from 32 byte buffer that does not start with 12 0 bytes', () => {
20
- const buffer = Buffer.from('010000000000000000000000c6d9d2cD449A754c494264e1809c50e34D64562b', 'hex');
21
- expect(() => new EthAddress(buffer)).toThrowError();
22
- });
23
- it('should have correct zero address', () => {
24
- expect(EthAddress.ZERO.toString()).toBe('0x0000000000000000000000000000000000000000');
25
- });
26
- it('should check if is zero', () => {
27
- const zero = EthAddress.fromString('0x0000000000000000000000000000000000000000');
28
- expect(zero.isZero()).toBeTruthy();
29
- });
30
- it('should encode and decode as field', () => {
31
- const address = EthAddress.fromString('0xc6d9d2cd449a754c494264e1809c50e34d64562b');
32
- expect(EthAddress.fromField(address.toField())).toEqual(address);
33
- });
34
- describe('isAddress', () => {
35
- it(`should return true for valid prefixed address`, () => {
36
- expect(EthAddress.isAddress('0xc6d9d2cd449a754c494264e1809c50e34d64562b')).toBe(true);
37
- });
38
- it(`should return true for valid unprefixed address`, () => {
39
- expect(EthAddress.isAddress('c6d9d2cd449a754c494264e1809c50e34d64562b')).toBe(true);
40
- });
41
- it(`should return true for valid all uppercase address`, () => {
42
- expect(EthAddress.isAddress('0xC6D9D2CD449A754C494264E1809C50E34D64562B')).toBe(true);
43
- });
44
- it(`should return true for correctly checksummed address`, () => {
45
- expect(EthAddress.isAddress('0xE247A45c287191d435A8a5D72A7C8dc030451E9F')).toBe(true);
46
- });
47
- it(`should return false for badly checksummed address`, () => {
48
- expect(EthAddress.isAddress('0xE247A45C287191d435A8a5D72A7C8dc030451E9F')).toBe(false);
49
- });
50
- it(`should return false for non hex characters`, () => {
51
- expect(EthAddress.isAddress('0xg6d9d2cd449a754c494264e1809c50e34d64562b')).toBe(false);
52
- });
53
- });
54
- describe('checkAddressChecksum', () => {
55
- const tests = [
56
- { value: '0x52908400098527886E0F7030069857D2E4169EE7', is: true },
57
- { value: '0x8617E340B3D01FA5F11F306F4090FD50E238070D', is: true },
58
- { value: '0xde709f2102306220921060314715629080e2fb77', is: true },
59
- { value: '0x27b1fdb04752bbc536007a920d24acb045561c26', is: true },
60
- { value: '0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed', is: true },
61
- { value: '0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359', is: true },
62
- { value: '0xdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB', is: true },
63
- { value: '0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb', is: true },
64
- { value: '0XD1220A0CF47C7B9BE7A2E6BA89F429762E7B9ADB', is: false },
65
- { value: '0xd1220a0cf47c7b9be7a2e6ba89f429762e7b9adb', is: false },
66
- ];
67
- tests.forEach(test => {
68
- it(`should return ${test.is} for address ${test.value}`, () => {
69
- expect(EthAddress.checkAddressChecksum(test.value)).toBe(test.is);
70
- });
71
- });
72
- });
73
- describe('toChecksumAddress', () => {
74
- const tests = [
75
- {
76
- value: '0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed',
77
- is: '0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed',
78
- },
79
- {
80
- value: '0xfb6916095ca1df60bb79ce92ce3ea74c37c5d359',
81
- is: '0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359',
82
- },
83
- {
84
- value: '0xdbf03b407c01e7cd3cbea99509d93f8dddc8c6fb',
85
- is: '0xdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB',
86
- },
87
- ];
88
- tests.forEach(test => {
89
- it(`should return ${test.is} for address ${test.value}`, () => {
90
- expect(EthAddress.toChecksumAddress(test.value)).toBe(test.is);
91
- });
92
- });
93
- });
94
- });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoX2FkZHJlc3MudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldGgtYWRkcmVzcy9ldGhfYWRkcmVzcy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFeEMsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7SUFDdkIsRUFBRSxDQUFDLDhCQUE4QixFQUFFLEdBQUcsRUFBRTtRQUN0QyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDcEYsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDeEYsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUNwRixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMENBQTBDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxHQUFHLEVBQUU7UUFDOUMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0VBQWtFLEVBQUUsS0FBSyxDQUFDLENBQ3ZGLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxHQUFHLEVBQUU7UUFDbkQsTUFB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
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=coordinate.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coordinate.test.d.ts","sourceRoot":"","sources":["../../src/fields/coordinate.test.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- import { toBufferBE } from '../bigint-buffer/index.js';
2
- import { Coordinate } from './coordinate.js';
3
- import { Fr } from './fields.js';
4
- const MAX_256_VALUE = 2n ** 256n - 1n;
5
- describe('coordinate', () => {
6
- it('stores 256 bits in fields', () => {
7
- const max256Value = toBufferBE(MAX_256_VALUE, 32);
8
- const coordinate = Coordinate.fromBuffer(max256Value);
9
- // this returns a buffer containing the bit pattern split across 2 fields
10
- expect(coordinate.toFieldsBuffer()).toEqual(Buffer.concat([Buffer.alloc(1, 0), Buffer.alloc(31, 0xff), Buffer.alloc(31, 0), Buffer.alloc(1, 0xff)]));
11
- // this returns the value in a single 32 byte buffer
12
- expect(coordinate.toBuffer()).toEqual(max256Value);
13
- // this returns the value as a big int
14
- expect(coordinate.toBigInt()).toBe(MAX_256_VALUE);
15
- });
16
- it('can be constructed from a field', () => {
17
- const field = Fr.random();
18
- const coordinate = Coordinate.fromField(field);
19
- expect(coordinate.toBuffer()).toEqual(field.toBuffer());
20
- });
21
- });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0ZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpZWxkcy9jb29yZGluYXRlLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpDLE1BQU0sYUFBYSxHQUFHLEVBQUUsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0FBRXRDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQzFCLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxHQUFHLEVBQUU7UUFDbkMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsRCxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELHlFQUF5RTtRQUN6RSxNQUFNLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUN6QyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUN4RyxDQUFDO1FBQ0Ysb0RBQW9EO1FBQ3BELE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkQsc0NBQXNDO1FBQ3RDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=grumpkin_scalar.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grumpkin_scalar.test.d.ts","sourceRoot":"","sources":["../../src/fields/grumpkin_scalar.test.ts"],"names":[],"mappings":""}
@@ -1,45 +0,0 @@
1
- import { GrumpkinScalar } from './grumpkin_scalar.js';
2
- describe('GrumpkinScalar Serialization', () => {
3
- // Test case for GrumpkinScalar.fromHighLow
4
- it('fromHighLow should serialize and deserialize correctly', () => {
5
- const original = GrumpkinScalar.random();
6
- const high = original.high;
7
- const low = original.low;
8
- const deserialized = GrumpkinScalar.fromHighLow(high, low);
9
- // Check if the deserialized instance is equal to the original
10
- expect(deserialized).toEqual(original);
11
- });
12
- // Test case for GrumpkinScalar.fromBuffer
13
- it('fromBuffer should serialize and deserialize correctly', () => {
14
- const original = GrumpkinScalar.random();
15
- const buffer = original.toBuffer();
16
- const deserialized = GrumpkinScalar.fromBuffer(buffer);
17
- // Check if the deserialized instance is equal to the original
18
- expect(deserialized).toEqual(original);
19
- });
20
- // Test case for GrumpkinScalar.fromString
21
- it('fromString should serialize and deserialize correctly', () => {
22
- const original = GrumpkinScalar.random();
23
- const hexString = original.toString();
24
- const deserialized = GrumpkinScalar.fromString(hexString);
25
- // Check if the deserialized instance is equal to the original
26
- expect(deserialized).toEqual(original);
27
- });
28
- // Test case for GrumpkinScalar.toBuffer
29
- it('toBuffer should serialize and deserialize correctly', () => {
30
- const original = GrumpkinScalar.random();
31
- const buffer = original.toBuffer();
32
- const deserialized = GrumpkinScalar.fromBuffer(buffer);
33
- // Check if the deserialized instance is equal to the original
34
- expect(deserialized).toEqual(original);
35
- });
36
- // Test case for GrumpkinScalar.toString
37
- it('toString should serialize and deserialize correctly', () => {
38
- const original = GrumpkinScalar.random();
39
- const hexString = original.toString();
40
- const deserialized = GrumpkinScalar.fromString(hexString);
41
- // Check if the deserialized instance is equal to the original
42
- expect(deserialized).toEqual(original);
43
- });
44
- });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3J1bXBraW5fc2NhbGFyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmllbGRzL2dydW1wa2luX3NjYWxhci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxRQUFRLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO0lBQzVDLDJDQUEyQztJQUMzQyxFQUFFLENBQUMsd0RBQXdELEVBQUUsR0FBRyxFQUFFO1FBQ2hFLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN6QyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzNCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFFekIsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFM0QsOERBQThEO1FBQzlELE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFSCwwQ0FBMEM7SUFDMUMsRUFBRSxDQUFDLHVEQUF1RCxFQUFFLEdBQUcsRUFBRTtRQUMvRCxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdkQsOERBQThEO1FBQzlELE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFSCwwQ0FBMEM7SUFDMUMsRUFBRSxDQUFDLHVEQUF1RCxFQUFFLEdBQUcsRUFBRTtRQUMvRCxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFMUQsOERBQThEO1FBQzlELE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFSCx3Q0FBd0M7SUFDeEMsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEdBQUcsRUFBRTtRQUM3RCxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdkQsOERBQThEO1FBQzlELE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFSCx3Q0FBd0M7SUFDeEMsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEdBQUcsRUFBRTtRQUM3RCxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFMUQsOERBQThEO1FBQzlELE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=json_rpc_client.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json_rpc_client.test.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/client/json_rpc_client.test.ts"],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- import request from 'supertest';
2
- import { TestNote, TestState } from '../fixtures/test_state.js';
3
- import { JsonRpcServer } from '../server/index.js';
4
- import { createJsonRpcClient } from './json_rpc_client.js';
5
- test('test an RPC function over client', async () => {
6
- const mockFetch = async (host, method, body) => {
7
- const server = new JsonRpcServer(new TestState([new TestNote('a'), new TestNote('b')]), { TestNote }, {}, true);
8
- const result = await request(server.getApp().callback()).post(`/${method}`).send(body);
9
- return JSON.parse(result.text);
10
- };
11
- const client = createJsonRpcClient('', { TestNote }, {}, true, mockFetch);
12
- const result = await client.addNotes([new TestNote('c')]);
13
- expect(result[0]).toBeInstanceOf(TestNote);
14
- expect(result[1]).toBeInstanceOf(TestNote);
15
- expect(result[2]).toBeInstanceOf(TestNote);
16
- expect(result[0].toString()).toBe('a');
17
- expect(result[1].toString()).toBe('b');
18
- expect(result[2].toString()).toBe('c');
19
- });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbl9ycGNfY2xpZW50LnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvanNvbi1ycGMvY2xpZW50L2pzb25fcnBjX2NsaWVudC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLFdBQVcsQ0FBQztBQUVoQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRCxJQUFJLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxJQUFJLEVBQUU7SUFDbEQsTUFBTSxTQUFTLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBRSxNQUFjLEVBQUUsSUFBUyxFQUFFLEVBQUU7UUFDbEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEgsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDLENBQUM7SUFDRixNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBWSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3JGLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMsQ0FBQyJ9
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=convert.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert.test.d.ts","sourceRoot":"","sources":["../../src/json-rpc/convert.test.ts"],"names":[],"mappings":""}
@@ -1,68 +0,0 @@
1
- import { Buffer } from 'buffer';
2
- import { ClassConverter } from './class_converter.js';
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';
6
- import { TestNote } from './fixtures/test_state.js';
7
- const TEST_BASE64 = 'YmFzZTY0IGRlY29kZXI=';
8
- test('test an RPC function over client', () => {
9
- const cc = new ClassConverter({ TestNote });
10
- const buffer = Buffer.from(TEST_BASE64, 'base64');
11
- expect(convertFromJsonObj(cc, convertToJsonObj(cc, buffer)).toString('base64')).toBe(TEST_BASE64);
12
- const note = new TestNote('1');
13
- expect(convertFromJsonObj(cc, convertToJsonObj(cc, note))).toBeInstanceOf(TestNote);
14
- expect(convertFromJsonObj(cc, convertToJsonObj(cc, note)).toString()).toBe('1');
15
- });
16
- test('converts a bigint', () => {
17
- expect(convertBigintsInObj(10n)).toEqual({ type: 'bigint', data: '10' });
18
- expect(convertBigintsInObj({ value: 10n })).toEqual({ value: { type: 'bigint', data: '10' } });
19
- expect(convertBigintsInObj([10n])).toEqual([{ type: 'bigint', data: '10' }]);
20
- });
21
- test('does not convert a string', () => {
22
- expect(convertBigintsInObj('hello')).toEqual('hello');
23
- expect(convertBigintsInObj({ msg: 'hello' })).toEqual({ msg: 'hello' });
24
- });
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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
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=json_rpc_server.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json_rpc_server.test.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/json_rpc_server.test.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- import request from 'supertest';
2
- import { TestNote, TestState } from '../fixtures/test_state.js';
3
- import { JsonRpcServer } from './json_rpc_server.js';
4
- test('test an RPC function with a primitive parameter', async () => {
5
- const server = new JsonRpcServer(new TestState([new TestNote('a'), new TestNote('b')]), { TestNote }, {}, true);
6
- const response = await request(server.getApp().callback())
7
- .post('/getNote')
8
- .send({ params: [0] });
9
- expect(response.status).toBe(200);
10
- expect(response.text).toBe(JSON.stringify({ result: { type: 'TestNote', data: 'a' } }));
11
- });
12
- test('test an RPC function with an array of classes', async () => {
13
- const server = new JsonRpcServer(new TestState([]), { TestNote }, {}, true);
14
- const response = await request(server.getApp().callback())
15
- .post('/addNotes')
16
- .send({
17
- params: [[{ data: 'a' }, { data: 'b' }, { data: 'c' }]],
18
- });
19
- expect(response.status).toBe(200);
20
- expect(response.text).toBe(JSON.stringify({ result: [{ data: 'a' }, { data: 'b' }, { data: 'c' }] }));
21
- });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbl9ycGNfc2VydmVyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvanNvbi1ycGMvc2VydmVyL2pzb25fcnBjX3NlcnZlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLFdBQVcsQ0FBQztBQUVoQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRCxJQUFJLENBQUMsaURBQWlELEVBQUUsS0FBSyxJQUFJLEVBQUU7SUFDakUsTUFBTSxNQUFNLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEgsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3ZELElBQUksQ0FBQyxVQUFVLENBQUM7U0FDaEIsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxRixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQywrQ0FBK0MsRUFBRSxLQUFLLElBQUksRUFBRTtJQUMvRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1RSxNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDdkQsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUNqQixJQUFJLENBQUM7UUFDSixNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7S0FDeEQsQ0FBQyxDQUFDO0lBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDeEcsQ0FBQyxDQUFDLENBQUMifQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=log_history.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log_history.test.d.ts","sourceRoot":"","sources":["../../src/log/log_history.test.ts"],"names":[],"mappings":""}
@@ -1,78 +0,0 @@
1
- import { jest } from '@jest/globals';
2
- import { createDebugOnlyLogger, enableLogs } from './debug.js';
3
- import { LogHistory } from './log_history.js';
4
- jest.useFakeTimers({ doNotFake: ['performance'] });
5
- describe('log history', () => {
6
- let debug;
7
- let logHistory;
8
- const timestemp = new Date().toISOString();
9
- const name = 'test:a';
10
- beforeEach(() => {
11
- debug = createDebugOnlyLogger(name);
12
- enableLogs(name);
13
- logHistory = new LogHistory();
14
- });
15
- it('keeps debug logs', () => {
16
- logHistory.enable();
17
- expect(logHistory.getLogs()).toEqual([]);
18
- debug('0');
19
- debug('1', 2);
20
- debug('2', { key: ['value'] }, Buffer.alloc(2));
21
- expect(logHistory.getLogs()).toEqual([
22
- [timestemp, name, '0'],
23
- [timestemp, name, '1', 2],
24
- [timestemp, name, '2', { key: ['value'] }, Buffer.alloc(2)],
25
- ]);
26
- });
27
- it('does not keep logs if not enabled', () => {
28
- debug('0');
29
- debug('1', 2);
30
- expect(logHistory.getLogs()).toEqual([]);
31
- });
32
- it('returns last n logs', () => {
33
- logHistory.enable();
34
- expect(logHistory.getLogs()).toEqual([]);
35
- debug('0');
36
- debug('1');
37
- debug('2');
38
- debug('3');
39
- debug('4');
40
- expect(logHistory.getLogs(2)).toEqual([
41
- [timestemp, name, '3'],
42
- [timestemp, name, '4'],
43
- ]);
44
- });
45
- it('only keeps logs with enabled namespace', () => {
46
- logHistory.enable();
47
- const name2 = 'test:b';
48
- const debug2 = createDebugOnlyLogger(name2);
49
- debug('0');
50
- debug2('zero');
51
- expect(logHistory.getLogs()).toEqual([[timestemp, name, '0']]);
52
- enableLogs(`${name},${name2}`);
53
- debug('1', 2);
54
- debug2('one', 3);
55
- expect(logHistory.getLogs()).toEqual([
56
- [timestemp, name, '0'],
57
- [timestemp, name, '1', 2],
58
- [timestemp, name2, 'one', 3],
59
- ]);
60
- });
61
- it('clears all logs', () => {
62
- logHistory.enable();
63
- debug('0');
64
- debug('1');
65
- debug('2');
66
- logHistory.clear();
67
- expect(logHistory.getLogs()).toEqual([]);
68
- });
69
- it('clears first n logs', () => {
70
- logHistory.enable();
71
- debug('0');
72
- debug('1');
73
- debug('2');
74
- logHistory.clear(2);
75
- expect(logHistory.getLogs()).toEqual([[timestemp, name, '2']]);
76
- });
77
- });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX2hpc3RvcnkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2cvbG9nX2hpc3RvcnkudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7QUFFbkQsUUFBUSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7SUFDM0IsSUFBSSxLQUE0QixDQUFDO0lBQ2pDLElBQUksVUFBc0IsQ0FBQztJQUMzQixNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzNDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQztJQUV0QixVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUNoQyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7UUFDMUIsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNkLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxH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QUNwQixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7UUFDN0IsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9
@@ -1,9 +0,0 @@
1
- /**
2
- * Sleep function for introducing a delay in the execution of code.
3
- * Returns a Promise that resolves after the specified number of milliseconds.
4
- *
5
- * @param ms - The number of milliseconds to pause the execution.
6
- * @returns A Promise that resolves after the specified delay.
7
- */
8
- export declare function sleep(ms: number): Promise<unknown>;
9
- //# sourceMappingURL=mutex.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutex.test.d.ts","sourceRoot":"","sources":["../../src/mutex/mutex.test.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B"}
@@ -1,58 +0,0 @@
1
- import { jest } from '@jest/globals';
2
- import { Mutex } from './index.js';
3
- /**
4
- * Sleep function for introducing a delay in the execution of code.
5
- * Returns a Promise that resolves after the specified number of milliseconds.
6
- *
7
- * @param ms - The number of milliseconds to pause the execution.
8
- * @returns A Promise that resolves after the specified delay.
9
- */
10
- export function sleep(ms) {
11
- return new Promise(resolve => setTimeout(resolve, ms));
12
- }
13
- describe('mutex', () => {
14
- let db;
15
- let mutex;
16
- const mutexName = 'test-mutex';
17
- const timeout = 500;
18
- const tryLockInterval = 100;
19
- const pingInterval = 200;
20
- beforeEach(() => {
21
- db = {
22
- acquireLock: jest.fn().mockImplementation(() => false),
23
- extendLock: jest.fn().mockImplementation(() => {
24
- db.acquireLock.mockResolvedValueOnce(false);
25
- }),
26
- releaseLock: jest.fn().mockImplementation(() => {
27
- db.acquireLock.mockResolvedValueOnce(true);
28
- }),
29
- };
30
- db.acquireLock.mockResolvedValueOnce(true);
31
- mutex = new Mutex(db, mutexName, timeout, tryLockInterval, pingInterval);
32
- });
33
- it('cannot lock if locked', async () => {
34
- const result = [];
35
- const fn1 = async (runAfterLocked) => {
36
- await mutex.lock();
37
- const pm = runAfterLocked();
38
- await sleep(500);
39
- result.push('fn1');
40
- await mutex.unlock();
41
- return pm;
42
- };
43
- const fn2 = async () => {
44
- await mutex.lock();
45
- result.push('fn2');
46
- await mutex.unlock();
47
- };
48
- await fn1(fn2);
49
- expect(result).toEqual(['fn1', 'fn2']);
50
- });
51
- it('automatically extend the expiry time of the lock', async () => {
52
- await mutex.lock();
53
- await sleep(1000);
54
- await mutex.unlock();
55
- expect(db.extendLock).toHaveBeenCalledWith(mutexName, timeout);
56
- });
57
- });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0ZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tdXRleC9tdXRleC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUduQzs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUFDLEVBQVU7SUFDOUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBVUQsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7SUFDckIsSUFBSSxFQUEwQixDQUFDO0lBQy9CLElBQUksS0FBWSxDQUFDO0lBQ2pCLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQztJQUMvQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDcEIsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDO0lBQzVCLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUV6QixVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsRUFBRSxHQUFHO1lBQ0gsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDdEQsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUU7Z0JBQzNDLEVBQUUsQ0FBQyxXQUFXLENBQUMscUJBQTZCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkQsQ0FBQyxDQUFDO1lBQ0YsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUU7Z0JBQzVDLEVBQUUsQ0FBQyxXQUFXLENBQUMscUJBQTZCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDO1NBQ0ksQ0FBQztRQUNSLEVBQUUsQ0FBQyxXQUFXLENBQUMscUJBQTZCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEQsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLEVBQW1CLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDNUYsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDckMsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFBRSxjQUFtQyxFQUFFLEVBQUU7WUFDeEQsTUFBTSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsTUFBTSxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUM7WUFDNUIsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQixNQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNyQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQztRQUVGLE1BQU0sR0FBRyxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ3JCLE1BQU0sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkIsTUFBTSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDO1FBRUYsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDZixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDaEUsTUFBTSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsTUFBTSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFckIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=buffer_reader.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buffer_reader.test.d.ts","sourceRoot":"","sources":["../../src/serialize/buffer_reader.test.ts"],"names":[],"mappings":""}