`type t = {`

1. `version : int;`
2. `file : string option;`
3. `sourceroot : string option;`
4. `sources : string list;`
5. `sources_content : Source_content.t option list option;`
6. `names : string list;`
7. `mappings : Mappings.t;`
   (*

   Left uninterpreted, since most useful operations can be performed efficiently directly on the encoded form, and a full decoding can be costly for big sourcemaps.

   *)
8. `ignore_list : string list;`

`}`
`val filter_map : t -> f:(int -> int option) -> t`

If `f l` returns `Some l'`, map line `l` to `l'` (in the generated file) in the returned debug mappings. If `f l` returns `None`, remove debug mappings which concern line `l` of the generated file.

`val merge : t list -> t option`

Merge two lists of debug mappings. The time cost of the merge is more than linear in function of the size of the input mappings.

`val empty : inline_source_content:bool -> t`
`val of_string : ?tmp_buf:Stdlib.Buffer.t -> string -> t`
`val of_file : ?tmp_buf:Stdlib.Buffer.t -> string -> t`