All Projects → actions-library → actions

actions-library / actions

Licence: MIT license
Software without side-effects. Redo and Undo.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to actions

js-undo-manager
Simple JavaScript undo/redo command manager supporting transactions with no dependencies
Stars: ✭ 23 (+0%)
Mutual labels:  undo-redo, redo, undo
UndoRedo.js
A powerful and simple JavaScript library provides a history for undo/redo functionality. Just like a time machine! 🕐
Stars: ✭ 19 (-17.39%)
Mutual labels:  undo-redo, redo, undo
Regret
[Moved to MavenCentral] An undo-redo Android library which works with any objects and with an easy implementation. Perfect for drawing, text and photo editing apps.
Stars: ✭ 65 (+182.61%)
Mutual labels:  undo-redo, redo, undo
zundo
🍜 undo/redo middleware for zustand
Stars: ✭ 170 (+639.13%)
Mutual labels:  redo, undo
undo
A undo-redo library.
Stars: ✭ 38 (+65.22%)
Mutual labels:  redo, undo
Redux Undo
♻️ higher order reducer to add undo/redo functionality to redux state containers
Stars: ✭ 2,744 (+11830.43%)
Mutual labels:  redo, undo
undox
⎌ Redux Implementation of Undo/Redo based on storing actions instead of states.
Stars: ✭ 25 (+8.7%)
Mutual labels:  redo, undo
rundo
Rundo is a undo redo library for rust which can auto generate undo op
Stars: ✭ 32 (+39.13%)
Mutual labels:  redo, undo
pio
Low-level package that provides an easy way to centralize different output targets. Supports colors and text decoration to all popular terminals
Stars: ✭ 21 (-8.7%)
Mutual labels:  modular
postcss
No description or website provided.
Stars: ✭ 59 (+156.52%)
Mutual labels:  modular
core
Platform for rapid application development.
Stars: ✭ 31 (+34.78%)
Mutual labels:  modular
phd5-app
💜 Universal web application built upon Docker, PHP & Yii 2.0 Framework
Stars: ✭ 71 (+208.7%)
Mutual labels:  modular
Eurorack
Eurorack modules designed by Lorenz Neumann
Stars: ✭ 28 (+21.74%)
Mutual labels:  modular
VoxelGamesLibv2
Powerful, feature-packed, abstract and expandable Minecraft minigames framework.
Stars: ✭ 67 (+191.3%)
Mutual labels:  modular
MERlin
MERlin is an extensible analysis pipeline applied to decoding MERFISH data
Stars: ✭ 19 (-17.39%)
Mutual labels:  modular
Lucifer
A Powerful Penetration Tool For Automating Penetration Tasks Such As Local Privilege Escalation, Enumeration, Exfiltration and More... Use Or Build Automation Modules To Speed Up Your Cyber Security Life
Stars: ✭ 302 (+1213.04%)
Mutual labels:  modular
laravel-cms-core
Laravel CMS Core
Stars: ✭ 23 (+0%)
Mutual labels:  modular
VoxelGamesLib
Multi-platform, fully-featured, data-driven, abstract and expendable minecraft minigames framework
Stars: ✭ 15 (-34.78%)
Mutual labels:  modular
go-todo-backend
Go Todo Backend example using modular project layout for product microservice.
Stars: ✭ 177 (+669.57%)
Mutual labels:  modular
lamp-luwak
Service-oriented state management for React
Stars: ✭ 12 (-47.83%)
Mutual labels:  modular

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!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].