Skip to content

Commit e354285

Browse files
committed
1. not tracking generated es6 modules any more
2. all js primitives should come with # (to avoid conflict with user level externals)
1 parent 72197ca commit e354285

File tree

196 files changed

+837
-35943
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

196 files changed

+837
-35943
lines changed

docs/Manual.html

+21-5
Original file line numberDiff line numberDiff line change
@@ -5193,14 +5193,21 @@ <h3 id="_simple_ocaml_type"><a class="anchor" href="#_simple_ocaml_type"></a>Sim
51935193
<div class="listingblock">
51945194
<div class="title">Js module</div>
51955195
<div class="content">
5196-
<pre class="pygments highlight"><code data-lang="ocaml"><span class="tok-k">val</span> <span class="tok-nn">Js</span><span class="tok-p">.</span><span class="tok-n">to_bool</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-o">-&gt;</span> <span class="tok-kt">bool</span></code></pre>
5196+
<pre class="pygments highlight"><code data-lang="ocaml"><span class="tok-k">type</span> <span class="tok-n">boolean</span>
5197+
<span class="tok-k">val</span> <span class="tok-n">to_bool</span><span class="tok-o">:</span> <span class="tok-n">boolean</span> <span class="tok-o">-&gt;</span> <span class="tok-kt">bool</span></code></pre>
5198+
</div>
5199+
</div>
5200+
<div class="listingblock">
5201+
<div class="title">Js.Boolean module</div>
5202+
<div class="content">
5203+
<pre>val to_js_boolean: bool -&gt; Js.boolean</pre>
51975204
</div>
51985205
</div></div></td>
51995206
</tr>
52005207
<tr>
52015208
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>'a Js.Null.t</code></p></td>
52025209
<td class="tableblock halign-left valign-top"><div><div class="paragraph">
5203-
<p>either <code>'a</code> or <code>null</code>. <code>Js.Null.empty</code> represents <code>null</code> too.</p>
5210+
<p>Either <code>'a</code> or <code>null</code>. <code>Js.Null.empty</code> represents <code>null</code> too.</p>
52045211
</div>
52055212
<div class="listingblock">
52065213
<div class="title">Js.Null module</div>
@@ -5215,15 +5222,24 @@ <h3 id="_simple_ocaml_type"><a class="anchor" href="#_simple_ocaml_type"></a>Sim
52155222
<tr>
52165223
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>'a Js.Undefined.t</code></p></td>
52175224
<td class="tableblock halign-left valign-top"><div><div class="paragraph">
5218-
<p>either <code>'a</code> or <code>undefined</code>.
5219-
Same operations as <code>'a Js.Null.t</code>.</p>
5225+
<p>Either <code>'a</code> or <code>undefined</code>.
5226+
Same operations as <code>'a Js.Null.t</code>. <code>Js.Undefined.empty</code> represents <code>undefined</code> too.</p>
52205227
</div></div></td>
52215228
</tr>
52225229
<tr>
52235230
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>'a Js.Null_undefined.t</code></p></td>
52245231
<td class="tableblock halign-left valign-top"><div><div class="paragraph">
5225-
<p>either <code>'a</code>, <code>null</code> or <code>undef</code>.
5232+
<p>Either <code>'a</code>, <code>null</code> or <code>undefined</code>.
52265233
Same operations as <code>'a Js.Null.t</code>.</p>
5234+
</div>
5235+
<div class="paragraph">
5236+
<p><code>Js.Null_undefined.undefined</code> represents <code>undefined</code>,
5237+
<code>Js.Null_undefined.null</code> represents <code>null</code>.</p>
5238+
</div>
5239+
<div class="paragraph">
5240+
<p>This module&#8217;s null tests check for both <code>null</code> and <code>undefined</code>; if you know the
5241+
value&#8217;s only ever going to be <code>null</code> and not undefined, use <code>Js.Null</code> instead.
5242+
Likewise for <code>Js.Undefined</code>.</p>
52275243
</div></div></td>
52285244
</tr>
52295245
</tbody>

