#browser #channel

workflow-core

Utilities and curated re-exports for async rust native and browser development

23 releases (8 breaking)

0.10.3 Jan 16, 2024
0.10.2 Dec 24, 2023
0.8.1 Nov 1, 2023
0.3.17 May 28, 2023
0.1.0 Sep 21, 2022

#696 in WebAssembly

Download history 906/week @ 2023-10-27 409/week @ 2023-11-03 328/week @ 2023-11-10 354/week @ 2023-11-17 373/week @ 2023-11-24 275/week @ 2023-12-01 437/week @ 2023-12-08 598/week @ 2023-12-15 728/week @ 2023-12-22 413/week @ 2023-12-29 596/week @ 2024-01-05 501/week @ 2024-01-12 805/week @ 2024-01-19 373/week @ 2024-01-26 350/week @ 2024-02-02 227/week @ 2024-02-09

1,828 downloads per month
Used in 58 crates (28 directly)

MIT/Apache

97KB
2K SLoC

workflow-core

Part of the workflow-rs application framework.


github crates.io docs.rs license

Collection of utilities and curated re-exports that are able to operate on native platforms as well as in the WASM32 Web Browser & Node.js environments.

Features

  • #[derive(Describe)] derive macro for enums offering conversion of enums to and from strings as well as associating a custom description attribute with each of the enum values.
  • id module offering a random 64-bit UUID-like base58-encodable identifier representation (useful for DOM element IDs)
  • task module offering async spawn() functionality for async code task execution as well as re-exports following modules:
    • async_std::channel: offering unbounded and bounded channels from async_std
    • channel::oneshot: asias for async_std::channel::bounded(1)
    • triggered: re-export of the Triggered crate
  • async sleep() and yield_now() functions
  • async yield_executor() for higher-level suspension of the browser event loop
  • utility module functions for buffer manipulation

Dependencies

~17–33MB
~512K SLoC