@@ -110466,6 +110466,86 @@ let dump_deps_program
110466
110466
(oc : out_channel) =
110467
110467
pp_deps_program ~output_prefix kind x (P.from_channel oc)
110468
110468
110469
+ end
110470
+ module Jsoo_common : sig
110471
+ #1 "jsoo_common.mli"
110472
+ (**
110473
+ This module is shared between different JSOO / Playground based modules
110474
+ *)
110475
+ module Js :
110476
+ sig
110477
+ module Unsafe :
110478
+ sig
110479
+ type any
110480
+ external inject : 'a -> any = "%identity"
110481
+ external get : 'a -> 'b -> 'c = "caml_js_get"
110482
+ external set : 'a -> 'b -> 'c -> unit = "caml_js_set"
110483
+ external pure_js_expr : string -> 'a = "caml_pure_js_expr"
110484
+ val global : 'a
110485
+ type obj
110486
+ external obj : (string * any) array -> obj = "caml_js_object"
110487
+ end
110488
+ type (-'a, +'b) meth_callback
110489
+ type 'a callback = (unit, 'a) meth_callback
110490
+ external wrap_callback : ('a -> 'b) -> ('c, 'a -> 'b) meth_callback
110491
+ = "caml_js_wrap_callback"
110492
+ external wrap_meth_callback : ('a -> 'b) -> ('a, 'b) meth_callback
110493
+ = "caml_js_wrap_meth_callback"
110494
+ type +'a t
110495
+ type js_string
110496
+ external string : string -> js_string t = "caml_js_from_string"
110497
+ external to_string : js_string t -> string = "caml_js_to_string"
110498
+ external create_file : js_string t -> js_string t -> unit
110499
+ = "caml_create_file"
110500
+ external to_bytestring : js_string t -> string = "caml_js_to_byte_string"
110501
+ end
110502
+
110503
+ (*
110504
+ Creates a Js Error object for given location with and a certain error message
110505
+ *)
110506
+ val mk_js_error : Location.t -> string -> Js.Unsafe.obj
110507
+
110508
+ end = struct
110509
+ #1 "jsoo_common.ml"
110510
+ module Js = struct
110511
+ module Unsafe = struct
110512
+ type any
110513
+ external inject : 'a -> any = "%identity"
110514
+ external get : 'a -> 'b -> 'c = "caml_js_get"
110515
+ external set : 'a -> 'b -> 'c -> unit = "caml_js_set"
110516
+ external pure_js_expr : string -> 'a = "caml_pure_js_expr"
110517
+ let global = pure_js_expr "joo_global_object"
110518
+ type obj
110519
+ external obj : (string * any) array -> obj = "caml_js_object"
110520
+ end
110521
+ type (-'a, +'b) meth_callback
110522
+ type 'a callback = (unit, 'a) meth_callback
110523
+ external wrap_callback : ('a -> 'b) -> ('c, 'a -> 'b) meth_callback = "caml_js_wrap_callback"
110524
+ external wrap_meth_callback : ('a -> 'b) -> ('a, 'b) meth_callback = "caml_js_wrap_meth_callback"
110525
+ type + 'a t
110526
+ type js_string
110527
+ external string : string -> js_string t = "caml_js_from_string"
110528
+ external to_string : js_string t -> string = "caml_js_to_string"
110529
+ external create_file : js_string t -> js_string t -> unit = "caml_create_file"
110530
+ external to_bytestring : js_string t -> string = "caml_js_to_byte_string"
110531
+ end
110532
+
110533
+ let mk_js_error (loc: Location.t) (msg: string) =
110534
+ let (file,line,startchar) = Location.get_pos_info loc.Location.loc_start in
110535
+ let (file,endline,endchar) = Location.get_pos_info loc.Location.loc_end in
110536
+ Js.Unsafe.(obj
110537
+ [|
110538
+ "js_error_msg",
110539
+ inject @@ Js.string (Printf.sprintf "Line %d, %d:\n %s" line startchar msg);
110540
+ "row" , inject (line - 1);
110541
+ "column" , inject startchar;
110542
+ "endRow" , inject (endline - 1);
110543
+ "endColumn" , inject endchar;
110544
+ "text" , inject @@ Js.string msg;
110545
+ "type" , inject @@ Js.string "error"
110546
+ |]
110547
+ )
110548
+
110469
110549
end
110470
110550
module Js_fold_basic : sig
110471
110551
#1 "js_fold_basic.mli"
@@ -133074,29 +133154,7 @@ end = struct
133074
133154
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
133075
133155
133076
133156
(** *)
133077
- module Js = struct
133078
- module Unsafe = struct
133079
- type any
133080
- external inject : 'a -> any = "%identity"
133081
- external get : 'a -> 'b -> 'c = "caml_js_get"
133082
- external set : 'a -> 'b -> 'c -> unit = "caml_js_set"
133083
- external pure_js_expr : string -> 'a = "caml_pure_js_expr"
133084
- let global = pure_js_expr "joo_global_object"
133085
- type obj
133086
- external obj : (string * any) array -> obj = "caml_js_object"
133087
- end
133088
- type (-'a, +'b) meth_callback
133089
- type 'a callback = (unit, 'a) meth_callback
133090
- external wrap_callback : ('a -> 'b) -> ('c, 'a -> 'b) meth_callback = "caml_js_wrap_callback"
133091
- external wrap_meth_callback : ('a -> 'b) -> ('a, 'b) meth_callback = "caml_js_wrap_meth_callback"
133092
- type + 'a t
133093
- type js_string
133094
- external string : string -> js_string t = "caml_js_from_string"
133095
- external to_string : js_string t -> string = "caml_js_to_string"
133096
- external create_file : js_string t -> js_string t -> unit = "caml_create_file"
133097
- external to_bytestring : js_string t -> string = "caml_js_to_byte_string"
133098
- end
133099
-
133157
+ module Js = Jsoo_common.Js
133100
133158
133101
133159
(*
133102
133160
Error:
@@ -133174,21 +133232,7 @@ let implementation ~use_super_errors ?(react_ppx_version=V3) prefix impl str :
133174
133232
begin match error_of_exn e with
133175
133233
| Some error ->
133176
133234
Location.report_error Format.err_formatter error;
133177
- let (file,line,startchar) = Location.get_pos_info error.loc.loc_start in
133178
- let (file,endline,endchar) = Location.get_pos_info error.loc.loc_end in
133179
- Js.Unsafe.(obj
133180
- [|
133181
- "js_error_msg",
133182
- inject @@ Js.string (Printf.sprintf "Line %d, %d:\n %s" line startchar error.msg);
133183
- "row" , inject (line - 1);
133184
- "column" , inject startchar;
133185
- "endRow" , inject (endline - 1);
133186
- "endColumn" , inject endchar;
133187
- "text" , inject @@ Js.string error.msg;
133188
- "type" , inject @@ Js.string "error"
133189
- |]
133190
- );
133191
-
133235
+ Jsoo_common.mk_js_error error.loc error.msg
133192
133236
| None ->
133193
133237
Js.Unsafe.(obj [|
133194
133238
"js_error_msg" , inject @@ Js.string (Printexc.to_string e)
0 commit comments