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
type t = Uri.t
let of_string = Uri.of_string
let is_file_path _ = true
module File = struct
type uri = t
type t =
{ uri : uri
; file : string
}
let of_uri uri = Result.Ok { uri; file = Uri.pct_decode (Uri.path uri) }
let to_string_uri { uri; _ } = Uri.to_string uri
let to_string_file { file; _ } = file
let extension { file; _ } = Filename.extension file
let hash = Hashtbl.hash
let compare = Stdlib.compare
end