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.
$ npm i @goparrot/square-connect-plus square@17.0.0
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()}`);
}
})();
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,
});
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). |
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. |
By default, the built-in NullLogger
class is used.
You can use any logger that fits the built-in ILogger
interface
Square Connect Plus follows Semantic Versioning.
See CONTRIBUTING
file.
In order to run the test suite, install the development dependencies:
$ npm i
Then, run the following command:
$ npm run coverage
Square Connect Plus is MIT licensed.