package brr
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha512=49e7bfbad2ea6a0139354e4a33c59c8a113c4c1e20a4f629bc5cad24aa801e474b4af10ce35adbda5d23dd294d1de5efa5b10bb3030d03f4758459977250a0f6
doc/brr/Brr/Console/index.html
Module Brr.ConsoleSource
Browser console.
See Console. Take a few minutes to understand this.
get () is the console object on which the functions below act. Initially this is G.console.
Log functions
The type for log functions.
Log messages rebind OCaml's list syntax. This allows to write heterogeneous logging statements concisely.
let () = Console.(log [1; 2.; true; Jv.true'; str "🐫"; G.navigator])The console logs JavaScript values. For OCaml values this means that their js_of_ocaml representation is logged; see the FFI manual for details. Most OCaml values behind Brr types are however direct JavaScript values and logging them as is will be valuable. For other values you can use the str function which invokes the JavaScript toString method on the value. It works on OCaml strings and is mostly equivalent and shorter than calling Jstr.v before logging them.
In the JavaScript console API, if the first argument is a JavaScript string it can have formatting specifications. Just remember this should be a JavaScript string, so wrap OCaml literals by str or Jstr.v:
let () = Console.(log [str "This is:\n%o\n the navigator"; G.navigator])str v is the result of invoking the JavaScript toString method on the representation of v. If v is Jv.null and Jv.undefined a string representing them is directly returned.
Result logging
log_result ~ok ~error r is r but logs r using log and ok to format Ok v and error and error for Error e. ok defaults to [v] and error to [str e].
log_if_error ~l ~error_msg ~use r is v if r is Ok v and use if r is Error e. In this case e is logged with l (defaults to error) and error_msg (defaults to str e).
val log_if_error' :
?l:log ->
?error_msg:'b msgr ->
use:'a ->
('a, 'b) result ->
('a, 'b) resultlog_if_error' is log_if_error wrapped by Result.ok.
Levelled logging
trace m logs m with no specific level but with a stack trace, like error and warn do.
Asserting and dumping
table v outputs v as tabular data. If cols is specified only the specified properties are printed.
Grouping
group ~closed msg logs msg and pushes a new inline group in the console. This indents messages until group_end is called. If closed is true (defaults to false) the group's content is hidden behind a disclosure button.
Counting
count label logs label with the number of times count label was called.
Timing
time_log label msg reports the timer value of label with msg appended to the report.