@reverbia/sdk 1.0.0-next.20251113133026 → 1.0.0-next.20251113193348

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/index.cjs +869 -0
  2. package/dist/index.d.mts +556 -0
  3. package/dist/index.d.ts +556 -0
  4. package/dist/index.mjs +840 -0
  5. package/package.json +11 -11
  6. package/dist/cjs/client/client/client.gen.d.ts +0 -2
  7. package/dist/cjs/client/client/client.gen.js +0 -203
  8. package/dist/cjs/client/client/index.d.ts +0 -8
  9. package/dist/cjs/client/client/index.js +0 -16
  10. package/dist/cjs/client/client/types.gen.d.ts +0 -99
  11. package/dist/cjs/client/client/types.gen.js +0 -3
  12. package/dist/cjs/client/client/utils.gen.d.ts +0 -40
  13. package/dist/cjs/client/client/utils.gen.js +0 -314
  14. package/dist/cjs/client/client.gen.d.ts +0 -12
  15. package/dist/cjs/client/client.gen.js +0 -6
  16. package/dist/cjs/client/core/auth.gen.d.ts +0 -18
  17. package/dist/cjs/client/core/auth.gen.js +0 -18
  18. package/dist/cjs/client/core/bodySerializer.gen.d.ts +0 -25
  19. package/dist/cjs/client/core/bodySerializer.gen.js +0 -60
  20. package/dist/cjs/client/core/params.gen.d.ts +0 -43
  21. package/dist/cjs/client/core/params.gen.js +0 -104
  22. package/dist/cjs/client/core/pathSerializer.gen.d.ts +0 -33
  23. package/dist/cjs/client/core/pathSerializer.gen.js +0 -123
  24. package/dist/cjs/client/core/queryKeySerializer.gen.d.ts +0 -18
  25. package/dist/cjs/client/core/queryKeySerializer.gen.js +0 -105
  26. package/dist/cjs/client/core/serverSentEvents.gen.d.ts +0 -71
  27. package/dist/cjs/client/core/serverSentEvents.gen.js +0 -139
  28. package/dist/cjs/client/core/types.gen.d.ts +0 -78
  29. package/dist/cjs/client/core/types.gen.js +0 -3
  30. package/dist/cjs/client/core/utils.gen.d.ts +0 -19
  31. package/dist/cjs/client/core/utils.gen.js +0 -93
  32. package/dist/cjs/client/index.d.ts +0 -2
  33. package/dist/cjs/client/index.js +0 -18
  34. package/dist/cjs/client/sdk.gen.d.ts +0 -27
  35. package/dist/cjs/client/sdk.gen.js +0 -33
  36. package/dist/cjs/client/types.gen.d.ts +0 -120
  37. package/dist/cjs/client/types.gen.js +0 -3
  38. package/dist/esm/client/client/client.gen.d.ts +0 -2
  39. package/dist/esm/client/client/client.gen.js +0 -199
  40. package/dist/esm/client/client/index.d.ts +0 -8
  41. package/dist/esm/client/client/index.js +0 -6
  42. package/dist/esm/client/client/types.gen.d.ts +0 -99
  43. package/dist/esm/client/client/types.gen.js +0 -2
  44. package/dist/esm/client/client/utils.gen.d.ts +0 -40
  45. package/dist/esm/client/client/utils.gen.js +0 -302
  46. package/dist/esm/client/client.gen.d.ts +0 -12
  47. package/dist/esm/client/client.gen.js +0 -3
  48. package/dist/esm/client/core/auth.gen.d.ts +0 -18
  49. package/dist/esm/client/core/auth.gen.js +0 -14
  50. package/dist/esm/client/core/bodySerializer.gen.d.ts +0 -25
  51. package/dist/esm/client/core/bodySerializer.gen.js +0 -57
  52. package/dist/esm/client/core/params.gen.d.ts +0 -43
  53. package/dist/esm/client/core/params.gen.js +0 -100
  54. package/dist/esm/client/core/pathSerializer.gen.d.ts +0 -33
  55. package/dist/esm/client/core/pathSerializer.gen.js +0 -114
  56. package/dist/esm/client/core/queryKeySerializer.gen.d.ts +0 -18
  57. package/dist/esm/client/core/queryKeySerializer.gen.js +0 -99
  58. package/dist/esm/client/core/serverSentEvents.gen.d.ts +0 -71
  59. package/dist/esm/client/core/serverSentEvents.gen.js +0 -135
  60. package/dist/esm/client/core/types.gen.d.ts +0 -78
  61. package/dist/esm/client/core/types.gen.js +0 -2
  62. package/dist/esm/client/core/utils.gen.d.ts +0 -19
  63. package/dist/esm/client/core/utils.gen.js +0 -87
  64. package/dist/esm/client/index.d.ts +0 -2
  65. package/dist/esm/client/index.js +0 -2
  66. package/dist/esm/client/sdk.gen.d.ts +0 -27
  67. package/dist/esm/client/sdk.gen.js +0 -28
  68. package/dist/esm/client/types.gen.d.ts +0 -120
  69. package/dist/esm/client/types.gen.js +0 -2
  70. package/dist/types/client/client/client.gen.d.ts +0 -2
  71. package/dist/types/client/client/index.d.ts +0 -8
  72. package/dist/types/client/client/types.gen.d.ts +0 -99
  73. package/dist/types/client/client/utils.gen.d.ts +0 -40
  74. package/dist/types/client/client.gen.d.ts +0 -12
  75. package/dist/types/client/core/auth.gen.d.ts +0 -18
  76. package/dist/types/client/core/bodySerializer.gen.d.ts +0 -25
  77. package/dist/types/client/core/params.gen.d.ts +0 -43
  78. package/dist/types/client/core/pathSerializer.gen.d.ts +0 -33
  79. package/dist/types/client/core/queryKeySerializer.gen.d.ts +0 -18
  80. package/dist/types/client/core/serverSentEvents.gen.d.ts +0 -71
  81. package/dist/types/client/core/types.gen.d.ts +0 -78
  82. package/dist/types/client/core/utils.gen.d.ts +0 -19
  83. package/dist/types/client/index.d.ts +0 -2
  84. package/dist/types/client/sdk.gen.d.ts +0 -27
  85. package/dist/types/client/types.gen.d.ts +0 -120
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@reverbia/sdk",
3
- "version": "1.0.0-next.20251113133026",
3
+ "version": "1.0.0-next.20251113193348",
4
4
  "description": "",
