@aztec/foundation 0.7.0 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Dockerfile +15 -0
- package/package.json +1 -1
- package/src/abi/abi.ts +1 -1
- package/src/abi/decoder.ts +1 -1
- package/.tsbuildinfo +0 -1
- package/dest/abi/abi.d.ts +0 -232
- package/dest/abi/abi.d.ts.map +0 -1
- package/dest/abi/abi.js +0 -37
- package/dest/abi/abi_coder.d.ts +0 -8
- package/dest/abi/abi_coder.d.ts.map +0 -1
- package/dest/abi/abi_coder.js +0 -24
- package/dest/abi/decoder.d.ts +0 -57
- package/dest/abi/decoder.d.ts.map +0 -1
- package/dest/abi/decoder.js +0 -149
- package/dest/abi/decoder.test.d.ts +0 -2
- package/dest/abi/decoder.test.d.ts.map +0 -1
- package/dest/abi/decoder.test.js +0 -70
- package/dest/abi/encoder.d.ts +0 -10
- package/dest/abi/encoder.d.ts.map +0 -1
- package/dest/abi/encoder.js +0 -89
- package/dest/abi/encoder.test.d.ts +0 -2
- package/dest/abi/encoder.test.d.ts.map +0 -1
- package/dest/abi/encoder.test.js +0 -74
- package/dest/abi/function_selector.d.ts +0 -73
- package/dest/abi/function_selector.d.ts.map +0 -1
- package/dest/abi/function_selector.js +0 -104
- package/dest/abi/index.d.ts +0 -6
- package/dest/abi/index.d.ts.map +0 -1
- package/dest/abi/index.js +0 -6
- package/dest/async-map/async_map.test.d.ts +0 -2
- package/dest/async-map/async_map.test.d.ts.map +0 -1
- package/dest/async-map/async_map.test.js +0 -9
- package/dest/async-map/index.d.ts +0 -13
- package/dest/async-map/index.d.ts.map +0 -1
- package/dest/async-map/index.js +0 -19
- package/dest/aztec-address/index.d.ts +0 -114
- package/dest/aztec-address/index.d.ts.map +0 -1
- package/dest/aztec-address/index.js +0 -148
- package/dest/bigint-buffer/bigint-buffer.test.d.ts +0 -2
- package/dest/bigint-buffer/bigint-buffer.test.d.ts.map +0 -1
- package/dest/bigint-buffer/bigint-buffer.test.js +0 -18
- package/dest/bigint-buffer/index.d.ts +0 -35
- package/dest/bigint-buffer/index.d.ts.map +0 -1
- package/dest/bigint-buffer/index.js +0 -68
- package/dest/collection/array.d.ts +0 -30
- package/dest/collection/array.d.ts.map +0 -1
- package/dest/collection/array.js +0 -47
- package/dest/collection/index.d.ts +0 -2
- package/dest/collection/index.d.ts.map +0 -1
- package/dest/collection/index.js +0 -2
- package/dest/committable/committable.d.ts +0 -28
- package/dest/committable/committable.d.ts.map +0 -1
- package/dest/committable/committable.js +0 -41
- package/dest/committable/committable.test.d.ts +0 -2
- package/dest/committable/committable.test.d.ts.map +0 -1
- package/dest/committable/committable.test.js +0 -26
- package/dest/committable/index.d.ts +0 -2
- package/dest/committable/index.d.ts.map +0 -1
- package/dest/committable/index.js +0 -2
- package/dest/crypto/index.d.ts +0 -4
- package/dest/crypto/index.d.ts.map +0 -1
- package/dest/crypto/index.js +0 -4
- package/dest/crypto/keccak/index.d.ts +0 -20
- package/dest/crypto/keccak/index.d.ts.map +0 -1
- package/dest/crypto/keccak/index.js +0 -31
- package/dest/crypto/random/index.d.ts +0 -3
- package/dest/crypto/random/index.d.ts.map +0 -1
- package/dest/crypto/random/index.js +0 -36
- package/dest/crypto/random/index.test.d.ts +0 -2
- package/dest/crypto/random/index.test.d.ts.map +0 -1
- package/dest/crypto/random/index.test.js +0 -13
- package/dest/crypto/sha256/index.d.ts +0 -11
- package/dest/crypto/sha256/index.d.ts.map +0 -1
- package/dest/crypto/sha256/index.js +0 -14
- package/dest/crypto/sha256/index.test.d.ts +0 -2
- package/dest/crypto/sha256/index.test.d.ts.map +0 -1
- package/dest/crypto/sha256/index.test.js +0 -11
- package/dest/errors/index.d.ts +0 -8
- package/dest/errors/index.d.ts.map +0 -1
- package/dest/errors/index.js +0 -8
- package/dest/eth-address/eth_address.test.d.ts +0 -2
- package/dest/eth-address/eth_address.test.d.ts.map +0 -1
- package/dest/eth-address/eth_address.test.js +0 -95
- package/dest/eth-address/index.d.ts +0 -144
- package/dest/eth-address/index.d.ts.map +0 -1
- package/dest/eth-address/index.js +0 -228
- package/dest/fields/coordinate.d.ts +0 -67
- package/dest/fields/coordinate.d.ts.map +0 -1
- package/dest/fields/coordinate.js +0 -95
- package/dest/fields/coordinate.test.d.ts +0 -2
- package/dest/fields/coordinate.test.d.ts.map +0 -1
- package/dest/fields/coordinate.test.js +0 -22
- package/dest/fields/fields.d.ts +0 -177
- package/dest/fields/fields.d.ts.map +0 -1
- package/dest/fields/fields.js +0 -219
- package/dest/fields/grumpkin_scalar.d.ts +0 -96
- package/dest/fields/grumpkin_scalar.d.ts.map +0 -1
- package/dest/fields/grumpkin_scalar.js +0 -125
- package/dest/fields/grumpkin_scalar.test.d.ts +0 -2
- package/dest/fields/grumpkin_scalar.test.d.ts.map +0 -1
- package/dest/fields/grumpkin_scalar.test.js +0 -45
- package/dest/fields/index.d.ts +0 -5
- package/dest/fields/index.d.ts.map +0 -1
- package/dest/fields/index.js +0 -5
- package/dest/fields/point.d.ts +0 -105
- package/dest/fields/point.d.ts.map +0 -1
- package/dest/fields/point.js +0 -125
- package/dest/fifo/bounded_serial_queue.d.ts +0 -56
- package/dest/fifo/bounded_serial_queue.d.ts.map +0 -1
- package/dest/fifo/bounded_serial_queue.js +0 -94
- package/dest/fifo/index.d.ts +0 -5
- package/dest/fifo/index.d.ts.map +0 -1
- package/dest/fifo/index.js +0 -5
- package/dest/fifo/memory_fifo.d.ts +0 -55
- package/dest/fifo/memory_fifo.d.ts.map +0 -1
- package/dest/fifo/memory_fifo.js +0 -109
- package/dest/fifo/semaphore.d.ts +0 -23
- package/dest/fifo/semaphore.d.ts.map +0 -1
- package/dest/fifo/semaphore.js +0 -30
- package/dest/fifo/serial_queue.d.ts +0 -48
- package/dest/fifo/serial_queue.d.ts.map +0 -1
- package/dest/fifo/serial_queue.js +0 -74
- package/dest/json-rpc/class_converter.d.ts +0 -144
- package/dest/json-rpc/class_converter.d.ts.map +0 -1
- package/dest/json-rpc/class_converter.js +0 -100
- package/dest/json-rpc/client/index.d.ts +0 -2
- package/dest/json-rpc/client/index.d.ts.map +0 -1
- package/dest/json-rpc/client/index.js +0 -2
- package/dest/json-rpc/client/json_rpc_client.d.ts +0 -29
- package/dest/json-rpc/client/json_rpc_client.d.ts.map +0 -1
- package/dest/json-rpc/client/json_rpc_client.js +0 -104
- package/dest/json-rpc/client/json_rpc_client.test.d.ts +0 -2
- package/dest/json-rpc/client/json_rpc_client.test.d.ts.map +0 -1
- package/dest/json-rpc/client/json_rpc_client.test.js +0 -20
- package/dest/json-rpc/convert.d.ts +0 -28
- package/dest/json-rpc/convert.d.ts.map +0 -1
- package/dest/json-rpc/convert.js +0 -139
- package/dest/json-rpc/convert.test.d.ts +0 -2
- package/dest/json-rpc/convert.test.d.ts.map +0 -1
- package/dest/json-rpc/convert.test.js +0 -68
- package/dest/json-rpc/fixtures/class_a.d.ts +0 -11
- package/dest/json-rpc/fixtures/class_a.d.ts.map +0 -1
- package/dest/json-rpc/fixtures/class_a.js +0 -17
- package/dest/json-rpc/fixtures/class_b.d.ts +0 -11
- package/dest/json-rpc/fixtures/class_b.d.ts.map +0 -1
- package/dest/json-rpc/fixtures/class_b.js +0 -17
- package/dest/json-rpc/fixtures/test_state.d.ts +0 -47
- package/dest/json-rpc/fixtures/test_state.d.ts.map +0 -1
- package/dest/json-rpc/fixtures/test_state.js +0 -62
- package/dest/json-rpc/index.d.ts +0 -3
- package/dest/json-rpc/index.d.ts.map +0 -1
- package/dest/json-rpc/index.js +0 -3
- package/dest/json-rpc/js_utils.d.ts +0 -13
- package/dest/json-rpc/js_utils.d.ts.map +0 -1
- package/dest/json-rpc/js_utils.js +0 -18
- package/dest/json-rpc/server/index.d.ts +0 -3
- package/dest/json-rpc/server/index.d.ts.map +0 -1
- package/dest/json-rpc/server/index.js +0 -3
- package/dest/json-rpc/server/json_proxy.d.ts +0 -18
- package/dest/json-rpc/server/json_proxy.d.ts.map +0 -1
- package/dest/json-rpc/server/json_proxy.js +0 -36
- package/dest/json-rpc/server/json_rpc_server.d.ts +0 -34
- package/dest/json-rpc/server/json_rpc_server.d.ts.map +0 -1
- package/dest/json-rpc/server/json_rpc_server.js +0 -133
- package/dest/json-rpc/server/json_rpc_server.test.d.ts +0 -2
- package/dest/json-rpc/server/json_rpc_server.test.d.ts.map +0 -1
- package/dest/json-rpc/server/json_rpc_server.test.js +0 -22
- package/dest/log/console.d.ts +0 -11
- package/dest/log/console.d.ts.map +0 -1
- package/dest/log/console.js +0 -38
- package/dest/log/debug.d.ts +0 -43
- package/dest/log/debug.d.ts.map +0 -1
- package/dest/log/debug.js +0 -75
- package/dest/log/index.d.ts +0 -9
- package/dest/log/index.d.ts.map +0 -1
- package/dest/log/index.js +0 -5
- package/dest/log/log_history.d.ts +0 -31
- package/dest/log/log_history.d.ts.map +0 -1
- package/dest/log/log_history.js +0 -42
- package/dest/log/log_history.test.d.ts +0 -2
- package/dest/log/log_history.test.d.ts.map +0 -1
- package/dest/log/log_history.test.js +0 -78
- package/dest/log/logger.d.ts +0 -34
- package/dest/log/logger.d.ts.map +0 -1
- package/dest/log/logger.js +0 -78
- package/dest/mutex/index.d.ts +0 -53
- package/dest/mutex/index.d.ts.map +0 -1
- package/dest/mutex/index.js +0 -74
- package/dest/mutex/mutex.test.d.ts +0 -9
- package/dest/mutex/mutex.test.d.ts.map +0 -1
- package/dest/mutex/mutex.test.js +0 -58
- package/dest/mutex/mutex_database.d.ts +0 -10
- package/dest/mutex/mutex_database.d.ts.map +0 -1
- package/dest/mutex/mutex_database.js +0 -2
- package/dest/retry/index.d.ts +0 -44
- package/dest/retry/index.d.ts.map +0 -1
- package/dest/retry/index.js +0 -89
- package/dest/running-promise/index.d.ts +0 -35
- package/dest/running-promise/index.d.ts.map +0 -1
- package/dest/running-promise/index.js +0 -59
- package/dest/serialize/buffer_reader.d.ts +0 -188
- package/dest/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/serialize/buffer_reader.js +0 -229
- package/dest/serialize/buffer_reader.test.d.ts +0 -2
- package/dest/serialize/buffer_reader.test.d.ts.map +0 -1
- package/dest/serialize/buffer_reader.test.js +0 -156
- package/dest/serialize/deserializer.d.ts +0 -134
- package/dest/serialize/deserializer.d.ts.map +0 -1
- package/dest/serialize/deserializer.js +0 -145
- package/dest/serialize/free_funcs.d.ts +0 -203
- package/dest/serialize/free_funcs.d.ts.map +0 -1
- package/dest/serialize/free_funcs.js +0 -250
- package/dest/serialize/index.d.ts +0 -6
- package/dest/serialize/index.d.ts.map +0 -1
- package/dest/serialize/index.js +0 -6
- package/dest/serialize/serialize.test.d.ts +0 -2
- package/dest/serialize/serialize.test.d.ts.map +0 -1
- package/dest/serialize/serialize.test.js +0 -68
- package/dest/serialize/serializer.d.ts +0 -89
- package/dest/serialize/serializer.d.ts.map +0 -1
- package/dest/serialize/serializer.js +0 -111
- package/dest/serialize/types.d.ts +0 -33
- package/dest/serialize/types.d.ts.map +0 -1
- package/dest/serialize/types.js +0 -22
- package/dest/sleep/index.d.ts +0 -52
- package/dest/sleep/index.d.ts.map +0 -1
- package/dest/sleep/index.js +0 -70
- package/dest/timer/index.d.ts +0 -3
- package/dest/timer/index.d.ts.map +0 -1
- package/dest/timer/index.js +0 -3
- package/dest/timer/timeout.d.ts +0 -41
- package/dest/timer/timeout.d.ts.map +0 -1
- package/dest/timer/timeout.js +0 -62
- package/dest/timer/timer.d.ts +0 -33
- package/dest/timer/timer.d.ts.map +0 -1
- package/dest/timer/timer.js +0 -38
- package/dest/transport/browser/index.d.ts +0 -5
- package/dest/transport/browser/index.d.ts.map +0 -1
- package/dest/transport/browser/index.js +0 -5
- package/dest/transport/browser/message_port_socket.d.ts +0 -37
- package/dest/transport/browser/message_port_socket.d.ts.map +0 -1
- package/dest/transport/browser/message_port_socket.js +0 -46
- package/dest/transport/browser/shared_worker_connector.d.ts +0 -19
- package/dest/transport/browser/shared_worker_connector.d.ts.map +0 -1
- package/dest/transport/browser/shared_worker_connector.js +0 -21
- package/dest/transport/browser/shared_worker_listener.d.ts +0 -38
- package/dest/transport/browser/shared_worker_listener.d.ts.map +0 -1
- package/dest/transport/browser/shared_worker_listener.js +0 -37
- package/dest/transport/browser/worker_connector.d.ts +0 -26
- package/dest/transport/browser/worker_connector.d.ts.map +0 -1
- package/dest/transport/browser/worker_connector.js +0 -30
- package/dest/transport/browser/worker_listener.d.ts +0 -39
- package/dest/transport/browser/worker_listener.d.ts.map +0 -1
- package/dest/transport/browser/worker_listener.js +0 -39
- package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
- package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
- package/dest/transport/dispatch/create_dispatch_fn.js +0 -18
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts +0 -102
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +0 -1
- package/dest/transport/dispatch/create_dispatch_proxy.js +0 -56
- package/dest/transport/dispatch/messages.d.ts +0 -52
- package/dest/transport/dispatch/messages.d.ts.map +0 -1
- package/dest/transport/dispatch/messages.js +0 -12
- package/dest/transport/index.d.ts +0 -12
- package/dest/transport/index.d.ts.map +0 -1
- package/dest/transport/index.js +0 -12
- package/dest/transport/interface/connector.d.ts +0 -8
- package/dest/transport/interface/connector.d.ts.map +0 -1
- package/dest/transport/interface/connector.js +0 -2
- package/dest/transport/interface/listener.d.ts +0 -13
- package/dest/transport/interface/listener.d.ts.map +0 -1
- package/dest/transport/interface/listener.js +0 -2
- package/dest/transport/interface/socket.d.ts +0 -13
- package/dest/transport/interface/socket.d.ts.map +0 -1
- package/dest/transport/interface/socket.js +0 -2
- package/dest/transport/interface/transferable.d.ts +0 -68
- package/dest/transport/interface/transferable.d.ts.map +0 -1
- package/dest/transport/interface/transferable.js +0 -63
- package/dest/transport/node/index.d.ts +0 -3
- package/dest/transport/node/index.d.ts.map +0 -1
- package/dest/transport/node/index.js +0 -3
- package/dest/transport/node/node_connector.d.ts +0 -28
- package/dest/transport/node/node_connector.d.ts.map +0 -1
- package/dest/transport/node/node_connector.js +0 -28
- package/dest/transport/node/node_connector_socket.d.ts +0 -42
- package/dest/transport/node/node_connector_socket.d.ts.map +0 -1
- package/dest/transport/node/node_connector_socket.js +0 -48
- package/dest/transport/node/node_listener.d.ts +0 -26
- package/dest/transport/node/node_listener.d.ts.map +0 -1
- package/dest/transport/node/node_listener.js +0 -30
- package/dest/transport/node/node_listener_socket.d.ts +0 -37
- package/dest/transport/node/node_listener_socket.d.ts.map +0 -1
- package/dest/transport/node/node_listener_socket.js +0 -44
- package/dest/transport/transport_client.d.ts +0 -61
- package/dest/transport/transport_client.d.ts.map +0 -1
- package/dest/transport/transport_client.js +0 -94
- package/dest/transport/transport_server.d.ts +0 -56
- package/dest/transport/transport_server.d.ts.map +0 -1
- package/dest/transport/transport_server.js +0 -101
- package/dest/types/index.d.ts +0 -7
- package/dest/types/index.d.ts.map +0 -1
- package/dest/types/index.js +0 -2
- package/dest/url/index.d.ts +0 -9
- package/dest/url/index.d.ts.map +0 -1
- package/dest/url/index.js +0 -66
- package/dest/wasm/empty_wasi_sdk.d.ts +0 -130
- package/dest/wasm/empty_wasi_sdk.d.ts.map +0 -1
- package/dest/wasm/empty_wasi_sdk.js +0 -166
- package/dest/wasm/index.d.ts +0 -2
- package/dest/wasm/index.d.ts.map +0 -1
- package/dest/wasm/index.js +0 -2
- package/dest/wasm/wasm_module.d.ts +0 -135
- package/dest/wasm/wasm_module.d.ts.map +0 -1
- package/dest/wasm/wasm_module.js +0 -205
- package/dest/wasm/wasm_module.test.d.ts +0 -2
- package/dest/wasm/wasm_module.test.d.ts.map +0 -1
- package/dest/wasm/wasm_module.test.js +0 -24
- package/dest/worker/browser/index.d.ts +0 -3
- package/dest/worker/browser/index.d.ts.map +0 -1
- package/dest/worker/browser/index.js +0 -3
- package/dest/worker/browser/start_web_module.d.ts +0 -7
- package/dest/worker/browser/start_web_module.d.ts.map +0 -1
- package/dest/worker/browser/start_web_module.js +0 -22
- package/dest/worker/browser/web_data_store.d.ts +0 -23
- package/dest/worker/browser/web_data_store.d.ts.map +0 -1
- package/dest/worker/browser/web_data_store.js +0 -32
- package/dest/worker/browser/web_worker.d.ts +0 -10
- package/dest/worker/browser/web_worker.d.ts.map +0 -1
- package/dest/worker/browser/web_worker.js +0 -23
- package/dest/worker/data_store.d.ts +0 -20
- package/dest/worker/data_store.d.ts.map +0 -1
- package/dest/worker/data_store.js +0 -2
- package/dest/worker/index.d.ts +0 -3
- package/dest/worker/index.d.ts.map +0 -1
- package/dest/worker/index.js +0 -2
- package/dest/worker/node/index.d.ts +0 -3
- package/dest/worker/node/index.d.ts.map +0 -1
- package/dest/worker/node/index.js +0 -3
- package/dest/worker/node/node_data_store.d.ts +0 -12
- package/dest/worker/node/node_data_store.d.ts.map +0 -1
- package/dest/worker/node/node_data_store.js +0 -21
- package/dest/worker/node/node_worker.d.ts +0 -6
- package/dest/worker/node/node_worker.d.ts.map +0 -1
- package/dest/worker/node/node_worker.js +0 -20
- package/dest/worker/node/start_node_module.d.ts +0 -7
- package/dest/worker/node/start_node_module.d.ts.map +0 -1
- package/dest/worker/node/start_node_module.js +0 -26
- package/dest/worker/wasm_worker.d.ts +0 -9
- package/dest/worker/wasm_worker.d.ts.map +0 -1
- package/dest/worker/wasm_worker.js +0 -2
- package/dest/worker/worker_pool.d.ts +0 -40
- package/dest/worker/worker_pool.d.ts.map +0 -1
- package/dest/worker/worker_pool.js +0 -62
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ClassConverter } from './class_converter.js';
|
|
2
|
-
/**
|
|
3
|
-
* Recursively looks through an object for bigints and converts them to object format.
|
|
4
|
-
* @param obj - The object to convert.
|
|
5
|
-
* @returns The converted object with stringified bigints.
|
|
6
|
-
*/
|
|
7
|
-
export declare const convertBigintsInObj: (obj: any) => any;
|
|
8
|
-
/**
|
|
9
|
-
* JSON.stringify helper that handles bigints.
|
|
10
|
-
* @param obj - The object to be stringified.
|
|
11
|
-
* @returns The resulting string.
|
|
12
|
-
*/
|
|
13
|
-
export declare function JsonStringify(obj: object, prettify?: boolean): string;
|
|
14
|
-
/**
|
|
15
|
-
* Convert a JSON-friendly object, which may encode a class object.
|
|
16
|
-
* @param cc - The class converter.
|
|
17
|
-
* @param obj - The encoded object.
|
|
18
|
-
* @returns The decoded object.
|
|
19
|
-
*/
|
|
20
|
-
export declare function convertFromJsonObj(cc: ClassConverter, obj: any): any;
|
|
21
|
-
/**
|
|
22
|
-
* Convert objects or classes to a JSON-friendly object.
|
|
23
|
-
* @param cc - The class converter.
|
|
24
|
-
* @param obj - The object.
|
|
25
|
-
* @returns The encoded object.
|
|
26
|
-
*/
|
|
27
|
-
export declare function convertToJsonObj(cc: ClassConverter, obj: any): any;
|
|
28
|
-
//# sourceMappingURL=convert.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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,CA0CpE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CA2ClE"}
|
package/dest/json-rpc/convert.js
DELETED
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { Buffer } from 'buffer';
|
|
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
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Recursively looks through an object for bigints and converts them to object format.
|
|
27
|
-
* @param obj - The object to convert.
|
|
28
|
-
* @returns The converted object with stringified bigints.
|
|
29
|
-
*/
|
|
30
|
-
export const convertBigintsInObj = (obj) => {
|
|
31
|
-
return cloneDeepWith(obj, (value) => {
|
|
32
|
-
if (typeof value === 'bigint') {
|
|
33
|
-
return { type: 'bigint', data: value.toString() };
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* JSON.stringify helper that handles bigints.
|
|
39
|
-
* @param obj - The object to be stringified.
|
|
40
|
-
* @returns The resulting string.
|
|
41
|
-
*/
|
|
42
|
-
export function JsonStringify(obj, prettify) {
|
|
43
|
-
return JSON.stringify(obj, (key, value) => typeof value === 'bigint'
|
|
44
|
-
? JSON.stringify({
|
|
45
|
-
type: 'bigint',
|
|
46
|
-
data: value.toString(),
|
|
47
|
-
})
|
|
48
|
-
: value, prettify ? 2 : 0);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Convert a JSON-friendly object, which may encode a class object.
|
|
52
|
-
* @param cc - The class converter.
|
|
53
|
-
* @param obj - The encoded object.
|
|
54
|
-
* @returns The decoded object.
|
|
55
|
-
*/
|
|
56
|
-
export function convertFromJsonObj(cc, obj) {
|
|
57
|
-
if (obj === null) {
|
|
58
|
-
return undefined; // `null` doesn't work with default args.
|
|
59
|
-
}
|
|
60
|
-
if (!obj) {
|
|
61
|
-
return obj; // Primitive type
|
|
62
|
-
}
|
|
63
|
-
// Is this a serialized Node buffer?
|
|
64
|
-
if (obj.type === 'Buffer' && typeof obj.data === 'string') {
|
|
65
|
-
return Buffer.from(obj.data, 'base64');
|
|
66
|
-
}
|
|
67
|
-
if (obj.type === 'bigint' && typeof obj.data === 'string') {
|
|
68
|
-
return BigInt(obj.data);
|
|
69
|
-
}
|
|
70
|
-
// Is this a convertible type?
|
|
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 FROM JSON`);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
// Is this an array?
|
|
80
|
-
if (Array.isArray(obj)) {
|
|
81
|
-
return obj.map((x) => convertFromJsonObj(cc, x));
|
|
82
|
-
}
|
|
83
|
-
// Is this a dictionary?
|
|
84
|
-
if (typeof obj === 'object') {
|
|
85
|
-
const newObj = {};
|
|
86
|
-
for (const key of Object.keys(obj)) {
|
|
87
|
-
newObj[key] = convertFromJsonObj(cc, obj[key]);
|
|
88
|
-
}
|
|
89
|
-
return newObj;
|
|
90
|
-
}
|
|
91
|
-
// Leave alone, assume JSON primitive
|
|
92
|
-
return obj;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Convert objects or classes to a JSON-friendly object.
|
|
96
|
-
* @param cc - The class converter.
|
|
97
|
-
* @param obj - The object.
|
|
98
|
-
* @returns The encoded object.
|
|
99
|
-
*/
|
|
100
|
-
export function convertToJsonObj(cc, obj) {
|
|
101
|
-
if (!obj) {
|
|
102
|
-
return obj; // Primitive type
|
|
103
|
-
}
|
|
104
|
-
// Is this a Node buffer?
|
|
105
|
-
if (obj instanceof Buffer) {
|
|
106
|
-
return { type: 'Buffer', data: obj.toString('base64') };
|
|
107
|
-
}
|
|
108
|
-
if (typeof obj === 'bigint') {
|
|
109
|
-
return {
|
|
110
|
-
type: 'bigint',
|
|
111
|
-
data: obj.toString(),
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
// Is this a convertible type?
|
|
115
|
-
if (cc.isRegisteredClass(obj.constructor)) {
|
|
116
|
-
return cc.toJsonObj(obj);
|
|
117
|
-
}
|
|
118
|
-
// Is this an array?
|
|
119
|
-
if (Array.isArray(obj)) {
|
|
120
|
-
return obj.map((x) => convertToJsonObj(cc, x));
|
|
121
|
-
}
|
|
122
|
-
if (typeof obj === 'object') {
|
|
123
|
-
// Is this a dictionary?
|
|
124
|
-
if (isPlainObject(obj)) {
|
|
125
|
-
const newObj = {};
|
|
126
|
-
for (const key of Object.keys(obj)) {
|
|
127
|
-
newObj[key] = convertToJsonObj(cc, obj[key]);
|
|
128
|
-
}
|
|
129
|
-
return newObj;
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
// Throw if this is a non-primitive class that was not registered
|
|
133
|
-
throw new Error(`Object ${obj.constructor.name} not registered for serialisation TO JSON`);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
// Leave alone, assume JSON primitive
|
|
137
|
-
return obj;
|
|
138
|
-
}
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qc29uLXJwYy9jb252ZXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxhQUFhLE1BQU0sc0JBQXNCLENBQUM7QUFJakQ7Ozs7R0FJRztBQUNILFNBQVMsYUFBYSxDQUFDLEdBQVE7SUFDN0IsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1FBQ2hCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDaEIsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLENBQUMsbUJBQW1CO0lBQzVELE9BQU8sTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDNUMsSUFBSSxPQUFPLElBQUksMEJBQTBCLEVBQUU7WUFDekMsNkZBQTZGO1lBQzdGLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssQ0FBQztBQUM5QyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsR0FBUSxFQUFFLEVBQUU7SUFDOUMsT0FBTyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDdkMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1NBQ25EO0lBQ0gs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
|
|
@@ -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,11 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
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
|
|
@@ -1,11 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
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,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Contrived example for JSON RPC tests.
|
|
3
|
-
*/
|
|
4
|
-
export declare class TestNote {
|
|
5
|
-
private data;
|
|
6
|
-
constructor(data: string);
|
|
7
|
-
/**
|
|
8
|
-
* Create a string representation of this class.
|
|
9
|
-
* @returns The string representation.
|
|
10
|
-
*/
|
|
11
|
-
toString(): string;
|
|
12
|
-
/**
|
|
13
|
-
* Creates a string representation of this class.
|
|
14
|
-
* @param data - The data.
|
|
15
|
-
* @returns The string representation.
|
|
16
|
-
*/
|
|
17
|
-
static fromString(data: string): TestNote;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Represents a simple state management for TestNote instances.
|
|
21
|
-
* Provides functionality to get a note by index and add notes asynchronously.
|
|
22
|
-
* Primarily used for testing JSON RPC-related functionalities.
|
|
23
|
-
*/
|
|
24
|
-
export declare class TestState {
|
|
25
|
-
private notes;
|
|
26
|
-
constructor(notes: TestNote[]);
|
|
27
|
-
/**
|
|
28
|
-
* Retrieve the TestNote instance at the specified index from the notes array.
|
|
29
|
-
* This method allows getting a desired TestNote from the collection of notes
|
|
30
|
-
* maintained by the TestState instance using the provided index value.
|
|
31
|
-
*
|
|
32
|
-
* @param index - The index of the TestNote to be retrieved from the notes array.
|
|
33
|
-
* @returns The TestNote instance corresponding to the given index.
|
|
34
|
-
*/
|
|
35
|
-
getNote(index: number): TestNote;
|
|
36
|
-
/**
|
|
37
|
-
* Add an array of TestNote instances to the current TestState's notes.
|
|
38
|
-
* This function simulates asynchronous behavior by waiting for a duration
|
|
39
|
-
* equal to the number of notes being added. It then returns the updated
|
|
40
|
-
* list of TestNote instances in the TestState.
|
|
41
|
-
*
|
|
42
|
-
* @param notes - An array of TestNote instances to be added.
|
|
43
|
-
* @returns A Promise that resolves to an array of TestNote instances, including the newly added notes.
|
|
44
|
-
*/
|
|
45
|
-
addNotes(notes: TestNote[]): Promise<TestNote[]>;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=test_state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test_state.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/fixtures/test_state.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,QAAQ;IACP,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,MAAM;IAChC;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAGlB;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;CAG1C;AAED;;;;GAIG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ,EAAE;IACrC;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAGhC;;;;;;;;OAQG;IACG,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAOvD"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { sleep } from '../../sleep/index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Contrived example for JSON RPC tests.
|
|
4
|
-
*/
|
|
5
|
-
export class TestNote {
|
|
6
|
-
constructor(data) {
|
|
7
|
-
this.data = data;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Create a string representation of this class.
|
|
11
|
-
* @returns The string representation.
|
|
12
|
-
*/
|
|
13
|
-
toString() {
|
|
14
|
-
return this.data;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Creates a string representation of this class.
|
|
18
|
-
* @param data - The data.
|
|
19
|
-
* @returns The string representation.
|
|
20
|
-
*/
|
|
21
|
-
static fromString(data) {
|
|
22
|
-
return new TestNote(data);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Represents a simple state management for TestNote instances.
|
|
27
|
-
* Provides functionality to get a note by index and add notes asynchronously.
|
|
28
|
-
* Primarily used for testing JSON RPC-related functionalities.
|
|
29
|
-
*/
|
|
30
|
-
export class TestState {
|
|
31
|
-
constructor(notes) {
|
|
32
|
-
this.notes = notes;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Retrieve the TestNote instance at the specified index from the notes array.
|
|
36
|
-
* This method allows getting a desired TestNote from the collection of notes
|
|
37
|
-
* maintained by the TestState instance using the provided index value.
|
|
38
|
-
*
|
|
39
|
-
* @param index - The index of the TestNote to be retrieved from the notes array.
|
|
40
|
-
* @returns The TestNote instance corresponding to the given index.
|
|
41
|
-
*/
|
|
42
|
-
getNote(index) {
|
|
43
|
-
return this.notes[index];
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Add an array of TestNote instances to the current TestState's notes.
|
|
47
|
-
* This function simulates asynchronous behavior by waiting for a duration
|
|
48
|
-
* equal to the number of notes being added. It then returns the updated
|
|
49
|
-
* list of TestNote instances in the TestState.
|
|
50
|
-
*
|
|
51
|
-
* @param notes - An array of TestNote instances to be added.
|
|
52
|
-
* @returns A Promise that resolves to an array of TestNote instances, including the newly added notes.
|
|
53
|
-
*/
|
|
54
|
-
async addNotes(notes) {
|
|
55
|
-
for (const note of notes) {
|
|
56
|
-
this.notes.push(note);
|
|
57
|
-
}
|
|
58
|
-
await sleep(notes.length);
|
|
59
|
-
return this.notes;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9qc29uLXJwYy9maXh0dXJlcy90ZXN0X3N0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFRO0lBQ25CLFlBQW9CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUcsQ0FBQztJQUNwQzs7O09BR0c7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFZO1FBQzVCLE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxTQUFTO0lBQ3BCLFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7SUFBRyxDQUFDO0lBQ3pDOzs7Ozs7O09BT0c7SUFDSCxPQUFPLENBQUMsS0FBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFpQjtRQUM5QixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtZQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QjtRQUNELE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGIn0=
|
package/dest/json-rpc/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/json-rpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,IAAI,sBAAsB,EACjD,gBAAgB,EAChB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
package/dest/json-rpc/index.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { ClassConverter, } from './class_converter.js';
|
|
2
|
-
export { JsonStringify } from './convert.js';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvanNvbi1ycGMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLGNBQWMsR0FDZixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUMifQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Does this own the property?
|
|
3
|
-
* @param obj - An object.
|
|
4
|
-
* @param method - A property name.
|
|
5
|
-
*/
|
|
6
|
-
export declare const hasOwnProperty: (obj: any, propertyName: string) => boolean;
|
|
7
|
-
/**
|
|
8
|
-
* Helper function to assert a condition is truthy
|
|
9
|
-
* @param x - A boolean condition to assert.
|
|
10
|
-
* @param err - Error message to throw if x isn't met.
|
|
11
|
-
*/
|
|
12
|
-
export declare function assert(x: any, err: string): asserts x;
|
|
13
|
-
//# sourceMappingURL=js_utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"js_utils.d.ts","sourceRoot":"","sources":["../../src/json-rpc/js_utils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAAS,GAAG,gBAAgB,MAAM,YACJ,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAIrD"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
// Make sure this property was not inherited
|
|
2
|
-
/**
|
|
3
|
-
* Does this own the property?
|
|
4
|
-
* @param obj - An object.
|
|
5
|
-
* @param method - A property name.
|
|
6
|
-
*/
|
|
7
|
-
export const hasOwnProperty = (obj, propertyName) => Object.prototype.hasOwnProperty.call(obj, propertyName);
|
|
8
|
-
/**
|
|
9
|
-
* Helper function to assert a condition is truthy
|
|
10
|
-
* @param x - A boolean condition to assert.
|
|
11
|
-
* @param err - Error message to throw if x isn't met.
|
|
12
|
-
*/
|
|
13
|
-
export function assert(x, err) {
|
|
14
|
-
if (!x) {
|
|
15
|
-
throw new Error(err);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNfdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvanNvbi1ycGMvanNfdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNENBQTRDO0FBRTVDOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxHQUFRLEVBQUUsWUFBb0IsRUFBRSxFQUFFLENBQy9ELE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFFMUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQUMsQ0FBTSxFQUFFLEdBQVc7SUFDeEMsSUFBSSxDQUFDLENBQUMsRUFBRTtRQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDdEI7QUFDSCxDQUFDIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { JsonRpcServer } from './json_rpc_server.js';
|
|
2
|
-
export { JsonProxy } from './json_proxy.js';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvanNvbi1ycGMvc2VydmVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUMifQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { ClassConverter, JsonClassConverterInput, StringClassConverterInput } from '../class_converter.js';
|
|
2
|
-
/**
|
|
3
|
-
* Handles conversion of objects over the write.
|
|
4
|
-
* Delegates to a ClassConverter object.
|
|
5
|
-
*/
|
|
6
|
-
export declare class JsonProxy {
|
|
7
|
-
private handler;
|
|
8
|
-
classConverter: ClassConverter;
|
|
9
|
-
constructor(handler: object, stringClassMap: StringClassConverterInput, objectClassMap: JsonClassConverterInput);
|
|
10
|
-
/**
|
|
11
|
-
* Call an RPC method.
|
|
12
|
-
* @param methodName - The RPC method.
|
|
13
|
-
* @param jsonParams - The RPG parameters.
|
|
14
|
-
* @returns The remote result.
|
|
15
|
-
*/
|
|
16
|
-
call(methodName: string, jsonParams?: any[]): Promise<any>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=json_proxy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json_proxy.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/json_proxy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAM3G;;;GAGG;AACH,qBAAa,SAAS;IAGlB,OAAO,CAAC,OAAO;IAFjB,cAAc,EAAE,cAAc,CAAC;gBAErB,OAAO,EAAE,MAAM,EACvB,cAAc,EAAE,yBAAyB,EACzC,cAAc,EAAE,uBAAuB;IAIzC;;;;;OAKG;IACU,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,GAAE,GAAG,EAAO;CAc7D"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { createDebugLogger } from '../../log/index.js';
|
|
2
|
-
import { ClassConverter } from '../class_converter.js';
|
|
3
|
-
import { convertFromJsonObj, convertToJsonObj } from '../convert.js';
|
|
4
|
-
import { assert, hasOwnProperty } from '../js_utils.js';
|
|
5
|
-
const debug = createDebugLogger('json-rpc:json_proxy');
|
|
6
|
-
/**
|
|
7
|
-
* Handles conversion of objects over the write.
|
|
8
|
-
* Delegates to a ClassConverter object.
|
|
9
|
-
*/
|
|
10
|
-
export class JsonProxy {
|
|
11
|
-
constructor(handler, stringClassMap, objectClassMap) {
|
|
12
|
-
this.handler = handler;
|
|
13
|
-
this.classConverter = new ClassConverter(stringClassMap, objectClassMap);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Call an RPC method.
|
|
17
|
-
* @param methodName - The RPC method.
|
|
18
|
-
* @param jsonParams - The RPG parameters.
|
|
19
|
-
* @returns The remote result.
|
|
20
|
-
*/
|
|
21
|
-
async call(methodName, jsonParams = []) {
|
|
22
|
-
debug(`JsonProxy:call`, methodName, jsonParams);
|
|
23
|
-
// Get access to our class members
|
|
24
|
-
const proto = Object.getPrototypeOf(this.handler);
|
|
25
|
-
assert(hasOwnProperty(proto, methodName), `JsonProxy: Method ${methodName} not found!`);
|
|
26
|
-
assert(Array.isArray(jsonParams), 'JsonProxy: Params not an array!');
|
|
27
|
-
// convert the params from json representation to classes
|
|
28
|
-
const convertedParams = jsonParams.map(param => convertFromJsonObj(this.classConverter, param));
|
|
29
|
-
debug('JsonProxy:call', methodName, '<-', convertedParams);
|
|
30
|
-
const rawRet = await this.handler[methodName](...convertedParams);
|
|
31
|
-
const ret = convertToJsonObj(this.classConverter, rawRet);
|
|
32
|
-
debug('JsonProxy:call', methodName, '->', ret);
|
|
33
|
-
return ret;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbl9wcm94eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9qc29uLXJwYy9zZXJ2ZXIvanNvbl9wcm94eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFzRCxNQUFNLHVCQUF1QixDQUFDO0FBQzNHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFFcEIsWUFDVSxPQUFlLEVBQ3ZCLGNBQXlDLEVBQ3pDLGNBQXVDO1FBRi9CLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFJdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNEOzs7OztPQUtHO0lBQ0ksS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFrQixFQUFFLGFBQW9CLEVBQUU7UUFDMUQsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoRCxrQ0FBa0M7UUFDbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUUscUJBQXFCLFVBQVUsYUFBYSxDQUFDLENBQUM7UUFDeEYsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztRQUNyRSx5REFBeUQ7UUFDekQsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoRyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztRQUMzRCxNQUFNLE1BQU0sR0FBRyxNQUFPLElBQUksQ0FBQyxPQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQztRQUMzRSxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFELEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUNGIn0=
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import Koa from 'koa';
|
|
2
|
-
import { JsonClassConverterInput, StringClassConverterInput } from '../class_converter.js';
|
|
3
|
-
import { JsonProxy } from './json_proxy.js';
|
|
4
|
-
/**
|
|
5
|
-
* JsonRpcServer.
|
|
6
|
-
* Minimal, dev-friendly mechanism to create a server from an object.
|
|
7
|
-
*/
|
|
8
|
-
export declare class JsonRpcServer {
|
|
9
|
-
private handler;
|
|
10
|
-
private createApi;
|
|
11
|
-
private disallowedMethods;
|
|
12
|
-
private log;
|
|
13
|
-
proxy: JsonProxy;
|
|
14
|
-
constructor(handler: object, stringClassMap: StringClassConverterInput, objectClassMap: JsonClassConverterInput, createApi: boolean, disallowedMethods?: string[], log?: import("../../log/logger.js").DebugLogger);
|
|
15
|
-
/**
|
|
16
|
-
* Get an express app object.
|
|
17
|
-
* @param prefix - Our server prefix.
|
|
18
|
-
* @returns The app object.
|
|
19
|
-
*/
|
|
20
|
-
getApp(prefix?: string): Koa<Koa.DefaultState, Koa.DefaultContext>;
|
|
21
|
-
/**
|
|
22
|
-
* Get a router object wrapping our RPC class.
|
|
23
|
-
* @param prefix - The server prefix.
|
|
24
|
-
* @returns The router object.
|
|
25
|
-
*/
|
|
26
|
-
private getRouter;
|
|
27
|
-
/**
|
|
28
|
-
* Start this server with koa.
|
|
29
|
-
* @param port - Port number.
|
|
30
|
-
* @param prefix - Prefix string.
|
|
31
|
-
*/
|
|
32
|
-
start(port: number, prefix?: string): void;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=json_rpc_server.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json_rpc_server.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/json_rpc_server.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAC;AAMtB,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAE3F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,qBAAa,aAAa;IAGtB,OAAO,CAAC,OAAO;IAGf,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,GAAG;IAPb,KAAK,EAAE,SAAS,CAAC;gBAEP,OAAO,EAAE,MAAM,EACvB,cAAc,EAAE,yBAAyB,EACzC,cAAc,EAAE,uBAAuB,EAC/B,SAAS,EAAE,OAAO,EAClB,iBAAiB,GAAE,MAAM,EAAO,EAChC,GAAG,4CAAwD;IAKrE;;;;OAIG;IACI,MAAM,CAAC,MAAM,SAAK;IA6BzB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAoEjB;;;;OAIG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,SAAK;CAIvC"}
|