[
    {
        "name": "ISO8601",
        "comment": " This package provides functionality for working with time and strings based\non the ISO 8601 standard i.e. `2016-03-31T12:13:14.22-04:00`\n\n\n# Time record\n\n@docs Time, Weekday, Offset\n\n\n# Accessors\n\n@docs year, month, day, hour, minute, second, millisecond, offset, weekday\n\n\n# Parsing\n\n@docs fromString, toString\n\n\n# Time conversion\n\n@docs toTime, fromTime\n\n\n# Manipulation\n\nNote: The Time record has an offset, but not a time size. Adding or\nsubtracting time across a daylight savings boundary will NOT adjust the\noffset.\n\n@docs diff, sub, add\n\n",
        "unions": [
            {
                "name": "Weekday",
                "comment": " Represents one of the seven days of the week\n",
                "args": [],
                "cases": [
                    [
                        "Mon",
                        []
                    ],
                    [
                        "Tue",
                        []
                    ],
                    [
                        "Wed",
                        []
                    ],
                    [
                        "Thu",
                        []
                    ],
                    [
                        "Fri",
                        []
                    ],
                    [
                        "Sat",
                        []
                    ],
                    [
                        "Sun",
                        []
                    ]
                ]
            }
        ],
        "aliases": [
            {
                "name": "Offset",
                "comment": " Offset represents the hour and minute timezone offset from UTC.\n",
                "args": [],
                "type": "( Int, Int )"
            },
            {
                "name": "Time",
                "comment": " Record representing the time. Offset is tuple representing the hour and minute ± from UTC.\n",
                "args": [],
                "type": "Model"
            }
        ],
        "values": [
            {
                "name": "add",
                "comment": " Add milliseconds to a Time records\n",
                "type": "Time -> Float -> Time"
            },
            {
                "name": "day",
                "comment": " return the day\n",
                "type": "Time -> Int"
            },
            {
                "name": "diff",
                "comment": " the difference bewteen two Time records in milliseconds\n",
                "type": "Time -> Time -> Float"
            },
            {
                "name": "fromString",
                "comment": " Given an ISO 8601 compatible string, returns a Time record.\n\n    ISO8601.fromString \"2016-01-01T01:30:00-04:00\"\n    -- { year = 2016, month = 1, day = 1, hour = 1, minute = 30, second = 0, millisecond = 0, offset = (-4,0) }\n        : ISO8601.Time\n    ISO8601.fromString \"2016-11-07\"\n    --{ year = 2016, month = 11, day = 7, hour = 0, minute = 0, second = 0, millisecond = 0, offset = (0,0) }\n        : ISO8601.Time\n    ```\n\n",
                "type": "String -> Result String Time"
            },
            {
                "name": "fromTime",
                "comment": " Converts the milliseconds relative to the Unix epoch to a Time record.\n",
                "type": "Float -> Time"
            },
            {
                "name": "hour",
                "comment": " return the hour\n",
                "type": "Time -> Int"
            },
            {
                "name": "millisecond",
                "comment": " return the millisecond\n",
                "type": "Time -> Int"
            },
            {
                "name": "minute",
                "comment": " return the minute\n",
                "type": "Time -> Int"
            },
            {
                "name": "month",
                "comment": " return the month\n",
                "type": "Time -> Int"
            },
            {
                "name": "offset",
                "comment": " return the offset\n",
                "type": "Time -> Offset"
            },
            {
                "name": "second",
                "comment": " return the secon\n",
                "type": "Time -> Int"
            },
            {
                "name": "sub",
                "comment": " Subtract milliseconds from a Time records\n",
                "type": "Time -> Float -> Time"
            },
            {
                "name": "toString",
                "comment": " Converts a Time record to an ISO 8601 formated string.\n",
                "type": "Time -> String"
            },
            {
                "name": "toTime",
                "comment": " Converts the Time to milliseconds relative to the Unix epoch: `1970-01-01T00:00:00Z`\n",
                "type": "Time -> Float"
            },
            {
                "name": "weekday",
                "comment": " Returns the day of the week from the Time record\n",
                "type": "Time -> Weekday"
            },
            {
                "name": "year",
                "comment": " return the year\n",
                "type": "Time -> Int"
            }
        ],
        "binops": []
    }
]