Skip to content

Commit 34ef32c

Browse files
committed
Medias: rule out error case
1 parent 2666cf3 commit 34ef32c

File tree

5 files changed

+11
-8
lines changed

5 files changed

+11
-8
lines changed

src/document/comment.ml

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -290,15 +290,10 @@ let rec nestable_block_element :
290290
match href with
291291
| `Reference (`Resolved r) -> (
292292
let id =
293-
Odoc_model.Paths.Reference.Resolved.(identifier (r :> t))
293+
Odoc_model.Paths.Reference.Resolved.Asset.(identifier (r :> t))
294294
in
295-
match Url.from_identifier ~stop_before:false id with
296-
| Ok url -> Target.Internal (Resolved url)
297-
| Error exn ->
298-
(* FIXME: better error message *)
299-
Printf.eprintf "Id.href failed: %S\n%!"
300-
(Url.Error.to_string exn);
301-
Internal Unresolved)
295+
match Url.from_asset_identifier id with
296+
| url -> Target.Internal (Resolved url))
302297
| `Reference _ -> Internal Unresolved
303298
| `Link href -> External href
304299
in

src/document/url.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -456,6 +456,8 @@ let from_identifier ~stop_before = function
456456
Ok (from_path @@ Path.from_identifier p)
457457
| p -> Anchor.from_identifier p
458458

459+
let from_asset_identifier p = from_path @@ Path.from_identifier p
460+
459461
let kind id =
460462
match Anchor.from_identifier id with
461463
| Error e -> failwith (Error.to_string e)

src/document/url.mli

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ val from_path : Path.t -> t
109109

110110
val from_identifier : stop_before:bool -> Identifier.t -> (t, Error.t) result
111111

112+
val from_asset_identifier : Identifier.AssetFile.t -> t
113+
112114
val kind : Identifier.t -> kind
113115

114116
val render_path : Odoc_model.Paths.Path.t -> string

src/model/paths.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1093,6 +1093,8 @@ module Reference = struct
10931093
end
10941094

10951095
module Asset = struct
1096+
let identifier = function `Identifier id -> id
1097+
10961098
type t = Paths_types.Resolved_reference.asset
10971099
end
10981100
end

src/model/paths.mli

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -553,6 +553,8 @@ module rec Reference : sig
553553

554554
module Asset : sig
555555
type t = Paths_types.Resolved_reference.asset
556+
557+
val identifier : t -> Identifier.AssetFile.t
556558
end
557559

558560
type t = Paths_types.Resolved_reference.any

0 commit comments

Comments
 (0)