fork of hey-api/openapi-ts because I need some additional things
1import type { ApiRequestOptions } from './ApiRequestOptions';
2import { CancelablePromise } from './CancelablePromise';
3import type { OpenAPIConfig } from './OpenAPI';
4
5export const request = <T>(
6 config: OpenAPIConfig,
7 options: ApiRequestOptions<T>,
8): CancelablePromise<T> =>
9 new CancelablePromise((resolve, reject, onCancel) => {
10 const url = `${config.BASE}${options.path}`.replace('{api-version}', config.VERSION);
11
12 try {
13 // Do your request...
14 const timeout = setTimeout(() => {
15 resolve({
16 body: {
17 ...options,
18 },
19 ok: true,
20 status: 200,
21 statusText: 'dummy',
22 url,
23 });
24 }, 500);
25
26 // Cancel your request...
27 onCancel(() => {
28 clearTimeout(timeout);
29 });
30 } catch (error) {
31 reject(error);
32 }
33 });