5
- "main": "dist/cjs/client/index.js",
6
- "module": "dist/esm/client/index.js",
7
- "types": "dist/types/client/index.d.ts",
5
+ "main": "./dist/index.cjs",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
- "types": "./dist/types/client/index.d.ts",
11
- "import": "./dist/esm/client/index.js",
12
- "require": "./dist/cjs/client/index.js",
13
- "default": "./dist/cjs/client/index.js"
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.mjs",
12
+ "require": "./dist/index.cjs",
13
+ "default": "./dist/index.cjs"
14
14
  }
15
15
  },
16
16
  "files": [
@@ -18,7 +18,7 @@
18
18
  ],
19
19
  "scripts": {
20
20
  "spec": "openapi-ts",
21
- "build": "rimraf dist && tsc --outDir dist/esm --module esnext && tsc --outDir dist/cjs --module commonjs && tsc --declarationDir dist/types --emitDeclarationOnly",
21
+ "build": "tsup",
22
22
  "prepublishOnly": "yarn build",
23
23
  "docs": "typedoc src/client/index.ts",
24
24
  "generate": "yarn spec && yarn docs"
@@ -35,11 +35,11 @@
35
35
  },
36
36
  "homepage": "https://github.com/zeta-chain/ai-sdk#readme",
37
37
  "dependencies": {
38
- "@reverbia/portal": "1.0.0-next.20251112"
38
+ "@reverbia/portal": "^1.0.0-next.20251113192414"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@hey-api/openapi-ts": "0.87.2",
42
- "rimraf": "^6.1.0",
42
+ "tsup": "^8.5.1",
43
43
  "typedoc": "^0.28.14",
44
44
  "typedoc-plugin-frontmatter": "^1.3.0",
45
45
  "typedoc-plugin-markdown": "^4.9.0",
@@ -1,2 +0,0 @@
1
- import type { Client, Config } from './types.gen';
2
- export declare const createClient: (config?: Config) => Client;
@@ -1,203 +0,0 @@
1
- "use strict";
2
- // This file is auto-generated by @hey-api/openapi-ts
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.createClient = void 0;
5
- const serverSentEvents_gen_1 = require("../core/serverSentEvents.gen");
6
- const utils_gen_1 = require("../core/utils.gen");
7
- const utils_gen_2 = require("./utils.gen");
8
- const createClient = (config = {}) => {
9
- let _config = (0, utils_gen_2.mergeConfigs)((0, utils_gen_2.createConfig)(), config);
10
- const getConfig = () => ({ ..._config });
11
- const setConfig = (config) => {
12
- _config = (0, utils_gen_2.mergeConfigs)(_config, config);
13
- return getConfig();
14
- };
15
- const interceptors = (0, utils_gen_2.createInterceptors)();
16
- const beforeRequest = async (options) => {
17
- const opts = {
18
- ..._config,
19
- ...options,
20
- fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,
21
- headers: (0, utils_gen_2.mergeHeaders)(_config.headers, options.headers),
22
- serializedBody: undefined,
23
- };
24
- if (opts.security) {
25
- await (0, utils_gen_2.setAuthParams)({
26
- ...opts,
27
- security: opts.security,
28
- });
29
- }
30
- if (opts.requestValidator) {
31
- await opts.requestValidator(opts);
32
- }
33
- if (opts.body !== undefined && opts.bodySerializer) {
34
- opts.serializedBody = opts.bodySerializer(opts.body);
35
- }
36
- // remove Content-Type header if body is empty to avoid sending invalid requests
37
- if (opts.body === undefined || opts.serializedBody === '') {
38
- opts.headers.delete('Content-Type');
39
- }
40
- const url = (0, utils_gen_2.buildUrl)(opts);
41
- return { opts, url };
42
- };
43
- // @ts-expect-error
44
- const request = async (options) => {
45
- // @ts-expect-error
46
- const { opts, url } = await beforeRequest(options);
47
- for (const fn of interceptors.request.fns) {
48
- if (fn) {
49
- await fn(opts);
50
- }
51
- }
52
- // fetch must be assigned here, otherwise it would throw the error:
53
- // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation
54
- const _fetch = opts.fetch;
55
- const requestInit = {
56
- ...opts,
57
- body: (0, utils_gen_1.getValidRequestBody)(opts),
58
- };
59
- let response = await _fetch(url, requestInit);
60
- for (const fn of interceptors.response.fns) {
61
- if (fn) {
62
- response = await fn(response, opts);
63
- }
64
- }
65
- const result = {
66
- response,
67
- };
68
- if (response.ok) {
69
- const parseAs = (opts.parseAs === 'auto'
70
- ? (0, utils_gen_2.getParseAs)(response.headers.get('Content-Type'))
71
- : opts.parseAs) ?? 'json';
72
- if (response.status === 204 ||
73
- response.headers.get('Content-Length') === '0') {
74
- let emptyData;
75
- switch (parseAs) {
76
- case 'arrayBuffer':
77
- case 'blob':
78
- case 'text':
79
- emptyData = await response[parseAs]();
80
- break;
81
- case 'formData':
82
- emptyData = new FormData();
83
- break;
84
- case 'stream':
85
- emptyData = response.body;
86
- break;
87
- case 'json':
88
- default:
89
- emptyData = {};
90
- break;
91
- }
92
- return {
93
- data: emptyData,
94
- ...result,
95
- };
96
- }
97
- let data;
98
- switch (parseAs) {
99
- case 'arrayBuffer':
100
- case 'blob':
101
- case 'formData':
102
- case 'json':
103
- case 'text':
104
- data = await response[parseAs]();
105
- break;
106
- case 'stream':
107
- return {
108
- data: response.body,
109
- ...result,
110
- };
111
- }
112
- if (parseAs === 'json') {
113
- if (opts.responseValidator) {
114
- await opts.responseValidator(data);
115
- }
116
- if (opts.responseTransformer) {
117
- data = await opts.responseTransformer(data);
118
- }
119
- }
120
- return {
121
- data,
122
- ...result,
123
- };
124
- }
125
- const textError = await response.text();
126
- let jsonError;
127
- try {
128
- jsonError = JSON.parse(textError);
129
- }
130
- catch {
131
- // noop
132
- }
133
- const error = jsonError ?? textError;
134
- let finalError = error;
135
- for (const fn of interceptors.error.fns) {
136
- if (fn) {
137
- finalError = (await fn(error, response, opts));
138
- }
139
- }
140
- finalError = finalError || {};
141
- if (opts.throwOnError) {
142
- throw finalError;
143
- }
144
- return {
145
- error: finalError,
146
- ...result,
147
- };
148
- };
149
- const makeMethodFn = (method) => (options) => request({ ...options, method });
150
- const makeSseFn = (method) => async (options) => {
151
- const { opts, url } = await beforeRequest(options);
152
- return (0, serverSentEvents_gen_1.createSseClient)({
153
- ...opts,
154
- body: opts.body,
155
- headers: opts.headers,
156
- method,
157
- onRequest: async (url, init) => {
158
- let request = new Request(url, init);
159
- const requestInit = {
160
- ...init,
161
- method: init.method,
162
- url,
163
- };
164
- for (const fn of interceptors.request.fns) {
165
- if (fn) {
166
- await fn(requestInit);
167
- request = new Request(requestInit.url, requestInit);
168
- }
169
- }
170
- return request;
171
- },
172
- url,
173
- });
174
- };
175
- return {
176
- buildUrl: utils_gen_2.buildUrl,
177
- connect: makeMethodFn('CONNECT'),
178
- delete: makeMethodFn('DELETE'),
179
- get: makeMethodFn('GET'),
180
- getConfig,
181
- head: makeMethodFn('HEAD'),
182
- interceptors,
183
- options: makeMethodFn('OPTIONS'),
184
- patch: makeMethodFn('PATCH'),
185
- post: makeMethodFn('POST'),
186
- put: makeMethodFn('PUT'),
187
- request,
188
- setConfig,
189
- sse: {
190
- connect: makeSseFn('CONNECT'),
191
- delete: makeSseFn('DELETE'),
192
- get: makeSseFn('GET'),
193
- head: makeSseFn('HEAD'),
194
- options: makeSseFn('OPTIONS'),
195
- patch: makeSseFn('PATCH'),
196
- post: makeSseFn('POST'),
197
- put: makeSseFn('PUT'),
198
- trace: makeSseFn('TRACE'),
199
- },
200
- trace: makeMethodFn('TRACE'),
201
- };
202
- };
203
- exports.createClient = createClient;
@@ -1,8 +0,0 @@
1
- export type { Auth } from '../core/auth.gen';
2
- export type { QuerySerializerOptions } from '../core/bodySerializer.gen';
3
- export { formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer, } from '../core/bodySerializer.gen';
4
- export { buildClientParams } from '../core/params.gen';
5
- export { serializeQueryKeyValue } from '../core/queryKeySerializer.gen';
6
- export { createClient } from './client.gen';
7
- export type { Client, ClientOptions, Config, CreateClientConfig, Options, RequestOptions, RequestResult, TDataShape, } from './types.gen';
8
- export { createConfig } from './utils.gen';
@@ -1,16 +0,0 @@
1
- "use strict";
2
- // This file is auto-generated by @hey-api/openapi-ts
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.createConfig = exports.createClient = exports.serializeQueryKeyValue = exports.buildClientParams = exports.urlSearchParamsBodySerializer = exports.jsonBodySerializer = exports.formDataBodySerializer = void 0;
5
- var bodySerializer_gen_1 = require("../core/bodySerializer.gen");
6
- Object.defineProperty(exports, "formDataBodySerializer", { enumerable: true, get: function () { return bodySerializer_gen_1.formDataBodySerializer; } });
7
- Object.defineProperty(exports, "jsonBodySerializer", { enumerable: true, get: function () { return bodySerializer_gen_1.jsonBodySerializer; } });
8
- Object.defineProperty(exports, "urlSearchParamsBodySerializer", { enumerable: true, get: function () { return bodySerializer_gen_1.urlSearchParamsBodySerializer; } });
9
- var params_gen_1 = require("../core/params.gen");
10
- Object.defineProperty(exports, "buildClientParams", { enumerable: true, get: function () { return params_gen_1.buildClientParams; } });
11
- var queryKeySerializer_gen_1 = require("../core/queryKeySerializer.gen");
12
- Object.defineProperty(exports, "serializeQueryKeyValue", { enumerable: true, get: function () { return queryKeySerializer_gen_1.serializeQueryKeyValue; } });
13
- var client_gen_1 = require("./client.gen");
14
- Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return client_gen_1.createClient; } });
15
- var utils_gen_1 = require("./utils.gen");
16
- Object.defineProperty(exports, "createConfig", { enumerable: true, get: function () { return utils_gen_1.createConfig; } });
@@ -1,99 +0,0 @@
1
- import type { Auth } from '../core/auth.gen';
2
- import type { ServerSentEventsOptions, ServerSentEventsResult } from '../core/serverSentEvents.gen';
3
- import type { Client as CoreClient, Config as CoreConfig } from '../core/types.gen';
4
- import type { Middleware } from './utils.gen';
5
- export interface Config<T extends ClientOptions = ClientOptions> extends Omit<RequestInit, 'body' | 'headers' | 'method'>, CoreConfig {
6
- /**
7
- * Base URL for all requests made by this client.
8
- */
9
- baseUrl?: T['baseUrl'];
10
- /**
11
- * Fetch API implementation. You can use this option to provide a custom
12
- * fetch instance.
13
- *
14
- * @default globalThis.fetch
15
- */
16
- fetch?: typeof fetch;
17
- /**
18
- * Return the response data parsed in a specified format. By default, `auto`
19
- * will infer the appropriate method from the `Content-Type` response header.
20
- * You can override this behavior with any of the {@link Body} methods.
21
- * Select `stream` if you don't want to parse response data at all.
22
- *
23
- * @default 'auto'
24
- */
25
- parseAs?: 'arrayBuffer' | 'auto' | 'blob' | 'formData' | 'json' | 'stream' | 'text';
26
- /**
27
- * Throw an error instead of returning it in the response?
28
- *
29
- * @default false
30
- */
31
- throwOnError?: T['throwOnError'];
32
- }
33
- export interface RequestOptions<TData = unknown, ThrowOnError extends boolean = boolean, Url extends string = string> extends Config<{
34
- throwOnError: ThrowOnError;
35
- }>, Pick<ServerSentEventsOptions<TData>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
36
- /**
37
- * Any body that you want to add to your request.
38
- *
39
- * {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
40
- */
41
- body?: unknown;
42
- path?: Record<string, unknown>;
43
- query?: Record<string, unknown>;
44
- /**
45
- * Security mechanism(s) to use for the request.
46
- */
47
- security?: ReadonlyArray<Auth>;
48
- url: Url;
49
- }
50
- export interface ResolvedRequestOptions<ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions<unknown, ThrowOnError, Url> {
51
- serializedBody?: string;
52
- }
53
- export type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean> = ThrowOnError extends true ? Promise<{
54
- data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
55
- response: Response;
56
- }> : Promise<({
57
- data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
58
- error: undefined;
59
- } | {
60
- data: undefined;
61
- error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
62
- }) & {
63
- response: Response;
64
- }>;
65
- export interface ClientOptions {
66
- baseUrl?: string;
67
- throwOnError?: boolean;
68
- }
69
- type MethodFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions<TData, ThrowOnError>, 'method'>) => RequestResult<TData, TError, ThrowOnError>;
70
- type SseFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions<TData, ThrowOnError>, 'method'>) => Promise<ServerSentEventsResult<TData, TError>>;
71
- type RequestFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions<TData, ThrowOnError>, 'method'> & Pick<Required<RequestOptions<TData, ThrowOnError>>, 'method'>) => RequestResult<TData, TError, ThrowOnError>;
72
- type BuildUrlFn = <TData extends {
73
- body?: unknown;
74
- path?: Record<string, unknown>;
75
- query?: Record<string, unknown>;
76
- url: string;
77
- }>(options: TData & Options<TData>) => string;
78
- export type Client = CoreClient<RequestFn, Config, MethodFn, BuildUrlFn, SseFn> & {
79
- interceptors: Middleware<Response, unknown, ResolvedRequestOptions>;
80
- };
81
- /**
82
- * The `createClientConfig()` function will be called on client initialization
83
- * and the returned object will become the client's initial configuration.
84
- *
85
- * You may want to initialize your client this way instead of calling
86
- * `setConfig()`. This is useful for example if you're using Next.js
87
- * to ensure your client always has the correct values.
88
- */
89
- export type CreateClientConfig<T extends ClientOptions = ClientOptions> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;
90
- export interface TDataShape {
91
- body?: unknown;
92
- headers?: unknown;
93
- path?: unknown;
94
- query?: unknown;
95
- url: string;
96
- }
97
- type OmitKeys<T, K> = Pick<T, Exclude<keyof T, K>>;
98
- export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown> = OmitKeys<RequestOptions<TResponse, ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & ([TData] extends [never] ? unknown : Omit<TData, 'url'>);
99
- export {};
@@ -1,3 +0,0 @@
1
- "use strict";
2
- // This file is auto-generated by @hey-api/openapi-ts
3
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,40 +0,0 @@
1
- import type { QuerySerializer, QuerySerializerOptions } from '../core/bodySerializer.gen';
2
- import type { Client, ClientOptions, Config, RequestOptions } from './types.gen';
3
- export declare const createQuerySerializer: <T = unknown>({ parameters, ...args }?: QuerySerializerOptions) => (queryParams: T) => string;
4
- /**
5
- * Infers parseAs value from provided Content-Type header.
6
- */
7
- export declare const getParseAs: (contentType: string | null) => Exclude<Config["parseAs"], "auto">;
8
- export declare const setAuthParams: ({ security, ...options }: Pick<Required<RequestOptions>, "security"> & Pick<RequestOptions, "auth" | "query"> & {
9
- headers: Headers;
10
- }) => Promise<void>;
11
- export declare const buildUrl: Client['buildUrl'];
12
- export declare const getUrl: ({ baseUrl, path, query, querySerializer, url: _url, }: {
13
- baseUrl?: string;
14
- path?: Record<string, unknown>;
15
- query?: Record<string, unknown>;
16
- querySerializer: QuerySerializer;
17
- url: string;
18
- }) => string;
19
- export declare const mergeConfigs: (a: Config, b: Config) => Config;
20
- export declare const mergeHeaders: (...headers: Array<Required<Config>["headers"] | undefined>) => Headers;
21
- type ErrInterceptor<Err, Res, Options> = (error: Err, response: Res, options: Options) => Err | Promise<Err>;
22
- type ReqInterceptor<Options> = (options: Options) => void | Promise<void>;
23
- type ResInterceptor<Res, Options> = (response: Res, options: Options) => Res | Promise<Res>;
24
- declare class Interceptors<Interceptor> {
25
- fns: Array<Interceptor | null>;
26
- clear(): void;
27
- eject(id: number | Interceptor): void;
28
- exists(id: number | Interceptor): boolean;
29
- getInterceptorIndex(id: number | Interceptor): number;
30
- update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false;
31
- use(fn: Interceptor): number;
32
- }
33
- export interface Middleware<Res, Err, Options> {
34
- error: Interceptors<ErrInterceptor<Err, Res, Options>>;
35
- request: Interceptors<ReqInterceptor<Options>>;
36
- response: Interceptors<ResInterceptor<Res, Options>>;
37
- }
38
- export declare const createInterceptors: <Res, Err, Options>() => Middleware<Res, Err, Options>;
39
- export declare const createConfig: <T extends ClientOptions = ClientOptions>(override?: Config<Omit<ClientOptions, keyof T> & T>) => Config<Omit<ClientOptions, keyof T> & T>;
40
- export {};