tsdk
Version:
Type-safe API development and code share tool for TypeScript projects.
102 lines (85 loc) • 2.13 kB
Markdown
> 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%