actions 0.2.0

Software without side-effects. Redo and Undo. Macro's.
Documentation
  • Coverage
  • 100%
    20 out of 20 items documented1 out of 1 items with examples
  • Size
  • Source code size: 1.34 MB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.81 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 10s Average build duration of successful builds.
  • all releases: 10s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • actions-library/actions
    24 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • Xoronic

Actions

Latest Version Actions License

Beware, this library is pretty beta right now. See it as a proof of concept at this stage.

Key features

Read more about these key features here!.

Software without side-effects

  • Reduces the risk of bugs
  • Code becomes modular!
    • An element/struct can be taken out without any issues, no worries about what it affects: it only affects things it owns
  • Without side-effects it is much easier to reason about the code and what it does.

Redo and Undo

Undo and redo functionality is an essential requirement for a lot of software. Users heavily rely on it.

Creating a Chain of actions

For example, if you are writing an editor for a game-engine. Whenever the user saves, the current chain could be compressed an stored to the drive (where size matters). It could then be used to show the differences between saves to the user (the minimal single actions required to get to the new state: "You moved this object", etc.).

Getting Started

You can find the tutorials here!.

Please help!

There are so many ways you can help:

  • Implement this library in practice and report what about the API and the documention is unclear or can be improved
  • If you feel this library misses a feature, please open an issue!
  • Fix bugs which will probably appear in the library :)
  • If you still not sure how to help, open an issue

Questions?

Open an issue at GitHub!