Skip to content

Instantly share code, notes, and snippets.

@saschwarz
Last active March 9, 2020 13:40
Show Gist options
  • Select an option

  • Save saschwarz/2ad7eeda381f43a4139c01df82d2a9ad to your computer and use it in GitHub Desktop.

Select an option

Save saschwarz/2ad7eeda381f43a4139c01df82d2a9ad to your computer and use it in GitHub Desktop.

Revisions

  1. saschwarz revised this gist Mar 9, 2020. No changes.
  2. saschwarz revised this gist Mar 9, 2020. 1 changed file with 10 additions and 10 deletions.
    20 changes: 10 additions & 10 deletions machine.js
    Original file line number Diff line number Diff line change
    @@ -31,16 +31,16 @@ const dogPlay = Machine({
    },
    },
    on: {
    DOOR_OPEN: {
    actions: [
    assign({doorOpen: _ => true})
    ],
    },
    DOOR_CLOSE: {
    actions: [
    assign({doorOpen: _ => false})
    ]
    },
    DOOR_OPEN: {
    actions: [
    assign({doorOpen: _ => true})
    ],
    },
    DOOR_CLOSE: {
    actions: [
    assign({doorOpen: _ => false})
    ]
    },
    }
    },
    {
  3. saschwarz revised this gist Mar 9, 2020. 1 changed file with 11 additions and 11 deletions.
    22 changes: 11 additions & 11 deletions machine.js
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    // Include door/open close guards

    const dogPlay = Machine({
    id: 'dogplay',
    initial: 'sleeping',
    @@ -31,16 +31,16 @@ const dogPlay = Machine({
    },
    },
    on: {
    DOOR_OPEN: {
    actions: [
    assign({doorOpen: _ => true})
    ],
    },
    DOOR_CLOSE: {
    actions: [
    assign({doorOpen: _ => false})
    ]
    },
    DOOR_OPEN: {
    actions: [
    assign({doorOpen: _ => true})
    ],
    },
    DOOR_CLOSE: {
    actions: [
    assign({doorOpen: _ => false})
    ]
    },
    }
    },
    {
  4. saschwarz revised this gist Mar 8, 2020. 1 changed file with 11 additions and 11 deletions.
    22 changes: 11 additions & 11 deletions machine.js
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@

    // Include door/open close guards
    const dogPlay = Machine({
    id: 'dogplay',
    initial: 'sleeping',
    @@ -31,16 +31,16 @@ const dogPlay = Machine({
    },
    },
    on: {
    DOOR_OPEN: {
    actions: [
    assign({doorOpen: _ => true})
    ],
    },
    DOOR_CLOSE: {
    actions: [
    assign({doorOpen: _ => false})
    ]
    },
    DOOR_OPEN: {
    actions: [
    assign({doorOpen: _ => true})
    ],
    },
    DOOR_CLOSE: {
    actions: [
    assign({doorOpen: _ => false})
    ]
    },
    }
    },
    {
  5. saschwarz created this gist Mar 8, 2020.
    50 changes: 50 additions & 0 deletions machine.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,50 @@

    const dogPlay = Machine({
    id: 'dogplay',
    initial: 'sleeping',
    context: {
    doorOpen: false,
    },
    states: {
    sleeping: {
    on: {
    LETS_PLAY: 'standing'
    }
    },
    standing: {
    on: {
    SIT: 'sitting'
    }
    },
    sitting: {
    on: {
    STAND: 'standing',
    FREE: [
    {
    target: 'outside',
    cond: 'doorIsOpen',
    },
    { target: 'standing' }],
    },
    },
    outside: {
    },
    },
    on: {
    DOOR_OPEN: {
    actions: [
    assign({doorOpen: _ => true})
    ],
    },
    DOOR_CLOSE: {
    actions: [
    assign({doorOpen: _ => false})
    ]
    },
    }
    },
    {
    guards: {
    doorIsOpen: (context, event) => context.doorOpen
    }
    })