UNPKG

comic-vine-sdk

Version:

A JS/TS client for the Comic Vine API

20 lines (19 loc) 1.06 kB
import { ResourceType } from './resource-type.js'; import type { RetrieveOptions, ListOptions, HttpClient, UrlBuilder, PickFilters } from '../types/index.js'; export declare abstract class BaseResource<Resource, ResourceListItem> { private httpClient; private urlBuilder; protected abstract resourceType: ResourceType; constructor(httpClient: HttpClient, urlBuilder: UrlBuilder); retrieve<FieldKey extends keyof Resource>(id: number, options?: RetrieveOptions<FieldKey>): Promise<Resource | Pick<Resource, FieldKey>>; private fetchPage; list<FieldKey extends keyof ResourceListItem>(options?: ListOptions<FieldKey, PickFilters<ResourceListItem>>): Promise<{ limit: number; numberOfPageResults: number; numberOfTotalResults: number; offset: number; data: (ResourceListItem | Pick<ResourceListItem, keyof ResourceListItem>)[]; }> & { [Symbol.asyncIterator](): AsyncGenerator<Awaited<ResourceListItem> | Awaited<Pick<ResourceListItem, keyof ResourceListItem>>, void, unknown>; }; }