Generate cryptographically random values in Elm
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
example
src
tests
.gitignore
.travis.yml
README.md
elm-package.json
package.json

README.md

elm-random-secure Build Status

Cryptographic random number generation for Elm.

A simple wrapper around the window.crypto.getRandomValues API to generate cryptographic random values in Elm.

Example

Random generation function return a Task. Depending on your use case, you might want to convert the task to an Effects or otherwise use it.

Assuming you're using start-app, in your update function:

update : Action -> Model -> (Model, Effects Action)
update action model =
  case action of
    Toss ->
      ( model
      , SecureRandom.bool -- generating a random Bool value here
          |> Task.toMaybe
          |> Task.map Catch
          |> Effects.task
      )

    Catch coin ->
      ({ model | coin = coin }, Effects.none)

TODO

  • Tests
  • Invalid argument handling