@examplary/sdk 1.0.3 → 1.1.0
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.
- package/README.md +95 -9
- package/dist/generated/sdk.d.ts +1702 -0
- package/dist/generated/sdk.js +742 -0
- package/dist/generated/types.d.ts +5425 -0
- package/dist/generated/{client/client/types.gen.js → types.js} +1 -1
- package/dist/src/context.d.ts +7 -0
- package/dist/src/context.js +22 -0
- package/dist/src/error.d.ts +6 -0
- package/dist/src/error.js +24 -0
- package/dist/src/index.d.ts +5 -14
- package/dist/src/index.js +5 -45
- package/dist/src/options.d.ts +6 -0
- package/dist/{generated/client/core/types.gen.js → src/options.js} +0 -1
- package/dist/src/request.d.ts +3 -0
- package/dist/src/request.js +46 -0
- package/package.json +16 -8
- package/dist/generated/client/client/client.gen.d.ts +0 -2
- package/dist/generated/client/client/client.gen.js +0 -140
- package/dist/generated/client/client/index.d.ts +0 -8
- package/dist/generated/client/client/index.js +0 -16
- package/dist/generated/client/client/types.gen.d.ts +0 -87
- package/dist/generated/client/client/utils.gen.d.ts +0 -14
- package/dist/generated/client/client/utils.gen.js +0 -177
- package/dist/generated/client/client.gen.d.ts +0 -12
- package/dist/generated/client/client.gen.js +0 -6
- package/dist/generated/client/core/auth.gen.d.ts +0 -18
- package/dist/generated/client/core/auth.gen.js +0 -18
- package/dist/generated/client/core/bodySerializer.gen.d.ts +0 -25
- package/dist/generated/client/core/bodySerializer.gen.js +0 -60
- package/dist/generated/client/core/params.gen.d.ts +0 -43
- package/dist/generated/client/core/params.gen.js +0 -104
- package/dist/generated/client/core/pathSerializer.gen.d.ts +0 -33
- package/dist/generated/client/core/pathSerializer.gen.js +0 -115
- package/dist/generated/client/core/queryKeySerializer.gen.d.ts +0 -18
- package/dist/generated/client/core/queryKeySerializer.gen.js +0 -98
- package/dist/generated/client/core/serverSentEvents.gen.d.ts +0 -71
- package/dist/generated/client/core/serverSentEvents.gen.js +0 -135
- package/dist/generated/client/core/types.gen.d.ts +0 -78
- package/dist/generated/client/core/utils.gen.d.ts +0 -19
- package/dist/generated/client/core/utils.gen.js +0 -93
- package/dist/generated/client/index.d.ts +0 -2
- package/dist/generated/client/index.js +0 -36
- package/dist/generated/client/sdk.gen.d.ts +0 -863
- package/dist/generated/client/sdk.gen.js +0 -1826
- package/dist/generated/client/types.gen.d.ts +0 -2417
- package/dist/generated/client/types.gen.js +0 -3
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type AxiosInstance } from "axios";
|
|
2
|
+
import type { ExamplaryClientOptions } from "./options";
|
|
3
|
+
export interface ClientContext {
|
|
4
|
+
axios: AxiosInstance;
|
|
5
|
+
apiKey: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const createClientContext: (options: ExamplaryClientOptions) => ClientContext;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createClientContext = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const error_1 = require("./error");
|
|
9
|
+
const createClientContext = (options) => {
|
|
10
|
+
const { apiKey, baseUrl, headers, ...rest } = options;
|
|
11
|
+
const instance = axios_1.default.create({
|
|
12
|
+
baseURL: baseUrl ?? "https://api.examplary.ai",
|
|
13
|
+
...rest,
|
|
14
|
+
headers: {
|
|
15
|
+
Authorization: `Bearer ${apiKey}`,
|
|
16
|
+
...headers,
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
instance.interceptors.response.use((response) => response, (error) => Promise.reject(error_1.ExamplaryError.fromAxiosError(error)));
|
|
20
|
+
return { axios: instance, apiKey };
|
|
21
|
+
};
|
|
22
|
+
exports.createClientContext = createClientContext;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AxiosError, type AxiosResponse, type InternalAxiosRequestConfig } from "axios";
|
|
2
|
+
export declare class ExamplaryError<T = unknown, D = any> extends AxiosError<T, D> {
|
|
3
|
+
originalMessage?: string;
|
|
4
|
+
constructor(message?: string, code?: string, config?: InternalAxiosRequestConfig<D>, request?: any, response?: AxiosResponse<T, D>);
|
|
5
|
+
static fromAxiosError(error: AxiosError): ExamplaryError;
|
|
6
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExamplaryError = void 0;
|
|
4
|
+
const axios_1 = require("axios");
|
|
5
|
+
class ExamplaryError extends axios_1.AxiosError {
|
|
6
|
+
constructor(message, code, config, request, response) {
|
|
7
|
+
super(message, code, config, request, response);
|
|
8
|
+
this.name = "ExamplaryError";
|
|
9
|
+
}
|
|
10
|
+
static fromAxiosError(error) {
|
|
11
|
+
const e = new ExamplaryError(error.message, error.code, error.config, error.request, error.response);
|
|
12
|
+
const data = error.response?.data;
|
|
13
|
+
if (typeof data?.error === "string") {
|
|
14
|
+
e.originalMessage = error.message;
|
|
15
|
+
e.message = data.error;
|
|
16
|
+
}
|
|
17
|
+
else if (typeof data?.error?.message === "string") {
|
|
18
|
+
e.originalMessage = error.message;
|
|
19
|
+
e.message = data.error.message;
|
|
20
|
+
}
|
|
21
|
+
return e;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.ExamplaryError = ExamplaryError;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,14 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export type
|
|
5
|
-
export type
|
|
6
|
-
apiKey: string;
|
|
7
|
-
baseUrl?: string;
|
|
8
|
-
} & Partial<Omit<Config, "baseURL">>;
|
|
9
|
-
export declare class ExamplaryClientError<T = unknown, D = any> extends AxiosError {
|
|
10
|
-
originalMessage?: string;
|
|
11
|
-
constructor(message?: string, code?: string, config?: InternalAxiosRequestConfig<D>, request?: any, response?: AxiosResponse<T, D>);
|
|
12
|
-
static fromAxiosError(error: AxiosError): ExamplaryClientError;
|
|
13
|
-
}
|
|
14
|
-
export declare const createExamplaryClient: (options: ExamplaryClientOptions) => Examplary;
|
|
1
|
+
export { Examplary } from "../generated/sdk";
|
|
2
|
+
export type * from "../generated/sdk";
|
|
3
|
+
export { ExamplaryError } from "./error";
|
|
4
|
+
export type { ExamplaryClientOptions, ExamplaryRequestOptions, } from "./options";
|
|
5
|
+
export type { components, operations, paths } from "../generated/types";
|
package/dist/src/index.js
CHANGED
|
@@ -1,47 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
constructor(message, code, config, request, response) {
|
|
9
|
-
super(message, code, config, request, response);
|
|
10
|
-
this.name = "ExamplaryClientError";
|
|
11
|
-
}
|
|
12
|
-
static fromAxiosError(error) {
|
|
13
|
-
const e = new ExamplaryClientError(error.message, error.code, error.config, error.request, error.response);
|
|
14
|
-
const responseData = error.response?.data;
|
|
15
|
-
if (responseData?.error) {
|
|
16
|
-
if (typeof responseData.error === "string") {
|
|
17
|
-
e.originalMessage = error.message;
|
|
18
|
-
e.message = responseData.error;
|
|
19
|
-
}
|
|
20
|
-
else if (responseData.error?.message &&
|
|
21
|
-
typeof responseData.error.message === "string") {
|
|
22
|
-
e.originalMessage = error.message;
|
|
23
|
-
e.message = responseData.error.message;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return e;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.ExamplaryClientError = ExamplaryClientError;
|
|
30
|
-
const createExamplaryClient = (options) => {
|
|
31
|
-
const { apiKey, baseUrl, ...rest } = options;
|
|
32
|
-
const client = (0, client_2.createClient)({
|
|
33
|
-
baseURL: baseUrl || "https://api.examplary.ai",
|
|
34
|
-
...rest,
|
|
35
|
-
headers: {
|
|
36
|
-
Authorization: apiKey ? `Bearer ${apiKey}` : undefined,
|
|
37
|
-
...rest.headers,
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
client.instance.interceptors.response.use((response) => Promise.resolve(response), (error) => {
|
|
41
|
-
return Promise.reject(ExamplaryClientError.fromAxiosError(error));
|
|
42
|
-
});
|
|
43
|
-
return new client_1.Examplary({
|
|
44
|
-
client,
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
exports.createExamplaryClient = createExamplaryClient;
|
|
3
|
+
exports.ExamplaryError = exports.Examplary = void 0;
|
|
4
|
+
var sdk_1 = require("../generated/sdk");
|
|
5
|
+
Object.defineProperty(exports, "Examplary", { enumerable: true, get: function () { return sdk_1.Examplary; } });
|
|
6
|
+
var error_1 = require("./error");
|
|
7
|
+
Object.defineProperty(exports, "ExamplaryError", { enumerable: true, get: function () { return error_1.ExamplaryError; } });
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AxiosRequestConfig, CreateAxiosDefaults } from "axios";
|
|
2
|
+
export interface ExamplaryClientOptions extends Omit<CreateAxiosDefaults, "baseURL"> {
|
|
3
|
+
apiKey: string;
|
|
4
|
+
baseUrl?: string;
|
|
5
|
+
}
|
|
6
|
+
export type ExamplaryRequestOptions = Omit<AxiosRequestConfig, "method" | "url" | "data" | "params" | "baseURL">;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ClientContext } from "./context";
|
|
2
|
+
import type { ExamplaryRequestOptions } from "./options";
|
|
3
|
+
export declare const request: <T>(ctx: ClientContext, method: string, pathTemplate: string, pathKeys: readonly string[], queryKeys: readonly string[], hasBody: boolean, args: Record<string, unknown> | undefined, options: ExamplaryRequestOptions | undefined) => Promise<T>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.request = void 0;
|
|
4
|
+
const error_1 = require("./error");
|
|
5
|
+
const API_KEY_REGEX = /^examp_[A-Za-z0-9]+$/;
|
|
6
|
+
const request = async (ctx, method, pathTemplate, pathKeys, queryKeys, hasBody, args, options) => {
|
|
7
|
+
if (!API_KEY_REGEX.test(ctx.apiKey)) {
|
|
8
|
+
throw new error_1.ExamplaryError("Invalid API key");
|
|
9
|
+
}
|
|
10
|
+
const flat = args ?? {};
|
|
11
|
+
const url = pathTemplate.replace(/\{(\w+)\}/g, (_, key) => {
|
|
12
|
+
const value = flat[key];
|
|
13
|
+
if (value === undefined || value === null) {
|
|
14
|
+
throw new error_1.ExamplaryError(`Missing required path parameter "${key}"`);
|
|
15
|
+
}
|
|
16
|
+
return encodeURIComponent(String(value));
|
|
17
|
+
});
|
|
18
|
+
const params = {};
|
|
19
|
+
for (const k of queryKeys) {
|
|
20
|
+
if (flat[k] !== undefined)
|
|
21
|
+
params[k] = flat[k];
|
|
22
|
+
}
|
|
23
|
+
let data;
|
|
24
|
+
if (hasBody) {
|
|
25
|
+
const consumed = new Set([...pathKeys, ...queryKeys]);
|
|
26
|
+
const body = {};
|
|
27
|
+
let any = false;
|
|
28
|
+
for (const [k, v] of Object.entries(flat)) {
|
|
29
|
+
if (consumed.has(k))
|
|
30
|
+
continue;
|
|
31
|
+
body[k] = v;
|
|
32
|
+
any = true;
|
|
33
|
+
}
|
|
34
|
+
if (any)
|
|
35
|
+
data = body;
|
|
36
|
+
}
|
|
37
|
+
const response = await ctx.axios.request({
|
|
38
|
+
...options,
|
|
39
|
+
method,
|
|
40
|
+
url,
|
|
41
|
+
params: Object.keys(params).length ? params : undefined,
|
|
42
|
+
data,
|
|
43
|
+
});
|
|
44
|
+
return response.data;
|
|
45
|
+
};
|
|
46
|
+
exports.request = request;
|
package/package.json
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@examplary/sdk",
|
|
3
3
|
"packageManager": "yarn@4.13.0",
|
|
4
|
-
"version": "1.0
|
|
4
|
+
"version": "1.1.0",
|
|
5
5
|
"description": "TypeScript SDK for accessing the Examplary API.",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"
|
|
7
|
+
"clean": "rm -rf dist",
|
|
8
|
+
"build:client": "tsx scripts/generate-sdk.ts",
|
|
8
9
|
"build:tsc": "tsc",
|
|
9
|
-
"build": "yarn build:client && yarn build:tsc",
|
|
10
|
-
"
|
|
11
|
-
"test": "vitest"
|
|
10
|
+
"build": "yarn clean && yarn build:client && yarn build:tsc",
|
|
11
|
+
"prepublishOnly": "yarn build",
|
|
12
|
+
"test": "vitest",
|
|
13
|
+
"typecheck": "tsc --noEmit"
|
|
12
14
|
},
|
|
13
15
|
"files": [
|
|
14
16
|
"dist"
|
|
@@ -18,10 +20,16 @@
|
|
|
18
20
|
},
|
|
19
21
|
"main": "./dist/src/index.js",
|
|
20
22
|
"types": "./dist/src/index.d.ts",
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/node": "^25.6.0",
|
|
23
25
|
"openapi-typescript": "^7.13.0",
|
|
24
|
-
"
|
|
26
|
+
"semantic-release": "^25.0.3",
|
|
27
|
+
"tsx": "^4.21.0",
|
|
28
|
+
"typescript": "^6.0.3",
|
|
29
|
+
"vitest": "^4.1.5"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"axios": "^1.16.0"
|
|
25
33
|
},
|
|
26
34
|
"homepage": "https://developers.examplary.ai/",
|
|
27
35
|
"author": {
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// This file is auto-generated based on the Examplary API schema.
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.createClient = void 0;
|
|
8
|
-
const axios_1 = __importDefault(require("axios"));
|
|
9
|
-
const serverSentEvents_gen_1 = require("../core/serverSentEvents.gen");
|
|
10
|
-
const utils_gen_1 = require("../core/utils.gen");
|
|
11
|
-
const utils_gen_2 = require("./utils.gen");
|
|
12
|
-
const createClient = (config = {}) => {
|
|
13
|
-
let _config = (0, utils_gen_2.mergeConfigs)((0, utils_gen_2.createConfig)(), config);
|
|
14
|
-
let instance;
|
|
15
|
-
if (_config.axios && !('Axios' in _config.axios)) {
|
|
16
|
-
instance = _config.axios;
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
20
|
-
const { auth, ...configWithoutAuth } = _config;
|
|
21
|
-
instance = axios_1.default.create(configWithoutAuth);
|
|
22
|
-
}
|
|
23
|
-
const getConfig = () => ({ ..._config });
|
|
24
|
-
const setConfig = (config) => {
|
|
25
|
-
_config = (0, utils_gen_2.mergeConfigs)(_config, config);
|
|
26
|
-
instance.defaults = {
|
|
27
|
-
...instance.defaults,
|
|
28
|
-
..._config,
|
|
29
|
-
// @ts-expect-error
|
|
30
|
-
headers: (0, utils_gen_2.mergeHeaders)(instance.defaults.headers, _config.headers),
|
|
31
|
-
};
|
|
32
|
-
return getConfig();
|
|
33
|
-
};
|
|
34
|
-
const beforeRequest = async (options) => {
|
|
35
|
-
const opts = {
|
|
36
|
-
..._config,
|
|
37
|
-
...options,
|
|
38
|
-
axios: options.axios ?? _config.axios ?? instance,
|
|
39
|
-
headers: (0, utils_gen_2.mergeHeaders)(_config.headers, options.headers),
|
|
40
|
-
};
|
|
41
|
-
if (opts.security) {
|
|
42
|
-
await (0, utils_gen_2.setAuthParams)({
|
|
43
|
-
...opts,
|
|
44
|
-
security: opts.security,
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
if (opts.requestValidator) {
|
|
48
|
-
await opts.requestValidator(opts);
|
|
49
|
-
}
|
|
50
|
-
if (opts.body !== undefined && opts.bodySerializer) {
|
|
51
|
-
opts.body = opts.bodySerializer(opts.body);
|
|
52
|
-
}
|
|
53
|
-
const url = (0, utils_gen_2.buildUrl)(opts);
|
|
54
|
-
return { opts, url };
|
|
55
|
-
};
|
|
56
|
-
// @ts-expect-error
|
|
57
|
-
const request = async (options) => {
|
|
58
|
-
const { opts, url } = await beforeRequest(options);
|
|
59
|
-
try {
|
|
60
|
-
// assign Axios here for consistency with fetch
|
|
61
|
-
const _axios = opts.axios;
|
|
62
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
63
|
-
const { auth, ...optsWithoutAuth } = opts;
|
|
64
|
-
const response = await _axios({
|
|
65
|
-
...optsWithoutAuth,
|
|
66
|
-
baseURL: '', // the baseURL is already included in `url`
|
|
67
|
-
data: (0, utils_gen_1.getValidRequestBody)(opts),
|
|
68
|
-
headers: opts.headers,
|
|
69
|
-
// let `paramsSerializer()` handle query params if it exists
|
|
70
|
-
params: opts.paramsSerializer ? opts.query : undefined,
|
|
71
|
-
url,
|
|
72
|
-
});
|
|
73
|
-
let { data } = response;
|
|
74
|
-
if (opts.responseType === 'json') {
|
|
75
|
-
if (opts.responseValidator) {
|
|
76
|
-
await opts.responseValidator(data);
|
|
77
|
-
}
|
|
78
|
-
if (opts.responseTransformer) {
|
|
79
|
-
data = await opts.responseTransformer(data);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return {
|
|
83
|
-
...response,
|
|
84
|
-
data: data ?? {},
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
const e = error;
|
|
89
|
-
if (opts.throwOnError) {
|
|
90
|
-
throw e;
|
|
91
|
-
}
|
|
92
|
-
// @ts-expect-error
|
|
93
|
-
e.error = e.response?.data ?? {};
|
|
94
|
-
return e;
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
const makeMethodFn = (method) => (options) => request({ ...options, method });
|
|
98
|
-
const makeSseFn = (method) => async (options) => {
|
|
99
|
-
const { opts, url } = await beforeRequest(options);
|
|
100
|
-
return (0, serverSentEvents_gen_1.createSseClient)({
|
|
101
|
-
...opts,
|
|
102
|
-
body: opts.body,
|
|
103
|
-
headers: opts.headers,
|
|
104
|
-
method,
|
|
105
|
-
serializedBody: (0, utils_gen_1.getValidRequestBody)(opts),
|
|
106
|
-
// @ts-expect-error
|
|
107
|
-
signal: opts.signal,
|
|
108
|
-
url,
|
|
109
|
-
});
|
|
110
|
-
};
|
|
111
|
-
const _buildUrl = (options) => (0, utils_gen_2.buildUrl)({ axios: instance, ..._config, ...options });
|
|
112
|
-
return {
|
|
113
|
-
buildUrl: _buildUrl,
|
|
114
|
-
connect: makeMethodFn('CONNECT'),
|
|
115
|
-
delete: makeMethodFn('DELETE'),
|
|
116
|
-
get: makeMethodFn('GET'),
|
|
117
|
-
getConfig,
|
|
118
|
-
head: makeMethodFn('HEAD'),
|
|
119
|
-
instance,
|
|
120
|
-
options: makeMethodFn('OPTIONS'),
|
|
121
|
-
patch: makeMethodFn('PATCH'),
|
|
122
|
-
post: makeMethodFn('POST'),
|
|
123
|
-
put: makeMethodFn('PUT'),
|
|
124
|
-
request,
|
|
125
|
-
setConfig,
|
|
126
|
-
sse: {
|
|
127
|
-
connect: makeSseFn('CONNECT'),
|
|
128
|
-
delete: makeSseFn('DELETE'),
|
|
129
|
-
get: makeSseFn('GET'),
|
|
130
|
-
head: makeSseFn('HEAD'),
|
|
131
|
-
options: makeSseFn('OPTIONS'),
|
|
132
|
-
patch: makeSseFn('PATCH'),
|
|
133
|
-
post: makeSseFn('POST'),
|
|
134
|
-
put: makeSseFn('PUT'),
|
|
135
|
-
trace: makeSseFn('TRACE'),
|
|
136
|
-
},
|
|
137
|
-
trace: makeMethodFn('TRACE'),
|
|
138
|
-
};
|
|
139
|
-
};
|
|
140
|
-
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 based on the Examplary API schema.
|
|
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,87 +0,0 @@
|
|
|
1
|
-
import type { AxiosError, AxiosInstance, AxiosRequestHeaders, AxiosResponse, AxiosStatic, CreateAxiosDefaults } from 'axios';
|
|
2
|
-
import type { Auth } from '../core/auth.gen';
|
|
3
|
-
import type { ServerSentEventsOptions, ServerSentEventsResult } from '../core/serverSentEvents.gen';
|
|
4
|
-
import type { Client as CoreClient, Config as CoreConfig } from '../core/types.gen';
|
|
5
|
-
export interface Config<T extends ClientOptions = ClientOptions> extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, CoreConfig {
|
|
6
|
-
/**
|
|
7
|
-
* Axios implementation. You can use this option to provide either an
|
|
8
|
-
* `AxiosStatic` or an `AxiosInstance`.
|
|
9
|
-
*
|
|
10
|
-
* @default axios
|
|
11
|
-
*/
|
|
12
|
-
axios?: AxiosStatic | AxiosInstance;
|
|
13
|
-
/**
|
|
14
|
-
* Base URL for all requests made by this client.
|
|
15
|
-
*/
|
|
16
|
-
baseURL?: T['baseURL'];
|
|
17
|
-
/**
|
|
18
|
-
* An object containing any HTTP headers that you want to pre-populate your
|
|
19
|
-
* `Headers` object with.
|
|
20
|
-
*
|
|
21
|
-
* {@link https://developer.mozilla.org/docs/Web/API/Headers/Headers#init See more}
|
|
22
|
-
*/
|
|
23
|
-
headers?: AxiosRequestHeaders | Record<string, string | number | boolean | (string | number | boolean)[] | null | undefined | unknown>;
|
|
24
|
-
/**
|
|
25
|
-
* Throw an error instead of returning it in the response?
|
|
26
|
-
*
|
|
27
|
-
* @default false
|
|
28
|
-
*/
|
|
29
|
-
throwOnError?: T['throwOnError'];
|
|
30
|
-
}
|
|
31
|
-
export interface RequestOptions<TData = unknown, ThrowOnError extends boolean = boolean, Url extends string = string> extends Config<{
|
|
32
|
-
throwOnError: ThrowOnError;
|
|
33
|
-
}>, Pick<ServerSentEventsOptions<TData>, 'onRequest' | 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
|
|
34
|
-
/**
|
|
35
|
-
* Any body that you want to add to your request.
|
|
36
|
-
*
|
|
37
|
-
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
|
|
38
|
-
*/
|
|
39
|
-
body?: unknown;
|
|
40
|
-
path?: Record<string, unknown>;
|
|
41
|
-
query?: Record<string, unknown>;
|
|
42
|
-
/**
|
|
43
|
-
* Security mechanism(s) to use for the request.
|
|
44
|
-
*/
|
|
45
|
-
security?: ReadonlyArray<Auth>;
|
|
46
|
-
url: Url;
|
|
47
|
-
}
|
|
48
|
-
export interface ClientOptions {
|
|
49
|
-
baseURL?: string;
|
|
50
|
-
throwOnError?: boolean;
|
|
51
|
-
}
|
|
52
|
-
export type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean> = ThrowOnError extends true ? Promise<AxiosResponse<TData extends Record<string, unknown> ? TData[keyof TData] : TData>> : Promise<(AxiosResponse<TData extends Record<string, unknown> ? TData[keyof TData] : TData> & {
|
|
53
|
-
error: undefined;
|
|
54
|
-
}) | (AxiosError<TError extends Record<string, unknown> ? TError[keyof TError] : TError> & {
|
|
55
|
-
data: undefined;
|
|
56
|
-
error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
|
|
57
|
-
})>;
|
|
58
|
-
type MethodFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions<TData, ThrowOnError>, 'method'>) => RequestResult<TData, TError, ThrowOnError>;
|
|
59
|
-
type SseFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions<never, ThrowOnError>, 'method'>) => Promise<ServerSentEventsResult<TData, TError>>;
|
|
60
|
-
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>;
|
|
61
|
-
type BuildUrlFn = <TData extends {
|
|
62
|
-
path?: Record<string, unknown>;
|
|
63
|
-
query?: Record<string, unknown>;
|
|
64
|
-
url: string;
|
|
65
|
-
}>(options: TData & Pick<RequestOptions<unknown, boolean>, 'axios' | 'baseURL' | 'paramsSerializer' | 'querySerializer'>) => string;
|
|
66
|
-
export type Client = CoreClient<RequestFn, Config, MethodFn, BuildUrlFn, SseFn> & {
|
|
67
|
-
instance: AxiosInstance;
|
|
68
|
-
};
|
|
69
|
-
/**
|
|
70
|
-
* The `createClientConfig()` function will be called on client initialization
|
|
71
|
-
* and the returned object will become the client's initial configuration.
|
|
72
|
-
*
|
|
73
|
-
* You may want to initialize your client this way instead of calling
|
|
74
|
-
* `setConfig()`. This is useful for example if you're using Next.js
|
|
75
|
-
* to ensure your client always has the correct values.
|
|
76
|
-
*/
|
|
77
|
-
export type CreateClientConfig<T extends ClientOptions = ClientOptions> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;
|
|
78
|
-
export interface TDataShape {
|
|
79
|
-
body?: unknown;
|
|
80
|
-
headers?: unknown;
|
|
81
|
-
path?: unknown;
|
|
82
|
-
query?: unknown;
|
|
83
|
-
url: string;
|
|
84
|
-
}
|
|
85
|
-
type OmitKeys<T, K> = Pick<T, Exclude<keyof T, K>>;
|
|
86
|
-
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'>);
|
|
87
|
-
export {};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { 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
|
-
export declare const setAuthParams: ({ security, ...options }: Pick<Required<RequestOptions>, "security"> & Pick<RequestOptions, "auth" | "query"> & {
|
|
5
|
-
headers: Record<any, unknown>;
|
|
6
|
-
}) => Promise<void>;
|
|
7
|
-
export declare const buildUrl: Client['buildUrl'];
|
|
8
|
-
export declare const mergeConfigs: (a: Config, b: Config) => Config;
|
|
9
|
-
/**
|
|
10
|
-
* Special Axios headers keywords allowing to set headers by request method.
|
|
11
|
-
*/
|
|
12
|
-
export declare const axiosHeadersKeywords: readonly ["common", "delete", "get", "head", "patch", "post", "put"];
|
|
13
|
-
export declare const mergeHeaders: (...headers: Array<Required<Config>["headers"] | undefined>) => Record<any, unknown>;
|
|
14
|
-
export declare const createConfig: <T extends ClientOptions = ClientOptions>(override?: Config<Omit<ClientOptions, keyof T> & T>) => Config<Omit<ClientOptions, keyof T> & T>;
|