@altostra/core
Version:
Core library for shared types and logic
15 lines (14 loc) • 948 B
TypeScript
import type { Logger } from "../common/Logging";
import type { AxiosError } from 'axios';
import type { NonEmptyString } from "../common/CustomTypes/NonEmptyString";
import type { ListFilesOptions } from "./Types";
export interface CreateErrorHandlerOptions<THostError> {
provider: string;
hostErrorMapping: (err: AxiosError) => THostError;
userErrorMapping?: (err: AxiosError) => unknown;
logger?: Logger;
}
export declare function createErrorHandler<THostError>({ provider, hostErrorMapping, userErrorMapping, logger, }: CreateErrorHandlerOptions<THostError>): (err: unknown) => unknown;
export declare function normalizeExtFilter(filter: ListFilesOptions['extFilter']): string[];
export declare function isHostedRepository(urlRXs: readonly RegExp[], repositoryUrl: string): boolean;
export declare function getRepositoryNameFromUrl(urlRXs: readonly RegExp[], repoNameRxGroupIndex: number, repositoryUrl: string): NonEmptyString;