Interface with LocalStorage in Elm.
Quick Start
1. Install via NPM
$ npm install --save elm-local-storage-ports
elm-package.json
, import Ports/LocalStorage.elm
2. In Add node_modules/elm-local-storage-ports/lib/elm
to your source-directories
:
// elm-package.json // ... "source-directories": "../../node_modules/elm-local-storage-ports/lib/elm" // Exact path to node_modules may be different for you "./" // ...
3. Use it in your Elm code
type Msg = SaveSearch String | RequestLastSearch | ReceiveFromLocalStorage (String, Json.Decode.Value) subscriptions : Model -> Sub Msgsubscriptions model = Ports.LocalStorage.storageGetItemResponse ReceiveFromLocalStorage update : Msg -> Model -> (Model, Cmd Msg)update msg model = case msg of SaveSearch searchQuery -> ( model , Ports.LocalStorage.storageSetItem ("lastSearch", Json.Encode.string searchQuery) ) RequestLastSearch -> (model, Ports.LocalStorage.storageGetItem "lastSearch") ReceiveFromLocalStorage ("lastSearch", value) -> case JD.decodeValue JD.string value of Ok searchQuery -> -- Do something with searchQuery
4. Register your Elm app in JavaScript
Elm Router
Usingvar localStoragePorts = ;elmRouterstartElm localStoragePorts;
Without Elm Router
var localStoragePorts = ;var myElmApp = ElmMyElmApp; localStoragePorts;
API Reference
View the full API reference here.
Questions or Problems?
Feel free to create an issue in the GitHub issue tracker.