- ✅ 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
37 lines
1.4 KiB
TypeScript
37 lines
1.4 KiB
TypeScript
import type { TagToken } from '../common/token.js';
|
|
import type { TreeAdapter, TreeAdapterTypeMap } from '../tree-adapters/interface.js';
|
|
export declare enum EntryType {
|
|
Marker = 0,
|
|
Element = 1
|
|
}
|
|
interface MarkerEntry {
|
|
type: EntryType.Marker;
|
|
}
|
|
export interface ElementEntry<T extends TreeAdapterTypeMap> {
|
|
type: EntryType.Element;
|
|
element: T['element'];
|
|
token: TagToken;
|
|
}
|
|
export type Entry<T extends TreeAdapterTypeMap> = MarkerEntry | ElementEntry<T>;
|
|
export declare class FormattingElementList<T extends TreeAdapterTypeMap> {
|
|
private treeAdapter;
|
|
entries: Entry<T>[];
|
|
bookmark: Entry<T> | null;
|
|
constructor(treeAdapter: TreeAdapter<T>);
|
|
private _getNoahArkConditionCandidates;
|
|
private _ensureNoahArkCondition;
|
|
insertMarker(): void;
|
|
pushElement(element: T['element'], token: TagToken): void;
|
|
insertElementAfterBookmark(element: T['element'], token: TagToken): void;
|
|
removeEntry(entry: Entry<T>): void;
|
|
/**
|
|
* Clears the list of formatting elements up to the last marker.
|
|
*
|
|
* @see https://html.spec.whatwg.org/multipage/parsing.html#clear-the-list-of-active-formatting-elements-up-to-the-last-marker
|
|
*/
|
|
clearToLastMarker(): void;
|
|
getElementEntryInScopeWithTagName(tagName: string): ElementEntry<T> | null;
|
|
getElementEntry(element: T['element']): ElementEntry<T> | undefined;
|
|
}
|
|
export {};
|