diff options
author | Vladimir Shabanov <vshabanoff@gmail.com> | 2017-06-15 18:02:48 +0300 |
---|---|---|
committer | Vladimir Shabanov <vshabanoff@gmail.com> | 2017-06-15 18:02:48 +0300 |
commit | ab29028d5fa3aa14e043fa133e481fe2c165eca1 (patch) | |
tree | a6f0f42b899a6bd755300e9b4d8929f48b0b7932 /src/settings.sml | |
parent | 47e5f0f3e63b48e6758d1d52edffbcb8a9e74fd7 (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.sml | 12 |
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 |