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 {};
 | 
