package core
Industrial strength alternative to OCaml's standard library
Install
Dune Dependency
Authors
Maintainers
Sources
v0.17.1.tar.gz
md5=743a141234e04210e295980f7a78a6d9
sha512=61b415f4fb12c78d30649fff1aabe3a475eea926ce6edb7774031f4dc7f37ea51f5d9337ead6ec73cd93da5fd1ed0f2738c210c71ebc8fe9d7f6135a06bd176f
doc/src/core/string_id.ml.html
Source file string_id.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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
open! Import open Std_internal include String_id_intf module Make_with_validate_without_pretty_printer_with_bin_shape (M : sig val module_name : string val validate : string -> unit Or_error.t val include_default_validation : bool val caller_identity : Bin_prot.Shape.Uuid.t option end) () = struct module Stable = struct module V1 = struct module T = struct type t = string [@@deriving compare, equal, globalize, hash, sexp, sexp_grammar, typerep, stable_witness] let check_for_whitespace = let invalid s reason = Error (sprintf "'%s' is not a valid %s because %s" s M.module_name reason) in fun s -> let len = String.length s in if Int.( = ) len 0 then invalid s "it is empty" else if Char.is_whitespace s.[0] || Char.is_whitespace s.[len - 1] then invalid s "it has whitespace on the edge" else Ok () ;; let validate s = Result.map_error (M.validate s) ~f:Error.to_string_mach let check s = if M.include_default_validation then ( match check_for_whitespace s with | Ok () -> validate s | Error error -> Error error) else validate s ;; let to_string = Fn.id let pp = String.pp let of_string s = match check s with | Ok () -> s | Error err -> invalid_arg err ;; let t_of_sexp sexp = let s = String.Stable.V1.t_of_sexp sexp in match check s with | Ok () -> s | Error err -> of_sexp_error err sexp ;; include Binable.Of_binable_without_uuid [@alert "-legacy"] (String) (struct type nonrec t = t let to_binable = Fn.id let of_binable = of_string end) let bin_shape_t = let open Bin_prot.Shape in match M.caller_identity with | None -> bin_shape_t | Some uuid -> annotate uuid bin_shape_t ;; end module T_with_comparator = struct include T include Comparator.Stable.V1.Make (T) end include T_with_comparator include Comparable.Stable.V1.With_stable_witness.Make (T_with_comparator) include Hashable.Stable.V1.With_stable_witness.Make (T_with_comparator) include Diffable.Atomic.Make (T_with_comparator) end end module Stable_latest = Stable.V1 include Stable_latest.T_with_comparator include Comparable.Make_binable_using_comparator (Stable_latest.T_with_comparator) include Hashable.Make_binable (Stable_latest.T_with_comparator) include Diffable.Atomic.Make (Stable_latest) let quickcheck_shrinker = Quickcheck.Shrinker.empty () let quickcheck_observer = String.quickcheck_observer let quickcheck_generator = String.gen_nonempty' Char.gen_print |> Quickcheck.Generator.filter ~f:(fun string -> check string |> Result.is_ok) ;; let arg_type = Command.Arg_type.create of_string end module Make_with_validate_without_pretty_printer (M : sig val module_name : string val validate : string -> unit Or_error.t val include_default_validation : bool end) () = struct include Make_with_validate_without_pretty_printer_with_bin_shape (struct include M let caller_identity = None end) () end module Make_without_pretty_printer (M : sig val module_name : string end) () = struct include Make_with_validate_without_pretty_printer (struct let module_name = M.module_name let validate = Fn.const (Ok ()) let include_default_validation = true end) () end module Make_with_validate (M : sig val module_name : string val validate : string -> unit Or_error.t val include_default_validation : bool end) () = struct include Make_with_validate_without_pretty_printer (M) () include Pretty_printer.Register (struct type nonrec t = t let module_name = M.module_name let to_string = to_string end) end module Make (M : sig val module_name : string end) () = struct include Make_without_pretty_printer (M) () include Pretty_printer.Register (struct type nonrec t = t let module_name = M.module_name let to_string = to_string end) end module Make_with_distinct_bin_shape (M : sig val module_name : string val caller_identity : Bin_prot.Shape.Uuid.t end) () = struct include Make_with_validate_without_pretty_printer_with_bin_shape (struct let module_name = M.module_name let validate = Fn.const (Ok ()) let include_default_validation = true let caller_identity = Some M.caller_identity end) () include Pretty_printer.Register (struct type nonrec t = t let module_name = M.module_name let to_string = to_string end) end include Make (struct let module_name = "Core.String_id" end) () module String_without_validation_without_pretty_printer = struct include String let globalize = globalize_string let arg_type = Command.Arg_type.create Fn.id end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>