@ahrefs/bs-atdgen-codec-runtime

    2.0.1 • Public • Published

    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.

    Installation

    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.

    Usage

    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) =>
      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),
      );
    

    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

    Install

    npm i @ahrefs/bs-atdgen-codec-runtime

    DownloadsWeekly Downloads

    371

    Version

    2.0.1

    License

    MIT

    Unpacked Size

    216 kB

    Total Files

    134

    Last publish

    Collaborators

    • germes
    • khady
    • rustykey
    • liubko
    • feihong
    • jchavarri
    • zindel