@dadi/api-wrapper-core

Core high-level methods for interacting with DADI API

Stats

StarsIssuesVersionUpdatedCreatedSize
@dadi/api-wrapper-core
264.2.2a year ago5 years agoMinified + gzip package size for @dadi/api-wrapper-core in KB

Readme

DADI API wrapper (core)

Core high-level methods for interacting with DADI API

npm (scoped) Build Status JavaScript Style Guide

Overview

DADI API is a high performance RESTful API layer designed in support of API-first development and the principle of COPE.

This package exposes a set of chainable methods that allow developers to compose complex read and write operations using a simplistic and natural syntax, providing a high-level abstraction of the REST architectural style.

It can be used as a standalone module to generate request objects containing information about the HTTP verb, URL and payload, or used in conjunction with DADI API Wrapper to provide a full-featured API consumer, capable of handling authentication and the HTTP communication.

Getting started

  1. Install the @dadi/api-wrapper-core module:

    npm install @dadi/api-wrapper-core --save
    
  2. Add the library and configure the API settings:

    const APIWrapper = require('@dadi/api-wrapper-core')
    
    const api = new APIWrapper({
      uri: 'http://api.example.com',
      port: 80,
      property: 'test'
    })
    
  3. Make a query:

    // Example: getting all documents where `name` contains "john" and age is greater than 18
    const requestObject = api
      .in('users')
      .whereFieldContains('name', 'john')
      .whereFieldIsGreaterThan('age', 18)
      .find()
    

Methods

See the documentation on the main package.

Defining a callback

By default, calling a terminator will return a request object, which is a plain JavaScript object formed of method, uri and, optionally, body. Alternatively, you can choose to specify what exactly terminators will return, by defining a callback that will be executed before they return. This callback will receive the request object as an argument, giving you the option to modify it or wrap it with something else.

A callback is defined by setting a callback property on the options object used to initialise API wrapper.

const APIWrapper = require('@dadi/api-wrapper-core')

const api = new APIWrapper({
  uri: 'http://api.example.com',
  port: 80,
  property: 'test',
  callback: function(requestObject) {
    // This callback will return a JSON-stringified version
    // of the request object.
    return JSON.stringify(requestObject)
  }
})

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.