Skip to content

Instantly share code, notes, and snippets.

View RafalFilipek's full-sized avatar
😱

Rafau RafalFilipek

😱
View GitHub Profile
Machine({
strict: true,
id: "suflerMachine",
context: {
config: {
shouldLoadUserTransactions: false,
market: "B2C"
},
user: {
isLoggedIn: true,
const m = Machine({
initial: "initializing",
context: {
processing: false,
},
states: {
initializing: {
invoke: {
src: "fetchAccounts",
onDone: { target: "ready" },
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
const m = Machine({
initial: 'initializing',
context: {
processing: false
},
states: {
initializing: {
invoke: {
src: 'fetchAccounts',
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@RafalFilipek
RafalFilipek / machine.js
Last active April 7, 2020 14:41
Generated by XState Viz: https://xstate.js.org/viz
const m = Machine({
initial: "initializing",
states: {
initializing: {
invoke: {
src: "fetch",
onDone: "ready",
},
},
ready: {
const auth = Machine({
id: 'auth',
initial: 'idle',
context: {
strategy: 'phone',
availableStrategies: ['phone', 'email']
},
states: {
idle: {
@RafalFilipek
RafalFilipek / machine.js
Last active March 27, 2020 12:20
Generated by XState Viz: https://xstate.js.org/viz
const m = Machine({
id: 'offerActionResolver',
initial: 'idle',
states: {
idle: {
on: {
'': [
{ target: 'fix', cond: 'isFix'},
{ target: "procedures"}
]
import { createMachine, assign } from "xstate";
type Context = {
groups: number[],
group: number
}
type Event =
| { type: "SELECT_OFFER_GROUP"; data: number }
| { type: "SET_GROUPS"; data: number[] };
@RafalFilipek
RafalFilipek / SketchSystems.spec
Last active March 30, 2020 14:08
# Wyrazy rozpoczynające się od małej litery są stanami.
# Wyrazy rozpoczynające się od małej litery są stanami.
# Wyrazy pisane wielkimi literami są akcjami.
#
# `_entry` - akcja wykonyana na wejściu do danego stanu
# `_entry_[suffix]` - akcja w wykonywana na wejściu do danego podstanu. Sufix jest niezbędny aby uniknąć kolizji nazw
# `_entry - condition? [value]` -> akcja wykonywana tylko gdy `condition [value]` jest spełniona
Sufler
Resolve*
_entry -> offerGroups