@@ -590,7 +590,7 @@ <h1><a href="https://github.com/bucklescript/bucklescript">BuckleScript</a> User
590
590
< ul class ="sectlevel3 ">
591
591
< li > < a href ="#_mapping_js_int_enums_to_ocaml_enums_since_2_1_0 "> Mapping JS Int enums to OCaml enums (@since 2.1.0)</ a > </ li >
592
592
< li > < a href ="#_mapping_js_string_enums_to_ocaml_enums_since_2_1_0 "> Mapping JS string enums to OCaml enums (@since 2.1.0)</ a > </ li >
593
- < li > < a href ="#_mapping_js_int_enums_to_ocaml_enums_since_2_1_0_2 "> Mapping JS Int enums to OCaml enums (@since 2.1.0)</ a > </ li >
593
+ < li > < a href ="#_mapping_js_objects_to_ocaml_records_since_2_1_0 "> Mapping JS objects to OCaml records (@since 2.1.0)</ a > </ li >
594
594
</ ul >
595
595
</ li >
596
596
< li > < a href ="#_embedding_untyped_javascript_code "> Embedding untyped Javascript code</ a >
@@ -3557,7 +3557,7 @@ <h4 id="_mapping_js_int_enums_to_ocaml_enums_since_2_1_0"><a class="anchor" href
3557
3557
< span class ="tok-o "> |</ span > < span class ="tok-nc "> A2</ span >
3558
3558
< span class ="tok-o "> |</ span > < span class ="tok-nc "> A3</ span >
3559
3559
< span class ="tok-o "> |</ span > < span class ="tok-nc "> A4</ span >
3560
- < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-n "> jsMapper </ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
3560
+ < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-n "> jsConverter </ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
3561
3561
</ div >
3562
3562
</ div >
3563
3563
< div class ="paragraph ">
@@ -3581,7 +3581,7 @@ <h4 id="_mapping_js_int_enums_to_ocaml_enums_since_2_1_0"><a class="anchor" href
3581
3581
< span class ="tok-o "> |</ span > < span class ="tok-nc "> A2</ span >
3582
3582
< span class ="tok-o "> |</ span > < span class ="tok-nc "> A3</ span > < span class ="tok-o "> [@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-k "> as</ span > < span class ="tok-mi "> 7</ span > < span class ="tok-o "> ]</ span >
3583
3583
< span class ="tok-o "> |</ span > < span class ="tok-nc "> A4</ span >
3584
- < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-n "> jsMapper </ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
3584
+ < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-n "> jsConverter </ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
3585
3585
</ div >
3586
3586
</ div >
3587
3587
< div class ="paragraph ">
@@ -3599,11 +3599,12 @@ <h4 id="_mapping_js_int_enums_to_ocaml_enums_since_2_1_0"><a class="anchor" href
3599
3599
< span class ="tok-o "> |</ span > < span class ="tok-nc "> A2</ span >
3600
3600
< span class ="tok-o "> |</ span > < span class ="tok-nc "> A3</ span >
3601
3601
< span class ="tok-o "> |</ span > < span class ="tok-nc "> A4</ span >
3602
- < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-o "> {</ span > < span class ="tok-n "> jsMapper </ span > < span class ="tok-o "> =</ span > < span class ="tok-n "> jsType </ span > < span class ="tok-o "> }</ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
3602
+ < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-o "> {</ span > < span class ="tok-n "> jsConverter </ span > < span class ="tok-o "> =</ span > < span class ="tok-n "> newType </ span > < span class ="tok-o "> }</ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
3603
3603
</ div >
3604
3604
</ div >
3605
3605
< div class ="paragraph ">
3606
- < p > In this case, it would generate two functions of such type:</ p >
3606
+ < p > In this case, it would generate two functions of such type, note < code > newType</ code > means
3607
+ a new type declaration (by default to be abstract) is created:</ p >
3607
3608
</ div >
3608
3609
< div class ="listingblock ">
3609
3610
< div class ="content ">
@@ -3632,7 +3633,7 @@ <h4 id="_mapping_js_string_enums_to_ocaml_enums_since_2_1_0"><a class="anchor" h
3632
3633
< span class ="tok-o "> |</ span > < span class ="tok-o "> `</ span > < span class ="tok-nc "> A3</ span >
3633
3634
< span class ="tok-o "> |</ span > < span class ="tok-o "> `</ span > < span class ="tok-nc "> A4</ span >
3634
3635
< span class ="tok-o "> ]</ span >
3635
- < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-n "> jsMapper </ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
3636
+ < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-n "> jsConverter </ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
3636
3637
</ div >
3637
3638
</ div >
3638
3639
< div class ="paragraph ">
@@ -3657,7 +3658,7 @@ <h4 id="_mapping_js_string_enums_to_ocaml_enums_since_2_1_0"><a class="anchor" h
3657
3658
< span class ="tok-o "> |</ span > < span class ="tok-o "> `</ span > < span class ="tok-nc "> A3</ span > < span class ="tok-o "> [@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-k "> as</ span > < span class ="tok-s2 "> "d"</ span > < span class ="tok-o "> ]</ span >
3658
3659
< span class ="tok-o "> |</ span > < span class ="tok-o "> `</ span > < span class ="tok-nc "> A4</ span >
3659
3660
< span class ="tok-o "> ]</ span >
3660
- < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-n "> jsMapper </ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
3661
+ < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-n "> jsConverter </ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
3661
3662
</ div >
3662
3663
</ div >
3663
3664
< div class ="paragraph ">
@@ -3673,7 +3674,7 @@ <h4 id="_mapping_js_string_enums_to_ocaml_enums_since_2_1_0"><a class="anchor" h
3673
3674
< span class ="tok-o "> |</ span > < span class ="tok-o "> `</ span > < span class ="tok-nc "> A3</ span >
3674
3675
< span class ="tok-o "> |</ span > < span class ="tok-o "> `</ span > < span class ="tok-nc "> A4</ span >
3675
3676
< span class ="tok-o "> ]</ span >
3676
- < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-o "> {</ span > < span class ="tok-n "> jsMapper </ span > < span class ="tok-o "> =</ span > < span class ="tok-n "> jsType </ span > < span class ="tok-o "> }</ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
3677
+ < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-o "> {</ span > < span class ="tok-n "> jsConverter </ span > < span class ="tok-o "> =</ span > < span class ="tok-n "> newType </ span > < span class ="tok-o "> }</ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
3677
3678
</ div >
3678
3679
</ div >
3679
3680
< div class ="paragraph ">
@@ -3696,15 +3697,15 @@ <h4 id="_mapping_js_string_enums_to_ocaml_enums_since_2_1_0"><a class="anchor" h
3696
3697
</ div >
3697
3698
</ div >
3698
3699
< div class ="sect3 ">
3699
- < h4 id ="_mapping_js_int_enums_to_ocaml_enums_since_2_1_0_2 "> < a class ="anchor " href ="#_mapping_js_int_enums_to_ocaml_enums_since_2_1_0_2 "> </ a > Mapping JS Int enums to OCaml enums (@since 2.1.0)</ h4 >
3700
+ < h4 id ="_mapping_js_objects_to_ocaml_records_since_2_1_0 "> < a class ="anchor " href ="#_mapping_js_objects_to_ocaml_records_since_2_1_0 "> </ a > Mapping JS objects to OCaml records (@since 2.1.0)</ h4 >
3700
3701
< div class ="listingblock ">
3701
3702
< div class ="content ">
3702
3703
< pre class ="pygments highlight "> < code data-lang ="ocaml "> < span class ="tok-k "> type</ span > < span class ="tok-n "> t</ span > < span class ="tok-o "> =</ span >
3703
3704
< span class ="tok-o "> {</ span >
3704
3705
< span class ="tok-n "> x</ span > < span class ="tok-o "> :</ span > < span class ="tok-kt "> int</ span > < span class ="tok-o "> ;</ span >
3705
3706
< span class ="tok-n "> y</ span > < span class ="tok-o "> :</ span > < span class ="tok-kt "> int</ span >
3706
3707
< span class ="tok-o "> }</ span >
3707
- < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-n "> jsMapper </ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
3708
+ < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-n "> jsConverter </ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
3708
3709
</ div >
3709
3710
</ div >
3710
3711
< div class ="paragraph ">
@@ -3730,7 +3731,7 @@ <h4 id="_mapping_js_int_enums_to_ocaml_enums_since_2_1_0_2"><a class="anchor" hr
3730
3731
< span class ="tok-n "> x</ span > < span class ="tok-o "> :</ span > < span class ="tok-kt "> int</ span > < span class ="tok-o "> ;</ span >
3731
3732
< span class ="tok-n "> y</ span > < span class ="tok-o "> :</ span > < span class ="tok-kt "> int</ span >
3732
3733
< span class ="tok-o "> }</ span >
3733
- < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-o "> {</ span > < span class ="tok-n "> jsMapper </ span > < span class ="tok-o "> =</ span > < span class ="tok-n "> jsType </ span > < span class ="tok-o "> }]</ span > </ code > </ pre >
3734
+ < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-n "> deriving</ span > < span class ="tok-o "> {</ span > < span class ="tok-n "> jsConverter </ span > < span class ="tok-o "> =</ span > < span class ="tok-n "> newType </ span > < span class ="tok-o "> }]</ span > </ code > </ pre >
3734
3735
</ div >
3735
3736
</ div >
3736
3737
< div class ="paragraph ">
0 commit comments