diff options
author | Sébastien Dailly <sebastien@dailly.me> | 2022-02-07 15:38:37 +0100 |
---|---|---|
committer | Sébastien Dailly <sebastien@dailly.me> | 2022-02-07 16:01:12 +0100 |
commit | 77544bdfad2af41514ec1435f706fee87ea2969e (patch) | |
tree | 4de23870e08711da25ff92e9670370fc0a74e459 /viz.js/promise/promise.mli | |
parent | ad526111f0dd619ae9e0e98ef2253146b58a068f (diff) |
Added viz.js code
Diffstat (limited to 'viz.js/promise/promise.mli')
-rwxr-xr-x | viz.js/promise/promise.mli | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/viz.js/promise/promise.mli b/viz.js/promise/promise.mli new file mode 100755 index 0000000..26831c4 --- /dev/null +++ b/viz.js/promise/promise.mli @@ -0,0 +1,56 @@ +type ('a, 'b) promise + +type 'a resolve = 'a -> unit + +type 'a reject = 'a -> unit + +val is_supported : unit -> bool + +val make : ('a resolve -> 'b reject -> unit) -> ('a, 'b) promise + +val resolve : 'a -> ('a, 'b) promise + +val reject : 'b -> ('a, 'b) promise + +val then_bind : + on_fulfilled:('a -> ('c ,'b) promise) -> + ?on_rejected:('b -> ('c, 'b) promise) -> + ('a, 'b) promise -> + ('c, 'b) promise + +val then_map : + on_fulfilled:('a -> 'c) -> + ?on_rejected:('b -> 'd) -> + ('a, 'b) promise -> + ('c, 'd) promise + +val catch_bind : + on_rejected:('b -> ('a, 'b) promise) -> + ('a, 'b) promise -> + ('a, 'b) promise + +val catch_map : + on_rejected:('b -> 'a) -> + ('a, 'b) promise -> + ('a, 'b) promise + +val then_final : + on_fulfilled:('a -> unit) -> + on_rejected:('b -> unit) -> + ('a, 'b) promise -> + unit + +val all : (('a, 'b) promise) array -> ('a array, 'b) promise + +val race : (('a, 'b) promise) array -> ('a, 'b) promise + +module Infix : sig + val (>>=) : ('a, 'b) promise -> ('a -> ('c ,'b) promise) -> ('c, 'b) promise + val (>|=) : ('a, 'b) promise -> ('a -> 'c) -> ('c, 'b) promise + + val (>>~) : ('a, 'b) promise -> ('b -> ('a, 'b) promise) -> ('a, 'b) promise + val (>|~) : ('a, 'b) promise -> ('b -> 'a) -> ('a, 'b) promise + + val (>||) : ('a, 'b) promise -> ('a -> unit) * ('b -> unit) -> unit +end + |