package octez-internal-libs
A package that contains some libraries used by the Octez suite
Install
Dune Dependency
Authors
Maintainers
Sources
tezos-octez-v20.1.tag.bz2
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65
doc/src/octez-internal-libs.irmin_pack/version.ml.html
Source file version.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 71 72 73 74 75 76 77 78 79 80
(* * Copyright (c) 2018-2022 Tarides <contact@tarides.com> * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. *) (* For every new version, update the [version] type and [versions] headers. *) type t = [ `V1 | `V2 | `V3 | `V4 | `V5 ] [@@deriving irmin] let latest = `V5 let enum = [ (`V1, "00000001"); (`V2, "00000002"); (`V3, "00000003"); (`V4, "00000004"); (`V5, "00000005"); ] let pp = Fmt.of_to_string (function | `V1 -> "v1" | `V2 -> "v2" | `V3 -> "v3" | `V4 -> "v4" | `V5 -> "v5") let to_bin v = List.assoc v enum let to_int = function `V1 -> 1 | `V2 -> 2 | `V3 -> 3 | `V4 -> 4 | `V5 -> 5 let compare a b = Int.compare (to_int a) (to_int b) let encode_bin t f = to_bin t |> f let decode_bin s offref = let sub = String.sub s !offref (!offref + 8) in let res = match sub with | "00000001" -> `V1 | "00000002" -> `V2 | "00000003" -> `V3 | "00000004" -> `V4 | "00000005" -> `V5 | _ -> failwith "Couldn't decode pack version" in offref := !offref + 8; res let size_of = Irmin.Type.Size.custom_static 8 let bin = (encode_bin, decode_bin, size_of) let t = Irmin.Type.like ~bin ~unboxed_bin:bin ~compare ~pp t let invalid_arg v = let pp_full_version ppf v = Fmt.pf ppf "%a (%S)" pp v (to_bin v) in Fmt.invalid_arg "invalid version: got %S, expecting %a" v Fmt.(Dump.list pp_full_version) (List.map fst enum) let of_bin b = try Some (decode_bin b (ref 0)) with Failure _ -> None exception Invalid of { expected : t; found : t } let () = Printexc.register_printer (function | Invalid { expected; found } -> Some (Fmt.str "%s.Invalid { expected = %a; found = %a }" __MODULE__ pp expected pp found) | _ -> None)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>