59 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { MMRegExp } from 'minimatch';
 | 
						|
import { Path } from 'path-scurry';
 | 
						|
import { Pattern } from './pattern.js';
 | 
						|
import { GlobWalkerOpts } from './walker.js';
 | 
						|
/**
 | 
						|
 * A cache of which patterns have been processed for a given Path
 | 
						|
 */
 | 
						|
export declare class HasWalkedCache {
 | 
						|
    store: Map<string, Set<string>>;
 | 
						|
    constructor(store?: Map<string, Set<string>>);
 | 
						|
    copy(): HasWalkedCache;
 | 
						|
    hasWalked(target: Path, pattern: Pattern): boolean | undefined;
 | 
						|
    storeWalked(target: Path, pattern: Pattern): void;
 | 
						|
}
 | 
						|
/**
 | 
						|
 * A record of which paths have been matched in a given walk step,
 | 
						|
 * and whether they only are considered a match if they are a directory,
 | 
						|
 * and whether their absolute or relative path should be returned.
 | 
						|
 */
 | 
						|
export declare class MatchRecord {
 | 
						|
    store: Map<Path, number>;
 | 
						|
    add(target: Path, absolute: boolean, ifDir: boolean): void;
 | 
						|
    entries(): [Path, boolean, boolean][];
 | 
						|
}
 | 
						|
/**
 | 
						|
 * A collection of patterns that must be processed in a subsequent step
 | 
						|
 * for a given path.
 | 
						|
 */
 | 
						|
export declare class SubWalks {
 | 
						|
    store: Map<Path, Pattern[]>;
 | 
						|
    add(target: Path, pattern: Pattern): void;
 | 
						|
    get(target: Path): Pattern[];
 | 
						|
    entries(): [Path, Pattern[]][];
 | 
						|
    keys(): Path[];
 | 
						|
}
 | 
						|
/**
 | 
						|
 * The class that processes patterns for a given path.
 | 
						|
 *
 | 
						|
 * Handles child entry filtering, and determining whether a path's
 | 
						|
 * directory contents must be read.
 | 
						|
 */
 | 
						|
export declare class Processor {
 | 
						|
    hasWalkedCache: HasWalkedCache;
 | 
						|
    matches: MatchRecord;
 | 
						|
    subwalks: SubWalks;
 | 
						|
    patterns?: Pattern[];
 | 
						|
    follow: boolean;
 | 
						|
    dot: boolean;
 | 
						|
    opts: GlobWalkerOpts;
 | 
						|
    constructor(opts: GlobWalkerOpts, hasWalkedCache?: HasWalkedCache);
 | 
						|
    processPatterns(target: Path, patterns: Pattern[]): this;
 | 
						|
    subwalkTargets(): Path[];
 | 
						|
    child(): Processor;
 | 
						|
    filterEntries(parent: Path, entries: Path[]): Processor;
 | 
						|
    testGlobstar(e: Path, pattern: Pattern, rest: Pattern | null, absolute: boolean): void;
 | 
						|
    testRegExp(e: Path, p: MMRegExp, rest: Pattern | null, absolute: boolean): void;
 | 
						|
    testString(e: Path, p: string, rest: Pattern | null, absolute: boolean): void;
 | 
						|
}
 | 
						|
//# sourceMappingURL=processor.d.ts.map
 |