@mittwald/api-client-commons 4.2.0-alpha.2 → 4.2.0-alpha.4

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 (119) hide show
  1. package/dist/RequestFunction-b1412636.d.ts +71 -0
  2. package/dist/chunk-PEYA5TMK.js +154 -0
  3. package/dist/index.cjs +196 -0
  4. package/dist/index.d.cts +49 -0
  5. package/dist/index.d.ts +49 -0
  6. package/dist/index.js +48 -0
  7. package/dist/react.cjs +185 -0
  8. package/dist/react.d.cts +19 -0
  9. package/dist/react.d.ts +19 -0
  10. package/dist/react.js +45 -0
  11. package/package.json +21 -29
  12. package/dist/cjs/axios.d.ts +0 -1
  13. package/dist/cjs/axios.js +0 -17
  14. package/dist/cjs/core/ApiClientBase.d.ts +0 -9
  15. package/dist/cjs/core/ApiClientBase.js +0 -42
  16. package/dist/cjs/core/ApiClientError.d.ts +0 -7
  17. package/dist/cjs/core/ApiClientError.js +0 -16
  18. package/dist/cjs/core/OpenAPIPath.d.ts +0 -9
  19. package/dist/cjs/core/OpenAPIPath.js +0 -22
  20. package/dist/cjs/core/Request.d.ts +0 -13
  21. package/dist/cjs/core/Request.js +0 -80
  22. package/dist/cjs/core/Request.test.d.ts +0 -1
  23. package/dist/cjs/core/Request.test.js +0 -58
  24. package/dist/cjs/core/index.d.ts +0 -4
  25. package/dist/cjs/core/index.js +0 -20
  26. package/dist/cjs/index.d.ts +0 -3
  27. package/dist/cjs/index.js +0 -19
  28. package/dist/cjs/react/ApiCallAsyncResourceFactory.d.ts +0 -12
  29. package/dist/cjs/react/ApiCallAsyncResourceFactory.js +0 -52
  30. package/dist/cjs/react/ApiCallAsyncResourceFactory.test-types.d.ts +0 -1
  31. package/dist/cjs/react/ApiCallAsyncResourceFactory.test-types.js +0 -38
  32. package/dist/cjs/react/ApiCallAsyncResourceFactory.test.d.ts +0 -1
  33. package/dist/cjs/react/ApiCallAsyncResourceFactory.test.js +0 -57
  34. package/dist/cjs/react/index.d.ts +0 -1
  35. package/dist/cjs/react/index.js +0 -17
  36. package/dist/cjs/react/types.d.ts +0 -3
  37. package/dist/cjs/react/types.js +0 -2
  38. package/dist/cjs/types/NullableOnNoRequiredKeysDeep.d.ts +0 -6
  39. package/dist/cjs/types/NullableOnNoRequiredKeysDeep.js +0 -2
  40. package/dist/cjs/types/OpenAPIOperation.d.ts +0 -16
  41. package/dist/cjs/types/OpenAPIOperation.js +0 -2
  42. package/dist/cjs/types/RequestFunction.d.ts +0 -11
  43. package/dist/cjs/types/RequestFunction.js +0 -2
  44. package/dist/cjs/types/RequestFunction.test-types.d.ts +0 -1
  45. package/dist/cjs/types/RequestFunction.test-types.js +0 -30
  46. package/dist/cjs/types/RequestType.d.ts +0 -21
  47. package/dist/cjs/types/RequestType.js +0 -2
  48. package/dist/cjs/types/RequestType.test-types.d.ts +0 -1
  49. package/dist/cjs/types/RequestType.test-types.js +0 -148
  50. package/dist/cjs/types/Response.d.ts +0 -7
  51. package/dist/cjs/types/Response.js +0 -2
  52. package/dist/cjs/types/Response.test-types.d.ts +0 -1
  53. package/dist/cjs/types/Response.test-types.js +0 -43
  54. package/dist/cjs/types/assertOneOfStatus.d.ts +0 -4
  55. package/dist/cjs/types/assertOneOfStatus.js +0 -13
  56. package/dist/cjs/types/assertStatus.d.ts +0 -5
  57. package/dist/cjs/types/assertStatus.js +0 -14
  58. package/dist/cjs/types/assertStatus.test-types.d.ts +0 -1
  59. package/dist/cjs/types/assertStatus.test-types.js +0 -13
  60. package/dist/cjs/types/http.d.ts +0 -13
  61. package/dist/cjs/types/http.js +0 -2
  62. package/dist/cjs/types/index.d.ts +0 -8
  63. package/dist/cjs/types/index.js +0 -24
  64. package/dist/cjs/types/simplify.d.ts +0 -3
  65. package/dist/cjs/types/simplify.js +0 -2
  66. package/dist/esm/axios.d.ts +0 -1
  67. package/dist/esm/axios.js +0 -1
  68. package/dist/esm/core/ApiClientBase.d.ts +0 -9
  69. package/dist/esm/core/ApiClientBase.js +0 -13
  70. package/dist/esm/core/ApiClientError.d.ts +0 -7
  71. package/dist/esm/core/ApiClientError.js +0 -12
  72. package/dist/esm/core/OpenAPIPath.d.ts +0 -9
  73. package/dist/esm/core/OpenAPIPath.js +0 -20
  74. package/dist/esm/core/Request.d.ts +0 -13
  75. package/dist/esm/core/Request.js +0 -76
  76. package/dist/esm/core/Request.test.d.ts +0 -1
  77. package/dist/esm/core/Request.test.js +0 -53
  78. package/dist/esm/core/index.d.ts +0 -4
  79. package/dist/esm/core/index.js +0 -4
  80. package/dist/esm/index.d.ts +0 -3
  81. package/dist/esm/index.js +0 -3
  82. package/dist/esm/react/ApiCallAsyncResourceFactory.d.ts +0 -12
  83. package/dist/esm/react/ApiCallAsyncResourceFactory.js +0 -35
  84. package/dist/esm/react/ApiCallAsyncResourceFactory.test-types.d.ts +0 -1
  85. package/dist/esm/react/ApiCallAsyncResourceFactory.test-types.js +0 -36
  86. package/dist/esm/react/ApiCallAsyncResourceFactory.test.d.ts +0 -1
  87. package/dist/esm/react/ApiCallAsyncResourceFactory.test.js +0 -46
  88. package/dist/esm/react/index.d.ts +0 -1
  89. package/dist/esm/react/index.js +0 -1
  90. package/dist/esm/react/types.d.ts +0 -3
  91. package/dist/esm/react/types.js +0 -1
  92. package/dist/esm/types/NullableOnNoRequiredKeysDeep.d.ts +0 -6
  93. package/dist/esm/types/NullableOnNoRequiredKeysDeep.js +0 -1
  94. package/dist/esm/types/OpenAPIOperation.d.ts +0 -16
  95. package/dist/esm/types/OpenAPIOperation.js +0 -1
  96. package/dist/esm/types/RequestFunction.d.ts +0 -11
  97. package/dist/esm/types/RequestFunction.js +0 -1
  98. package/dist/esm/types/RequestFunction.test-types.d.ts +0 -1
  99. package/dist/esm/types/RequestFunction.test-types.js +0 -29
  100. package/dist/esm/types/RequestType.d.ts +0 -21
  101. package/dist/esm/types/RequestType.js +0 -1
  102. package/dist/esm/types/RequestType.test-types.d.ts +0 -1
  103. package/dist/esm/types/RequestType.test-types.js +0 -146
  104. package/dist/esm/types/Response.d.ts +0 -7
  105. package/dist/esm/types/Response.js +0 -1
  106. package/dist/esm/types/Response.test-types.d.ts +0 -1
  107. package/dist/esm/types/Response.test-types.js +0 -70
  108. package/dist/esm/types/assertOneOfStatus.d.ts +0 -4
  109. package/dist/esm/types/assertOneOfStatus.js +0 -6
  110. package/dist/esm/types/assertStatus.d.ts +0 -5
  111. package/dist/esm/types/assertStatus.js +0 -7
  112. package/dist/esm/types/assertStatus.test-types.d.ts +0 -1
  113. package/dist/esm/types/assertStatus.test-types.js +0 -8
  114. package/dist/esm/types/http.d.ts +0 -13
  115. package/dist/esm/types/http.js +0 -1
  116. package/dist/esm/types/index.d.ts +0 -8
  117. package/dist/esm/types/index.js +0 -8
  118. package/dist/esm/types/simplify.d.ts +0 -3
  119. package/dist/esm/types/simplify.js +0 -1
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ApiClientBase.js"), exports);
18
- __exportStar(require("./ApiClientError.js"), exports);
19
- __exportStar(require("./OpenAPIPath.js"), exports);
20
- __exportStar(require("./Request.js"), exports);
@@ -1,3 +0,0 @@
1
- export * from "./core/index.js";
2
- export * from "./types/index.js";
3
- export * from "./axios.js";
package/dist/cjs/index.js DELETED
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./core/index.js"), exports);
18
- __exportStar(require("./types/index.js"), exports);
19
- __exportStar(require("./axios.js"), exports);
@@ -1,12 +0,0 @@
1
- import { OpenAPIOperation, RequestFunction } from "../types/index.js";
2
- import { GetApiResourceFn } from "./types.js";
3
- export declare class ApiCallAsyncResourceFactory<TOp extends OpenAPIOperation> {
4
- private static namespace;
5
- private readonly operation;
6
- private readonly requestFn;
7
- constructor(operation: TOp, requestFn: RequestFunction<TOp>);
8
- private getAsyncResourceId;
9
- private getAsyncResourceTags;
10
- private executeRequest;
11
- getApiResource: GetApiResourceFn<TOp>;
12
- }
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ApiCallAsyncResourceFactory = void 0;
16
- const react_use_promise_1 = require("@mittwald/react-use-promise");
17
- const index_js_1 = require("../types/index.js");
18
- const Request_js_1 = __importDefault(require("../core/Request.js"));
19
- class ApiCallAsyncResourceFactory {
20
- constructor(operation, requestFn) {
21
- this.getApiResource = ((requestObj) => {
22
- const request = new Request_js_1.default(this.operation, requestObj);
23
- return (0, react_use_promise_1.getAsyncResource)((requestObj) => this.executeRequest(requestObj), [requestObj], {
24
- tags: this.getAsyncResourceTags(request),
25
- loaderId: this.getAsyncResourceId(),
26
- });
27
- });
28
- this.operation = operation;
29
- this.requestFn = requestFn;
30
- }
31
- getAsyncResourceId() {
32
- return `${ApiCallAsyncResourceFactory.namespace}/${this.operation.operationId}`;
33
- }
34
- getAsyncResourceTags(request) {
35
- var _a;
36
- const url = (_a = request.requestConfig.url) !== null && _a !== void 0 ? _a : "";
37
- return [
38
- this.getAsyncResourceId(),
39
- `${ApiCallAsyncResourceFactory.namespace}/${this.operation.method}`,
40
- `${ApiCallAsyncResourceFactory.namespace}/${url}`,
41
- ];
42
- }
43
- executeRequest(requestObj) {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- const response = yield this.requestFn(requestObj);
46
- (0, index_js_1.assertStatus)(response, 200);
47
- return response.data;
48
- });
49
- }
50
- }
51
- exports.ApiCallAsyncResourceFactory = ApiCallAsyncResourceFactory;
52
- ApiCallAsyncResourceFactory.namespace = "@mittwald/api-client";
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const ApiCallAsyncResourceFactory_js_1 = require("./ApiCallAsyncResourceFactory.js");
4
- const getStuff = new ApiCallAsyncResourceFactory_js_1.ApiCallAsyncResourceFactory({
5
- operationId: "getStuff",
6
- path: "/stuff",
7
- method: "GET",
8
- }, {});
9
- function ignoredCheckRequestType() {
10
- getStuff.getApiResource({
11
- data: {
12
- // @ts-expect-error Not matching request type
13
- foo: "",
14
- },
15
- });
16
- getStuff.getApiResource({
17
- data: {
18
- requestString: "",
19
- },
20
- });
21
- }
22
- function ignoredCheckResponseType() {
23
- const stuff = getStuff
24
- .getApiResource({
25
- data: {
26
- requestString: "",
27
- },
28
- })
29
- .watch();
30
- // @ts-expect-error Accessing unknown prop
31
- stuff.foo;
32
- (function (ignored) {
33
- // @ts-expect-error is a number
34
- })(stuff.responseData);
35
- (function (ignored) {
36
- // is number
37
- })(stuff.responseData);
38
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,57 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const globals_1 = require("@jest/globals");
13
- const ApiCallAsyncResourceFactory_js_1 = require("./ApiCallAsyncResourceFactory.js");
14
- const react_use_promise_1 = require("@mittwald/react-use-promise");
15
- (0, globals_1.beforeEach)(() => {
16
- (0, react_use_promise_1.refresh)();
17
- globals_1.jest.resetAllMocks();
18
- });
19
- const requestMock = globals_1.jest.fn();
20
- const getStuff = new ApiCallAsyncResourceFactory_js_1.ApiCallAsyncResourceFactory({
21
- operationId: "getStuff",
22
- path: "/stuff",
23
- method: "GET",
24
- }, requestMock);
25
- const testRequest1 = {
26
- data: {
27
- foo: "bar",
28
- },
29
- };
30
- const testRequest2 = {
31
- data: {
32
- foo: "baz",
33
- },
34
- };
35
- test("Resource loader executes request", () => __awaiter(void 0, void 0, void 0, function* () {
36
- yield getStuff.getApiResource(testRequest1).load();
37
- (0, globals_1.expect)(requestMock).toHaveBeenCalledTimes(1);
38
- const firstRequestParams = requestMock.mock.calls[0][0];
39
- (0, globals_1.expect)(firstRequestParams).toMatchObject(testRequest1);
40
- }));
41
- test("Resource is cached under URL", () => __awaiter(void 0, void 0, void 0, function* () {
42
- yield getStuff.getApiResource(testRequest1).load();
43
- (0, globals_1.expect)(requestMock).toHaveBeenCalledTimes(1);
44
- yield getStuff.getApiResource(testRequest1).load();
45
- (0, globals_1.expect)(requestMock).toHaveBeenCalledTimes(1);
46
- (0, react_use_promise_1.refresh)({
47
- tag: "@mittwald/api-client/stuff",
48
- });
49
- yield getStuff.getApiResource(testRequest1).load();
50
- (0, globals_1.expect)(requestMock).toHaveBeenCalledTimes(2);
51
- }));
52
- test("Resources are different when request object changes", () => __awaiter(void 0, void 0, void 0, function* () {
53
- yield getStuff.getApiResource(testRequest1).load();
54
- (0, globals_1.expect)(requestMock).toHaveBeenCalledTimes(1);
55
- yield getStuff.getApiResource(testRequest2).load();
56
- (0, globals_1.expect)(requestMock).toHaveBeenCalledTimes(2);
57
- }));
@@ -1 +0,0 @@
1
- export * from "./ApiCallAsyncResourceFactory.js";
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ApiCallAsyncResourceFactory.js"), exports);
@@ -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>>;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1 +0,0 @@
1
- export {};
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function ignoredTestEmptyRequestTypes() {
4
- const f = {};
5
- void f();
6
- void f({
7
- headers: {},
8
- });
9
- void f({
10
- headers: { extra: true },
11
- });
12
- }
13
- function ignoredTestOptionalHeadersRequestTypes() {
14
- const f = {};
15
- void f();
16
- void f({
17
- headers: {},
18
- });
19
- void f({
20
- headers: { extra: true },
21
- });
22
- }
23
- function ignoredTestPathParametersAreInRootOfRequestConfig() {
24
- const f = {};
25
- void f({
26
- foo: "",
27
- });
28
- // @ts-expect-error Missing parameter
29
- void f({});
30
- }
@@ -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,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1 +0,0 @@
1
- export {};
@@ -1,148 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tsd_1 = require("tsd");
4
- function ignoredTestEmptyRequestTypes() {
5
- (0, tsd_1.expectAssignable)({});
6
- // @ts-expect-error Not assignable
7
- (0, tsd_1.expectAssignable)({ extra: true });
8
- // @ts-expect-error Not assignable
9
- (0, tsd_1.expectAssignable)({ data: {} });
10
- // @ts-expect-error Not assignable
11
- (0, tsd_1.expectAssignable)({ data: null });
12
- // @ts-expect-error Not assignable
13
- (0, tsd_1.expectAssignable)({ pathParameters: {} });
14
- }
15
- function ignoredTestRequestTypesWithDataType() {
16
- (0, tsd_1.expectAssignable)({ data: { foo: "" } });
17
- // @ts-expect-error Not assignable
18
- (0, tsd_1.expectAssignable)({});
19
- (0, tsd_1.expectAssignable)({
20
- // @ts-expect-error Not assignable
21
- data: { foo: "", extra: "" },
22
- });
23
- // @ts-expect-error Not assignable
24
- (0, tsd_1.expectAssignable)({ data: { noFoo: "" } });
25
- }
26
- function ignoredTestRequestTypesWithPathParameters() {
27
- (0, tsd_1.expectAssignable)({
28
- data: { foo: "" },
29
- pathParameters: { bar: "" },
30
- });
31
- (0, tsd_1.expectAssignable)({
32
- pathParameters: { bar: "" },
33
- });
34
- // @ts-expect-error Not assignable
35
- (0, tsd_1.expectAssignable)({});
36
- (0, tsd_1.expectAssignable)({
37
- // @ts-expect-error Not assignable
38
- pathParameters: {},
39
- });
40
- (0, tsd_1.expectAssignable)({
41
- // @ts-expect-error Not assignable
42
- pathParameters: { foo: "", extra: "" },
43
- });
44
- }
45
- function ignoredTestRequestTypesWithHeader() {
46
- (0, tsd_1.expectAssignable)({
47
- data: {
48
- foo: "",
49
- },
50
- pathParameters: { bar: "" },
51
- headers: { baz: "" },
52
- });
53
- (0, tsd_1.expectAssignable)({
54
- pathParameters: { bar: "" },
55
- headers: { baz: "" },
56
- });
57
- (0, tsd_1.expectAssignable)({
58
- headers: { baz: "" },
59
- });
60
- // @ts-expect-error Not assignable
61
- (0, tsd_1.expectAssignable)({});
62
- (0, tsd_1.expectAssignable)({
63
- headers: {
64
- // @ts-expect-error Not assignable
65
- baz: 42,
66
- },
67
- });
68
- (0, tsd_1.expectAssignable)({
69
- // @ts-expect-error Not assignable
70
- headers: {},
71
- });
72
- (0, tsd_1.expectAssignable)({
73
- // @ts-expect-error Not assignable
74
- data: {},
75
- headers: {
76
- baz: "",
77
- },
78
- });
79
- (0, tsd_1.expectAssignable)({
80
- // @ts-expect-error Not assignable
81
- pathParameters: {},
82
- headers: {
83
- baz: "",
84
- },
85
- });
86
- }
87
- function ignoredTestRequestTypesWithQuery() {
88
- (0, tsd_1.expectAssignable)({
89
- data: {
90
- foo: "",
91
- },
92
- pathParameters: { bar: "" },
93
- headers: { baz: "" },
94
- queryParameters: {
95
- whut: "",
96
- },
97
- });
98
- (0, tsd_1.expectAssignable)({
99
- pathParameters: { bar: "" },
100
- headers: { baz: "" },
101
- queryParameters: {
102
- whut: "",
103
- },
104
- });
105
- (0, tsd_1.expectAssignable)({
106
- queryParameters: {
107
- whut: "",
108
- },
109
- });
110
- // @ts-expect-error Not assignable
111
- (0, tsd_1.expectAssignable)({});
112
- (0, tsd_1.expectAssignable)({
113
- queryParameters: {
114
- // @ts-expect-error Not assignable
115
- whut: 42,
116
- },
117
- });
118
- (0, tsd_1.expectAssignable)({
119
- // @ts-expect-error Not assignable
120
- queryParameters: {},
121
- });
122
- }
123
- function ignoredTestAdditionalHeadersCanAlwaysBeSet() {
124
- (0, tsd_1.expectAssignable)({
125
- headers: { extra: true },
126
- });
127
- (0, tsd_1.expectAssignable)({
128
- headers: { extra: true },
129
- });
130
- (0, tsd_1.expectAssignable)({
131
- headers: { extra: true },
132
- });
133
- (0, tsd_1.expectAssignable)({
134
- data: {
135
- foo: "",
136
- },
137
- headers: { extra: true },
138
- });
139
- (0, tsd_1.expectAssignable)({
140
- pathParameters: {
141
- bar: "",
142
- },
143
- headers: { extra: true },
144
- });
145
- (0, tsd_1.expectAssignable)({
146
- headers: { extra: true, baz: "" },
147
- });
148
- }
@@ -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,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1 +0,0 @@
1
- export {};
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tsd_1 = require("tsd");
4
- const additionalAxiosResponseData = {
5
- statusText: "",
6
- headers: {},
7
- config: {},
8
- mediaType: "application/json",
9
- };
10
- (0, tsd_1.expectAssignable)(Object.assign({ data: { a: "" }, status: 200 }, additionalAxiosResponseData));
11
- (0, tsd_1.expectNotAssignable)(Object.assign({ data: { a: "", extra: "!" }, status: 200 }, additionalAxiosResponseData));
12
- (0, tsd_1.expectAssignable)(Object.assign({ data: {
13
- b: "",
14
- }, status: 201 }, additionalAxiosResponseData));
15
- (0, tsd_1.expectAssignable)(Object.assign({ data: null, status: 400 }, additionalAxiosResponseData));
16
- (0, tsd_1.expectNotAssignable)(Object.assign({ data: null, status: 42 }, additionalAxiosResponseData));
17
- (0, tsd_1.expectNotAssignable)(Object.assign({ data: null, status: 42, extra: "!" }, additionalAxiosResponseData));
18
- (0, tsd_1.expectNotAssignable)(Object.assign({ data: { extraContent: "" }, status: 400 }, additionalAxiosResponseData));
19
- function ignoredTestRequestTypesWithDataPathParameters() {
20
- const someResponse = {};
21
- (0, tsd_1.expectType)(someResponse.status);
22
- if (someResponse.status === 200) {
23
- // @ts-expect-error > a is not in data
24
- someResponse.data.a;
25
- // @ts-expect-error > b is not in data
26
- someResponse.data.b;
27
- if (someResponse.mediaType === "text/plain") {
28
- // @ts-expect-error > a is not in data
29
- someResponse.data.a;
30
- (0, tsd_1.expectType)(someResponse.data.text);
31
- }
32
- else {
33
- // @ts-expect-error > text is not in data
34
- someResponse.data.text;
35
- (0, tsd_1.expectType)(someResponse.data.a);
36
- }
37
- }
38
- else if (someResponse.status === 201) {
39
- (0, tsd_1.expectType)(someResponse.data.b);
40
- // @ts-expect-error > a is not in data
41
- someResponse.data.a;
42
- }
43
- }
@@ -1,4 +0,0 @@
1
- import { Response } from "./Response.js";
2
- export declare function assertOneOfStatus<T extends Response, S extends T["status"]>(response: T, expectedStatus: S[]): asserts response is T & {
3
- status: S;
4
- };
@@ -1,13 +0,0 @@
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.assertOneOfStatus = void 0;
7
- const ApiClientError_js_1 = __importDefault(require("../core/ApiClientError.js"));
8
- function assertOneOfStatus(response, expectedStatus) {
9
- if (!expectedStatus.includes(response.status)) {
10
- throw ApiClientError_js_1.default.fromResponse(`Unexpected response status (expected ${expectedStatus}, got: ${response.status})`, response);
11
- }
12
- }
13
- exports.assertOneOfStatus = assertOneOfStatus;
@@ -1,5 +0,0 @@
1
- import { Response } from "./Response.js";
2
- export declare function assertStatus<T extends Response, S extends T["status"]>(response: T, expectedStatus: S): asserts response is T & {
3
- status: S;
4
- };
5
- export default assertStatus;
@@ -1,14 +0,0 @@
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.assertStatus = void 0;
7
- const ApiClientError_js_1 = __importDefault(require("../core/ApiClientError.js"));
8
- function assertStatus(response, expectedStatus) {
9
- if (response.status !== expectedStatus) {
10
- throw ApiClientError_js_1.default.fromResponse(`Unexpected response status (expected ${expectedStatus}, got: ${response.status})`, response);
11
- }
12
- }
13
- exports.assertStatus = assertStatus;
14
- exports.default = assertStatus;
@@ -1 +0,0 @@
1
- export {};
@@ -1,13 +0,0 @@
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
- const tsd_1 = require("tsd");
7
- const assertStatus_js_1 = __importDefault(require("./assertStatus.js"));
8
- function ignoredTestAssertStatusAssertsAlsoTheCorrectResponseType() {
9
- (0, assertStatus_js_1.default)(someResponse, 200);
10
- (0, tsd_1.expectAssignable)(someResponse);
11
- // @ts-expect-error Not assignable
12
- (0, tsd_1.expectAssignable)(someResponse);
13
- }
@@ -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 {};
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });