@@ -2930,8 +2930,7 @@ <h2 id="_js_module"><a class="anchor" href="#_js_module"></a>Js module</h2>
2930
2930
< pre class ="pygments highlight "> < code data-lang ="ocaml "> < span class ="tok-c "> (** {3 nested modules}*)</ span >
2931
2931
< span class ="tok-k "> module</ span > < span class ="tok-nc "> Null</ span > < span class ="tok-o "> =</ span > < span class ="tok-nc "> Js_null</ span >
2932
2932
< span class ="tok-k "> module</ span > < span class ="tok-nc "> Undefined</ span > < span class ="tok-o "> =</ span > < span class ="tok-nc "> Js_undefined</ span >
2933
- < span class ="tok-k "> module</ span > < span class ="tok-nc "> Null_undefined</ span > < span class ="tok-o "> =</ span > < span class ="tok-nc "> Js_null_undefined</ span >
2934
- < span class ="tok-k "> module</ span > < span class ="tok-nc "> Types</ span > < span class ="tok-o "> =</ span > < span class ="tok-nc "> Js_types</ span > </ code > </ pre >
2933
+ < span class ="tok-k "> module</ span > < span class ="tok-nc "> Null_undefined</ span > < span class ="tok-o "> =</ span > < span class ="tok-nc "> Js_null_undefined</ span > </ code > </ pre >
2935
2934
</ div >
2936
2935
</ div >
2937
2936
< div class ="paragraph ">
@@ -2947,48 +2946,6 @@ <h2 id="_js_module"><a class="anchor" href="#_js_module"></a>Js module</h2>
2947
2946
< span class ="tok-k "> external</ span > < span class ="tok-n "> empty</ span > < span class ="tok-o "> :</ span > < span class ="tok-k "> '</ span > < span class ="tok-n "> a</ span > < span class ="tok-n "> t</ span > < span class ="tok-o "> =</ span > < span class ="tok-s2 "> "null"</ span > < span class ="tok-o "> [@@</ span > < span class ="tok-n "> bs</ span > < span class ="tok-o "> .</ span > < span class ="tok-k "> val</ span > < span class ="tok-o "> ]</ span > </ code > </ pre >
2948
2947
</ div >
2949
2948
</ div >
2950
- < div class ="paragraph ">
2951
- < p > The interface for < code > Js.Types</ code > is as below</ p >
2952
- </ div >
2953
- < div class ="listingblock ">
2954
- < div class ="title "> Js.Types module</ div >
2955
- < div class ="content ">
2956
- < pre class ="pygments highlight "> < code data-lang ="ocaml "> < span class ="tok-k "> type</ span > < span class ="tok-n "> symbol</ span >
2957
- < span class ="tok-c "> (**Js symbol type only available in ES6 *)</ span >
2958
-
2959
- < span class ="tok-k "> type</ span > < span class ="tok-n "> obj_val</ span >
2960
- < span class ="tok-k "> type</ span > < span class ="tok-n "> undefined_val</ span >
2961
- < span class ="tok-c "> (** This type has only one value [undefined] *)</ span >
2962
- < span class ="tok-k "> type</ span > < span class ="tok-n "> null_val</ span >
2963
- < span class ="tok-c "> (** This type has only one value [null] *)</ span >
2964
- < span class ="tok-k "> type</ span > < span class ="tok-n "> function_val</ span >
2965
-
2966
- < span class ="tok-k "> type</ span > < span class ="tok-o "> _</ span > < span class ="tok-n "> t</ span > < span class ="tok-o "> =</ span >
2967
- < span class ="tok-o "> |</ span > < span class ="tok-nc "> Undefined</ span > < span class ="tok-o "> :</ span > < span class ="tok-n "> undefined_val</ span > < span class ="tok-n "> t</ span >
2968
- < span class ="tok-o "> |</ span > < span class ="tok-nc "> Null</ span > < span class ="tok-o "> :</ span > < span class ="tok-n "> null_val</ span > < span class ="tok-n "> t</ span >
2969
- < span class ="tok-o "> |</ span > < span class ="tok-nc "> Boolean</ span > < span class ="tok-o "> :</ span > < span class ="tok-nn "> Js</ span > < span class ="tok-p "> .</ span > < span class ="tok-n "> boolean</ span > < span class ="tok-n "> t</ span >
2970
- < span class ="tok-o "> |</ span > < span class ="tok-nc "> Number</ span > < span class ="tok-o "> :</ span > < span class ="tok-kt "> float</ span > < span class ="tok-n "> t</ span >
2971
- < span class ="tok-o "> |</ span > < span class ="tok-nc "> String</ span > < span class ="tok-o "> :</ span > < span class ="tok-kt "> string</ span > < span class ="tok-n "> t</ span >
2972
- < span class ="tok-o "> |</ span > < span class ="tok-nc "> Function</ span > < span class ="tok-o "> :</ span > < span class ="tok-n "> function_val</ span > < span class ="tok-n "> t</ span >
2973
- < span class ="tok-o "> |</ span > < span class ="tok-nc "> Object</ span > < span class ="tok-o "> :</ span > < span class ="tok-n "> obj_val</ span > < span class ="tok-n "> t</ span >
2974
- < span class ="tok-o "> |</ span > < span class ="tok-nc "> Symbol</ span > < span class ="tok-o "> :</ span > < span class ="tok-n "> symbol</ span > < span class ="tok-n "> t</ span >
2975
-
2976
- < span class ="tok-k "> val</ span > < span class ="tok-n "> reify_type</ span > < span class ="tok-o "> :</ span > < span class ="tok-k "> '</ span > < span class ="tok-n "> a</ span > < span class ="tok-o "> -></ span > < span class ="tok-k "> '</ span > < span class ="tok-n "> b</ span > < span class ="tok-n "> t</ span > < span class ="tok-o "> *</ span > < span class ="tok-k "> '</ span > < span class ="tok-n "> b</ span >
2977
- < span class ="tok-c "> (** given any value it returns its type and the same value.</ span >
2978
- < span class ="tok-c "> Note that since ['b t] is GADT, the type system will reify its type automatically,</ span >
2979
- < span class ="tok-c "> for example</ span >
2980
- < span class ="tok-c "> {[</ span >
2981
- < span class ="tok-c "> match reify_type "3" with</ span >
2982
- < span class ="tok-c "> | String, v -> v ^ " this type safe control flow analysis will infer v as string"</ span >
2983
- < span class ="tok-c "> | _ -> assert false</ span >
2984
- < span class ="tok-c "> ]}</ span >
2985
- < span class ="tok-c "> *)</ span >
2986
- < span class ="tok-k "> val</ span > < span class ="tok-n "> test</ span > < span class ="tok-o "> :</ span > < span class ="tok-k "> '</ span > < span class ="tok-n "> a</ span > < span class ="tok-o "> -></ span > < span class ="tok-k "> '</ span > < span class ="tok-n "> b</ span > < span class ="tok-n "> t</ span > < span class ="tok-o "> -></ span > < span class ="tok-kt "> bool</ span >
2987
- < span class ="tok-c "> (** {[</ span >
2988
- < span class ="tok-c "> test "x" String = true</ span >
2989
- < span class ="tok-c "> ]}*)</ span > </ code > </ pre >
2990
- </ div >
2991
- </ div >
2992
2949
< div class ="listingblock ">
2993
2950
< div class ="title "> Js Utility functions</ div >
2994
2951
< div class ="content ">
0 commit comments