UNPKG

renovate

Version:

Automated dependency updates. Flexible so you don't need to be.

54 lines (53 loc) 2.33 kB
import { GraphqlOptions, HttpMethod, HttpOptions, HttpResponse } from "./types.js"; import { HttpBase, InternalHttpOptions, InternalJsonUnsafeOptions } from "./http.js"; import { GotLegacyError } from "./legacy.js"; //#region lib/util/http/github.d.ts declare const setBaseUrl: (url: string) => void; interface GithubBaseHttpOptions extends HttpOptions { repository?: string; } interface GithubHttpOptions extends GithubBaseHttpOptions { paginate?: boolean | string; paginationField?: string; pageLimit?: number; } type GithubGraphqlResponse<T = unknown> = { data: T; errors?: never; } | { data?: never; errors: { type?: string; message: string; }[]; }; interface GraphqlPageCacheItem { pageLastResizedAt: string; pageSize: number; } type GraphqlPageCache = Record<string, GraphqlPageCacheItem>; declare class GithubHttp extends HttpBase<GithubHttpOptions> { protected get baseUrl(): string | undefined; constructor(hostType?: string, options?: HttpOptions); protected extraOptions(): readonly string[]; protected processOptions(url: URL, opts: InternalHttpOptions & GithubBaseHttpOptions): void; protected handleError(url: string | URL, opts: HttpOptions, err: GotLegacyError): never; protected requestJsonUnsafe<T>(method: HttpMethod, options: InternalJsonUnsafeOptions<GithubHttpOptions>): Promise<HttpResponse<T>>; requestGraphql<T = unknown>(query: string, options?: GraphqlOptions): Promise<GithubGraphqlResponse<T> | null>; queryRepoField<T = Record<string, unknown>>(query: string, fieldName: string, options?: GraphqlOptions): Promise<T[]>; /** * Get the raw text file from a URL. * Only use this method to fetch text files. * * @param url Full API URL, contents path or path inside the repository to the file * @param options * * @example url = 'https://api.github.com/repos/renovatebot/renovate/contents/package.json' * @example url = 'renovatebot/renovate/contents/package.json' * @example url = 'package.json' & options.repository = 'renovatebot/renovate' */ getRawTextFile(url: string, options?: InternalHttpOptions & GithubBaseHttpOptions): Promise<HttpResponse>; } //#endregion export { GithubBaseHttpOptions, GithubGraphqlResponse, GithubHttp, GithubHttpOptions, GraphqlPageCache, setBaseUrl }; //# sourceMappingURL=github.d.ts.map