neojax is a lightweight alternative to axios, with native typescript support.
npm install neojax --save
<script
src="https://cdn.jsdelivr.net/npm/neojax@latest"
type="text/javascript"
></script>
To import in the module do:
import Neojax from 'neojax';
With typescript you can as well import the different types
import Neojax, { NeojaxResponse, NeojaxError } from 'neojax';
This will give you a new Neojax instance, without any preset options.
If you want to predefine the baseUrl or headers you can create a new instance from this object, with the create() method.
const neojax = Neojax.create({
baseUrl: 'https://example.org/',
headers: {
Authorization: 'Bearer mytoken'
}
});
To send out a basic get request:
Neojax.get(url, options)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error.message);
console.log(error.response.data);
});
You can also use async/await, because it returns a Promise.
const response = await Neojax.get(url, options);
This works similarly in typescript:
Neojax.get(url, options)
.then((response: NeojaxResponse) => {
console.log(response.data);
})
.catch((error: NeojaxError) => {
console.log(error.message);
console.log(error.message.data);
});
And with async/await it looks like the following:
const response: NeojaxResponse = await Neojax.get(url, options);
A post request looks similar, with the main difference, that you have an optional data parameter.
const response = await Neojax.post(url, data, options);
It is now possible to change global defaults. (As well as those defined in your instance).
// global
Neojax.options.headers['Content-Type'] = 'application/json; charset=utf-8';
// for instances
neojax.options.baseUrl = 'https://api.example.org/';
The currently supported request types are:
- GET
- POST
- PUT
- DELETE
If you want to contribute to this project please make sure to follow our guidelines.
- You need to use tabs for indentation.
- Explain your changes in the description of your pull request.
- You may build the package locally, but you don't have to commit it, as this is done automatically.
Other than that, feel free to support neojax!