anmolitor/elm-protoc-utils/1.1.0

NOTE: the latest version is 2.3.0

Formerly andreasewering/elm-protoc-utils. Search finds this package by either name.

Protobuf.Utils.Int64

Utility methods for Int64 needed in the Protobuf/gRPC context.

toSignedString : Int64 -> String

Interpret a Int64 as an unsigned integer, and give its string representation.

toSignedString (fromInt 10)
    --> "10"


toSignedString (fromInt -10)
    --> "-10"
toUnsignedString : Int64 -> String

Interpret a Int64 as an unsigned integer, and give its string representation

toUnsignedString (fromInt 10)
    --> "10"


toUnsignedString (fromInt -10)
    --> "18446744073709551606"
fromSignedString : String -> Maybe Int64

Parse a signed Int64 from its string representation

fromSignedString "10"
    --> Just (Int64 { higher = 0, lower = 10 })


fromSignedString "-10"
    --> Just (Int64 { higher = -1, lower = -10 })


fromSignedString "not-a-number"
    --> Nothing


fromSignedString "9223372036854775807"
    --> Just (Int64 { higher = 2147483647, lower = -1 })


fromSignedString "-9223372036854775808"
    --> Just (Int64 { higher = -2147483648, lower = 0 })


fromSignedString "-9223372036854775809"
    --> Nothing
fromUnsignedString : String -> Maybe Int64

Parse an unsigned Int64 from its string representation

fromUnsignedString "10"
    --> Just (Int64 { higher = 0, lower = 10 })


fromUnsignedString "-10"
    --> Nothing


fromUnsignedString "not-a-number"
    --> Nothing


fromUnsignedString "9223372036854775807"
    --> Just (Int64 { higher = 2147483647, lower = -1 })


fromUnsignedString "18446744073709551615"
    --> Just (Int64 { higher = -1, lower = -1 })


fromUnsignedString "18446744073709551616"
    --> Nothing