#wasm #browser #channel

workflow-core

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

7 releases

0.3.12 Mar 11, 2023
0.3.10 Feb 7, 2023
0.3.2 Jan 31, 2023
0.1.0 Sep 21, 2022
0.0.0 Aug 22, 2022

#275 in WebAssembly

Download history 44/week @ 2022-12-04 36/week @ 2022-12-11 35/week @ 2022-12-18 42/week @ 2022-12-25 14/week @ 2023-01-01 46/week @ 2023-01-08 43/week @ 2023-01-15 48/week @ 2023-01-22 246/week @ 2023-01-29 160/week @ 2023-02-05 146/week @ 2023-02-12 168/week @ 2023-02-19 89/week @ 2023-02-26 122/week @ 2023-03-05 175/week @ 2023-03-12 67/week @ 2023-03-19

453 downloads per month
Used in 9 crates

MIT/Apache

46KB
887 lines

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

~3–11MB
~196K SLoC