31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
/// <reference types="node" />
 | 
						|
import { EventEmitter } from 'events';
 | 
						|
import * as fsScandir from '@nodelib/fs.scandir';
 | 
						|
import type Settings from '../settings';
 | 
						|
import type { Entry, Errno } from '../types';
 | 
						|
import Reader from './reader';
 | 
						|
declare type EntryEventCallback = (entry: Entry) => void;
 | 
						|
declare type ErrorEventCallback = (error: Errno) => void;
 | 
						|
declare type EndEventCallback = () => void;
 | 
						|
export default class AsyncReader extends Reader {
 | 
						|
    protected readonly _settings: Settings;
 | 
						|
    protected readonly _scandir: typeof fsScandir.scandir;
 | 
						|
    protected readonly _emitter: EventEmitter;
 | 
						|
    private readonly _queue;
 | 
						|
    private _isFatalError;
 | 
						|
    private _isDestroyed;
 | 
						|
    constructor(_root: string, _settings: Settings);
 | 
						|
    read(): EventEmitter;
 | 
						|
    get isDestroyed(): boolean;
 | 
						|
    destroy(): void;
 | 
						|
    onEntry(callback: EntryEventCallback): void;
 | 
						|
    onError(callback: ErrorEventCallback): void;
 | 
						|
    onEnd(callback: EndEventCallback): void;
 | 
						|
    private _pushToQueue;
 | 
						|
    private _worker;
 | 
						|
    private _handleError;
 | 
						|
    private _handleEntry;
 | 
						|
    private _emitEntry;
 | 
						|
}
 | 
						|
export {};
 |