package mlgpx

  1. Overview
  2. Docs

Source file gpx_eio.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
(** Eio API for GPX operations *)

module IO = Gpx_io

(** Read and parse GPX file *)
let read ?(validate=false) ~fs path = IO.read_file ~validate ~fs path

(** Write GPX to file *)
let write ?(validate=false) ~fs path gpx = IO.write_file ~validate ~fs path gpx

(** Write GPX to file with backup *)
let write_with_backup ?(validate=false) ~fs path gpx = IO.write_file_with_backup ~validate ~fs path gpx

(** Read GPX from Eio source *)
let from_source ?(validate=false) source = IO.read_source ~validate source

(** Write GPX to Eio sink *)
let to_sink ?(validate=false) sink gpx = IO.write_sink ~validate sink gpx

(** Pretty print GPX statistics *)
let print_stats sink gpx =
  let buf = Buffer.create 256 in
  let fmt = Format.formatter_of_buffer buf in
  Format.fprintf fmt "%a@?" Gpx.Doc.pp_stats gpx;
  Eio.Flow.copy_string (Buffer.contents buf) sink
OCaml

Innovation. Community. Security.