@zipify/wysiwyg 1.2.0 → 1.2.1-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.
Files changed (1153) hide show
  1. package/.github/actions/lint-css/action.yaml +1 -3
  2. package/dist/cli.js +3 -3
  3. package/dist/wysiwyg.css +24 -25
  4. package/dist/wysiwyg.mjs +641 -618
  5. package/jest.config.js +3 -0
  6. package/lib/components/base/Modal.vue +21 -2
  7. package/lib/components/base/__tests__/Modal.test.js +1 -0
  8. package/lib/components/toolbar/controls/link/LinkControl.vue +22 -10
  9. package/lib/components/toolbar/controls/link/LinkControlHeader.vue +3 -3
  10. package/lib/components/toolbar/controls/link/__tests__/LinkControl.test.js +8 -8
  11. package/lib/components/toolbar/controls/link/__tests__/LinkControlHeader.test.js +1 -1
  12. package/lib/components/toolbar/controls/link/composables/useLink.js +10 -6
  13. package/lib/composables/__tests__/__snapshots__/useEditor.test.js.snap +1 -1
  14. package/lib/composables/useEditor.js +4 -3
  15. package/lib/enums/TextSettings.js +2 -0
  16. package/lib/extensions/FontStyle.js +2 -2
  17. package/lib/extensions/FontWeight.js +2 -0
  18. package/lib/extensions/Link.js +13 -15
  19. package/lib/extensions/StylePreset.js +33 -3
  20. package/lib/extensions/TextDecoration.js +6 -12
  21. package/lib/extensions/__tests__/FontFamily.test.js +7 -6
  22. package/lib/extensions/__tests__/FontWeight.test.js +19 -10
  23. package/lib/extensions/__tests__/StylePreset.test.js +52 -2
  24. package/lib/extensions/__tests__/TextDecoration.test.js +11 -40
  25. package/lib/extensions/__tests__/__snapshots__/Alignment.test.js.snap +2 -2
  26. package/lib/extensions/__tests__/__snapshots__/BackgroundColor.test.js.snap +1 -1
  27. package/lib/extensions/__tests__/__snapshots__/FontColor.test.js.snap +1 -1
  28. package/lib/extensions/__tests__/__snapshots__/FontFamily.test.js.snap +19 -1
  29. package/lib/extensions/__tests__/__snapshots__/FontSize.test.js.snap +2 -2
  30. package/lib/extensions/__tests__/__snapshots__/FontStyle.test.js.snap +17 -1
  31. package/lib/extensions/__tests__/__snapshots__/FontWeight.test.js.snap +26 -1
  32. package/lib/extensions/__tests__/__snapshots__/LineHeight.test.js.snap +2 -2
  33. package/lib/extensions/__tests__/__snapshots__/Margin.test.js.snap +2 -2
  34. package/lib/extensions/__tests__/__snapshots__/StylePreset.test.js.snap +22 -2
  35. package/lib/extensions/__tests__/__snapshots__/TextDecoration.test.js.snap +3 -46
  36. package/package.json +23 -28
  37. package/config/build/lambda.config.js +0 -39
  38. package/dist/lambda-to-json.zip +0 -0
  39. package/lib/components/toolbar/controls/link/LinkControlApply.vue +0 -35
  40. package/lib/entry-lambda-to-json.js +0 -8
  41. package/node_modules_lambda/.bin/acorn +0 -4
  42. package/node_modules_lambda/.bin/escodegen +0 -77
  43. package/node_modules_lambda/.bin/esgenerate +0 -64
  44. package/node_modules_lambda/.bin/esparse +0 -139
  45. package/node_modules_lambda/.bin/esvalidate +0 -236
  46. package/node_modules_lambda/.package-lock.json +0 -602
  47. package/node_modules_lambda/@tootallnate/once/LICENSE +0 -21
  48. package/node_modules_lambda/@tootallnate/once/README.md +0 -93
  49. package/node_modules_lambda/@tootallnate/once/dist/index.d.ts +0 -7
  50. package/node_modules_lambda/@tootallnate/once/dist/index.js +0 -24
  51. package/node_modules_lambda/@tootallnate/once/dist/index.js.map +0 -1
  52. package/node_modules_lambda/@tootallnate/once/dist/overloaded-parameters.d.ts +0 -231
  53. package/node_modules_lambda/@tootallnate/once/dist/overloaded-parameters.js +0 -3
  54. package/node_modules_lambda/@tootallnate/once/dist/overloaded-parameters.js.map +0 -1
  55. package/node_modules_lambda/@tootallnate/once/dist/types.d.ts +0 -17
  56. package/node_modules_lambda/@tootallnate/once/dist/types.js +0 -3
  57. package/node_modules_lambda/@tootallnate/once/dist/types.js.map +0 -1
  58. package/node_modules_lambda/@tootallnate/once/package.json +0 -52
  59. package/node_modules_lambda/abab/LICENSE.md +0 -13
  60. package/node_modules_lambda/abab/README.md +0 -51
  61. package/node_modules_lambda/abab/index.d.ts +0 -2
  62. package/node_modules_lambda/abab/index.js +0 -9
  63. package/node_modules_lambda/abab/lib/atob.js +0 -101
  64. package/node_modules_lambda/abab/lib/btoa.js +0 -62
  65. package/node_modules_lambda/abab/package.json +0 -42
  66. package/node_modules_lambda/acorn/CHANGELOG.md +0 -798
  67. package/node_modules_lambda/acorn/LICENSE +0 -21
  68. package/node_modules_lambda/acorn/README.md +0 -273
  69. package/node_modules_lambda/acorn/bin/acorn +0 -4
  70. package/node_modules_lambda/acorn/dist/acorn.d.ts +0 -252
  71. package/node_modules_lambda/acorn/dist/acorn.js +0 -5608
  72. package/node_modules_lambda/acorn/dist/acorn.mjs +0 -5577
  73. package/node_modules_lambda/acorn/dist/acorn.mjs.d.ts +0 -2
  74. package/node_modules_lambda/acorn/dist/bin.js +0 -91
  75. package/node_modules_lambda/acorn/package.json +0 -50
  76. package/node_modules_lambda/acorn-globals/LICENSE +0 -19
  77. package/node_modules_lambda/acorn-globals/README.md +0 -81
  78. package/node_modules_lambda/acorn-globals/index.js +0 -179
  79. package/node_modules_lambda/acorn-globals/node_modules/.bin/acorn +0 -4
  80. package/node_modules_lambda/acorn-globals/node_modules/acorn/CHANGELOG.md +0 -620
  81. package/node_modules_lambda/acorn-globals/node_modules/acorn/LICENSE +0 -21
  82. package/node_modules_lambda/acorn-globals/node_modules/acorn/README.md +0 -269
  83. package/node_modules_lambda/acorn-globals/node_modules/acorn/bin/acorn +0 -4
  84. package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.d.ts +0 -209
  85. package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.js +0 -5186
  86. package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.js.map +0 -1
  87. package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.mjs +0 -5155
  88. package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.mjs.d.ts +0 -2
  89. package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.mjs.map +0 -1
  90. package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/bin.js +0 -64
  91. package/node_modules_lambda/acorn-globals/node_modules/acorn/package.json +0 -35
  92. package/node_modules_lambda/acorn-globals/package.json +0 -35
  93. package/node_modules_lambda/acorn-walk/CHANGELOG.md +0 -131
  94. package/node_modules_lambda/acorn-walk/LICENSE +0 -19
  95. package/node_modules_lambda/acorn-walk/README.md +0 -126
  96. package/node_modules_lambda/acorn-walk/dist/walk.d.ts +0 -112
  97. package/node_modules_lambda/acorn-walk/dist/walk.js +0 -463
  98. package/node_modules_lambda/acorn-walk/dist/walk.js.map +0 -1
  99. package/node_modules_lambda/acorn-walk/dist/walk.mjs +0 -443
  100. package/node_modules_lambda/acorn-walk/dist/walk.mjs.map +0 -1
  101. package/node_modules_lambda/acorn-walk/package.json +0 -34
  102. package/node_modules_lambda/agent-base/README.md +0 -145
  103. package/node_modules_lambda/agent-base/dist/src/index.d.ts +0 -78
  104. package/node_modules_lambda/agent-base/dist/src/index.js +0 -203
  105. package/node_modules_lambda/agent-base/dist/src/index.js.map +0 -1
  106. package/node_modules_lambda/agent-base/dist/src/promisify.d.ts +0 -4
  107. package/node_modules_lambda/agent-base/dist/src/promisify.js +0 -18
  108. package/node_modules_lambda/agent-base/dist/src/promisify.js.map +0 -1
  109. package/node_modules_lambda/agent-base/package.json +0 -64
  110. package/node_modules_lambda/agent-base/src/index.ts +0 -345
  111. package/node_modules_lambda/agent-base/src/promisify.ts +0 -33
  112. package/node_modules_lambda/asynckit/LICENSE +0 -21
  113. package/node_modules_lambda/asynckit/README.md +0 -233
  114. package/node_modules_lambda/asynckit/bench.js +0 -76
  115. package/node_modules_lambda/asynckit/index.js +0 -6
  116. package/node_modules_lambda/asynckit/lib/abort.js +0 -29
  117. package/node_modules_lambda/asynckit/lib/async.js +0 -34
  118. package/node_modules_lambda/asynckit/lib/defer.js +0 -26
  119. package/node_modules_lambda/asynckit/lib/iterate.js +0 -75
  120. package/node_modules_lambda/asynckit/lib/readable_asynckit.js +0 -91
  121. package/node_modules_lambda/asynckit/lib/readable_parallel.js +0 -25
  122. package/node_modules_lambda/asynckit/lib/readable_serial.js +0 -25
  123. package/node_modules_lambda/asynckit/lib/readable_serial_ordered.js +0 -29
  124. package/node_modules_lambda/asynckit/lib/state.js +0 -37
  125. package/node_modules_lambda/asynckit/lib/streamify.js +0 -141
  126. package/node_modules_lambda/asynckit/lib/terminator.js +0 -29
  127. package/node_modules_lambda/asynckit/package.json +0 -63
  128. package/node_modules_lambda/asynckit/parallel.js +0 -43
  129. package/node_modules_lambda/asynckit/serial.js +0 -17
  130. package/node_modules_lambda/asynckit/serialOrdered.js +0 -75
  131. package/node_modules_lambda/asynckit/stream.js +0 -21
  132. package/node_modules_lambda/browser-process-hrtime/LICENSE +0 -9
  133. package/node_modules_lambda/browser-process-hrtime/README.md +0 -27
  134. package/node_modules_lambda/browser-process-hrtime/index.d.ts +0 -4
  135. package/node_modules_lambda/browser-process-hrtime/index.js +0 -28
  136. package/node_modules_lambda/browser-process-hrtime/package.json +0 -15
  137. package/node_modules_lambda/combined-stream/License +0 -19
  138. package/node_modules_lambda/combined-stream/Readme.md +0 -138
  139. package/node_modules_lambda/combined-stream/lib/combined_stream.js +0 -208
  140. package/node_modules_lambda/combined-stream/package.json +0 -25
  141. package/node_modules_lambda/combined-stream/yarn.lock +0 -17
  142. package/node_modules_lambda/cssom/LICENSE.txt +0 -20
  143. package/node_modules_lambda/cssom/README.mdown +0 -67
  144. package/node_modules_lambda/cssom/lib/CSSConditionRule.js +0 -25
  145. package/node_modules_lambda/cssom/lib/CSSDocumentRule.js +0 -39
  146. package/node_modules_lambda/cssom/lib/CSSFontFaceRule.js +0 -36
  147. package/node_modules_lambda/cssom/lib/CSSGroupingRule.js +0 -68
  148. package/node_modules_lambda/cssom/lib/CSSHostRule.js +0 -37
  149. package/node_modules_lambda/cssom/lib/CSSImportRule.js +0 -132
  150. package/node_modules_lambda/cssom/lib/CSSKeyframeRule.js +0 -37
  151. package/node_modules_lambda/cssom/lib/CSSKeyframesRule.js +0 -39
  152. package/node_modules_lambda/cssom/lib/CSSMediaRule.js +0 -53
  153. package/node_modules_lambda/cssom/lib/CSSOM.js +0 -3
  154. package/node_modules_lambda/cssom/lib/CSSRule.js +0 -43
  155. package/node_modules_lambda/cssom/lib/CSSStyleDeclaration.js +0 -148
  156. package/node_modules_lambda/cssom/lib/CSSStyleRule.js +0 -190
  157. package/node_modules_lambda/cssom/lib/CSSStyleSheet.js +0 -88
  158. package/node_modules_lambda/cssom/lib/CSSSupportsRule.js +0 -36
  159. package/node_modules_lambda/cssom/lib/CSSValue.js +0 -43
  160. package/node_modules_lambda/cssom/lib/CSSValueExpression.js +0 -344
  161. package/node_modules_lambda/cssom/lib/MatcherList.js +0 -62
  162. package/node_modules_lambda/cssom/lib/MediaList.js +0 -61
  163. package/node_modules_lambda/cssom/lib/StyleSheet.js +0 -17
  164. package/node_modules_lambda/cssom/lib/clone.js +0 -74
  165. package/node_modules_lambda/cssom/lib/index.js +0 -23
  166. package/node_modules_lambda/cssom/lib/parse.js +0 -465
  167. package/node_modules_lambda/cssom/package.json +0 -18
  168. package/node_modules_lambda/cssstyle/LICENSE +0 -20
  169. package/node_modules_lambda/cssstyle/README.md +0 -15
  170. package/node_modules_lambda/cssstyle/lib/CSSStyleDeclaration.js +0 -260
  171. package/node_modules_lambda/cssstyle/lib/CSSStyleDeclaration.test.js +0 -556
  172. package/node_modules_lambda/cssstyle/lib/allExtraProperties.js +0 -67
  173. package/node_modules_lambda/cssstyle/lib/allProperties.js +0 -462
  174. package/node_modules_lambda/cssstyle/lib/allWebkitProperties.js +0 -194
  175. package/node_modules_lambda/cssstyle/lib/constants.js +0 -6
  176. package/node_modules_lambda/cssstyle/lib/implementedProperties.js +0 -90
  177. package/node_modules_lambda/cssstyle/lib/named_colors.json +0 -152
  178. package/node_modules_lambda/cssstyle/lib/parsers.js +0 -722
  179. package/node_modules_lambda/cssstyle/lib/parsers.test.js +0 -139
  180. package/node_modules_lambda/cssstyle/lib/properties/azimuth.js +0 -67
  181. package/node_modules_lambda/cssstyle/lib/properties/background.js +0 -19
  182. package/node_modules_lambda/cssstyle/lib/properties/backgroundAttachment.js +0 -24
  183. package/node_modules_lambda/cssstyle/lib/properties/backgroundColor.js +0 -36
  184. package/node_modules_lambda/cssstyle/lib/properties/backgroundImage.js +0 -32
  185. package/node_modules_lambda/cssstyle/lib/properties/backgroundPosition.js +0 -58
  186. package/node_modules_lambda/cssstyle/lib/properties/backgroundRepeat.js +0 -32
  187. package/node_modules_lambda/cssstyle/lib/properties/border.js +0 -33
  188. package/node_modules_lambda/cssstyle/lib/properties/borderBottom.js +0 -17
  189. package/node_modules_lambda/cssstyle/lib/properties/borderBottomColor.js +0 -16
  190. package/node_modules_lambda/cssstyle/lib/properties/borderBottomStyle.js +0 -21
  191. package/node_modules_lambda/cssstyle/lib/properties/borderBottomWidth.js +0 -16
  192. package/node_modules_lambda/cssstyle/lib/properties/borderCollapse.js +0 -26
  193. package/node_modules_lambda/cssstyle/lib/properties/borderColor.js +0 -30
  194. package/node_modules_lambda/cssstyle/lib/properties/borderLeft.js +0 -17
  195. package/node_modules_lambda/cssstyle/lib/properties/borderLeftColor.js +0 -16
  196. package/node_modules_lambda/cssstyle/lib/properties/borderLeftStyle.js +0 -21
  197. package/node_modules_lambda/cssstyle/lib/properties/borderLeftWidth.js +0 -16
  198. package/node_modules_lambda/cssstyle/lib/properties/borderRight.js +0 -17
  199. package/node_modules_lambda/cssstyle/lib/properties/borderRightColor.js +0 -16
  200. package/node_modules_lambda/cssstyle/lib/properties/borderRightStyle.js +0 -21
  201. package/node_modules_lambda/cssstyle/lib/properties/borderRightWidth.js +0 -16
  202. package/node_modules_lambda/cssstyle/lib/properties/borderSpacing.js +0 -41
  203. package/node_modules_lambda/cssstyle/lib/properties/borderStyle.js +0 -38
  204. package/node_modules_lambda/cssstyle/lib/properties/borderTop.js +0 -17
  205. package/node_modules_lambda/cssstyle/lib/properties/borderTopColor.js +0 -16
  206. package/node_modules_lambda/cssstyle/lib/properties/borderTopStyle.js +0 -21
  207. package/node_modules_lambda/cssstyle/lib/properties/borderTopWidth.js +0 -17
  208. package/node_modules_lambda/cssstyle/lib/properties/borderWidth.js +0 -46
  209. package/node_modules_lambda/cssstyle/lib/properties/bottom.js +0 -14
  210. package/node_modules_lambda/cssstyle/lib/properties/clear.js +0 -16
  211. package/node_modules_lambda/cssstyle/lib/properties/clip.js +0 -47
  212. package/node_modules_lambda/cssstyle/lib/properties/color.js +0 -14
  213. package/node_modules_lambda/cssstyle/lib/properties/cssFloat.js +0 -12
  214. package/node_modules_lambda/cssstyle/lib/properties/flex.js +0 -45
  215. package/node_modules_lambda/cssstyle/lib/properties/flexBasis.js +0 -28
  216. package/node_modules_lambda/cssstyle/lib/properties/flexGrow.js +0 -19
  217. package/node_modules_lambda/cssstyle/lib/properties/flexShrink.js +0 -19
  218. package/node_modules_lambda/cssstyle/lib/properties/float.js +0 -12
  219. package/node_modules_lambda/cssstyle/lib/properties/floodColor.js +0 -14
  220. package/node_modules_lambda/cssstyle/lib/properties/font.js +0 -43
  221. package/node_modules_lambda/cssstyle/lib/properties/fontFamily.js +0 -33
  222. package/node_modules_lambda/cssstyle/lib/properties/fontSize.js +0 -38
  223. package/node_modules_lambda/cssstyle/lib/properties/fontStyle.js +0 -18
  224. package/node_modules_lambda/cssstyle/lib/properties/fontVariant.js +0 -18
  225. package/node_modules_lambda/cssstyle/lib/properties/fontWeight.js +0 -33
  226. package/node_modules_lambda/cssstyle/lib/properties/height.js +0 -24
  227. package/node_modules_lambda/cssstyle/lib/properties/left.js +0 -14
  228. package/node_modules_lambda/cssstyle/lib/properties/lightingColor.js +0 -14
  229. package/node_modules_lambda/cssstyle/lib/properties/lineHeight.js +0 -26
  230. package/node_modules_lambda/cssstyle/lib/properties/margin.js +0 -68
  231. package/node_modules_lambda/cssstyle/lib/properties/marginBottom.js +0 -13
  232. package/node_modules_lambda/cssstyle/lib/properties/marginLeft.js +0 -13
  233. package/node_modules_lambda/cssstyle/lib/properties/marginRight.js +0 -13
  234. package/node_modules_lambda/cssstyle/lib/properties/marginTop.js +0 -13
  235. package/node_modules_lambda/cssstyle/lib/properties/opacity.js +0 -14
  236. package/node_modules_lambda/cssstyle/lib/properties/outlineColor.js +0 -14
  237. package/node_modules_lambda/cssstyle/lib/properties/padding.js +0 -61
  238. package/node_modules_lambda/cssstyle/lib/properties/paddingBottom.js +0 -13
  239. package/node_modules_lambda/cssstyle/lib/properties/paddingLeft.js +0 -13
  240. package/node_modules_lambda/cssstyle/lib/properties/paddingRight.js +0 -13
  241. package/node_modules_lambda/cssstyle/lib/properties/paddingTop.js +0 -13
  242. package/node_modules_lambda/cssstyle/lib/properties/right.js +0 -14
  243. package/node_modules_lambda/cssstyle/lib/properties/stopColor.js +0 -14
  244. package/node_modules_lambda/cssstyle/lib/properties/textLineThroughColor.js +0 -14
  245. package/node_modules_lambda/cssstyle/lib/properties/textOverlineColor.js +0 -14
  246. package/node_modules_lambda/cssstyle/lib/properties/textUnderlineColor.js +0 -14
  247. package/node_modules_lambda/cssstyle/lib/properties/top.js +0 -14
  248. package/node_modules_lambda/cssstyle/lib/properties/webkitBorderAfterColor.js +0 -14
  249. package/node_modules_lambda/cssstyle/lib/properties/webkitBorderBeforeColor.js +0 -14
  250. package/node_modules_lambda/cssstyle/lib/properties/webkitBorderEndColor.js +0 -14
  251. package/node_modules_lambda/cssstyle/lib/properties/webkitBorderStartColor.js +0 -14
  252. package/node_modules_lambda/cssstyle/lib/properties/webkitColumnRuleColor.js +0 -14
  253. package/node_modules_lambda/cssstyle/lib/properties/webkitMatchNearestMailBlockquoteColor.js +0 -14
  254. package/node_modules_lambda/cssstyle/lib/properties/webkitTapHighlightColor.js +0 -14
  255. package/node_modules_lambda/cssstyle/lib/properties/webkitTextEmphasisColor.js +0 -14
  256. package/node_modules_lambda/cssstyle/lib/properties/webkitTextFillColor.js +0 -14
  257. package/node_modules_lambda/cssstyle/lib/properties/webkitTextStrokeColor.js +0 -14
  258. package/node_modules_lambda/cssstyle/lib/properties/width.js +0 -24
  259. package/node_modules_lambda/cssstyle/lib/properties.js +0 -1833
  260. package/node_modules_lambda/cssstyle/lib/utils/colorSpace.js +0 -21
  261. package/node_modules_lambda/cssstyle/lib/utils/getBasicPropertyDescriptor.js +0 -14
  262. package/node_modules_lambda/cssstyle/node_modules/cssom/LICENSE.txt +0 -20
  263. package/node_modules_lambda/cssstyle/node_modules/cssom/README.mdown +0 -67
  264. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSDocumentRule.js +0 -39
  265. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSFontFaceRule.js +0 -36
  266. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSHostRule.js +0 -37
  267. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSImportRule.js +0 -132
  268. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSKeyframeRule.js +0 -37
  269. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSKeyframesRule.js +0 -39
  270. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSMediaRule.js +0 -41
  271. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSOM.js +0 -3
  272. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSRule.js +0 -43
  273. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSStyleDeclaration.js +0 -148
  274. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSStyleRule.js +0 -190
  275. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSStyleSheet.js +0 -88
  276. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSSupportsRule.js +0 -36
  277. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSValue.js +0 -43
  278. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSValueExpression.js +0 -344
  279. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/MatcherList.js +0 -62
  280. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/MediaList.js +0 -61
  281. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/StyleSheet.js +0 -17
  282. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/clone.js +0 -82
  283. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/index.js +0 -21
  284. package/node_modules_lambda/cssstyle/node_modules/cssom/lib/parse.js +0 -464
  285. package/node_modules_lambda/cssstyle/node_modules/cssom/package.json +0 -18
  286. package/node_modules_lambda/cssstyle/package.json +0 -72
  287. package/node_modules_lambda/data-urls/LICENSE.txt +0 -7
  288. package/node_modules_lambda/data-urls/README.md +0 -62
  289. package/node_modules_lambda/data-urls/lib/parser.js +0 -69
  290. package/node_modules_lambda/data-urls/lib/utils.js +0 -18
  291. package/node_modules_lambda/data-urls/node_modules/whatwg-url/LICENSE.txt +0 -21
  292. package/node_modules_lambda/data-urls/node_modules/whatwg-url/README.md +0 -106
  293. package/node_modules_lambda/data-urls/node_modules/whatwg-url/index.js +0 -27
  294. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/Function.js +0 -42
  295. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/URL-impl.js +0 -209
  296. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/URL.js +0 -442
  297. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/URLSearchParams-impl.js +0 -130
  298. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/URLSearchParams.js +0 -472
  299. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/VoidFunction.js +0 -26
  300. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/encoding.js +0 -16
  301. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/infra.js +0 -26
  302. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/percent-encoding.js +0 -142
  303. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/url-state-machine.js +0 -1244
  304. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/urlencoded.js +0 -106
  305. package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/utils.js +0 -190
  306. package/node_modules_lambda/data-urls/node_modules/whatwg-url/package.json +0 -58
  307. package/node_modules_lambda/data-urls/node_modules/whatwg-url/webidl2js-wrapper.js +0 -7
  308. package/node_modules_lambda/data-urls/package.json +0 -54
  309. package/node_modules_lambda/debug/LICENSE +0 -20
  310. package/node_modules_lambda/debug/README.md +0 -481
  311. package/node_modules_lambda/debug/package.json +0 -59
  312. package/node_modules_lambda/debug/src/browser.js +0 -269
  313. package/node_modules_lambda/debug/src/common.js +0 -274
  314. package/node_modules_lambda/debug/src/index.js +0 -10
  315. package/node_modules_lambda/debug/src/node.js +0 -263
  316. package/node_modules_lambda/decimal.js/CHANGELOG.md +0 -231
  317. package/node_modules_lambda/decimal.js/LICENCE.md +0 -23
  318. package/node_modules_lambda/decimal.js/README.md +0 -246
  319. package/node_modules_lambda/decimal.js/decimal.d.ts +0 -300
  320. package/node_modules_lambda/decimal.js/decimal.js +0 -4934
  321. package/node_modules_lambda/decimal.js/decimal.mjs +0 -4898
  322. package/node_modules_lambda/decimal.js/package.json +0 -40
  323. package/node_modules_lambda/deep-is/.travis.yml +0 -5
  324. package/node_modules_lambda/deep-is/LICENSE +0 -22
  325. package/node_modules_lambda/deep-is/README.markdown +0 -70
  326. package/node_modules_lambda/deep-is/example/cmp.js +0 -11
  327. package/node_modules_lambda/deep-is/index.js +0 -102
  328. package/node_modules_lambda/deep-is/package.json +0 -58
  329. package/node_modules_lambda/deep-is/test/NaN.js +0 -16
  330. package/node_modules_lambda/deep-is/test/cmp.js +0 -23
  331. package/node_modules_lambda/deep-is/test/neg-vs-pos-0.js +0 -15
  332. package/node_modules_lambda/delayed-stream/License +0 -19
  333. package/node_modules_lambda/delayed-stream/Makefile +0 -7
  334. package/node_modules_lambda/delayed-stream/Readme.md +0 -141
  335. package/node_modules_lambda/delayed-stream/lib/delayed_stream.js +0 -107
  336. package/node_modules_lambda/delayed-stream/package.json +0 -27
  337. package/node_modules_lambda/domexception/LICENSE.txt +0 -21
  338. package/node_modules_lambda/domexception/README.md +0 -31
  339. package/node_modules_lambda/domexception/index.js +0 -7
  340. package/node_modules_lambda/domexception/lib/DOMException-impl.js +0 -22
  341. package/node_modules_lambda/domexception/lib/DOMException.js +0 -222
  342. package/node_modules_lambda/domexception/lib/Function.js +0 -42
  343. package/node_modules_lambda/domexception/lib/VoidFunction.js +0 -26
  344. package/node_modules_lambda/domexception/lib/legacy-error-codes.json +0 -24
  345. package/node_modules_lambda/domexception/lib/utils.js +0 -190
  346. package/node_modules_lambda/domexception/package.json +0 -42
  347. package/node_modules_lambda/domexception/webidl2js-wrapper.js +0 -15
  348. package/node_modules_lambda/escodegen/LICENSE.BSD +0 -21
  349. package/node_modules_lambda/escodegen/README.md +0 -84
  350. package/node_modules_lambda/escodegen/bin/escodegen.js +0 -77
  351. package/node_modules_lambda/escodegen/bin/esgenerate.js +0 -64
  352. package/node_modules_lambda/escodegen/escodegen.js +0 -2647
  353. package/node_modules_lambda/escodegen/node_modules/estraverse/.jshintrc +0 -16
  354. package/node_modules_lambda/escodegen/node_modules/estraverse/LICENSE.BSD +0 -19
  355. package/node_modules_lambda/escodegen/node_modules/estraverse/README.md +0 -153
  356. package/node_modules_lambda/escodegen/node_modules/estraverse/estraverse.js +0 -805
  357. package/node_modules_lambda/escodegen/node_modules/estraverse/gulpfile.js +0 -70
  358. package/node_modules_lambda/escodegen/node_modules/estraverse/package.json +0 -40
  359. package/node_modules_lambda/escodegen/node_modules/levn/LICENSE +0 -22
  360. package/node_modules_lambda/escodegen/node_modules/levn/README.md +0 -196
  361. package/node_modules_lambda/escodegen/node_modules/levn/lib/cast.js +0 -298
  362. package/node_modules_lambda/escodegen/node_modules/levn/lib/coerce.js +0 -285
  363. package/node_modules_lambda/escodegen/node_modules/levn/lib/index.js +0 -22
  364. package/node_modules_lambda/escodegen/node_modules/levn/lib/parse-string.js +0 -113
  365. package/node_modules_lambda/escodegen/node_modules/levn/lib/parse.js +0 -102
  366. package/node_modules_lambda/escodegen/node_modules/levn/package.json +0 -47
  367. package/node_modules_lambda/escodegen/node_modules/optionator/CHANGELOG.md +0 -56
  368. package/node_modules_lambda/escodegen/node_modules/optionator/LICENSE +0 -22
  369. package/node_modules_lambda/escodegen/node_modules/optionator/README.md +0 -238
  370. package/node_modules_lambda/escodegen/node_modules/optionator/lib/help.js +0 -260
  371. package/node_modules_lambda/escodegen/node_modules/optionator/lib/index.js +0 -465
  372. package/node_modules_lambda/escodegen/node_modules/optionator/lib/util.js +0 -54
  373. package/node_modules_lambda/escodegen/node_modules/optionator/package.json +0 -44
  374. package/node_modules_lambda/escodegen/node_modules/prelude-ls/CHANGELOG.md +0 -99
  375. package/node_modules_lambda/escodegen/node_modules/prelude-ls/LICENSE +0 -22
  376. package/node_modules_lambda/escodegen/node_modules/prelude-ls/README.md +0 -15
  377. package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/Func.js +0 -65
  378. package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/List.js +0 -686
  379. package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/Num.js +0 -130
  380. package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/Obj.js +0 -154
  381. package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/Str.js +0 -92
  382. package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/index.js +0 -178
  383. package/node_modules_lambda/escodegen/node_modules/prelude-ls/package.json +0 -52
  384. package/node_modules_lambda/escodegen/node_modules/source-map/CHANGELOG.md +0 -301
  385. package/node_modules_lambda/escodegen/node_modules/source-map/LICENSE +0 -28
  386. package/node_modules_lambda/escodegen/node_modules/source-map/README.md +0 -742
  387. package/node_modules_lambda/escodegen/node_modules/source-map/dist/source-map.debug.js +0 -3234
  388. package/node_modules_lambda/escodegen/node_modules/source-map/dist/source-map.js +0 -3233
  389. package/node_modules_lambda/escodegen/node_modules/source-map/dist/source-map.min.js +0 -2
  390. package/node_modules_lambda/escodegen/node_modules/source-map/dist/source-map.min.js.map +0 -1
  391. package/node_modules_lambda/escodegen/node_modules/source-map/lib/array-set.js +0 -121
  392. package/node_modules_lambda/escodegen/node_modules/source-map/lib/base64-vlq.js +0 -140
  393. package/node_modules_lambda/escodegen/node_modules/source-map/lib/base64.js +0 -67
  394. package/node_modules_lambda/escodegen/node_modules/source-map/lib/binary-search.js +0 -111
  395. package/node_modules_lambda/escodegen/node_modules/source-map/lib/mapping-list.js +0 -79
  396. package/node_modules_lambda/escodegen/node_modules/source-map/lib/quick-sort.js +0 -114
  397. package/node_modules_lambda/escodegen/node_modules/source-map/lib/source-map-consumer.js +0 -1145
  398. package/node_modules_lambda/escodegen/node_modules/source-map/lib/source-map-generator.js +0 -425
  399. package/node_modules_lambda/escodegen/node_modules/source-map/lib/source-node.js +0 -413
  400. package/node_modules_lambda/escodegen/node_modules/source-map/lib/util.js +0 -488
  401. package/node_modules_lambda/escodegen/node_modules/source-map/package.json +0 -73
  402. package/node_modules_lambda/escodegen/node_modules/source-map/source-map.d.ts +0 -98
  403. package/node_modules_lambda/escodegen/node_modules/source-map/source-map.js +0 -8
  404. package/node_modules_lambda/escodegen/node_modules/type-check/LICENSE +0 -22
  405. package/node_modules_lambda/escodegen/node_modules/type-check/README.md +0 -210
  406. package/node_modules_lambda/escodegen/node_modules/type-check/lib/check.js +0 -126
  407. package/node_modules_lambda/escodegen/node_modules/type-check/lib/index.js +0 -16
  408. package/node_modules_lambda/escodegen/node_modules/type-check/lib/parse-type.js +0 -196
  409. package/node_modules_lambda/escodegen/node_modules/type-check/package.json +0 -40
  410. package/node_modules_lambda/escodegen/package.json +0 -62
  411. package/node_modules_lambda/esprima/ChangeLog +0 -235
  412. package/node_modules_lambda/esprima/LICENSE.BSD +0 -21
  413. package/node_modules_lambda/esprima/README.md +0 -46
  414. package/node_modules_lambda/esprima/bin/esparse.js +0 -139
  415. package/node_modules_lambda/esprima/bin/esvalidate.js +0 -236
  416. package/node_modules_lambda/esprima/dist/esprima.js +0 -6709
  417. package/node_modules_lambda/esprima/package.json +0 -112
  418. package/node_modules_lambda/esutils/LICENSE.BSD +0 -19
  419. package/node_modules_lambda/esutils/README.md +0 -174
  420. package/node_modules_lambda/esutils/lib/ast.js +0 -144
  421. package/node_modules_lambda/esutils/lib/code.js +0 -135
  422. package/node_modules_lambda/esutils/lib/keyword.js +0 -165
  423. package/node_modules_lambda/esutils/lib/utils.js +0 -33
  424. package/node_modules_lambda/esutils/package.json +0 -44
  425. package/node_modules_lambda/fast-levenshtein/LICENSE.md +0 -25
  426. package/node_modules_lambda/fast-levenshtein/README.md +0 -104
  427. package/node_modules_lambda/fast-levenshtein/levenshtein.js +0 -136
  428. package/node_modules_lambda/fast-levenshtein/package.json +0 -39
  429. package/node_modules_lambda/form-data/License +0 -19
  430. package/node_modules_lambda/form-data/README.md.bak +0 -358
  431. package/node_modules_lambda/form-data/Readme.md +0 -358
  432. package/node_modules_lambda/form-data/index.d.ts +0 -62
  433. package/node_modules_lambda/form-data/lib/browser.js +0 -2
  434. package/node_modules_lambda/form-data/lib/form_data.js +0 -501
  435. package/node_modules_lambda/form-data/lib/populate.js +0 -10
  436. package/node_modules_lambda/form-data/package.json +0 -68
  437. package/node_modules_lambda/html-encoding-sniffer/LICENSE.txt +0 -7
  438. package/node_modules_lambda/html-encoding-sniffer/README.md +0 -40
  439. package/node_modules_lambda/html-encoding-sniffer/lib/html-encoding-sniffer.js +0 -295
  440. package/node_modules_lambda/html-encoding-sniffer/package.json +0 -31
  441. package/node_modules_lambda/http-proxy-agent/README.md +0 -74
  442. package/node_modules_lambda/http-proxy-agent/dist/agent.d.ts +0 -32
  443. package/node_modules_lambda/http-proxy-agent/dist/agent.js +0 -145
  444. package/node_modules_lambda/http-proxy-agent/dist/agent.js.map +0 -1
  445. package/node_modules_lambda/http-proxy-agent/dist/index.d.ts +0 -21
  446. package/node_modules_lambda/http-proxy-agent/dist/index.js +0 -14
  447. package/node_modules_lambda/http-proxy-agent/dist/index.js.map +0 -1
  448. package/node_modules_lambda/http-proxy-agent/package.json +0 -57
  449. package/node_modules_lambda/https-proxy-agent/README.md +0 -137
  450. package/node_modules_lambda/https-proxy-agent/dist/agent.d.ts +0 -30
  451. package/node_modules_lambda/https-proxy-agent/dist/agent.js +0 -177
  452. package/node_modules_lambda/https-proxy-agent/dist/agent.js.map +0 -1
  453. package/node_modules_lambda/https-proxy-agent/dist/index.d.ts +0 -23
  454. package/node_modules_lambda/https-proxy-agent/dist/index.js +0 -14
  455. package/node_modules_lambda/https-proxy-agent/dist/index.js.map +0 -1
  456. package/node_modules_lambda/https-proxy-agent/dist/parse-proxy-response.d.ts +0 -7
  457. package/node_modules_lambda/https-proxy-agent/dist/parse-proxy-response.js +0 -66
  458. package/node_modules_lambda/https-proxy-agent/dist/parse-proxy-response.js.map +0 -1
  459. package/node_modules_lambda/https-proxy-agent/package.json +0 -56
  460. package/node_modules_lambda/is-potential-custom-element-name/LICENSE-MIT.txt +0 -20
  461. package/node_modules_lambda/is-potential-custom-element-name/README.md +0 -40
  462. package/node_modules_lambda/is-potential-custom-element-name/index.js +0 -9
  463. package/node_modules_lambda/is-potential-custom-element-name/package.json +0 -35
  464. package/node_modules_lambda/jsdom/LICENSE.txt +0 -22
  465. package/node_modules_lambda/jsdom/README.md +0 -522
  466. package/node_modules_lambda/jsdom/lib/api.js +0 -333
  467. package/node_modules_lambda/jsdom/lib/jsdom/browser/Window.js +0 -933
  468. package/node_modules_lambda/jsdom/lib/jsdom/browser/default-stylesheet.js +0 -789
  469. package/node_modules_lambda/jsdom/lib/jsdom/browser/js-globals.json +0 -307
  470. package/node_modules_lambda/jsdom/lib/jsdom/browser/not-implemented.js +0 -13
  471. package/node_modules_lambda/jsdom/lib/jsdom/browser/parser/html.js +0 -224
  472. package/node_modules_lambda/jsdom/lib/jsdom/browser/parser/index.js +0 -37
  473. package/node_modules_lambda/jsdom/lib/jsdom/browser/parser/xml.js +0 -202
  474. package/node_modules_lambda/jsdom/lib/jsdom/browser/resources/async-resource-queue.js +0 -114
  475. package/node_modules_lambda/jsdom/lib/jsdom/browser/resources/no-op-resource-loader.js +0 -8
  476. package/node_modules_lambda/jsdom/lib/jsdom/browser/resources/per-document-resource-loader.js +0 -95
  477. package/node_modules_lambda/jsdom/lib/jsdom/browser/resources/request-manager.js +0 -33
  478. package/node_modules_lambda/jsdom/lib/jsdom/browser/resources/resource-loader.js +0 -142
  479. package/node_modules_lambda/jsdom/lib/jsdom/browser/resources/resource-queue.js +0 -142
  480. package/node_modules_lambda/jsdom/lib/jsdom/level2/style.js +0 -57
  481. package/node_modules_lambda/jsdom/lib/jsdom/level3/xpath.js +0 -1874
  482. package/node_modules_lambda/jsdom/lib/jsdom/living/aborting/AbortController-impl.js +0 -17
  483. package/node_modules_lambda/jsdom/lib/jsdom/living/aborting/AbortSignal-impl.js +0 -69
  484. package/node_modules_lambda/jsdom/lib/jsdom/living/attributes/Attr-impl.js +0 -60
  485. package/node_modules_lambda/jsdom/lib/jsdom/living/attributes/NamedNodeMap-impl.js +0 -78
  486. package/node_modules_lambda/jsdom/lib/jsdom/living/attributes.js +0 -312
  487. package/node_modules_lambda/jsdom/lib/jsdom/living/constraint-validation/DefaultConstraintValidation-impl.js +0 -75
  488. package/node_modules_lambda/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js +0 -66
  489. package/node_modules_lambda/jsdom/lib/jsdom/living/cssom/StyleSheetList-impl.js +0 -38
  490. package/node_modules_lambda/jsdom/lib/jsdom/living/custom-elements/CustomElementRegistry-impl.js +0 -265
  491. package/node_modules_lambda/jsdom/lib/jsdom/living/documents.js +0 -15
  492. package/node_modules_lambda/jsdom/lib/jsdom/living/domparsing/DOMParser-impl.js +0 -58
  493. package/node_modules_lambda/jsdom/lib/jsdom/living/domparsing/InnerHTML-impl.js +0 -29
  494. package/node_modules_lambda/jsdom/lib/jsdom/living/domparsing/XMLSerializer-impl.js +0 -18
  495. package/node_modules_lambda/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js +0 -63
  496. package/node_modules_lambda/jsdom/lib/jsdom/living/domparsing/serialization.js +0 -45
  497. package/node_modules_lambda/jsdom/lib/jsdom/living/events/CloseEvent-impl.js +0 -10
  498. package/node_modules_lambda/jsdom/lib/jsdom/living/events/CompositionEvent-impl.js +0 -20
  499. package/node_modules_lambda/jsdom/lib/jsdom/living/events/CustomEvent-impl.js +0 -21
  500. package/node_modules_lambda/jsdom/lib/jsdom/living/events/ErrorEvent-impl.js +0 -14
  501. package/node_modules_lambda/jsdom/lib/jsdom/living/events/Event-impl.js +0 -197
  502. package/node_modules_lambda/jsdom/lib/jsdom/living/events/EventModifierMixin-impl.js +0 -18
  503. package/node_modules_lambda/jsdom/lib/jsdom/living/events/EventTarget-impl.js +0 -405
  504. package/node_modules_lambda/jsdom/lib/jsdom/living/events/FocusEvent-impl.js +0 -9
  505. package/node_modules_lambda/jsdom/lib/jsdom/living/events/HashChangeEvent-impl.js +0 -14
  506. package/node_modules_lambda/jsdom/lib/jsdom/living/events/InputEvent-impl.js +0 -11
  507. package/node_modules_lambda/jsdom/lib/jsdom/living/events/KeyboardEvent-impl.js +0 -29
  508. package/node_modules_lambda/jsdom/lib/jsdom/living/events/MessageEvent-impl.js +0 -25
  509. package/node_modules_lambda/jsdom/lib/jsdom/living/events/MouseEvent-impl.js +0 -49
  510. package/node_modules_lambda/jsdom/lib/jsdom/living/events/PageTransitionEvent-impl.js +0 -20
  511. package/node_modules_lambda/jsdom/lib/jsdom/living/events/PopStateEvent-impl.js +0 -9
  512. package/node_modules_lambda/jsdom/lib/jsdom/living/events/ProgressEvent-impl.js +0 -14
  513. package/node_modules_lambda/jsdom/lib/jsdom/living/events/StorageEvent-impl.js +0 -26
  514. package/node_modules_lambda/jsdom/lib/jsdom/living/events/TouchEvent-impl.js +0 -14
  515. package/node_modules_lambda/jsdom/lib/jsdom/living/events/UIEvent-impl.js +0 -59
  516. package/node_modules_lambda/jsdom/lib/jsdom/living/events/WheelEvent-impl.js +0 -12
  517. package/node_modules_lambda/jsdom/lib/jsdom/living/fetch/Headers-impl.js +0 -170
  518. package/node_modules_lambda/jsdom/lib/jsdom/living/fetch/header-list.js +0 -54
  519. package/node_modules_lambda/jsdom/lib/jsdom/living/fetch/header-types.js +0 -103
  520. package/node_modules_lambda/jsdom/lib/jsdom/living/file-api/Blob-impl.js +0 -93
  521. package/node_modules_lambda/jsdom/lib/jsdom/living/file-api/File-impl.js +0 -12
  522. package/node_modules_lambda/jsdom/lib/jsdom/living/file-api/FileList-impl.js +0 -15
  523. package/node_modules_lambda/jsdom/lib/jsdom/living/file-api/FileReader-impl.js +0 -130
  524. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/AbortController.js +0 -143
  525. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/AbortSignal.js +0 -184
  526. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/AbstractRange.js +0 -171
  527. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/AddEventListenerOptions.js +0 -44
  528. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/AssignedNodesOptions.js +0 -28
  529. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Attr.js +0 -217
  530. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/BarProp.js +0 -117
  531. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/BinaryType.js +0 -12
  532. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Blob.js +0 -203
  533. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/BlobCallback.js +0 -30
  534. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/BlobPropertyBag.js +0 -42
  535. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/CDATASection.js +0 -109
  536. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/CanPlayTypeResult.js +0 -12
  537. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/CharacterData.js +0 -453
  538. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/CloseEvent.js +0 -168
  539. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/CloseEventInit.js +0 -65
  540. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Comment.js +0 -120
  541. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/CompositionEvent.js +0 -219
  542. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/CompositionEventInit.js +0 -32
  543. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/CustomElementConstructor.js +0 -34
  544. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/CustomElementRegistry.js +0 -242
  545. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/CustomEvent.js +0 -206
  546. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/CustomEventInit.js +0 -32
  547. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/DOMImplementation.js +0 -237
  548. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/DOMParser.js +0 -140
  549. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/DOMStringMap.js +0 -323
  550. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/DOMTokenList.js +0 -563
  551. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Document.js +0 -3593
  552. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/DocumentFragment.js +0 -334
  553. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/DocumentReadyState.js +0 -12
  554. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/DocumentType.js +0 -252
  555. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Element.js +0 -1718
  556. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ElementCreationOptions.js +0 -26
  557. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ElementDefinitionOptions.js +0 -29
  558. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/EndingType.js +0 -12
  559. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ErrorEvent.js +0 -192
  560. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ErrorEventInit.js +0 -92
  561. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Event.js +0 -430
  562. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/EventHandlerNonNull.js +0 -36
  563. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/EventInit.js +0 -58
  564. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/EventListener.js +0 -35
  565. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/EventListenerOptions.js +0 -28
  566. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/EventModifierInit.js +0 -221
  567. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/EventTarget.js +0 -259
  568. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/External.js +0 -130
  569. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/File.js +0 -177
  570. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/FileList.js +0 -324
  571. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/FilePropertyBag.js +0 -33
  572. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/FileReader.js +0 -468
  573. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/FocusEvent.js +0 -144
  574. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/FocusEventInit.js +0 -36
  575. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/FormData.js +0 -452
  576. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Function.js +0 -42
  577. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/GetRootNodeOptions.js +0 -31
  578. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLAnchorElement.js +0 -1023
  579. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLAreaElement.js +0 -822
  580. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLAudioElement.js +0 -110
  581. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLBRElement.js +0 -153
  582. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLBaseElement.js +0 -193
  583. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLBodyElement.js +0 -877
  584. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLButtonElement.js +0 -522
  585. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js +0 -304
  586. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLCollection.js +0 -378
  587. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLDListElement.js +0 -156
  588. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLDataElement.js +0 -153
  589. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLDataListElement.js +0 -125
  590. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLDetailsElement.js +0 -156
  591. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLDialogElement.js +0 -156
  592. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLDirectoryElement.js +0 -156
  593. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLDivElement.js +0 -153
  594. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLElement.js +0 -2549
  595. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLEmbedElement.js +0 -371
  596. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLFieldSetElement.js +0 -329
  597. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLFontElement.js +0 -236
  598. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLFormElement.js +0 -501
  599. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLFrameElement.js +0 -494
  600. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLFrameSetElement.js +0 -708
  601. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLHRElement.js +0 -320
  602. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLHeadElement.js +0 -110
  603. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLHeadingElement.js +0 -153
  604. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLHtmlElement.js +0 -153
  605. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLIFrameElement.js +0 -670
  606. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLImageElement.js +0 -870
  607. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLInputElement.js +0 -1875
  608. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLLIElement.js +0 -199
  609. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLLabelElement.js +0 -179
  610. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLLegendElement.js +0 -166
  611. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLLinkElement.js +0 -542
  612. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLMapElement.js +0 -168
  613. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLMarqueeElement.js +0 -546
  614. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLMediaElement.js +0 -888
  615. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLMenuElement.js +0 -156
  616. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLMetaElement.js +0 -276
  617. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLMeterElement.js +0 -365
  618. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLModElement.js +0 -207
  619. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLOListElement.js +0 -281
  620. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLObjectElement.js +0 -921
  621. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLOptGroupElement.js +0 -197
  622. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLOptionElement.js +0 -376
  623. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLOptionsCollection.js +0 -537
  624. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLOutputElement.js +0 -392
  625. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLParagraphElement.js +0 -153
  626. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLParamElement.js +0 -276
  627. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLPictureElement.js +0 -110
  628. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLPreElement.js +0 -158
  629. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLProgressElement.js +0 -218
  630. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLQuoteElement.js +0 -166
  631. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLScriptElement.js +0 -459
  632. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLSelectElement.js +0 -1013
  633. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLSlotElement.js +0 -192
  634. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLSourceElement.js +0 -330
  635. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLSpanElement.js +0 -110
  636. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLStyleElement.js +0 -207
  637. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLTableCaptionElement.js +0 -153
  638. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLTableCellElement.js +0 -700
  639. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLTableColElement.js +0 -364
  640. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLTableElement.js +0 -799
  641. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLTableRowElement.js +0 -414
  642. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLTableSectionElement.js +0 -346
  643. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLTemplateElement.js +0 -123
  644. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLTextAreaElement.js +0 -1171
  645. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLTimeElement.js +0 -153
  646. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLTitleElement.js +0 -152
  647. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLTrackElement.js +0 -356
  648. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLUListElement.js +0 -197
  649. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLUnknownElement.js +0 -109
  650. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HTMLVideoElement.js +0 -329
  651. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HashChangeEvent.js +0 -157
  652. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/HashChangeEventInit.js +0 -50
  653. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Headers.js +0 -408
  654. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/History.js +0 -266
  655. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/InputEvent.js +0 -168
  656. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/InputEventInit.js +0 -68
  657. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/KeyboardEvent.js +0 -445
  658. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/KeyboardEventInit.js +0 -116
  659. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Location.js +0 -404
  660. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/MessageEvent.js +0 -317
  661. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/MessageEventInit.js +0 -100
  662. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/MimeType.js +0 -156
  663. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/MimeTypeArray.js +0 -352
  664. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/MouseEvent.js +0 -499
  665. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/MouseEventInit.js +0 -111
  666. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/MutationCallback.js +0 -34
  667. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/MutationObserver.js +0 -178
  668. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/MutationObserverInit.js +0 -121
  669. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/MutationRecord.js +0 -229
  670. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/NamedNodeMap.js +0 -553
  671. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Navigator.js +0 -326
  672. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Node.js +0 -763
  673. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/NodeFilter.js +0 -75
  674. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/NodeIterator.js +0 -207
  675. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/NodeList.js +0 -328
  676. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/OnBeforeUnloadEventHandlerNonNull.js +0 -42
  677. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/OnErrorEventHandlerNonNull.js +0 -56
  678. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/PageTransitionEvent.js +0 -144
  679. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/PageTransitionEventInit.js +0 -35
  680. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Performance.js +0 -142
  681. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Plugin.js +0 -385
  682. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/PluginArray.js +0 -362
  683. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/PopStateEvent.js +0 -144
  684. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/PopStateEventInit.js +0 -32
  685. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ProcessingInstruction.js +0 -122
  686. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ProgressEvent.js +0 -170
  687. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ProgressEventInit.js +0 -65
  688. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Range.js +0 -641
  689. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/SVGAnimatedString.js +0 -149
  690. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/SVGBoundingBoxOptions.js +0 -64
  691. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/SVGElement.js +0 -2227
  692. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/SVGGraphicsElement.js +0 -139
  693. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/SVGNumber.js +0 -132
  694. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/SVGSVGElement.js +0 -737
  695. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/SVGStringList.js +0 -537
  696. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/SVGTitleElement.js +0 -109
  697. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Screen.js +0 -180
  698. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ScrollBehavior.js +0 -12
  699. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ScrollIntoViewOptions.js +0 -45
  700. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ScrollLogicalPosition.js +0 -14
  701. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ScrollOptions.js +0 -30
  702. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ScrollRestoration.js +0 -12
  703. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Selection.js +0 -569
  704. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/SelectionMode.js +0 -12
  705. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ShadowRoot.js +0 -187
  706. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ShadowRootInit.js +0 -30
  707. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ShadowRootMode.js +0 -12
  708. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/StaticRange.js +0 -123
  709. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/StaticRangeInit.js +0 -72
  710. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Storage.js +0 -423
  711. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/StorageEvent.js +0 -318
  712. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/StorageEventInit.js +0 -99
  713. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/StyleSheetList.js +0 -326
  714. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/SupportedType.js +0 -18
  715. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/Text.js +0 -170
  716. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/TextTrackKind.js +0 -12
  717. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/TouchEvent.js +0 -222
  718. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/TouchEventInit.js +0 -89
  719. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/TreeWalker.js +0 -255
  720. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/UIEvent.js +0 -235
  721. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/UIEventInit.js +0 -62
  722. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/ValidityState.js +0 -249
  723. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/VisibilityState.js +0 -12
  724. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/VoidFunction.js +0 -26
  725. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/WebSocket.js +0 -476
  726. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/WheelEvent.js +0 -191
  727. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/WheelEventInit.js +0 -71
  728. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/XMLDocument.js +0 -109
  729. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/XMLHttpRequest.js +0 -655
  730. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/XMLHttpRequestEventTarget.js +0 -334
  731. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/XMLHttpRequestResponseType.js +0 -14
  732. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/XMLHttpRequestUpload.js +0 -109
  733. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/XMLSerializer.js +0 -132
  734. package/node_modules_lambda/jsdom/lib/jsdom/living/generated/utils.js +0 -190
  735. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/agent-factory.js +0 -15
  736. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/binary-data.js +0 -9
  737. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/create-element.js +0 -320
  738. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/create-event-accessor.js +0 -188
  739. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/custom-elements.js +0 -270
  740. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/dates-and-times.js +0 -270
  741. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/details.js +0 -15
  742. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/document-base-url.js +0 -54
  743. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/events.js +0 -24
  744. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/focusing.js +0 -104
  745. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/form-controls.js +0 -306
  746. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/html-constructor.js +0 -78
  747. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/http-request.js +0 -254
  748. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/internal-constants.js +0 -12
  749. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/iterable-weak-set.js +0 -48
  750. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/json.js +0 -12
  751. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/mutation-observers.js +0 -198
  752. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/namespaces.js +0 -15
  753. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/node.js +0 -68
  754. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/number-and-date-inputs.js +0 -195
  755. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/ordered-set.js +0 -104
  756. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/page-transition-event.js +0 -9
  757. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js +0 -76
  758. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/selectors.js +0 -47
  759. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/shadow-dom.js +0 -285
  760. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/strings.js +0 -148
  761. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/style-rules.js +0 -114
  762. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/stylesheets.js +0 -113
  763. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/svg/basic-types.js +0 -41
  764. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/svg/render.js +0 -46
  765. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/text.js +0 -19
  766. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/traversal.js +0 -72
  767. package/node_modules_lambda/jsdom/lib/jsdom/living/helpers/validate-names.js +0 -65
  768. package/node_modules_lambda/jsdom/lib/jsdom/living/hr-time/Performance-impl.js +0 -25
  769. package/node_modules_lambda/jsdom/lib/jsdom/living/interfaces.js +0 -217
  770. package/node_modules_lambda/jsdom/lib/jsdom/living/mutation-observer/MutationObserver-impl.js +0 -95
  771. package/node_modules_lambda/jsdom/lib/jsdom/living/mutation-observer/MutationRecord-impl.js +0 -37
  772. package/node_modules_lambda/jsdom/lib/jsdom/living/named-properties-window.js +0 -141
  773. package/node_modules_lambda/jsdom/lib/jsdom/living/navigator/MimeType-impl.js +0 -3
  774. package/node_modules_lambda/jsdom/lib/jsdom/living/navigator/MimeTypeArray-impl.js +0 -21
  775. package/node_modules_lambda/jsdom/lib/jsdom/living/navigator/Navigator-impl.js +0 -29
  776. package/node_modules_lambda/jsdom/lib/jsdom/living/navigator/NavigatorConcurrentHardware-impl.js +0 -8
  777. package/node_modules_lambda/jsdom/lib/jsdom/living/navigator/NavigatorCookies-impl.js +0 -7
  778. package/node_modules_lambda/jsdom/lib/jsdom/living/navigator/NavigatorID-impl.js +0 -37
  779. package/node_modules_lambda/jsdom/lib/jsdom/living/navigator/NavigatorLanguage-impl.js +0 -9
  780. package/node_modules_lambda/jsdom/lib/jsdom/living/navigator/NavigatorOnLine-impl.js +0 -7
  781. package/node_modules_lambda/jsdom/lib/jsdom/living/navigator/NavigatorPlugins-impl.js +0 -8
  782. package/node_modules_lambda/jsdom/lib/jsdom/living/navigator/Plugin-impl.js +0 -3
  783. package/node_modules_lambda/jsdom/lib/jsdom/living/navigator/PluginArray-impl.js +0 -23
  784. package/node_modules_lambda/jsdom/lib/jsdom/living/node-document-position.js +0 -10
  785. package/node_modules_lambda/jsdom/lib/jsdom/living/node-type.js +0 -16
  786. package/node_modules_lambda/jsdom/lib/jsdom/living/node.js +0 -331
  787. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/CDATASection-impl.js +0 -16
  788. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js +0 -118
  789. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/ChildNode-impl.js +0 -80
  790. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/Comment-impl.js +0 -20
  791. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/DOMImplementation-impl.js +0 -120
  792. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/DOMStringMap-impl.js +0 -64
  793. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/DOMTokenList-impl.js +0 -171
  794. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/Document-impl.js +0 -946
  795. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/DocumentFragment-impl.js +0 -44
  796. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/DocumentOrShadowRoot-impl.js +0 -28
  797. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/DocumentType-impl.js +0 -24
  798. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/Element-impl.js +0 -582
  799. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/ElementCSSInlineStyle-impl.js +0 -25
  800. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/ElementContentEditable-impl.js +0 -7
  801. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/GlobalEventHandlers-impl.js +0 -95
  802. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLAnchorElement-impl.js +0 -50
  803. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js +0 -43
  804. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLAudioElement-impl.js +0 -9
  805. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLBRElement-impl.js +0 -9
  806. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js +0 -27
  807. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLBodyElement-impl.js +0 -17
  808. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLButtonElement-impl.js +0 -79
  809. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js +0 -130
  810. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLCollection-impl.js +0 -96
  811. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLDListElement-impl.js +0 -9
  812. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLDataElement-impl.js +0 -9
  813. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLDataListElement-impl.js +0 -20
  814. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLDetailsElement-impl.js +0 -35
  815. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLDialogElement-impl.js +0 -9
  816. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLDirectoryElement-impl.js +0 -9
  817. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLDivElement-impl.js +0 -9
  818. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLElement-impl.js +0 -160
  819. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLEmbedElement-impl.js +0 -8
  820. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLFieldSetElement-impl.js +0 -43
  821. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLFontElement-impl.js +0 -9
  822. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLFormElement-impl.js +0 -232
  823. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLFrameElement-impl.js +0 -261
  824. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLFrameSetElement-impl.js +0 -17
  825. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLHRElement-impl.js +0 -9
  826. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLHeadElement-impl.js +0 -9
  827. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLHeadingElement-impl.js +0 -9
  828. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLHtmlElement-impl.js +0 -9
  829. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js +0 -371
  830. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLIFrameElement-impl.js +0 -9
  831. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLImageElement-impl.js +0 -132
  832. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLInputElement-impl.js +0 -1129
  833. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLLIElement-impl.js +0 -9
  834. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLLabelElement-impl.js +0 -94
  835. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLLegendElement-impl.js +0 -18
  836. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLLinkElement-impl.js +0 -101
  837. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLMapElement-impl.js +0 -13
  838. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLMarqueeElement-impl.js +0 -9
  839. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLMediaElement-impl.js +0 -138
  840. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLMenuElement-impl.js +0 -9
  841. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLMetaElement-impl.js +0 -9
  842. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLMeterElement-impl.js +0 -180
  843. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLModElement-impl.js +0 -9
  844. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLOListElement-impl.js +0 -22
  845. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLObjectElement-impl.js +0 -26
  846. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLOptGroupElement-impl.js +0 -9
  847. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLOptionElement-impl.js +0 -146
  848. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLOptionsCollection-impl.js +0 -110
  849. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLOrSVGElement-impl.js +0 -85
  850. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLOutputElement-impl.js +0 -88
  851. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLParagraphElement-impl.js +0 -9
  852. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLParamElement-impl.js +0 -9
  853. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLPictureElement-impl.js +0 -9
  854. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLPreElement-impl.js +0 -9
  855. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLProgressElement-impl.js +0 -74
  856. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLQuoteElement-impl.js +0 -9
  857. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLScriptElement-impl.js +0 -265
  858. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLSelectElement-impl.js +0 -283
  859. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLSlotElement-impl.js +0 -59
  860. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLSourceElement-impl.js +0 -8
  861. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLSpanElement-impl.js +0 -9
  862. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js +0 -74
  863. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLTableCaptionElement-impl.js +0 -9
  864. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLTableCellElement-impl.js +0 -73
  865. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLTableColElement-impl.js +0 -9
  866. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLTableElement-impl.js +0 -236
  867. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLTableRowElement-impl.js +0 -88
  868. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLTableSectionElement-impl.js +0 -61
  869. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLTemplateElement-impl.js +0 -67
  870. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLTextAreaElement-impl.js +0 -272
  871. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLTimeElement-impl.js +0 -9
  872. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLTitleElement-impl.js +0 -18
  873. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLTrackElement-impl.js +0 -13
  874. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLUListElement-impl.js +0 -9
  875. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLUnknownElement-impl.js +0 -9
  876. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/HTMLVideoElement-impl.js +0 -17
  877. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/LinkStyle-impl.js +0 -2
  878. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/Node-impl.js +0 -1159
  879. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/NodeList-impl.js +0 -43
  880. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/NonDocumentTypeChildNode-impl.js +0 -28
  881. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/NonElementParentNode-impl.js +0 -11
  882. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/ParentNode-impl.js +0 -91
  883. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/ProcessingInstruction-impl.js +0 -22
  884. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/SVGElement-impl.js +0 -64
  885. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/SVGGraphicsElement-impl.js +0 -16
  886. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/SVGSVGElement-impl.js +0 -42
  887. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/SVGTests-impl.js +0 -42
  888. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/SVGTitleElement-impl.js +0 -9
  889. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/ShadowRoot-impl.js +0 -40
  890. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/Slotable-impl.js +0 -48
  891. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/Text-impl.js +0 -96
  892. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/WindowEventHandlers-impl.js +0 -52
  893. package/node_modules_lambda/jsdom/lib/jsdom/living/nodes/XMLDocument-impl.js +0 -4
  894. package/node_modules_lambda/jsdom/lib/jsdom/living/post-message.js +0 -39
  895. package/node_modules_lambda/jsdom/lib/jsdom/living/range/AbstractRange-impl.js +0 -43
  896. package/node_modules_lambda/jsdom/lib/jsdom/living/range/Range-impl.js +0 -897
  897. package/node_modules_lambda/jsdom/lib/jsdom/living/range/StaticRange-impl.js +0 -39
  898. package/node_modules_lambda/jsdom/lib/jsdom/living/range/boundary-point.js +0 -47
  899. package/node_modules_lambda/jsdom/lib/jsdom/living/selection/Selection-impl.js +0 -342
  900. package/node_modules_lambda/jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl.js +0 -38
  901. package/node_modules_lambda/jsdom/lib/jsdom/living/svg/SVGListBase.js +0 -195
  902. package/node_modules_lambda/jsdom/lib/jsdom/living/svg/SVGNumber-impl.js +0 -48
  903. package/node_modules_lambda/jsdom/lib/jsdom/living/svg/SVGStringList-impl.js +0 -16
  904. package/node_modules_lambda/jsdom/lib/jsdom/living/traversal/NodeIterator-impl.js +0 -127
  905. package/node_modules_lambda/jsdom/lib/jsdom/living/traversal/TreeWalker-impl.js +0 -217
  906. package/node_modules_lambda/jsdom/lib/jsdom/living/traversal/helpers.js +0 -44
  907. package/node_modules_lambda/jsdom/lib/jsdom/living/websockets/WebSocket-impl-browser.js +0 -175
  908. package/node_modules_lambda/jsdom/lib/jsdom/living/websockets/WebSocket-impl.js +0 -328
  909. package/node_modules_lambda/jsdom/lib/jsdom/living/webstorage/Storage-impl.js +0 -102
  910. package/node_modules_lambda/jsdom/lib/jsdom/living/window/BarProp-impl.js +0 -10
  911. package/node_modules_lambda/jsdom/lib/jsdom/living/window/External-impl.js +0 -9
  912. package/node_modules_lambda/jsdom/lib/jsdom/living/window/History-impl.js +0 -134
  913. package/node_modules_lambda/jsdom/lib/jsdom/living/window/Location-impl.js +0 -238
  914. package/node_modules_lambda/jsdom/lib/jsdom/living/window/Screen-impl.js +0 -13
  915. package/node_modules_lambda/jsdom/lib/jsdom/living/window/SessionHistory.js +0 -163
  916. package/node_modules_lambda/jsdom/lib/jsdom/living/window/navigation.js +0 -85
  917. package/node_modules_lambda/jsdom/lib/jsdom/living/xhr/FormData-impl.js +0 -171
  918. package/node_modules_lambda/jsdom/lib/jsdom/living/xhr/XMLHttpRequest-impl.js +0 -1023
  919. package/node_modules_lambda/jsdom/lib/jsdom/living/xhr/XMLHttpRequestEventTarget-impl.js +0 -17
  920. package/node_modules_lambda/jsdom/lib/jsdom/living/xhr/XMLHttpRequestUpload-impl.js +0 -4
  921. package/node_modules_lambda/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js +0 -60
  922. package/node_modules_lambda/jsdom/lib/jsdom/living/xhr/xhr-utils.js +0 -438
  923. package/node_modules_lambda/jsdom/lib/jsdom/named-properties-tracker.js +0 -158
  924. package/node_modules_lambda/jsdom/lib/jsdom/utils.js +0 -165
  925. package/node_modules_lambda/jsdom/lib/jsdom/virtual-console.js +0 -34
  926. package/node_modules_lambda/jsdom/lib/jsdom/vm-shim.js +0 -106
  927. package/node_modules_lambda/jsdom/package.json +0 -116
  928. package/node_modules_lambda/mime-db/HISTORY.md +0 -507
  929. package/node_modules_lambda/mime-db/LICENSE +0 -23
  930. package/node_modules_lambda/mime-db/README.md +0 -100
  931. package/node_modules_lambda/mime-db/db.json +0 -8519
  932. package/node_modules_lambda/mime-db/index.js +0 -12
  933. package/node_modules_lambda/mime-db/package.json +0 -60
  934. package/node_modules_lambda/mime-types/HISTORY.md +0 -397
  935. package/node_modules_lambda/mime-types/LICENSE +0 -23
  936. package/node_modules_lambda/mime-types/README.md +0 -113
  937. package/node_modules_lambda/mime-types/index.js +0 -188
  938. package/node_modules_lambda/mime-types/package.json +0 -44
  939. package/node_modules_lambda/ms/index.js +0 -162
  940. package/node_modules_lambda/ms/license.md +0 -21
  941. package/node_modules_lambda/ms/package.json +0 -37
  942. package/node_modules_lambda/ms/readme.md +0 -60
  943. package/node_modules_lambda/nwsapi/LICENSE +0 -22
  944. package/node_modules_lambda/nwsapi/README.md +0 -132
  945. package/node_modules_lambda/nwsapi/dist/lint.log +0 -0
  946. package/node_modules_lambda/nwsapi/package.json +0 -38
  947. package/node_modules_lambda/nwsapi/src/modules/nwsapi-jquery.js +0 -135
  948. package/node_modules_lambda/nwsapi/src/modules/nwsapi-traversal.js +0 -90
  949. package/node_modules_lambda/nwsapi/src/nwsapi.js +0 -1800
  950. package/node_modules_lambda/parse5/LICENSE +0 -19
  951. package/node_modules_lambda/parse5/README.md +0 -38
  952. package/node_modules_lambda/parse5/lib/common/doctype.js +0 -162
  953. package/node_modules_lambda/parse5/lib/common/error-codes.js +0 -65
  954. package/node_modules_lambda/parse5/lib/common/foreign-content.js +0 -265
  955. package/node_modules_lambda/parse5/lib/common/html.js +0 -272
  956. package/node_modules_lambda/parse5/lib/common/unicode.js +0 -109
  957. package/node_modules_lambda/parse5/lib/extensions/error-reporting/mixin-base.js +0 -43
  958. package/node_modules_lambda/parse5/lib/extensions/error-reporting/parser-mixin.js +0 -52
  959. package/node_modules_lambda/parse5/lib/extensions/error-reporting/preprocessor-mixin.js +0 -24
  960. package/node_modules_lambda/parse5/lib/extensions/error-reporting/tokenizer-mixin.js +0 -17
  961. package/node_modules_lambda/parse5/lib/extensions/location-info/open-element-stack-mixin.js +0 -35
  962. package/node_modules_lambda/parse5/lib/extensions/location-info/parser-mixin.js +0 -223
  963. package/node_modules_lambda/parse5/lib/extensions/location-info/tokenizer-mixin.js +0 -146
  964. package/node_modules_lambda/parse5/lib/extensions/position-tracking/preprocessor-mixin.js +0 -64
  965. package/node_modules_lambda/parse5/lib/index.js +0 -29
  966. package/node_modules_lambda/parse5/lib/parser/formatting-element-list.js +0 -181
  967. package/node_modules_lambda/parse5/lib/parser/index.js +0 -2956
  968. package/node_modules_lambda/parse5/lib/parser/open-element-stack.js +0 -482
  969. package/node_modules_lambda/parse5/lib/serializer/index.js +0 -176
  970. package/node_modules_lambda/parse5/lib/tokenizer/index.js +0 -2196
  971. package/node_modules_lambda/parse5/lib/tokenizer/named-entity-data.js +0 -5
  972. package/node_modules_lambda/parse5/lib/tokenizer/preprocessor.js +0 -159
  973. package/node_modules_lambda/parse5/lib/tree-adapters/default.js +0 -221
  974. package/node_modules_lambda/parse5/lib/utils/merge-options.js +0 -13
  975. package/node_modules_lambda/parse5/lib/utils/mixin.js +0 -39
  976. package/node_modules_lambda/parse5/package.json +0 -35
  977. package/node_modules_lambda/psl/LICENSE +0 -9
  978. package/node_modules_lambda/psl/README.md +0 -215
  979. package/node_modules_lambda/psl/browserstack-logo.svg +0 -90
  980. package/node_modules_lambda/psl/data/rules.json +0 -8834
  981. package/node_modules_lambda/psl/dist/psl.js +0 -9645
  982. package/node_modules_lambda/psl/dist/psl.min.js +0 -1
  983. package/node_modules_lambda/psl/index.js +0 -269
  984. package/node_modules_lambda/psl/package.json +0 -44
  985. package/node_modules_lambda/punycode/LICENSE-MIT.txt +0 -20
  986. package/node_modules_lambda/punycode/README.md +0 -122
  987. package/node_modules_lambda/punycode/package.json +0 -58
  988. package/node_modules_lambda/punycode/punycode.es6.js +0 -441
  989. package/node_modules_lambda/punycode/punycode.js +0 -440
  990. package/node_modules_lambda/safer-buffer/LICENSE +0 -21
  991. package/node_modules_lambda/safer-buffer/Porting-Buffer.md +0 -268
  992. package/node_modules_lambda/safer-buffer/Readme.md +0 -156
  993. package/node_modules_lambda/safer-buffer/dangerous.js +0 -58
  994. package/node_modules_lambda/safer-buffer/package.json +0 -34
  995. package/node_modules_lambda/safer-buffer/safer.js +0 -77
  996. package/node_modules_lambda/safer-buffer/tests.js +0 -406
  997. package/node_modules_lambda/saxes/README.md +0 -323
  998. package/node_modules_lambda/saxes/package.json +0 -70
  999. package/node_modules_lambda/saxes/saxes.d.ts +0 -635
  1000. package/node_modules_lambda/saxes/saxes.js +0 -2064
  1001. package/node_modules_lambda/saxes/saxes.js.map +0 -1
  1002. package/node_modules_lambda/symbol-tree/LICENSE +0 -21
  1003. package/node_modules_lambda/symbol-tree/README.md +0 -545
  1004. package/node_modules_lambda/symbol-tree/lib/SymbolTree.js +0 -838
  1005. package/node_modules_lambda/symbol-tree/lib/SymbolTreeNode.js +0 -54
  1006. package/node_modules_lambda/symbol-tree/lib/TreeIterator.js +0 -69
  1007. package/node_modules_lambda/symbol-tree/lib/TreePosition.js +0 -11
  1008. package/node_modules_lambda/symbol-tree/package.json +0 -47
  1009. package/node_modules_lambda/tough-cookie/LICENSE +0 -12
  1010. package/node_modules_lambda/tough-cookie/README.md +0 -582
  1011. package/node_modules_lambda/tough-cookie/lib/cookie.js +0 -1671
  1012. package/node_modules_lambda/tough-cookie/lib/memstore.js +0 -190
  1013. package/node_modules_lambda/tough-cookie/lib/pathMatch.js +0 -61
  1014. package/node_modules_lambda/tough-cookie/lib/permuteDomain.js +0 -70
  1015. package/node_modules_lambda/tough-cookie/lib/pubsuffix-psl.js +0 -38
  1016. package/node_modules_lambda/tough-cookie/lib/store.js +0 -76
  1017. package/node_modules_lambda/tough-cookie/lib/version.js +0 -2
  1018. package/node_modules_lambda/tough-cookie/package.json +0 -109
  1019. package/node_modules_lambda/tr46/LICENSE.md +0 -21
  1020. package/node_modules_lambda/tr46/README.md +0 -78
  1021. package/node_modules_lambda/tr46/index.js +0 -298
  1022. package/node_modules_lambda/tr46/lib/mappingTable.json +0 -1
  1023. package/node_modules_lambda/tr46/lib/regexes.js +0 -29
  1024. package/node_modules_lambda/tr46/lib/statusMapping.js +0 -11
  1025. package/node_modules_lambda/tr46/package.json +0 -47
  1026. package/node_modules_lambda/universalify/LICENSE +0 -20
  1027. package/node_modules_lambda/universalify/README.md +0 -76
  1028. package/node_modules_lambda/universalify/index.js +0 -25
  1029. package/node_modules_lambda/universalify/package.json +0 -34
  1030. package/node_modules_lambda/w3c-hr-time/CHANGELOG.md +0 -19
  1031. package/node_modules_lambda/w3c-hr-time/LICENSE.md +0 -21
  1032. package/node_modules_lambda/w3c-hr-time/README.md +0 -130
  1033. package/node_modules_lambda/w3c-hr-time/index.js +0 -11
  1034. package/node_modules_lambda/w3c-hr-time/lib/calculate-clock-offset.js +0 -39
  1035. package/node_modules_lambda/w3c-hr-time/lib/clock-is-accurate.js +0 -61
  1036. package/node_modules_lambda/w3c-hr-time/lib/global-monotonic-clock.js +0 -10
  1037. package/node_modules_lambda/w3c-hr-time/lib/performance.js +0 -53
  1038. package/node_modules_lambda/w3c-hr-time/lib/utils.js +0 -11
  1039. package/node_modules_lambda/w3c-hr-time/package.json +0 -26
  1040. package/node_modules_lambda/w3c-xmlserializer/LICENSE.md +0 -25
  1041. package/node_modules_lambda/w3c-xmlserializer/README.md +0 -41
  1042. package/node_modules_lambda/w3c-xmlserializer/lib/attributes.js +0 -125
  1043. package/node_modules_lambda/w3c-xmlserializer/lib/constants.js +0 -44
  1044. package/node_modules_lambda/w3c-xmlserializer/lib/serialize.js +0 -365
  1045. package/node_modules_lambda/w3c-xmlserializer/package.json +0 -33
  1046. package/node_modules_lambda/webidl-conversions/LICENSE.md +0 -12
  1047. package/node_modules_lambda/webidl-conversions/README.md +0 -99
  1048. package/node_modules_lambda/webidl-conversions/lib/index.js +0 -450
  1049. package/node_modules_lambda/webidl-conversions/package.json +0 -35
  1050. package/node_modules_lambda/whatwg-encoding/LICENSE.txt +0 -7
  1051. package/node_modules_lambda/whatwg-encoding/README.md +0 -50
  1052. package/node_modules_lambda/whatwg-encoding/lib/labels-to-names.json +0 -216
  1053. package/node_modules_lambda/whatwg-encoding/lib/supported-names.json +0 -37
  1054. package/node_modules_lambda/whatwg-encoding/lib/whatwg-encoding.js +0 -47
  1055. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/.github/dependabot.yml +0 -11
  1056. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/Changelog.md +0 -212
  1057. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/LICENSE +0 -21
  1058. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/README.md +0 -130
  1059. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -597
  1060. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/dbcs-data.js +0 -188
  1061. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/index.js +0 -23
  1062. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/internal.js +0 -198
  1063. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
  1064. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  1065. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-data.js +0 -179
  1066. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  1067. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  1068. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  1069. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  1070. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  1071. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  1072. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -56
  1073. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  1074. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/utf16.js +0 -197
  1075. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/utf32.js +0 -319
  1076. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/utf7.js +0 -290
  1077. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/lib/bom-handling.js +0 -52
  1078. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/lib/index.d.ts +0 -41
  1079. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/lib/index.js +0 -180
  1080. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/lib/streams.js +0 -109
  1081. package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/package.json +0 -44
  1082. package/node_modules_lambda/whatwg-encoding/package.json +0 -33
  1083. package/node_modules_lambda/whatwg-mimetype/LICENSE.txt +0 -7
  1084. package/node_modules_lambda/whatwg-mimetype/README.md +0 -101
  1085. package/node_modules_lambda/whatwg-mimetype/lib/mime-type-parameters.js +0 -70
  1086. package/node_modules_lambda/whatwg-mimetype/lib/mime-type.js +0 -127
  1087. package/node_modules_lambda/whatwg-mimetype/lib/parser.js +0 -105
  1088. package/node_modules_lambda/whatwg-mimetype/lib/serializer.js +0 -25
  1089. package/node_modules_lambda/whatwg-mimetype/lib/utils.js +0 -60
  1090. package/node_modules_lambda/whatwg-mimetype/package.json +0 -47
  1091. package/node_modules_lambda/whatwg-url/LICENSE.txt +0 -21
  1092. package/node_modules_lambda/whatwg-url/README.md +0 -105
  1093. package/node_modules_lambda/whatwg-url/index.js +0 -25
  1094. package/node_modules_lambda/whatwg-url/lib/Function.js +0 -42
  1095. package/node_modules_lambda/whatwg-url/lib/URL-impl.js +0 -217
  1096. package/node_modules_lambda/whatwg-url/lib/URL.js +0 -442
  1097. package/node_modules_lambda/whatwg-url/lib/URLSearchParams-impl.js +0 -130
  1098. package/node_modules_lambda/whatwg-url/lib/URLSearchParams.js +0 -472
  1099. package/node_modules_lambda/whatwg-url/lib/VoidFunction.js +0 -26
  1100. package/node_modules_lambda/whatwg-url/lib/encoding.js +0 -16
  1101. package/node_modules_lambda/whatwg-url/lib/infra.js +0 -26
  1102. package/node_modules_lambda/whatwg-url/lib/percent-encoding.js +0 -142
  1103. package/node_modules_lambda/whatwg-url/lib/url-state-machine.js +0 -1234
  1104. package/node_modules_lambda/whatwg-url/lib/urlencoded.js +0 -106
  1105. package/node_modules_lambda/whatwg-url/lib/utils.js +0 -190
  1106. package/node_modules_lambda/whatwg-url/package.json +0 -58
  1107. package/node_modules_lambda/whatwg-url/webidl2js-wrapper.js +0 -7
  1108. package/node_modules_lambda/word-wrap/LICENSE +0 -21
  1109. package/node_modules_lambda/word-wrap/README.md +0 -182
  1110. package/node_modules_lambda/word-wrap/index.d.ts +0 -50
  1111. package/node_modules_lambda/word-wrap/index.js +0 -46
  1112. package/node_modules_lambda/word-wrap/package.json +0 -77
  1113. package/node_modules_lambda/ws/LICENSE +0 -19
  1114. package/node_modules_lambda/ws/README.md +0 -495
  1115. package/node_modules_lambda/ws/browser.js +0 -8
  1116. package/node_modules_lambda/ws/index.js +0 -13
  1117. package/node_modules_lambda/ws/lib/buffer-util.js +0 -127
  1118. package/node_modules_lambda/ws/lib/constants.js +0 -12
  1119. package/node_modules_lambda/ws/lib/event-target.js +0 -266
  1120. package/node_modules_lambda/ws/lib/extension.js +0 -203
  1121. package/node_modules_lambda/ws/lib/limiter.js +0 -55
  1122. package/node_modules_lambda/ws/lib/permessage-deflate.js +0 -511
  1123. package/node_modules_lambda/ws/lib/receiver.js +0 -618
  1124. package/node_modules_lambda/ws/lib/sender.js +0 -478
  1125. package/node_modules_lambda/ws/lib/stream.js +0 -159
  1126. package/node_modules_lambda/ws/lib/subprotocol.js +0 -62
  1127. package/node_modules_lambda/ws/lib/validation.js +0 -125
  1128. package/node_modules_lambda/ws/lib/websocket-server.js +0 -535
  1129. package/node_modules_lambda/ws/lib/websocket.js +0 -1296
  1130. package/node_modules_lambda/ws/package.json +0 -61
  1131. package/node_modules_lambda/ws/wrapper.mjs +0 -8
  1132. package/node_modules_lambda/xml-name-validator/LICENSE.txt +0 -176
  1133. package/node_modules_lambda/xml-name-validator/README.md +0 -35
  1134. package/node_modules_lambda/xml-name-validator/lib/xml-name-validator.js +0 -9
  1135. package/node_modules_lambda/xml-name-validator/package.json +0 -30
  1136. package/node_modules_lambda/xmlchars/LICENSE +0 -18
  1137. package/node_modules_lambda/xmlchars/README.md +0 -33
  1138. package/node_modules_lambda/xmlchars/package.json +0 -51
  1139. package/node_modules_lambda/xmlchars/xml/1.0/ed4.d.ts +0 -31
  1140. package/node_modules_lambda/xmlchars/xml/1.0/ed4.js +0 -44
  1141. package/node_modules_lambda/xmlchars/xml/1.0/ed4.js.map +0 -1
  1142. package/node_modules_lambda/xmlchars/xml/1.0/ed5.d.ts +0 -51
  1143. package/node_modules_lambda/xmlchars/xml/1.0/ed5.js +0 -105
  1144. package/node_modules_lambda/xmlchars/xml/1.0/ed5.js.map +0 -1
  1145. package/node_modules_lambda/xmlchars/xml/1.1/ed2.d.ts +0 -73
  1146. package/node_modules_lambda/xmlchars/xml/1.1/ed2.js +0 -145
  1147. package/node_modules_lambda/xmlchars/xml/1.1/ed2.js.map +0 -1
  1148. package/node_modules_lambda/xmlchars/xmlchars.d.ts +0 -170
  1149. package/node_modules_lambda/xmlchars/xmlchars.js +0 -191
  1150. package/node_modules_lambda/xmlchars/xmlchars.js.map +0 -1
  1151. package/node_modules_lambda/xmlchars/xmlns/1.0/ed3.d.ts +0 -28
  1152. package/node_modules_lambda/xmlchars/xmlns/1.0/ed3.js +0 -65
  1153. package/node_modules_lambda/xmlchars/xmlns/1.0/ed3.js.map +0 -1
