pickit/mod.d.ts
2023-02-11 14:13:48 +03:00

35 lines
695 B
TypeScript

export type ReadStrategy =
| "tar"
| "targz"
| "github";
export type ReadPredicate = (
entry: ConfigEntry,
) => AsyncGenerator<Deno.Reader | Deno.Reader & FileMeta>;
export type GlobLike = string | RegExp;
export interface ConfigEntry {
strategy?: ReadStrategy;
read?: ReadPredicate;
source: string;
output: string;
pick: GlobLike[];
}
export type PickConfig = ConfigEntry[];
export interface FileMeta extends Deno.Reader {
fileName?: string;
}
export interface ReadableEntry extends ConfigEntry {
read: () => AsyncGenerator<FileMeta>;
}
export type PathLike = string | URL;
export interface GithubPickOptions {
repo: string;
version: string;
pick: RegExp[];
}