@goparrot/square-connect-plus
v1.8.0
Published
Extends the official Square Node.js SDK library with additional functionality
Downloads
297
Readme
Square Connect Plus
Square Connect Plus is a Typescript library which extends the official Square Node.js SDK library with additional functionality. The library does not modify request and response payload.
Installation
$ npm i @goparrot/square-connect-plus [email protected]
Usage
Simple example
import { SquareClient } from '@goparrot/square-connect-plus';
import { ListLocationsResponse } from 'square';
const accessToken: string = `${process.env.SQUARE_ACCESS_TOKEN}`;
const squareClient: SquareClient = new SquareClient(accessToken);
(async () => {
try {
const listLocationsResponse: ListLocationsResponse = await squareClient.getLocationsApi().listLocations();
if (listLocationsResponse.errors.length) {
throw new Error(`cant fetch locations`);
}
console.info('locations', listLocationsResponse.locations);
} catch (error) {
console.error(error);
// or error as string with stack + request and response payload
// console.error(`${error.stack}\npayload: ${error.toString()}`);
}
})();
Advanced example
import { SquareClient, exponentialDelay, retryCondition } from '@goparrot/square-connect-plus';
const accessToken: string = `${process.env.SQUARE_ACCESS_TOKEN}`;
const squareClient: SquareClient = new SquareClient(accessToken, {
retry: {
maxRetries: 10,
},
configuration: {
timeout: 60_000,
},
logger: console,
});
Available Options
retry
Options
| Name | Type | Default | Description |
| -------------- | ---------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| maxRetries | Number
| 6
| The number of times to retry before failing. |
| retryCondition | Function
| retryCondition
| A callback to further control if a request should be retried. By default, the built-in retryCondition
function is used. |
| retryDelay | Function
| exponentialDelay
| A callback to further control the delay between retried requests. By default, the built-in exponentialDelay
function is used (Exponential Backoff). |
originClient
Options
A set of possible settings for the original library.
| Name | Type | Default | Description |
| ----------------- | -------- | ------------------------------ | ------------------------------------------------------------------------- |
| customUrl | String
| https://connect.squareup.com
| The custom URL against which to resolve every API call's (relative) path. |
| additionalHeaders | Object
| {}
| Record<string, string> |
| timeout | Number
| 60_000
| The default HTTP timeout for all API calls. |
| squareVersion | String
| 2021-12-15
| The default square api version for all API calls. |
| environment | Enum
| Environment.Production
| The default square enviroment for all API calls. |
| accessToken | String
| ''
| Scoped access token. |
logger
Option
By default, the built-in NullLogger
class is used.
You can use any logger that fits the built-in ILogger
interface
Versioning
Square Connect Plus follows Semantic Versioning.
Contributing
See CONTRIBUTING
file.
Unit Tests
In order to run the test suite, install the development dependencies:
$ npm i
Then, run the following command:
$ npm run coverage
License
Square Connect Plus is MIT licensed.