0.5.0 • Published 6 years ago

bs-hyperquest v0.5.0

Weekly downloads
2
License
MIT
Repository
gitlab
Last release
6 years ago

bs-hyperquest

BuckleScript bindings for substack's hyperquest library.

Usage

Standard Event Interface

GET

let result =
  Js.Promise.make((~resolve, ~reject) =>
    Hyperquest.get(~uri, ())
    |. Hyperquest.on(
         `response(
           res => {
             let data = ref("");

             res
             |. Hyperquest.IncomingMessage.on(
                  `data(
                    b => data := data^ ++ Hyperquest.Buffer.toString(b),
                  ),
                )
             |. Hyperquest.IncomingMessage.on(
                  `error(exn => reject(. exn)),
                )
             |. Hyperquest.IncomingMessage.on(
                  `end_(_ => resolve(. data^)),
                )
             |. ignore;
           },
         ),
       )
    |. ignore
  );

reason-future Interface

GET

Hyperquest.Future.get(~uri, ())
|. Future.mapOk(((_, data)) => data)
|. Future.mapError(res =>
  switch(res) {
  | (_, `error(exn)) => exn |. Js.String.make |. fail |. finish
  | (_, `response(data)) => data |. fail |. finish
  }
)
|. ignore
0.5.0

6 years ago

0.4.0

6 years ago

0.3.0

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago