yarn add @ahrefs/bs-atdgen-codec-runtime
Alternatively, if your project is using BuckleScript exclusively (i.e. not using native OCaml or Reason in the backend),
you might consider using
bs-atdgen-generator in combination with
this runtime library, in order to generate the
.mli files from
.atd sources without having to use native
package managers like
@ahrefs/bs-atdgen-codec-runtime to the
To write atd type definitions, please have a look at the great atd documentation.
Reason code to query and deserialize the response of a REST API. It
let get = (url, decode) => Js.Promise.( Fetch.fetchWithInit( url, Fetch.RequestInit.make(~method_=Get, ()), ) |> then_(Fetch.Response.json) |> then_(json => json |> decode |> resolve) ); let v: Meetup_t.events = get( "http://localhost:8000/events", Atdgen_codec_runtime.Decode.decode(Meetup_bs.read_events), );
The example directory contains a full example of a simple cli to read and write data in a JSON file.
For a complete introduction from atdgen installation to json manipulation, please refer to Getting started with atdgen and bucklescript.