@foxpage/foxpage-manager
Version:
foxpage resource manager
64 lines (63 loc) • 1.35 kB
TypeScript
import { AxiosRequestConfig } from 'axios';
import { Messages, Option } from '@foxpage/foxpage-shared';
import { PackageSource } from '@foxpage/foxpage-types';
/**
* fetch result
*
* @export
* @interface FetchResult
*/
export interface FetchResult {
content: string;
}
/**
* package fetch option
*
* @export
* @interface PackageFetcherOption
*/
export interface PackageFetcherOption {
maxRetryTime?: number;
downloadTimeout?: number;
requestOpt?: Partial<AxiosRequestConfig>;
}
/**
* package fetcher
*
* @export
* @class PackageFetcher
*/
export declare class PackageFetcher {
/**
* retry times
*
* @type {number}
*/
retryCount: number;
/**
* fetch result
*
* @type {FetchResult}
*/
result?: FetchResult | undefined;
/**
* package resource
*
* @type {PackageSource}
*/
readonly resource: PackageSource;
/**
* messages for package fetcher
*
* @type {Messages}
*/
readonly messages: Messages;
readonly option: PackageFetcherOption & Required<Pick<PackageFetcherOption, 'maxRetryTime'>>;
constructor(source: PackageSource, option?: PackageFetcherOption);
/**
* fetch package code
*
* @return {*} {Promise<Option<FetchResult>>}
*/
fetch(): Promise<Option<FetchResult>>;
}