1.0.1 • Published 12 months ago

settle.africa v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
12 months ago

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.

1.0.1

12 months ago