State for TypeScript
State for .NET
State for Swift
The example below shows a model of a simple cassette player; use the buttons to make state changes.
The implementations of state are released under the MIT and GPL v3 licences. The MIT licence is simple and easy to understand and places almost no restrictions on what you can do with the software. The GPL v3 licence is a little more complex and places certain obligations on the user; this may be necessary when used in combination with other GPL licensed software. The choice of which licence to use is yours.