Pular para o conteúdo

estado

Máquina de estados: transições declaradas, guardas e histórico.

bash
dataforge add estado
Versão1.0.0
LicençaMIT
Dependênciasnenhuma
Exporta3 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                 // publicado

API#

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