A JavaScript wrapper for the Pod Point Network RESTful API v3 onward.
npm install @pod-point/api3-js

A JavaScript wrapper for the Pod Point Network API (v3 onward) built with TypeScript.
To install this package, run the following command:
``bash`
npm install --save @pod-point/api3-js
This package contains a client, repositories, services, models and factories.
First, you will want to create a new client instance.
`js
// path/to/client.js
import { Client } from '@pod-point/api3-js';
const client = new Client(accessKey, secretKey, userAgent, domain, prefix);
`
Next, you can start creating and using repository and service instances with the client you have just created.
`js
// path/to/anywhere.js
import { UserRepository } from '@pod-point/api3-js';
import client from 'path/to/client';
const userRepository = new UserRepository(client);
`
Lastly, you can use the model factories to create:
- fake model instances
- fake objects representing a models attributes
- fake objects representing a models payload
`js
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:
`js
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.
- Node 12.x - run nvm use to use the required versionv3.9.10
- TypeScript
- Version: es2020
- Javascript Support: >= es2015
- Compiler Target: (Higher level features will be downleveled)
`bash`
npm run build
This package uses jest. To run the test suites for this project, run the following command:
`bash`
npm run test
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
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