12 releases

0.3.1 Mar 24, 2024
0.2.0 Jan 26, 2024
0.1.7 Dec 3, 2023
0.1.6 Nov 29, 2023
0.1.0 Dec 15, 2022

#528 in WebAssembly

Download history 13/week @ 2024-01-05 9/week @ 2024-01-12 57/week @ 2024-01-19 27/week @ 2024-01-26 13/week @ 2024-02-02 15/week @ 2024-02-16 84/week @ 2024-02-23 22/week @ 2024-03-01 7/week @ 2024-03-08 3/week @ 2024-03-15 130/week @ 2024-03-22 31/week @ 2024-03-29 26/week @ 2024-04-05

190 downloads per month

Apache-2.0

250KB
2K SLoC

Rust 1.5K SLoC // 0.0% comments TypeScript 337 SLoC // 0.1% comments Swift 35 SLoC // 0.1% comments Java 18 SLoC

Crux Time capability

This crate contains the Time capability, which can be used to ask the current time from the Shell.

For an example of how to use the capability, see the integration test.

About Crux Capabilities

Crux capabilities teach Crux how to interact with the shell when performing side effects. They do the following:

  1. define a Request struct to instruct the Shell how to perform the side effect on behalf of the Core
  2. define a Response struct to hold the data returned by the Shell after the side effect has completed
  3. declare one or more convenience methods for invoking the Shell's capability, each of which creates a Command (describing the effect and its continuation) that Crux can "execute"

Note that because Swift has no namespacing, there is currently a requirement to ensure that Request and Response are unambiguously named (e.g. HttpRequest and HttpResponse).


lib.rs:

Current time access for Crux apps

Current time (on a wall clock) is considered a side-effect (although if we were to get pedantic, it's more of a side-cause) by Crux, and has to be obtained externally. This capability provides a simple interface to do so.

This is still work in progress and as such very basic.

Dependencies

~4–6MB
~110K SLoC