Skip to content

Commit cf67135

Browse files
committed
Fix response type for items.listPagedIterator (and rawListPagedIterator)
1 parent 62c1aed commit cf67135

2 files changed

Lines changed: 110 additions & 0 deletions

File tree

generate/templates/resources/ResourceClass.ts.handlebars

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,34 @@ export default class {{{resourceClassName}}} extends BaseResource {
280280
* @throws {ApiError}
281281
* @throws {TimeoutError}
282282
*/
283+
{{#if offersNestedItemsOptionInQueryParams}}
284+
{{{name}}}PagedIterator{{#if returnsItem}}<D extends ItemTypeDefinition = ItemTypeDefinition>{{/if}}(
285+
{{#each urlPlaceholders}}
286+
{{{variableName}}}: string | ApiTypes.{{{relType}}},
287+
{{/each}}
288+
queryParams: Utils.OmitFromKnownKeys<ApiTypes.{{{queryParamsType}}}{{#if isItemInstances}}<D>{{/if}} & { nested: true }, 'page'>,
289+
iteratorOptions?: Utils.IteratorOptions,
290+
): AsyncGenerator<
291+
{{#if responseType}}
292+
ApiTypes.{{{responseType}}}{{#if returnsItem}}<NoInfer<D>, true>{{/if}}[0]
293+
{{else}}
294+
never
295+
{{/if}}
296+
>;
297+
{{{name}}}PagedIterator{{#if returnsItem}}<D extends ItemTypeDefinition = ItemTypeDefinition>{{/if}}(
298+
{{#each urlPlaceholders}}
299+
{{{variableName}}}: string | ApiTypes.{{{relType}}},
300+
{{/each}}
301+
queryParams{{#unless queryParamsRequired}}?{{/unless}}: Utils.OmitFromKnownKeys<ApiTypes.{{{queryParamsType}}}{{#if isItemInstances}}<D>{{/if}} & { nested?: false | undefined }, 'page'>,
302+
iteratorOptions?: Utils.IteratorOptions,
303+
): AsyncGenerator<
304+
{{#if responseType}}
305+
ApiTypes.{{{responseType}}}{{#if returnsItem}}<NoInfer<D>, false>{{/if}}[0]
306+
{{else}}
307+
never
308+
{{/if}}
309+
>;
310+
{{/if}}
283311
async *{{{name}}}PagedIterator{{#if returnsItem}}<D extends ItemTypeDefinition = ItemTypeDefinition>{{/if}}(
284312
{{#each urlPlaceholders}}
285313
{{{variableName}}}: string | ApiTypes.{{{relType}}},
@@ -311,6 +339,47 @@ export default class {{{resourceClassName}}} extends BaseResource {
311339
* @throws {ApiError}
312340
* @throws {TimeoutError}
313341
*/
342+
{{#if offersNestedItemsOptionInQueryParams}}
343+
{{{rawName}}}PagedIterator{{#if returnsItem}}<D extends ItemTypeDefinition = ItemTypeDefinition>{{/if}}(
344+
{{#each urlPlaceholders}}
345+
{{{variableName}}}: string,
346+
{{/each}}
347+
queryParams: Utils.OmitFromKnownKeys<RawApiTypes.{{{queryParamsType}}}{{#if isItemInstances}}<D>{{/if}} & { nested: true }, 'page'>,
348+
iteratorOptions?: Utils.IteratorOptions,
349+
): AsyncGenerator<
350+
{{#if responseType}}
351+
RawApiTypes.{{{responseType}}}{{#if returnsItem}}<NoInfer<D>, true>{{/if}}['data'][0]
352+
{{else}}
353+
never
354+
{{/if}}
355+
>;
356+
{{{rawName}}}PagedIterator{{#if returnsItem}}<D extends ItemTypeDefinition = ItemTypeDefinition>{{/if}}(
357+
{{#each urlPlaceholders}}
358+
{{{variableName}}}: string,
359+
{{/each}}
360+
queryParams{{#unless queryParamsRequired}}?{{/unless}}: Utils.OmitFromKnownKeys<RawApiTypes.{{{queryParamsType}}}{{#if isItemInstances}}<D>{{/if}} & { nested?: false | undefined }, 'page'>,
361+
iteratorOptions?: Utils.IteratorOptions,
362+
): AsyncGenerator<
363+
{{#if responseType}}
364+
RawApiTypes.{{{responseType}}}{{#if returnsItem}}<NoInfer<D>, false>{{/if}}['data'][0]
365+
{{else}}
366+
never
367+
{{/if}}
368+
>;
369+
{{{rawName}}}PagedIterator{{#if returnsItem}}<D extends ItemTypeDefinition = ItemTypeDefinition>{{/if}}(
370+
{{#each urlPlaceholders}}
371+
{{{variableName}}}: string,
372+
{{/each}}
373+
queryParams{{#unless queryParamsRequired}}?{{/unless}}: Utils.OmitFromKnownKeys<RawApiTypes.{{{queryParamsType}}}{{#if isItemInstances}}<D>{{/if}}, 'page'>,
374+
iteratorOptions?: Utils.IteratorOptions,
375+
): AsyncGenerator<
376+
{{#if responseType}}
377+
RawApiTypes.{{{responseType}}}{{#if returnsItem}}<NoInfer<D>, true>{{/if}}['data'][0]
378+
{{else}}
379+
never
380+
{{/if}}
381+
>;
382+
{{/if}}
314383
{{{rawName}}}PagedIterator{{#if returnsItem}}<D extends ItemTypeDefinition = ItemTypeDefinition>{{/if}}(
315384
{{#each urlPlaceholders}}
316385
{{{variableName}}}: string,

packages/cma-client/src/generated/resources/Item.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,20 @@ export default class Item extends BaseResource {
9090
* @throws {ApiError}
9191
* @throws {TimeoutError}
9292
*/
93+
listPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(
94+
queryParams: Utils.OmitFromKnownKeys<
95+
ApiTypes.ItemInstancesHrefSchema<D> & { nested: true },
96+
'page'
97+
>,
98+
iteratorOptions?: Utils.IteratorOptions,
99+
): AsyncGenerator<ApiTypes.ItemInstancesTargetSchema<NoInfer<D>, true>[0]>;
100+
listPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(
101+
queryParams?: Utils.OmitFromKnownKeys<
102+
ApiTypes.ItemInstancesHrefSchema<D> & { nested?: false | undefined },
103+
'page'
104+
>,
105+
iteratorOptions?: Utils.IteratorOptions,
106+
): AsyncGenerator<ApiTypes.ItemInstancesTargetSchema<NoInfer<D>, false>[0]>;
93107
async *listPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(
94108
queryParams?: Utils.OmitFromKnownKeys<
95109
ApiTypes.ItemInstancesHrefSchema<D>,
@@ -115,6 +129,33 @@ export default class Item extends BaseResource {
115129
* @throws {ApiError}
116130
* @throws {TimeoutError}
117131
*/
132+
rawListPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(
133+
queryParams: Utils.OmitFromKnownKeys<
134+
RawApiTypes.ItemInstancesHrefSchema<D> & { nested: true },
135+
'page'
136+
>,
137+
iteratorOptions?: Utils.IteratorOptions,
138+
): AsyncGenerator<
139+
RawApiTypes.ItemInstancesTargetSchema<NoInfer<D>, true>['data'][0]
140+
>;
141+
rawListPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(
142+
queryParams?: Utils.OmitFromKnownKeys<
143+
RawApiTypes.ItemInstancesHrefSchema<D> & { nested?: false | undefined },
144+
'page'
145+
>,
146+
iteratorOptions?: Utils.IteratorOptions,
147+
): AsyncGenerator<
148+
RawApiTypes.ItemInstancesTargetSchema<NoInfer<D>, false>['data'][0]
149+
>;
150+
rawListPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(
151+
queryParams?: Utils.OmitFromKnownKeys<
152+
RawApiTypes.ItemInstancesHrefSchema<D>,
153+
'page'
154+
>,
155+
iteratorOptions?: Utils.IteratorOptions,
156+
): AsyncGenerator<
157+
RawApiTypes.ItemInstancesTargetSchema<NoInfer<D>, true>['data'][0]
158+
>;
118159
rawListPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(
119160
queryParams?: Utils.OmitFromKnownKeys<
120161
RawApiTypes.ItemInstancesHrefSchema<D>,

0 commit comments

Comments
 (0)