settle.africa
v1.0.1
Published
A package for handling authentication and API requests to settle africa.
Downloads
3
Readme
Settle
Settle is an npm package designed to handle authentication and API requests with dynamic base URLs, utilizing Axios. It automatically manages the base URL depending on the environment (test or live) and handles authentication headers for subsequent API requests.
Installation
To install the package, use npm:
npm install settle.africaUsage
Setting the Mode
You can set the environment mode to either test or live:
const { setMode } = require("settle.africa");
setMode("test"); // Sets the environment to test
// or
setMode("live"); // Sets the environment to liveAuthentication
To authenticate, provide your username and password. The package will automatically store the authentication token for future requests:
const { setCredentials } = require("settle.africa");
setCredentials("your-username", "your-password")
.then(() => console.log("Authenticated"))
.catch((err) => console.error("Authentication failed:", err));Making API Requests
Use the makeRequest function to interact with your API. It supports both GET and POST methods:
const { makeRequest } = require("settle.africa");
// GET request
makeRequest("some/endpoint", { key: "value" })
.then((response) => console.log(response))
.catch((err) => console.error("API request failed:", err));
// POST request
makeRequest("another/endpoint", { key: "value" }, "POST")
.then((response) => console.log(response))
.catch((err) => console.error("API request failed:", err));Environment Configuration
You can define the environment mode in a .env file. By default, it will look for NODE_ENV:
SETTLE_ENV=liveTesting
Tests are written using Jest. Run the tests with the following command:
npm testVersioning
Follow semantic versioning:
- Patch Version: Use
npm version patchfor bug fixes. - Minor Version: Use
npm version minorfor new features that are backward-compatible. - Major Version: Use
npm version majorfor breaking changes.
Push the version tags to the remote repository:
git push --tagsLicense
This project is licensed under the MIT License.
