@aztec/foundation 0.0.0-test.1 → 0.0.1-commit.b655e406
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/dest/array/array.d.ts +5 -0
- package/dest/array/array.d.ts.map +1 -1
- package/dest/array/array.js +11 -0
- package/dest/async-pool/index.d.ts.map +1 -1
- package/dest/async-pool/index.js +1 -0
- package/dest/bigint/index.d.ts +7 -0
- package/dest/bigint/index.d.ts.map +1 -0
- package/dest/bigint/index.js +15 -0
- package/dest/bigint-buffer/index.d.ts +0 -2
- package/dest/bigint-buffer/index.d.ts.map +1 -1
- package/dest/buffer/buffer16.d.ts +80 -0
- package/dest/buffer/buffer16.d.ts.map +1 -0
- package/dest/buffer/buffer16.js +100 -0
- package/dest/buffer/buffer32.d.ts +3 -7
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +6 -6
- package/dest/buffer/index.d.ts +1 -0
- package/dest/buffer/index.d.ts.map +1 -1
- package/dest/buffer/index.js +1 -0
- package/dest/collection/array.d.ts +16 -3
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +57 -3
- package/dest/collection/object.d.ts +16 -0
- package/dest/collection/object.d.ts.map +1 -1
- package/dest/collection/object.js +25 -0
- package/dest/config/env_var.d.ts +1 -1
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/config/index.d.ts +48 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +115 -7
- package/dest/config/network_config.d.ts +42 -0
- package/dest/config/network_config.d.ts.map +1 -0
- package/dest/config/network_config.js +9 -0
- package/dest/config/network_name.d.ts +3 -0
- package/dest/config/network_name.d.ts.map +1 -0
- package/dest/config/network_name.js +19 -0
- package/dest/config/secret_value.d.ts +28 -0
- package/dest/config/secret_value.d.ts.map +1 -0
- package/dest/config/secret_value.js +34 -0
- package/dest/crypto/aes128/index.d.ts +2 -4
- package/dest/crypto/aes128/index.d.ts.map +1 -1
- package/dest/crypto/aes128/index.js +23 -6
- package/dest/crypto/bls/bn254_keystore.d.ts +296 -0
- package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -0
- package/dest/crypto/bls/bn254_keystore.js +218 -0
- package/dest/crypto/bls/index.d.ts +13 -0
- package/dest/crypto/bls/index.d.ts.map +1 -0
- package/dest/crypto/bls/index.js +87 -0
- package/dest/crypto/bn254/bn254_utils.d.ts +39 -0
- package/dest/crypto/bn254/bn254_utils.d.ts.map +1 -0
- package/dest/crypto/bn254/bn254_utils.js +56 -0
- package/dest/crypto/bn254/index.d.ts +55 -0
- package/dest/crypto/bn254/index.d.ts.map +1 -0
- package/dest/crypto/bn254/index.js +142 -0
- package/dest/crypto/ecdsa/index.d.ts +2 -2
- package/dest/crypto/ecdsa/index.d.ts.map +1 -1
- package/dest/crypto/ecdsa/index.js +70 -48
- package/dest/crypto/ecdsa/signature.d.ts +1 -3
- package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
- package/dest/crypto/grumpkin/index.d.ts +6 -13
- package/dest/crypto/grumpkin/index.d.ts.map +1 -1
- package/dest/crypto/grumpkin/index.js +69 -54
- package/dest/crypto/index.d.ts +2 -0
- package/dest/crypto/index.d.ts.map +1 -1
- package/dest/crypto/index.js +2 -0
- package/dest/crypto/keccak/index.d.ts +2 -4
- package/dest/crypto/keccak/index.d.ts.map +1 -1
- package/dest/crypto/keys/index.d.ts +0 -2
- package/dest/crypto/keys/index.d.ts.map +1 -1
- package/dest/crypto/keys/index.js +9 -4
- package/dest/crypto/pedersen/pedersen.noble.d.ts +2 -4
- package/dest/crypto/pedersen/pedersen.noble.d.ts.map +1 -1
- package/dest/crypto/pedersen/pedersen.wasm.d.ts +2 -4
- package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
- package/dest/crypto/pedersen/pedersen.wasm.js +29 -13
- package/dest/crypto/poseidon/index.d.ts +0 -2
- package/dest/crypto/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/poseidon/index.js +42 -17
- package/dest/crypto/random/index.d.ts +1 -3
- package/dest/crypto/random/index.d.ts.map +1 -1
- package/dest/crypto/random/index.js +2 -34
- package/dest/crypto/random/randomness_singleton.d.ts +0 -2
- package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
- package/dest/crypto/schnorr/index.d.ts.map +1 -1
- package/dest/crypto/schnorr/index.js +35 -37
- package/dest/crypto/schnorr/signature.d.ts +3 -5
- package/dest/crypto/schnorr/signature.d.ts.map +1 -1
- package/dest/crypto/secp256k1/index.d.ts +4 -6
- package/dest/crypto/secp256k1/index.d.ts.map +1 -1
- package/dest/crypto/secp256k1/index.js +29 -18
- package/dest/crypto/secp256k1-signer/utils.d.ts +55 -4
- package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
- package/dest/crypto/secp256k1-signer/utils.js +92 -6
- package/dest/crypto/serialize.d.ts +4 -6
- package/dest/crypto/serialize.d.ts.map +1 -1
- package/dest/crypto/sha256/index.d.ts +21 -4
- package/dest/crypto/sha256/index.d.ts.map +1 -1
- package/dest/crypto/sha256/index.js +42 -0
- package/dest/crypto/sha512/index.d.ts +1 -3
- package/dest/crypto/sha512/index.d.ts.map +1 -1
- package/dest/crypto/signature/index.d.ts +0 -2
- package/dest/crypto/signature/index.d.ts.map +1 -1
- package/dest/crypto/sync/index.js +3 -1
- package/dest/crypto/sync/pedersen/index.d.ts +2 -4
- package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
- package/dest/crypto/sync/pedersen/index.js +17 -10
- package/dest/crypto/sync/poseidon/index.d.ts +0 -2
- package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/sync/poseidon/index.js +27 -12
- package/dest/decorators/memoize.d.ts.map +1 -1
- package/dest/eth-address/index.d.ts +6 -7
- package/dest/eth-address/index.d.ts.map +1 -1
- package/dest/eth-address/index.js +5 -0
- package/dest/eth-signature/eth_signature.d.ts +16 -14
- package/dest/eth-signature/eth_signature.d.ts.map +1 -1
- package/dest/eth-signature/eth_signature.js +31 -17
- package/dest/fields/bls12_fields.d.ts +148 -0
- package/dest/fields/bls12_fields.d.ts.map +1 -0
- package/dest/fields/bls12_fields.js +359 -0
- package/dest/fields/bls12_point.d.ts +229 -0
- package/dest/fields/bls12_point.d.ts.map +1 -0
- package/dest/fields/bls12_point.js +398 -0
- package/dest/fields/coordinate.d.ts +0 -2
- package/dest/fields/coordinate.d.ts.map +1 -1
- package/dest/fields/fields.d.ts +6 -3
- package/dest/fields/fields.d.ts.map +1 -1
- package/dest/fields/fields.js +43 -15
- package/dest/fields/index.d.ts +2 -0
- package/dest/fields/index.d.ts.map +1 -1
- package/dest/fields/index.js +2 -0
- package/dest/fields/point.d.ts +2 -4
- package/dest/fields/point.d.ts.map +1 -1
- package/dest/fields/point.js +3 -3
- package/dest/fs/index.d.ts +1 -0
- package/dest/fs/index.d.ts.map +1 -1
- package/dest/fs/index.js +1 -0
- package/dest/fs/try_rm_dir.d.ts +3 -0
- package/dest/fs/try_rm_dir.d.ts.map +1 -0
- package/dest/fs/try_rm_dir.js +16 -0
- package/dest/index.d.ts +1 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -2
- package/dest/iterable/filter.js +1 -1
- package/dest/iterable/map.js +1 -1
- package/dest/jest/env.js +48 -0
- package/dest/jest/setupAfterEnv.js +3 -0
- package/dest/json-rpc/client/fetch.d.ts +2 -2
- package/dest/json-rpc/client/fetch.d.ts.map +1 -1
- package/dest/json-rpc/client/fetch.js +16 -30
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts +9 -3
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
- package/dest/json-rpc/client/safe_json_rpc_client.js +173 -13
- package/dest/json-rpc/client/undici.d.ts.map +1 -1
- package/dest/json-rpc/client/undici.js +6 -7
- package/dest/json-rpc/convert.d.ts +2 -9
- package/dest/json-rpc/convert.d.ts.map +1 -1
- package/dest/json-rpc/convert.js +1 -9
- package/dest/json-rpc/errors.d.ts +4 -0
- package/dest/json-rpc/errors.d.ts.map +1 -0
- package/dest/json-rpc/errors.js +6 -0
- package/dest/json-rpc/fixtures/class_a.d.ts +5 -3
- package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/class_b.d.ts +5 -3
- package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
- package/dest/json-rpc/index.d.ts +2 -1
- package/dest/json-rpc/index.d.ts.map +1 -1
- package/dest/json-rpc/index.js +2 -1
- package/dest/json-rpc/js_utils.d.ts.map +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts +21 -22
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.js +161 -56
- package/dest/json-rpc/test/integration.d.ts +1 -2
- package/dest/json-rpc/test/integration.d.ts.map +1 -1
- package/dest/log/console.d.ts.map +1 -1
- package/dest/log/gcloud-logger-config.d.ts +0 -1
- package/dest/log/gcloud-logger-config.d.ts.map +1 -1
- package/dest/log/gcloud-logger-config.js +1 -9
- package/dest/log/index.d.ts +4 -4
- package/dest/log/index.d.ts.map +1 -1
- package/dest/log/index.js +4 -4
- package/dest/log/libp2p_logger.js +13 -2
- package/dest/log/log_fn.d.ts +1 -1
- package/dest/log/log_fn.d.ts.map +1 -1
- package/dest/log/noir_debug_log_util.d.ts +14 -0
- package/dest/log/noir_debug_log_util.d.ts.map +1 -0
- package/dest/log/noir_debug_log_util.js +14 -0
- package/dest/log/pino-logger.d.ts +2 -2
- package/dest/log/pino-logger.d.ts.map +1 -1
- package/dest/log/pino-logger.js +28 -2
- package/dest/message/index.d.ts.map +1 -1
- package/dest/mutex/mutex_database.d.ts.map +1 -1
- package/dest/noir/noir_package_config.d.ts +4 -4
- package/dest/number/index.d.ts +3 -0
- package/dest/number/index.d.ts.map +1 -0
- package/dest/number/index.js +12 -0
- package/dest/profiler/index.d.ts +2 -0
- package/dest/profiler/index.d.ts.map +1 -0
- package/dest/profiler/index.js +1 -0
- package/dest/profiler/profiler.d.ts +8 -0
- package/dest/profiler/profiler.d.ts.map +1 -0
- package/dest/profiler/profiler.js +97 -0
- package/dest/promise/running-promise.d.ts +1 -1
- package/dest/promise/running-promise.d.ts.map +1 -1
- package/dest/promise/running-promise.js +2 -2
- package/dest/queue/batch_queue.d.ts +1 -1
- package/dest/queue/batch_queue.js +1 -1
- package/dest/queue/bounded_serial_queue.d.ts.map +1 -1
- package/dest/queue/serial_queue.d.ts +2 -2
- package/dest/queue/serial_queue.d.ts.map +1 -1
- package/dest/queue/serial_queue.js +7 -5
- package/dest/retry/index.d.ts +3 -2
- package/dest/retry/index.d.ts.map +1 -1
- package/dest/retry/index.js +2 -2
- package/dest/schemas/api.d.ts.map +1 -1
- package/dest/schemas/parse.js +1 -1
- package/dest/schemas/schemas.d.ts +9 -6
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +15 -1
- package/dest/schemas/utils.d.ts +1 -3
- package/dest/schemas/utils.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.d.ts +27 -2
- package/dest/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.js +44 -2
- package/dest/serialize/field_reader.d.ts +10 -1
- package/dest/serialize/field_reader.d.ts.map +1 -1
- package/dest/serialize/field_reader.js +18 -1
- package/dest/serialize/free_funcs.d.ts +23 -21
- package/dest/serialize/free_funcs.d.ts.map +1 -1
- package/dest/serialize/free_funcs.js +21 -27
- package/dest/serialize/serialize.d.ts +4 -5
- package/dest/serialize/serialize.d.ts.map +1 -1
- package/dest/string/index.d.ts +7 -2
- package/dest/string/index.d.ts.map +1 -1
- package/dest/string/index.js +27 -1
- package/dest/testing/files/index.d.ts +0 -2
- package/dest/testing/files/index.d.ts.map +1 -1
- package/dest/testing/files/index.js +2 -2
- package/dest/testing/formatting.d.ts +4 -0
- package/dest/testing/formatting.d.ts.map +1 -0
- package/dest/testing/formatting.js +3 -0
- package/dest/testing/index.d.ts +1 -0
- package/dest/testing/index.d.ts.map +1 -1
- package/dest/testing/index.js +1 -0
- package/dest/timer/date.d.ts +2 -1
- package/dest/timer/date.d.ts.map +1 -1
- package/dest/timer/date.js +5 -3
- package/dest/timer/index.d.ts +1 -1
- package/dest/timer/index.d.ts.map +1 -1
- package/dest/timer/index.js +1 -1
- package/dest/timer/timeout.d.ts +18 -5
- package/dest/timer/timeout.d.ts.map +1 -1
- package/dest/timer/timeout.js +43 -22
- package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -1
- package/dest/transport/index.d.ts +0 -1
- package/dest/transport/index.d.ts.map +1 -1
- package/dest/transport/index.js +0 -1
- package/dest/transport/interface/connector.d.ts.map +1 -1
- package/dest/transport/interface/listener.d.ts +0 -1
- package/dest/transport/interface/listener.d.ts.map +1 -1
- package/dest/transport/interface/socket.d.ts.map +1 -1
- package/dest/transport/node/node_connector.d.ts +0 -1
- package/dest/transport/node/node_connector.d.ts.map +1 -1
- package/dest/transport/node/node_connector_socket.d.ts +0 -1
- package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
- package/dest/transport/node/node_listener.d.ts +0 -1
- package/dest/transport/node/node_listener.d.ts.map +1 -1
- package/dest/transport/node/node_listener_socket.d.ts +0 -1
- package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
- package/dest/transport/transport_client.d.ts +0 -1
- package/dest/transport/transport_client.d.ts.map +1 -1
- package/dest/transport/transport_server.d.ts.map +1 -1
- package/dest/trees/hasher.d.ts +4 -6
- package/dest/trees/hasher.d.ts.map +1 -1
- package/dest/trees/index.d.ts +1 -0
- package/dest/trees/index.d.ts.map +1 -1
- package/dest/trees/index.js +1 -0
- package/dest/trees/indexed_merkle_tree.d.ts +0 -2
- package/dest/trees/indexed_merkle_tree.d.ts.map +1 -1
- package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -3
- package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/indexed_tree_leaf.d.ts +0 -2
- package/dest/trees/indexed_tree_leaf.d.ts.map +1 -1
- package/dest/trees/membership_witness.d.ts +19 -3
- package/dest/trees/membership_witness.d.ts.map +1 -1
- package/dest/trees/membership_witness.js +13 -0
- package/dest/trees/merkle_tree.d.ts +0 -2
- package/dest/trees/merkle_tree.d.ts.map +1 -1
- package/dest/trees/merkle_tree_calculator.d.ts +11 -3
- package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/merkle_tree_calculator.js +31 -1
- package/dest/trees/sibling_path.d.ts +6 -8
- package/dest/trees/sibling_path.d.ts.map +1 -1
- package/dest/trees/unbalanced_merkle_tree.d.ts +19 -8
- package/dest/trees/unbalanced_merkle_tree.d.ts.map +1 -1
- package/dest/trees/unbalanced_merkle_tree.js +49 -50
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +48 -0
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -0
- package/dest/trees/unbalanced_merkle_tree_calculator.js +162 -0
- package/dest/trees/unbalanced_tree_store.d.ts +1 -0
- package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
- package/dest/trees/unbalanced_tree_store.js +6 -0
- package/dest/types/index.d.ts +25 -2
- package/dest/types/index.d.ts.map +1 -1
- package/dest/url/index.d.ts.map +1 -1
- package/dest/url/index.js +1 -1
- package/package.json +35 -41
- package/src/array/array.ts +13 -0
- package/src/async-pool/index.ts +1 -0
- package/src/bigint/index.ts +20 -0
- package/src/buffer/buffer16.ts +133 -0
- package/src/buffer/buffer32.ts +8 -6
- package/src/buffer/index.ts +1 -0
- package/src/collection/array.ts +66 -4
- package/src/collection/object.ts +37 -0
- package/src/config/env_var.ts +142 -52
- package/src/config/index.ts +191 -8
- package/src/config/network_config.ts +16 -0
- package/src/config/network_name.ts +28 -0
- package/src/config/secret_value.ts +49 -0
- package/src/crypto/aes128/index.ts +19 -10
- package/src/crypto/bls/bn254_keystore.ts +287 -0
- package/src/crypto/bls/index.ts +77 -0
- package/src/crypto/bn254/bn254_utils.ts +64 -0
- package/src/crypto/bn254/index.ts +170 -0
- package/src/crypto/ecdsa/index.ts +41 -23
- package/src/crypto/grumpkin/index.ts +35 -45
- package/src/crypto/index.ts +2 -0
- package/src/crypto/keys/index.ts +5 -5
- package/src/crypto/pedersen/pedersen.wasm.ts +22 -18
- package/src/crypto/poseidon/index.ts +32 -24
- package/src/crypto/random/index.ts +2 -40
- package/src/crypto/schnorr/index.ts +20 -17
- package/src/crypto/secp256k1/index.ts +15 -11
- package/src/crypto/secp256k1-signer/utils.ts +120 -7
- package/src/crypto/sha256/index.ts +47 -0
- package/src/crypto/sync/index.ts +1 -1
- package/src/crypto/sync/pedersen/index.ts +16 -15
- package/src/crypto/sync/poseidon/index.ts +27 -22
- package/src/eth-address/index.ts +9 -2
- package/src/eth-signature/eth_signature.ts +44 -22
- package/src/fields/bls12_fields.ts +463 -0
- package/src/fields/bls12_point.ts +450 -0
- package/src/fields/fields.ts +37 -9
- package/src/fields/index.ts +2 -0
- package/src/fields/point.ts +1 -3
- package/src/fs/index.ts +1 -0
- package/src/fs/try_rm_dir.ts +15 -0
- package/src/index.ts +1 -2
- package/src/iterable/filter.ts +1 -1
- package/src/iterable/map.ts +1 -1
- package/src/jest/env.mjs +52 -0
- package/src/jest/setupAfterEnv.mjs +3 -0
- package/src/json-rpc/client/fetch.ts +14 -33
- package/src/json-rpc/client/safe_json_rpc_client.ts +226 -13
- package/src/json-rpc/client/undici.ts +8 -15
- package/src/json-rpc/convert.ts +3 -12
- package/src/json-rpc/errors.ts +6 -0
- package/src/json-rpc/fixtures/class_a.ts +4 -1
- package/src/json-rpc/fixtures/class_b.ts +4 -1
- package/src/json-rpc/index.ts +2 -1
- package/src/json-rpc/server/safe_json_rpc_server.ts +141 -48
- package/src/json-rpc/test/integration.ts +1 -1
- package/src/log/console.ts +4 -1
- package/src/log/gcloud-logger-config.ts +3 -7
- package/src/log/index.ts +4 -4
- package/src/log/libp2p_logger.ts +21 -2
- package/src/log/log_fn.ts +1 -1
- package/src/log/noir_debug_log_util.ts +21 -0
- package/src/log/pino-logger.ts +33 -2
- package/src/message/index.ts +5 -1
- package/src/mutex/mutex_database.ts +2 -3
- package/src/number/index.ts +14 -0
- package/src/profiler/index.ts +1 -0
- package/src/profiler/profiler.ts +125 -0
- package/src/promise/running-promise.ts +2 -2
- package/src/queue/batch_queue.ts +1 -1
- package/src/queue/bounded_serial_queue.ts +4 -1
- package/src/queue/serial_queue.ts +5 -5
- package/src/retry/index.ts +10 -5
- package/src/schemas/api.ts +4 -4
- package/src/schemas/parse.ts +1 -1
- package/src/schemas/schemas.ts +19 -1
- package/src/serialize/buffer_reader.ts +60 -3
- package/src/serialize/field_reader.ts +27 -3
- package/src/serialize/free_funcs.ts +25 -31
- package/src/serialize/serialize.ts +2 -0
- package/src/string/index.ts +36 -1
- package/src/testing/files/index.ts +6 -2
- package/src/testing/formatting.ts +3 -0
- package/src/testing/index.ts +1 -0
- package/src/timer/date.ts +9 -3
- package/src/timer/index.ts +1 -1
- package/src/timer/timeout.ts +54 -19
- package/src/transport/index.ts +0 -1
- package/src/transport/interface/connector.ts +0 -1
- package/src/transport/interface/listener.ts +2 -3
- package/src/transport/interface/socket.ts +2 -3
- package/src/transport/transport_client.ts +3 -4
- package/src/transport/transport_server.ts +4 -1
- package/src/trees/hasher.ts +4 -4
- package/src/trees/index.ts +1 -0
- package/src/trees/indexed_merkle_tree.ts +5 -1
- package/src/trees/indexed_merkle_tree_calculator.ts +2 -2
- package/src/trees/membership_witness.ts +13 -0
- package/src/trees/merkle_tree.ts +4 -1
- package/src/trees/merkle_tree_calculator.ts +43 -5
- package/src/trees/unbalanced_merkle_tree.ts +50 -42
- package/src/trees/unbalanced_merkle_tree_calculator.ts +194 -0
- package/src/trees/unbalanced_tree_store.ts +5 -1
- package/src/types/index.ts +25 -4
- package/src/url/index.ts +0 -1
- package/dest/crypto/pedersen/pedersen.elliptic.d.ts +0 -13
- package/dest/crypto/pedersen/pedersen.elliptic.d.ts.map +0 -1
- package/dest/crypto/pedersen/pedersen.elliptic.js +0 -582
- package/dest/log/debug.d.ts +0 -56
- package/dest/log/debug.d.ts.map +0 -1
- package/dest/log/debug.js +0 -75
- 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 -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 -4
- 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 -42
- 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 -19
- 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 -33
- 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 -35
- 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 -148
- package/dest/wasm/index.d.ts +0 -2
- package/dest/wasm/index.d.ts.map +0 -1
- package/dest/wasm/index.js +0 -1
- package/dest/wasm/wasm_module.d.ts +0 -136
- package/dest/wasm/wasm_module.d.ts.map +0 -1
- package/dest/wasm/wasm_module.js +0 -196
- 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 -2
- 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 -27
- package/dest/worker/browser/web_data_store.d.ts +0 -24
- package/dest/worker/browser/web_data_store.d.ts.map +0 -1
- package/dest/worker/browser/web_data_store.js +0 -29
- 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 -25
- package/dest/worker/data_store.d.ts +0 -21
- package/dest/worker/data_store.d.ts.map +0 -1
- package/dest/worker/data_store.js +0 -3
- package/dest/worker/index.d.ts +0 -3
- package/dest/worker/index.d.ts.map +0 -1
- package/dest/worker/index.js +0 -1
- 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 -2
- package/dest/worker/node/node_data_store.d.ts +0 -13
- package/dest/worker/node/node_data_store.d.ts.map +0 -1
- package/dest/worker/node/node_data_store.js +0 -20
- 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 -22
- 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 -31
- 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 -3
- 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 -51
- package/src/crypto/pedersen/pedersen.elliptic.ts +0 -584
- package/src/log/debug.ts +0 -104
- package/src/log/log_history.ts +0 -44
- package/src/transport/browser/index.ts +0 -4
- package/src/transport/browser/message_port_socket.ts +0 -48
- package/src/transport/browser/shared_worker_connector.ts +0 -21
- package/src/transport/browser/shared_worker_listener.ts +0 -53
- package/src/transport/browser/worker_connector.ts +0 -30
- package/src/transport/browser/worker_listener.ts +0 -54
- package/src/wasm/README.md +0 -6
- package/src/wasm/empty_wasi_sdk.ts +0 -166
- package/src/wasm/fixtures/gcd.wasm +0 -0
- package/src/wasm/fixtures/gcd.wat +0 -27
- package/src/wasm/index.ts +0 -1
- package/src/wasm/wasm_module.ts +0 -260
- package/src/worker/browser/index.ts +0 -2
- package/src/worker/browser/start_web_module.ts +0 -24
- package/src/worker/browser/web_data_store.ts +0 -38
- package/src/worker/browser/web_worker.ts +0 -25
- package/src/worker/data_store.ts +0 -19
- package/src/worker/index.ts +0 -2
- package/src/worker/node/index.ts +0 -2
- package/src/worker/node/node_data_store.ts +0 -27
- package/src/worker/node/node_worker.ts +0 -23
- package/src/worker/node/start_node_module.ts +0 -30
- package/src/worker/wasm_worker.ts +0 -7
- package/src/worker/worker_pool.ts +0 -73
package/dest/index.d.ts
CHANGED
|
@@ -22,9 +22,8 @@ export * as transport from './transport/index.js';
|
|
|
22
22
|
export * as trees from './trees/index.js';
|
|
23
23
|
export * as types from './types/index.js';
|
|
24
24
|
export * as url from './url/index.js';
|
|
25
|
-
export * as wasm from './wasm/index.js';
|
|
26
|
-
export * as worker from './worker/index.js';
|
|
27
25
|
export * as testing from './testing/index.js';
|
|
26
|
+
export * as profiler from './profiler/index.js';
|
|
28
27
|
export * as config from './config/index.js';
|
|
29
28
|
export * as buffer from './buffer/index.js';
|
|
30
29
|
export * as ethSignature from './eth-signature/index.js';
|
package/dest/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAC"}
|
package/dest/index.js
CHANGED
|
@@ -23,9 +23,8 @@ export * as transport from './transport/index.js';
|
|
|
23
23
|
export * as trees from './trees/index.js';
|
|
24
24
|
export * as types from './types/index.js';
|
|
25
25
|
export * as url from './url/index.js';
|
|
26
|
-
export * as wasm from './wasm/index.js';
|
|
27
|
-
export * as worker from './worker/index.js';
|
|
28
26
|
export * as testing from './testing/index.js';
|
|
27
|
+
export * as profiler from './profiler/index.js';
|
|
29
28
|
export * as config from './config/index.js';
|
|
30
29
|
export * as buffer from './buffer/index.js';
|
|
31
30
|
export * as ethSignature from './eth-signature/index.js';
|
package/dest/iterable/filter.js
CHANGED
package/dest/iterable/map.js
CHANGED
package/dest/jest/env.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { TestEnvironment } from 'jest-environment-node';
|
|
2
|
+
// What errors should be ignored in after hooks
|
|
3
|
+
const IgnoredErrors = [
|
|
4
|
+
'HttpRequestError',
|
|
5
|
+
'CodeError'
|
|
6
|
+
];
|
|
7
|
+
/** Custom Jest environment that ignores any whitelisted unhandled rejections that occur during `after` hooks */ export default class CustomEnvironment extends TestEnvironment {
|
|
8
|
+
constructor(config, context){
|
|
9
|
+
super(config, context);
|
|
10
|
+
}
|
|
11
|
+
async handleTestEvent(event, state) {
|
|
12
|
+
if (event.name === 'setup') {
|
|
13
|
+
// Jest 29 reports both unhandledRejection and uncaughtException events as plain `error`, without any means to differentiate them
|
|
14
|
+
// (see https://github.com/jestjs/jest/issues/9210). Jest 30 fixes it as part of a larger change (see
|
|
15
|
+
// https://github.com/jestjs/jest/pull/14315/files#diff-9bdc1fdb60c8631b1e346eff6e4899c4e64ae3a44f4f12d0d7ac70c2aabd1d93R12-R29),
|
|
16
|
+
// but we cannot update to 30 as it is still in beta at the time of writing this code. So we remove jest's unhandledRejection listener,
|
|
17
|
+
// replace it with our own, and delegate to the original listener only if the error is not in the ignored list.
|
|
18
|
+
const parentProcess = event.parentProcess;
|
|
19
|
+
const [jestListener] = parentProcess.listeners('unhandledRejection');
|
|
20
|
+
parentProcess.removeAllListeners('unhandledRejection');
|
|
21
|
+
const patchedListener = (err, _promise)=>{
|
|
22
|
+
if (state.isInAfterHook && IgnoredErrors.some((error)=>err && err.name && err.name.includes(error))) {
|
|
23
|
+
// Ignore the error only if it was an unhandled async rejection (not sync exception), it's on the IgnoredErrors list, and we're in an after hook.
|
|
24
|
+
console.error('Ignoring unhandled rejection in after hook:', err);
|
|
25
|
+
} else if (state.isInAfterHook) {
|
|
26
|
+
// Log non-ignored unhandled rejection in an after hook, and pass the error to the original jest listener to fail the test.
|
|
27
|
+
console.error(`Unhandled rejection in after hook:`, err);
|
|
28
|
+
jestListener && jestListener(err);
|
|
29
|
+
} else {
|
|
30
|
+
// Otherwise, just delegate to the original jest listener, to emit the `error` event under the hood.
|
|
31
|
+
jestListener && jestListener(err);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
parentProcess.on('unhandledRejection', patchedListener);
|
|
35
|
+
state.patchedListener = patchedListener;
|
|
36
|
+
} else if (event.name === 'teardown') {
|
|
37
|
+
// Remove the patched handler we added in setup.
|
|
38
|
+
const parentProcess = state.parentProcess;
|
|
39
|
+
parentProcess.removeListener('unhandledRejection', state.patchedListener);
|
|
40
|
+
} else if (event.name === 'hook_start' && event.hook.type.startsWith('after')) {
|
|
41
|
+
// Track that we have entered an after hook.
|
|
42
|
+
state.isInAfterHook = true;
|
|
43
|
+
} else if ((event.name === 'hook_success' || event.name === 'hook_failure') && event.hook.type.startsWith('after')) {
|
|
44
|
+
// Reset the flag that we are in an after hook when we exit it.
|
|
45
|
+
state.isInAfterHook = false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Logger } from '../../log/index.js';
|
|
2
|
-
export type JsonRpcFetch = (host: string,
|
|
2
|
+
export type JsonRpcFetch = (host: string, body: any, extraHeaders?: Record<string, string>, noRetry?: boolean) => Promise<{
|
|
3
3
|
response: any;
|
|
4
4
|
headers: {
|
|
5
5
|
get: (header: string) => string | null | undefined;
|
|
@@ -15,7 +15,7 @@ export type JsonRpcFetch = (host: string, rpcMethod: string, body: any, useApiEn
|
|
|
15
15
|
* message (see `retry` function for more details).
|
|
16
16
|
* @returns The parsed JSON response, or throws an error.
|
|
17
17
|
*/
|
|
18
|
-
export declare function defaultFetch(host: string,
|
|
18
|
+
export declare function defaultFetch(host: string, body: unknown, extraHeaders?: Record<string, string>, noRetry?: boolean): Promise<{
|
|
19
19
|
response: any;
|
|
20
20
|
headers: {
|
|
21
21
|
get: (header: string) => string | null | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/client/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,oBAAoB,CAAC;AAM/D,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,EACZ,
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/client/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,oBAAoB,CAAC;AAM/D,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,EACT,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,OAAO,CAAC,EAAE,OAAO,KACd,OAAO,CAAC;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;KAAE,CAAA;CAAE,CAAC,CAAC;AAEjG;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACzC,OAAO,UAAQ,GACd,OAAO,CAAC;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;KAAE,CAAA;CAAE,CAAC,CAkC7F;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,YAAY,CAUvG"}
|
|
@@ -12,47 +12,33 @@ const log = createLogger('json-rpc:json_rpc_client');
|
|
|
12
12
|
* @param noRetry - Whether to throw a `NoRetryError` in case the response is a 5xx error and the body contains an error
|
|
13
13
|
* message (see `retry` function for more details).
|
|
14
14
|
* @returns The parsed JSON response, or throws an error.
|
|
15
|
-
*/ export async function defaultFetch(host,
|
|
16
|
-
log.debug(format(`JsonRpcClient.fetch`, host,
|
|
15
|
+
*/ export async function defaultFetch(host, body, extraHeaders = {}, noRetry = false) {
|
|
16
|
+
log.debug(format(`JsonRpcClient.fetch`, host, '->', body));
|
|
17
17
|
let resp;
|
|
18
18
|
try {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
});
|
|
28
|
-
} else {
|
|
29
|
-
resp = await fetch(host, {
|
|
30
|
-
method: 'POST',
|
|
31
|
-
body: jsonStringify({
|
|
32
|
-
...body,
|
|
33
|
-
method: rpcMethod
|
|
34
|
-
}),
|
|
35
|
-
headers: {
|
|
36
|
-
'content-type': 'application/json',
|
|
37
|
-
...extraHeaders
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
}
|
|
19
|
+
resp = await fetch(host, {
|
|
20
|
+
method: 'POST',
|
|
21
|
+
body: jsonStringify(body),
|
|
22
|
+
headers: {
|
|
23
|
+
'content-type': 'application/json',
|
|
24
|
+
...extraHeaders
|
|
25
|
+
}
|
|
26
|
+
});
|
|
41
27
|
} catch (err) {
|
|
42
|
-
const errorMessage = `Error fetching from host ${host}
|
|
28
|
+
const errorMessage = `Error fetching from host ${host}: ${inspect(err)}`;
|
|
43
29
|
throw new Error(errorMessage);
|
|
44
30
|
}
|
|
45
31
|
let responseJson;
|
|
46
32
|
try {
|
|
47
33
|
responseJson = await resp.json();
|
|
48
|
-
} catch
|
|
34
|
+
} catch {
|
|
49
35
|
if (!resp.ok) {
|
|
50
36
|
throw new Error(resp.statusText);
|
|
51
37
|
}
|
|
52
|
-
throw new Error(`Failed to parse body as JSON: ${resp.text()}`);
|
|
38
|
+
throw new Error(`Failed to parse body as JSON: ${await resp.text()}`);
|
|
53
39
|
}
|
|
54
40
|
if (!resp.ok) {
|
|
55
|
-
const errorMessage = `Error ${resp.status} from server ${host}
|
|
41
|
+
const errorMessage = `Error ${resp.status} from server ${host}: ${responseJson.error.message}`;
|
|
56
42
|
if (noRetry || resp.status >= 400 && resp.status < 500) {
|
|
57
43
|
throw new NoRetryError(errorMessage);
|
|
58
44
|
} else {
|
|
@@ -71,7 +57,7 @@ const log = createLogger('json-rpc:json_rpc_client');
|
|
|
71
57
|
* @param log - Optional logger for logging attempts.
|
|
72
58
|
* @returns A fetch function.
|
|
73
59
|
*/ export function makeFetch(retries, defaultNoRetry, log) {
|
|
74
|
-
return async (host,
|
|
75
|
-
return await retry(()=>defaultFetch(host,
|
|
60
|
+
return async (host, body, extraHeaders = {}, noRetry)=>{
|
|
61
|
+
return await retry(()=>defaultFetch(host, body, extraHeaders, noRetry ?? defaultNoRetry), `JsonRpcClient request to ${host}`, makeBackoff(retries), log, false);
|
|
76
62
|
};
|
|
77
63
|
}
|
|
@@ -2,10 +2,12 @@ import { type Logger } from '../../log/pino-logger.js';
|
|
|
2
2
|
import { type ApiSchemaFor } from '../../schemas/api.js';
|
|
3
3
|
import { type JsonRpcFetch } from './fetch.js';
|
|
4
4
|
export type SafeJsonRpcClientOptions = {
|
|
5
|
-
useApiEndpoints?: boolean;
|
|
6
5
|
namespaceMethods?: string | false;
|
|
7
6
|
fetch?: JsonRpcFetch;
|
|
8
7
|
log?: Logger;
|
|
8
|
+
batchWindowMS?: number;
|
|
9
|
+
maxBatchSize?: number;
|
|
10
|
+
maxRequestBodySize?: number;
|
|
9
11
|
onResponse?: (res: {
|
|
10
12
|
response: any;
|
|
11
13
|
headers: {
|
|
@@ -18,9 +20,13 @@ export type SafeJsonRpcClientOptions = {
|
|
|
18
20
|
* The server is expected to be a JsonRpcServer.
|
|
19
21
|
* @param host - The host URL.
|
|
20
22
|
* @param schema - The api schema to validate returned data against.
|
|
21
|
-
* @param useApiEndpoints - Whether to use the API endpoints or the default RPC endpoint.
|
|
22
|
-
* @param namespaceMethods - String value (or false/empty) to namespace all methods sent to the server. e.g. 'getInfo' -\> 'pxe_getInfo'
|
|
23
23
|
* @param fetch - The fetch implementation to use.
|
|
24
24
|
*/
|
|
25
25
|
export declare function createSafeJsonRpcClient<T extends object>(host: string, schema: ApiSchemaFor<T>, config?: SafeJsonRpcClientOptions): T;
|
|
26
|
+
/**
|
|
27
|
+
* Triggers a batch to be sent immediately
|
|
28
|
+
*/
|
|
29
|
+
export declare function batch<T extends readonly unknown[]>(values: T): Promise<{
|
|
30
|
+
-readonly [P in keyof T]: Awaited<T[P]>;
|
|
31
|
+
}>;
|
|
26
32
|
//# sourceMappingURL=safe_json_rpc_client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe_json_rpc_client.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/client/safe_json_rpc_client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"safe_json_rpc_client.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/client/safe_json_rpc_client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAkB,KAAK,YAAY,EAAmB,MAAM,sBAAsB,CAAC;AAE1F,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,YAAY,CAAC;AAa7D,MAAM,MAAM,wBAAwB,GAAG;IACrC,gBAAgB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAClC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE;QACjB,QAAQ,EAAE,GAAG,CAAC;QACd,OAAO,EAAE;YAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;SAAE,CAAC;KACjE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB,CAAC;AA6BF;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EACtD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,MAAM,GAAE,wBAA6B,GACpC,CAAC,CAmLH;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,EACtD,MAAM,EAAE,CAAC,GACR,OAAO,CAAC;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,CAuBtD"}
|
|
@@ -1,20 +1,141 @@
|
|
|
1
1
|
import { format } from 'util';
|
|
2
2
|
import { createLogger } from '../../log/pino-logger.js';
|
|
3
|
+
import { promiseWithResolvers } from '../../promise/utils.js';
|
|
3
4
|
import { schemaHasMethod } from '../../schemas/api.js';
|
|
5
|
+
import { jsonStringify } from '../convert.js';
|
|
4
6
|
import { defaultFetch } from './fetch.js';
|
|
7
|
+
// batch window of 0 would capture all requests in the current sync iteration of the event loop
|
|
8
|
+
// and send them all at once in a single batch
|
|
9
|
+
// minimal latency
|
|
10
|
+
const DEFAULT_BATCH_WINDOW_MS = 0;
|
|
11
|
+
// the maximum size of a batched request
|
|
12
|
+
const DEFAULT_MAX_BATCH_SIZE = 100;
|
|
13
|
+
// 10 mb
|
|
14
|
+
const DEFAULT_MAX_REQUESTY_BODY_SIZE = 10 * 1024 * 1024;
|
|
15
|
+
// expose helpful information on the RPC clients such that we can recognize them later
|
|
16
|
+
const SEND_BATCH = Symbol('JsonRpcClient.sendBatch');
|
|
17
|
+
const CLIENT_ID = Symbol('JsonRpcClient.clientId');
|
|
18
|
+
let nextClientId = 1;
|
|
19
|
+
// keep a reference to clients so that we can force send a batch
|
|
20
|
+
const clients = new Map();
|
|
5
21
|
/**
|
|
6
22
|
* Creates a Proxy object that delegates over RPC and validates outputs against a given schema.
|
|
7
23
|
* The server is expected to be a JsonRpcServer.
|
|
8
24
|
* @param host - The host URL.
|
|
9
25
|
* @param schema - The api schema to validate returned data against.
|
|
10
|
-
* @param useApiEndpoints - Whether to use the API endpoints or the default RPC endpoint.
|
|
11
|
-
* @param namespaceMethods - String value (or false/empty) to namespace all methods sent to the server. e.g. 'getInfo' -\> 'pxe_getInfo'
|
|
12
26
|
* @param fetch - The fetch implementation to use.
|
|
13
27
|
*/ export function createSafeJsonRpcClient(host, schema, config = {}) {
|
|
14
28
|
const fetch = config.fetch ?? defaultFetch;
|
|
15
29
|
const log = config.log ?? createLogger('json-rpc:client');
|
|
16
|
-
const {
|
|
30
|
+
const { namespaceMethods = false, batchWindowMS = DEFAULT_BATCH_WINDOW_MS, maxBatchSize = DEFAULT_MAX_BATCH_SIZE, maxRequestBodySize = DEFAULT_MAX_REQUESTY_BODY_SIZE } = config;
|
|
17
31
|
let id = 0;
|
|
32
|
+
let sendBatchTimeoutHandle;
|
|
33
|
+
const queue = [];
|
|
34
|
+
const sendBatch = async ()=>{
|
|
35
|
+
if (sendBatchTimeoutHandle !== undefined) {
|
|
36
|
+
clearTimeout(sendBatchTimeoutHandle);
|
|
37
|
+
sendBatchTimeoutHandle = undefined;
|
|
38
|
+
}
|
|
39
|
+
const rpcCalls = [];
|
|
40
|
+
let bodySize = 0;
|
|
41
|
+
while(queue.length > 0 && rpcCalls.length < maxBatchSize && bodySize < maxRequestBodySize){
|
|
42
|
+
const item = queue[0];
|
|
43
|
+
if (!item) {
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
const tmpBodySize = bodySize + item.encodedLength;
|
|
47
|
+
if (tmpBodySize >= maxRequestBodySize) {
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
bodySize = tmpBodySize;
|
|
51
|
+
queue.shift();
|
|
52
|
+
rpcCalls.push(item);
|
|
53
|
+
}
|
|
54
|
+
// no-op
|
|
55
|
+
if (rpcCalls.length === 0) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
// schedule another call if there are more items to send
|
|
59
|
+
if (queue.length > 0) {
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
61
|
+
sendBatchTimeoutHandle = setTimeout(sendBatch, batchWindowMS);
|
|
62
|
+
}
|
|
63
|
+
log.debug(`Executing JSON-RPC batch of size: ${rpcCalls.length} body size: ${bodySize} bytes`, {
|
|
64
|
+
methods: rpcCalls.map(({ request })=>request.method)
|
|
65
|
+
});
|
|
66
|
+
try {
|
|
67
|
+
const { response, headers } = await fetch(host, rpcCalls.map(({ request })=>request));
|
|
68
|
+
if (config.onResponse) {
|
|
69
|
+
await config.onResponse({
|
|
70
|
+
response,
|
|
71
|
+
headers
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
if (!Array.isArray(response) || response.length !== rpcCalls.length) {
|
|
75
|
+
log.warn(`Invalid response received from JSON-RPC server. Expected array of responses of length ${rpcCalls.length}`, {
|
|
76
|
+
response
|
|
77
|
+
});
|
|
78
|
+
for(let i = 0; i < rpcCalls.length; i++){
|
|
79
|
+
const { request, deferred } = rpcCalls[i];
|
|
80
|
+
deferred.resolve({
|
|
81
|
+
id: request.id,
|
|
82
|
+
jsonrpc: '2.0',
|
|
83
|
+
error: {
|
|
84
|
+
code: -32000,
|
|
85
|
+
data: response,
|
|
86
|
+
message: response.message ?? 'Failed request'
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
} else {
|
|
91
|
+
for(let i = 0; i < response.length; i++){
|
|
92
|
+
const resp = response[i];
|
|
93
|
+
const { request, deferred } = rpcCalls[i];
|
|
94
|
+
if (resp.id !== request.id) {
|
|
95
|
+
log.warn(`Invalid response received at index ${i} from JSON-RPC server: id mismatch`, {
|
|
96
|
+
requestMethod: request.method,
|
|
97
|
+
requestId: request.id,
|
|
98
|
+
responseId: resp.id
|
|
99
|
+
});
|
|
100
|
+
deferred.resolve({
|
|
101
|
+
id: request.id,
|
|
102
|
+
jsonrpc: '2.0',
|
|
103
|
+
error: {
|
|
104
|
+
code: -32001,
|
|
105
|
+
data: resp,
|
|
106
|
+
message: 'RPC id mismatch'
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
} else {
|
|
110
|
+
deferred.resolve(resp);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
} catch (err) {
|
|
115
|
+
// Re-throw ComponentsVersionsError immediately without converting to JSON-RPC error
|
|
116
|
+
// This ensures version mismatch errors are surfaced to the user instead of being hidden
|
|
117
|
+
if (err && typeof err === 'object' && 'name' in err && err.name === 'ComponentsVersionsError') {
|
|
118
|
+
// Reject all pending requests with the version error
|
|
119
|
+
for(let i = 0; i < rpcCalls.length; i++){
|
|
120
|
+
rpcCalls[i].deferred.reject(err);
|
|
121
|
+
}
|
|
122
|
+
return; // Return early, the promises are already rejected
|
|
123
|
+
}
|
|
124
|
+
log.warn(`Failed to fetch from the remote server`, err);
|
|
125
|
+
for(let i = 0; i < rpcCalls.length; i++){
|
|
126
|
+
const { request, deferred } = rpcCalls[i];
|
|
127
|
+
deferred.resolve({
|
|
128
|
+
id: request.id,
|
|
129
|
+
jsonrpc: '2.0',
|
|
130
|
+
error: {
|
|
131
|
+
code: -32000,
|
|
132
|
+
data: err,
|
|
133
|
+
message: err.message ?? 'Failed request'
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
};
|
|
18
139
|
const request = async (methodName, params)=>{
|
|
19
140
|
if (!schemaHasMethod(schema, methodName)) {
|
|
20
141
|
throw new Error(`Unspecified method ${methodName} in client schema`);
|
|
@@ -26,18 +147,28 @@ import { defaultFetch } from './fetch.js';
|
|
|
26
147
|
method,
|
|
27
148
|
params
|
|
28
149
|
};
|
|
150
|
+
const deferred = promiseWithResolvers();
|
|
151
|
+
const encodedLength = jsonStringify(body).length;
|
|
152
|
+
if (encodedLength >= maxRequestBodySize) {
|
|
153
|
+
throw new Error(`Request body too large: ${encodedLength}`);
|
|
154
|
+
}
|
|
155
|
+
queue.push({
|
|
156
|
+
request: body,
|
|
157
|
+
deferred,
|
|
158
|
+
encodedLength
|
|
159
|
+
});
|
|
160
|
+
if (sendBatchTimeoutHandle === undefined) {
|
|
161
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
162
|
+
sendBatchTimeoutHandle = setTimeout(sendBatch, batchWindowMS);
|
|
163
|
+
}
|
|
29
164
|
log.debug(format(`request`, method, params));
|
|
30
|
-
const
|
|
165
|
+
const response = await deferred.promise;
|
|
31
166
|
log.debug(format(`result`, method, response));
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
-
response
|
|
35
|
-
headers
|
|
167
|
+
if ('error' in response) {
|
|
168
|
+
throw new Error(response.error.message, {
|
|
169
|
+
cause: response.error
|
|
36
170
|
});
|
|
37
171
|
}
|
|
38
|
-
if (response.error) {
|
|
39
|
-
throw response.error;
|
|
40
|
-
}
|
|
41
172
|
// TODO(palla/schemas): Find a better way to handle null responses (JSON.stringify(null) is string "null").
|
|
42
173
|
if ([
|
|
43
174
|
null,
|
|
@@ -49,9 +180,38 @@ import { defaultFetch } from './fetch.js';
|
|
|
49
180
|
}
|
|
50
181
|
return schema[methodName].returnType().parseAsync(response.result);
|
|
51
182
|
};
|
|
52
|
-
const
|
|
183
|
+
const clientId = nextClientId++;
|
|
184
|
+
const proxy = {
|
|
185
|
+
[CLIENT_ID]: clientId,
|
|
186
|
+
[SEND_BATCH]: sendBatch
|
|
187
|
+
};
|
|
53
188
|
for (const method of Object.keys(schema)){
|
|
54
|
-
|
|
189
|
+
// attach the clientId to the promise so that if we want to trigger a batch immediately, we can do that
|
|
190
|
+
proxy[method] = (...params)=>Object.assign(request(method, params), {
|
|
191
|
+
[CLIENT_ID]: clientId
|
|
192
|
+
});
|
|
55
193
|
}
|
|
194
|
+
clients.set(clientId, new WeakRef(proxy));
|
|
56
195
|
return proxy;
|
|
57
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* Triggers a batch to be sent immediately
|
|
199
|
+
*/ export async function batch(values) {
|
|
200
|
+
const clientIdsSeen = new Set();
|
|
201
|
+
await Promise.allSettled(values.map((val)=>{
|
|
202
|
+
if (typeof val === 'object' && val && Object.hasOwn(val, CLIENT_ID)) {
|
|
203
|
+
const clientId = val[CLIENT_ID];
|
|
204
|
+
if (typeof clientId === 'number') {
|
|
205
|
+
if (clientIdsSeen.has(clientId)) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
clientIdsSeen.add(clientId);
|
|
209
|
+
const client = clients.get(clientId)?.deref();
|
|
210
|
+
if (client) {
|
|
211
|
+
return client[SEND_BATCH]();
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}));
|
|
216
|
+
return Promise.all(values);
|
|
217
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"undici.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/client/undici.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAmB,MAAM,QAAQ,CAAC;AAKhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,wBAAgB,eAAe,CAAC,MAAM,QAAc,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"undici.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/client/undici.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAmB,MAAM,QAAQ,CAAC;AAKhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,wBAAgB,eAAe,CAAC,MAAM,QAAc,GAAG,YAAY,CAwDlE"}
|
|
@@ -5,10 +5,9 @@ import { jsonStringify } from '../convert.js';
|
|
|
5
5
|
const log = createLogger('json-rpc:json_rpc_client:undici');
|
|
6
6
|
export { Agent };
|
|
7
7
|
export function makeUndiciFetch(client = new Agent()) {
|
|
8
|
-
return async (host,
|
|
9
|
-
log.trace(`JsonRpcClient.fetch: ${host}
|
|
8
|
+
return async (host, body, extraHeaders = {}, noRetry = false)=>{
|
|
9
|
+
log.trace(`JsonRpcClient.fetch: ${host}`, {
|
|
10
10
|
host,
|
|
11
|
-
rpcMethod,
|
|
12
11
|
body
|
|
13
12
|
});
|
|
14
13
|
let resp;
|
|
@@ -16,7 +15,7 @@ export function makeUndiciFetch(client = new Agent()) {
|
|
|
16
15
|
resp = await client.request({
|
|
17
16
|
method: 'POST',
|
|
18
17
|
origin: new URL(host),
|
|
19
|
-
path:
|
|
18
|
+
path: '/',
|
|
20
19
|
body: jsonStringify(body),
|
|
21
20
|
headers: {
|
|
22
21
|
...extraHeaders,
|
|
@@ -24,21 +23,21 @@ export function makeUndiciFetch(client = new Agent()) {
|
|
|
24
23
|
}
|
|
25
24
|
});
|
|
26
25
|
} catch (err) {
|
|
27
|
-
const errorMessage = `Error fetching from host ${host}
|
|
26
|
+
const errorMessage = `Error fetching from host ${host}: ${String(err)}`;
|
|
28
27
|
throw new Error(errorMessage);
|
|
29
28
|
}
|
|
30
29
|
let responseJson;
|
|
31
30
|
const responseOk = resp.statusCode >= 200 && resp.statusCode <= 299;
|
|
32
31
|
try {
|
|
33
32
|
responseJson = await resp.body.json();
|
|
34
|
-
} catch
|
|
33
|
+
} catch {
|
|
35
34
|
if (!responseOk) {
|
|
36
35
|
throw new Error('HTTP ' + resp.statusCode);
|
|
37
36
|
}
|
|
38
37
|
throw new Error(`Failed to parse body as JSON: ${await resp.body.text()}`);
|
|
39
38
|
}
|
|
40
39
|
if (!responseOk) {
|
|
41
|
-
const errorMessage = `Error ${resp.statusCode} response from server ${host}
|
|
40
|
+
const errorMessage = `Error ${resp.statusCode} response from server ${host}: ${responseJson}`;
|
|
42
41
|
if (noRetry || resp.statusCode >= 400 && resp.statusCode < 500) {
|
|
43
42
|
throw new NoRetryError(errorMessage);
|
|
44
43
|
} else {
|
|
@@ -5,20 +5,13 @@ import type { ZodFor } from '../schemas/types.js';
|
|
|
5
5
|
* @param schema - Zod schema.
|
|
6
6
|
* @returns Result of parsing json with schema.
|
|
7
7
|
*/
|
|
8
|
-
export declare function jsonParseWithSchema<T>(json: string, schema: ZodFor<T>):
|
|
9
|
-
/**
|
|
10
|
-
* Parses a json string and then feeds it to a zod schema.
|
|
11
|
-
* @param json - JSON string.
|
|
12
|
-
* @param schema - Zod schema.
|
|
13
|
-
* @returns Result of parsing json with schema.
|
|
14
|
-
*/
|
|
15
|
-
export declare function jsonParseWithSchemaSync<T>(json: string, schema: ZodFor<T>): T;
|
|
8
|
+
export declare function jsonParseWithSchema<T>(json: string, schema: ZodFor<T>): T;
|
|
16
9
|
/**
|
|
17
10
|
* JSON.stringify helper that stringifies bigints, buffers, maps, and sets.
|
|
18
11
|
* @param obj - The object to be stringified.
|
|
19
12
|
* @returns The resulting string.
|
|
20
13
|
*/
|
|
21
|
-
export declare function jsonStringify(obj:
|
|
14
|
+
export declare function jsonStringify(obj: unknown, prettify?: boolean): string;
|
|
22
15
|
/**
|
|
23
16
|
* Calls jsonStringify but swallows errors.
|
|
24
17
|
* Use for logging, when you don't want to potentially introduce another thing that throws.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/json-rpc/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/json-rpc/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAoBtE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMjF"}
|
package/dest/json-rpc/convert.js
CHANGED
|
@@ -5,14 +5,6 @@ import { Buffer } from 'buffer';
|
|
|
5
5
|
* @param schema - Zod schema.
|
|
6
6
|
* @returns Result of parsing json with schema.
|
|
7
7
|
*/ export function jsonParseWithSchema(json, schema) {
|
|
8
|
-
return schema.parseAsync(JSON.parse(json));
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Parses a json string and then feeds it to a zod schema.
|
|
12
|
-
* @param json - JSON string.
|
|
13
|
-
* @param schema - Zod schema.
|
|
14
|
-
* @returns Result of parsing json with schema.
|
|
15
|
-
*/ export function jsonParseWithSchemaSync(json, schema) {
|
|
16
8
|
return schema.parse(JSON.parse(json));
|
|
17
9
|
}
|
|
18
10
|
/**
|
|
@@ -42,7 +34,7 @@ import { Buffer } from 'buffer';
|
|
|
42
34
|
*/ export function tryJsonStringify(obj, prettify) {
|
|
43
35
|
try {
|
|
44
36
|
return jsonStringify(obj, prettify);
|
|
45
|
-
} catch
|
|
37
|
+
} catch {
|
|
46
38
|
return undefined;
|
|
47
39
|
}
|
|
48
40
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/json-rpc/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B"}
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
* Test class for testing string converter.
|
|
3
3
|
*/
|
|
4
4
|
export declare class ToStringClass {
|
|
5
|
-
readonly x: string;
|
|
6
|
-
readonly y: string;
|
|
7
|
-
constructor(
|
|
5
|
+
/** A value */ readonly x: string;
|
|
6
|
+
/** Another value */ readonly y: string;
|
|
7
|
+
constructor(
|
|
8
|
+
/** A value */ x: string,
|
|
9
|
+
/** Another value */ y: string);
|
|
8
10
|
toString(): string;
|
|
9
11
|
static fromString(value: string): ToStringClass;
|
|
10
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class_a.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/fixtures/class_a.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"class_a.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/fixtures/class_a.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,aAAa;IAEtB,cAAc,UAAiB,CAAC,EAAE,MAAM;IACxC,oBAAoB,UAAiB,CAAC,EAAE,MAAM;;IAD9C,cAAc,CAAiB,CAAC,EAAE,MAAM;IACxC,oBAAoB,CAAiB,CAAC,EAAE,MAAM;IAGhD,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM;CAIhC"}
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
* Test class for testing string converter.
|
|
3
3
|
*/
|
|
4
4
|
export declare class ToStringClass {
|
|
5
|
-
readonly x: string;
|
|
6
|
-
readonly y: string;
|
|
7
|
-
constructor(
|
|
5
|
+
/** A value */ readonly x: string;
|
|
6
|
+
/** Another value */ readonly y: string;
|
|
7
|
+
constructor(
|
|
8
|
+
/** A value */ x: string,
|
|
9
|
+
/** Another value */ y: string);
|
|
8
10
|
toString(): string;
|
|
9
11
|
static fromString(value: string): ToStringClass;
|
|
10
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class_b.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/fixtures/class_b.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"class_b.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/fixtures/class_b.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,aAAa;IAEtB,cAAc,UAAiB,CAAC,EAAE,MAAM;IACxC,oBAAoB,UAAiB,CAAC,EAAE,MAAM;;IAD9C,cAAc,CAAiB,CAAC,EAAE,MAAM;IACxC,oBAAoB,CAAiB,CAAC,EAAE,MAAM;IAGhD,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM;CAIhC"}
|
package/dest/json-rpc/index.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { jsonStringify, jsonParseWithSchema,
|
|
1
|
+
export { jsonStringify, jsonParseWithSchema, tryJsonStringify } from './convert.js';
|
|
2
|
+
export { BadRequestError } from './errors.js';
|
|
2
3
|
//# sourceMappingURL=index.d.ts.map
|