@mittwald/api-client-commons 4.1.2-alpha.4 → 4.1.3-alpha.1
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/dist/index.d.mts +45 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.mjs +22 -0
- package/dist/react/index.d.mts +19 -0
- package/dist/react/index.d.ts +19 -0
- package/dist/react/index.mjs +49 -0
- package/dist/shared/api-client-commons.2a6e3962.mjs +128 -0
- package/dist/shared/api-client-commons.5e434015.d.mts +71 -0
- package/dist/shared/api-client-commons.5e434015.d.ts +71 -0
- package/package.json +51 -57
- package/dist/cjs/axios.d.ts +0 -1
- package/dist/cjs/axios.js +0 -17
- package/dist/cjs/core/ApiClientBase.d.ts +0 -9
- package/dist/cjs/core/ApiClientBase.js +0 -42
- package/dist/cjs/core/ApiClientError.d.ts +0 -7
- package/dist/cjs/core/ApiClientError.js +0 -16
- package/dist/cjs/core/OpenAPIPath.d.ts +0 -9
- package/dist/cjs/core/OpenAPIPath.js +0 -22
- package/dist/cjs/core/Request.d.ts +0 -13
- package/dist/cjs/core/Request.js +0 -80
- package/dist/cjs/core/Request.test.d.ts +0 -1
- package/dist/cjs/core/Request.test.js +0 -58
- package/dist/cjs/core/index.d.ts +0 -4
- package/dist/cjs/core/index.js +0 -20
- package/dist/cjs/index.d.ts +0 -3
- package/dist/cjs/index.js +0 -19
- package/dist/cjs/react/ApiCallAsyncResourceFactory.d.ts +0 -12
- package/dist/cjs/react/ApiCallAsyncResourceFactory.js +0 -52
- package/dist/cjs/react/ApiCallAsyncResourceFactory.test-types.d.ts +0 -1
- package/dist/cjs/react/ApiCallAsyncResourceFactory.test-types.js +0 -38
- package/dist/cjs/react/ApiCallAsyncResourceFactory.test.d.ts +0 -1
- package/dist/cjs/react/ApiCallAsyncResourceFactory.test.js +0 -57
- package/dist/cjs/react/index.d.ts +0 -1
- package/dist/cjs/react/index.js +0 -17
- package/dist/cjs/react/types.d.ts +0 -3
- package/dist/cjs/react/types.js +0 -2
- package/dist/cjs/types/NullableOnNoRequiredKeysDeep.d.ts +0 -6
- package/dist/cjs/types/NullableOnNoRequiredKeysDeep.js +0 -2
- package/dist/cjs/types/OpenAPIOperation.d.ts +0 -16
- package/dist/cjs/types/OpenAPIOperation.js +0 -2
- package/dist/cjs/types/RequestFunction.d.ts +0 -11
- package/dist/cjs/types/RequestFunction.js +0 -2
- package/dist/cjs/types/RequestFunction.test-types.d.ts +0 -1
- package/dist/cjs/types/RequestFunction.test-types.js +0 -30
- package/dist/cjs/types/RequestType.d.ts +0 -21
- package/dist/cjs/types/RequestType.js +0 -2
- package/dist/cjs/types/RequestType.test-types.d.ts +0 -1
- package/dist/cjs/types/RequestType.test-types.js +0 -148
- package/dist/cjs/types/Response.d.ts +0 -7
- package/dist/cjs/types/Response.js +0 -2
- package/dist/cjs/types/Response.test-types.d.ts +0 -1
- package/dist/cjs/types/Response.test-types.js +0 -43
- package/dist/cjs/types/assertStatus.d.ts +0 -5
- package/dist/cjs/types/assertStatus.js +0 -14
- package/dist/cjs/types/assertStatus.test-types.d.ts +0 -1
- package/dist/cjs/types/assertStatus.test-types.js +0 -13
- package/dist/cjs/types/http.d.ts +0 -13
- package/dist/cjs/types/http.js +0 -2
- package/dist/cjs/types/index.d.ts +0 -8
- package/dist/cjs/types/index.js +0 -24
- package/dist/cjs/types/simplify.d.ts +0 -3
- package/dist/cjs/types/simplify.js +0 -2
- package/dist/esm/axios.d.ts +0 -1
- package/dist/esm/axios.js +0 -1
- package/dist/esm/core/ApiClientBase.d.ts +0 -9
- package/dist/esm/core/ApiClientBase.js +0 -13
- package/dist/esm/core/ApiClientError.d.ts +0 -7
- package/dist/esm/core/ApiClientError.js +0 -12
- package/dist/esm/core/OpenAPIPath.d.ts +0 -9
- package/dist/esm/core/OpenAPIPath.js +0 -20
- package/dist/esm/core/Request.d.ts +0 -13
- package/dist/esm/core/Request.js +0 -76
- package/dist/esm/core/Request.test.d.ts +0 -1
- package/dist/esm/core/Request.test.js +0 -53
- package/dist/esm/core/index.d.ts +0 -4
- package/dist/esm/core/index.js +0 -4
- package/dist/esm/index.d.ts +0 -3
- package/dist/esm/index.js +0 -3
- package/dist/esm/react/ApiCallAsyncResourceFactory.d.ts +0 -12
- package/dist/esm/react/ApiCallAsyncResourceFactory.js +0 -35
- package/dist/esm/react/ApiCallAsyncResourceFactory.test-types.d.ts +0 -1
- package/dist/esm/react/ApiCallAsyncResourceFactory.test-types.js +0 -36
- package/dist/esm/react/ApiCallAsyncResourceFactory.test.d.ts +0 -1
- package/dist/esm/react/ApiCallAsyncResourceFactory.test.js +0 -46
- package/dist/esm/react/index.d.ts +0 -1
- package/dist/esm/react/index.js +0 -1
- package/dist/esm/react/types.d.ts +0 -3
- package/dist/esm/react/types.js +0 -1
- package/dist/esm/types/NullableOnNoRequiredKeysDeep.d.ts +0 -6
- package/dist/esm/types/NullableOnNoRequiredKeysDeep.js +0 -1
- package/dist/esm/types/OpenAPIOperation.d.ts +0 -16
- package/dist/esm/types/OpenAPIOperation.js +0 -1
- package/dist/esm/types/RequestFunction.d.ts +0 -11
- package/dist/esm/types/RequestFunction.js +0 -1
- package/dist/esm/types/RequestFunction.test-types.d.ts +0 -1
- package/dist/esm/types/RequestFunction.test-types.js +0 -29
- package/dist/esm/types/RequestType.d.ts +0 -21
- package/dist/esm/types/RequestType.js +0 -1
- package/dist/esm/types/RequestType.test-types.d.ts +0 -1
- package/dist/esm/types/RequestType.test-types.js +0 -146
- package/dist/esm/types/Response.d.ts +0 -7
- package/dist/esm/types/Response.js +0 -1
- package/dist/esm/types/Response.test-types.d.ts +0 -1
- package/dist/esm/types/Response.test-types.js +0 -70
- package/dist/esm/types/assertStatus.d.ts +0 -5
- package/dist/esm/types/assertStatus.js +0 -7
- package/dist/esm/types/assertStatus.test-types.d.ts +0 -1
- package/dist/esm/types/assertStatus.test-types.js +0 -8
- package/dist/esm/types/http.d.ts +0 -13
- package/dist/esm/types/http.js +0 -1
- package/dist/esm/types/index.d.ts +0 -8
- package/dist/esm/types/index.js +0 -8
- package/dist/esm/types/simplify.d.ts +0 -3
- package/dist/esm/types/simplify.js +0 -1
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { beforeEach, expect, jest } from "@jest/globals";
|
|
2
|
-
import { ApiCallAsyncResourceFactory } from "./ApiCallAsyncResourceFactory.js";
|
|
3
|
-
import { refresh } from "@mittwald/react-use-promise";
|
|
4
|
-
beforeEach(() => {
|
|
5
|
-
refresh();
|
|
6
|
-
jest.resetAllMocks();
|
|
7
|
-
});
|
|
8
|
-
const requestMock = jest.fn();
|
|
9
|
-
const getStuff = new ApiCallAsyncResourceFactory({
|
|
10
|
-
operationId: "getStuff",
|
|
11
|
-
path: "/stuff",
|
|
12
|
-
method: "GET",
|
|
13
|
-
}, requestMock);
|
|
14
|
-
const testRequest1 = {
|
|
15
|
-
data: {
|
|
16
|
-
foo: "bar",
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
const testRequest2 = {
|
|
20
|
-
data: {
|
|
21
|
-
foo: "baz",
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
test("Resource loader executes request", async () => {
|
|
25
|
-
await getStuff.getApiResource(testRequest1).load();
|
|
26
|
-
expect(requestMock).toHaveBeenCalledTimes(1);
|
|
27
|
-
const firstRequestParams = requestMock.mock.calls[0][0];
|
|
28
|
-
expect(firstRequestParams).toMatchObject(testRequest1);
|
|
29
|
-
});
|
|
30
|
-
test("Resource is cached under URL", async () => {
|
|
31
|
-
await getStuff.getApiResource(testRequest1).load();
|
|
32
|
-
expect(requestMock).toHaveBeenCalledTimes(1);
|
|
33
|
-
await getStuff.getApiResource(testRequest1).load();
|
|
34
|
-
expect(requestMock).toHaveBeenCalledTimes(1);
|
|
35
|
-
refresh({
|
|
36
|
-
tag: "@mittwald/api-client/stuff",
|
|
37
|
-
});
|
|
38
|
-
await getStuff.getApiResource(testRequest1).load();
|
|
39
|
-
expect(requestMock).toHaveBeenCalledTimes(2);
|
|
40
|
-
});
|
|
41
|
-
test("Resources are different when request object changes", async () => {
|
|
42
|
-
await getStuff.getApiResource(testRequest1).load();
|
|
43
|
-
expect(requestMock).toHaveBeenCalledTimes(1);
|
|
44
|
-
await getStuff.getApiResource(testRequest2).load();
|
|
45
|
-
expect(requestMock).toHaveBeenCalledTimes(2);
|
|
46
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./ApiCallAsyncResourceFactory.js";
|
package/dist/esm/react/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./ApiCallAsyncResourceFactory.js";
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { OpenAPIOperation, RequestObject, ResponseData } from "../types/index.js";
|
|
2
|
-
import { AsyncResource } from "@mittwald/react-use-promise";
|
|
3
|
-
export type GetApiResourceFn<TOp extends OpenAPIOperation> = null extends RequestObject<TOp> ? (conf?: RequestObject<TOp>) => AsyncResource<ResponseData<TOp>> : (conf: RequestObject<TOp>) => AsyncResource<ResponseData<TOp>>;
|
package/dist/esm/react/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { HasRequiredKeys, OmitIndexSignature, PartialOnUndefinedDeep } from "type-fest";
|
|
2
|
-
type PartialOnNoRequiredKeysDeep<T> = PartialOnUndefinedDeep<OmitIndexSignature<{
|
|
3
|
-
[TKey in keyof T]: HasRequiredKeys<PartialOnNoRequiredKeysDeep<T[TKey]>> extends true ? T[TKey] : T[TKey] | undefined;
|
|
4
|
-
}>>;
|
|
5
|
-
export type NullableOnNoRequiredKeysDeep<T> = HasRequiredKeys<PartialOnNoRequiredKeysDeep<T>> extends true ? PartialOnNoRequiredKeysDeep<T> : PartialOnNoRequiredKeysDeep<T> | null;
|
|
6
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { AnyResponse, Response } from "./Response.js";
|
|
2
|
-
import { AnyRequest, RequestType } from "./RequestType.js";
|
|
3
|
-
import { HttpMethod, HttpStatus } from "./http.js";
|
|
4
|
-
export interface OpenAPIOperation<TIgnoredRequest extends AnyRequest = RequestType, IgnoredResponse extends AnyResponse = Response> {
|
|
5
|
-
operationId: string;
|
|
6
|
-
path: string;
|
|
7
|
-
method: HttpMethod;
|
|
8
|
-
}
|
|
9
|
-
export type InferredRequestType<TOp> = TOp extends OpenAPIOperation<infer TReq> ? TReq : never;
|
|
10
|
-
export type InferredResponseType<TOp> = TOp extends OpenAPIOperation<RequestType, infer TRes> ? TRes : never;
|
|
11
|
-
export type ResponseData<TOp, TStatus extends HttpStatus = 200> = Extract<InferredResponseType<TOp>, {
|
|
12
|
-
status: TStatus;
|
|
13
|
-
}>["data"];
|
|
14
|
-
export type RequestData<TOp> = TOp extends OpenAPIOperation ? InferredRequestType<TOp> extends {
|
|
15
|
-
data: infer TData;
|
|
16
|
-
} ? TData : never : never;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { InferredRequestType, InferredResponseType, OpenAPIOperation } from "./OpenAPIOperation.js";
|
|
2
|
-
import { NullableOnNoRequiredKeysDeep } from "./NullableOnNoRequiredKeysDeep.js";
|
|
3
|
-
type UnboxPathParameters<T> = T extends {
|
|
4
|
-
pathParameters: infer TPath;
|
|
5
|
-
} ? Omit<T, "pathParameters"> & TPath : T;
|
|
6
|
-
export type RequestObject<TOp extends OpenAPIOperation> = NullableOnNoRequiredKeysDeep<UnboxPathParameters<InferredRequestType<TOp>>>;
|
|
7
|
-
export type ResponsePromise<TOp extends OpenAPIOperation> = Promise<InferredResponseType<TOp>>;
|
|
8
|
-
type RequestFunctionWithOptionalRequest<TOp extends OpenAPIOperation> = (request?: RequestObject<TOp>) => ResponsePromise<TOp>;
|
|
9
|
-
type RequestFunctionWithRequiredRequest<TOp extends OpenAPIOperation> = (request: RequestObject<TOp>) => ResponsePromise<TOp>;
|
|
10
|
-
export type RequestFunction<TOp extends OpenAPIOperation> = null extends RequestObject<TOp> ? RequestFunctionWithOptionalRequest<TOp> : RequestFunctionWithRequiredRequest<TOp>;
|
|
11
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
function ignoredTestEmptyRequestTypes() {
|
|
2
|
-
const f = {};
|
|
3
|
-
void f();
|
|
4
|
-
void f({
|
|
5
|
-
headers: {},
|
|
6
|
-
});
|
|
7
|
-
void f({
|
|
8
|
-
headers: { extra: true },
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
function ignoredTestOptionalHeadersRequestTypes() {
|
|
12
|
-
const f = {};
|
|
13
|
-
void f();
|
|
14
|
-
void f({
|
|
15
|
-
headers: {},
|
|
16
|
-
});
|
|
17
|
-
void f({
|
|
18
|
-
headers: { extra: true },
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
function ignoredTestPathParametersAreInRootOfRequestConfig() {
|
|
22
|
-
const f = {};
|
|
23
|
-
void f({
|
|
24
|
-
foo: "",
|
|
25
|
-
});
|
|
26
|
-
// @ts-expect-error Missing parameter
|
|
27
|
-
void f({});
|
|
28
|
-
}
|
|
29
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { HttpHeaders, HttpPayload, PathParameters, QueryParameters } from "./http.js";
|
|
2
|
-
type EmptyObject = Record<string, never>;
|
|
3
|
-
type EmptyRequestComponent = EmptyObject | null;
|
|
4
|
-
type RequestWithOptionalHeaders = {
|
|
5
|
-
headers?: HttpHeaders;
|
|
6
|
-
};
|
|
7
|
-
type RequestWithData<TData> = TData extends EmptyRequestComponent ? RequestWithOptionalHeaders : {
|
|
8
|
-
data: TData;
|
|
9
|
-
};
|
|
10
|
-
type RequestWithPathParameters<TPathParameters> = TPathParameters extends EmptyRequestComponent ? RequestWithOptionalHeaders : {
|
|
11
|
-
pathParameters: TPathParameters;
|
|
12
|
-
};
|
|
13
|
-
type RequestWithHeaders<THeaders> = THeaders extends EmptyRequestComponent ? RequestWithOptionalHeaders : {
|
|
14
|
-
headers: THeaders & HttpHeaders;
|
|
15
|
-
};
|
|
16
|
-
type RequestWithQueryParameters<TQuery> = TQuery extends EmptyRequestComponent ? RequestWithOptionalHeaders : {
|
|
17
|
-
queryParameters: TQuery & HttpHeaders;
|
|
18
|
-
};
|
|
19
|
-
export type RequestType<TData extends HttpPayload = EmptyRequestComponent, TPathParameters extends PathParameters | EmptyRequestComponent = EmptyRequestComponent, TQueryParameters extends QueryParameters | EmptyRequestComponent = EmptyRequestComponent, THeader extends HttpHeaders | EmptyRequestComponent = EmptyRequestComponent> = TData | TPathParameters | THeader | TQueryParameters extends EmptyRequestComponent ? RequestWithOptionalHeaders : RequestWithData<TData> & RequestWithPathParameters<TPathParameters> & RequestWithQueryParameters<TQueryParameters> & RequestWithHeaders<THeader>;
|
|
20
|
-
export type AnyRequest = RequestType<any, any, any, any>;
|
|
21
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { expectAssignable } from "tsd";
|
|
2
|
-
function ignoredTestEmptyRequestTypes() {
|
|
3
|
-
expectAssignable({});
|
|
4
|
-
// @ts-expect-error Not assignable
|
|
5
|
-
expectAssignable({ extra: true });
|
|
6
|
-
// @ts-expect-error Not assignable
|
|
7
|
-
expectAssignable({ data: {} });
|
|
8
|
-
// @ts-expect-error Not assignable
|
|
9
|
-
expectAssignable({ data: null });
|
|
10
|
-
// @ts-expect-error Not assignable
|
|
11
|
-
expectAssignable({ pathParameters: {} });
|
|
12
|
-
}
|
|
13
|
-
function ignoredTestRequestTypesWithDataType() {
|
|
14
|
-
expectAssignable({ data: { foo: "" } });
|
|
15
|
-
// @ts-expect-error Not assignable
|
|
16
|
-
expectAssignable({});
|
|
17
|
-
expectAssignable({
|
|
18
|
-
// @ts-expect-error Not assignable
|
|
19
|
-
data: { foo: "", extra: "" },
|
|
20
|
-
});
|
|
21
|
-
// @ts-expect-error Not assignable
|
|
22
|
-
expectAssignable({ data: { noFoo: "" } });
|
|
23
|
-
}
|
|
24
|
-
function ignoredTestRequestTypesWithPathParameters() {
|
|
25
|
-
expectAssignable({
|
|
26
|
-
data: { foo: "" },
|
|
27
|
-
pathParameters: { bar: "" },
|
|
28
|
-
});
|
|
29
|
-
expectAssignable({
|
|
30
|
-
pathParameters: { bar: "" },
|
|
31
|
-
});
|
|
32
|
-
// @ts-expect-error Not assignable
|
|
33
|
-
expectAssignable({});
|
|
34
|
-
expectAssignable({
|
|
35
|
-
// @ts-expect-error Not assignable
|
|
36
|
-
pathParameters: {},
|
|
37
|
-
});
|
|
38
|
-
expectAssignable({
|
|
39
|
-
// @ts-expect-error Not assignable
|
|
40
|
-
pathParameters: { foo: "", extra: "" },
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
function ignoredTestRequestTypesWithHeader() {
|
|
44
|
-
expectAssignable({
|
|
45
|
-
data: {
|
|
46
|
-
foo: "",
|
|
47
|
-
},
|
|
48
|
-
pathParameters: { bar: "" },
|
|
49
|
-
headers: { baz: "" },
|
|
50
|
-
});
|
|
51
|
-
expectAssignable({
|
|
52
|
-
pathParameters: { bar: "" },
|
|
53
|
-
headers: { baz: "" },
|
|
54
|
-
});
|
|
55
|
-
expectAssignable({
|
|
56
|
-
headers: { baz: "" },
|
|
57
|
-
});
|
|
58
|
-
// @ts-expect-error Not assignable
|
|
59
|
-
expectAssignable({});
|
|
60
|
-
expectAssignable({
|
|
61
|
-
headers: {
|
|
62
|
-
// @ts-expect-error Not assignable
|
|
63
|
-
baz: 42,
|
|
64
|
-
},
|
|
65
|
-
});
|
|
66
|
-
expectAssignable({
|
|
67
|
-
// @ts-expect-error Not assignable
|
|
68
|
-
headers: {},
|
|
69
|
-
});
|
|
70
|
-
expectAssignable({
|
|
71
|
-
// @ts-expect-error Not assignable
|
|
72
|
-
data: {},
|
|
73
|
-
headers: {
|
|
74
|
-
baz: "",
|
|
75
|
-
},
|
|
76
|
-
});
|
|
77
|
-
expectAssignable({
|
|
78
|
-
// @ts-expect-error Not assignable
|
|
79
|
-
pathParameters: {},
|
|
80
|
-
headers: {
|
|
81
|
-
baz: "",
|
|
82
|
-
},
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
function ignoredTestRequestTypesWithQuery() {
|
|
86
|
-
expectAssignable({
|
|
87
|
-
data: {
|
|
88
|
-
foo: "",
|
|
89
|
-
},
|
|
90
|
-
pathParameters: { bar: "" },
|
|
91
|
-
headers: { baz: "" },
|
|
92
|
-
queryParameters: {
|
|
93
|
-
whut: "",
|
|
94
|
-
},
|
|
95
|
-
});
|
|
96
|
-
expectAssignable({
|
|
97
|
-
pathParameters: { bar: "" },
|
|
98
|
-
headers: { baz: "" },
|
|
99
|
-
queryParameters: {
|
|
100
|
-
whut: "",
|
|
101
|
-
},
|
|
102
|
-
});
|
|
103
|
-
expectAssignable({
|
|
104
|
-
queryParameters: {
|
|
105
|
-
whut: "",
|
|
106
|
-
},
|
|
107
|
-
});
|
|
108
|
-
// @ts-expect-error Not assignable
|
|
109
|
-
expectAssignable({});
|
|
110
|
-
expectAssignable({
|
|
111
|
-
queryParameters: {
|
|
112
|
-
// @ts-expect-error Not assignable
|
|
113
|
-
whut: 42,
|
|
114
|
-
},
|
|
115
|
-
});
|
|
116
|
-
expectAssignable({
|
|
117
|
-
// @ts-expect-error Not assignable
|
|
118
|
-
queryParameters: {},
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
function ignoredTestAdditionalHeadersCanAlwaysBeSet() {
|
|
122
|
-
expectAssignable({
|
|
123
|
-
headers: { extra: true },
|
|
124
|
-
});
|
|
125
|
-
expectAssignable({
|
|
126
|
-
headers: { extra: true },
|
|
127
|
-
});
|
|
128
|
-
expectAssignable({
|
|
129
|
-
headers: { extra: true },
|
|
130
|
-
});
|
|
131
|
-
expectAssignable({
|
|
132
|
-
data: {
|
|
133
|
-
foo: "",
|
|
134
|
-
},
|
|
135
|
-
headers: { extra: true },
|
|
136
|
-
});
|
|
137
|
-
expectAssignable({
|
|
138
|
-
pathParameters: {
|
|
139
|
-
bar: "",
|
|
140
|
-
},
|
|
141
|
-
headers: { extra: true },
|
|
142
|
-
});
|
|
143
|
-
expectAssignable({
|
|
144
|
-
headers: { extra: true, baz: "" },
|
|
145
|
-
});
|
|
146
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { HttpMediaType, HttpPayload, HttpStatus } from "./http.js";
|
|
2
|
-
import { AxiosResponse } from "axios";
|
|
3
|
-
export type Response<TContent extends HttpPayload = HttpPayload, TStatus extends HttpStatus = HttpStatus, TMediaType extends HttpMediaType | null = HttpMediaType> = AxiosResponse<TContent> & {
|
|
4
|
-
status: TStatus;
|
|
5
|
-
mediaType: TMediaType;
|
|
6
|
-
};
|
|
7
|
-
export type AnyResponse = Response<any, any, any>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { expectAssignable, expectNotAssignable, expectType } from "tsd";
|
|
2
|
-
const additionalAxiosResponseData = {
|
|
3
|
-
statusText: "",
|
|
4
|
-
headers: {},
|
|
5
|
-
config: {},
|
|
6
|
-
mediaType: "application/json",
|
|
7
|
-
};
|
|
8
|
-
expectAssignable({
|
|
9
|
-
data: { a: "" },
|
|
10
|
-
status: 200,
|
|
11
|
-
...additionalAxiosResponseData,
|
|
12
|
-
});
|
|
13
|
-
expectNotAssignable({
|
|
14
|
-
data: { a: "", extra: "!" },
|
|
15
|
-
status: 200,
|
|
16
|
-
...additionalAxiosResponseData,
|
|
17
|
-
});
|
|
18
|
-
expectAssignable({
|
|
19
|
-
data: {
|
|
20
|
-
b: "",
|
|
21
|
-
},
|
|
22
|
-
status: 201,
|
|
23
|
-
...additionalAxiosResponseData,
|
|
24
|
-
});
|
|
25
|
-
expectAssignable({
|
|
26
|
-
data: null,
|
|
27
|
-
status: 400,
|
|
28
|
-
...additionalAxiosResponseData,
|
|
29
|
-
});
|
|
30
|
-
expectNotAssignable({
|
|
31
|
-
data: null,
|
|
32
|
-
status: 42,
|
|
33
|
-
...additionalAxiosResponseData,
|
|
34
|
-
});
|
|
35
|
-
expectNotAssignable({
|
|
36
|
-
data: null,
|
|
37
|
-
status: 42,
|
|
38
|
-
extra: "!",
|
|
39
|
-
...additionalAxiosResponseData,
|
|
40
|
-
});
|
|
41
|
-
expectNotAssignable({
|
|
42
|
-
data: { extraContent: "" },
|
|
43
|
-
status: 400,
|
|
44
|
-
...additionalAxiosResponseData,
|
|
45
|
-
});
|
|
46
|
-
function ignoredTestRequestTypesWithDataPathParameters() {
|
|
47
|
-
const someResponse = {};
|
|
48
|
-
expectType(someResponse.status);
|
|
49
|
-
if (someResponse.status === 200) {
|
|
50
|
-
// @ts-expect-error > a is not in data
|
|
51
|
-
someResponse.data.a;
|
|
52
|
-
// @ts-expect-error > b is not in data
|
|
53
|
-
someResponse.data.b;
|
|
54
|
-
if (someResponse.mediaType === "text/plain") {
|
|
55
|
-
// @ts-expect-error > a is not in data
|
|
56
|
-
someResponse.data.a;
|
|
57
|
-
expectType(someResponse.data.text);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
// @ts-expect-error > text is not in data
|
|
61
|
-
someResponse.data.text;
|
|
62
|
-
expectType(someResponse.data.a);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
else if (someResponse.status === 201) {
|
|
66
|
-
expectType(someResponse.data.b);
|
|
67
|
-
// @ts-expect-error > a is not in data
|
|
68
|
-
someResponse.data.a;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import ApiClientError from "../core/ApiClientError.js";
|
|
2
|
-
export function assertStatus(response, expectedStatus) {
|
|
3
|
-
if (response.status !== expectedStatus) {
|
|
4
|
-
throw ApiClientError.fromResponse(`Unexpected response status (expected ${expectedStatus}, got: ${response.status})`, response);
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
export default assertStatus;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { expectAssignable } from "tsd";
|
|
2
|
-
import assertStatus from "./assertStatus.js";
|
|
3
|
-
function ignoredTestAssertStatusAssertsAlsoTheCorrectResponseType() {
|
|
4
|
-
assertStatus(someResponse, 200);
|
|
5
|
-
expectAssignable(someResponse);
|
|
6
|
-
// @ts-expect-error Not assignable
|
|
7
|
-
expectAssignable(someResponse);
|
|
8
|
-
}
|
package/dist/esm/types/http.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export type HttpPayload = unknown;
|
|
2
|
-
export type HttpStatus = number | "default";
|
|
3
|
-
export type HttpMediaType = string;
|
|
4
|
-
type SafeHttpMethod = "GET" | "HEAD" | "OPTIONS";
|
|
5
|
-
type UnsafeHttpMethod = "PUT" | "DELETE" | "POST" | "PATCH";
|
|
6
|
-
export type HttpMethod = SafeHttpMethod | UnsafeHttpMethod;
|
|
7
|
-
type HeaderValue = string | number | boolean;
|
|
8
|
-
export type HttpHeaders = Partial<{
|
|
9
|
-
[TKey: string]: HeaderValue | HeaderValue[];
|
|
10
|
-
}>;
|
|
11
|
-
export type PathParameters = Record<string, string | number>;
|
|
12
|
-
export type QueryParameters = Record<string, unknown>;
|
|
13
|
-
export {};
|
package/dist/esm/types/http.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from "./RequestType.js";
|
|
2
|
-
export * from "./RequestFunction.js";
|
|
3
|
-
export * from "./Response.js";
|
|
4
|
-
export * from "./OpenAPIOperation.js";
|
|
5
|
-
export * from "./http.js";
|
|
6
|
-
export * from "./assertStatus.js";
|
|
7
|
-
export * from "./simplify.js";
|
|
8
|
-
export * from "./assertStatus.js";
|
package/dist/esm/types/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from "./RequestType.js";
|
|
2
|
-
export * from "./RequestFunction.js";
|
|
3
|
-
export * from "./Response.js";
|
|
4
|
-
export * from "./OpenAPIOperation.js";
|
|
5
|
-
export * from "./http.js";
|
|
6
|
-
export * from "./assertStatus.js";
|
|
7
|
-
export * from "./simplify.js";
|
|
8
|
-
export * from "./assertStatus.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|