jscomp/bin/all_ounit_tests.ml

+19-18
Original file line numberDiff line numberDiff line change
@@ -3532,17 +3532,17 @@ val setter_suffix : string
35323532
val setter_suffix_len : int
35333533

35343534

3535-
val js_debugger : string
3536-
val js_pure_expr : string
3537-
val js_pure_stmt : string
3538-
val js_unsafe_downgrade : string
3539-
val js_fn_run : string
3540-
val js_method_run : string
3541-
val js_fn_method : string
3542-
val js_fn_mk : string
3535+
val debugger : string
3536+
val raw_expr : string
3537+
val raw_stmt : string
3538+
val unsafe_downgrade : string
3539+
val fn_run : string
3540+
val method_run : string
3541+
val fn_method : string
3542+
val fn_mk : string
35433543

35443544
(** callback actually, not exposed to user yet *)
3545-
val js_fn_runmethod : string
3545+
(* val js_fn_runmethod : string *)
35463546

35473547
val bs_deriving : string
35483548
val bs_deriving_dot : string
@@ -3648,16 +3648,16 @@ let imul = "imul" (* signed int32 mul *)
36483648
let setter_suffix = "#="
36493649
let setter_suffix_len = String.length setter_suffix
36503650

3651-
let js_debugger = "js_debugger"
3652-
let js_pure_expr = "js_pure_expr"
3653-
let js_pure_stmt = "js_pure_stmt"
3654-
let js_unsafe_downgrade = "js_unsafe_downgrade"
3655-
let js_fn_run = "js_fn_run"
3656-
let js_method_run = "js_method_run"
3651+
let debugger = "debugger"
3652+
let raw_expr = "raw_expr"
3653+
let raw_stmt = "raw_stmt"
3654+
let unsafe_downgrade = "unsafe_downgrade"
3655+
let fn_run = "fn_run"
3656+
let method_run = "method_run"
36573657

3658-
let js_fn_method = "js_fn_method"
3659-
let js_fn_mk = "js_fn_mk"
3660-
let js_fn_runmethod = "js_fn_runmethod"
3658+
let fn_method = "fn_method"
3659+
let fn_mk = "fn_mk"
3660+
(*let js_fn_runmethod = "js_fn_runmethod"*)
36613661

36623662
let bs_deriving = "bs.deriving"
36633663
let bs_deriving_dot = "bs.deriving."
@@ -6196,6 +6196,7 @@ let convert keyword (name : string) =
61966196
| '.' -> Buffer.add_string buffer "$dot"
61976197
| '%' -> Buffer.add_string buffer "$percent"
61986198
| '~' -> Buffer.add_string buffer "$tilde"
6199+
| '#' -> Buffer.add_string buffer "$hash"
61996200
| 'a'..'z' | 'A'..'Z'| '_'|'$' |'0'..'9'-> Buffer.add_char buffer c
62006201
| _ -> Buffer.add_string buffer "$unknown"
62016202
done; Buffer.contents buffer)

jscomp/bin/bsb.ml

+18-18
Original file line numberDiff line numberDiff line change
@@ -56,17 +56,17 @@ val setter_suffix : string
5656
val setter_suffix_len : int
5757

5858

59-
val js_debugger : string
60-
val js_pure_expr : string
61-
val js_pure_stmt : string
62-
val js_unsafe_downgrade : string
63-
val js_fn_run : string
64-
val js_method_run : string
65-
val js_fn_method : string
66-
val js_fn_mk : string
59+
val debugger : string
60+
val raw_expr : string
61+
val raw_stmt : string
62+
val unsafe_downgrade : string
63+
val fn_run : string
64+
val method_run : string
65+
val fn_method : string
66+
val fn_mk : string
6767

6868
(** callback actually, not exposed to user yet *)
69-
val js_fn_runmethod : string
69+
(* val js_fn_runmethod : string *)
7070

7171
val bs_deriving : string
7272
val bs_deriving_dot : string
@@ -172,16 +172,16 @@ let imul = "imul" (* signed int32 mul *)
172172
let setter_suffix = "#="
173173
let setter_suffix_len = String.length setter_suffix
174174

175-
let js_debugger = "js_debugger"
176-
let js_pure_expr = "js_pure_expr"
177-
let js_pure_stmt = "js_pure_stmt"
178-
let js_unsafe_downgrade = "js_unsafe_downgrade"
179-
let js_fn_run = "js_fn_run"
180-
let js_method_run = "js_method_run"
175+
let debugger = "debugger"
176+
let raw_expr = "raw_expr"
177+
let raw_stmt = "raw_stmt"
178+
let unsafe_downgrade = "unsafe_downgrade"
179+
let fn_run = "fn_run"
180+
let method_run = "method_run"
181181

182-
let js_fn_method = "js_fn_method"
183-
let js_fn_mk = "js_fn_mk"
184-
let js_fn_runmethod = "js_fn_runmethod"
182+
let fn_method = "fn_method"
183+
let fn_mk = "fn_mk"
184+
(*let js_fn_runmethod = "js_fn_runmethod"*)
185185

186186
let bs_deriving = "bs.deriving"
187187
let bs_deriving_dot = "bs.deriving."

jscomp/bin/bsb_helper.ml

+18-18
Original file line numberDiff line numberDiff line change
@@ -1022,17 +1022,17 @@ val setter_suffix : string
10221022
val setter_suffix_len : int
10231023

10241024

1025-
val js_debugger : string
1026-
val js_pure_expr : string
1027-
val js_pure_stmt : string
1028-
val js_unsafe_downgrade : string
1029-
val js_fn_run : string
1030-
val js_method_run : string
1031-
val js_fn_method : string
1032-
val js_fn_mk : string
1025+
val debugger : string
1026+
val raw_expr : string
1027+
val raw_stmt : string
1028+
val unsafe_downgrade : string
1029+
val fn_run : string
1030+
val method_run : string
1031+
val fn_method : string
1032+
val fn_mk : string
10331033

10341034
(** callback actually, not exposed to user yet *)
1035-
val js_fn_runmethod : string
1035+
(* val js_fn_runmethod : string *)
10361036

10371037
val bs_deriving : string
10381038
val bs_deriving_dot : string
@@ -1138,16 +1138,16 @@ let imul = "imul" (* signed int32 mul *)
11381138
let setter_suffix = "#="
11391139
let setter_suffix_len = String.length setter_suffix
11401140

1141-
let js_debugger = "js_debugger"
1142-
let js_pure_expr = "js_pure_expr"
1143-
let js_pure_stmt = "js_pure_stmt"
1144-
let js_unsafe_downgrade = "js_unsafe_downgrade"
1145-
let js_fn_run = "js_fn_run"
1146-
let js_method_run = "js_method_run"
1141+
let debugger = "debugger"
1142+
let raw_expr = "raw_expr"
1143+
let raw_stmt = "raw_stmt"
1144+
let unsafe_downgrade = "unsafe_downgrade"
1145+
let fn_run = "fn_run"
1146+
let method_run = "method_run"
11471147

1148-
let js_fn_method = "js_fn_method"
1149-
let js_fn_mk = "js_fn_mk"
1150-
let js_fn_runmethod = "js_fn_runmethod"
1148+
let fn_method = "fn_method"
1149+
let fn_mk = "fn_mk"
1150+
(*let js_fn_runmethod = "js_fn_runmethod"*)
11511151

11521152
let bs_deriving = "bs.deriving"
11531153
let bs_deriving_dot = "bs.deriving."

jscomp/bin/bsdep.ml

+31-31
Original file line numberDiff line numberDiff line change
@@ -24612,17 +24612,17 @@ val setter_suffix : string
2461224612
val setter_suffix_len : int
2461324613

