summaryrefslogtreecommitdiff
path: root/src/jscomp.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2010-01-02 14:54:15 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2010-01-02 14:54:15 -0500
commitf0670d5a5a60c1bdda0277fcf74f2cf3f028c5b4 (patch)
tree96967222b55ddf2e8ab94d78bbb13cf84fd1ddd4 /src/jscomp.sml
parentc8de04e4f81490bfde750375c55de2a260072e82 (diff)
JavaScript urlification; more lenient export pattern in Corify; only include scripts in pages that use JavaScript
Diffstat (limited to 'src/jscomp.sml')
-rw-r--r--src/jscomp.sml13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/jscomp.sml b/src/jscomp.sml
index ca20e71d..11d75a3a 100644
--- a/src/jscomp.sml
+++ b/src/jscomp.sml
@@ -869,10 +869,21 @@ fun process file =
| EDml _ => unsupported "DML"
| ENextval _ => unsupported "Nextval"
| ESetval _ => unsupported "Nextval"
- | EUnurlify _ => unsupported "EUnurlify"
| EReturnBlob _ => unsupported "EUnurlify"
| ERedirect _ => unsupported "ERedirect"
+ | EUnurlify (e, t) =>
+ let
+ val (e, st) = jsE inner (e, st)
+ val (e', st) = unurlifyExp loc (t, st)
+ in
+ (strcat [str ("{c:\"f\",f:\"unurlify\",a:cons({c:\"c\",v:function(s){var t=s.split(\"/\");var i=0;return "
+ ^ e' ^ "}},cons("),
+ e,
+ str ",null))}"],
+ st)
+ end
+
| ESignalReturn e =>
let
val (e, st) = jsE inner (e, st)