Have ideas to improve npm?Join in the discussion! »

@pod-point/api3-jsTypeScript icon, indicating that this package has built-in type declarations

5.3.8 • Public • Published

Pod Point API SDK (JS)

Build Status codecov npm

A JavaScript wrapper for the Pod Point API (v3) built with TypeScript.

Installation

To install this package, run the following command:

npm install --save @pod-point/api3-js

Usage

This package contains a client, repositories, services, models and factories.

Client

First, you will want to create a new client instance.

// path/to/client.js
import { Client } from '@pod-point/api3-js';

const client = new Client(accessKey, secretKey, userAgent, domain, prefix);

Repositories & Services

Next, you can start creating and using repository and service instances with the client you have just created.

// path/to/anywhere.js
import { UserRepository } from '@pod-point/api3-js';
import client from 'path/to/client';

const userRepository = new UserRepository(client);

Models & Factories

Lastly, you can use the model factories to create:

  • fake model instances
  • fake objects representing a models attributes
  • fake objects representing a models payload
import { UserFactory } from '@pod-point/api3-js';

const userFactory = new UserFactory();
const fakeUserPayload = userFactory.payload();
const fakeUserAttributes = userFactory.attributes();
const fakeUser = userFactory.model();

Overrides can be passed into all of these methods, and there is also a method available to generate any of these objects in a pre-defined "state".

This is styled on the Laravel factories.

Example:

import { ChargeFactory } from '@pod-point/api3-js';

const chargeFactory = new ChargeFactory();
const charge = chargeFactory.states(['single']).model();

In the example above we have applied the "single" state before generating the model, this basically applies some pre-defined overrides to the fake payload/attributes.

Development

Testing

This package uses jest. To run the test suites for this project, run the following command:

npm run test

Releases

This package is distributed via NPM and published automatically by Travis when creating a tagged commit. This can be done in one of 2 ways:

1. Pre-merge via the CLI

Before merging your PR following code review & QA, run the following commands to update the package version and create a new release/tag.

npm version <major|minor|patch|prerelease>
git push && git push --tags

If you forget to do this before merging, this is not a problem, just create a new branch from master and run these same commands, remembering to open and merge a PR for this branch so that the package.json file is updated, alternatively, see option 2.

2. Post-merge via code & GitHub

After merging your code changes, create a new branch/PR from master and update the package version in package.json to whatever you wish the next release to be.

Before merging this PR, create a release via GitHub with a tag version to match this package version number, this will trigger the tagged commit and in turn the automatic deployment to NPM.

Keywords

Install

npm i @pod-point/api3-js

DownloadsWeekly Downloads

75

Version

5.3.8

License

MIT

Unpacked Size

312 kB

Total Files

597

Last publish

Collaborators

  • avatar