@@ -1,2956 +0,0 @@
1
- 'use strict';
2
-
3
- const Tokenizer = require('../tokenizer');
4
- const OpenElementStack = require('./open-element-stack');
5
- const FormattingElementList = require('./formatting-element-list');
6
- const LocationInfoParserMixin = require('../extensions/location-info/parser-mixin');
7
- const ErrorReportingParserMixin = require('../extensions/error-reporting/parser-mixin');
8
- const Mixin = require('../utils/mixin');
9
- const defaultTreeAdapter = require('../tree-adapters/default');
10
- const mergeOptions = require('../utils/merge-options');
11
- const doctype = require('../common/doctype');
12
- const foreignContent = require('../common/foreign-content');
13
- const ERR = require('../common/error-codes');
14
- const unicode = require('../common/unicode');
15
- const HTML = require('../common/html');
16
-
17
- //Aliases
18
- const $ = HTML.TAG_NAMES;
19
- const NS = HTML.NAMESPACES;
20
- const ATTRS = HTML.ATTRS;
21
-
22
- const DEFAULT_OPTIONS = {
23
- scriptingEnabled: true,
24
- sourceCodeLocationInfo: false,
25
- onParseError: null,
26
- treeAdapter: defaultTreeAdapter
27
- };
28
-
29
- //Misc constants
30
- const HIDDEN_INPUT_TYPE = 'hidden';
31
-
32
- //Adoption agency loops iteration count
33
- const AA_OUTER_LOOP_ITER = 8;
34
- const AA_INNER_LOOP_ITER = 3;
35
-
36
- //Insertion modes
37
- const INITIAL_MODE = 'INITIAL_MODE';
38
- const BEFORE_HTML_MODE = 'BEFORE_HTML_MODE';
39
- const BEFORE_HEAD_MODE = 'BEFORE_HEAD_MODE';
40
- const IN_HEAD_MODE = 'IN_HEAD_MODE';
41
- const IN_HEAD_NO_SCRIPT_MODE = 'IN_HEAD_NO_SCRIPT_MODE';
42
- const AFTER_HEAD_MODE = 'AFTER_HEAD_MODE';
43
- const IN_BODY_MODE = 'IN_BODY_MODE';
44
- const TEXT_MODE = 'TEXT_MODE';
45
- const IN_TABLE_MODE = 'IN_TABLE_MODE';
46
- const IN_TABLE_TEXT_MODE = 'IN_TABLE_TEXT_MODE';
47
- const IN_CAPTION_MODE = 'IN_CAPTION_MODE';
48
- const IN_COLUMN_GROUP_MODE = 'IN_COLUMN_GROUP_MODE';
49
- const IN_TABLE_BODY_MODE = 'IN_TABLE_BODY_MODE';
50
- const IN_ROW_MODE = 'IN_ROW_MODE';
51
- const IN_CELL_MODE = 'IN_CELL_MODE';
52
- const IN_SELECT_MODE = 'IN_SELECT_MODE';
53
- const IN_SELECT_IN_TABLE_MODE = 'IN_SELECT_IN_TABLE_MODE';
54
- const IN_TEMPLATE_MODE = 'IN_TEMPLATE_MODE';
55
- const AFTER_BODY_MODE = 'AFTER_BODY_MODE';
56
- const IN_FRAMESET_MODE = 'IN_FRAMESET_MODE';
57
- const AFTER_FRAMESET_MODE = 'AFTER_FRAMESET_MODE';
58
- const AFTER_AFTER_BODY_MODE = 'AFTER_AFTER_BODY_MODE';
59
- const AFTER_AFTER_FRAMESET_MODE = 'AFTER_AFTER_FRAMESET_MODE';
60
-
61
- //Insertion mode reset map
62
- const INSERTION_MODE_RESET_MAP = {
63
- [$.TR]: IN_ROW_MODE,
64
- [$.TBODY]: IN_TABLE_BODY_MODE,
65
- [$.THEAD]: IN_TABLE_BODY_MODE,
66
- [$.TFOOT]: IN_TABLE_BODY_MODE,
67
- [$.CAPTION]: IN_CAPTION_MODE,
68
- [$.COLGROUP]: IN_COLUMN_GROUP_MODE,
69
- [$.TABLE]: IN_TABLE_MODE,
70
- [$.BODY]: IN_BODY_MODE,
71
- [$.FRAMESET]: IN_FRAMESET_MODE
72
- };
73
-
74
- //Template insertion mode switch map
75
- const TEMPLATE_INSERTION_MODE_SWITCH_MAP = {
76
- [$.CAPTION]: IN_TABLE_MODE,
77
- [$.COLGROUP]: IN_TABLE_MODE,
78
- [$.TBODY]: IN_TABLE_MODE,
79
- [$.TFOOT]: IN_TABLE_MODE,
80
- [$.THEAD]: IN_TABLE_MODE,
81
- [$.COL]: IN_COLUMN_GROUP_MODE,
82
- [$.TR]: IN_TABLE_BODY_MODE,
83
- [$.TD]: IN_ROW_MODE,
84
- [$.TH]: IN_ROW_MODE
85
- };
86
-
87
- //Token handlers map for insertion modes
88
- const TOKEN_HANDLERS = {
89
- [INITIAL_MODE]: {
90
- [Tokenizer.CHARACTER_TOKEN]: tokenInInitialMode,
91
- [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInInitialMode,
92
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,
93
- [Tokenizer.COMMENT_TOKEN]: appendComment,
94
- [Tokenizer.DOCTYPE_TOKEN]: doctypeInInitialMode,
95
- [Tokenizer.START_TAG_TOKEN]: tokenInInitialMode,
96
- [Tokenizer.END_TAG_TOKEN]: tokenInInitialMode,
97
- [Tokenizer.EOF_TOKEN]: tokenInInitialMode
98
- },
99
- [BEFORE_HTML_MODE]: {
100
- [Tokenizer.CHARACTER_TOKEN]: tokenBeforeHtml,
101
- [Tokenizer.NULL_CHARACTER_TOKEN]: tokenBeforeHtml,
102
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,
103
- [Tokenizer.COMMENT_TOKEN]: appendComment,
104
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
105
- [Tokenizer.START_TAG_TOKEN]: startTagBeforeHtml,
106
- [Tokenizer.END_TAG_TOKEN]: endTagBeforeHtml,
107
- [Tokenizer.EOF_TOKEN]: tokenBeforeHtml
108
- },
109
- [BEFORE_HEAD_MODE]: {
110
- [Tokenizer.CHARACTER_TOKEN]: tokenBeforeHead,
111
- [Tokenizer.NULL_CHARACTER_TOKEN]: tokenBeforeHead,
112
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,
113
- [Tokenizer.COMMENT_TOKEN]: appendComment,
114
- [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,
115
- [Tokenizer.START_TAG_TOKEN]: startTagBeforeHead,
116
- [Tokenizer.END_TAG_TOKEN]: endTagBeforeHead,
117
- [Tokenizer.EOF_TOKEN]: tokenBeforeHead
118
- },
119
- [IN_HEAD_MODE]: {
120
- [Tokenizer.CHARACTER_TOKEN]: tokenInHead,
121
- [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInHead,
122
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
123
- [Tokenizer.COMMENT_TOKEN]: appendComment,
124
- [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,
125
- [Tokenizer.START_TAG_TOKEN]: startTagInHead,
126
- [Tokenizer.END_TAG_TOKEN]: endTagInHead,
127
- [Tokenizer.EOF_TOKEN]: tokenInHead
128
- },
129
- [IN_HEAD_NO_SCRIPT_MODE]: {
130
- [Tokenizer.CHARACTER_TOKEN]: tokenInHeadNoScript,
131
- [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInHeadNoScript,
132
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
133
- [Tokenizer.COMMENT_TOKEN]: appendComment,
134
- [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,
135
- [Tokenizer.START_TAG_TOKEN]: startTagInHeadNoScript,
136
- [Tokenizer.END_TAG_TOKEN]: endTagInHeadNoScript,
137
- [Tokenizer.EOF_TOKEN]: tokenInHeadNoScript
138
- },
139
- [AFTER_HEAD_MODE]: {
140
- [Tokenizer.CHARACTER_TOKEN]: tokenAfterHead,
141
- [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterHead,
142
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
143
- [Tokenizer.COMMENT_TOKEN]: appendComment,
144
- [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,
145
- [Tokenizer.START_TAG_TOKEN]: startTagAfterHead,
146
- [Tokenizer.END_TAG_TOKEN]: endTagAfterHead,
147
- [Tokenizer.EOF_TOKEN]: tokenAfterHead
148
- },
149
- [IN_BODY_MODE]: {
150
- [Tokenizer.CHARACTER_TOKEN]: characterInBody,
151
- [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
152
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,
153
- [Tokenizer.COMMENT_TOKEN]: appendComment,
154
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
155
- [Tokenizer.START_TAG_TOKEN]: startTagInBody,
156
- [Tokenizer.END_TAG_TOKEN]: endTagInBody,
157
- [Tokenizer.EOF_TOKEN]: eofInBody
158
- },
159
- [TEXT_MODE]: {
160
- [Tokenizer.CHARACTER_TOKEN]: insertCharacters,
161
- [Tokenizer.NULL_CHARACTER_TOKEN]: insertCharacters,
162
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
163
- [Tokenizer.COMMENT_TOKEN]: ignoreToken,
164
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
165
- [Tokenizer.START_TAG_TOKEN]: ignoreToken,
166
- [Tokenizer.END_TAG_TOKEN]: endTagInText,
167
- [Tokenizer.EOF_TOKEN]: eofInText
168
- },
169
- [IN_TABLE_MODE]: {
170
- [Tokenizer.CHARACTER_TOKEN]: characterInTable,
171
- [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,
172
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,
173
- [Tokenizer.COMMENT_TOKEN]: appendComment,
174
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
175
- [Tokenizer.START_TAG_TOKEN]: startTagInTable,
176
- [Tokenizer.END_TAG_TOKEN]: endTagInTable,
177
- [Tokenizer.EOF_TOKEN]: eofInBody
178
- },
179
- [IN_TABLE_TEXT_MODE]: {
180
- [Tokenizer.CHARACTER_TOKEN]: characterInTableText,
181
- [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
182
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInTableText,
183
- [Tokenizer.COMMENT_TOKEN]: tokenInTableText,
184
- [Tokenizer.DOCTYPE_TOKEN]: tokenInTableText,
185
- [Tokenizer.START_TAG_TOKEN]: tokenInTableText,
186
- [Tokenizer.END_TAG_TOKEN]: tokenInTableText,
187
- [Tokenizer.EOF_TOKEN]: tokenInTableText
188
- },
189
- [IN_CAPTION_MODE]: {
190
- [Tokenizer.CHARACTER_TOKEN]: characterInBody,
191
- [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
192
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,
193
- [Tokenizer.COMMENT_TOKEN]: appendComment,
194
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
195
- [Tokenizer.START_TAG_TOKEN]: startTagInCaption,
196
- [Tokenizer.END_TAG_TOKEN]: endTagInCaption,
197
- [Tokenizer.EOF_TOKEN]: eofInBody
198
- },
199
- [IN_COLUMN_GROUP_MODE]: {
200
- [Tokenizer.CHARACTER_TOKEN]: tokenInColumnGroup,
201
- [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInColumnGroup,
202
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
203
- [Tokenizer.COMMENT_TOKEN]: appendComment,
204
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
205
- [Tokenizer.START_TAG_TOKEN]: startTagInColumnGroup,
206
- [Tokenizer.END_TAG_TOKEN]: endTagInColumnGroup,
207
- [Tokenizer.EOF_TOKEN]: eofInBody
208
- },
209
- [IN_TABLE_BODY_MODE]: {
210
- [Tokenizer.CHARACTER_TOKEN]: characterInTable,
211
- [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,
212
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,
213
- [Tokenizer.COMMENT_TOKEN]: appendComment,
214
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
215
- [Tokenizer.START_TAG_TOKEN]: startTagInTableBody,
216
- [Tokenizer.END_TAG_TOKEN]: endTagInTableBody,
217
- [Tokenizer.EOF_TOKEN]: eofInBody
218
- },
219
- [IN_ROW_MODE]: {
220
- [Tokenizer.CHARACTER_TOKEN]: characterInTable,
221
- [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,
222
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,
223
- [Tokenizer.COMMENT_TOKEN]: appendComment,
224
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
225
- [Tokenizer.START_TAG_TOKEN]: startTagInRow,
226
- [Tokenizer.END_TAG_TOKEN]: endTagInRow,
227
- [Tokenizer.EOF_TOKEN]: eofInBody
228
- },
229
- [IN_CELL_MODE]: {
230
- [Tokenizer.CHARACTER_TOKEN]: characterInBody,
231
- [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
232
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,
233
- [Tokenizer.COMMENT_TOKEN]: appendComment,
234
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
235
- [Tokenizer.START_TAG_TOKEN]: startTagInCell,
236
- [Tokenizer.END_TAG_TOKEN]: endTagInCell,
237
- [Tokenizer.EOF_TOKEN]: eofInBody
238
- },
239
- [IN_SELECT_MODE]: {
240
- [Tokenizer.CHARACTER_TOKEN]: insertCharacters,
241
- [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
242
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
243
- [Tokenizer.COMMENT_TOKEN]: appendComment,
244
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
245
- [Tokenizer.START_TAG_TOKEN]: startTagInSelect,
246
- [Tokenizer.END_TAG_TOKEN]: endTagInSelect,
247
- [Tokenizer.EOF_TOKEN]: eofInBody
248
- },
249
- [IN_SELECT_IN_TABLE_MODE]: {
250
- [Tokenizer.CHARACTER_TOKEN]: insertCharacters,
251
- [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
252
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
253
- [Tokenizer.COMMENT_TOKEN]: appendComment,
254
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
255
- [Tokenizer.START_TAG_TOKEN]: startTagInSelectInTable,
256
- [Tokenizer.END_TAG_TOKEN]: endTagInSelectInTable,
257
- [Tokenizer.EOF_TOKEN]: eofInBody
258
- },
259
- [IN_TEMPLATE_MODE]: {
260
- [Tokenizer.CHARACTER_TOKEN]: characterInBody,
261
- [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
262
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,
263
- [Tokenizer.COMMENT_TOKEN]: appendComment,
264
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
265
- [Tokenizer.START_TAG_TOKEN]: startTagInTemplate,
266
- [Tokenizer.END_TAG_TOKEN]: endTagInTemplate,
267
- [Tokenizer.EOF_TOKEN]: eofInTemplate
268
- },
269
- [AFTER_BODY_MODE]: {
270
- [Tokenizer.CHARACTER_TOKEN]: tokenAfterBody,
271
- [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterBody,
272
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,
273
- [Tokenizer.COMMENT_TOKEN]: appendCommentToRootHtmlElement,
274
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
275
- [Tokenizer.START_TAG_TOKEN]: startTagAfterBody,
276
- [Tokenizer.END_TAG_TOKEN]: endTagAfterBody,
277
- [Tokenizer.EOF_TOKEN]: stopParsing
278
- },
279
- [IN_FRAMESET_MODE]: {
280
- [Tokenizer.CHARACTER_TOKEN]: ignoreToken,
281
- [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
282
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
283
- [Tokenizer.COMMENT_TOKEN]: appendComment,
284
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
285
- [Tokenizer.START_TAG_TOKEN]: startTagInFrameset,
286
- [Tokenizer.END_TAG_TOKEN]: endTagInFrameset,
287
- [Tokenizer.EOF_TOKEN]: stopParsing
288
- },
289
- [AFTER_FRAMESET_MODE]: {
290
- [Tokenizer.CHARACTER_TOKEN]: ignoreToken,
291
- [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
292
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,
293
- [Tokenizer.COMMENT_TOKEN]: appendComment,
294
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
295
- [Tokenizer.START_TAG_TOKEN]: startTagAfterFrameset,
296
- [Tokenizer.END_TAG_TOKEN]: endTagAfterFrameset,
297
- [Tokenizer.EOF_TOKEN]: stopParsing
298
- },
299
- [AFTER_AFTER_BODY_MODE]: {
300
- [Tokenizer.CHARACTER_TOKEN]: tokenAfterAfterBody,
301
- [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterAfterBody,
302
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,
303
- [Tokenizer.COMMENT_TOKEN]: appendCommentToDocument,
304
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
305
- [Tokenizer.START_TAG_TOKEN]: startTagAfterAfterBody,
306
- [Tokenizer.END_TAG_TOKEN]: tokenAfterAfterBody,
307
- [Tokenizer.EOF_TOKEN]: stopParsing
308
- },
309
- [AFTER_AFTER_FRAMESET_MODE]: {
310
- [Tokenizer.CHARACTER_TOKEN]: ignoreToken,
311
- [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,
312
- [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,
313
- [Tokenizer.COMMENT_TOKEN]: appendCommentToDocument,
314
- [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,
315
- [Tokenizer.START_TAG_TOKEN]: startTagAfterAfterFrameset,
316
- [Tokenizer.END_TAG_TOKEN]: ignoreToken,
317
- [Tokenizer.EOF_TOKEN]: stopParsing
318
- }
319
- };
320
-
321
- //Parser
322
- class Parser {
323
- constructor(options) {
324
- this.options = mergeOptions(DEFAULT_OPTIONS, options);
325
-
326
- this.treeAdapter = this.options.treeAdapter;
327
- this.pendingScript = null;
328
-
329
- if (this.options.sourceCodeLocationInfo) {
330
- Mixin.install(this, LocationInfoParserMixin);
331
- }
332
-
333
- if (this.options.onParseError) {
334
- Mixin.install(this, ErrorReportingParserMixin, { onParseError: this.options.onParseError });
335
- }
336
- }
337
-
338
- // API
339
- parse(html) {
340
- const document = this.treeAdapter.createDocument();
341
-
342
- this._bootstrap(document, null);
343
- this.tokenizer.write(html, true);
344
- this._runParsingLoop(null);
345
-
346
- return document;
347
- }
348
-
349
- parseFragment(html, fragmentContext) {
350
- //NOTE: use <template> element as a fragment context if context element was not provided,
351
- //so we will parse in "forgiving" manner
352
- if (!fragmentContext) {
353
- fragmentContext = this.treeAdapter.createElement($.TEMPLATE, NS.HTML, []);
354
- }
355
-
356
- //NOTE: create fake element which will be used as 'document' for fragment parsing.
357
- //This is important for jsdom there 'document' can't be recreated, therefore
358
- //fragment parsing causes messing of the main `document`.
359
- const documentMock = this.treeAdapter.createElement('documentmock', NS.HTML, []);
360
-
361
- this._bootstrap(documentMock, fragmentContext);
362
-
363
- if (this.treeAdapter.getTagName(fragmentContext) === $.TEMPLATE) {
364
- this._pushTmplInsertionMode(IN_TEMPLATE_MODE);
365
- }
366
-
367
- this._initTokenizerForFragmentParsing();
368
- this._insertFakeRootElement();
369
- this._resetInsertionMode();
370
- this._findFormInFragmentContext();
371
- this.tokenizer.write(html, true);
372
- this._runParsingLoop(null);
373
-
374
- const rootElement = this.treeAdapter.getFirstChild(documentMock);
375
- const fragment = this.treeAdapter.createDocumentFragment();
376
-
377
- this._adoptNodes(rootElement, fragment);
378
-
379
- return fragment;
380
- }
381
-
382
- //Bootstrap parser
383
- _bootstrap(document, fragmentContext) {
384
- this.tokenizer = new Tokenizer(this.options);
385
-
386
- this.stopped = false;
387
-
388
- this.insertionMode = INITIAL_MODE;
389
- this.originalInsertionMode = '';
390
-
391
- this.document = document;
392
- this.fragmentContext = fragmentContext;
393
-
394
- this.headElement = null;
395
- this.formElement = null;
396
-
397
- this.openElements = new OpenElementStack(this.document, this.treeAdapter);
398
- this.activeFormattingElements = new FormattingElementList(this.treeAdapter);
399
-
400
- this.tmplInsertionModeStack = [];
401
- this.tmplInsertionModeStackTop = -1;
402
- this.currentTmplInsertionMode = null;
403
-
404
- this.pendingCharacterTokens = [];
405
- this.hasNonWhitespacePendingCharacterToken = false;
406
-
407
- this.framesetOk = true;
408
- this.skipNextNewLine = false;
409
- this.fosterParentingEnabled = false;
410
- }
411
-
412
- //Errors
413
- _err() {
414
- // NOTE: err reporting is noop by default. Enabled by mixin.
415
- }
416
-
417
- //Parsing loop
418
- _runParsingLoop(scriptHandler) {
419
- while (!this.stopped) {
420
- this._setupTokenizerCDATAMode();
421
-
422
- const token = this.tokenizer.getNextToken();
423
-
424
- if (token.type === Tokenizer.HIBERNATION_TOKEN) {
425
- break;
426
- }
427
-
428
- if (this.skipNextNewLine) {
429
- this.skipNextNewLine = false;
430
-
431
- if (token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN && token.chars[0] === '\n') {
432
- if (token.chars.length === 1) {
433
- continue;
434
- }
435
-
436
- token.chars = token.chars.substr(1);
437
- }
438
- }
439
-
440
- this._processInputToken(token);
441
-
442
- if (scriptHandler && this.pendingScript) {
443
- break;
444
- }
445
- }
446
- }
447
-
448
- runParsingLoopForCurrentChunk(writeCallback, scriptHandler) {
449
- this._runParsingLoop(scriptHandler);
450
-
451
- if (scriptHandler && this.pendingScript) {
452
- const script = this.pendingScript;
453
-
454
- this.pendingScript = null;
455
-
456
- scriptHandler(script);
457
-
458
- return;
459
- }
460
-
461
- if (writeCallback) {
462
- writeCallback();
463
- }
464
- }
465
-
466
- //Text parsing
467
- _setupTokenizerCDATAMode() {
468
- const current = this._getAdjustedCurrentElement();
469
-
470
- this.tokenizer.allowCDATA =
471
- current &&
472
- current !== this.document &&
473
- this.treeAdapter.getNamespaceURI(current) !== NS.HTML &&
474
- !this._isIntegrationPoint(current);
475
- }
476
-
477
- _switchToTextParsing(currentToken, nextTokenizerState) {
478
- this._insertElement(currentToken, NS.HTML);
479
- this.tokenizer.state = nextTokenizerState;
480
- this.originalInsertionMode = this.insertionMode;
481
- this.insertionMode = TEXT_MODE;
482
- }
483
-
484
- switchToPlaintextParsing() {
485
- this.insertionMode = TEXT_MODE;
486
- this.originalInsertionMode = IN_BODY_MODE;
487
- this.tokenizer.state = Tokenizer.MODE.PLAINTEXT;
488
- }
489
-
490
- //Fragment parsing
491
- _getAdjustedCurrentElement() {
492
- return this.openElements.stackTop === 0 && this.fragmentContext
493
- ? this.fragmentContext
494
- : this.openElements.current;
495
- }
496
-
497
- _findFormInFragmentContext() {
498
- let node = this.fragmentContext;
499
-
500
- do {
501
- if (this.treeAdapter.getTagName(node) === $.FORM) {
502
- this.formElement = node;
503
- break;
504
- }
505
-
506
- node = this.treeAdapter.getParentNode(node);
507
- } while (node);
508
- }
509
-
510
- _initTokenizerForFragmentParsing() {
511
- if (this.treeAdapter.getNamespaceURI(this.fragmentContext) === NS.HTML) {
512
- const tn = this.treeAdapter.getTagName(this.fragmentContext);
513
-
514
- if (tn === $.TITLE || tn === $.TEXTAREA) {
515
- this.tokenizer.state = Tokenizer.MODE.RCDATA;
516
- } else if (
517
- tn === $.STYLE ||
518
- tn === $.XMP ||
519
- tn === $.IFRAME ||
520
- tn === $.NOEMBED ||
521
- tn === $.NOFRAMES ||
522
- tn === $.NOSCRIPT
523
- ) {
524
- this.tokenizer.state = Tokenizer.MODE.RAWTEXT;
525
- } else if (tn === $.SCRIPT) {
526
- this.tokenizer.state = Tokenizer.MODE.SCRIPT_DATA;
527
- } else if (tn === $.PLAINTEXT) {
528
- this.tokenizer.state = Tokenizer.MODE.PLAINTEXT;
529
- }
530
- }
531
- }
532
-
533
- //Tree mutation
534
- _setDocumentType(token) {
535
- const name = token.name || '';
536
- const publicId = token.publicId || '';
537
- const systemId = token.systemId || '';
538
-
539
- this.treeAdapter.setDocumentType(this.document, name, publicId, systemId);
540
- }
541
-
542
- _attachElementToTree(element) {
543
- if (this._shouldFosterParentOnInsertion()) {
544
- this._fosterParentElement(element);
545
- } else {
546
- const parent = this.openElements.currentTmplContent || this.openElements.current;
547
-
548
- this.treeAdapter.appendChild(parent, element);
549
- }
550
- }
551
-
552
- _appendElement(token, namespaceURI) {
553
- const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);
554
-
555
- this._attachElementToTree(element);
556
- }
557
-
558
- _insertElement(token, namespaceURI) {
559
- const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);
560
-
561
- this._attachElementToTree(element);
562
- this.openElements.push(element);
563
- }
564
-
565
- _insertFakeElement(tagName) {
566
- const element = this.treeAdapter.createElement(tagName, NS.HTML, []);
567
-
568
- this._attachElementToTree(element);
569
- this.openElements.push(element);
570
- }
571
-
572
- _insertTemplate(token) {
573
- const tmpl = this.treeAdapter.createElement(token.tagName, NS.HTML, token.attrs);
574
- const content = this.treeAdapter.createDocumentFragment();
575
-
576
- this.treeAdapter.setTemplateContent(tmpl, content);
577
- this._attachElementToTree(tmpl);
578
- this.openElements.push(tmpl);
579
- }
580
-
581
- _insertFakeRootElement() {
582
- const element = this.treeAdapter.createElement($.HTML, NS.HTML, []);
583
-
584
- this.treeAdapter.appendChild(this.openElements.current, element);
585
- this.openElements.push(element);
586
- }
587
-
588
- _appendCommentNode(token, parent) {
589
- const commentNode = this.treeAdapter.createCommentNode(token.data);
590
-
591
- this.treeAdapter.appendChild(parent, commentNode);
592
- }
593
-
594
- _insertCharacters(token) {
595
- if (this._shouldFosterParentOnInsertion()) {
596
- this._fosterParentText(token.chars);
597
- } else {
598
- const parent = this.openElements.currentTmplContent || this.openElements.current;
599
-
600
- this.treeAdapter.insertText(parent, token.chars);
601
- }
602
- }
603
-
604
- _adoptNodes(donor, recipient) {
605
- for (let child = this.treeAdapter.getFirstChild(donor); child; child = this.treeAdapter.getFirstChild(donor)) {
606
- this.treeAdapter.detachNode(child);
607
- this.treeAdapter.appendChild(recipient, child);
608
- }
609
- }
610
-
611
- //Token processing
612
- _shouldProcessTokenInForeignContent(token) {
613
- const current = this._getAdjustedCurrentElement();
614
-
615
- if (!current || current === this.document) {
616
- return false;
617
- }
618
-
619
- const ns = this.treeAdapter.getNamespaceURI(current);
620
-
621
- if (ns === NS.HTML) {
622
- return false;
623
- }
624
-
625
- if (
626
- this.treeAdapter.getTagName(current) === $.ANNOTATION_XML &&
627
- ns === NS.MATHML &&
628
- token.type === Tokenizer.START_TAG_TOKEN &&
629
- token.tagName === $.SVG
630
- ) {
631
- return false;
632
- }
633
-
634
- const isCharacterToken =
635
- token.type === Tokenizer.CHARACTER_TOKEN ||
636
- token.type === Tokenizer.NULL_CHARACTER_TOKEN ||
637
- token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN;
638
-
639
- const isMathMLTextStartTag =
640
- token.type === Tokenizer.START_TAG_TOKEN && token.tagName !== $.MGLYPH && token.tagName !== $.MALIGNMARK;
641
-
642
- if ((isMathMLTextStartTag || isCharacterToken) && this._isIntegrationPoint(current, NS.MATHML)) {
643
- return false;
644
- }
645
-
646
- if (
647
- (token.type === Tokenizer.START_TAG_TOKEN || isCharacterToken) &&
648
- this._isIntegrationPoint(current, NS.HTML)
649
- ) {
650
- return false;
651
- }
652
-
653
- return token.type !== Tokenizer.EOF_TOKEN;
654
- }
655
-
656
- _processToken(token) {
657
- TOKEN_HANDLERS[this.insertionMode][token.type](this, token);
658
- }
659
-
660
- _processTokenInBodyMode(token) {
661
- TOKEN_HANDLERS[IN_BODY_MODE][token.type](this, token);
662
- }
663
-
664
- _processTokenInForeignContent(token) {
665
- if (token.type === Tokenizer.CHARACTER_TOKEN) {
666
- characterInForeignContent(this, token);
667
- } else if (token.type === Tokenizer.NULL_CHARACTER_TOKEN) {
668
- nullCharacterInForeignContent(this, token);
669
- } else if (token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN) {
670
- insertCharacters(this, token);
671
- } else if (token.type === Tokenizer.COMMENT_TOKEN) {
672
- appendComment(this, token);
673
- } else if (token.type === Tokenizer.START_TAG_TOKEN) {
674
- startTagInForeignContent(this, token);
675
- } else if (token.type === Tokenizer.END_TAG_TOKEN) {
676
- endTagInForeignContent(this, token);
677
- }
678
- }
679
-
680
- _processInputToken(token) {
681
- if (this._shouldProcessTokenInForeignContent(token)) {
682
- this._processTokenInForeignContent(token);
683
- } else {
684
- this._processToken(token);
685
- }
686
-
687
- if (token.type === Tokenizer.START_TAG_TOKEN && token.selfClosing && !token.ackSelfClosing) {
688
- this._err(ERR.nonVoidHtmlElementStartTagWithTrailingSolidus);
689
- }
690
- }
691
-
692
- //Integration points
693
- _isIntegrationPoint(element, foreignNS) {
694
- const tn = this.treeAdapter.getTagName(element);
695
- const ns = this.treeAdapter.getNamespaceURI(element);
696
- const attrs = this.treeAdapter.getAttrList(element);
697
-
698
- return foreignContent.isIntegrationPoint(tn, ns, attrs, foreignNS);
699
- }
700
-
701
- //Active formatting elements reconstruction
702
- _reconstructActiveFormattingElements() {
703
- const listLength = this.activeFormattingElements.length;
704
-
705
- if (listLength) {
706
- let unopenIdx = listLength;
707
- let entry = null;
708
-
709
- do {
710
- unopenIdx--;
711
- entry = this.activeFormattingElements.entries[unopenIdx];
712
-
713
- if (entry.type === FormattingElementList.MARKER_ENTRY || this.openElements.contains(entry.element)) {
714
- unopenIdx++;
715
- break;
716
- }
717
- } while (unopenIdx > 0);
718
-
719
- for (let i = unopenIdx; i < listLength; i++) {
720
- entry = this.activeFormattingElements.entries[i];
721
- this._insertElement(entry.token, this.treeAdapter.getNamespaceURI(entry.element));
722
- entry.element = this.openElements.current;
723
- }
724
- }
725
- }
726
-
727
- //Close elements
728
- _closeTableCell() {
729
- this.openElements.generateImpliedEndTags();
730
- this.openElements.popUntilTableCellPopped();
731
- this.activeFormattingElements.clearToLastMarker();
732
- this.insertionMode = IN_ROW_MODE;
733
- }
734
-
735
- _closePElement() {
736
- this.openElements.generateImpliedEndTagsWithExclusion($.P);
737
- this.openElements.popUntilTagNamePopped($.P);
738
- }
739
-
740
- //Insertion modes
741
- _resetInsertionMode() {
742
- for (let i = this.openElements.stackTop, last = false; i >= 0; i--) {
743
- let element = this.openElements.items[i];
744
-
745
- if (i === 0) {
746
- last = true;
747
-
748
- if (this.fragmentContext) {
749
- element = this.fragmentContext;
750
- }
751
- }
752
-
753
- const tn = this.treeAdapter.getTagName(element);
754
- const newInsertionMode = INSERTION_MODE_RESET_MAP[tn];
755
-
756
- if (newInsertionMode) {
757
- this.insertionMode = newInsertionMode;
758
- break;
759
- } else if (!last && (tn === $.TD || tn === $.TH)) {
760
- this.insertionMode = IN_CELL_MODE;
761
- break;
762
- } else if (!last && tn === $.HEAD) {
763
- this.insertionMode = IN_HEAD_MODE;
764
- break;
765
- } else if (tn === $.SELECT) {
766
- this._resetInsertionModeForSelect(i);
767
- break;
768
- } else if (tn === $.TEMPLATE) {
769
- this.insertionMode = this.currentTmplInsertionMode;
770
- break;
771
- } else if (tn === $.HTML) {
772
- this.insertionMode = this.headElement ? AFTER_HEAD_MODE : BEFORE_HEAD_MODE;
773
- break;
774
- } else if (last) {
775
- this.insertionMode = IN_BODY_MODE;
776
- break;
777
- }
778
- }
779
- }
780
-
781
- _resetInsertionModeForSelect(selectIdx) {
782
- if (selectIdx > 0) {
783
- for (let i = selectIdx - 1; i > 0; i--) {
784
- const ancestor = this.openElements.items[i];
785
- const tn = this.treeAdapter.getTagName(ancestor);
786
-
787
- if (tn === $.TEMPLATE) {
788
- break;
789
- } else if (tn === $.TABLE) {
790
- this.insertionMode = IN_SELECT_IN_TABLE_MODE;
791
- return;
792
- }
793
- }
794
- }
795
-
796
- this.insertionMode = IN_SELECT_MODE;
797
- }
798
-
799
- _pushTmplInsertionMode(mode) {
800
- this.tmplInsertionModeStack.push(mode);
801
- this.tmplInsertionModeStackTop++;
802
- this.currentTmplInsertionMode = mode;
803
- }
804
-
805
- _popTmplInsertionMode() {
806
- this.tmplInsertionModeStack.pop();
807
- this.tmplInsertionModeStackTop--;
808
- this.currentTmplInsertionMode = this.tmplInsertionModeStack[this.tmplInsertionModeStackTop];
809
- }
810
-
811
- //Foster parenting
812
- _isElementCausesFosterParenting(element) {
813
- const tn = this.treeAdapter.getTagName(element);
814
-
815
- return tn === $.TABLE || tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD || tn === $.TR;
816
- }
817
-
818
- _shouldFosterParentOnInsertion() {
819
- return this.fosterParentingEnabled && this._isElementCausesFosterParenting(this.openElements.current);
820
- }
821
-
822
- _findFosterParentingLocation() {
823
- const location = {
824
- parent: null,
825
- beforeElement: null
826
- };
827
-
828
- for (let i = this.openElements.stackTop; i >= 0; i--) {
829
- const openElement = this.openElements.items[i];
830
- const tn = this.treeAdapter.getTagName(openElement);
831
- const ns = this.treeAdapter.getNamespaceURI(openElement);
832
-
833
- if (tn === $.TEMPLATE && ns === NS.HTML) {
834
- location.parent = this.treeAdapter.getTemplateContent(openElement);
835
- break;
836
- } else if (tn === $.TABLE) {
837
- location.parent = this.treeAdapter.getParentNode(openElement);
838
-
839
- if (location.parent) {
840
- location.beforeElement = openElement;
841
- } else {
842
- location.parent = this.openElements.items[i - 1];
843
- }
844
-
845
- break;
846
- }
847
- }
848
-
849
- if (!location.parent) {
850
- location.parent = this.openElements.items[0];
851
- }
852
-
853
- return location;
854
- }
855
-
856
- _fosterParentElement(element) {
857
- const location = this._findFosterParentingLocation();
858
-
859
- if (location.beforeElement) {
860
- this.treeAdapter.insertBefore(location.parent, element, location.beforeElement);
861
- } else {
862
- this.treeAdapter.appendChild(location.parent, element);
863
- }
864
- }
865
-
866
- _fosterParentText(chars) {
867
- const location = this._findFosterParentingLocation();
868
-
869
- if (location.beforeElement) {
870
- this.treeAdapter.insertTextBefore(location.parent, chars, location.beforeElement);
871
- } else {
872
- this.treeAdapter.insertText(location.parent, chars);
873
- }
874
- }
875
-
876
- //Special elements
877
- _isSpecialElement(element) {
878
- const tn = this.treeAdapter.getTagName(element);
879
- const ns = this.treeAdapter.getNamespaceURI(element);
880
-
881
- return HTML.SPECIAL_ELEMENTS[ns][tn];
882
- }
883
- }
884
-
885
- module.exports = Parser;
886
-
887
- //Adoption agency algorithm
888
- //(see: http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#adoptionAgency)
889
- //------------------------------------------------------------------
890
-
891
- //Steps 5-8 of the algorithm
892
- function aaObtainFormattingElementEntry(p, token) {
893
- let formattingElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName(token.tagName);
894
-
895
- if (formattingElementEntry) {
896
- if (!p.openElements.contains(formattingElementEntry.element)) {
897
- p.activeFormattingElements.removeEntry(formattingElementEntry);
898
- formattingElementEntry = null;
899
- } else if (!p.openElements.hasInScope(token.tagName)) {
900
- formattingElementEntry = null;
901
- }
902
- } else {
903
- genericEndTagInBody(p, token);
904
- }
905
-
906
- return formattingElementEntry;
907
- }
908
-
909
- //Steps 9 and 10 of the algorithm
910
- function aaObtainFurthestBlock(p, formattingElementEntry) {
911
- let furthestBlock = null;
912
-
913
- for (let i = p.openElements.stackTop; i >= 0; i--) {
914
- const element = p.openElements.items[i];
915
-
916
- if (element === formattingElementEntry.element) {
917
- break;
918
- }
919
-
920
- if (p._isSpecialElement(element)) {
921
- furthestBlock = element;
922
- }
923
- }
924
-
925
- if (!furthestBlock) {
926
- p.openElements.popUntilElementPopped(formattingElementEntry.element);
927
- p.activeFormattingElements.removeEntry(formattingElementEntry);
928
- }
929
-
930
- return furthestBlock;
931
- }
932
-
933
- //Step 13 of the algorithm
934
- function aaInnerLoop(p, furthestBlock, formattingElement) {
935
- let lastElement = furthestBlock;
936
- let nextElement = p.openElements.getCommonAncestor(furthestBlock);
937
-
938
- for (let i = 0, element = nextElement; element !== formattingElement; i++, element = nextElement) {
939
- //NOTE: store next element for the next loop iteration (it may be deleted from the stack by step 9.5)
940
- nextElement = p.openElements.getCommonAncestor(element);
941
-
942
- const elementEntry = p.activeFormattingElements.getElementEntry(element);
943
- const counterOverflow = elementEntry && i >= AA_INNER_LOOP_ITER;
944
- const shouldRemoveFromOpenElements = !elementEntry || counterOverflow;
945
-
946
- if (shouldRemoveFromOpenElements) {
947
- if (counterOverflow) {
948
- p.activeFormattingElements.removeEntry(elementEntry);
949
- }
950
-
951
- p.openElements.remove(element);
952
- } else {
953
- element = aaRecreateElementFromEntry(p, elementEntry);
954
-
955
- if (lastElement === furthestBlock) {
956
- p.activeFormattingElements.bookmark = elementEntry;
957
- }
958
-
959
- p.treeAdapter.detachNode(lastElement);
960
- p.treeAdapter.appendChild(element, lastElement);
961
- lastElement = element;
962
- }
963
- }
964
-
965
- return lastElement;
966
- }
967
-
968
- //Step 13.7 of the algorithm
969
- function aaRecreateElementFromEntry(p, elementEntry) {
970
- const ns = p.treeAdapter.getNamespaceURI(elementEntry.element);
971
- const newElement = p.treeAdapter.createElement(elementEntry.token.tagName, ns, elementEntry.token.attrs);
972
-
973
- p.openElements.replace(elementEntry.element, newElement);
974
- elementEntry.element = newElement;
975
-
976
- return newElement;
977
- }
978
-
979
- //Step 14 of the algorithm
980
- function aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement) {
981
- if (p._isElementCausesFosterParenting(commonAncestor)) {
982
- p._fosterParentElement(lastElement);
983
- } else {
984
- const tn = p.treeAdapter.getTagName(commonAncestor);
985
- const ns = p.treeAdapter.getNamespaceURI(commonAncestor);
986
-
987
- if (tn === $.TEMPLATE && ns === NS.HTML) {
988
- commonAncestor = p.treeAdapter.getTemplateContent(commonAncestor);
989
- }
990
-
991
- p.treeAdapter.appendChild(commonAncestor, lastElement);
992
- }
993
- }
994
-
995
- //Steps 15-19 of the algorithm
996
- function aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry) {
997
- const ns = p.treeAdapter.getNamespaceURI(formattingElementEntry.element);
998
- const token = formattingElementEntry.token;
999
- const newElement = p.treeAdapter.createElement(token.tagName, ns, token.attrs);
1000
-
1001
- p._adoptNodes(furthestBlock, newElement);
1002
- p.treeAdapter.appendChild(furthestBlock, newElement);
1003
-
1004
- p.activeFormattingElements.insertElementAfterBookmark(newElement, formattingElementEntry.token);
1005
- p.activeFormattingElements.removeEntry(formattingElementEntry);
1006
-
1007
- p.openElements.remove(formattingElementEntry.element);
1008
- p.openElements.insertAfter(furthestBlock, newElement);
1009
- }
1010
-
1011
- //Algorithm entry point
1012
- function callAdoptionAgency(p, token) {
1013
- let formattingElementEntry;
1014
-
1015
- for (let i = 0; i < AA_OUTER_LOOP_ITER; i++) {
1016
- formattingElementEntry = aaObtainFormattingElementEntry(p, token, formattingElementEntry);
1017
-
1018
- if (!formattingElementEntry) {
1019
- break;
1020
- }
1021
-
1022
- const furthestBlock = aaObtainFurthestBlock(p, formattingElementEntry);
1023
-
1024
- if (!furthestBlock) {
1025
- break;
1026
- }
1027
-
1028
- p.activeFormattingElements.bookmark = formattingElementEntry;
1029
-
1030
- const lastElement = aaInnerLoop(p, furthestBlock, formattingElementEntry.element);
1031
- const commonAncestor = p.openElements.getCommonAncestor(formattingElementEntry.element);
1032
-
1033
- p.treeAdapter.detachNode(lastElement);
1034
- aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement);
1035
- aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry);
1036
- }
1037
- }
1038
-
1039
- //Generic token handlers
1040
- //------------------------------------------------------------------
1041
- function ignoreToken() {
1042
- //NOTE: do nothing =)
1043
- }
1044
-
1045
- function misplacedDoctype(p) {
1046
- p._err(ERR.misplacedDoctype);
1047
- }
1048
-
1049
- function appendComment(p, token) {
1050
- p._appendCommentNode(token, p.openElements.currentTmplContent || p.openElements.current);
1051
- }
1052
-
1053
- function appendCommentToRootHtmlElement(p, token) {
1054
- p._appendCommentNode(token, p.openElements.items[0]);
1055
- }
1056
-
1057
- function appendCommentToDocument(p, token) {
1058
- p._appendCommentNode(token, p.document);
1059
- }
1060
-
1061
- function insertCharacters(p, token) {
1062
- p._insertCharacters(token);
1063
- }
1064
-
1065
- function stopParsing(p) {
1066
- p.stopped = true;
1067
- }
1068
-
1069
- // The "initial" insertion mode
1070
- //------------------------------------------------------------------
1071
- function doctypeInInitialMode(p, token) {
1072
- p._setDocumentType(token);
1073
-
1074
- const mode = token.forceQuirks ? HTML.DOCUMENT_MODE.QUIRKS : doctype.getDocumentMode(token);
1075
-
1076
- if (!doctype.isConforming(token)) {
1077
- p._err(ERR.nonConformingDoctype);
1078
- }
1079
-
1080
- p.treeAdapter.setDocumentMode(p.document, mode);
1081
-
1082
- p.insertionMode = BEFORE_HTML_MODE;
1083
- }
1084
-
1085
- function tokenInInitialMode(p, token) {
1086
- p._err(ERR.missingDoctype, { beforeToken: true });
1087
- p.treeAdapter.setDocumentMode(p.document, HTML.DOCUMENT_MODE.QUIRKS);
1088
- p.insertionMode = BEFORE_HTML_MODE;
1089
- p._processToken(token);
1090
- }
1091
-
1092
- // The "before html" insertion mode
1093
- //------------------------------------------------------------------
1094
- function startTagBeforeHtml(p, token) {
1095
- if (token.tagName === $.HTML) {
1096
- p._insertElement(token, NS.HTML);
1097
- p.insertionMode = BEFORE_HEAD_MODE;
1098
- } else {
1099
- tokenBeforeHtml(p, token);
1100
- }
1101
- }
1102
-
1103
- function endTagBeforeHtml(p, token) {
1104
- const tn = token.tagName;
1105
-
1106
- if (tn === $.HTML || tn === $.HEAD || tn === $.BODY || tn === $.BR) {
1107
- tokenBeforeHtml(p, token);
1108
- }
1109
- }
1110
-
1111
- function tokenBeforeHtml(p, token) {
1112
- p._insertFakeRootElement();
1113
- p.insertionMode = BEFORE_HEAD_MODE;
1114
- p._processToken(token);
1115
- }
1116
-
1117
- // The "before head" insertion mode
1118
- //------------------------------------------------------------------
1119
- function startTagBeforeHead(p, token) {
1120
- const tn = token.tagName;
1121
-
1122
- if (tn === $.HTML) {
1123
- startTagInBody(p, token);
1124
- } else if (tn === $.HEAD) {
1125
- p._insertElement(token, NS.HTML);
1126
- p.headElement = p.openElements.current;
1127
- p.insertionMode = IN_HEAD_MODE;
1128
- } else {
1129
- tokenBeforeHead(p, token);
1130
- }
1131
- }
1132
-
1133
- function endTagBeforeHead(p, token) {
1134
- const tn = token.tagName;
1135
-
1136
- if (tn === $.HEAD || tn === $.BODY || tn === $.HTML || tn === $.BR) {
1137
- tokenBeforeHead(p, token);
1138
- } else {
1139
- p._err(ERR.endTagWithoutMatchingOpenElement);
1140
- }
1141
- }
1142
-
1143
- function tokenBeforeHead(p, token) {
1144
- p._insertFakeElement($.HEAD);
1145
- p.headElement = p.openElements.current;
1146
- p.insertionMode = IN_HEAD_MODE;
1147
- p._processToken(token);
1148
- }
1149
-
1150
- // The "in head" insertion mode
1151
- //------------------------------------------------------------------
1152
- function startTagInHead(p, token) {
1153
- const tn = token.tagName;
1154
-
1155
- if (tn === $.HTML) {
1156
- startTagInBody(p, token);
1157
- } else if (tn === $.BASE || tn === $.BASEFONT || tn === $.BGSOUND || tn === $.LINK || tn === $.META) {
1158
- p._appendElement(token, NS.HTML);
1159
- token.ackSelfClosing = true;
1160
- } else if (tn === $.TITLE) {
1161
- p._switchToTextParsing(token, Tokenizer.MODE.RCDATA);
1162
- } else if (tn === $.NOSCRIPT) {
1163
- if (p.options.scriptingEnabled) {
1164
- p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);
1165
- } else {
1166
- p._insertElement(token, NS.HTML);
1167
- p.insertionMode = IN_HEAD_NO_SCRIPT_MODE;
1168
- }
1169
- } else if (tn === $.NOFRAMES || tn === $.STYLE) {
1170
- p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);
1171
- } else if (tn === $.SCRIPT) {
1172
- p._switchToTextParsing(token, Tokenizer.MODE.SCRIPT_DATA);
1173
- } else if (tn === $.TEMPLATE) {
1174
- p._insertTemplate(token, NS.HTML);
1175
- p.activeFormattingElements.insertMarker();
1176
- p.framesetOk = false;
1177
- p.insertionMode = IN_TEMPLATE_MODE;
1178
- p._pushTmplInsertionMode(IN_TEMPLATE_MODE);
1179
- } else if (tn === $.HEAD) {
1180
- p._err(ERR.misplacedStartTagForHeadElement);
1181
- } else {
1182
- tokenInHead(p, token);
1183
- }
1184
- }
1185
-
1186
- function endTagInHead(p, token) {
1187
- const tn = token.tagName;
1188
-
1189
- if (tn === $.HEAD) {
1190
- p.openElements.pop();
1191
- p.insertionMode = AFTER_HEAD_MODE;
1192
- } else if (tn === $.BODY || tn === $.BR || tn === $.HTML) {
1193
- tokenInHead(p, token);
1194
- } else if (tn === $.TEMPLATE) {
1195
- if (p.openElements.tmplCount > 0) {
1196
- p.openElements.generateImpliedEndTagsThoroughly();
1197
-
1198
- if (p.openElements.currentTagName !== $.TEMPLATE) {
1199
- p._err(ERR.closingOfElementWithOpenChildElements);
1200
- }
1201
-
1202
- p.openElements.popUntilTagNamePopped($.TEMPLATE);
1203
- p.activeFormattingElements.clearToLastMarker();
1204
- p._popTmplInsertionMode();
1205
- p._resetInsertionMode();
1206
- } else {
1207
- p._err(ERR.endTagWithoutMatchingOpenElement);
1208
- }
1209
- } else {
1210
- p._err(ERR.endTagWithoutMatchingOpenElement);
1211
- }
1212
- }
1213
-
1214
- function tokenInHead(p, token) {
1215
- p.openElements.pop();
1216
- p.insertionMode = AFTER_HEAD_MODE;
1217
- p._processToken(token);
1218
- }
1219
-
1220
- // The "in head no script" insertion mode
1221
- //------------------------------------------------------------------
1222
- function startTagInHeadNoScript(p, token) {
1223
- const tn = token.tagName;
1224
-
1225
- if (tn === $.HTML) {
1226
- startTagInBody(p, token);
1227
- } else if (
1228
- tn === $.BASEFONT ||
1229
- tn === $.BGSOUND ||
1230
- tn === $.HEAD ||
1231
- tn === $.LINK ||
1232
- tn === $.META ||
1233
- tn === $.NOFRAMES ||
1234
- tn === $.STYLE
1235
- ) {
1236
- startTagInHead(p, token);
1237
- } else if (tn === $.NOSCRIPT) {
1238
- p._err(ERR.nestedNoscriptInHead);
1239
- } else {
1240
- tokenInHeadNoScript(p, token);
1241
- }
1242
- }
1243
-
1244
- function endTagInHeadNoScript(p, token) {
1245
- const tn = token.tagName;
1246
-
1247
- if (tn === $.NOSCRIPT) {
1248
- p.openElements.pop();
1249
- p.insertionMode = IN_HEAD_MODE;
1250
- } else if (tn === $.BR) {
1251
- tokenInHeadNoScript(p, token);
1252
- } else {
1253
- p._err(ERR.endTagWithoutMatchingOpenElement);
1254
- }
1255
- }
1256
-
1257
- function tokenInHeadNoScript(p, token) {
1258
- const errCode =
1259
- token.type === Tokenizer.EOF_TOKEN ? ERR.openElementsLeftAfterEof : ERR.disallowedContentInNoscriptInHead;
1260
-
1261
- p._err(errCode);
1262
- p.openElements.pop();
1263
- p.insertionMode = IN_HEAD_MODE;
1264
- p._processToken(token);
1265
- }
1266
-
1267
- // The "after head" insertion mode
1268
- //------------------------------------------------------------------
1269
- function startTagAfterHead(p, token) {
1270
- const tn = token.tagName;
1271
-
1272
- if (tn === $.HTML) {
1273
- startTagInBody(p, token);
1274
- } else if (tn === $.BODY) {
1275
- p._insertElement(token, NS.HTML);
1276
- p.framesetOk = false;
1277
- p.insertionMode = IN_BODY_MODE;
1278
- } else if (tn === $.FRAMESET) {
1279
- p._insertElement(token, NS.HTML);
1280
- p.insertionMode = IN_FRAMESET_MODE;
1281
- } else if (
1282
- tn === $.BASE ||
1283
- tn === $.BASEFONT ||
1284
- tn === $.BGSOUND ||
1285
- tn === $.LINK ||
1286
- tn === $.META ||
1287
- tn === $.NOFRAMES ||
1288
- tn === $.SCRIPT ||
1289
- tn === $.STYLE ||
1290
- tn === $.TEMPLATE ||
1291
- tn === $.TITLE
1292
- ) {
1293
- p._err(ERR.abandonedHeadElementChild);
1294
- p.openElements.push(p.headElement);
1295
- startTagInHead(p, token);
1296
- p.openElements.remove(p.headElement);
1297
- } else if (tn === $.HEAD) {
1298
- p._err(ERR.misplacedStartTagForHeadElement);
1299
- } else {
1300
- tokenAfterHead(p, token);
1301
- }
1302
- }
1303
-
1304
- function endTagAfterHead(p, token) {
1305
- const tn = token.tagName;
1306
-
1307
- if (tn === $.BODY || tn === $.HTML || tn === $.BR) {
1308
- tokenAfterHead(p, token);
1309
- } else if (tn === $.TEMPLATE) {
1310
- endTagInHead(p, token);
1311
- } else {
1312
- p._err(ERR.endTagWithoutMatchingOpenElement);
1313
- }
1314
- }
1315
-
1316
- function tokenAfterHead(p, token) {
1317
- p._insertFakeElement($.BODY);
1318
- p.insertionMode = IN_BODY_MODE;
1319
- p._processToken(token);
1320
- }
1321
-
1322
- // The "in body" insertion mode
1323
- //------------------------------------------------------------------
1324
- function whitespaceCharacterInBody(p, token) {
1325
- p._reconstructActiveFormattingElements();
1326
- p._insertCharacters(token);
1327
- }
1328
-
1329
- function characterInBody(p, token) {
1330
- p._reconstructActiveFormattingElements();
1331
- p._insertCharacters(token);
1332
- p.framesetOk = false;
1333
- }
1334
-
1335
- function htmlStartTagInBody(p, token) {
1336
- if (p.openElements.tmplCount === 0) {
1337
- p.treeAdapter.adoptAttributes(p.openElements.items[0], token.attrs);
1338
- }
1339
- }
1340
-
1341
- function bodyStartTagInBody(p, token) {
1342
- const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();
1343
-
1344
- if (bodyElement && p.openElements.tmplCount === 0) {
1345
- p.framesetOk = false;
1346
- p.treeAdapter.adoptAttributes(bodyElement, token.attrs);
1347
- }
1348
- }
1349
-
1350
- function framesetStartTagInBody(p, token) {
1351
- const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();
1352
-
1353
- if (p.framesetOk && bodyElement) {
1354
- p.treeAdapter.detachNode(bodyElement);
1355
- p.openElements.popAllUpToHtmlElement();
1356
- p._insertElement(token, NS.HTML);
1357
- p.insertionMode = IN_FRAMESET_MODE;
1358
- }
1359
- }
1360
-
1361
- function addressStartTagInBody(p, token) {
1362
- if (p.openElements.hasInButtonScope($.P)) {
1363
- p._closePElement();
1364
- }
1365
-
1366
- p._insertElement(token, NS.HTML);
1367
- }
1368
-
1369
- function numberedHeaderStartTagInBody(p, token) {
1370
- if (p.openElements.hasInButtonScope($.P)) {
1371
- p._closePElement();
1372
- }
1373
-
1374
- const tn = p.openElements.currentTagName;
1375
-
1376
- if (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) {
1377
- p.openElements.pop();
1378
- }
1379
-
1380
- p._insertElement(token, NS.HTML);
1381
- }
1382
-
1383
- function preStartTagInBody(p, token) {
1384
- if (p.openElements.hasInButtonScope($.P)) {
1385
- p._closePElement();
1386
- }
1387
-
1388
- p._insertElement(token, NS.HTML);
1389
- //NOTE: If the next token is a U+000A LINE FEED (LF) character token, then ignore that token and move
1390
- //on to the next one. (Newlines at the start of pre blocks are ignored as an authoring convenience.)
1391
- p.skipNextNewLine = true;
1392
- p.framesetOk = false;
1393
- }
1394
-
1395
- function formStartTagInBody(p, token) {
1396
- const inTemplate = p.openElements.tmplCount > 0;
1397
-
1398
- if (!p.formElement || inTemplate) {
1399
- if (p.openElements.hasInButtonScope($.P)) {
1400
- p._closePElement();
1401
- }
1402
-
1403
- p._insertElement(token, NS.HTML);
1404
-
1405
- if (!inTemplate) {
1406
- p.formElement = p.openElements.current;
1407
- }
1408
- }
1409
- }
1410
-
1411
- function listItemStartTagInBody(p, token) {
1412
- p.framesetOk = false;
1413
-
1414
- const tn = token.tagName;
1415
-
1416
- for (let i = p.openElements.stackTop; i >= 0; i--) {
1417
- const element = p.openElements.items[i];
1418
- const elementTn = p.treeAdapter.getTagName(element);
1419
- let closeTn = null;
1420
-
1421
- if (tn === $.LI && elementTn === $.LI) {
1422
- closeTn = $.LI;
1423
- } else if ((tn === $.DD || tn === $.DT) && (elementTn === $.DD || elementTn === $.DT)) {
1424
- closeTn = elementTn;
1425
- }
1426
-
1427
- if (closeTn) {
1428
- p.openElements.generateImpliedEndTagsWithExclusion(closeTn);
1429
- p.openElements.popUntilTagNamePopped(closeTn);
1430
- break;
1431
- }
1432
-
1433
- if (elementTn !== $.ADDRESS && elementTn !== $.DIV && elementTn !== $.P && p._isSpecialElement(element)) {
1434
- break;
1435
- }
1436
- }
1437
-
1438
- if (p.openElements.hasInButtonScope($.P)) {
1439
- p._closePElement();
1440
- }
1441
-
1442
- p._insertElement(token, NS.HTML);
1443
- }
1444
-
1445
- function plaintextStartTagInBody(p, token) {
1446
- if (p.openElements.hasInButtonScope($.P)) {
1447
- p._closePElement();
1448
- }
1449
-
1450
- p._insertElement(token, NS.HTML);
1451
- p.tokenizer.state = Tokenizer.MODE.PLAINTEXT;
1452
- }
1453
-
1454
- function buttonStartTagInBody(p, token) {
1455
- if (p.openElements.hasInScope($.BUTTON)) {
1456
- p.openElements.generateImpliedEndTags();
1457
- p.openElements.popUntilTagNamePopped($.BUTTON);
1458
- }
1459
-
1460
- p._reconstructActiveFormattingElements();
1461
- p._insertElement(token, NS.HTML);
1462
- p.framesetOk = false;
1463
- }
1464
-
1465
- function aStartTagInBody(p, token) {
1466
- const activeElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName($.A);
1467
-
1468
- if (activeElementEntry) {
1469
- callAdoptionAgency(p, token);
1470
- p.openElements.remove(activeElementEntry.element);
1471
- p.activeFormattingElements.removeEntry(activeElementEntry);
1472
- }
1473
-
1474
- p._reconstructActiveFormattingElements();
1475
- p._insertElement(token, NS.HTML);
1476
- p.activeFormattingElements.pushElement(p.openElements.current, token);
1477
- }
1478
-
1479
- function bStartTagInBody(p, token) {
1480
- p._reconstructActiveFormattingElements();
1481
- p._insertElement(token, NS.HTML);
1482
- p.activeFormattingElements.pushElement(p.openElements.current, token);
1483
- }
1484
-
1485
- function nobrStartTagInBody(p, token) {
1486
- p._reconstructActiveFormattingElements();
1487
-
1488
- if (p.openElements.hasInScope($.NOBR)) {
1489
- callAdoptionAgency(p, token);
1490
- p._reconstructActiveFormattingElements();
1491
- }
1492
-
1493
- p._insertElement(token, NS.HTML);
1494
- p.activeFormattingElements.pushElement(p.openElements.current, token);
1495
- }
1496
-
1497
- function appletStartTagInBody(p, token) {
1498
- p._reconstructActiveFormattingElements();
1499
- p._insertElement(token, NS.HTML);
1500
- p.activeFormattingElements.insertMarker();
1501
- p.framesetOk = false;
1502
- }
1503
-
1504
- function tableStartTagInBody(p, token) {
1505
- if (
1506
- p.treeAdapter.getDocumentMode(p.document) !== HTML.DOCUMENT_MODE.QUIRKS &&
1507
- p.openElements.hasInButtonScope($.P)
1508
- ) {
1509
- p._closePElement();
1510
- }
1511
-
1512
- p._insertElement(token, NS.HTML);
1513
- p.framesetOk = false;
1514
- p.insertionMode = IN_TABLE_MODE;
1515
- }
1516
-
1517
- function areaStartTagInBody(p, token) {
1518
- p._reconstructActiveFormattingElements();
1519
- p._appendElement(token, NS.HTML);
1520
- p.framesetOk = false;
1521
- token.ackSelfClosing = true;
1522
- }
1523
-
1524
- function inputStartTagInBody(p, token) {
1525
- p._reconstructActiveFormattingElements();
1526
- p._appendElement(token, NS.HTML);
1527
-
1528
- const inputType = Tokenizer.getTokenAttr(token, ATTRS.TYPE);
1529
-
1530
- if (!inputType || inputType.toLowerCase() !== HIDDEN_INPUT_TYPE) {
1531
- p.framesetOk = false;
1532
- }
1533
-
1534
- token.ackSelfClosing = true;
1535
- }
1536
-
1537
- function paramStartTagInBody(p, token) {
1538
- p._appendElement(token, NS.HTML);
1539
- token.ackSelfClosing = true;
1540
- }
1541
-
1542
- function hrStartTagInBody(p, token) {
1543
- if (p.openElements.hasInButtonScope($.P)) {
1544
- p._closePElement();
1545
- }
1546
-
1547
- p._appendElement(token, NS.HTML);
1548
- p.framesetOk = false;
1549
- token.ackSelfClosing = true;
1550
- }
1551
-
1552
- function imageStartTagInBody(p, token) {
1553
- token.tagName = $.IMG;
1554
- areaStartTagInBody(p, token);
1555
- }
1556
-
1557
- function textareaStartTagInBody(p, token) {
1558
- p._insertElement(token, NS.HTML);
1559
- //NOTE: If the next token is a U+000A LINE FEED (LF) character token, then ignore that token and move
1560
- //on to the next one. (Newlines at the start of textarea elements are ignored as an authoring convenience.)
1561
- p.skipNextNewLine = true;
1562
- p.tokenizer.state = Tokenizer.MODE.RCDATA;
1563
- p.originalInsertionMode = p.insertionMode;
1564
- p.framesetOk = false;
1565
- p.insertionMode = TEXT_MODE;
1566
- }
1567
-
1568
- function xmpStartTagInBody(p, token) {
1569
- if (p.openElements.hasInButtonScope($.P)) {
1570
- p._closePElement();
1571
- }
1572
-
1573
- p._reconstructActiveFormattingElements();
1574
- p.framesetOk = false;
1575
- p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);
1576
- }
1577
-
1578
- function iframeStartTagInBody(p, token) {
1579
- p.framesetOk = false;
1580
- p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);
1581
- }
1582
-
1583
- //NOTE: here we assume that we always act as an user agent with enabled plugins, so we parse
1584
- //<noembed> as a rawtext.
1585
- function noembedStartTagInBody(p, token) {
1586
- p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);
1587
- }
1588
-
1589
- function selectStartTagInBody(p, token) {
1590
- p._reconstructActiveFormattingElements();
1591
- p._insertElement(token, NS.HTML);
1592
- p.framesetOk = false;
1593
-
1594
- if (
1595
- p.insertionMode === IN_TABLE_MODE ||
1596
- p.insertionMode === IN_CAPTION_MODE ||
1597
- p.insertionMode === IN_TABLE_BODY_MODE ||
1598
- p.insertionMode === IN_ROW_MODE ||
1599
- p.insertionMode === IN_CELL_MODE
1600
- ) {
1601
- p.insertionMode = IN_SELECT_IN_TABLE_MODE;
1602
- } else {
1603
- p.insertionMode = IN_SELECT_MODE;
1604
- }
1605
- }
1606
-
1607
- function optgroupStartTagInBody(p, token) {
1608
- if (p.openElements.currentTagName === $.OPTION) {
1609
- p.openElements.pop();
1610
- }
1611
-
1612
- p._reconstructActiveFormattingElements();
1613
- p._insertElement(token, NS.HTML);
1614
- }
1615
-
1616
- function rbStartTagInBody(p, token) {
1617
- if (p.openElements.hasInScope($.RUBY)) {
1618
- p.openElements.generateImpliedEndTags();
1619
- }
1620
-
1621
- p._insertElement(token, NS.HTML);
1622
- }
1623
-
1624
- function rtStartTagInBody(p, token) {
1625
- if (p.openElements.hasInScope($.RUBY)) {
1626
- p.openElements.generateImpliedEndTagsWithExclusion($.RTC);
1627
- }
1628
-
1629
- p._insertElement(token, NS.HTML);
1630
- }
1631
-
1632
- function menuStartTagInBody(p, token) {
1633
- if (p.openElements.hasInButtonScope($.P)) {
1634
- p._closePElement();
1635
- }
1636
-
1637
- p._insertElement(token, NS.HTML);
1638
- }
1639
-
1640
- function mathStartTagInBody(p, token) {
1641
- p._reconstructActiveFormattingElements();
1642
-
1643
- foreignContent.adjustTokenMathMLAttrs(token);
1644
- foreignContent.adjustTokenXMLAttrs(token);
1645
-
1646
- if (token.selfClosing) {
1647
- p._appendElement(token, NS.MATHML);
1648
- } else {
1649
- p._insertElement(token, NS.MATHML);
1650
- }
1651
-
1652
- token.ackSelfClosing = true;
1653
- }
1654
-
1655
- function svgStartTagInBody(p, token) {
1656
- p._reconstructActiveFormattingElements();
1657
-
1658
- foreignContent.adjustTokenSVGAttrs(token);
1659
- foreignContent.adjustTokenXMLAttrs(token);
1660
-
1661
- if (token.selfClosing) {
1662
- p._appendElement(token, NS.SVG);
1663
- } else {
1664
- p._insertElement(token, NS.SVG);
1665
- }
1666
-
1667
- token.ackSelfClosing = true;
1668
- }
1669
-
1670
- function genericStartTagInBody(p, token) {
1671
- p._reconstructActiveFormattingElements();
1672
- p._insertElement(token, NS.HTML);
1673
- }
1674
-
1675
- //OPTIMIZATION: Integer comparisons are low-cost, so we can use very fast tag name length filters here.
1676
- //It's faster than using dictionary.
1677
- function startTagInBody(p, token) {
1678
- const tn = token.tagName;
1679
-
1680
- switch (tn.length) {
1681
- case 1:
1682
- if (tn === $.I || tn === $.S || tn === $.B || tn === $.U) {
1683
- bStartTagInBody(p, token);
1684
- } else if (tn === $.P) {
1685
- addressStartTagInBody(p, token);
1686
- } else if (tn === $.A) {
1687
- aStartTagInBody(p, token);
1688
- } else {
1689
- genericStartTagInBody(p, token);
1690
- }
1691
-
1692
- break;
1693
-
1694
- case 2:
1695
- if (tn === $.DL || tn === $.OL || tn === $.UL) {
1696
- addressStartTagInBody(p, token);
1697
- } else if (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) {
1698
- numberedHeaderStartTagInBody(p, token);
1699
- } else if (tn === $.LI || tn === $.DD || tn === $.DT) {
1700
- listItemStartTagInBody(p, token);
1701
- } else if (tn === $.EM || tn === $.TT) {
1702
- bStartTagInBody(p, token);
1703
- } else if (tn === $.BR) {
1704
- areaStartTagInBody(p, token);
1705
- } else if (tn === $.HR) {
1706
- hrStartTagInBody(p, token);
1707
- } else if (tn === $.RB) {
1708
- rbStartTagInBody(p, token);
1709
- } else if (tn === $.RT || tn === $.RP) {
1710
- rtStartTagInBody(p, token);
1711
- } else if (tn !== $.TH && tn !== $.TD && tn !== $.TR) {
1712
- genericStartTagInBody(p, token);
1713
- }
1714
-
1715
- break;
1716
-
1717
- case 3:
1718
- if (tn === $.DIV || tn === $.DIR || tn === $.NAV) {
1719
- addressStartTagInBody(p, token);
1720
- } else if (tn === $.PRE) {
1721
- preStartTagInBody(p, token);
1722
- } else if (tn === $.BIG) {
1723
- bStartTagInBody(p, token);
1724
- } else if (tn === $.IMG || tn === $.WBR) {
1725
- areaStartTagInBody(p, token);
1726
- } else if (tn === $.XMP) {
1727
- xmpStartTagInBody(p, token);
1728
- } else if (tn === $.SVG) {
1729
- svgStartTagInBody(p, token);
1730
- } else if (tn === $.RTC) {
1731
- rbStartTagInBody(p, token);
1732
- } else if (tn !== $.COL) {
1733
- genericStartTagInBody(p, token);
1734
- }
1735
-
1736
- break;
1737
-
1738
- case 4:
1739
- if (tn === $.HTML) {
1740
- htmlStartTagInBody(p, token);
1741
- } else if (tn === $.BASE || tn === $.LINK || tn === $.META) {
1742
- startTagInHead(p, token);
1743
- } else if (tn === $.BODY) {
1744
- bodyStartTagInBody(p, token);
1745
- } else if (tn === $.MAIN || tn === $.MENU) {
1746
- addressStartTagInBody(p, token);
1747
- } else if (tn === $.FORM) {
1748
- formStartTagInBody(p, token);
1749
- } else if (tn === $.CODE || tn === $.FONT) {
1750
- bStartTagInBody(p, token);
1751
- } else if (tn === $.NOBR) {
1752
- nobrStartTagInBody(p, token);
1753
- } else if (tn === $.AREA) {
1754
- areaStartTagInBody(p, token);
1755
- } else if (tn === $.MATH) {
1756
- mathStartTagInBody(p, token);
1757
- } else if (tn === $.MENU) {
1758
- menuStartTagInBody(p, token);
1759
- } else if (tn !== $.HEAD) {
1760
- genericStartTagInBody(p, token);
1761
- }
1762
-
1763
- break;
1764
-
1765
- case 5:
1766
- if (tn === $.STYLE || tn === $.TITLE) {
1767
- startTagInHead(p, token);
1768
- } else if (tn === $.ASIDE) {
1769
- addressStartTagInBody(p, token);
1770
- } else if (tn === $.SMALL) {
1771
- bStartTagInBody(p, token);
1772
- } else if (tn === $.TABLE) {
1773
- tableStartTagInBody(p, token);
1774
- } else if (tn === $.EMBED) {
1775
- areaStartTagInBody(p, token);
1776
- } else if (tn === $.INPUT) {
1777
- inputStartTagInBody(p, token);
1778
- } else if (tn === $.PARAM || tn === $.TRACK) {
1779
- paramStartTagInBody(p, token);
1780
- } else if (tn === $.IMAGE) {
1781
- imageStartTagInBody(p, token);
1782
- } else if (tn !== $.FRAME && tn !== $.TBODY && tn !== $.TFOOT && tn !== $.THEAD) {
1783
- genericStartTagInBody(p, token);
1784
- }
1785
-
1786
- break;
1787
-
1788
- case 6:
1789
- if (tn === $.SCRIPT) {
1790
- startTagInHead(p, token);
1791
- } else if (
1792
- tn === $.CENTER ||
1793
- tn === $.FIGURE ||
1794
- tn === $.FOOTER ||
1795
- tn === $.HEADER ||
1796
- tn === $.HGROUP ||
1797
- tn === $.DIALOG
1798
- ) {
1799
- addressStartTagInBody(p, token);
1800
- } else if (tn === $.BUTTON) {
1801
- buttonStartTagInBody(p, token);
1802
- } else if (tn === $.STRIKE || tn === $.STRONG) {
1803
- bStartTagInBody(p, token);
1804
- } else if (tn === $.APPLET || tn === $.OBJECT) {
1805
- appletStartTagInBody(p, token);
1806
- } else if (tn === $.KEYGEN) {
1807
- areaStartTagInBody(p, token);
1808
- } else if (tn === $.SOURCE) {
1809
- paramStartTagInBody(p, token);
1810
- } else if (tn === $.IFRAME) {
1811
- iframeStartTagInBody(p, token);
1812
- } else if (tn === $.SELECT) {
1813
- selectStartTagInBody(p, token);
1814
- } else if (tn === $.OPTION) {
1815
- optgroupStartTagInBody(p, token);
1816
- } else {
1817
- genericStartTagInBody(p, token);
1818
- }
1819
-
1820
- break;
1821
-
1822
- case 7:
1823
- if (tn === $.BGSOUND) {
1824
- startTagInHead(p, token);
1825
- } else if (
1826
- tn === $.DETAILS ||
1827
- tn === $.ADDRESS ||
1828
- tn === $.ARTICLE ||
1829
- tn === $.SECTION ||
1830
- tn === $.SUMMARY
1831
- ) {
1832
- addressStartTagInBody(p, token);
1833
- } else if (tn === $.LISTING) {
1834
- preStartTagInBody(p, token);
1835
- } else if (tn === $.MARQUEE) {
1836
- appletStartTagInBody(p, token);
1837
- } else if (tn === $.NOEMBED) {
1838
- noembedStartTagInBody(p, token);
1839
- } else if (tn !== $.CAPTION) {
1840
- genericStartTagInBody(p, token);
1841
- }
1842
-
1843
- break;
1844
-
1845
- case 8:
1846
- if (tn === $.BASEFONT) {
1847
- startTagInHead(p, token);
1848
- } else if (tn === $.FRAMESET) {
1849
- framesetStartTagInBody(p, token);
1850
- } else if (tn === $.FIELDSET) {
1851
- addressStartTagInBody(p, token);
1852
- } else if (tn === $.TEXTAREA) {
1853
- textareaStartTagInBody(p, token);
1854
- } else if (tn === $.TEMPLATE) {
1855
- startTagInHead(p, token);
1856
- } else if (tn === $.NOSCRIPT) {
1857
- if (p.options.scriptingEnabled) {
1858
- noembedStartTagInBody(p, token);
1859
- } else {
1860
- genericStartTagInBody(p, token);
1861
- }
1862
- } else if (tn === $.OPTGROUP) {
1863
- optgroupStartTagInBody(p, token);
1864
- } else if (tn !== $.COLGROUP) {
1865
- genericStartTagInBody(p, token);
1866
- }
1867
-
1868
- break;
1869
-
1870
- case 9:
1871
- if (tn === $.PLAINTEXT) {
1872
- plaintextStartTagInBody(p, token);
1873
- } else {
1874
- genericStartTagInBody(p, token);
1875
- }
1876
-
1877
- break;
1878
-
1879
- case 10:
1880
- if (tn === $.BLOCKQUOTE || tn === $.FIGCAPTION) {
1881
- addressStartTagInBody(p, token);
1882
- } else {
1883
- genericStartTagInBody(p, token);
1884
- }
1885
-
1886
- break;
1887
-
1888
- default:
1889
- genericStartTagInBody(p, token);
1890
- }
1891
- }
1892
-
1893
- function bodyEndTagInBody(p) {
1894
- if (p.openElements.hasInScope($.BODY)) {
1895
- p.insertionMode = AFTER_BODY_MODE;
1896
- }
1897
- }
1898
-
1899
- function htmlEndTagInBody(p, token) {
1900
- if (p.openElements.hasInScope($.BODY)) {
1901
- p.insertionMode = AFTER_BODY_MODE;
1902
- p._processToken(token);
1903
- }
1904
- }
1905
-
1906
- function addressEndTagInBody(p, token) {
1907
- const tn = token.tagName;
1908
-
1909
- if (p.openElements.hasInScope(tn)) {
1910
- p.openElements.generateImpliedEndTags();
1911
- p.openElements.popUntilTagNamePopped(tn);
1912
- }
1913
- }
1914
-
1915
- function formEndTagInBody(p) {
1916
- const inTemplate = p.openElements.tmplCount > 0;
1917
- const formElement = p.formElement;
1918
-
1919
- if (!inTemplate) {
1920
- p.formElement = null;
1921
- }
1922
-
1923
- if ((formElement || inTemplate) && p.openElements.hasInScope($.FORM)) {
1924
- p.openElements.generateImpliedEndTags();
1925
-
1926
- if (inTemplate) {
1927
- p.openElements.popUntilTagNamePopped($.FORM);
1928
- } else {
1929
- p.openElements.remove(formElement);
1930
- }
1931
- }
1932
- }
1933
-
1934
- function pEndTagInBody(p) {
1935
- if (!p.openElements.hasInButtonScope($.P)) {
1936
- p._insertFakeElement($.P);
1937
- }
1938
-
1939
- p._closePElement();
1940
- }
1941
-
1942
- function liEndTagInBody(p) {
1943
- if (p.openElements.hasInListItemScope($.LI)) {
1944
- p.openElements.generateImpliedEndTagsWithExclusion($.LI);
1945
- p.openElements.popUntilTagNamePopped($.LI);
1946
- }
1947
- }
1948
-
1949
- function ddEndTagInBody(p, token) {
1950
- const tn = token.tagName;
1951
-
1952
- if (p.openElements.hasInScope(tn)) {
1953
- p.openElements.generateImpliedEndTagsWithExclusion(tn);
1954
- p.openElements.popUntilTagNamePopped(tn);
1955
- }
1956
- }
1957
-
1958
- function numberedHeaderEndTagInBody(p) {
1959
- if (p.openElements.hasNumberedHeaderInScope()) {
1960
- p.openElements.generateImpliedEndTags();
1961
- p.openElements.popUntilNumberedHeaderPopped();
1962
- }
1963
- }
1964
-
1965
- function appletEndTagInBody(p, token) {
1966
- const tn = token.tagName;
1967
-
1968
- if (p.openElements.hasInScope(tn)) {
1969
- p.openElements.generateImpliedEndTags();
1970
- p.openElements.popUntilTagNamePopped(tn);
1971
- p.activeFormattingElements.clearToLastMarker();
1972
- }
1973
- }
1974
-
1975
- function brEndTagInBody(p) {
1976
- p._reconstructActiveFormattingElements();
1977
- p._insertFakeElement($.BR);
1978
- p.openElements.pop();
1979
- p.framesetOk = false;
1980
- }
1981
-
1982
- function genericEndTagInBody(p, token) {
1983
- const tn = token.tagName;
1984
-
1985
- for (let i = p.openElements.stackTop; i > 0; i--) {
1986
- const element = p.openElements.items[i];
1987
-
1988
- if (p.treeAdapter.getTagName(element) === tn) {
1989
- p.openElements.generateImpliedEndTagsWithExclusion(tn);
1990
- p.openElements.popUntilElementPopped(element);
1991
- break;
1992
- }
1993
-
1994
- if (p._isSpecialElement(element)) {
1995
- break;
1996
- }
1997
- }
1998
- }
1999
-
2000
- //OPTIMIZATION: Integer comparisons are low-cost, so we can use very fast tag name length filters here.
2001
- //It's faster than using dictionary.
2002
- function endTagInBody(p, token) {
2003
- const tn = token.tagName;
2004
-
2005
- switch (tn.length) {
2006
- case 1:
2007
- if (tn === $.A || tn === $.B || tn === $.I || tn === $.S || tn === $.U) {
2008
- callAdoptionAgency(p, token);
2009
- } else if (tn === $.P) {
2010
- pEndTagInBody(p, token);
2011
- } else {
2012
- genericEndTagInBody(p, token);
2013
- }
2014
-
2015
- break;
2016
-
2017
- case 2:
2018
- if (tn === $.DL || tn === $.UL || tn === $.OL) {
2019
- addressEndTagInBody(p, token);
2020
- } else if (tn === $.LI) {
2021
- liEndTagInBody(p, token);
2022
- } else if (tn === $.DD || tn === $.DT) {
2023
- ddEndTagInBody(p, token);
2024
- } else if (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) {
2025
- numberedHeaderEndTagInBody(p, token);
2026
- } else if (tn === $.BR) {
2027
- brEndTagInBody(p, token);
2028
- } else if (tn === $.EM || tn === $.TT) {
2029
- callAdoptionAgency(p, token);
2030
- } else {
2031
- genericEndTagInBody(p, token);
2032
- }
2033
-
2034
- break;
2035
-
2036
- case 3:
2037
- if (tn === $.BIG) {
2038
- callAdoptionAgency(p, token);
2039
- } else if (tn === $.DIR || tn === $.DIV || tn === $.NAV || tn === $.PRE) {
2040
- addressEndTagInBody(p, token);
2041
- } else {
2042
- genericEndTagInBody(p, token);
2043
- }
2044
-
2045
- break;
2046
-
2047
- case 4:
2048
- if (tn === $.BODY) {
2049
- bodyEndTagInBody(p, token);
2050
- } else if (tn === $.HTML) {
2051
- htmlEndTagInBody(p, token);
2052
- } else if (tn === $.FORM) {
2053
- formEndTagInBody(p, token);
2054
- } else if (tn === $.CODE || tn === $.FONT || tn === $.NOBR) {
2055
- callAdoptionAgency(p, token);
2056
- } else if (tn === $.MAIN || tn === $.MENU) {
2057
- addressEndTagInBody(p, token);
2058
- } else {
2059
- genericEndTagInBody(p, token);
2060
- }
2061
-
2062
- break;
2063
-
2064
- case 5:
2065
- if (tn === $.ASIDE) {
2066
- addressEndTagInBody(p, token);
2067
- } else if (tn === $.SMALL) {
2068
- callAdoptionAgency(p, token);
2069
- } else {
2070
- genericEndTagInBody(p, token);
2071
- }
2072
-
2073
- break;
2074
-
2075
- case 6:
2076
- if (
2077
- tn === $.CENTER ||
2078
- tn === $.FIGURE ||
2079
- tn === $.FOOTER ||
2080
- tn === $.HEADER ||
2081
- tn === $.HGROUP ||
2082
- tn === $.DIALOG
2083
- ) {
2084
- addressEndTagInBody(p, token);
2085
- } else if (tn === $.APPLET || tn === $.OBJECT) {
2086
- appletEndTagInBody(p, token);
2087
- } else if (tn === $.STRIKE || tn === $.STRONG) {
2088
- callAdoptionAgency(p, token);
2089
- } else {
2090
- genericEndTagInBody(p, token);
2091
- }
2092
-
2093
- break;
2094
-
2095
- case 7:
2096
- if (
2097
- tn === $.ADDRESS ||
2098
- tn === $.ARTICLE ||
2099
- tn === $.DETAILS ||
2100
- tn === $.SECTION ||
2101
- tn === $.SUMMARY ||
2102
- tn === $.LISTING
2103
- ) {
2104
- addressEndTagInBody(p, token);
2105
- } else if (tn === $.MARQUEE) {
2106
- appletEndTagInBody(p, token);
2107
- } else {
2108
- genericEndTagInBody(p, token);
2109
- }
2110
-
2111
- break;
2112
-
2113
- case 8:
2114
- if (tn === $.FIELDSET) {
2115
- addressEndTagInBody(p, token);
2116
- } else if (tn === $.TEMPLATE) {
2117
- endTagInHead(p, token);
2118
- } else {
2119
- genericEndTagInBody(p, token);
2120
- }
2121
-
2122
- break;
2123
-
2124
- case 10:
2125
- if (tn === $.BLOCKQUOTE || tn === $.FIGCAPTION) {
2126
- addressEndTagInBody(p, token);
2127
- } else {
2128
- genericEndTagInBody(p, token);
2129
- }
2130
-
2131
- break;
2132
-
2133
- default:
2134
- genericEndTagInBody(p, token);
2135
- }
2136
- }
2137
-
2138
- function eofInBody(p, token) {
2139
- if (p.tmplInsertionModeStackTop > -1) {
2140
- eofInTemplate(p, token);
2141
- } else {
2142
- p.stopped = true;
2143
- }
2144
- }
2145
-
2146
- // The "text" insertion mode
2147
- //------------------------------------------------------------------
2148
- function endTagInText(p, token) {
2149
- if (token.tagName === $.SCRIPT) {
2150
- p.pendingScript = p.openElements.current;
2151
- }
2152
-
2153
- p.openElements.pop();
2154
- p.insertionMode = p.originalInsertionMode;
2155
- }
2156
-
2157
- function eofInText(p, token) {
2158
- p._err(ERR.eofInElementThatCanContainOnlyText);
2159
- p.openElements.pop();
2160
- p.insertionMode = p.originalInsertionMode;
2161
- p._processToken(token);
2162
- }
2163
-
2164
- // The "in table" insertion mode
2165
- //------------------------------------------------------------------
2166
- function characterInTable(p, token) {
2167
- const curTn = p.openElements.currentTagName;
2168
-
2169
- if (curTn === $.TABLE || curTn === $.TBODY || curTn === $.TFOOT || curTn === $.THEAD || curTn === $.TR) {
2170
- p.pendingCharacterTokens = [];
2171
- p.hasNonWhitespacePendingCharacterToken = false;
2172
- p.originalInsertionMode = p.insertionMode;
2173
- p.insertionMode = IN_TABLE_TEXT_MODE;
2174
- p._processToken(token);
2175
- } else {
2176
- tokenInTable(p, token);
2177
- }
2178
- }
2179
-
2180
- function captionStartTagInTable(p, token) {
2181
- p.openElements.clearBackToTableContext();
2182
- p.activeFormattingElements.insertMarker();
2183
- p._insertElement(token, NS.HTML);
2184
- p.insertionMode = IN_CAPTION_MODE;
2185
- }
2186
-
2187
- function colgroupStartTagInTable(p, token) {
2188
- p.openElements.clearBackToTableContext();
2189
- p._insertElement(token, NS.HTML);
2190
- p.insertionMode = IN_COLUMN_GROUP_MODE;
2191
- }
2192
-
2193
- function colStartTagInTable(p, token) {
2194
- p.openElements.clearBackToTableContext();
2195
- p._insertFakeElement($.COLGROUP);
2196
- p.insertionMode = IN_COLUMN_GROUP_MODE;
2197
- p._processToken(token);
2198
- }
2199
-
2200
- function tbodyStartTagInTable(p, token) {
2201
- p.openElements.clearBackToTableContext();
2202
- p._insertElement(token, NS.HTML);
2203
- p.insertionMode = IN_TABLE_BODY_MODE;
2204
- }
2205
-
2206
- function tdStartTagInTable(p, token) {
2207
- p.openElements.clearBackToTableContext();
2208
- p._insertFakeElement($.TBODY);
2209
- p.insertionMode = IN_TABLE_BODY_MODE;
2210
- p._processToken(token);
2211
- }
2212
-
2213
- function tableStartTagInTable(p, token) {
2214
- if (p.openElements.hasInTableScope($.TABLE)) {
2215
- p.openElements.popUntilTagNamePopped($.TABLE);
2216
- p._resetInsertionMode();
2217
- p._processToken(token);
2218
- }
2219
- }
2220
-
2221
- function inputStartTagInTable(p, token) {
2222
- const inputType = Tokenizer.getTokenAttr(token, ATTRS.TYPE);
2223
-
2224
- if (inputType && inputType.toLowerCase() === HIDDEN_INPUT_TYPE) {
2225
- p._appendElement(token, NS.HTML);
2226
- } else {
2227
- tokenInTable(p, token);
2228
- }
2229
-
2230
- token.ackSelfClosing = true;
2231
- }
2232
-
2233
- function formStartTagInTable(p, token) {
2234
- if (!p.formElement && p.openElements.tmplCount === 0) {
2235
- p._insertElement(token, NS.HTML);
2236
- p.formElement = p.openElements.current;
2237
- p.openElements.pop();
2238
- }
2239
- }
2240
-
2241
- function startTagInTable(p, token) {
2242
- const tn = token.tagName;
2243
-
2244
- switch (tn.length) {
2245
- case 2:
2246
- if (tn === $.TD || tn === $.TH || tn === $.TR) {
2247
- tdStartTagInTable(p, token);
2248
- } else {
2249
- tokenInTable(p, token);
2250
- }
2251
-
2252
- break;
2253
-
2254
- case 3:
2255
- if (tn === $.COL) {
2256
- colStartTagInTable(p, token);
2257
- } else {
2258
- tokenInTable(p, token);
2259
- }
2260
-
2261
- break;
2262
-
2263
- case 4:
2264
- if (tn === $.FORM) {
2265
- formStartTagInTable(p, token);
2266
- } else {
2267
- tokenInTable(p, token);
2268
- }
2269
-
2270
- break;
2271
-
2272
- case 5:
2273
- if (tn === $.TABLE) {
2274
- tableStartTagInTable(p, token);
2275
- } else if (tn === $.STYLE) {
2276
- startTagInHead(p, token);
2277
- } else if (tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD) {
2278
- tbodyStartTagInTable(p, token);
2279
- } else if (tn === $.INPUT) {
2280
- inputStartTagInTable(p, token);
2281
- } else {
2282
- tokenInTable(p, token);
2283
- }
2284
-
2285
- break;
2286
-
2287
- case 6:
2288
- if (tn === $.SCRIPT) {
2289
- startTagInHead(p, token);
2290
- } else {
2291
- tokenInTable(p, token);
2292
- }
2293
-
2294
- break;
2295
-
2296
- case 7:
2297
- if (tn === $.CAPTION) {
2298
- captionStartTagInTable(p, token);
2299
- } else {
2300
- tokenInTable(p, token);
2301
- }
2302
-
2303
- break;
2304
-
2305
- case 8:
2306
- if (tn === $.COLGROUP) {
2307
- colgroupStartTagInTable(p, token);
2308
- } else if (tn === $.TEMPLATE) {
2309
- startTagInHead(p, token);
2310
- } else {
2311
- tokenInTable(p, token);
2312
- }
2313
-
2314
- break;
2315
-
2316
- default:
2317
- tokenInTable(p, token);
2318
- }
2319
- }
2320
-
2321
- function endTagInTable(p, token) {
2322
- const tn = token.tagName;
2323
-
2324
- if (tn === $.TABLE) {
2325
- if (p.openElements.hasInTableScope($.TABLE)) {
2326
- p.openElements.popUntilTagNamePopped($.TABLE);
2327
- p._resetInsertionMode();
2328
- }
2329
- } else if (tn === $.TEMPLATE) {
2330
- endTagInHead(p, token);
2331
- } else if (
2332
- tn !== $.BODY &&
2333
- tn !== $.CAPTION &&
2334
- tn !== $.COL &&
2335
- tn !== $.COLGROUP &&
2336
- tn !== $.HTML &&
2337
- tn !== $.TBODY &&
2338
- tn !== $.TD &&
2339
- tn !== $.TFOOT &&
2340
- tn !== $.TH &&
2341
- tn !== $.THEAD &&
2342
- tn !== $.TR
2343
- ) {
2344
- tokenInTable(p, token);
2345
- }
2346
- }
2347
-
2348
- function tokenInTable(p, token) {
2349
- const savedFosterParentingState = p.fosterParentingEnabled;
2350
-
2351
- p.fosterParentingEnabled = true;
2352
- p._processTokenInBodyMode(token);
2353
- p.fosterParentingEnabled = savedFosterParentingState;
2354
- }
2355
-
2356
- // The "in table text" insertion mode
2357
- //------------------------------------------------------------------
2358
- function whitespaceCharacterInTableText(p, token) {
2359
- p.pendingCharacterTokens.push(token);
2360
- }
2361
-
2362
- function characterInTableText(p, token) {
2363
- p.pendingCharacterTokens.push(token);
2364
- p.hasNonWhitespacePendingCharacterToken = true;
2365
- }
2366
-
2367
- function tokenInTableText(p, token) {
2368
- let i = 0;
2369
-
2370
- if (p.hasNonWhitespacePendingCharacterToken) {
2371
- for (; i < p.pendingCharacterTokens.length; i++) {
2372
- tokenInTable(p, p.pendingCharacterTokens[i]);
2373
- }
2374
- } else {
2375
- for (; i < p.pendingCharacterTokens.length; i++) {
2376
- p._insertCharacters(p.pendingCharacterTokens[i]);
2377
- }
2378
- }
2379
-
2380
- p.insertionMode = p.originalInsertionMode;
2381
- p._processToken(token);
2382
- }
2383
-
2384
- // The "in caption" insertion mode
2385
- //------------------------------------------------------------------
2386
- function startTagInCaption(p, token) {
2387
- const tn = token.tagName;
2388
-
2389
- if (
2390
- tn === $.CAPTION ||
2391
- tn === $.COL ||
2392
- tn === $.COLGROUP ||
2393
- tn === $.TBODY ||
2394
- tn === $.TD ||
2395
- tn === $.TFOOT ||
2396
- tn === $.TH ||
2397
- tn === $.THEAD ||
2398
- tn === $.TR
2399
- ) {
2400
- if (p.openElements.hasInTableScope($.CAPTION)) {
2401
- p.openElements.generateImpliedEndTags();
2402
- p.openElements.popUntilTagNamePopped($.CAPTION);
2403
- p.activeFormattingElements.clearToLastMarker();
2404
- p.insertionMode = IN_TABLE_MODE;
2405
- p._processToken(token);
2406
- }
2407
- } else {
2408
- startTagInBody(p, token);
2409
- }
2410
- }
2411
-
2412
- function endTagInCaption(p, token) {
2413
- const tn = token.tagName;
2414
-
2415
- if (tn === $.CAPTION || tn === $.TABLE) {
2416
- if (p.openElements.hasInTableScope($.CAPTION)) {
2417
- p.openElements.generateImpliedEndTags();
2418
- p.openElements.popUntilTagNamePopped($.CAPTION);
2419
- p.activeFormattingElements.clearToLastMarker();
2420
- p.insertionMode = IN_TABLE_MODE;
2421
-
2422
- if (tn === $.TABLE) {
2423
- p._processToken(token);
2424
- }
2425
- }
2426
- } else if (
2427
- tn !== $.BODY &&
2428
- tn !== $.COL &&
2429
- tn !== $.COLGROUP &&
2430
- tn !== $.HTML &&
2431
- tn !== $.TBODY &&
2432
- tn !== $.TD &&
2433
- tn !== $.TFOOT &&
2434
- tn !== $.TH &&
2435
- tn !== $.THEAD &&
2436
- tn !== $.TR
2437
- ) {
2438
- endTagInBody(p, token);
2439
- }
2440
- }
2441
-
2442
- // The "in column group" insertion mode
2443
- //------------------------------------------------------------------
2444
- function startTagInColumnGroup(p, token) {
2445
- const tn = token.tagName;
2446
-
2447
- if (tn === $.HTML) {
2448
- startTagInBody(p, token);
2449
- } else if (tn === $.COL) {
2450
- p._appendElement(token, NS.HTML);
2451
- token.ackSelfClosing = true;
2452
- } else if (tn === $.TEMPLATE) {
2453
- startTagInHead(p, token);
2454
- } else {
2455
- tokenInColumnGroup(p, token);
2456
- }
2457
- }
2458
-
2459
- function endTagInColumnGroup(p, token) {
2460
- const tn = token.tagName;
2461
-
2462
- if (tn === $.COLGROUP) {
2463
- if (p.openElements.currentTagName === $.COLGROUP) {
2464
- p.openElements.pop();
2465
- p.insertionMode = IN_TABLE_MODE;
2466
- }
2467
- } else if (tn === $.TEMPLATE) {
2468
- endTagInHead(p, token);
2469
- } else if (tn !== $.COL) {
2470
- tokenInColumnGroup(p, token);
2471
- }
2472
- }
2473
-
2474
- function tokenInColumnGroup(p, token) {
2475
- if (p.openElements.currentTagName === $.COLGROUP) {
2476
- p.openElements.pop();
2477
- p.insertionMode = IN_TABLE_MODE;
2478
- p._processToken(token);
2479
- }
2480
- }
2481
-
2482
- // The "in table body" insertion mode
2483
- //------------------------------------------------------------------
2484
- function startTagInTableBody(p, token) {
2485
- const tn = token.tagName;
2486
-
2487
- if (tn === $.TR) {
2488
- p.openElements.clearBackToTableBodyContext();
2489
- p._insertElement(token, NS.HTML);
2490
- p.insertionMode = IN_ROW_MODE;
2491
- } else if (tn === $.TH || tn === $.TD) {
2492
- p.openElements.clearBackToTableBodyContext();
2493
- p._insertFakeElement($.TR);
2494
- p.insertionMode = IN_ROW_MODE;
2495
- p._processToken(token);
2496
- } else if (
2497
- tn === $.CAPTION ||
2498
- tn === $.COL ||
2499
- tn === $.COLGROUP ||
2500
- tn === $.TBODY ||
2501
- tn === $.TFOOT ||
2502
- tn === $.THEAD
2503
- ) {
2504
- if (p.openElements.hasTableBodyContextInTableScope()) {
2505
- p.openElements.clearBackToTableBodyContext();
2506
- p.openElements.pop();
2507
- p.insertionMode = IN_TABLE_MODE;
2508
- p._processToken(token);
2509
- }
2510
- } else {
2511
- startTagInTable(p, token);
2512
- }
2513
- }
2514
-
2515
- function endTagInTableBody(p, token) {
2516
- const tn = token.tagName;
2517
-
2518
- if (tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD) {
2519
- if (p.openElements.hasInTableScope(tn)) {
2520
- p.openElements.clearBackToTableBodyContext();
2521
- p.openElements.pop();
2522
- p.insertionMode = IN_TABLE_MODE;
2523
- }
2524
- } else if (tn === $.TABLE) {
2525
- if (p.openElements.hasTableBodyContextInTableScope()) {
2526
- p.openElements.clearBackToTableBodyContext();
2527
- p.openElements.pop();
2528
- p.insertionMode = IN_TABLE_MODE;
2529
- p._processToken(token);
2530
- }
2531
- } else if (
2532
- (tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP) ||
2533
- (tn !== $.HTML && tn !== $.TD && tn !== $.TH && tn !== $.TR)
2534
- ) {
2535
- endTagInTable(p, token);
2536
- }
2537
- }
2538
-
2539
- // The "in row" insertion mode
2540
- //------------------------------------------------------------------
2541
- function startTagInRow(p, token) {
2542
- const tn = token.tagName;
2543
-
2544
- if (tn === $.TH || tn === $.TD) {
2545
- p.openElements.clearBackToTableRowContext();
2546
- p._insertElement(token, NS.HTML);
2547
- p.insertionMode = IN_CELL_MODE;
2548
- p.activeFormattingElements.insertMarker();
2549
- } else if (
2550
- tn === $.CAPTION ||
2551
- tn === $.COL ||
2552
- tn === $.COLGROUP ||
2553
- tn === $.TBODY ||
2554
- tn === $.TFOOT ||
2555
- tn === $.THEAD ||
2556
- tn === $.TR
2557
- ) {
2558
- if (p.openElements.hasInTableScope($.TR)) {
2559
- p.openElements.clearBackToTableRowContext();
2560
- p.openElements.pop();
2561
- p.insertionMode = IN_TABLE_BODY_MODE;
2562
- p._processToken(token);
2563
- }
2564
- } else {
2565
- startTagInTable(p, token);
2566
- }
2567
- }
2568
-
2569
- function endTagInRow(p, token) {
2570
- const tn = token.tagName;
2571
-
2572
- if (tn === $.TR) {
2573
- if (p.openElements.hasInTableScope($.TR)) {
2574
- p.openElements.clearBackToTableRowContext();
2575
- p.openElements.pop();
2576
- p.insertionMode = IN_TABLE_BODY_MODE;
2577
- }
2578
- } else if (tn === $.TABLE) {
2579
- if (p.openElements.hasInTableScope($.TR)) {
2580
- p.openElements.clearBackToTableRowContext();
2581
- p.openElements.pop();
2582
- p.insertionMode = IN_TABLE_BODY_MODE;
2583
- p._processToken(token);
2584
- }
2585
- } else if (tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD) {
2586
- if (p.openElements.hasInTableScope(tn) || p.openElements.hasInTableScope($.TR)) {
2587
- p.openElements.clearBackToTableRowContext();
2588
- p.openElements.pop();
2589
- p.insertionMode = IN_TABLE_BODY_MODE;
2590
- p._processToken(token);
2591
- }
2592
- } else if (
2593
- (tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP) ||
2594
- (tn !== $.HTML && tn !== $.TD && tn !== $.TH)
2595
- ) {
2596
- endTagInTable(p, token);
2597
- }
2598
- }
2599
-
2600
- // The "in cell" insertion mode
2601
- //------------------------------------------------------------------
2602
- function startTagInCell(p, token) {
2603
- const tn = token.tagName;
2604
-
2605
- if (
2606
- tn === $.CAPTION ||
2607
- tn === $.COL ||
2608
- tn === $.COLGROUP ||
2609
- tn === $.TBODY ||
2610
- tn === $.TD ||
2611
- tn === $.TFOOT ||
2612
- tn === $.TH ||
2613
- tn === $.THEAD ||
2614
- tn === $.TR
2615
- ) {
2616
- if (p.openElements.hasInTableScope($.TD) || p.openElements.hasInTableScope($.TH)) {
2617
- p._closeTableCell();
2618
- p._processToken(token);
2619
- }
2620
- } else {
2621
- startTagInBody(p, token);
2622
- }
2623
- }
2624
-
2625
- function endTagInCell(p, token) {
2626
- const tn = token.tagName;
2627
-
2628
- if (tn === $.TD || tn === $.TH) {
2629
- if (p.openElements.hasInTableScope(tn)) {
2630
- p.openElements.generateImpliedEndTags();
2631
- p.openElements.popUntilTagNamePopped(tn);
2632
- p.activeFormattingElements.clearToLastMarker();
2633
- p.insertionMode = IN_ROW_MODE;
2634
- }
2635
- } else if (tn === $.TABLE || tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD || tn === $.TR) {
2636
- if (p.openElements.hasInTableScope(tn)) {
2637
- p._closeTableCell();
2638
- p._processToken(token);
2639
- }
2640
- } else if (tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP && tn !== $.HTML) {
2641
- endTagInBody(p, token);
2642
- }
2643
- }
2644
-
2645
- // The "in select" insertion mode
2646
- //------------------------------------------------------------------
2647
- function startTagInSelect(p, token) {
2648
- const tn = token.tagName;
2649
-
2650
- if (tn === $.HTML) {
2651
- startTagInBody(p, token);
2652
- } else if (tn === $.OPTION) {
2653
- if (p.openElements.currentTagName === $.OPTION) {
2654
- p.openElements.pop();
2655
- }
2656
-
2657
- p._insertElement(token, NS.HTML);
2658
- } else if (tn === $.OPTGROUP) {
2659
- if (p.openElements.currentTagName === $.OPTION) {
2660
- p.openElements.pop();
2661
- }
2662
-
2663
- if (p.openElements.currentTagName === $.OPTGROUP) {
2664
- p.openElements.pop();
2665
- }
2666
-
2667
- p._insertElement(token, NS.HTML);
2668
- } else if (tn === $.INPUT || tn === $.KEYGEN || tn === $.TEXTAREA || tn === $.SELECT) {
2669
- if (p.openElements.hasInSelectScope($.SELECT)) {
2670
- p.openElements.popUntilTagNamePopped($.SELECT);
2671
- p._resetInsertionMode();
2672
-
2673
- if (tn !== $.SELECT) {
2674
- p._processToken(token);
2675
- }
2676
- }
2677
- } else if (tn === $.SCRIPT || tn === $.TEMPLATE) {
2678
- startTagInHead(p, token);
2679
- }
2680
- }
2681
-
2682
- function endTagInSelect(p, token) {
2683
- const tn = token.tagName;
2684
-
2685
- if (tn === $.OPTGROUP) {
2686
- const prevOpenElement = p.openElements.items[p.openElements.stackTop - 1];
2687
- const prevOpenElementTn = prevOpenElement && p.treeAdapter.getTagName(prevOpenElement);
2688
-
2689
- if (p.openElements.currentTagName === $.OPTION && prevOpenElementTn === $.OPTGROUP) {
2690
- p.openElements.pop();
2691
- }
2692
-
2693
- if (p.openElements.currentTagName === $.OPTGROUP) {
2694
- p.openElements.pop();
2695
- }
2696
- } else if (tn === $.OPTION) {
2697
- if (p.openElements.currentTagName === $.OPTION) {
2698
- p.openElements.pop();
2699
- }
2700
- } else if (tn === $.SELECT && p.openElements.hasInSelectScope($.SELECT)) {
2701
- p.openElements.popUntilTagNamePopped($.SELECT);
2702
- p._resetInsertionMode();
2703
- } else if (tn === $.TEMPLATE) {
2704
- endTagInHead(p, token);
2705
- }
2706
- }
2707
-
2708
- //12.2.5.4.17 The "in select in table" insertion mode
2709
- //------------------------------------------------------------------
2710
- function startTagInSelectInTable(p, token) {
2711
- const tn = token.tagName;
2712
-
2713
- if (
2714
- tn === $.CAPTION ||
2715
- tn === $.TABLE ||
2716
- tn === $.TBODY ||
2717
- tn === $.TFOOT ||
2718
- tn === $.THEAD ||
2719
- tn === $.TR ||
2720
- tn === $.TD ||
2721
- tn === $.TH
2722
- ) {
2723
- p.openElements.popUntilTagNamePopped($.SELECT);
2724
- p._resetInsertionMode();
2725
- p._processToken(token);
2726
- } else {
2727
- startTagInSelect(p, token);
2728
- }
2729
- }
2730
-
2731
- function endTagInSelectInTable(p, token) {
2732
- const tn = token.tagName;
2733
-
2734
- if (
2735
- tn === $.CAPTION ||
2736
- tn === $.TABLE ||
2737
- tn === $.TBODY ||
2738
- tn === $.TFOOT ||
2739
- tn === $.THEAD ||
2740
- tn === $.TR ||
2741
- tn === $.TD ||
2742
- tn === $.TH
2743
- ) {
2744
- if (p.openElements.hasInTableScope(tn)) {
2745
- p.openElements.popUntilTagNamePopped($.SELECT);
2746
- p._resetInsertionMode();
2747
- p._processToken(token);
2748
- }
2749
- } else {
2750
- endTagInSelect(p, token);
2751
- }
2752
- }
2753
-
2754
- // The "in template" insertion mode
2755
- //------------------------------------------------------------------
2756
- function startTagInTemplate(p, token) {
2757
- const tn = token.tagName;
2758
-
2759
- if (
2760
- tn === $.BASE ||
2761
- tn === $.BASEFONT ||
2762
- tn === $.BGSOUND ||
2763
- tn === $.LINK ||
2764
- tn === $.META ||
2765
- tn === $.NOFRAMES ||
2766
- tn === $.SCRIPT ||
2767
- tn === $.STYLE ||
2768
- tn === $.TEMPLATE ||
2769
- tn === $.TITLE
2770
- ) {
2771
- startTagInHead(p, token);
2772
- } else {
2773
- const newInsertionMode = TEMPLATE_INSERTION_MODE_SWITCH_MAP[tn] || IN_BODY_MODE;
2774
-
2775
- p._popTmplInsertionMode();
2776
- p._pushTmplInsertionMode(newInsertionMode);
2777
- p.insertionMode = newInsertionMode;
2778
- p._processToken(token);
2779
- }
2780
- }
2781
-
2782
- function endTagInTemplate(p, token) {
2783
- if (token.tagName === $.TEMPLATE) {
2784
- endTagInHead(p, token);
2785
- }
2786
- }
2787
-
2788
- function eofInTemplate(p, token) {
2789
- if (p.openElements.tmplCount > 0) {
2790
- p.openElements.popUntilTagNamePopped($.TEMPLATE);
2791
- p.activeFormattingElements.clearToLastMarker();
2792
- p._popTmplInsertionMode();
2793
- p._resetInsertionMode();
2794
- p._processToken(token);
2795
- } else {
2796
- p.stopped = true;
2797
- }
2798
- }
2799
-
2800
- // The "after body" insertion mode
2801
- //------------------------------------------------------------------
2802
- function startTagAfterBody(p, token) {
2803
- if (token.tagName === $.HTML) {
2804
- startTagInBody(p, token);
2805
- } else {
2806
- tokenAfterBody(p, token);
2807
- }
2808
- }
2809
-
2810
- function endTagAfterBody(p, token) {
2811
- if (token.tagName === $.HTML) {
2812
- if (!p.fragmentContext) {
2813
- p.insertionMode = AFTER_AFTER_BODY_MODE;
2814
- }
2815
- } else {
2816
- tokenAfterBody(p, token);
2817
- }
2818
- }
2819
-
2820
- function tokenAfterBody(p, token) {
2821
- p.insertionMode = IN_BODY_MODE;
2822
- p._processToken(token);
2823
- }
2824
-
2825
- // The "in frameset" insertion mode
2826
- //------------------------------------------------------------------
2827
- function startTagInFrameset(p, token) {
2828
- const tn = token.tagName;
2829
-
2830
- if (tn === $.HTML) {
2831
- startTagInBody(p, token);
2832
- } else if (tn === $.FRAMESET) {
2833
- p._insertElement(token, NS.HTML);
2834
- } else if (tn === $.FRAME) {
2835
- p._appendElement(token, NS.HTML);
2836
- token.ackSelfClosing = true;
2837
- } else if (tn === $.NOFRAMES) {
2838
- startTagInHead(p, token);
2839
- }
2840
- }
2841
-
2842
- function endTagInFrameset(p, token) {
2843
- if (token.tagName === $.FRAMESET && !p.openElements.isRootHtmlElementCurrent()) {
2844
- p.openElements.pop();
2845
-
2846
- if (!p.fragmentContext && p.openElements.currentTagName !== $.FRAMESET) {
2847
- p.insertionMode = AFTER_FRAMESET_MODE;
2848
- }
2849
- }
2850
- }
2851
-
2852
- // The "after frameset" insertion mode
2853
- //------------------------------------------------------------------
2854
- function startTagAfterFrameset(p, token) {
2855
- const tn = token.tagName;
2856
-
2857
- if (tn === $.HTML) {
2858
- startTagInBody(p, token);
2859
- } else if (tn === $.NOFRAMES) {
2860
- startTagInHead(p, token);
2861
- }
2862
- }
2863
-
2864
- function endTagAfterFrameset(p, token) {
2865
- if (token.tagName === $.HTML) {
2866
- p.insertionMode = AFTER_AFTER_FRAMESET_MODE;
2867
- }
2868
- }
2869
-
2870
- // The "after after body" insertion mode
2871
- //------------------------------------------------------------------
2872
- function startTagAfterAfterBody(p, token) {
2873
- if (token.tagName === $.HTML) {
2874
- startTagInBody(p, token);
2875
- } else {
2876
- tokenAfterAfterBody(p, token);
2877
- }
2878
- }
2879
-
2880
- function tokenAfterAfterBody(p, token) {
2881
- p.insertionMode = IN_BODY_MODE;
2882
- p._processToken(token);
2883
- }
2884
-
2885
- // The "after after frameset" insertion mode
2886
- //------------------------------------------------------------------
2887
- function startTagAfterAfterFrameset(p, token) {
2888
- const tn = token.tagName;
2889
-
2890
- if (tn === $.HTML) {
2891
- startTagInBody(p, token);
2892
- } else if (tn === $.NOFRAMES) {
2893
- startTagInHead(p, token);
2894
- }
2895
- }
2896
-
2897
- // The rules for parsing tokens in foreign content
2898
- //------------------------------------------------------------------
2899
- function nullCharacterInForeignContent(p, token) {
2900
- token.chars = unicode.REPLACEMENT_CHARACTER;
2901
- p._insertCharacters(token);
2902
- }
2903
-
2904
- function characterInForeignContent(p, token) {
2905
- p._insertCharacters(token);
2906
- p.framesetOk = false;
2907
- }
2908
-
2909
- function startTagInForeignContent(p, token) {
2910
- if (foreignContent.causesExit(token) && !p.fragmentContext) {
2911
- while (
2912
- p.treeAdapter.getNamespaceURI(p.openElements.current) !== NS.HTML &&
2913
- !p._isIntegrationPoint(p.openElements.current)
2914
- ) {
2915
- p.openElements.pop();
2916
- }
2917
-
2918
- p._processToken(token);
2919
- } else {
2920
- const current = p._getAdjustedCurrentElement();
2921
- const currentNs = p.treeAdapter.getNamespaceURI(current);
2922
-
2923
- if (currentNs === NS.MATHML) {
2924
- foreignContent.adjustTokenMathMLAttrs(token);
2925
- } else if (currentNs === NS.SVG) {
2926
- foreignContent.adjustTokenSVGTagName(token);
2927
- foreignContent.adjustTokenSVGAttrs(token);
2928
- }
2929
-
2930
- foreignContent.adjustTokenXMLAttrs(token);
2931
-
2932
- if (token.selfClosing) {
2933
- p._appendElement(token, currentNs);
2934
- } else {
2935
- p._insertElement(token, currentNs);
2936
- }
2937
-
2938
- token.ackSelfClosing = true;
2939
- }
2940
- }
2941
-
2942
- function endTagInForeignContent(p, token) {
2943
- for (let i = p.openElements.stackTop; i > 0; i--) {
2944
- const element = p.openElements.items[i];
2945
-
2946
- if (p.treeAdapter.getNamespaceURI(element) === NS.HTML) {
2947
- p._processToken(token);
2948
- break;
2949
- }
2950
-
2951
- if (p.treeAdapter.getTagName(element).toLowerCase() === token.tagName) {
2952
- p.openElements.popUntilElementPopped(element);
2953
- break;
2954
- }
2955
- }
2956
- }