#wasm #portable #dportable #dportable-macros #io-crates-dportable

macro dportable-macros

Portable interface for various utilities (macros)

2 releases

new 0.1.1 May 4, 2025
0.1.0 May 4, 2025

#868 in Procedural macros


Used in dportable

MIT license

9KB
167 lines

dportable

Test Status Crate API

https://crates.io/crates/dportable

ko-fi

Portable interface for various utilities.

Intended targets are:

  • native platforms with tokio async runtime,
  • WebAssembly targeted to browsers, including WebWorkers, under standard single-threaded model.

Following features are provided:

  • Mutex and RwLock (using parking_lot on native platforms and std::cell::RefCell in WASM).
  • asynchronous spawn (not requiring Send in WASM) and sleep,
  • Timeout future,
  • dtest attribute macro to create tests for both native and WASM targets, also dtest_configure macro to configure tests to run in browser.
  • create_non_sync_send_variant_for_wasm utility macro for creating non-Send and non-Sync variants of traits for use in WASM.
  • random function.

Dependencies

~210–650KB
~15K SLoC