UNPKG

@in-browser/fdir

Version:

The fastest directory crawler & globbing alternative to glob, fast-glob, & tiny-glob. Crawls 1m files in < 1s

43 lines (42 loc) 1.86 kB
import { Output, OnlyCountsOutput, GroupOutput, PathsOutput, Options, FilterPredicate, ExcludePredicate, GlobParams, FileSystemInterface } from "../types"; import { APIBuilder } from "./api-builder"; import pm from "picomatch"; export declare class Builder<TReturnType extends Output = PathsOutput, TGlobFunction = typeof pm> { private readonly globCache; private options; private globFunction?; constructor(options: Partial<Options<TGlobFunction>> & { fileSystem: FileSystemInterface; }); group(): Builder<GroupOutput, TGlobFunction>; withPathSeparator(separator: "/" | "\\"): this; withBasePath(): this; withRelativePaths(): this; withDirs(): this; withMaxDepth(depth: number): this; withMaxFiles(limit: number): this; withFullPaths(): this; withErrors(): this; withSymlinks({ resolvePaths }?: { resolvePaths?: boolean | undefined; }): this; withAbortSignal(signal: AbortSignal): this; normalize(): this; filter(predicate: FilterPredicate): this; onlyDirs(): this; exclude(predicate: ExcludePredicate): this; onlyCounts(): Builder<OnlyCountsOutput, TGlobFunction>; crawl(root?: string): APIBuilder<TReturnType>; withGlobFunction<TFunc>(fn: TFunc): Builder<TReturnType, TFunc>; /** * @deprecated Pass options using the constructor instead: * ```ts * new fdir(options).crawl("/path/to/root"); * ``` * This method will be removed in v7.0 */ crawlWithOptions(root: string, options: Partial<Options<TGlobFunction>>): APIBuilder<TReturnType>; glob(...patterns: string[]): Builder<TReturnType, TGlobFunction>; globWithOptions(patterns: string[]): Builder<TReturnType, TGlobFunction>; globWithOptions(patterns: string[], ...options: GlobParams<TGlobFunction>): Builder<TReturnType, TGlobFunction>; }