aboutsummaryrefslogtreecommitdiff
path: root/viz.js/promise
diff options
context:
space:
mode:
authorSébastien Dailly <sebastien@dailly.me>2026-10-29 10:34:55 +0100
committerSébastien Dailly <sebastien@dailly.me>2026-10-29 10:34:55 +0100
commit3dd8737c6cd5024ba6fb946dbbf370dfeb852097 (patch)
tree946f07b39eda83b64e73854f88cdd59a5474198f /viz.js/promise
parente455d580ab4d837122a4186627ec109c4000d7c5 (diff)
Updated the code the latest js_of_ocamlHEADmaster
Diffstat (limited to 'viz.js/promise')
-rwxr-xr-xviz.js/promise/promise.ml42
1 files changed, 18 insertions, 24 deletions
diff --git a/viz.js/promise/promise.ml b/viz.js/promise/promise.ml
index f9f7e53..47acd28 100755
--- a/viz.js/promise/promise.ml
+++ b/viz.js/promise/promise.ml
@@ -1,66 +1,60 @@
open Js_of_ocaml
type ('a, 'b) promise
-
type 'a resolve = 'a -> unit
-
type 'a reject = 'a -> unit
let promise_global = Js.Unsafe.global##._Promise
-
let is_supported () = Js.Optdef.test promise_global
-
-let make f =
- Js.Unsafe.new_obj promise_global [|Js.Unsafe.inject f|]
+let make f = Js.Unsafe.new_obj promise_global [| Js.Unsafe.inject f |]
let resolve value =
- Js.Unsafe.fun_call promise_global##.resolve [|Js.Unsafe.inject value|]
+ Js.Unsafe.fun_call promise_global##.resolve [| Js.Unsafe.inject value |]
let reject value =
- Js.Unsafe.fun_call promise_global##.reject [|Js.Unsafe.inject value|]
+ Js.Unsafe.fun_call promise_global##.reject [| Js.Unsafe.inject value |]
let js_of_opt = function
| Some value -> Js.Unsafe.inject value
- | None -> Js.Unsafe.inject Js.undefined
+ | None -> Js.Unsafe.inject Js.undefined
let then_bind ~on_fulfilled ?on_rejected promise =
Js.Unsafe.meth_call promise "then"
- [|Js.Unsafe.inject on_fulfilled; js_of_opt on_rejected|]
+ [| Js.Unsafe.inject on_fulfilled; js_of_opt on_rejected |]
let then_map ~on_fulfilled ?on_rejected promise =
Js.Unsafe.meth_call promise "then"
- [|Js.Unsafe.inject on_fulfilled; js_of_opt on_rejected|]
+ [| Js.Unsafe.inject on_fulfilled; js_of_opt on_rejected |]
let catch_bind ~on_rejected promise =
- Js.Unsafe.meth_call promise "catch" [|Js.Unsafe.inject on_rejected|]
+ Js.Unsafe.meth_call promise "catch" [| Js.Unsafe.inject on_rejected |]
let catch_map ~on_rejected promise =
- Js.Unsafe.meth_call promise "catch" [|Js.Unsafe.inject on_rejected|]
+ Js.Unsafe.meth_call promise "catch" [| Js.Unsafe.inject on_rejected |]
let then_final ~on_fulfilled ~on_rejected promise =
Js.Unsafe.meth_call promise "then"
- [|Js.Unsafe.inject on_fulfilled; Js.Unsafe.inject on_rejected|]
+ [| Js.Unsafe.inject on_fulfilled; Js.Unsafe.inject on_rejected |]
let all promises =
let intermediate_promise =
Js.Unsafe.fun_call promise_global##.all
- [|Js.Unsafe.inject (Js.array promises)|]
+ [| Js.Unsafe.inject (Js.array promises) |]
in
then_map
- ~on_fulfilled:(fun js_array -> Js.to_array js_array) intermediate_promise
+ ~on_fulfilled:(fun js_array -> Js.to_array js_array)
+ intermediate_promise
let race promises =
Js.Unsafe.fun_call promise_global##.race
- [|Js.Unsafe.inject (Js.array promises)|]
+ [| Js.Unsafe.inject (Js.array promises) |]
module Infix = struct
- let (>>=) promise on_fulfilled = then_bind ~on_fulfilled promise
- let (>|=) promise on_fulfilled = then_map ~on_fulfilled promise
-
- let (>>~) promise on_rejected = catch_bind ~on_rejected promise
- let (>|~) promise on_rejected = catch_map ~on_rejected promise
+ let ( >>= ) promise on_fulfilled = then_bind ~on_fulfilled promise
+ let ( >|= ) promise on_fulfilled = then_map ~on_fulfilled promise
+ let ( >>~ ) promise on_rejected = catch_bind ~on_rejected promise
+ let ( >|~ ) promise on_rejected = catch_map ~on_rejected promise
- let (>||) promise (on_fulfilled, on_rejected) =
+ let ( >|| ) promise (on_fulfilled, on_rejected) =
then_final ~on_fulfilled ~on_rejected promise
end
-