summaryrefslogtreecommitdiff
path: root/src/settings.sml
diff options
context:
space:
mode:
authorGravatar Vladimir Shabanov <vshabanoff@gmail.com>2017-06-15 18:02:48 +0300
committerGravatar Vladimir Shabanov <vshabanoff@gmail.com>2017-06-15 18:02:48 +0300
commitab29028d5fa3aa14e043fa133e481fe2c165eca1 (patch)
treea6f0f42b899a6bd755300e9b4d8929f48b0b7932 /src/settings.sml
parent47e5f0f3e63b48e6758d1d52edffbcb8a9e74fd7 (diff)
Option to prefix all user JavaScript FFI functions with a module name (jsModule .urp option).
Diffstat (limited to 'src/settings.sml')
-rw-r--r--src/settings.sml12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/settings.sml b/src/settings.sml
index 9fdc2232..7ae4bf85 100644
--- a/src/settings.sml
+++ b/src/settings.sml
@@ -346,7 +346,7 @@ val jsFuncsBase = basisM [("alert", "alert"),
("asin", "asin"),
("acos", "acos"),
("atan", "atan"),
- ("atan2", "atan2"),
+ ("atan2", "atan2"),
("abs", "abs"),
("now", "now"),
@@ -395,9 +395,15 @@ val jsFuncsBase = basisM [("alert", "alert"),
("htmlifySpecialChar", "htmlifySpecialChar"),
("chr", "chr")]
val jsFuncs = ref jsFuncsBase
-fun setJsFuncs ls = jsFuncs := foldl (fn ((k, v), m) => M.insert (m, k, v)) jsFuncsBase ls
+val jsModule = ref NONE
+fun setJsModule m = jsModule := m
+fun jsFuncName f =
+ case !jsModule of
+ SOME m => m ^ "." ^ f
+ | NONE => f
+fun setJsFuncs ls = jsFuncs := foldl (fn ((k, v), m) => M.insert (m, k, jsFuncName v)) jsFuncsBase ls
fun jsFunc x = M.find (!jsFuncs, x)
-fun addJsFunc (k, v) = jsFuncs := M.insert (!jsFuncs, k, v)
+fun addJsFunc (k, v) = jsFuncs := M.insert (!jsFuncs, k, jsFuncName v)
fun allJsFuncs () = M.listItemsi (!jsFuncs)
datatype pattern_kind = Exact | Prefix