2022-07-19 20:17:02 +03:00
|
|
|
(* This file is part of the Catala compiler, a specification language for tax
|
|
|
|
and social benefits computation rules. Copyright (C) 2020 Inria, contributor:
|
|
|
|
Emile Rolley <emile.rolley@tuta.io>.
|
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
|
|
use this file except in compliance with the License. You may obtain a copy of
|
|
|
|
the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
|
|
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
|
|
License for the specific language governing permissions and limitations under
|
|
|
|
the License. *)
|
|
|
|
|
|
|
|
open Js_of_ocaml
|
2022-07-20 12:51:08 +03:00
|
|
|
module R_ocaml = Runtime_ocaml.Runtime
|
2022-07-19 20:17:02 +03:00
|
|
|
|
|
|
|
class type source_position =
|
|
|
|
object
|
|
|
|
method fileName : Js.js_string Js.t Js.prop
|
|
|
|
method startLine : int Js.prop
|
|
|
|
method endLine : int Js.prop
|
|
|
|
method startColumn : int Js.prop
|
|
|
|
method endColumn : int Js.prop
|
|
|
|
method lawHeadings : Js.js_string Js.t Js.js_array Js.t Js.prop
|
|
|
|
end
|
|
|
|
|
|
|
|
class type raw_event =
|
|
|
|
object
|
|
|
|
method eventType : Js.js_string Js.t Js.prop
|
|
|
|
method information : Js.js_string Js.t Js.js_array Js.t Js.prop
|
|
|
|
method sourcePosition : source_position Js.t Js.optdef Js.prop
|
|
|
|
method loggedValueJson : Js.js_string Js.t Js.prop
|
|
|
|
end
|
|
|
|
|
|
|
|
class type event =
|
|
|
|
object
|
|
|
|
method data : Js.js_string Js.t Js.prop
|
|
|
|
end
|
|
|
|
|
|
|
|
class type duration =
|
|
|
|
object
|
2022-07-20 12:51:08 +03:00
|
|
|
method years : int Js.readonly_prop
|
|
|
|
method months : int Js.readonly_prop
|
|
|
|
method days : int Js.readonly_prop
|
2022-07-19 20:17:02 +03:00
|
|
|
end
|
|
|
|
|
2022-07-20 12:51:08 +03:00
|
|
|
let duration_of_jsoo d =
|
|
|
|
R_ocaml.duration_of_numbers d##.years d##.months d##.days
|
|
|
|
|
|
|
|
let duration_to_jsoo d =
|
|
|
|
let years, months, days = R_ocaml.duration_to_years_months_days d in
|
|
|
|
object%js
|
|
|
|
val years = years
|
|
|
|
val months = months
|
|
|
|
val days = days
|
|
|
|
end
|