]> Untitled Git - bdk-cli/commit
Make the blockchain interface async again on wasm32-unknown-unknown
authorAlekos Filini <alekos.filini@gmail.com>
Mon, 20 Jul 2020 13:51:57 +0000 (15:51 +0200)
committerAlekos Filini <alekos.filini@gmail.com>
Mon, 20 Jul 2020 18:02:24 +0000 (20:02 +0200)
commitceafbca6d36862a8c7acf840ff25dc24c5f0bbc8
tree54022a68f48f75e1e8d3bea8104bbb5090a94017
parentad4345febb0a0479de10008c43ac65eb218f958a
Make the blockchain interface async again on wasm32-unknown-unknown

The procedural macro `#[maybe_async]` makes a method or every method of a trait
"async" whenever the target_arch is `wasm32`, and leaves them untouched on
every other platform.

The macro `maybe_await!($e:expr)` can be used to call `maybe_async` methods on
multi-platform code: it expands to `$e` on non-wasm32 platforms and to
`$e.await` on wasm32.

The macro `await_or_block!($e:expr)` can be used to contain async code as much
as possible: it expands to `tokio::runtime::Runtime::new().unwrap().block_on($e)`
on non-wasm32 platforms, and to `$e.await` on wasm32.
Cargo.toml
src/cli.rs