@caldera-labs/api-client

API client for Caldera Forms and Caldera Forms Pro

Stats

stars šŸŒŸissues āš ļøupdated šŸ› created šŸ£size šŸ‹ļøā€ā™€ļø
17Nov 3, 2018Jun 9, 2018Minified + gzip package size for @caldera-labs/api-client in KB

Readme

caldera-api-client

JavaScript API client for Caldera Forms REST API and Caldera Forms Pro REST API.

šŸŒ‹ šŸ‘€ Documentation

Build Status Documentation Status Maintainability

Install

npm i @caldera-labs/api-client

Usage

Create a form client and use it to get page one of form configs via API

import {wpClientFactory} from '@caldera-labs/api-client';

const formsAdminApiClient = wpClientFactory(
    'https://hiroy.club/wp-json/cf-api/v2', //root of Caldera Forms REST API namespace
    '12345', //the nonce for REST API cookie authentication
        'forms' //type of client to get
);
let forms = [];
formsAdminApiClient(page).then(r => {
    forms = r;
}).catch(error => {
    console.log(error);
    throw error;
});

See: http://calderalabs.org/caldera-api-client/manual/overview.html#usage

Development Requirements

Testing

We use Facebook Jest for unit tests. Test go in the directory __tests__.

  • Run test watcher
    yarn test
    

Make sure to review the docs on testing requests

Scripts

Build for release

  • yarn build
    • Runs tests, and flow type checks and Babel compiles with minification and source map.

This script calls a pre, compile, and post subcommands. For consistency, please call other scripts at those three events.

Tests

*yarn test - Run test watcher

  • npm test:once
    • Run tests once

Type-checking With Flow

  • yarn flow

Lint Code

  • yarn lint
    • Run linter and fixer watch
  • yarn lint:fix
    • Lint and fix code once
  • yarn lint:once
    • Lint code once

Generate Documentation

  • npm run documentation
    • Generates documentation from inline docs
    • Generates documentation from markdown files in /manual

Release To npm

Must be logged in as project maintainer via npm cli

  • yarn release

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.