package current
Pipeline language for keeping things up-to-date
Install
Dune Dependency
Authors
-
TThomas Leonard <talex5@gmail.com>
-
AAntonin Décimo <antonin@tarides.com>
-
TTim McGilchrist <timmcgil@gmail.com>
-
CCraig Ferguson <me@craigfe.io>
-
EEtienne MARAIS <etienne@maiste.fr>
-
AAnil Madhavapeddy <anil@recoil.org>
-
David Allsopp
-
EEwan Mellor <ewan@tarides.com>
-
KKate <kit.ty.kate@disroot.org>
-
MMark Elvers <mark.elvers@tunbury.org>
-
PPuneeth Chaganti <punchagan@muse-amuse.in>
-
LLucas Pluvinage <lucas@tarides.com>
-
NNavin Keswani <navin@novemberkilo.com>
-
TThomas Gazagnaire <thomas@gazagnaire.org>
-
Patrick Ferris
-
AArthur Wendling <art.wendling@gmail.com>
-
AAnurag Soni <anurag@sonianurag.com>
-
AAmbre Austen Suhamy <ambre@tarides.com>
-
BBen Andrew <benmandrew@gmail.com>
-
GGargi Sharma <gs051095@gmail.com>
-
JJonathan Coates <git@squiddev.cc>
-
JJules Aguillon <juloo.dsi@gmail.com>
-
MMagnus Skjegstad <magnus@skjegstad.com>
-
SShon Feder <shon.feder@gmail.com>
-
Ssmolck <46855713+smolck@users.noreply.github.com>
-
Ttatchi <corentin.leruth@gmail.com>
Maintainers
Sources
ocurrent-0.7.1.tbz
md5=8a60e0b0860f6353c0e001d8d74a88ca
sha512=fddde66e3390afa4d46e2d121f2b510358ef853b81b691dbf482b0cfc8f56b21f5a0c43618e1818e6378b8897eca5811af7a995b42e1cb955647727cad877e05
doc/src/current.term/dyn.ml.html
Source file dyn.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
type 'a t = ('a, Id.t * [`Active of Output.active | `Msg of string]) result let return x = Ok x let fail ~id msg = Error (id, `Msg msg) let strip_id = function | Ok x -> Ok x | Error (_, e) -> Error e let state x = Ok (strip_id x) let catch = function | Ok _ as x -> Ok x | Error (_, (`Msg _ as x)) -> Ok (Error x) | Error (_, `Active _) as x -> x let msg_of_exn = function | Failure m -> m | ex -> Printexc.to_string ex let bind x f = match x with | Error _ as e -> e | Ok y -> f y let map ~id f x = match x with | Error _ as e -> e | Ok y -> match f y with | y -> Ok y | exception ex -> Error (id, `Msg (msg_of_exn ex)) let map_error ~id f x = match x with | Error (_, `Msg m) -> let m = try f m with ex -> msg_of_exn ex in Error (id, `Msg m) | _ -> x let pair a b = match a, b with | (Error (_, `Msg _) as e), _ | _, (Error (_, `Msg _) as e) -> e | (Error (_, `Active _) as e), _ | _, (Error (_, `Active _) as e) -> e | Ok x, Ok y -> Ok (x, y) let active ~id a = Error (id, `Active a) let run = strip_id let pp ok f = function | Ok x -> ok f x | Error (_, `Active `Waiting_for_confirmation) -> Fmt.string f "(waiting for confirmation)" | Error (_, `Active `Ready) -> Fmt.string f "(ready)" | Error (_, `Active `Running) -> Fmt.string f "(running)" | Error (_, `Msg m) -> Fmt.pf f "FAILED: %s" m let equal_progress x y = match x, y with | `Msg x, `Msg y -> String.equal x y | `Active x, `Active y -> Output.equal_active x y | _ -> false let equal ?(eq = (==)) x y = match x, y with | Ok x, Ok y -> eq x y | Error (id_x, x), Error (id_y, y) -> Id.equal id_x id_y && equal_progress x y | _ -> false
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>