aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/monoize.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2014-08-01 11:43:44 -0400
committerGravatar Adam Chlipala <adam@chlipala.net>2014-08-01 11:43:44 -0400
commit8ef3bce7ec88bb0c73a5885bca9f27526a1eae8b (patch)
treed48bf4300318cd966cab3547488c477feaf40119 /src/monoize.sml
parent3154131cddb8bc8fe76b86bd9f4902f1d531bce6 (diff)
'aria-*' attributes
Diffstat (limited to 'src/monoize.sml')
-rw-r--r--src/monoize.sml9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/monoize.sml b/src/monoize.sml
index a639f4a6..9182c077 100644
--- a/src/monoize.sml
+++ b/src/monoize.sml
@@ -235,6 +235,7 @@ fun monoType env =
| L.CFfi ("Basis", "requestHeader") => (L'.TFfi ("Basis", "string"), loc)
| L.CFfi ("Basis", "responseHeader") => (L'.TFfi ("Basis", "string"), loc)
| L.CFfi ("Basis", "envVar") => (L'.TFfi ("Basis", "string"), loc)
+ | L.CFfi ("Basis", "data_attr_kind") => (L'.TFfi ("Basis", "string"), loc)
| L.CFfi ("Basis", "data_attr") => (L'.TFfi ("Basis", "string"), loc)
| L.CApp ((L.CFfi ("Basis", "serialized"), _), _) =>
@@ -3122,12 +3123,16 @@ fun monoExp (env, st, fm) (all as (e, loc)) =
fm)
end
- | L.EFfiApp ("Basis", "data_attr", [(s1, _), (s2, _)]) =>
+ | L.EFfi ("Basis", "data_kind") => ((L'.EPrim (Prim.String "data-"), loc), fm)
+ | L.EFfi ("Basis", "aria_kind") => ((L'.EPrim (Prim.String "aria-"), loc), fm)
+
+ | L.EFfiApp ("Basis", "data_attr", [(sk, _), (s1, _), (s2, _)]) =>
let
+ val (sk, fm) = monoExp (env, st, fm) sk
val (s1, fm) = monoExp (env, st, fm) s1
val (s2, fm) = monoExp (env, st, fm) s2
in
- ((L'.EStrcat ((L'.EPrim (Prim.String "data-"), loc),
+ ((L'.EStrcat (sk,
(L'.EStrcat ((L'.EFfiApp ("Basis", "blessData", [(s1, (L'.TFfi ("Basis", "string"), loc))]), loc),
(L'.EStrcat ((L'.EPrim (Prim.String "=\""), loc),
(L'.EStrcat ((L'.EFfiApp ("Basis", "attrifyString", [(s2, (L'.TFfi ("Basis", "string"), loc))]), loc),