Commit a4c492f2 authored by Lucas Coatanlem's avatar Lucas Coatanlem
Browse files

Modified to correct types / function js_to_cduce. Only strings are available.

Need to do the same for Numbers, Booleans, and then Objects.
parent 9f010430
......@@ -83,21 +83,16 @@ let js_to_cduce e =
let size = Array.length content in
begin
for i = 0 to size - 1 do
let (n,v) = content.(i) in
let obj = content.(i) in
let n : Js.js_string Js.t = Js.Unsafe.get obj (Js.string "name") in
let v : 'a Js.t = Js.Unsafe.get obj (Js.string "value") in
match simple_js_to_cduce v with
None -> ()
| Some vcduce -> res := (Label.mk_ascii (Js.to_string n), vcduce) :: !res
done;
Value.vrecord !res
end
(* initialiser une ref à [],
pour chaque ligne dans content (name : n, value : v),
match simple_js_to_cduce v with
None -> ()
| Some vcduce -> res := (Label.mk_ascii (Js.to_string n), vcduce) :: !res
et enfin Value.vrecord !res
Commencer à réfléchir à js_to_cduce qui appelle la fonction, et qui, si c'est un string, fait ce qu'il faut, si c'est un number, fait ce qu'il faut, et si c'est un object, il faut que cela se rappelle récursivement pour créer un record cduce à l'intérieur du record cduce.
(* Commencer à réfléchir à js_to_cduce qui appelle la fonction, et qui, si c'est un string, fait ce qu'il faut, si c'est un number, fait ce qu'il faut, et si c'est un object, il faut que cela se rappelle récursivement pour créer un record cduce à l'intérieur du record cduce.
*)
......
......@@ -9,4 +9,13 @@ let doc = load_xml "foo"
let [] = replace_outer "foo" (print_xml <div id="bar1">[])
(* "<div id='bar' />" *)
let [] = replace_inner "bar1" (print_xml <div id="bar2">[])
let [] = print (print_xml doc)
\ No newline at end of file
let [] = print (print_xml doc)
let h (id : Latin1) (ev : { .. }) : [] =
print (string_of { foo="bar" });
print (string_of ev);
print "Handler appelé\n"
;;
let [] = register_event "baz" "click" h
;;
......@@ -4,6 +4,7 @@
</head>
<body>
Activer la console javascript avec Ctrl-Shif-I -&gt; Console
<button id="baz">click me!</button>
<div id="foo"/>
<script type="text/javascript" src="main.js" > </script>
</body>
......
......@@ -264,8 +264,13 @@ register_fun2 "replace_outer"
Value.nil
);;
let htype = Types.( arrow
(cons string_latin1)
(cons (arrow (cons empty_open_record) (cons nil)))
);;
register_fun3 "register_event"
any any any nil
string_latin1 string_latin1 htype nil
(fun id event handler ->
!Print_xml.register_event
id
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment