@@ -76,7 +76,7 @@ let unsafeIndexGet =
76
76
(Val. mk ~prim: [" " ] {loc = noloc; txt = unsafeIndex} ~attrs: [Ast_attributes. bs_get_index]
77
77
(Ast_compatible. arrow (Typ. var " b" ) (Ast_compatible. arrow (Typ. var " a" ) (Typ. var " c" )))
78
78
)
79
-
79
+ let unsafeIndexGetExp = ( Exp. ident {loc = noloc; txt = Lident unsafeIndex})
80
80
(* JavaScript has allowed trailing commas in array literals since the beginning,
81
81
and later added them to object literals (ECMAScript 5) and most recently (ECMAScript 2017)
82
82
to function parameters. *)
@@ -136,21 +136,10 @@ let (&&~) a b =
136
136
app2 (Exp. ident {loc = noloc; txt = Ldot (Lident " Pervasives" ," &&" )})
137
137
a b
138
138
let (->~) a b = Ast_compatible. arrow a b
139
+
139
140
let jsMapperRt =
140
141
Longident. Ldot (Lident " Js" , " MapperRt" )
141
142
142
-
143
-
144
-
145
-
146
-
147
- let toInt exp array =
148
- app2
149
- (Exp. ident
150
- { loc= noloc;
151
- txt = Longident. Ldot (jsMapperRt, " toInt" )})
152
- (eraseType exp)
153
- array
154
143
let fromInt len array exp =
155
144
app3
156
145
(Exp. ident
@@ -276,7 +265,7 @@ let init () =
276
265
let expMap = Exp. ident {loc; txt = Lident map} in
277
266
let revExpMap = Exp. ident {loc ; txt = Lident revMap} in
278
267
let data, revData, has_bs_as = buildMap row_fields in
279
- let exp_get = ( Exp. ident {loc ; txt = Lident unsafeIndex}) in
268
+
280
269
let v = [
281
270
eraseTypeStr;
282
271
unsafeIndexGet;
@@ -290,7 +279,7 @@ let init () =
290
279
else expMap);
291
280
toJsBody
292
281
(if has_bs_as then
293
- app2 exp_get expMap exp_param
282
+ app2 unsafeIndexGetExp expMap exp_param
294
283
else app1 eraseTypeExp exp_param)
295
284
;
296
285
Ast_comb. single_non_rec_value
@@ -299,7 +288,7 @@ let init () =
299
288
(Pat. var pat_param)
300
289
(
301
290
app2
302
- exp_get
291
+ unsafeIndexGetExp
303
292
revExpMap
304
293
exp_param
305
294
)
@@ -323,17 +312,17 @@ let init () =
323
312
let constantArrayExp = Exp. ident {loc; txt = Lident constantArray} in
324
313
let exp_len = Ast_compatible. const_exp_int (List. length ctors) in
325
314
let v = [
315
+ unsafeIndexGet;
326
316
eraseTypeStr;
327
317
Ast_comb. single_non_rec_value
328
318
{loc; txt = constantArray}
329
319
(Ast_compatible. const_exp_int_list_as_array xs)
330
320
;
331
321
toJsBody
332
322
(
333
- coerceResultToNewType @@
334
- toInt
335
- exp_param
336
- constantArrayExp
323
+ app2 unsafeIndexGetExp
324
+ constantArrayExp
325
+ exp_param
337
326
)
338
327
;
339
328
Ast_comb. single_non_rec_value
0 commit comments