JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 708309
  • Score
    100M100P100Q180794F
  • License ISC

Micro REST API client

Package Exports

  • micro-api-client

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (micro-api-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

micro-api-client

Build Status

Small library for talking to micro REST APIs (not related to Netlify's main API).

Installation

yarn add micro-api-client

Usage

import API, { getPagination } from 'micro-api-client'

const api = new API("/some/api/endpoint");
api
  .request("foo")
  .then(response => console.log(response))
  .catch(err => console.error(err));

API

api = new API(apiURL, [opts])

Create a new micro-api-client instance. apiURL can be a full or relative URL. Optional opts include:

{
  defaultHeaders: {
  } // header values to include in every request.
}

api.request(path, [opts])

Make a request to the apiURL at the given path. Optional opts are passed to the fetch API:

// Default options
{
  headers: {} // Optional headers object.  Overrides defaultHeaders
  credentials: "same-origin" // set fetch credentials option
  "Content-Type": "application/json" // set Content-Type fetch option
}

Returns a promise with the response. If the contentType is JSON, it will be checked for pagination and return either the parsed JSON object or a paginated JSON object:

// See src/pagination.js
{
  pagination: {
    last,
    next,
    prev,
    first,
    current,
    total
  },
  items: json
}

If an error occurs during the request, the promise may be rejected with an HTTPError, TextHTTPError, or JSONHTTPError.

class HTTPError extends Error

Additional error properties from Error

{
  stack, // stack trace of error
  status // status code of response
}

class TextHTTPError extends HTTPError

Additional error properties from HTTPError

{
  data // data of text response
}

class JSONHTTPError extends HTTPError

Additional error properties from HTTPError

{
  json // json of a JSON response
}

pagination = getPagination(response)

Returns a pagination object that micro-api-client uses internally.