package virtual_dom

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type uri_routing
type t

History_state.t is the thing that is inserted into the html5-history state object. In the simplest case it can be equal to the Uri_routing.t, and when the history state is popped by the user then it will cause a "navigation" with the same semantics as you get if the initial page load lands at that place (i.e., if if Opinionated.t forms the initial state via using Uri_routing.t on the initial uri loaded).

However, you may like to put more information in your History_state.t, for example, the current values filled out into a form. This is good because it means that when someone presses the back button after navigating away (even to another site) their form values are as they left them (just as the browser does for dumb forms).

This means that of_uri_routing needs to construct something with None or default values, and to_uri_routing needs to throw away information. This is all very reasonable, and should match your intuition of what is preserved when pressing back/forwards, and what is contained in the uri/happens if you load that uri from scratch.

include Core.Bin_prot.Binable.S with type t := t
include Bin_prot.Binable.S_only_functions with type t := t
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Bin_prot.Read.reader

This function only needs implementation if t exposed to be a polymorphic variant. Despite what the type reads, this does *not* produce a function after reading; instead it takes the constructor tag (int) before reading and reads the rest of the variant t afterwards.

val bin_shape_t : Bin_prot.Shape.t
val bin_writer_t : t Bin_prot.Type_class.writer
val bin_reader_t : t Bin_prot.Type_class.reader
include Ppx_compare_lib.Equal.S with type t := t
val equal : t -> t -> bool
val sexp_of_t : t -> Sexplib0.Sexp.t
val to_uri_routing : t -> uri_routing
val of_uri_routing : uri_routing -> t