@rvoh/psychic-spec-helpers 0.7.2 → 0.7.3

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.
@@ -58,61 +58,10 @@ export declare class OpenapiSpecSession<OpenapiPaths> {
58
58
  * @param opts.headers - headers you would like to send with your request.
59
59
  * (Optional)
60
60
  */
61
- opts: Params['length'] extends 0 ? never : OpenapiSpecRequestOptsGet<QueryMap> & {
61
+ opts?: Params['length'] extends 0 ? OpenapiSpecRequestOptsGet<QueryMap> : OpenapiSpecRequestOptsGet<QueryMap> & {
62
62
  [K in Params[number]]: string | IdType;
63
63
  }): Promise<OpenapiSpecResponse<JsonContent>>;
64
- get<const Uri extends RoutesWithHttpMethod<OpenapiPaths, 'get' & keyof OpenapiPaths[keyof OpenapiPaths]> & string, const ResponseCode extends Params['length'] extends 0 ? keyof ExcludeNever<ResponseMap> & number : never, HttpMethodMap extends OpenapiPaths[Uri & keyof OpenapiPaths], ResponseMap extends HttpMethodMap['get' & keyof HttpMethodMap]['responses' & keyof HttpMethodMap['get' & keyof HttpMethodMap]], ParametersMap extends HttpMethodMap['get' & keyof HttpMethodMap]['parameters' & keyof HttpMethodMap['get' & keyof HttpMethodMap]], QueryMap extends ParametersMap['query' & keyof ParametersMap], Params extends string[] & ExtractOpenapiParams<Uri>, Content extends ResponseMap extends undefined ? undefined : ResponseCode extends undefined ? undefined : ResponseCode extends number ? ResponseMap[ResponseCode & keyof ResponseMap]['content' & keyof ResponseMap[ResponseCode & keyof ResponseMap]] : undefined, JsonContent extends Content extends undefined ? undefined : Content['application/json' & keyof Content]>(
65
- /**
66
- * The uri on your background you are trying to hit.
67
- * This should be a path, like '/users'.
68
- *
69
- * ```ts
70
- * const request = new OpenapiSpecRequest<openapiPaths>()
71
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
72
- * const res = await session.get('/user', 200)
73
- * ```
74
- */
75
- uri: Uri,
76
- /**
77
- * The response status you are expecting to receive
78
- * when making this request. It will need to match
79
- * one of the accepted response statuses for the
80
- * provided uri in your openapi types
81
- *
82
- * ```ts
83
- * const request = new OpenapiSpecRequest<openapiPaths>()
84
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
85
- * const res = await session.get('/user', 200)
86
- * ```
87
- */
88
- expectedStatus: ResponseCode,
89
- /**
90
- * Query params, headers, and other options to send with
91
- * your request.
92
- *
93
- * ```ts
94
- * const request = new OpenapiSpecRequest<openapiPaths>()
95
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
96
- * const res = await session.get(
97
- * '/user',
98
- * 200,
99
- * {
100
- * query: {
101
- * ...query params here
102
- * }
103
- * }
104
- * )
105
- * ```
106
- *
107
- * @param opts.query - query params you want to send up. Must match the
108
- * query params in the openapi document for this uri.
109
- * (Optional)
110
- *
111
- * @param opts.headers - headers you would like to send with your request.
112
- * (Optional)
113
- */
114
- opts?: OpenapiSpecRequestOptsGet<QueryMap>): Promise<OpenapiSpecResponse<JsonContent>>;
115
- post<const Uri extends RoutesWithHttpMethod<OpenapiPaths, 'post' & keyof OpenapiPaths[keyof OpenapiPaths]> & string, const ResponseCode extends Params['length'] extends 0 ? never : keyof ExcludeNever<ResponseMap> & number, HttpMethodMap extends OpenapiPaths[ResolvedUri & keyof OpenapiPaths], ResolvedUri extends First<GetResolvedOpenapiUrl<OpenapiPaths, Uri> & keyof OpenapiPaths>, Params extends string[] & ExtractOpenapiParams<Uri>, ResponseMap extends HttpMethodMap['post' & keyof HttpMethodMap]['responses' & keyof HttpMethodMap['post' & keyof HttpMethodMap]], Content extends ResponseMap extends undefined ? undefined : ResponseCode extends undefined ? undefined : ResponseCode extends number ? ResponseMap[ResponseCode & keyof ResponseMap]['content' & keyof ResponseMap[ResponseCode & keyof ResponseMap]] : undefined, JsonContent extends Content extends undefined ? undefined : Content['application/json' & keyof Content], RequestBodyMap extends HttpMethodMap['post' & keyof HttpMethodMap]['requestBody' & keyof HttpMethodMap['post' & keyof HttpMethodMap]], RequestBodyContent extends RequestBodyMap extends undefined ? undefined : RequestBodyMap['content' & keyof RequestBodyMap], RequestBodyJsonContent extends RequestBodyContent extends undefined ? undefined : RequestBodyContent['application/json' & keyof RequestBodyContent]>(
64
+ post<const Uri extends RoutesWithHttpMethod<OpenapiPaths, 'post' & keyof OpenapiPaths[keyof OpenapiPaths]> & string, const ResponseCode extends keyof ResponseMap & number, HttpMethodMap extends OpenapiPaths[ResolvedUri & keyof OpenapiPaths], ResolvedUri extends First<GetResolvedOpenapiUrl<OpenapiPaths, Uri> & keyof OpenapiPaths>, Params extends string[] & ExtractOpenapiParams<Uri>, ResponseMap extends HttpMethodMap['post' & keyof HttpMethodMap]['responses' & keyof HttpMethodMap['post' & keyof HttpMethodMap]], Content extends ResponseMap extends undefined ? undefined : ResponseCode extends undefined ? undefined : ResponseCode extends number ? ResponseMap[ResponseCode & keyof ResponseMap]['content' & keyof ResponseMap[ResponseCode & keyof ResponseMap]] : undefined, JsonContent extends Content extends undefined ? undefined : Content['application/json' & keyof Content], RequestBodyMap extends HttpMethodMap['post' & keyof HttpMethodMap]['requestBody' & keyof HttpMethodMap['post' & keyof HttpMethodMap]], RequestBodyContent extends RequestBodyMap extends undefined ? undefined : RequestBodyMap['content' & keyof RequestBodyMap], RequestBodyJsonContent extends RequestBodyContent extends undefined ? undefined : RequestBodyContent['application/json' & keyof RequestBodyContent]>(
116
65
  /**
117
66
  * The uri on your background you are trying to hit.
118
67
  * This should be a path, like '/users'.
@@ -168,64 +117,10 @@ export declare class OpenapiSpecSession<OpenapiPaths> {
168
117
  * @param opts.headers - headers you would like to send with your request.
169
118
  * (Optional)
170
119
  */
171
- opts: OpenapiSpecRequestOptsPost<RequestBodyJsonContent> & {
120
+ opts?: Params['length'] extends 0 ? OpenapiSpecRequestOptsPost<RequestBodyJsonContent> : OpenapiSpecRequestOptsPost<RequestBodyJsonContent> & {
172
121
  [K in Params[number]]: string;
173
122
  }): Promise<OpenapiSpecResponse<JsonContent>>;
174
- post<const Uri extends RoutesWithHttpMethod<OpenapiPaths, 'post' & keyof OpenapiPaths[keyof OpenapiPaths]> & string, const ResponseCode extends Params['length'] extends 0 ? keyof ExcludeNever<ResponseMap> & number : never, HttpMethodMap extends OpenapiPaths[Uri & keyof OpenapiPaths], Params extends string[] & ExtractOpenapiParams<Uri>, ResponseMap extends HttpMethodMap['post' & keyof HttpMethodMap]['responses' & keyof HttpMethodMap['post' & keyof HttpMethodMap]], Content extends ResponseMap extends undefined ? undefined : ResponseCode extends undefined ? undefined : ResponseCode extends number ? ResponseMap[ResponseCode & keyof ResponseMap]['content' & keyof ResponseMap[ResponseCode & keyof ResponseMap]] : undefined, JsonContent extends Content extends undefined ? undefined : Content['application/json' & keyof Content], RequestBodyMap extends HttpMethodMap['post' & keyof HttpMethodMap]['requestBody' & keyof HttpMethodMap['post' & keyof HttpMethodMap]], RequestBodyContent extends RequestBodyMap extends undefined ? undefined : RequestBodyMap['content' & keyof RequestBodyMap], RequestBodyJsonContent extends RequestBodyContent extends undefined ? undefined : RequestBodyContent['application/json' & keyof RequestBodyContent]>(
175
- /**
176
- * The uri on your background you are trying to hit.
177
- * This should be a path, like '/users'.
178
- *
179
- * ```ts
180
- * const request = new OpenapiSpecRequest<openapiPaths>()
181
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
182
- * const res = await session.post('/user', 200)
183
- * ```
184
- */
185
- uri: Uri,
186
- /**
187
- * The response status you are expecting to receive
188
- * when making this request. It will need to match
189
- * one of the accepted response statuses for the
190
- * provided uri in your openapi types
191
- *
192
- * ```ts
193
- * const request = new OpenapiSpecRequest<openapiPaths>()
194
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
195
- * const res = await session.post('/user', 200)
196
- * ```
197
- */
198
- expectedStatus: ResponseCode,
199
- /**
200
- * Data, headers, and other options to send with
201
- * your request.
202
- *
203
- * ```ts
204
- * const request = new OpenapiSpecRequest<openapiPaths>()
205
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
206
- * const res = await session.post(
207
- * '/user',
208
- * 200,
209
- * {
210
- * data: {
211
- * ...request body here
212
- * },
213
- * headers: {
214
- * ...headers here
215
- * },
216
- * }
217
- * )
218
- * ```
219
- *
220
- * @param opts.data - request body data you want to send up. Must match the
221
- * requestBody shape in the openapi document for this uri.
222
- * (Optional)
223
- *
224
- * @param opts.headers - headers you would like to send with your request.
225
- * (Optional)
226
- */
227
- opts?: Params['length'] extends 0 ? OpenapiSpecRequestOptsPost<RequestBodyJsonContent> : never): Promise<OpenapiSpecResponse<JsonContent>>;
228
- put<const Uri extends RoutesWithHttpMethod<OpenapiPaths, 'put' & keyof OpenapiPaths[keyof OpenapiPaths]> & string, const ResponseCode extends Params['length'] extends 0 ? never : keyof ExcludeNever<ResponseMap> & number, HttpMethodMap extends OpenapiPaths[Uri & keyof OpenapiPaths], Params extends string[] & ExtractOpenapiParams<Uri>, ResponseMap extends HttpMethodMap['put' & keyof HttpMethodMap]['responses' & keyof HttpMethodMap['put' & keyof HttpMethodMap]], Content extends ResponseMap extends undefined ? undefined : ResponseCode extends undefined ? undefined : ResponseCode extends number ? ResponseMap[ResponseCode & keyof ResponseMap]['content' & keyof ResponseMap[ResponseCode & keyof ResponseMap]] : undefined, JsonContent extends Content extends undefined ? undefined : Content['application/json' & keyof Content], RequestBodyMap extends HttpMethodMap['put' & keyof HttpMethodMap]['requestBody' & keyof HttpMethodMap['put' & keyof HttpMethodMap]], RequestBodyContent extends RequestBodyMap extends undefined ? undefined : RequestBodyMap['content' & keyof RequestBodyMap], RequestBodyJsonContent extends RequestBodyContent extends undefined ? undefined : RequestBodyContent['application/json' & keyof RequestBodyContent]>(
123
+ put<const Uri extends RoutesWithHttpMethod<OpenapiPaths, 'put' & keyof OpenapiPaths[keyof OpenapiPaths]> & string, const ResponseCode extends keyof ResponseMap & number, HttpMethodMap extends OpenapiPaths[Uri & keyof OpenapiPaths], Params extends string[] & ExtractOpenapiParams<Uri>, ResponseMap extends HttpMethodMap['put' & keyof HttpMethodMap]['responses' & keyof HttpMethodMap['put' & keyof HttpMethodMap]], Content extends ResponseMap extends undefined ? undefined : ResponseCode extends undefined ? undefined : ResponseCode extends number ? ResponseMap[ResponseCode & keyof ResponseMap]['content' & keyof ResponseMap[ResponseCode & keyof ResponseMap]] : undefined, JsonContent extends Content extends undefined ? undefined : Content['application/json' & keyof Content], RequestBodyMap extends HttpMethodMap['put' & keyof HttpMethodMap]['requestBody' & keyof HttpMethodMap['put' & keyof HttpMethodMap]], RequestBodyContent extends RequestBodyMap extends undefined ? undefined : RequestBodyMap['content' & keyof RequestBodyMap], RequestBodyJsonContent extends RequestBodyContent extends undefined ? undefined : RequestBodyContent['application/json' & keyof RequestBodyContent]>(
229
124
  /**
230
125
  * The uri on your background you are trying to hit.
231
126
  * This should be a path, like '/users'.
@@ -282,66 +177,10 @@ export declare class OpenapiSpecSession<OpenapiPaths> {
282
177
  * @param opts.headers - headers you would like to send with your request.
283
178
  * (Optional)
284
179
  */
285
- opts: Params['length'] extends 0 ? never : OpenapiSpecRequestOptsPost<RequestBodyJsonContent> & {
180
+ opts?: Params['length'] extends 0 ? OpenapiSpecRequestOptsPost<RequestBodyJsonContent> : OpenapiSpecRequestOptsPost<RequestBodyJsonContent> & {
286
181
  [K in Params[number]]: string | IdType;
287
182
  }): Promise<OpenapiSpecResponse<JsonContent>>;
288
- put<const Uri extends RoutesWithHttpMethod<OpenapiPaths, 'put' & keyof OpenapiPaths[keyof OpenapiPaths]> & string, const ResponseCode extends Params['length'] extends 0 ? keyof ExcludeNever<ResponseMap> & number : never, HttpMethodMap extends OpenapiPaths[Uri & keyof OpenapiPaths], Params extends string[] & ExtractOpenapiParams<Uri>, ResponseMap extends HttpMethodMap['put' & keyof HttpMethodMap]['responses' & keyof HttpMethodMap['put' & keyof HttpMethodMap]], Content extends ResponseMap extends undefined ? undefined : ResponseCode extends undefined ? undefined : ResponseCode extends number ? ResponseMap[ResponseCode & keyof ResponseMap]['content' & keyof ResponseMap[ResponseCode & keyof ResponseMap]] : undefined, JsonContent extends Content extends undefined ? undefined : Content['application/json' & keyof Content], RequestBodyMap extends HttpMethodMap['put' & keyof HttpMethodMap]['requestBody' & keyof HttpMethodMap['put' & keyof HttpMethodMap]], RequestBodyContent extends RequestBodyMap extends undefined ? undefined : RequestBodyMap['content' & keyof RequestBodyMap], RequestBodyJsonContent extends RequestBodyContent extends undefined ? undefined : RequestBodyContent['application/json' & keyof RequestBodyContent]>(
289
- /**
290
- * The uri on your background you are trying to hit.
291
- * This should be a path, like '/users'.
292
- *
293
- * ```ts
294
- * const request = new OpenapiSpecRequest<openapiPaths>()
295
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
296
- * const res = await session.put('/user', 200, { data: { name: 'new name' })
297
- * ```
298
- */
299
- uri: Uri,
300
- /**
301
- * The response status you are expecting to receive
302
- * when making this request. It will need to match
303
- * one of the accepted response statuses for the
304
- * provided uri in your openapi types
305
- *
306
- * ```ts
307
- * const request = new OpenapiSpecRequest<openapiPaths>()
308
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
309
- * const res = await session.put('/user', 200, { data: { name: 'new name' })
310
- * ```
311
- */
312
- expectedStatus: ResponseCode,
313
- /**
314
- * An object containing the path fields required to
315
- * fill your uri in, as well as any additional PUT
316
- * arguments, like `data`, for example.
317
- *
318
- *
319
- * ```ts
320
- * const request = new OpenapiSpecRequest<openapiPaths>()
321
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
322
- * const res = await session.put(
323
- * '/user',
324
- * 200,
325
- * {
326
- * data: {
327
- * ...request body here
328
- * },
329
- * headers: {
330
- * ...headers here
331
- * },
332
- * }
333
- * )
334
- * ```
335
- *
336
- * @param opts.data - request body data you want to send up. Must match the
337
- * requestBody shape in the openapi document for this uri.
338
- * (Optional)
339
- *
340
- * @param opts.headers - headers you would like to send with your request.
341
- * (Optional)
342
- */
343
- opts?: Params['length'] extends 0 ? OpenapiSpecRequestOptsPost<RequestBodyJsonContent> : never): Promise<OpenapiSpecResponse<JsonContent>>;
344
- patch<const Uri extends RoutesWithHttpMethod<OpenapiPaths, 'patch' & keyof OpenapiPaths[keyof OpenapiPaths]> & string, const ResponseCode extends Params['length'] extends 0 ? never : keyof ExcludeNever<ResponseMap> & number, HttpMethodMap extends OpenapiPaths[Uri & keyof OpenapiPaths], Params extends string[] & ExtractOpenapiParams<Uri>, ResponseMap extends HttpMethodMap['patch' & keyof HttpMethodMap]['responses' & keyof HttpMethodMap['patch' & keyof HttpMethodMap]], Content extends ResponseMap extends undefined ? undefined : ResponseCode extends undefined ? undefined : ResponseCode extends number ? ResponseMap[ResponseCode & keyof ResponseMap]['content' & keyof ResponseMap[ResponseCode & keyof ResponseMap]] : undefined, JsonContent extends Content extends undefined ? undefined : Content['application/json' & keyof Content], RequestBodyMap extends HttpMethodMap['patch' & keyof HttpMethodMap]['requestBody' & keyof HttpMethodMap['patch' & keyof HttpMethodMap]], RequestBodyContent extends RequestBodyMap extends undefined ? undefined : RequestBodyMap['content' & keyof RequestBodyMap], RequestBodyJsonContent extends RequestBodyContent extends undefined ? undefined : RequestBodyContent['application/json' & keyof RequestBodyContent]>(
183
+ patch<const Uri extends RoutesWithHttpMethod<OpenapiPaths, 'patch' & keyof OpenapiPaths[keyof OpenapiPaths]> & string, const ResponseCode extends keyof ResponseMap & number, HttpMethodMap extends OpenapiPaths[Uri & keyof OpenapiPaths], Params extends string[] & ExtractOpenapiParams<Uri>, ResponseMap extends HttpMethodMap['patch' & keyof HttpMethodMap]['responses' & keyof HttpMethodMap['patch' & keyof HttpMethodMap]], Content extends ResponseMap extends undefined ? undefined : ResponseCode extends undefined ? undefined : ResponseCode extends number ? ResponseMap[ResponseCode & keyof ResponseMap]['content' & keyof ResponseMap[ResponseCode & keyof ResponseMap]] : undefined, JsonContent extends Content extends undefined ? undefined : Content['application/json' & keyof Content], RequestBodyMap extends HttpMethodMap['patch' & keyof HttpMethodMap]['requestBody' & keyof HttpMethodMap['patch' & keyof HttpMethodMap]], RequestBodyContent extends RequestBodyMap extends undefined ? undefined : RequestBodyMap['content' & keyof RequestBodyMap], RequestBodyJsonContent extends RequestBodyContent extends undefined ? undefined : RequestBodyContent['application/json' & keyof RequestBodyContent]>(
345
184
  /**
346
185
  * The uri on your background you are trying to hit.
347
186
  * This should be a path, like '/posts'.
@@ -397,63 +236,9 @@ export declare class OpenapiSpecSession<OpenapiPaths> {
397
236
  * @param opts.headers - headers you would like to send with your request.
398
237
  * (Optional)
399
238
  */
400
- opts: Params['length'] extends 0 ? never : OpenapiSpecRequestOptsPost<RequestBodyJsonContent> & {
239
+ opts?: Params['length'] extends 0 ? OpenapiSpecRequestOptsPost<RequestBodyJsonContent> : OpenapiSpecRequestOptsPost<RequestBodyJsonContent> & {
401
240
  [K in Params[number]]: string | IdType;
402
241
  }): Promise<OpenapiSpecResponse<JsonContent>>;
403
- patch<const Uri extends RoutesWithHttpMethod<OpenapiPaths, 'patch' & keyof OpenapiPaths[keyof OpenapiPaths]> & string, const ResponseCode extends Params['length'] extends 0 ? keyof ExcludeNever<ResponseMap> & number : never, HttpMethodMap extends OpenapiPaths[Uri & keyof OpenapiPaths], Params extends string[] & ExtractOpenapiParams<Uri>, ResponseMap extends HttpMethodMap['patch' & keyof HttpMethodMap]['responses' & keyof HttpMethodMap['patch' & keyof HttpMethodMap]], Content extends ResponseMap extends undefined ? undefined : ResponseCode extends undefined ? undefined : ResponseCode extends number ? ResponseMap[ResponseCode & keyof ResponseMap]['content' & keyof ResponseMap[ResponseCode & keyof ResponseMap]] : undefined, JsonContent extends Content extends undefined ? undefined : Content['application/json' & keyof Content], RequestBodyMap extends HttpMethodMap['patch' & keyof HttpMethodMap]['requestBody' & keyof HttpMethodMap['patch' & keyof HttpMethodMap]], RequestBodyContent extends RequestBodyMap extends undefined ? undefined : RequestBodyMap['content' & keyof RequestBodyMap], RequestBodyJsonContent extends RequestBodyContent extends undefined ? undefined : RequestBodyContent['application/json' & keyof RequestBodyContent]>(
404
- /**
405
- * The uri on your background you are trying to hit.
406
- * This should be a path, like '/user'.
407
- *
408
- * ```ts
409
- * const request = new OpenapiSpecRequest<openapiPaths>()
410
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
411
- * const res = await session.patch('/user', 200, { data: { name: 'new name' }})
412
- * ```
413
- */
414
- uri: Uri,
415
- /**
416
- * The response status you are expecting to receive
417
- * when making this request. It will need to match
418
- * one of the accepted response statuses for the
419
- * provided uri in your openapi types
420
- *
421
- * ```ts
422
- * const request = new OpenapiSpecRequest<openapiPaths>()
423
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
424
- * const res = await session.patch('/user', 200, { data: { name: 'new name' }})
425
- * ```
426
- */
427
- expectedStatus: ResponseCode,
428
- /**
429
- * Data, headers, and other options to send with
430
- * your request.
431
- *
432
- * ```ts
433
- * const request = new OpenapiSpecRequest<openapiPaths>()
434
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
435
- * const res = await session.patch(
436
- * '/user',
437
- * 200,
438
- * {
439
- * data: {
440
- * ...request body here
441
- * },
442
- * headers: {
443
- * ...headers here
444
- * },
445
- * }
446
- * )
447
- * ```
448
- *
449
- * @param opts.data - request body data you want to send up. Must match the
450
- * requestBody shape in the openapi document for this uri.
451
- * (Optional)
452
- *
453
- * @param opts.headers - headers you would like to send with your request.
454
- * (Optional)
455
- */
456
- opts?: Params['length'] extends 0 ? OpenapiSpecRequestOptsPost<RequestBodyJsonContent> : never): Promise<OpenapiSpecResponse<JsonContent>>;
457
242
  delete<const Uri extends RoutesWithHttpMethod<OpenapiPaths, 'delete' & keyof OpenapiPaths[keyof OpenapiPaths]> & string, const ResponseCode extends Params['length'] extends 0 ? never : keyof ExcludeNever<ResponseMap> & number, HttpMethodMap extends OpenapiPaths[Uri & keyof OpenapiPaths], Params extends string[] & ExtractOpenapiParams<Uri>, ResponseMap extends HttpMethodMap['delete' & keyof HttpMethodMap]['responses' & keyof HttpMethodMap['delete' & keyof HttpMethodMap]], Content extends ResponseMap extends undefined ? undefined : ResponseCode extends undefined ? undefined : ResponseCode extends number ? ResponseMap[ResponseCode & keyof ResponseMap]['content' & keyof ResponseMap[ResponseCode & keyof ResponseMap]] : undefined, JsonContent extends Content extends undefined ? undefined : Content['application/json' & keyof Content], RequestBodyMap extends HttpMethodMap['delete' & keyof HttpMethodMap]['requestBody' & keyof HttpMethodMap['delete' & keyof HttpMethodMap]], RequestBodyContent extends RequestBodyMap extends undefined ? undefined : RequestBodyMap['content' & keyof RequestBodyMap], RequestBodyJsonContent extends RequestBodyContent extends undefined ? undefined : RequestBodyContent['application/json' & keyof RequestBodyContent]>(
458
243
  /**
459
244
  * The uri on your background you are trying to hit.
@@ -510,62 +295,8 @@ export declare class OpenapiSpecSession<OpenapiPaths> {
510
295
  * @param opts.headers - headers you would like to send with your request.
511
296
  * (Optional)
512
297
  */
513
- opts: Params['length'] extends 0 ? never : OpenapiSpecRequestOptsPost<RequestBodyJsonContent> & {
298
+ opts?: Params['length'] extends 0 ? OpenapiSpecRequestOptsPost<RequestBodyJsonContent> : OpenapiSpecRequestOptsPost<RequestBodyJsonContent> & {
514
299
  [K in Params[number]]: string | IdType;
515
300
  }): Promise<OpenapiSpecResponse<JsonContent>>;
516
- delete<const Uri extends RoutesWithHttpMethod<OpenapiPaths, 'delete' & keyof OpenapiPaths[keyof OpenapiPaths]> & string, const ResponseCode extends Params['length'] extends 0 ? keyof ExcludeNever<ResponseMap> & number : never, HttpMethodMap extends OpenapiPaths[Uri & keyof OpenapiPaths], Params extends string[] & ExtractOpenapiParams<Uri>, ResponseMap extends HttpMethodMap['delete' & keyof HttpMethodMap]['responses' & keyof HttpMethodMap['delete' & keyof HttpMethodMap]], Content extends ResponseMap extends undefined ? undefined : ResponseCode extends undefined ? undefined : ResponseCode extends number ? ResponseMap[ResponseCode & keyof ResponseMap]['content' & keyof ResponseMap[ResponseCode & keyof ResponseMap]] : undefined, JsonContent extends Content extends undefined ? undefined : Content['application/json' & keyof Content], RequestBodyMap extends HttpMethodMap['delete' & keyof HttpMethodMap]['requestBody' & keyof HttpMethodMap['delete' & keyof HttpMethodMap]], RequestBodyContent extends RequestBodyMap extends undefined ? undefined : RequestBodyMap['content' & keyof RequestBodyMap], RequestBodyJsonContent extends RequestBodyContent extends undefined ? undefined : RequestBodyContent['application/json' & keyof RequestBodyContent]>(
517
- /**
518
- * The uri on your background you are trying to hit.
519
- * This should be a path, like '/users'.
520
- *
521
- * ```ts
522
- * const request = new OpenapiSpecRequest<openapiPaths>()
523
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
524
- * const res = await session.delete('/user', 200)
525
- * ```
526
- */
527
- uri: Uri,
528
- /**
529
- * The response status you are expecting to receive
530
- * when making this request. It will need to match
531
- * one of the accepted response statuses for the
532
- * provided uri in your openapi types
533
- *
534
- * ```ts
535
- * const request = new OpenapiSpecRequest<openapiPaths>()
536
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
537
- * const res = await session.delete('/user', 200)
538
- * ```
539
- */
540
- expectedStatus: ResponseCode,
541
- /**
542
- * Data, headers, and other options to send with
543
- * your request.
544
- *
545
- * ```ts
546
- * const request = new OpenapiSpecRequest<openapiPaths>()
547
- * const session = await request.session('post', '/sessions/{token}', 200, { token: 'abc' })
548
- * const res = await session.delete(
549
- * '/user',
550
- * 200,
551
- * {
552
- * data: {
553
- * ...request body here
554
- * },
555
- * headers: {
556
- * ...headers here
557
- * },
558
- * }
559
- * )
560
- * ```
561
- *
562
- * @param opts.data - request body data you want to send up. Must match the
563
- * requestBody shape in the openapi document for this uri.
564
- * (Optional)
565
- *
566
- * @param opts.headers - headers you would like to send with your request.
567
- * (Optional)
568
- */
569
- opts?: Params['length'] extends 0 ? OpenapiSpecRequestOptsPost<RequestBodyJsonContent> : never): Promise<OpenapiSpecResponse<JsonContent>>;
570
301
  private makeRequest;
571
302
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@rvoh/psychic-spec-helpers",
4
- "version": "0.7.2",
4
+ "version": "0.7.3",
5
5
  "description": "psychic framework spec helpers",
6
6
  "author": "RVO Health",
7
7
  "repository": {