All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.dist.commonjs.walker.d.ts Maven / Gradle / Ivy

/// 
/**
 * 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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy