parse5 2.2.2 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,266 +1,272 @@
1
- 'use strict';
2
-
3
- var NS = exports.NAMESPACES = {
4
- HTML: 'http://www.w3.org/1999/xhtml',
5
- MATHML: 'http://www.w3.org/1998/Math/MathML',
6
- SVG: 'http://www.w3.org/2000/svg',
7
- XLINK: 'http://www.w3.org/1999/xlink',
8
- XML: 'http://www.w3.org/XML/1998/namespace',
9
- XMLNS: 'http://www.w3.org/2000/xmlns/'
10
- };
11
-
12
- exports.ATTRS = {
13
- TYPE: 'type',
14
- ACTION: 'action',
15
- ENCODING: 'encoding',
16
- PROMPT: 'prompt',
17
- NAME: 'name',
18
- COLOR: 'color',
19
- FACE: 'face',
20
- SIZE: 'size'
21
- };
22
-
23
- var $ = exports.TAG_NAMES = {
24
- A: 'a',
25
- ADDRESS: 'address',
26
- ANNOTATION_XML: 'annotation-xml',
27
- APPLET: 'applet',
28
- AREA: 'area',
29
- ARTICLE: 'article',
30
- ASIDE: 'aside',
31
-
32
- B: 'b',
33
- BASE: 'base',
34
- BASEFONT: 'basefont',
35
- BGSOUND: 'bgsound',
36
- BIG: 'big',
37
- BLOCKQUOTE: 'blockquote',
38
- BODY: 'body',
39
- BR: 'br',
40
- BUTTON: 'button',
41
-
42
- CAPTION: 'caption',
43
- CENTER: 'center',
44
- CODE: 'code',
45
- COL: 'col',
46
- COLGROUP: 'colgroup',
47
-
48
- DD: 'dd',
49
- DESC: 'desc',
50
- DETAILS: 'details',
51
- DIALOG: 'dialog',
52
- DIR: 'dir',
53
- DIV: 'div',
54
- DL: 'dl',
55
- DT: 'dt',
56
-
57
- EM: 'em',
58
- EMBED: 'embed',
59
-
60
- FIELDSET: 'fieldset',
61
- FIGCAPTION: 'figcaption',
62
- FIGURE: 'figure',
63
- FONT: 'font',
64
- FOOTER: 'footer',
65
- FOREIGN_OBJECT: 'foreignObject',
66
- FORM: 'form',
67
- FRAME: 'frame',
68
- FRAMESET: 'frameset',
69
-
70
- H1: 'h1',
71
- H2: 'h2',
72
- H3: 'h3',
73
- H4: 'h4',
74
- H5: 'h5',
75
- H6: 'h6',
76
- HEAD: 'head',
77
- HEADER: 'header',
78
- HGROUP: 'hgroup',
79
- HR: 'hr',
80
- HTML: 'html',
81
-
82
- I: 'i',
83
- IMG: 'img',
84
- IMAGE: 'image',
85
- INPUT: 'input',
86
- IFRAME: 'iframe',
87
-
88
- KEYGEN: 'keygen',
89
-
90
- LABEL: 'label',
91
- LI: 'li',
92
- LINK: 'link',
93
- LISTING: 'listing',
94
-
95
- MAIN: 'main',
96
- MALIGNMARK: 'malignmark',
97
- MARQUEE: 'marquee',
98
- MATH: 'math',
99
- MENU: 'menu',
100
- MENUITEM: 'menuitem',
101
- META: 'meta',
102
- MGLYPH: 'mglyph',
103
- MI: 'mi',
104
- MO: 'mo',
105
- MN: 'mn',
106
- MS: 'ms',
107
- MTEXT: 'mtext',
108
-
109
- NAV: 'nav',
110
- NOBR: 'nobr',
111
- NOFRAMES: 'noframes',
112
- NOEMBED: 'noembed',
113
- NOSCRIPT: 'noscript',
114
-
115
- OBJECT: 'object',
116
- OL: 'ol',
117
- OPTGROUP: 'optgroup',
118
- OPTION: 'option',
119
-
120
- P: 'p',
121
- PARAM: 'param',
122
- PLAINTEXT: 'plaintext',
123
- PRE: 'pre',
124
-
125
- RB: 'rb',
126
- RP: 'rp',
127
- RT: 'rt',
128
- RTC: 'rtc',
129
- RUBY: 'ruby',
130
-
131
- S: 's',
132
- SCRIPT: 'script',
133
- SECTION: 'section',
134
- SELECT: 'select',
135
- SOURCE: 'source',
136
- SMALL: 'small',
137
- SPAN: 'span',
138
- STRIKE: 'strike',
139
- STRONG: 'strong',
140
- STYLE: 'style',
141
- SUB: 'sub',
142
- SUMMARY: 'summary',
143
- SUP: 'sup',
144
-
145
- TABLE: 'table',
146
- TBODY: 'tbody',
147
- TEMPLATE: 'template',
148
- TEXTAREA: 'textarea',
149
- TFOOT: 'tfoot',
150
- TD: 'td',
151
- TH: 'th',
152
- THEAD: 'thead',
153
- TITLE: 'title',
154
- TR: 'tr',
155
- TRACK: 'track',
156
- TT: 'tt',
157
-
158
- U: 'u',
159
- UL: 'ul',
160
-
161
- SVG: 'svg',
162
-
163
- VAR: 'var',
164
-
165
- WBR: 'wbr',
166
-
167
- XMP: 'xmp'
168
- };
169
-
170
- var SPECIAL_ELEMENTS = exports.SPECIAL_ELEMENTS = {};
171
-
172
- SPECIAL_ELEMENTS[NS.HTML] = {};
173
- SPECIAL_ELEMENTS[NS.HTML][$.ADDRESS] = true;
174
- SPECIAL_ELEMENTS[NS.HTML][$.APPLET] = true;
175
- SPECIAL_ELEMENTS[NS.HTML][$.AREA] = true;
176
- SPECIAL_ELEMENTS[NS.HTML][$.ARTICLE] = true;
177
- SPECIAL_ELEMENTS[NS.HTML][$.ASIDE] = true;
178
- SPECIAL_ELEMENTS[NS.HTML][$.BASE] = true;
179
- SPECIAL_ELEMENTS[NS.HTML][$.BASEFONT] = true;
180
- SPECIAL_ELEMENTS[NS.HTML][$.BGSOUND] = true;
181
- SPECIAL_ELEMENTS[NS.HTML][$.BLOCKQUOTE] = true;
182
- SPECIAL_ELEMENTS[NS.HTML][$.BODY] = true;
183
- SPECIAL_ELEMENTS[NS.HTML][$.BR] = true;
184
- SPECIAL_ELEMENTS[NS.HTML][$.BUTTON] = true;
185
- SPECIAL_ELEMENTS[NS.HTML][$.CAPTION] = true;
186
- SPECIAL_ELEMENTS[NS.HTML][$.CENTER] = true;
187
- SPECIAL_ELEMENTS[NS.HTML][$.COL] = true;
188
- SPECIAL_ELEMENTS[NS.HTML][$.COLGROUP] = true;
189
- SPECIAL_ELEMENTS[NS.HTML][$.DD] = true;
190
- SPECIAL_ELEMENTS[NS.HTML][$.DETAILS] = true;
191
- SPECIAL_ELEMENTS[NS.HTML][$.DIR] = true;
192
- SPECIAL_ELEMENTS[NS.HTML][$.DIV] = true;
193
- SPECIAL_ELEMENTS[NS.HTML][$.DL] = true;
194
- SPECIAL_ELEMENTS[NS.HTML][$.DT] = true;
195
- SPECIAL_ELEMENTS[NS.HTML][$.EMBED] = true;
196
- SPECIAL_ELEMENTS[NS.HTML][$.FIELDSET] = true;
197
- SPECIAL_ELEMENTS[NS.HTML][$.FIGCAPTION] = true;
198
- SPECIAL_ELEMENTS[NS.HTML][$.FIGURE] = true;
199
- SPECIAL_ELEMENTS[NS.HTML][$.FOOTER] = true;
200
- SPECIAL_ELEMENTS[NS.HTML][$.FORM] = true;
201
- SPECIAL_ELEMENTS[NS.HTML][$.FRAME] = true;
202
- SPECIAL_ELEMENTS[NS.HTML][$.FRAMESET] = true;
203
- SPECIAL_ELEMENTS[NS.HTML][$.H1] = true;
204
- SPECIAL_ELEMENTS[NS.HTML][$.H2] = true;
205
- SPECIAL_ELEMENTS[NS.HTML][$.H3] = true;
206
- SPECIAL_ELEMENTS[NS.HTML][$.H4] = true;
207
- SPECIAL_ELEMENTS[NS.HTML][$.H5] = true;
208
- SPECIAL_ELEMENTS[NS.HTML][$.H6] = true;
209
- SPECIAL_ELEMENTS[NS.HTML][$.HEAD] = true;
210
- SPECIAL_ELEMENTS[NS.HTML][$.HEADER] = true;
211
- SPECIAL_ELEMENTS[NS.HTML][$.HGROUP] = true;
212
- SPECIAL_ELEMENTS[NS.HTML][$.HR] = true;
213
- SPECIAL_ELEMENTS[NS.HTML][$.HTML] = true;
214
- SPECIAL_ELEMENTS[NS.HTML][$.IFRAME] = true;
215
- SPECIAL_ELEMENTS[NS.HTML][$.IMG] = true;
216
- SPECIAL_ELEMENTS[NS.HTML][$.INPUT] = true;
217
- SPECIAL_ELEMENTS[NS.HTML][$.LI] = true;
218
- SPECIAL_ELEMENTS[NS.HTML][$.LINK] = true;
219
- SPECIAL_ELEMENTS[NS.HTML][$.LISTING] = true;
220
- SPECIAL_ELEMENTS[NS.HTML][$.MAIN] = true;
221
- SPECIAL_ELEMENTS[NS.HTML][$.MARQUEE] = true;
222
- SPECIAL_ELEMENTS[NS.HTML][$.MENU] = true;
223
- SPECIAL_ELEMENTS[NS.HTML][$.META] = true;
224
- SPECIAL_ELEMENTS[NS.HTML][$.NAV] = true;
225
- SPECIAL_ELEMENTS[NS.HTML][$.NOEMBED] = true;
226
- SPECIAL_ELEMENTS[NS.HTML][$.NOFRAMES] = true;
227
- SPECIAL_ELEMENTS[NS.HTML][$.NOSCRIPT] = true;
228
- SPECIAL_ELEMENTS[NS.HTML][$.OBJECT] = true;
229
- SPECIAL_ELEMENTS[NS.HTML][$.OL] = true;
230
- SPECIAL_ELEMENTS[NS.HTML][$.P] = true;
231
- SPECIAL_ELEMENTS[NS.HTML][$.PARAM] = true;
232
- SPECIAL_ELEMENTS[NS.HTML][$.PLAINTEXT] = true;
233
- SPECIAL_ELEMENTS[NS.HTML][$.PRE] = true;
234
- SPECIAL_ELEMENTS[NS.HTML][$.SCRIPT] = true;
235
- SPECIAL_ELEMENTS[NS.HTML][$.SECTION] = true;
236
- SPECIAL_ELEMENTS[NS.HTML][$.SELECT] = true;
237
- SPECIAL_ELEMENTS[NS.HTML][$.SOURCE] = true;
238
- SPECIAL_ELEMENTS[NS.HTML][$.STYLE] = true;
239
- SPECIAL_ELEMENTS[NS.HTML][$.SUMMARY] = true;
240
- SPECIAL_ELEMENTS[NS.HTML][$.TABLE] = true;
241
- SPECIAL_ELEMENTS[NS.HTML][$.TBODY] = true;
242
- SPECIAL_ELEMENTS[NS.HTML][$.TD] = true;
243
- SPECIAL_ELEMENTS[NS.HTML][$.TEMPLATE] = true;
244
- SPECIAL_ELEMENTS[NS.HTML][$.TEXTAREA] = true;
245
- SPECIAL_ELEMENTS[NS.HTML][$.TFOOT] = true;
246
- SPECIAL_ELEMENTS[NS.HTML][$.TH] = true;
247
- SPECIAL_ELEMENTS[NS.HTML][$.THEAD] = true;
248
- SPECIAL_ELEMENTS[NS.HTML][$.TITLE] = true;
249
- SPECIAL_ELEMENTS[NS.HTML][$.TR] = true;
250
- SPECIAL_ELEMENTS[NS.HTML][$.TRACK] = true;
251
- SPECIAL_ELEMENTS[NS.HTML][$.UL] = true;
252
- SPECIAL_ELEMENTS[NS.HTML][$.WBR] = true;
253
- SPECIAL_ELEMENTS[NS.HTML][$.XMP] = true;
254
-
255
- SPECIAL_ELEMENTS[NS.MATHML] = {};
256
- SPECIAL_ELEMENTS[NS.MATHML][$.MI] = true;
257
- SPECIAL_ELEMENTS[NS.MATHML][$.MO] = true;
258
- SPECIAL_ELEMENTS[NS.MATHML][$.MN] = true;
259
- SPECIAL_ELEMENTS[NS.MATHML][$.MS] = true;
260
- SPECIAL_ELEMENTS[NS.MATHML][$.MTEXT] = true;
261
- SPECIAL_ELEMENTS[NS.MATHML][$.ANNOTATION_XML] = true;
262
-
263
- SPECIAL_ELEMENTS[NS.SVG] = {};
264
- SPECIAL_ELEMENTS[NS.SVG][$.TITLE] = true;
265
- SPECIAL_ELEMENTS[NS.SVG][$.FOREIGN_OBJECT] = true;
266
- SPECIAL_ELEMENTS[NS.SVG][$.DESC] = true;
1
+ 'use strict';
2
+
3
+ var NS = exports.NAMESPACES = {
4
+ HTML: 'http://www.w3.org/1999/xhtml',
5
+ MATHML: 'http://www.w3.org/1998/Math/MathML',
6
+ SVG: 'http://www.w3.org/2000/svg',
7
+ XLINK: 'http://www.w3.org/1999/xlink',
8
+ XML: 'http://www.w3.org/XML/1998/namespace',
9
+ XMLNS: 'http://www.w3.org/2000/xmlns/'
10
+ };
11
+
12
+ exports.ATTRS = {
13
+ TYPE: 'type',
14
+ ACTION: 'action',
15
+ ENCODING: 'encoding',
16
+ PROMPT: 'prompt',
17
+ NAME: 'name',
18
+ COLOR: 'color',
19
+ FACE: 'face',
20
+ SIZE: 'size'
21
+ };
22
+
23
+ exports.DOCUMENT_MODE = {
24
+ NO_QUIRKS: 'no-quirks',
25
+ QUIRKS: 'quirks',
26
+ LIMITED_QUIRKS: 'limited-quirks'
27
+ };
28
+
29
+ var $ = exports.TAG_NAMES = {
30
+ A: 'a',
31
+ ADDRESS: 'address',
32
+ ANNOTATION_XML: 'annotation-xml',
33
+ APPLET: 'applet',
34
+ AREA: 'area',
35
+ ARTICLE: 'article',
36
+ ASIDE: 'aside',
37
+
38
+ B: 'b',
39
+ BASE: 'base',
40
+ BASEFONT: 'basefont',
41
+ BGSOUND: 'bgsound',
42
+ BIG: 'big',
43
+ BLOCKQUOTE: 'blockquote',
44
+ BODY: 'body',
45
+ BR: 'br',
46
+ BUTTON: 'button',
47
+
48
+ CAPTION: 'caption',
49
+ CENTER: 'center',
50
+ CODE: 'code',
51
+ COL: 'col',
52
+ COLGROUP: 'colgroup',
53
+
54
+ DD: 'dd',
55
+ DESC: 'desc',
56
+ DETAILS: 'details',
57
+ DIALOG: 'dialog',
58
+ DIR: 'dir',
59
+ DIV: 'div',
60
+ DL: 'dl',
61
+ DT: 'dt',
62
+
63
+ EM: 'em',
64
+ EMBED: 'embed',
65
+
66
+ FIELDSET: 'fieldset',
67
+ FIGCAPTION: 'figcaption',
68
+ FIGURE: 'figure',
69
+ FONT: 'font',
70
+ FOOTER: 'footer',
71
+ FOREIGN_OBJECT: 'foreignObject',
72
+ FORM: 'form',
73
+ FRAME: 'frame',
74
+ FRAMESET: 'frameset',
75
+
76
+ H1: 'h1',
77
+ H2: 'h2',
78
+ H3: 'h3',
79
+ H4: 'h4',
80
+ H5: 'h5',
81
+ H6: 'h6',
82
+ HEAD: 'head',
83
+ HEADER: 'header',
84
+ HGROUP: 'hgroup',
85
+ HR: 'hr',
86
+ HTML: 'html',
87
+
88
+ I: 'i',
89
+ IMG: 'img',
90
+ IMAGE: 'image',
91
+ INPUT: 'input',
92
+ IFRAME: 'iframe',
93
+
94
+ KEYGEN: 'keygen',
95
+
96
+ LABEL: 'label',
97
+ LI: 'li',
98
+ LINK: 'link',
99
+ LISTING: 'listing',
100
+
101
+ MAIN: 'main',
102
+ MALIGNMARK: 'malignmark',
103
+ MARQUEE: 'marquee',
104
+ MATH: 'math',
105
+ MENU: 'menu',
106
+ MENUITEM: 'menuitem',
107
+ META: 'meta',
108
+ MGLYPH: 'mglyph',
109
+ MI: 'mi',
110
+ MO: 'mo',
111
+ MN: 'mn',
112
+ MS: 'ms',
113
+ MTEXT: 'mtext',
114
+
115
+ NAV: 'nav',
116
+ NOBR: 'nobr',
117
+ NOFRAMES: 'noframes',
118
+ NOEMBED: 'noembed',
119
+ NOSCRIPT: 'noscript',
120
+
121
+ OBJECT: 'object',
122
+ OL: 'ol',
123
+ OPTGROUP: 'optgroup',
124
+ OPTION: 'option',
125
+
126
+ P: 'p',
127
+ PARAM: 'param',
128
+ PLAINTEXT: 'plaintext',
129
+ PRE: 'pre',
130
+
131
+ RB: 'rb',
132
+ RP: 'rp',
133
+ RT: 'rt',
134
+ RTC: 'rtc',
135
+ RUBY: 'ruby',
136
+
137
+ S: 's',
138
+ SCRIPT: 'script',
139
+ SECTION: 'section',
140
+ SELECT: 'select',
141
+ SOURCE: 'source',
142
+ SMALL: 'small',
143
+ SPAN: 'span',
144
+ STRIKE: 'strike',
145
+ STRONG: 'strong',
146
+ STYLE: 'style',
147
+ SUB: 'sub',
148
+ SUMMARY: 'summary',
149
+ SUP: 'sup',
150
+
151
+ TABLE: 'table',
152
+ TBODY: 'tbody',
153
+ TEMPLATE: 'template',
154
+ TEXTAREA: 'textarea',
155
+ TFOOT: 'tfoot',
156
+ TD: 'td',
157
+ TH: 'th',
158
+ THEAD: 'thead',
159
+ TITLE: 'title',
160
+ TR: 'tr',
161
+ TRACK: 'track',
162
+ TT: 'tt',
163
+
164
+ U: 'u',
165
+ UL: 'ul',
166
+
167
+ SVG: 'svg',
168
+
169
+ VAR: 'var',
170
+
171
+ WBR: 'wbr',
172
+
173
+ XMP: 'xmp'
174
+ };
175
+
176
+ var SPECIAL_ELEMENTS = exports.SPECIAL_ELEMENTS = Object.create(null);
177
+
178
+ SPECIAL_ELEMENTS[NS.HTML] = Object.create(null);
179
+ SPECIAL_ELEMENTS[NS.HTML][$.ADDRESS] = true;
180
+ SPECIAL_ELEMENTS[NS.HTML][$.APPLET] = true;
181
+ SPECIAL_ELEMENTS[NS.HTML][$.AREA] = true;
182
+ SPECIAL_ELEMENTS[NS.HTML][$.ARTICLE] = true;
183
+ SPECIAL_ELEMENTS[NS.HTML][$.ASIDE] = true;
184
+ SPECIAL_ELEMENTS[NS.HTML][$.BASE] = true;
185
+ SPECIAL_ELEMENTS[NS.HTML][$.BASEFONT] = true;
186
+ SPECIAL_ELEMENTS[NS.HTML][$.BGSOUND] = true;
187
+ SPECIAL_ELEMENTS[NS.HTML][$.BLOCKQUOTE] = true;
188
+ SPECIAL_ELEMENTS[NS.HTML][$.BODY] = true;
189
+ SPECIAL_ELEMENTS[NS.HTML][$.BR] = true;
190
+ SPECIAL_ELEMENTS[NS.HTML][$.BUTTON] = true;
191
+ SPECIAL_ELEMENTS[NS.HTML][$.CAPTION] = true;
192
+ SPECIAL_ELEMENTS[NS.HTML][$.CENTER] = true;
193
+ SPECIAL_ELEMENTS[NS.HTML][$.COL] = true;
194
+ SPECIAL_ELEMENTS[NS.HTML][$.COLGROUP] = true;
195
+ SPECIAL_ELEMENTS[NS.HTML][$.DD] = true;
196
+ SPECIAL_ELEMENTS[NS.HTML][$.DETAILS] = true;
197
+ SPECIAL_ELEMENTS[NS.HTML][$.DIR] = true;
198
+ SPECIAL_ELEMENTS[NS.HTML][$.DIV] = true;
199
+ SPECIAL_ELEMENTS[NS.HTML][$.DL] = true;
200
+ SPECIAL_ELEMENTS[NS.HTML][$.DT] = true;
201
+ SPECIAL_ELEMENTS[NS.HTML][$.EMBED] = true;
202
+ SPECIAL_ELEMENTS[NS.HTML][$.FIELDSET] = true;
203
+ SPECIAL_ELEMENTS[NS.HTML][$.FIGCAPTION] = true;
204
+ SPECIAL_ELEMENTS[NS.HTML][$.FIGURE] = true;
205
+ SPECIAL_ELEMENTS[NS.HTML][$.FOOTER] = true;
206
+ SPECIAL_ELEMENTS[NS.HTML][$.FORM] = true;
207
+ SPECIAL_ELEMENTS[NS.HTML][$.FRAME] = true;
208
+ SPECIAL_ELEMENTS[NS.HTML][$.FRAMESET] = true;
209
+ SPECIAL_ELEMENTS[NS.HTML][$.H1] = true;
210
+ SPECIAL_ELEMENTS[NS.HTML][$.H2] = true;
211
+ SPECIAL_ELEMENTS[NS.HTML][$.H3] = true;
212
+ SPECIAL_ELEMENTS[NS.HTML][$.H4] = true;
213
+ SPECIAL_ELEMENTS[NS.HTML][$.H5] = true;
214
+ SPECIAL_ELEMENTS[NS.HTML][$.H6] = true;
215
+ SPECIAL_ELEMENTS[NS.HTML][$.HEAD] = true;
216
+ SPECIAL_ELEMENTS[NS.HTML][$.HEADER] = true;
217
+ SPECIAL_ELEMENTS[NS.HTML][$.HGROUP] = true;
218
+ SPECIAL_ELEMENTS[NS.HTML][$.HR] = true;
219
+ SPECIAL_ELEMENTS[NS.HTML][$.HTML] = true;
220
+ SPECIAL_ELEMENTS[NS.HTML][$.IFRAME] = true;
221
+ SPECIAL_ELEMENTS[NS.HTML][$.IMG] = true;
222
+ SPECIAL_ELEMENTS[NS.HTML][$.INPUT] = true;
223
+ SPECIAL_ELEMENTS[NS.HTML][$.LI] = true;
224
+ SPECIAL_ELEMENTS[NS.HTML][$.LINK] = true;
225
+ SPECIAL_ELEMENTS[NS.HTML][$.LISTING] = true;
226
+ SPECIAL_ELEMENTS[NS.HTML][$.MAIN] = true;
227
+ SPECIAL_ELEMENTS[NS.HTML][$.MARQUEE] = true;
228
+ SPECIAL_ELEMENTS[NS.HTML][$.MENU] = true;
229
+ SPECIAL_ELEMENTS[NS.HTML][$.META] = true;
230
+ SPECIAL_ELEMENTS[NS.HTML][$.NAV] = true;
231
+ SPECIAL_ELEMENTS[NS.HTML][$.NOEMBED] = true;
232
+ SPECIAL_ELEMENTS[NS.HTML][$.NOFRAMES] = true;
233
+ SPECIAL_ELEMENTS[NS.HTML][$.NOSCRIPT] = true;
234
+ SPECIAL_ELEMENTS[NS.HTML][$.OBJECT] = true;
235
+ SPECIAL_ELEMENTS[NS.HTML][$.OL] = true;
236
+ SPECIAL_ELEMENTS[NS.HTML][$.P] = true;
237
+ SPECIAL_ELEMENTS[NS.HTML][$.PARAM] = true;
238
+ SPECIAL_ELEMENTS[NS.HTML][$.PLAINTEXT] = true;
239
+ SPECIAL_ELEMENTS[NS.HTML][$.PRE] = true;
240
+ SPECIAL_ELEMENTS[NS.HTML][$.SCRIPT] = true;
241
+ SPECIAL_ELEMENTS[NS.HTML][$.SECTION] = true;
242
+ SPECIAL_ELEMENTS[NS.HTML][$.SELECT] = true;
243
+ SPECIAL_ELEMENTS[NS.HTML][$.SOURCE] = true;
244
+ SPECIAL_ELEMENTS[NS.HTML][$.STYLE] = true;
245
+ SPECIAL_ELEMENTS[NS.HTML][$.SUMMARY] = true;
246
+ SPECIAL_ELEMENTS[NS.HTML][$.TABLE] = true;
247
+ SPECIAL_ELEMENTS[NS.HTML][$.TBODY] = true;
248
+ SPECIAL_ELEMENTS[NS.HTML][$.TD] = true;
249
+ SPECIAL_ELEMENTS[NS.HTML][$.TEMPLATE] = true;
250
+ SPECIAL_ELEMENTS[NS.HTML][$.TEXTAREA] = true;
251
+ SPECIAL_ELEMENTS[NS.HTML][$.TFOOT] = true;
252
+ SPECIAL_ELEMENTS[NS.HTML][$.TH] = true;
253
+ SPECIAL_ELEMENTS[NS.HTML][$.THEAD] = true;
254
+ SPECIAL_ELEMENTS[NS.HTML][$.TITLE] = true;
255
+ SPECIAL_ELEMENTS[NS.HTML][$.TR] = true;
256
+ SPECIAL_ELEMENTS[NS.HTML][$.TRACK] = true;
257
+ SPECIAL_ELEMENTS[NS.HTML][$.UL] = true;
258
+ SPECIAL_ELEMENTS[NS.HTML][$.WBR] = true;
259
+ SPECIAL_ELEMENTS[NS.HTML][$.XMP] = true;
260
+
261
+ SPECIAL_ELEMENTS[NS.MATHML] = Object.create(null);
262
+ SPECIAL_ELEMENTS[NS.MATHML][$.MI] = true;
263
+ SPECIAL_ELEMENTS[NS.MATHML][$.MO] = true;
264
+ SPECIAL_ELEMENTS[NS.MATHML][$.MN] = true;
265
+ SPECIAL_ELEMENTS[NS.MATHML][$.MS] = true;
266
+ SPECIAL_ELEMENTS[NS.MATHML][$.MTEXT] = true;
267
+ SPECIAL_ELEMENTS[NS.MATHML][$.ANNOTATION_XML] = true;
268
+
269
+ SPECIAL_ELEMENTS[NS.SVG] = Object.create(null);
270
+ SPECIAL_ELEMENTS[NS.SVG][$.TITLE] = true;
271
+ SPECIAL_ELEMENTS[NS.SVG][$.FOREIGN_OBJECT] = true;
272
+ SPECIAL_ELEMENTS[NS.SVG][$.DESC] = true;
@@ -1,13 +1,13 @@
1
- 'use strict';
2
-
3
- module.exports = function mergeOptions(defaults, options) {
4
- options = options || {};
5
-
6
- return [defaults, options].reduce(function (merged, optObj) {
7
- Object.keys(optObj).forEach(function (key) {
8
- merged[key] = optObj[key];
9
- });
10
-
11
- return merged;
12
- }, {});
13
- };
1
+ 'use strict';
2
+
3
+ module.exports = function mergeOptions(defaults, options) {
4
+ options = options || Object.create(null);
5
+
6
+ return [defaults, options].reduce(function (merged, optObj) {
7
+ Object.keys(optObj).forEach(function (key) {
8
+ merged[key] = optObj[key];
9
+ });
10
+
11
+ return merged;
12
+ }, Object.create(null));
13
+ };
@@ -1,47 +1,47 @@
1
- 'use strict';
2
-
3
- exports.REPLACEMENT_CHARACTER = '\uFFFD';
4
-
5
- exports.CODE_POINTS = {
6
- EOF: -1,
7
- NULL: 0x00,
8
- TABULATION: 0x09,
9
- CARRIAGE_RETURN: 0x0D,
10
- LINE_FEED: 0x0A,
11
- FORM_FEED: 0x0C,
12
- SPACE: 0x20,
13
- EXCLAMATION_MARK: 0x21,
14
- QUOTATION_MARK: 0x22,
15
- NUMBER_SIGN: 0x23,
16
- AMPERSAND: 0x26,
17
- APOSTROPHE: 0x27,
18
- HYPHEN_MINUS: 0x2D,
19
- SOLIDUS: 0x2F,
20
- DIGIT_0: 0x30,
21
- DIGIT_9: 0x39,
22
- SEMICOLON: 0x3B,
23
- LESS_THAN_SIGN: 0x3C,
24
- EQUALS_SIGN: 0x3D,
25
- GREATER_THAN_SIGN: 0x3E,
26
- QUESTION_MARK: 0x3F,
27
- LATIN_CAPITAL_A: 0x41,
28
- LATIN_CAPITAL_F: 0x46,
29
- LATIN_CAPITAL_X: 0x58,
30
- LATIN_CAPITAL_Z: 0x5A,
31
- GRAVE_ACCENT: 0x60,
32
- LATIN_SMALL_A: 0x61,
33
- LATIN_SMALL_F: 0x66,
34
- LATIN_SMALL_X: 0x78,
35
- LATIN_SMALL_Z: 0x7A,
36
- REPLACEMENT_CHARACTER: 0xFFFD
37
- };
38
-
39
- exports.CODE_POINT_SEQUENCES = {
40
- DASH_DASH_STRING: [0x2D, 0x2D], //--
41
- DOCTYPE_STRING: [0x44, 0x4F, 0x43, 0x54, 0x59, 0x50, 0x45], //DOCTYPE
42
- CDATA_START_STRING: [0x5B, 0x43, 0x44, 0x41, 0x54, 0x41, 0x5B], //[CDATA[
43
- CDATA_END_STRING: [0x5D, 0x5D, 0x3E], //]]>
44
- SCRIPT_STRING: [0x73, 0x63, 0x72, 0x69, 0x70, 0x74], //script
45
- PUBLIC_STRING: [0x50, 0x55, 0x42, 0x4C, 0x49, 0x43], //PUBLIC
46
- SYSTEM_STRING: [0x53, 0x59, 0x53, 0x54, 0x45, 0x4D] //SYSTEM
47
- };
1
+ 'use strict';
2
+
3
+ exports.REPLACEMENT_CHARACTER = '\uFFFD';
4
+
5
+ exports.CODE_POINTS = {
6
+ EOF: -1,
7
+ NULL: 0x00,
8
+ TABULATION: 0x09,
9
+ CARRIAGE_RETURN: 0x0D,
10
+ LINE_FEED: 0x0A,
11
+ FORM_FEED: 0x0C,
12
+ SPACE: 0x20,
13
+ EXCLAMATION_MARK: 0x21,
14
+ QUOTATION_MARK: 0x22,
15
+ NUMBER_SIGN: 0x23,
16
+ AMPERSAND: 0x26,
17
+ APOSTROPHE: 0x27,
18
+ HYPHEN_MINUS: 0x2D,
19
+ SOLIDUS: 0x2F,
20
+ DIGIT_0: 0x30,
21
+ DIGIT_9: 0x39,
22
+ SEMICOLON: 0x3B,
23
+ LESS_THAN_SIGN: 0x3C,
24
+ EQUALS_SIGN: 0x3D,
25
+ GREATER_THAN_SIGN: 0x3E,
26
+ QUESTION_MARK: 0x3F,
27
+ LATIN_CAPITAL_A: 0x41,
28
+ LATIN_CAPITAL_F: 0x46,
29
+ LATIN_CAPITAL_X: 0x58,
30
+ LATIN_CAPITAL_Z: 0x5A,
31
+ GRAVE_ACCENT: 0x60,
32
+ LATIN_SMALL_A: 0x61,
33
+ LATIN_SMALL_F: 0x66,
34
+ LATIN_SMALL_X: 0x78,
35
+ LATIN_SMALL_Z: 0x7A,
36
+ REPLACEMENT_CHARACTER: 0xFFFD
37
+ };
38
+
39
+ exports.CODE_POINT_SEQUENCES = {
40
+ DASH_DASH_STRING: [0x2D, 0x2D], //--
41
+ DOCTYPE_STRING: [0x44, 0x4F, 0x43, 0x54, 0x59, 0x50, 0x45], //DOCTYPE
42
+ CDATA_START_STRING: [0x5B, 0x43, 0x44, 0x41, 0x54, 0x41, 0x5B], //[CDATA[
43
+ CDATA_END_STRING: [0x5D, 0x5D, 0x3E], //]]>
44
+ SCRIPT_STRING: [0x73, 0x63, 0x72, 0x69, 0x70, 0x74], //script
45
+ PUBLIC_STRING: [0x50, 0x55, 0x42, 0x4C, 0x49, 0x43], //PUBLIC
46
+ SYSTEM_STRING: [0x53, 0x59, 0x53, 0x54, 0x45, 0x4D] //SYSTEM
47
+ };