openapi-typesafe-helpers 1.0.0-rc.0 → 1.0.0-rc.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.cts +11 -2
- package/dist/index.d.mts +11 -2
- package/dist/index.d.ts +11 -2
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -105,11 +105,19 @@ type FirstErrorStatus<T> = T extends {
|
|
|
105
105
|
} ? T["4XX"] : T extends {
|
|
106
106
|
default: any;
|
|
107
107
|
} ? T["default"] : never;
|
|
108
|
-
type
|
|
108
|
+
type PathsWithEveryMethod<Paths extends {}, PathnameMethod extends HttpMethod> = {
|
|
109
109
|
[Pathname in keyof Paths]: Paths[Pathname] extends {
|
|
110
110
|
[K in PathnameMethod]: any;
|
|
111
111
|
} ? Pathname : never;
|
|
112
112
|
}[keyof Paths];
|
|
113
|
+
type PathsWithAnyMethod<Paths extends {}> = {
|
|
114
|
+
[Pathname in keyof Paths]: {
|
|
115
|
+
[Method in HttpMethod]: Paths[Pathname] extends {
|
|
116
|
+
[K in Method]: any;
|
|
117
|
+
} ? Pathname : never;
|
|
118
|
+
}[HttpMethod];
|
|
119
|
+
}[keyof Paths];
|
|
120
|
+
type PathsWithMethod<Paths extends {}, PathnameMethod extends HttpMethod> = PathsWithEveryMethod<Paths, PathnameMethod> | (HttpMethod extends PathnameMethod ? PathsWithAnyMethod<Paths> : never);
|
|
113
121
|
interface OperationObject {
|
|
114
122
|
parameters: any;
|
|
115
123
|
requestBody: any;
|
|
@@ -131,7 +139,8 @@ type PickRequestBody<T> = "requestBody" extends keyof T ? Pick<T, "requestBody">
|
|
|
131
139
|
type IsOperationRequestBodyOptional<T> = RequiredKeysOf<PickRequestBody<T>> extends never ? true : false;
|
|
132
140
|
type OperationRequestBodyMediaContent<T> = IsOperationRequestBodyOptional<T> extends true ? ResponseContent<NonNullable<OperationRequestBody<T>>> | undefined : ResponseContent<OperationRequestBody<T>>;
|
|
133
141
|
type OperationRequestBodyContent<T> = FilterKeys<OperationRequestBodyMediaContent<T>, MediaType> extends never ? FilterKeys<NonNullable<OperationRequestBodyMediaContent<T>>, MediaType> | undefined : FilterKeys<OperationRequestBodyMediaContent<T>, MediaType>;
|
|
134
|
-
type
|
|
142
|
+
type SuccessStatus<T> = [Extract<keyof T, OkStatus>] extends [never] ? "default" : OkStatus;
|
|
143
|
+
type SuccessResponse<T extends Record<string | number, any>, Media extends MediaType = MediaType> = GetResponseContent<T, Media, SuccessStatus<T>>;
|
|
135
144
|
type GetResponseContent<T extends Record<string | number, any>, Media extends MediaType = MediaType, ResponseCode extends keyof T = keyof T> = ResponseCode extends keyof T ? {
|
|
136
145
|
[K in ResponseCode]: T[K]["content"] extends Record<string, any> ? FilterKeys<T[K]["content"], Media> extends never ? T[K]["content"] : FilterKeys<T[K]["content"], Media> : K extends keyof T ? T[K]["content"] : never;
|
|
137
146
|
}[ResponseCode] : never;
|
package/dist/index.d.mts
CHANGED
|
@@ -105,11 +105,19 @@ type FirstErrorStatus<T> = T extends {
|
|
|
105
105
|
} ? T["4XX"] : T extends {
|
|
106
106
|
default: any;
|
|
107
107
|
} ? T["default"] : never;
|
|
108
|
-
type
|
|
108
|
+
type PathsWithEveryMethod<Paths extends {}, PathnameMethod extends HttpMethod> = {
|
|
109
109
|
[Pathname in keyof Paths]: Paths[Pathname] extends {
|
|
110
110
|
[K in PathnameMethod]: any;
|
|
111
111
|
} ? Pathname : never;
|
|
112
112
|
}[keyof Paths];
|
|
113
|
+
type PathsWithAnyMethod<Paths extends {}> = {
|
|
114
|
+
[Pathname in keyof Paths]: {
|
|
115
|
+
[Method in HttpMethod]: Paths[Pathname] extends {
|
|
116
|
+
[K in Method]: any;
|
|
117
|
+
} ? Pathname : never;
|
|
118
|
+
}[HttpMethod];
|
|
119
|
+
}[keyof Paths];
|
|
120
|
+
type PathsWithMethod<Paths extends {}, PathnameMethod extends HttpMethod> = PathsWithEveryMethod<Paths, PathnameMethod> | (HttpMethod extends PathnameMethod ? PathsWithAnyMethod<Paths> : never);
|
|
113
121
|
interface OperationObject {
|
|
114
122
|
parameters: any;
|
|
115
123
|
requestBody: any;
|
|
@@ -131,7 +139,8 @@ type PickRequestBody<T> = "requestBody" extends keyof T ? Pick<T, "requestBody">
|
|
|
131
139
|
type IsOperationRequestBodyOptional<T> = RequiredKeysOf<PickRequestBody<T>> extends never ? true : false;
|
|
132
140
|
type OperationRequestBodyMediaContent<T> = IsOperationRequestBodyOptional<T> extends true ? ResponseContent<NonNullable<OperationRequestBody<T>>> | undefined : ResponseContent<OperationRequestBody<T>>;
|
|
133
141
|
type OperationRequestBodyContent<T> = FilterKeys<OperationRequestBodyMediaContent<T>, MediaType> extends never ? FilterKeys<NonNullable<OperationRequestBodyMediaContent<T>>, MediaType> | undefined : FilterKeys<OperationRequestBodyMediaContent<T>, MediaType>;
|
|
134
|
-
type
|
|
142
|
+
type SuccessStatus<T> = [Extract<keyof T, OkStatus>] extends [never] ? "default" : OkStatus;
|
|
143
|
+
type SuccessResponse<T extends Record<string | number, any>, Media extends MediaType = MediaType> = GetResponseContent<T, Media, SuccessStatus<T>>;
|
|
135
144
|
type GetResponseContent<T extends Record<string | number, any>, Media extends MediaType = MediaType, ResponseCode extends keyof T = keyof T> = ResponseCode extends keyof T ? {
|
|
136
145
|
[K in ResponseCode]: T[K]["content"] extends Record<string, any> ? FilterKeys<T[K]["content"], Media> extends never ? T[K]["content"] : FilterKeys<T[K]["content"], Media> : K extends keyof T ? T[K]["content"] : never;
|
|
137
146
|
}[ResponseCode] : never;
|
package/dist/index.d.ts
CHANGED
|
@@ -105,11 +105,19 @@ type FirstErrorStatus<T> = T extends {
|
|
|
105
105
|
} ? T["4XX"] : T extends {
|
|
106
106
|
default: any;
|
|
107
107
|
} ? T["default"] : never;
|
|
108
|
-
type
|
|
108
|
+
type PathsWithEveryMethod<Paths extends {}, PathnameMethod extends HttpMethod> = {
|
|
109
109
|
[Pathname in keyof Paths]: Paths[Pathname] extends {
|
|
110
110
|
[K in PathnameMethod]: any;
|
|
111
111
|
} ? Pathname : never;
|
|
112
112
|
}[keyof Paths];
|
|
113
|
+
type PathsWithAnyMethod<Paths extends {}> = {
|
|
114
|
+
[Pathname in keyof Paths]: {
|
|
115
|
+
[Method in HttpMethod]: Paths[Pathname] extends {
|
|
116
|
+
[K in Method]: any;
|
|
117
|
+
} ? Pathname : never;
|
|
118
|
+
}[HttpMethod];
|
|
119
|
+
}[keyof Paths];
|
|
120
|
+
type PathsWithMethod<Paths extends {}, PathnameMethod extends HttpMethod> = PathsWithEveryMethod<Paths, PathnameMethod> | (HttpMethod extends PathnameMethod ? PathsWithAnyMethod<Paths> : never);
|
|
113
121
|
interface OperationObject {
|
|
114
122
|
parameters: any;
|
|
115
123
|
requestBody: any;
|
|
@@ -131,7 +139,8 @@ type PickRequestBody<T> = "requestBody" extends keyof T ? Pick<T, "requestBody">
|
|
|
131
139
|
type IsOperationRequestBodyOptional<T> = RequiredKeysOf<PickRequestBody<T>> extends never ? true : false;
|
|
132
140
|
type OperationRequestBodyMediaContent<T> = IsOperationRequestBodyOptional<T> extends true ? ResponseContent<NonNullable<OperationRequestBody<T>>> | undefined : ResponseContent<OperationRequestBody<T>>;
|
|
133
141
|
type OperationRequestBodyContent<T> = FilterKeys<OperationRequestBodyMediaContent<T>, MediaType> extends never ? FilterKeys<NonNullable<OperationRequestBodyMediaContent<T>>, MediaType> | undefined : FilterKeys<OperationRequestBodyMediaContent<T>, MediaType>;
|
|
134
|
-
type
|
|
142
|
+
type SuccessStatus<T> = [Extract<keyof T, OkStatus>] extends [never] ? "default" : OkStatus;
|
|
143
|
+
type SuccessResponse<T extends Record<string | number, any>, Media extends MediaType = MediaType> = GetResponseContent<T, Media, SuccessStatus<T>>;
|
|
135
144
|
type GetResponseContent<T extends Record<string | number, any>, Media extends MediaType = MediaType, ResponseCode extends keyof T = keyof T> = ResponseCode extends keyof T ? {
|
|
136
145
|
[K in ResponseCode]: T[K]["content"] extends Record<string, any> ? FilterKeys<T[K]["content"], Media> extends never ? T[K]["content"] : FilterKeys<T[K]["content"], Media> : K extends keyof T ? T[K]["content"] : never;
|
|
137
146
|
}[ResponseCode] : never;
|
package/package.json
CHANGED