-- | Simple local storage bindings.

module Data.LocalStorage where

import Data.Text
import FFI
import Prelude

setLocalStorage :: Text -> Text -> Fay ()
setLocalStorage = ffi "(function() { localStorage[%1] = %2; })()"

getLocalStorage :: Text -> Fay (Defined Text)
getLocalStorage = ffi "localStorage[%1]"

removeLocalStorage :: Text -> Fay ()
removeLocalStorage = ffi "localStorage.removeItem(%1)"

hasLocalStorage :: Bool
hasLocalStorage = ffi "typeof(Storage) !== 'undefined'"