Packages

Embedded QuickJS-NG JavaScript engine for Elixir via Rustler NIF

Retired package: Deprecated - Use {:quickbeam, "~> 0.7.1"} — https://github.com/elixir-volt/quickbeam

Current section

Files

Jump to
quickjs_ex lib quick_js_ex native.ex
Raw

lib/quick_js_ex/native.ex

defmodule QuickJSEx.Native do
@moduledoc false
version = Mix.Project.config()[:version]
use RustlerPrecompiled,
otp_app: :quickjs_ex,
crate: "quickjs_ex_nif",
base_url: "https://github.com/dannote/quickjs_ex/releases/download/v#{version}",
force_build: System.get_env("QUICKJS_EX_BUILD") in ["1", "true"],
targets: ~w(
aarch64-apple-darwin
aarch64-unknown-linux-gnu
x86_64-apple-darwin
x86_64-unknown-linux-gnu
x86_64-unknown-linux-musl
x86_64-pc-windows-gnu
x86_64-pc-windows-msvc
),
nif_versions: ["2.15"],
version: version
@spec start_runtime(pid(), boolean()) :: :ok
def start_runtime(_pid, _browser_stubs), do: :erlang.nif_error(:nif_not_loaded)
@spec eval_sync(reference(), String.t()) :: {:ok, String.t()} | {:error, String.t()}
def eval_sync(_runtime, _code), do: :erlang.nif_error(:nif_not_loaded)
@spec eval_async(term(), reference(), String.t()) :: :ok
def eval_async(_from, _runtime, _code), do: :erlang.nif_error(:nif_not_loaded)
@spec call_sync(reference(), String.t(), String.t()) :: {:ok, String.t()} | {:error, String.t()}
def call_sync(_runtime, _fn_name, _args_json), do: :erlang.nif_error(:nif_not_loaded)
@spec load_module(reference(), String.t(), String.t()) ::
{:ok, String.t()} | {:error, String.t()}
def load_module(_runtime, _name, _code), do: :erlang.nif_error(:nif_not_loaded)
@spec reset_runtime(reference()) :: {:ok, String.t()} | {:error, String.t()}
def reset_runtime(_runtime), do: :erlang.nif_error(:nif_not_loaded)
@spec stop_runtime(reference()) :: :ok
def stop_runtime(_runtime), do: :erlang.nif_error(:nif_not_loaded)
end