Provider.d.ts 1.5 KB

12345678910111213141516171819202122
  1. /// <reference types="node" />
  2. import { CancellationToken, HttpExecutor, UpdateFileInfo, UpdateInfo } from "builder-util-runtime";
  3. import { OutgoingHttpHeaders, RequestOptions } from "http";
  4. import { URL } from "url";
  5. import { ResolvedUpdateFileInfo } from "./main";
  6. export declare abstract class Provider<T extends UpdateInfo> {
  7. protected readonly executor: HttpExecutor<any>;
  8. readonly useMultipleRangeRequest: boolean;
  9. protected requestHeaders: OutgoingHttpHeaders | null;
  10. protected constructor(executor: HttpExecutor<any>, useMultipleRangeRequest?: boolean);
  11. readonly fileExtraDownloadHeaders: OutgoingHttpHeaders | null;
  12. setRequestHeaders(value: OutgoingHttpHeaders | null): void;
  13. abstract getLatestVersion(): Promise<T>;
  14. abstract resolveFiles(updateInfo: UpdateInfo): Array<ResolvedUpdateFileInfo>;
  15. httpRequest(url: URL, headers?: OutgoingHttpHeaders | null, cancellationToken?: CancellationToken): Promise<string | null>;
  16. protected createRequestOptions(url: URL, headers?: OutgoingHttpHeaders | null): RequestOptions;
  17. }
  18. export declare function findFile(files: Array<ResolvedUpdateFileInfo>, extension: string, not?: Array<string>): ResolvedUpdateFileInfo | null | undefined;
  19. export declare function parseUpdateInfo(rawData: string | null, channelFile: string, channelFileUrl: URL): UpdateInfo;
  20. export declare function getFileList(updateInfo: UpdateInfo): Array<UpdateFileInfo>;
  21. export declare function resolveFiles(updateInfo: UpdateInfo, baseUrl: URL, pathTransformer?: (p: string) => string): Array<ResolvedUpdateFileInfo>;