@sebspark/openapi-client 1.0.0 → 1.2.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 +1 -1
- package/dist/index.js +31 -28
- package/dist/index.mjs +31 -28
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ import { TypedClient } from '@sebspark/openapi-client'
|
|
|
27
27
|
import { MarketdataClient } from './schemas/marketdata'
|
|
28
28
|
|
|
29
29
|
const client = TypedClient<MarketdataClient>(`https://example.com/api`)
|
|
30
|
-
const {data} = await client.get('/markets)
|
|
30
|
+
const {data} = await client.get('/markets')
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
## Example
|
package/dist/index.js
CHANGED
|
@@ -41,47 +41,50 @@ var import_retry = require("@sebspark/retry");
|
|
|
41
41
|
var import_axios = __toESM(require("axios"));
|
|
42
42
|
var TypedClient = (baseURL, globalOptions) => {
|
|
43
43
|
const client = {
|
|
44
|
-
get: (url, args, opts) => callServer(baseURL, url, "get", args,
|
|
45
|
-
post: (url, args, opts) => callServer(baseURL, url, "post", args,
|
|
46
|
-
put: (url, args, opts) => callServer(baseURL, url, "put", args,
|
|
47
|
-
patch: (url, args, opts) => callServer(
|
|
48
|
-
|
|
49
|
-
url,
|
|
50
|
-
"patch",
|
|
51
|
-
args,
|
|
52
|
-
globalOptions == null ? void 0 : globalOptions.retry,
|
|
53
|
-
opts == null ? void 0 : opts.retry
|
|
54
|
-
),
|
|
55
|
-
delete: (url, args, opts) => callServer(
|
|
56
|
-
baseURL,
|
|
57
|
-
url,
|
|
58
|
-
"delete",
|
|
59
|
-
args,
|
|
60
|
-
globalOptions == null ? void 0 : globalOptions.retry,
|
|
61
|
-
opts == null ? void 0 : opts.retry
|
|
62
|
-
)
|
|
44
|
+
get: (url, args, opts) => callServer(mergeArgs(baseURL, url, "get", args, opts, globalOptions)),
|
|
45
|
+
post: (url, args, opts) => callServer(mergeArgs(baseURL, url, "post", args, opts, globalOptions)),
|
|
46
|
+
put: (url, args, opts) => callServer(mergeArgs(baseURL, url, "put", args, opts, globalOptions)),
|
|
47
|
+
patch: (url, args, opts) => callServer(mergeArgs(baseURL, url, "patch", args, opts, globalOptions)),
|
|
48
|
+
delete: (url, args, opts) => callServer(mergeArgs(baseURL, url, "delete", args, opts, globalOptions))
|
|
63
49
|
};
|
|
64
50
|
return client;
|
|
65
51
|
};
|
|
66
|
-
var callServer = async (
|
|
52
|
+
var callServer = async (args) => {
|
|
67
53
|
try {
|
|
68
|
-
const url = setParams(_url, args == null ? void 0 : args.params);
|
|
69
54
|
const { headers, data } = await (0, import_retry.retry)(
|
|
70
55
|
() => import_axios.default.request({
|
|
71
|
-
baseURL,
|
|
72
|
-
url,
|
|
73
|
-
method,
|
|
74
|
-
headers: args
|
|
75
|
-
params: args
|
|
76
|
-
data: args
|
|
56
|
+
baseURL: args.baseUrl,
|
|
57
|
+
url: args.url,
|
|
58
|
+
method: args.method,
|
|
59
|
+
headers: args.headers,
|
|
60
|
+
params: args.params,
|
|
61
|
+
data: args.body
|
|
77
62
|
}),
|
|
78
|
-
|
|
63
|
+
args.retry
|
|
79
64
|
);
|
|
80
65
|
return { headers, data };
|
|
81
66
|
} catch (error) {
|
|
82
67
|
throw (0, import_openapi_core.fromAxiosError)(error);
|
|
83
68
|
}
|
|
84
69
|
};
|
|
70
|
+
var mergeArgs = (baseUrl, url, method, requestArgs, extras, global) => {
|
|
71
|
+
const params = merge("params", global, requestArgs, extras);
|
|
72
|
+
const query = merge("query", global, requestArgs, extras);
|
|
73
|
+
const headers = merge("headers", global, requestArgs, extras);
|
|
74
|
+
const body = merge("body", global, requestArgs, extras);
|
|
75
|
+
const retry2 = merge("retry", global, requestArgs, extras);
|
|
76
|
+
const merged = {
|
|
77
|
+
url: setParams(url, params),
|
|
78
|
+
baseUrl,
|
|
79
|
+
method,
|
|
80
|
+
params: query,
|
|
81
|
+
headers,
|
|
82
|
+
body,
|
|
83
|
+
retry: retry2
|
|
84
|
+
};
|
|
85
|
+
return merged;
|
|
86
|
+
};
|
|
87
|
+
var merge = (prop, ...args) => Object.assign({}, ...args.map((a) => (a == null ? void 0 : a[prop]) || {}));
|
|
85
88
|
var setParams = (url, params = {}) => Object.entries(params).reduce(
|
|
86
89
|
(url2, [key, val]) => url2.replace(new RegExp(`/:${key}(?!\\w|\\d)`, "g"), `/${val}`),
|
|
87
90
|
url
|
package/dist/index.mjs
CHANGED
|
@@ -6,47 +6,50 @@ import { retry } from "@sebspark/retry";
|
|
|
6
6
|
import axios from "axios";
|
|
7
7
|
var TypedClient = (baseURL, globalOptions) => {
|
|
8
8
|
const client = {
|
|
9
|
-
get: (url, args, opts) => callServer(baseURL, url, "get", args,
|
|
10
|
-
post: (url, args, opts) => callServer(baseURL, url, "post", args,
|
|
11
|
-
put: (url, args, opts) => callServer(baseURL, url, "put", args,
|
|
12
|
-
patch: (url, args, opts) => callServer(
|
|
13
|
-
|
|
14
|
-
url,
|
|
15
|
-
"patch",
|
|
16
|
-
args,
|
|
17
|
-
globalOptions == null ? void 0 : globalOptions.retry,
|
|
18
|
-
opts == null ? void 0 : opts.retry
|
|
19
|
-
),
|
|
20
|
-
delete: (url, args, opts) => callServer(
|
|
21
|
-
baseURL,
|
|
22
|
-
url,
|
|
23
|
-
"delete",
|
|
24
|
-
args,
|
|
25
|
-
globalOptions == null ? void 0 : globalOptions.retry,
|
|
26
|
-
opts == null ? void 0 : opts.retry
|
|
27
|
-
)
|
|
9
|
+
get: (url, args, opts) => callServer(mergeArgs(baseURL, url, "get", args, opts, globalOptions)),
|
|
10
|
+
post: (url, args, opts) => callServer(mergeArgs(baseURL, url, "post", args, opts, globalOptions)),
|
|
11
|
+
put: (url, args, opts) => callServer(mergeArgs(baseURL, url, "put", args, opts, globalOptions)),
|
|
12
|
+
patch: (url, args, opts) => callServer(mergeArgs(baseURL, url, "patch", args, opts, globalOptions)),
|
|
13
|
+
delete: (url, args, opts) => callServer(mergeArgs(baseURL, url, "delete", args, opts, globalOptions))
|
|
28
14
|
};
|
|
29
15
|
return client;
|
|
30
16
|
};
|
|
31
|
-
var callServer = async (
|
|
17
|
+
var callServer = async (args) => {
|
|
32
18
|
try {
|
|
33
|
-
const url = setParams(_url, args == null ? void 0 : args.params);
|
|
34
19
|
const { headers, data } = await retry(
|
|
35
20
|
() => axios.request({
|
|
36
|
-
baseURL,
|
|
37
|
-
url,
|
|
38
|
-
method,
|
|
39
|
-
headers: args
|
|
40
|
-
params: args
|
|
41
|
-
data: args
|
|
21
|
+
baseURL: args.baseUrl,
|
|
22
|
+
url: args.url,
|
|
23
|
+
method: args.method,
|
|
24
|
+
headers: args.headers,
|
|
25
|
+
params: args.params,
|
|
26
|
+
data: args.body
|
|
42
27
|
}),
|
|
43
|
-
|
|
28
|
+
args.retry
|
|
44
29
|
);
|
|
45
30
|
return { headers, data };
|
|
46
31
|
} catch (error) {
|
|
47
32
|
throw fromAxiosError(error);
|
|
48
33
|
}
|
|
49
34
|
};
|
|
35
|
+
var mergeArgs = (baseUrl, url, method, requestArgs, extras, global) => {
|
|
36
|
+
const params = merge("params", global, requestArgs, extras);
|
|
37
|
+
const query = merge("query", global, requestArgs, extras);
|
|
38
|
+
const headers = merge("headers", global, requestArgs, extras);
|
|
39
|
+
const body = merge("body", global, requestArgs, extras);
|
|
40
|
+
const retry2 = merge("retry", global, requestArgs, extras);
|
|
41
|
+
const merged = {
|
|
42
|
+
url: setParams(url, params),
|
|
43
|
+
baseUrl,
|
|
44
|
+
method,
|
|
45
|
+
params: query,
|
|
46
|
+
headers,
|
|
47
|
+
body,
|
|
48
|
+
retry: retry2
|
|
49
|
+
};
|
|
50
|
+
return merged;
|
|
51
|
+
};
|
|
52
|
+
var merge = (prop, ...args) => Object.assign({}, ...args.map((a) => (a == null ? void 0 : a[prop]) || {}));
|
|
50
53
|
var setParams = (url, params = {}) => Object.entries(params).reduce(
|
|
51
54
|
(url2, [key, val]) => url2.replace(new RegExp(`/:${key}(?!\\w|\\d)`, "g"), `/${val}`),
|
|
52
55
|
url
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sebspark/openapi-client",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -9,18 +9,21 @@
|
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
11
|
"scripts": {
|
|
12
|
+
"generate": "yarn openapi-typegen -i ./src/test/ -o ./src/test/",
|
|
12
13
|
"build": "tsup-node src/index.ts --format esm,cjs --dts",
|
|
13
14
|
"dev": "tsc --watch --noEmit",
|
|
14
15
|
"lint": "biome check .",
|
|
15
16
|
"test": "vitest --passWithNoTests --coverage",
|
|
17
|
+
"pretest": "yarn generate",
|
|
16
18
|
"typecheck": "vitest --typecheck.only --passWithNoTests"
|
|
17
19
|
},
|
|
18
20
|
"devDependencies": {
|
|
21
|
+
"@sebspark/openapi-typegen": "*",
|
|
19
22
|
"tsconfig": "*"
|
|
20
23
|
},
|
|
21
24
|
"dependencies": {
|
|
22
25
|
"@sebspark/openapi-core": "*",
|
|
23
26
|
"@sebspark/retry": "*",
|
|
24
|
-
"axios": "1.6.
|
|
27
|
+
"axios": "1.6.7"
|
|
25
28
|
}
|
|
26
|
-
}
|
|
29
|
+
}
|