@rvoh/psychic-spec-helpers 0.7.2 → 0.7.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.
@@ -76,4 +76,88 @@ export type RoutesWithHttpMethod<
76
76
  },
77
77
  > = R[keyof R]
78
78
 
79
+ export type RequestQueryParameters<
80
+ OpenapiPaths,
81
+ HttpMethod,
82
+ Uri,
83
+ // ResponseCode,
84
+ HttpMethodMap extends OpenapiPaths[Uri & keyof OpenapiPaths] = OpenapiPaths[Uri &
85
+ keyof OpenapiPaths],
86
+ ParametersMap extends HttpMethodMap[HttpMethod & keyof HttpMethodMap]['parameters' &
87
+ keyof HttpMethodMap[HttpMethod & keyof HttpMethodMap]] = HttpMethodMap[HttpMethod &
88
+ keyof HttpMethodMap]['parameters' & keyof HttpMethodMap[HttpMethod & keyof HttpMethodMap]],
89
+ QueryMap extends ParametersMap['query' & keyof ParametersMap] = ParametersMap['query' &
90
+ keyof ParametersMap],
91
+ > = QueryMap
92
+
93
+ export type ResponseBody<
94
+ OpenapiPaths,
95
+ HttpMethod,
96
+ Uri,
97
+ ResponseCode,
98
+ HttpMethodMap extends OpenapiPaths[Uri & keyof OpenapiPaths] = OpenapiPaths[Uri &
99
+ keyof OpenapiPaths],
100
+ ResponseMap extends HttpMethodMap[HttpMethod & keyof HttpMethodMap]['responses' &
101
+ keyof HttpMethodMap[HttpMethod & keyof HttpMethodMap]] = HttpMethodMap[HttpMethod &
102
+ keyof HttpMethodMap]['responses' & keyof HttpMethodMap[HttpMethod & keyof HttpMethodMap]],
103
+ Content extends ResponseMap extends undefined
104
+ ? undefined
105
+ : ResponseCode extends undefined
106
+ ? undefined
107
+ : ResponseCode extends number
108
+ ? ResponseMap[ResponseCode & keyof ResponseMap]['content' &
109
+ keyof ResponseMap[ResponseCode & keyof ResponseMap]]
110
+ : undefined = ResponseMap extends undefined
111
+ ? undefined
112
+ : ResponseCode extends undefined
113
+ ? undefined
114
+ : ResponseCode extends number
115
+ ? ResponseMap[ResponseCode & keyof ResponseMap]['content' &
116
+ keyof ResponseMap[ResponseCode & keyof ResponseMap]]
117
+ : undefined,
118
+ JsonContent extends Content extends undefined
119
+ ? undefined
120
+ : Content['application/json' & keyof Content] = Content extends undefined
121
+ ? undefined
122
+ : Content['application/json' & keyof Content],
123
+ > = JsonContent
124
+
125
+ export type RequestBody<
126
+ OpenapiPaths,
127
+ HttpMethod,
128
+ Uri,
129
+ HttpMethodMap extends OpenapiPaths[Uri & keyof OpenapiPaths] = OpenapiPaths[Uri &
130
+ keyof OpenapiPaths],
131
+ UriPayload extends HttpMethodMap[HttpMethod & keyof HttpMethodMap] = HttpMethodMap[HttpMethod &
132
+ keyof HttpMethodMap],
133
+ RequestBodyMap extends UriPayload['requestBody' & keyof UriPayload] extends never
134
+ ? undefined
135
+ : UriPayload['requestBody' & keyof UriPayload] = UriPayload['requestBody' &
136
+ keyof UriPayload] extends never
137
+ ? undefined
138
+ : UriPayload['requestBody' & keyof UriPayload],
139
+ RequestBodyContent extends RequestBodyMap extends undefined
140
+ ? undefined
141
+ : RequestBodyMap['content' & keyof RequestBodyMap] = RequestBodyMap extends undefined
142
+ ? undefined
143
+ : RequestBodyMap['content' & keyof RequestBodyMap],
144
+ RequestBodyJsonContent extends RequestBodyContent extends undefined
145
+ ? undefined
146
+ : RequestBodyContent['application/json' &
147
+ keyof RequestBodyContent] = RequestBodyContent extends undefined
148
+ ? undefined
149
+ : RequestBodyContent['application/json' & keyof RequestBodyContent],
150
+ > = RequestBodyJsonContent
151
+
152
+ export type ResponseCodeForUri<
153
+ OpenapiPaths,
154
+ Uri,
155
+ HttpMethod,
156
+ HttpMethodMap extends OpenapiPaths[Uri & keyof OpenapiPaths] = OpenapiPaths[Uri &
157
+ keyof OpenapiPaths],
158
+ ResponseMap extends HttpMethodMap[HttpMethod & keyof HttpMethodMap]['responses' &
159
+ keyof HttpMethodMap[HttpMethod & keyof HttpMethodMap]] = HttpMethodMap[HttpMethod &
160
+ keyof HttpMethodMap]['responses' & keyof HttpMethodMap[HttpMethod & keyof HttpMethodMap]],
161
+ > = keyof ResponseMap & number
162
+
79
163
  type RequestURISegment = string extends `${string}/${string}` ? never : string