2461424614

24615-
val js_debugger : string
24616-
val js_pure_expr : string
24617-
val js_pure_stmt : string
24618-
val js_unsafe_downgrade : string
24619-
val js_fn_run : string
24620-
val js_method_run : string
24621-
val js_fn_method : string
24622-
val js_fn_mk : string
24615+
val debugger : string
24616+
val raw_expr : string
24617+
val raw_stmt : string
24618+
val unsafe_downgrade : string
24619+
val fn_run : string
24620+
val method_run : string
24621+
val fn_method : string
24622+
val fn_mk : string
2462324623

2462424624
(** callback actually, not exposed to user yet *)
24625-
val js_fn_runmethod : string
24625+
(* val js_fn_runmethod : string *)
2462624626

2462724627
val bs_deriving : string
2462824628
val bs_deriving_dot : string
@@ -24728,16 +24728,16 @@ let imul = "imul" (* signed int32 mul *)
2472824728
let setter_suffix = "#="
2472924729
let setter_suffix_len = String.length setter_suffix
2473024730

24731-
let js_debugger = "js_debugger"
24732-
let js_pure_expr = "js_pure_expr"
24733-
let js_pure_stmt = "js_pure_stmt"
24734-
let js_unsafe_downgrade = "js_unsafe_downgrade"
24735-
let js_fn_run = "js_fn_run"
24736-
let js_method_run = "js_method_run"
24731+
let debugger = "debugger"
24732+
let raw_expr = "raw_expr"
24733+
let raw_stmt = "raw_stmt"
24734+
let unsafe_downgrade = "unsafe_downgrade"
24735+
let fn_run = "fn_run"
24736+
let method_run = "method_run"
2473724737

24738-
let js_fn_method = "js_fn_method"
24739-
let js_fn_mk = "js_fn_mk"
24740-
let js_fn_runmethod = "js_fn_runmethod"
24738+
let fn_method = "fn_method"
24739+
let fn_mk = "fn_mk"
24740+
(*let js_fn_runmethod = "js_fn_runmethod"*)
2474124741

2474224742
let bs_deriving = "bs.deriving"
2474324743
let bs_deriving_dot = "bs.deriving."
@@ -30937,7 +30937,7 @@ let js_property loc obj name =
3093730937
((Exp.apply ~loc
3093830938
(Exp.ident ~loc
3093930939
{loc;
30940-
txt = Ldot (Ast_literal.Lid.js_unsafe, Literals.js_unsafe_downgrade)})
30940+
txt = Ldot (Ast_literal.Lid.js_unsafe, Literals.unsafe_downgrade)})
3094130941
["",obj]), name)
3094230942

