/// /** * Single-use utility classes to provide functionality to the {@link Glob} * methods. * * @module */ import { Minipass } from 'minipass'; import { Path } from 'path-scurry'; import { IgnoreLike } from './ignore.js'; import { Pattern } from './pattern.js'; import { Processor } from './processor.js'; export interface GlobWalkerOpts { absolute?: boolean; allowWindowsEscape?: boolean; cwd?: string | URL; dot?: boolean; dotRelative?: boolean; follow?: boolean; ignore?: string | string[] | IgnoreLike; mark?: boolean; matchBase?: boolean; maxDepth?: number; nobrace?: boolean; nocase?: boolean; nodir?: boolean; noext?: boolean; noglobstar?: boolean; platform?: NodeJS.Platform; posix?: boolean; realpath?: boolean; root?: string; stat?: boolean; signal?: AbortSignal; windowsPathsNoEscape?: boolean; withFileTypes?: boolean; } export type GWOFileTypesTrue = GlobWalkerOpts & { withFileTypes: true; }; export type GWOFileTypesFalse = GlobWalkerOpts & { withFileTypes: false; }; export type GWOFileTypesUnset = GlobWalkerOpts & { withFileTypes?: undefined; }; export type Result = O extends GWOFileTypesTrue ? Path : O extends GWOFileTypesFalse ? string : O extends GWOFileTypesUnset ? string : Path | string; export type Matches = O extends GWOFileTypesTrue ? Set : O extends GWOFileTypesFalse ? Set : O extends GWOFileTypesUnset ? Set : Set; export type MatchStream = O extends GWOFileTypesTrue ? Minipass : O extends GWOFileTypesFalse ? Minipass : O extends GWOFileTypesUnset ? Minipass : Minipass; /** * basic walking utilities that all the glob walker types use */ export declare abstract class GlobUtil { #private; path: Path; patterns: Pattern[]; opts: O; seen: Set; paused: boolean; aborted: boolean; signal?: AbortSignal; maxDepth: number; constructor(patterns: Pattern[], path: Path, opts: O); pause(): void; resume(): void; onResume(fn: () => any): void; matchCheck(e: Path, ifDir: boolean): Promise; matchCheckTest(e: Path | undefined, ifDir: boolean): Path | undefined; matchCheckSync(e: Path, ifDir: boolean): Path | undefined; abstract matchEmit(p: Result): void; abstract matchEmit(p: string | Path): void; matchFinish(e: Path, absolute: boolean): void; match(e: Path, absolute: boolean, ifDir: boolean): Promise; matchSync(e: Path, absolute: boolean, ifDir: boolean): void; walkCB(target: Path, patterns: Pattern[], cb: () => any): void; walkCB2(target: Path, patterns: Pattern[], processor: Processor, cb: () => any): any; walkCB3(target: Path, entries: Path[], processor: Processor, cb: () => any): void; walkCBSync(target: Path, patterns: Pattern[], cb: () => any): void; walkCB2Sync(target: Path, patterns: Pattern[], processor: Processor, cb: () => any): any; walkCB3Sync(target: Path, entries: Path[], processor: Processor, cb: () => any): void; } export declare class GlobWalker extends GlobUtil { matches: O extends GWOFileTypesTrue ? Set : O extends GWOFileTypesFalse ? Set : O extends GWOFileTypesUnset ? Set : Set; constructor(patterns: Pattern[], path: Path, opts: O); matchEmit(e: Result): void; walk(): Promise>; walkSync(): Matches; } export declare class GlobStream extends GlobUtil { results: O extends GWOFileTypesTrue ? Minipass : O extends GWOFileTypesFalse ? Minipass : O extends GWOFileTypesUnset ? Minipass : Minipass; constructor(patterns: Pattern[], path: Path, opts: O); matchEmit(e: Result): void; stream(): MatchStream; streamSync(): MatchStream; } //# sourceMappingURL=walker.d.ts.map