diff options
author | Adam Chlipala <adamc@csail.mit.edu> | 2017-07-12 15:16:54 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-12 15:16:54 -0400 |
commit | e2457c8e3910d1f67749b15c1bfbf13be2a5b058 (patch) | |
tree | a6f0f42b899a6bd755300e9b4d8929f48b0b7932 /src/settings.sml | |
parent | 47e5f0f3e63b48e6758d1d52edffbcb8a9e74fd7 (diff) | |
parent | ab29028d5fa3aa14e043fa133e481fe2c165eca1 (diff) |
Merge pull request #81 from vshabanov/jsModule-option
Option to prefix all user JavaScript FFI functions with a module name
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 |