jinjor / elm-insertable-key / InsertableKey

InsertableKey

Generates a new key between two keys.

import InsertableKey exposing (Key, after, before, between, init)

generateThreeKeys : Maybe ( Key, Key, Key )
generateThreeKeys =
    let
        left =
            init
    in
    after left
        |> Maybe.andThen
            (\right ->
                between left right
                    |> Maybe.map
                        (\center ->
                            ( left, center, right )
                        )
            )

Type


type alias Key =
String

The key. This type is an alias of String so you can use this as Dict keys. It is highly recommended to always generate key using this module.

Generate

init : Key

The initial key.

before : Key -> Maybe Key

Generates a key before given key.

after : Key -> Maybe Key

Generates a key after given key.

between : Key -> Key -> Maybe Key

Generates a key between given keys.

Validate

isValid : Key -> Basics.Bool

Check if a key is valid or not. Basically you don't need this function if you always generate keys using this modele.