#wasm #utilities #interface #macro #send-sync #web-worker #dportable

macro dportable-macros

Portable interface for various utilities (macros)

3 releases

0.1.2 Jul 26, 2025
0.1.1 May 4, 2025
0.1.0 May 4, 2025

#48 in #web-worker

Download history

279 downloads per month
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

~135–530KB
~13K SLoC