├── .check.exs ├── .credo.exs ├── .formatter.exs ├── .github ├── dependabot.yml └── workflows │ └── elixir.yml ├── .gitignore ├── .tool-versions ├── .tool-versions.license ├── CHANGELOG.md ├── LICENSE ├── LICENSE.license ├── LICENSES └── MIT.txt ├── README.md ├── config └── config.exs ├── documentation ├── dsls │ ├── DSL-AshStateMachine.md │ └── DSL-AshStateMachine.md.license ├── topics │ ├── charts.md │ ├── what-is-ash-state-machine.md │ └── working-with-ash-can.md └── tutorials │ └── getting-started-with-ash-state-machine.md ├── lib ├── ash_state_machine.ex ├── builtin_changes │ ├── builtin_changes.ex │ ├── next_state.ex │ └── transition_state.ex ├── charts.ex ├── checks │ └── valid_next_state.ex ├── errors │ ├── invalid_initial_state.ex │ └── no_matching_event.ex ├── info.ex ├── mix │ ├── generate_flow_charts.ex │ └── tasks │ │ └── ash_state_machine.install.ex ├── transformers │ ├── add_state.ex │ ├── ensure_state_selected.ex │ ├── fill_in_event_defaults.ex │ └── set_default_initial_state.ex └── verifiers │ ├── verify_default_initial_state.ex │ └── verify_transition_actions.ex ├── logos ├── small-logo.png └── small-logo.png.license ├── mix.exs ├── mix.lock ├── mix.lock.license └── test ├── ash_state_machine_test.exs ├── mix └── task │ └── ash_state_machine.install_test.exs ├── support ├── domain.ex ├── next_state_machine.ex ├── order.ex ├── three_states.ex └── verification.ex └── test_helper.exs /.check.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/.check.exs -------------------------------------------------------------------------------- /.credo.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/.credo.exs -------------------------------------------------------------------------------- /.formatter.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/.formatter.exs -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/elixir.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/.github/workflows/elixir.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/.gitignore -------------------------------------------------------------------------------- /.tool-versions: -------------------------------------------------------------------------------- 1 | erlang 27.0.1 2 | elixir 1.18.4 3 | pipx 1.8.0 4 | -------------------------------------------------------------------------------- /.tool-versions.license: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/.tool-versions.license -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/LICENSE -------------------------------------------------------------------------------- /LICENSE.license: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/LICENSE.license -------------------------------------------------------------------------------- /LICENSES/MIT.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/LICENSES/MIT.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/README.md -------------------------------------------------------------------------------- /config/config.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/config/config.exs -------------------------------------------------------------------------------- /documentation/dsls/DSL-AshStateMachine.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/documentation/dsls/DSL-AshStateMachine.md -------------------------------------------------------------------------------- /documentation/dsls/DSL-AshStateMachine.md.license: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/documentation/dsls/DSL-AshStateMachine.md.license -------------------------------------------------------------------------------- /documentation/topics/charts.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/documentation/topics/charts.md -------------------------------------------------------------------------------- /documentation/topics/what-is-ash-state-machine.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/documentation/topics/what-is-ash-state-machine.md -------------------------------------------------------------------------------- /documentation/topics/working-with-ash-can.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/documentation/topics/working-with-ash-can.md -------------------------------------------------------------------------------- /documentation/tutorials/getting-started-with-ash-state-machine.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/documentation/tutorials/getting-started-with-ash-state-machine.md -------------------------------------------------------------------------------- /lib/ash_state_machine.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/ash_state_machine.ex -------------------------------------------------------------------------------- /lib/builtin_changes/builtin_changes.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/builtin_changes/builtin_changes.ex -------------------------------------------------------------------------------- /lib/builtin_changes/next_state.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/builtin_changes/next_state.ex -------------------------------------------------------------------------------- /lib/builtin_changes/transition_state.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/builtin_changes/transition_state.ex -------------------------------------------------------------------------------- /lib/charts.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/charts.ex -------------------------------------------------------------------------------- /lib/checks/valid_next_state.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/checks/valid_next_state.ex -------------------------------------------------------------------------------- /lib/errors/invalid_initial_state.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/errors/invalid_initial_state.ex -------------------------------------------------------------------------------- /lib/errors/no_matching_event.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/errors/no_matching_event.ex -------------------------------------------------------------------------------- /lib/info.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/info.ex -------------------------------------------------------------------------------- /lib/mix/generate_flow_charts.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/mix/generate_flow_charts.ex -------------------------------------------------------------------------------- /lib/mix/tasks/ash_state_machine.install.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/mix/tasks/ash_state_machine.install.ex -------------------------------------------------------------------------------- /lib/transformers/add_state.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/transformers/add_state.ex -------------------------------------------------------------------------------- /lib/transformers/ensure_state_selected.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/transformers/ensure_state_selected.ex -------------------------------------------------------------------------------- /lib/transformers/fill_in_event_defaults.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/transformers/fill_in_event_defaults.ex -------------------------------------------------------------------------------- /lib/transformers/set_default_initial_state.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/transformers/set_default_initial_state.ex -------------------------------------------------------------------------------- /lib/verifiers/verify_default_initial_state.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/verifiers/verify_default_initial_state.ex -------------------------------------------------------------------------------- /lib/verifiers/verify_transition_actions.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/lib/verifiers/verify_transition_actions.ex -------------------------------------------------------------------------------- /logos/small-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/logos/small-logo.png -------------------------------------------------------------------------------- /logos/small-logo.png.license: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/logos/small-logo.png.license -------------------------------------------------------------------------------- /mix.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/mix.exs -------------------------------------------------------------------------------- /mix.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/mix.lock -------------------------------------------------------------------------------- /mix.lock.license: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/mix.lock.license -------------------------------------------------------------------------------- /test/ash_state_machine_test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/test/ash_state_machine_test.exs -------------------------------------------------------------------------------- /test/mix/task/ash_state_machine.install_test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/test/mix/task/ash_state_machine.install_test.exs -------------------------------------------------------------------------------- /test/support/domain.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/test/support/domain.ex -------------------------------------------------------------------------------- /test/support/next_state_machine.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/test/support/next_state_machine.ex -------------------------------------------------------------------------------- /test/support/order.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/test/support/order.ex -------------------------------------------------------------------------------- /test/support/three_states.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/test/support/three_states.ex -------------------------------------------------------------------------------- /test/support/verification.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/test/support/verification.ex -------------------------------------------------------------------------------- /test/test_helper.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ash-project/ash_state_machine/HEAD/test/test_helper.exs --------------------------------------------------------------------------------