3094330943
(* TODO:
@@ -30971,10 +30971,10 @@ let generic_apply kind loc
3097130971
match kind with
3097230972
| `Fn | `PropertyFn ->
3097330973
Longident.Ldot (Ast_literal.Lid.js_unsafe,
30974-
Literals.js_fn_run ^ string_of_int arity)
30974+
Literals.fn_run ^ string_of_int arity)
3097530975
| `Method ->
3097630976
Longident.Ldot(Ast_literal.Lid.js_unsafe,
30977-
Literals.js_method_run ^ string_of_int arity
30977+
Literals.method_run ^ string_of_int arity
3097830978
) in
3097930979
Parsetree.Pexp_apply (Exp.ident {txt ; loc}, ("",fn) :: List.map (fun x -> "",x) args)
3098030980
else
@@ -30983,10 +30983,10 @@ let generic_apply kind loc
3098330983
let pval_prim, pval_type =
3098430984
match kind with
3098530985
| `Fn | `PropertyFn ->
30986-
[Literals.js_fn_run; string_arity],
30986+
["#fn_run"; string_arity],
3098730987
arrow ~loc "" (lift_curry_type loc args_type result_type ) fn_type
3098830988
| `Method ->
30989-
[Literals.js_method_run ; string_arity],
30989+
["#method_run" ; string_arity],
3099030990
arrow ~loc "" (lift_method_type loc args_type result_type) fn_type
3099130991
in
3099230992
Ast_external.create_local_external loc ~pval_prim ~pval_type
@@ -31093,16 +31093,16 @@ let generic_to_uncurry_exp kind loc (self : Ast_mapper.mapper) pat body
3109331093
let txt =
3109431094
match kind with
3109531095
| `Fn ->
31096-
Longident.Ldot ( Ast_literal.Lid.js_unsafe, Literals.js_fn_mk ^ string_of_int arity)
31096+
Longident.Ldot ( Ast_literal.Lid.js_unsafe, Literals.fn_mk ^ string_of_int arity)
3109731097
| `Method_callback ->
31098-
Longident.Ldot (Ast_literal.Lid.js_unsafe, Literals.js_fn_method ^ string_of_int arity) in
31098+
Longident.Ldot (Ast_literal.Lid.js_unsafe, Literals.fn_method ^ string_of_int arity) in
3109931099
Parsetree.Pexp_apply (Exp.ident {txt;loc} , ["",body])
3110031100

3110131101
else
3110231102
let pval_prim =
3110331103
[ (match kind with
31104-
| `Fn -> Literals.js_fn_mk
31105-
| `Method_callback -> Literals.js_fn_method);
31104+
| `Fn -> "#fn_mk"
31105+
| `Method_callback -> "#fn_method");
3110631106
string_of_int arity] in
3110731107
let fn_type , args_type, result_type = Ast_comb.tuple_type_pair ~loc `Make arity in
3110831108
let pval_type = arrow ~loc "" fn_type (
@@ -31124,7 +31124,7 @@ let to_method_callback =
3112431124
let handle_debugger loc payload =
3112531125
if Ast_payload.as_empty_structure payload then
3112631126
Parsetree.Pexp_apply
31127-
(Exp.ident {txt = Ldot(Ast_literal.Lid.js_unsafe, Literals.js_debugger ); loc},
31127+
(Exp.ident {txt = Ldot(Ast_literal.Lid.js_unsafe, Literals.debugger ); loc},
3112831128
["", Ast_literal.val_unit ~loc ()])
3112931129
else Location.raise_errorf ~loc "bs.raw can only be applied to a string"
3113031130

@@ -31142,7 +31142,7 @@ let handle_raw ?(check_js_regex = false) loc payload =
3114231142
Exp.ident {loc;
3114331143
txt =
3114431144
Ldot (Ast_literal.Lid.js_unsafe,
31145-
Literals.js_pure_expr)},
31145+
Literals.raw_expr)},
3114631146
["",exp]
3114731147
)
3114831148
in
@@ -31154,7 +31154,7 @@ let handle_external loc x =
3115431154
Ast_helper.Exp.apply
3115531155
(Exp.ident ~loc
3115631156
{loc; txt = Ldot (Ast_literal.Lid.js_unsafe,
31157-
Literals.js_pure_expr)})
31157+
Literals.raw_expr)})
3115831158
~loc
3115931159
[Ext_string.empty,
3116031160
Exp.constant ~loc (Const_string (x,Some Ext_string.empty))] in
@@ -31189,7 +31189,7 @@ let handle_raw_structure loc payload =
3118931189
->
3119031190
let pexp_desc =
3119131191
Parsetree.Pexp_apply(
31192-
Exp.ident {txt = Ldot (Ast_literal.Lid.js_unsafe, Literals.js_pure_stmt); loc},
31192+
Exp.ident {txt = Ldot (Ast_literal.Lid.js_unsafe, Literals.raw_stmt); loc},
3119331193
["",exp]) in
3119431194
Ast_helper.Str.eval
3119531195
{ exp with pexp_desc }

0 commit comments

Comments
 (0)