execjs v2.0.0 Execjs

Execjs

Build Status Hex.pm Version Hex.pm Download Total

Execjs allows you easily run JavaScript from Elixir. It can automatically pick the best runtime available on the system.

Runtimes

Execjs supports the following runtimes:

Use the application environment (application key: :execjs, key: :runtime) to set the runtime Execjs uses. Alternatively, the EXECJS_RUNTIME environment variable can also be used to set the runtime.

Usage

eval

iex> "'red yellow blue'.split(' ')" |> Execjs.eval
["red", "yellow", "blue"]

compile/call

iex> {source, 0} = System.cmd("curl", ["-fsSL", "--compressed", "https://coffeescript.org/browser-compiler/coffeescript.js"])
iex> context = Execjs.compile(source)
iex> Execjs.call(context, "CoffeeScript.compile", ["square = (x) -> x * x"])
"(function() {\n  var square;\n\n  square = function(x) {\n    return x * x;\n  };\n\n}).call(this);\n"

Link to this section Summary

Link to this section Types

Link to this type context()
context() :: (iodata() -> iodata())

Link to this section Functions

Link to this function call(context, identifier, args \\ [])
call(context(), String.t(), [Poison.Encoder.t()]) ::
  Poison.Parser.t() | :undefined | no_return()
Link to this function compile(source)
compile(iodata()) :: context()
Link to this function eval(source)
eval(String.t()) :: Poison.Parser.t() | :undefined | no_return()