> Document for %PROJECT NAME%, generated by [`tsdk`](https://tsdk.dev)

### Setup for xior.js and socket.io

```ts
import {
  setHandler,
  setSocketIOInstance,
  socketIOHandler,
  setXiorInstance,
  xiorHandler,
  getHandler,
} from '%PROJECT NAME%';
import type { QueryTodoRes } from '%PROJECT NAME%/lib/apiconf-refs';
import { QueryTodo } from '%PROJECT NAME%/lib/user-api';
import { io as SocketIO } from 'socket.io-client';
import axios from 'xior';

const apiType = 'user';
const baseURL = 'https://example.com';
const socketURL = baseURL;
const apiURL = `${baseURL}/api/${apiType}`;

// use HTTP protocol
setXiorInstance(axios.create({ baseURL: apiURL }));
setHandler(xiorHandler);

// Usage
(async function run() {
  const res = await QueryTodo({});
  console.log(res);
})();

// or use socket.io protocol
const io = SocketIO(socketURL, {
  transports: ['websocket'],
  query: {
    type: apiType,
  },
});
setSocketIOInstance(io);
setHandler(socketIOHandler);

io.on('connect', async function () {
  // Usage
  const res = await QueryTodo({});
  console.log(res);
});
```

### Setup for axios and socket.io

```ts
import {
  setHandler,
  setSocketIOInstance,
  socketIOHandler,
  setAxiosInstance,
  axiosHandler,
  getHandler,
} from '%PROJECT NAME%';
import type { QueryTodoRes } from '%PROJECT NAME%/lib/apiconf-refs';
import { QueryTodo } from '%PROJECT NAME%/lib/user-api';
import { io as SocketIO } from 'socket.io-client';
import axios from 'axios';

const apiType = 'user';
const baseURL = 'https://example.com';
const socketURL = baseURL;
const apiURL = `${baseURL}/api/${apiType}`;

// use HTTP protocol
setAxiosInstance(axios.create({ baseURL: apiURL }));
setHandler(axiosHandler);

// Usage
(async function run() {
  const res = await QueryTodo({});
  console.log(res);
})();

// or use socket.io protocol
const io = SocketIO(socketURL, {
  transports: ['websocket'],
  query: {
    type: apiType,
  },
});
setSocketIOInstance(io);
setHandler(socketIOHandler);

io.on('connect', async function () {
  // Usage
  const res = await QueryTodo({});
  console.log(res);
});
```

### API Reference

%API_REFERENCE%
