- ✅ Ticket 1.1: Estructura Clean Architecture en backend - ✅ Ticket 1.2: Schemas Zod compartidos - ✅ Ticket 1.3: Refactorización drugs.ts (1362 → 8 archivos modulares) - ✅ Ticket 1.4: Refactorización procedures.ts (3583 → 6 archivos modulares) - ✅ Ticket 1.5: Eliminación de duplicidades (~50 líneas) Cambios principales: - Creada estructura Clean Architecture en backend/src/ - Schemas Zod compartidos en backend/src/shared/schemas/ - Refactorización modular de drugs y procedures - Utilidades genéricas en src/utils/ (filter, validation) - Eliminados scripts obsoletos y documentación antigua - Corregidos errores: QueryClient, import test-error-handling - Build verificado y funcionando correctamente
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 {};
|