bucklescript runtime for atdgen

Usage no npm install needed!

<script type="module">
  import ahrefsBsAtdgenCodecRuntime from 'https://cdn.skypack.dev/@ahrefs/bs-atdgen-codec-runtime';



bs-atdgen-codec-runtime is a bucklescript runtime for atdgen. It is based on the json type provided by bucklescript and combinators of @glennsl/bs-json.

The support of bucklescript in atdgen has not been released yet. atdgen must be installed from the git master branch to have the -bs option. The version 1.1.0 of bs-atdgen-codec-runtime is known to work with the version 8c08659 of atdgen.


yarn add @ahrefs/bs-atdgen-codec-runtime

This package doesn't take care of running atdgen to derive code from type definitions. This step requires the atdgen binary which can be obtained using opam.


Add @ahrefs/bs-atdgen-codec-runtime to the bs-dependencies of bsconfig.json.

To write atd type definitions, please have a look at the great atd documentation.

Simple example

Reason code to query and deserialize the response of a REST API. It requires bs-fetch.

let get = (url, decode) =>
      Fetch.RequestInit.make(~method_=Get, ()),
    |> then_(Fetch.Response.json)
    |> then_(json => json |> decode |> resolve)

let v: Meetup_t.events =

Full example

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