settle.africa
v1.0.1
Published
A package for handling authentication and API requests to settle africa.
Downloads
6
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.africa
Usage
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 live
Authentication
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=live
Testing
Tests are written using Jest. Run the tests with the following command:
npm test
Versioning
Follow semantic versioning:
- Patch Version: Use
npm version patch
for bug fixes. - Minor Version: Use
npm version minor
for new features that are backward-compatible. - Major Version: Use
npm version major
for breaking changes.
Push the version tags to the remote repository:
git push --tags
License
This project is licensed under the MIT License.