estado
Máquina de estados: transições declaradas, guardas e histórico.
bash
dataforge add estado| Versão | 1.0.0 |
| Licença | MIT |
| Dependências | nenhuma |
| Exporta | 3 símbolos |
Por que existe#
A transição só acontece se foi declarada. É isso que distingue uma máquina de estados de um punhado de given espalhados: o que não pode acontecer fica impossível, não apenas improvável.
Uso#
dataforge
adopt estado as S
m := S.maquina("rascunho")
m.permitir("rascunho", "publicar", "publicado")
m.permitir("publicado", "arquivar", "arquivado")
out m.pode("publicar") // yes
m.disparar("publicar")
out m.atual // publicadoAPI#
O que relay exporta — 3 símbolos:
dataforge
blueprint Maquina
maquina(inicial)
de_tabela(inicial, tabela)Instalar#
bash
dataforge add estado
dataforge add estado@1.0.0
dataforge add estado@^1.0