tricycle / elm-storage / Storage.Value


type alias Value =
Internal.Value

A Storage Value

Build

empty : Value

Create an empty Value

string : String -> Value

Create a Value from a String

int : Basics.Int -> Value

Create a Value from an Int

float : Basics.Float -> Value

Create a Value from a Float

bool : Basics.Bool -> Value

Create a Value from a Bool

json : Json.Decode.Value -> Value

Create a Value from a Json.Encode.Value

Helpers

compare : Value -> Value -> Basics.Order

Compare two Values

equals : Value -> Value -> Basics.Bool

Are two values the same?

JSON

encode : Value -> Json.Decode.Value

Encode a Storage.Value as a Json.Encode.Value

decode : Json.Decode.Decoder Value

Decode a Json.Encode.Value into a Json.Value

Convert

toString : Value -> Maybe String

Safely convert Value to a String

toString (string "foo")
--> Just "foo"

toString (bool True)
--> Nothing

toBool : Value -> Maybe Basics.Bool

Safely convert Value to a Bool

toBool (bool True)
--> Just True

toBool (string "foo")
--> Nothing

toFloat : Value -> Maybe Basics.Float

Safely convert Value to a Float

toFloat (float 1.6  )
--> Just 1.6

toFloat (int 1)
--> Nothing

toInt : Value -> Maybe Basics.Int

Safely convert Value to an Int

toInt (int 1  )
--> Just 1

toInt (float 1.0)
--> Nothing

toJson : Value -> Maybe Json.Decode.Value

Safely convert Value to a Json.Encode.Value toJson (json Encode.null ) --> Just Encode.null

toJson (bool True)
--> Nothing

toStringUnsafe : Value -> String

Return a String representation of a Value.

toStringUnsafe empty
--> ""

toStringUnsafe (bool True)
--> "true"

toStringUnsafe (float 1.6)
--> "1.6"

toStringUnsafe (int 2)
--> "2"

toStringUnsafe (string "foo")
--> "foo"

toStringUnsafe (json (Encode.object [ ("foo", Encode.string "bar" ) ]))
--> "{\"foo\":\"bar\"}"