package bonsai
A library for building dynamic webapps, using Js_of_ocaml
Install
Dune Dependency
Authors
Maintainers
Sources
bonsai-v0.16.0.tar.gz
sha256=1d68aab713659951eba5b85f21d6f9382e0efa8579a02c3be65d9071c6e86303
doc/src/bonsai.test/helpers.ml.html
Source file helpers.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 69 70
open! Core open! Import open Composition_infix include Helpers_intf let sexp_to_string = Expect_test_helpers_core.sexp_to_string let make_generic (type input action result s) ~(driver : (input, s) Driver.t) ~(string_of_result : result -> string) ~(get_result : s -> result) ~(schedule_action : s -> action -> unit) : (module S with type input = input and type action = action) = (module struct type nonrec input = input type nonrec action = action let show () = driver |> Driver.result |> get_result |> string_of_result |> print_endline ;; let set_input input = Driver.set_input driver input; Driver.flush driver; show () ;; let do_actions actions = List.iter actions ~f:(schedule_action (Driver.result driver)); Driver.flush driver; show () ;; end) ;; let make_string ~driver = make_generic ~driver ~string_of_result:Fn.id ~get_result:Fn.id ~schedule_action:(Fn.const Nothing.unreachable_code) ;; let make ~driver ~sexp_of_result = make_generic ~driver ~string_of_result:(sexp_of_result >> sexp_to_string) ~get_result:Fn.id ~schedule_action:(Fn.const Nothing.unreachable_code) ;; let make_string_with_inject ~driver = make_generic ~driver ~string_of_result:Fn.id ~get_result:fst ~schedule_action:(fun (_, inject) action -> Driver.schedule_event driver (inject action)) ;; let make_with_inject ~driver ~sexp_of_result = make_generic ~driver ~string_of_result:(sexp_of_result >> sexp_to_string) ~get_result:fst ~schedule_action:(fun (_, inject) action -> Driver.schedule_event driver (inject action)) ;;
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>