@@ -2930,8 +2930,7 @@ <h2 id="_js_module"><a class="anchor" href="#_js_module"></a>Js module</h2>
29302930< pre class ="pygments highlight "> < code data-lang ="ocaml "> < span class ="tok-c "> (** {3 nested modules}*)</ span >
29312931< span class ="tok-k "> module</ span > < span class ="tok-nc "> Null</ span > < span class ="tok-o "> =</ span > < span class ="tok-nc "> Js_null</ span >
29322932< 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 >
29352934</ div >
29362935</ div >
29372936< div class ="paragraph ">
@@ -2947,48 +2946,6 @@ <h2 id="_js_module"><a class="anchor" href="#_js_module"></a>Js module</h2>
29472946< 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 >
29482947</ div >
29492948</ 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 >
29922949< div class ="listingblock ">
29932950< div class ="title "> Js Utility functions</ div >
29942951< div class ="content ">
0 commit comments