Skip to content

add some ffi functions #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions lib/elixir_scrip_web/Math.ex
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
defmodule ElixirScript.Web.Math do
use ElixirScript.FFI, global: true, name: :Math

#Properties
#TODO: Capitals :(

#Methods
defexternal abs(x)
defexternal acos(x)
defexternal acosh(x)
defexternal asin(x)
defexternal asinh(x)
defexternal atan(x)
defexternal atanh(x)
defexternal atan2(y, x)
defexternal cbrt(x)
defexternal ceil(x)
defexternal clz32(x)
defexternal cos(x)
defexternal cosh(x)
defexternal exp(x)
defexternal expm1(x)
defexternal floor(x)
defexternal fround(x)
defexternal hypot(x)
defexternal hypot(x, y)
defexternal hypot(x, y, z)
defexternal imul(x, y)
defexternal log(x)
defexternal log1p(x)
defexternal log10(x)
defexternal log2(x)
defexternal max(x)
defexternal max(x, x1)
defexternal max(x, x1, x2)
defexternal min(x)
defexternal min(x, x1)
defexternal min(x, x1, x2)
defexternal pow(x, y)
defexternal random()
defexternal round(x)
defexternal sign(x)
defexternal sin(x)
defexternal sinh(x)
defexternal sqrt(x)
defexternal tan(x)
defexternal tanh(x)
defexternal trunc(x)
end
3 changes: 3 additions & 0 deletions lib/elixir_scrip_web/console.ex
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ defmodule ElixirScript.Web.Console do
defexternal info(obj)

defexternal log(obj)
defexternal log(obj, obj1)
defexternal log(obj, obj1, obj2)
defexternal log(obj, obj1, obj2, obj3)

defexternal warn(obj)

Expand Down
22 changes: 22 additions & 0 deletions lib/elixir_scrip_web/location.ex
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
defmodule ElixirScript.Web.Location do
use ElixirScript.FFI, global: true, name: :location

#Properties
defexternal href()
defexternal protocol()
defexternal host()
defexternal hostname()
defexternal port()
defexternal pathname()
defexternal search()
defexternal hash()
defexternal username()
defexternal password()
defexternal origin()

#Methods
defexternal assign(url)
defexternal reload(force)
defexternal replace(url)
defexternal toString()
end
7 changes: 7 additions & 0 deletions lib/elixir_scrip_web/window.ex
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,11 @@ defmodule ElixirScript.Web.JSON do
defexternal removeEventListener(type, listener)

defexternal removeEventListener(type, listener, options)

defexternal fetch(url)
defexternal fetch(url, params)

defexternal alert(text)

defexternal confirm(text)
end