# @xylabs/axios

[![npm][npm-badge]][npm-link]
[![license][license-badge]][license-link]

> Base functionality used throughout XY Labs TypeScript/JavaScript libraries

## Install

Using npm:

```sh
npm install {{name}}
```

Using yarn:

```sh
yarn add {{name}}
```

Using pnpm:

```sh
pnpm add {{name}}
```

Using bun:

```sh
bun add {{name}}
```


## License

See the [LICENSE](LICENSE) file for license rights and limitations (LGPL-3.0-only).

## Reference

### packages

  ### axios

    ### .temp-typedoc

      ### classes

        ### <a id="AxiosJson"></a>AxiosJson

[**@xylabs/axios**](#../README)

***

## Deprecated

use axiosJsonConfig instead

## Extends

- `Axios`

## Constructors

### Constructor

```ts
new AxiosJson(config?): AxiosJson;
```

### Parameters

#### config?

`RawAxiosJsonRequestConfig`

### Returns

`AxiosJson`

### Overrides

```ts
Axios.constructor
```

## Methods

### ~~axiosConfig()~~

```ts
static axiosConfig(config?): RawAxiosJsonRequestConfig;
```

### Parameters

#### config?

`RawAxiosJsonRequestConfig` = `{}`

### Returns

`RawAxiosJsonRequestConfig`

***

### ~~create()~~

```ts
static create(config?): Axios;
```

### Parameters

#### config?

`RawAxiosJsonRequestConfig`

### Returns

`Axios`

      ### functions

        ### <a id="axiosJsonConfig"></a>axiosJsonConfig

[**@xylabs/axios**](#../README)

***

```ts
function axiosJsonConfig(config?): RawAxiosJsonRequestConfig;
```

Creates an Axios config preconfigured for JSON requests with optional gzip compression.
Request bodies exceeding `compressLength` (default 1024 bytes) are automatically gzip-compressed.

## Parameters

### config?

`RawAxiosJsonRequestConfig` = `{}`

Base Axios config, optionally including a `compressLength` threshold

## Returns

`RawAxiosJsonRequestConfig`

A fully configured Axios request config with JSON transforms

      ### variables

        ### <a id="axios"></a>axios

[**@xylabs/axios**](#../README)

***

```ts
const axios: Axios = axiosJson;
```

## Deprecated

use axiosJson instead

        ### <a id="axiosJson"></a>axiosJson

[**@xylabs/axios**](#../README)

***

```ts
const axiosJson: Axios;
```


[npm-badge]: https://img.shields.io/npm/v/@xylabs/axios.svg
[npm-link]: https://www.npmjs.com/package/@xylabs/axios
[license-badge]: https://img.shields.io/npm/l/@xylabs/axios.svg
[license-link]: https://github.com/xylabs/sdk-js/blob/main/LICENSE
