UNPKG

1.44 kBTypeScriptView Raw
1import type { TagToken } from '../common/token.js';
2import type { TreeAdapter, TreeAdapterTypeMap } from '../tree-adapters/interface.js';
3export declare enum EntryType {
4 Marker = 0,
5 Element = 1
6}
7interface MarkerEntry {
8 type: EntryType.Marker;
9}
10export interface ElementEntry<T extends TreeAdapterTypeMap> {
11 type: EntryType.Element;
12 element: T['element'];
13 token: TagToken;
14}
15export type Entry<T extends TreeAdapterTypeMap> = MarkerEntry | ElementEntry<T>;
16export declare class FormattingElementList<T extends TreeAdapterTypeMap> {
17 private treeAdapter;
18 entries: Entry<T>[];
19 bookmark: Entry<T> | null;
20 constructor(treeAdapter: TreeAdapter<T>);
21 private _getNoahArkConditionCandidates;
22 private _ensureNoahArkCondition;
23 insertMarker(): void;
24 pushElement(element: T['element'], token: TagToken): void;
25 insertElementAfterBookmark(element: T['element'], token: TagToken): void;
26 removeEntry(entry: Entry<T>): void;
27 /**
28 * Clears the list of formatting elements up to the last marker.
29 *
30 * @see https://html.spec.whatwg.org/multipage/parsing.html#clear-the-list-of-active-formatting-elements-up-to-the-last-marker
31 */
32 clearToLastMarker(): void;
33 getElementEntryInScopeWithTagName(tagName: string): ElementEntry<T> | null;
34 getElementEntry(element: T['element']): ElementEntry<T> | undefined;
35}
36export {};
37//# sourceMappingURL=formatting-element-list.d.ts.map
\No newline at end of file