Skip to content
This repository was archived by the owner on Mar 24, 2022. It is now read-only.

Commit fe68cf6

Browse files
committed
refactor: Remove FormattingElemList statics
1 parent ff5fac8 commit fe68cf6

File tree

3 files changed

+12
-17
lines changed

3 files changed

+12
-17
lines changed

packages/parse5/lib/parser/formatting-element-list.test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as assert from 'assert';
22
import { TAG_NAMES as $, NAMESPACES as NS } from '../common/html.js';
33
import { TagToken, TokenType } from '../common/token.js';
4-
import { FormattingElementList } from './formatting-element-list.js';
4+
import { FormattingElementList, EntryType } from './formatting-element-list.js';
55
import { generateTestsForEachTreeAdapter } from '../../../../test/utils/common.js';
66

77
generateTestsForEachTreeAdapter('FormattingElementList', (treeAdapter) => {
@@ -20,11 +20,11 @@ generateTestsForEachTreeAdapter('FormattingElementList', (treeAdapter) => {
2020

2121
list.insertMarker();
2222
assert.strictEqual(list.entries.length, 1);
23-
assert.strictEqual(list.entries[0].type, FormattingElementList.MARKER_ENTRY);
23+
assert.strictEqual(list.entries[0].type, EntryType.Marker);
2424

2525
list.insertMarker();
2626
assert.strictEqual(list.entries.length, 2);
27-
assert.strictEqual(list.entries[0].type, FormattingElementList.MARKER_ENTRY);
27+
assert.strictEqual(list.entries[0].type, EntryType.Marker);
2828
});
2929

3030
test('Push element', () => {
@@ -36,13 +36,13 @@ generateTestsForEachTreeAdapter('FormattingElementList', (treeAdapter) => {
3636

3737
list.pushElement(element1, element1Token);
3838
assert.strictEqual(list.entries.length, 1);
39-
assert.strictEqual(list.entries[0].type, FormattingElementList.ELEMENT_ENTRY);
39+
assert.strictEqual(list.entries[0].type, EntryType.Element as const);
4040
assert.strictEqual(list.entries[0].element, element1);
4141
assert.strictEqual(list.entries[0].token, element1Token);
4242

4343
list.pushElement(element2, element2Token);
4444
assert.strictEqual(list.entries.length, 2);
45-
assert.strictEqual(list.entries[0].type, FormattingElementList.ELEMENT_ENTRY);
45+
assert.strictEqual(list.entries[0].type, EntryType.Element);
4646
assert.strictEqual(list.entries[0].element, element2);
4747
assert.strictEqual(list.entries[0].token, element2Token);
4848
});
@@ -113,7 +113,7 @@ generateTestsForEachTreeAdapter('FormattingElementList', (treeAdapter) => {
113113
expect(list.entries[4]).toHaveProperty('token', token3);
114114
expect(list.entries[3]).toHaveProperty('token', token4);
115115
expect(list.entries[2]).toHaveProperty('token', token5);
116-
expect(list.entries[1]).toHaveProperty('type', FormattingElementList.MARKER_ENTRY);
116+
expect(list.entries[1]).toHaveProperty('type', EntryType.Marker);
117117
expect(list.entries[0]).toHaveProperty('token', token6);
118118
});
119119

@@ -201,7 +201,7 @@ generateTestsForEachTreeAdapter('FormattingElementList', (treeAdapter) => {
201201

202202
const entry = list.getElementEntry(element1)!;
203203

204-
assert.strictEqual(entry.type, FormattingElementList.ELEMENT_ENTRY);
204+
assert.strictEqual(entry.type, EntryType.Element);
205205
assert.strictEqual(entry.token, token);
206206
assert.strictEqual(entry.element, element1);
207207
});

packages/parse5/lib/parser/formatting-element-list.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import type { TreeAdapter, TreeAdapterTypeMap } from '../tree-adapters/interface
44
//Const
55
const NOAH_ARK_CAPACITY = 3;
66

7-
enum EntryType {
8-
Marker = 'MARKER_ENTRY',
9-
Element = 'ELEMENT_ENTRY',
7+
export enum EntryType {
8+
Marker,
9+
Element,
1010
}
1111

1212
interface MarkerEntry {
@@ -141,8 +141,4 @@ export class FormattingElementList<T extends TreeAdapterTypeMap> {
141141
(entry) => entry.type === EntryType.Element && entry.element === element
142142
) as ElementEntry<T> | null;
143143
}
144-
145-
//Entry types
146-
static MARKER_ENTRY = EntryType.Marker as const;
147-
static ELEMENT_ENTRY = EntryType.Element as const;
148144
}

packages/parse5/lib/parser/index.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Tokenizer, TokenizerMode } from '../tokenizer/index.js';
22
import { OpenElementStack } from './open-element-stack.js';
3-
import { FormattingElementList, ElementEntry } from './formatting-element-list.js';
3+
import { FormattingElementList, ElementEntry, EntryType } from './formatting-element-list.js';
44
import { LocationInfoParserMixin } from '../extensions/location-info/parser-mixin.js';
55
import { ErrorReportingParserMixin } from '../extensions/error-reporting/parser-mixin.js';
66
import { Mixin } from '../utils/mixin.js';
@@ -582,8 +582,7 @@ export class Parser<T extends TreeAdapterTypeMap> {
582582

583583
if (listLength) {
584584
const endIndex = this.activeFormattingElements.entries.findIndex(
585-
(entry) =>
586-
entry.type === FormattingElementList.MARKER_ENTRY || this.openElements.contains(entry.element)
585+
(entry) => entry.type === EntryType.Marker || this.openElements.contains(entry.element)
587586
);
588587

589588
const unopenIdx = endIndex < 0 ? listLength - 1 : endIndex - 1;

0 commit comments

Comments
 (0)