diff options
author | Adam Chlipala <adamc@hcoop.net> | 2010-01-02 14:54:15 -0500 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2010-01-02 14:54:15 -0500 |
commit | d777d7da78fccb8f15eccff680deca36ae57314b (patch) | |
tree | 96967222b55ddf2e8ab94d78bbb13cf84fd1ddd4 /src/jscomp.sml | |
parent | 547adaccb0b29cc02ff89013f84ae6446665144d (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.sml | 13 |
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) |