Skip to content

Lomand/bs-axios

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bs-axios npm version

Axios bindings for Bucklescript.

Installation

  1. Install bs-axios
$ yarn add bs-axios

or

$ npm install --save bs-axios
  1. Add "bs-axios" to "bs-dependencies" section of bsconfig.json

Examples

See usage examples in examples folder:

Simple request

Js.Promise.(
  Axios.get("/user?ID=12345")
  |> then_((response) => resolve(Js.log(response##data)))
  |> catch((error) => resolve(Js.log(error)))
);

Post requests

Js.Promise.(
  Axios.post("/user")
  |> then_((response) => resolve(Js.log(response##data)))
  |> catch((error) => resolve(Js.log(error)))
);
let user = {
  "username": "michel",
  "password": "12345678"
};

Js.Promise.(
  Axios.postData("/auth", {user})
  |> then_((response) => resolve(Js.log(response##data)))
  |> catch((error) => resolve(Js.log(error)))
);

Concurrency

Js.Promise.(
  Axios.all2((Axios.get("/users/1"), Axios.get("/users/1/friends")))
  |> then_(((user, friends)) => resolve(Js.log2(user##data, friends##data)))
  |> catch((error) => resolve(Js.log(error)))
);

Creating an instance

You can create a new instance of axios with a custom config.

open Axios;

let inst = Instance.create(makeConfig(~baseURL="https://example.com", ()));
Js.Promise.(Instance.get(inst, "/") |> then_((resp) => resolve(Js.log(resp##data))));

About

Bucklescript bindings for axios

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • OCaml 60.5%
  • C++ 39.5%