[
    {
        "name": "Transit",
        "comment": " Delayed model update for transition effects in Elm.\n\n# Types\n@docs Action, Status, WithTransition\n\n# Updates\n@docs init, update\n\n# Helpers\n@docs statusName\n",
        "unions": [
            {
                "name": "Action",
                "comment": " A type for transition steps ",
                "args": [
                    "m"
                ],
                "cases": []
            },
            {
                "name": "Status",
                "comment": " A type for the transition status\n* Exiting: model update scheduled\n* Entering: model update applied\n* Entered: transition finished\n",
                "args": [],
                "cases": [
                    [
                        "Exiting",
                        []
                    ],
                    [
                        "Entering",
                        []
                    ],
                    [
                        "Entered",
                        []
                    ]
                ]
            }
        ],
        "aliases": [
            {
                "name": "WithTransition",
                "comment": " An extensible record type containing the transition status ",
                "args": [
                    "m"
                ],
                "type": "{ m | transitStatus : Status }"
            }
        ],
        "values": [
            {
                "name": "init",
                "comment": " Initialize the transition. The returned effect is carrying the exit action,\nholding the desired model update to be done and the transition delay (before and\nafter the model update)\n",
                "type": "ModelUpdate m -> Time -> Effects (Action m)"
            },
            {
                "name": "statusName",
                "comment": " Helper for the views: class name with CSS transition ",
                "type": "WithTransition m -> String"
            },
            {
                "name": "update",
                "comment": " Update the transition status, and apply the desired model update when it's time to.\nReturns the updated model and the effect carrying the next transition action.\n",
                "type": "Action m -> WithTransition m -> ( WithTransition m, Effects (Action m) )"
            }
        ],
        "binops": []
    }
]