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

6.4.2 • Public • Published

Pod Point Network API SDK (JS)

Build Status npm

A JavaScript wrapper for the Pod Point Network API (v3 onward) 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

Prerequisites

  • Node 12.x - run nvm use to use the required version
  • TypeScript
    • Version: v3.9.10
    • Javascript Support: >= es2020
    • Compiler Target: es2015 (Higher level features will be downleveled)

Building with TypeScript

npm run build

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.

Once your PR has been opened, run the following commands to update the package version and create a new release/tag. Now, your changes will accessible by any service before merging to master.

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

"Whoops, I already merged..."

If you forget to do this before merging, this is not a problem, just

  1. Create a new branch from master
  2. Run these same commands above
  3. Open and merge a PR back to master so that the package.json file is updated.

Travis will run on this new branch and publish the package to NPM.


Travel shouldn't damage the earth 🌍

Made with ❤️  at Pod Point

Readme

Keywords

Package Sidebar

Install

npm i @pod-point/api3-js

Weekly Downloads

15

Version

6.4.2

License

MIT

Unpacked Size

388 kB

Total Files

725

Last publish

Collaborators

  • pod-point