(*─────────────────────────────────────────────────────────────────────────────┐
│ SPDX-FileCopyrightText: 2026 toastal <https://toast.al/contact/>             │
│ SPDX-License-Identifier: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception │
└─────────────────────────────────────────────────────────────────────────────*)

type t

val make : string -> t
val take : t -> string
val equal : t -> t -> bool
val compare : t -> t -> int
val pp : t Fmt.t
val show : t -> string

type error = [
	| `Empty_locator
]

val pp_error : error Fmt.t

val parse : string -> (t, error) result
val is_valid : string -> bool

val jsont : t Jsont.t

val gen : t QCheck.Gen.t
