html2canvas-pro 1.6.0 → 1.6.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 (262) hide show
  1. package/dist/html2canvas-pro.esm.js +2509 -3036
  2. package/dist/html2canvas-pro.esm.js.map +1 -1
  3. package/dist/html2canvas-pro.js +2517 -3040
  4. package/dist/html2canvas-pro.js.map +1 -1
  5. package/dist/html2canvas-pro.min.js +6 -2
  6. package/dist/lib/__tests__/index.js +57 -122
  7. package/dist/lib/__tests__/index.js.map +1 -1
  8. package/dist/lib/core/__mocks__/cache-storage.js +2 -5
  9. package/dist/lib/core/__mocks__/cache-storage.js.map +1 -1
  10. package/dist/lib/core/__mocks__/context.js +7 -10
  11. package/dist/lib/core/__mocks__/context.js.map +1 -1
  12. package/dist/lib/core/__mocks__/logger.js +9 -17
  13. package/dist/lib/core/__mocks__/logger.js.map +1 -1
  14. package/dist/lib/core/__tests__/cache-storage.js +153 -351
  15. package/dist/lib/core/__tests__/cache-storage.js.map +1 -1
  16. package/dist/lib/core/__tests__/logger.js +12 -13
  17. package/dist/lib/core/__tests__/logger.js.map +1 -1
  18. package/dist/lib/core/bitwise.js +1 -1
  19. package/dist/lib/core/bitwise.js.map +1 -1
  20. package/dist/lib/core/cache-storage.js +92 -155
  21. package/dist/lib/core/cache-storage.js.map +1 -1
  22. package/dist/lib/core/context.js +8 -10
  23. package/dist/lib/core/context.js.map +1 -1
  24. package/dist/lib/core/debugger.js +5 -5
  25. package/dist/lib/core/debugger.js.map +1 -1
  26. package/dist/lib/core/features.js +65 -68
  27. package/dist/lib/core/features.js.map +1 -1
  28. package/dist/lib/core/logger.js +21 -56
  29. package/dist/lib/core/logger.js.map +1 -1
  30. package/dist/lib/css/index.js +98 -103
  31. package/dist/lib/css/index.js.map +1 -1
  32. package/dist/lib/css/layout/__mocks__/bounds.js +1 -1
  33. package/dist/lib/css/layout/__mocks__/bounds.js.map +1 -1
  34. package/dist/lib/css/layout/bounds.js +20 -21
  35. package/dist/lib/css/layout/bounds.js.map +1 -1
  36. package/dist/lib/css/layout/text.js +50 -58
  37. package/dist/lib/css/layout/text.js.map +1 -1
  38. package/dist/lib/css/property-descriptors/__tests__/background-tests.js +24 -29
  39. package/dist/lib/css/property-descriptors/__tests__/background-tests.js.map +1 -1
  40. package/dist/lib/css/property-descriptors/__tests__/font-family.js +14 -20
  41. package/dist/lib/css/property-descriptors/__tests__/font-family.js.map +1 -1
  42. package/dist/lib/css/property-descriptors/__tests__/paint-order.js +61 -83
  43. package/dist/lib/css/property-descriptors/__tests__/paint-order.js.map +1 -1
  44. package/dist/lib/css/property-descriptors/__tests__/text-shadow.js +75 -87
  45. package/dist/lib/css/property-descriptors/__tests__/text-shadow.js.map +1 -1
  46. package/dist/lib/css/property-descriptors/__tests__/transform-tests.js +9 -13
  47. package/dist/lib/css/property-descriptors/__tests__/transform-tests.js.map +1 -1
  48. package/dist/lib/css/property-descriptors/background-clip.js +3 -3
  49. package/dist/lib/css/property-descriptors/background-clip.js.map +1 -1
  50. package/dist/lib/css/property-descriptors/background-color.js +1 -1
  51. package/dist/lib/css/property-descriptors/background-image.js +6 -6
  52. package/dist/lib/css/property-descriptors/background-image.js.map +1 -1
  53. package/dist/lib/css/property-descriptors/background-origin.js +3 -3
  54. package/dist/lib/css/property-descriptors/background-origin.js.map +1 -1
  55. package/dist/lib/css/property-descriptors/background-position.js +6 -6
  56. package/dist/lib/css/property-descriptors/background-position.js.map +1 -1
  57. package/dist/lib/css/property-descriptors/background-repeat.js +7 -9
  58. package/dist/lib/css/property-descriptors/background-repeat.js.map +1 -1
  59. package/dist/lib/css/property-descriptors/background-size.js +5 -7
  60. package/dist/lib/css/property-descriptors/background-size.js.map +1 -1
  61. package/dist/lib/css/property-descriptors/border-color.js +3 -3
  62. package/dist/lib/css/property-descriptors/border-color.js.map +1 -1
  63. package/dist/lib/css/property-descriptors/border-radius.js +5 -7
  64. package/dist/lib/css/property-descriptors/border-radius.js.map +1 -1
  65. package/dist/lib/css/property-descriptors/border-style.js +4 -4
  66. package/dist/lib/css/property-descriptors/border-style.js.map +1 -1
  67. package/dist/lib/css/property-descriptors/border-width.js +5 -5
  68. package/dist/lib/css/property-descriptors/border-width.js.map +1 -1
  69. package/dist/lib/css/property-descriptors/box-shadow.js +10 -10
  70. package/dist/lib/css/property-descriptors/box-shadow.js.map +1 -1
  71. package/dist/lib/css/property-descriptors/color.js +1 -1
  72. package/dist/lib/css/property-descriptors/content.js +2 -2
  73. package/dist/lib/css/property-descriptors/content.js.map +1 -1
  74. package/dist/lib/css/property-descriptors/counter-increment.js +10 -10
  75. package/dist/lib/css/property-descriptors/counter-increment.js.map +1 -1
  76. package/dist/lib/css/property-descriptors/counter-reset.js +9 -9
  77. package/dist/lib/css/property-descriptors/counter-reset.js.map +1 -1
  78. package/dist/lib/css/property-descriptors/direction.js +1 -1
  79. package/dist/lib/css/property-descriptors/direction.js.map +1 -1
  80. package/dist/lib/css/property-descriptors/display.js +4 -4
  81. package/dist/lib/css/property-descriptors/display.js.map +1 -1
  82. package/dist/lib/css/property-descriptors/duration.js +4 -4
  83. package/dist/lib/css/property-descriptors/duration.js.map +1 -1
  84. package/dist/lib/css/property-descriptors/float.js +1 -1
  85. package/dist/lib/css/property-descriptors/float.js.map +1 -1
  86. package/dist/lib/css/property-descriptors/font-family.js +6 -6
  87. package/dist/lib/css/property-descriptors/font-family.js.map +1 -1
  88. package/dist/lib/css/property-descriptors/font-size.js +1 -1
  89. package/dist/lib/css/property-descriptors/font-style.js +1 -1
  90. package/dist/lib/css/property-descriptors/font-style.js.map +1 -1
  91. package/dist/lib/css/property-descriptors/font-variant.js +3 -3
  92. package/dist/lib/css/property-descriptors/font-variant.js.map +1 -1
  93. package/dist/lib/css/property-descriptors/font-weight.js +2 -2
  94. package/dist/lib/css/property-descriptors/font-weight.js.map +1 -1
  95. package/dist/lib/css/property-descriptors/letter-spacing.js +1 -1
  96. package/dist/lib/css/property-descriptors/letter-spacing.js.map +1 -1
  97. package/dist/lib/css/property-descriptors/line-break.js +1 -1
  98. package/dist/lib/css/property-descriptors/line-break.js.map +1 -1
  99. package/dist/lib/css/property-descriptors/line-height.js +3 -3
  100. package/dist/lib/css/property-descriptors/line-height.js.map +1 -1
  101. package/dist/lib/css/property-descriptors/list-style-image.js +2 -2
  102. package/dist/lib/css/property-descriptors/list-style-image.js.map +1 -1
  103. package/dist/lib/css/property-descriptors/list-style-position.js +1 -1
  104. package/dist/lib/css/property-descriptors/list-style-position.js.map +1 -1
  105. package/dist/lib/css/property-descriptors/list-style-type.js +1 -1
  106. package/dist/lib/css/property-descriptors/list-style-type.js.map +1 -1
  107. package/dist/lib/css/property-descriptors/margin.js +3 -3
  108. package/dist/lib/css/property-descriptors/margin.js.map +1 -1
  109. package/dist/lib/css/property-descriptors/object-fit.js +4 -4
  110. package/dist/lib/css/property-descriptors/object-fit.js.map +1 -1
  111. package/dist/lib/css/property-descriptors/opacity.js +2 -2
  112. package/dist/lib/css/property-descriptors/opacity.js.map +1 -1
  113. package/dist/lib/css/property-descriptors/overflow-wrap.js +1 -1
  114. package/dist/lib/css/property-descriptors/overflow-wrap.js.map +1 -1
  115. package/dist/lib/css/property-descriptors/overflow.js +3 -3
  116. package/dist/lib/css/property-descriptors/overflow.js.map +1 -1
  117. package/dist/lib/css/property-descriptors/padding.js +3 -3
  118. package/dist/lib/css/property-descriptors/padding.js.map +1 -1
  119. package/dist/lib/css/property-descriptors/paint-order.js +6 -6
  120. package/dist/lib/css/property-descriptors/paint-order.js.map +1 -1
  121. package/dist/lib/css/property-descriptors/position.js +1 -1
  122. package/dist/lib/css/property-descriptors/position.js.map +1 -1
  123. package/dist/lib/css/property-descriptors/quotes.js +11 -11
  124. package/dist/lib/css/property-descriptors/quotes.js.map +1 -1
  125. package/dist/lib/css/property-descriptors/rotate.js +3 -3
  126. package/dist/lib/css/property-descriptors/rotate.js.map +1 -1
  127. package/dist/lib/css/property-descriptors/text-align.js +1 -1
  128. package/dist/lib/css/property-descriptors/text-align.js.map +1 -1
  129. package/dist/lib/css/property-descriptors/text-decoration-color.js +1 -1
  130. package/dist/lib/css/property-descriptors/text-decoration-line.js +4 -4
  131. package/dist/lib/css/property-descriptors/text-decoration-line.js.map +1 -1
  132. package/dist/lib/css/property-descriptors/text-shadow.js +10 -10
  133. package/dist/lib/css/property-descriptors/text-shadow.js.map +1 -1
  134. package/dist/lib/css/property-descriptors/text-transform.js +1 -1
  135. package/dist/lib/css/property-descriptors/text-transform.js.map +1 -1
  136. package/dist/lib/css/property-descriptors/transform-origin.js +6 -6
  137. package/dist/lib/css/property-descriptors/transform-origin.js.map +1 -1
  138. package/dist/lib/css/property-descriptors/transform.js +15 -15
  139. package/dist/lib/css/property-descriptors/transform.js.map +1 -1
  140. package/dist/lib/css/property-descriptors/visibility.js +1 -1
  141. package/dist/lib/css/property-descriptors/visibility.js.map +1 -1
  142. package/dist/lib/css/property-descriptors/webkit-text-stroke-color.js +1 -1
  143. package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js +3 -3
  144. package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js.map +1 -1
  145. package/dist/lib/css/property-descriptors/word-break.js +1 -1
  146. package/dist/lib/css/property-descriptors/word-break.js.map +1 -1
  147. package/dist/lib/css/property-descriptors/z-index.js +3 -3
  148. package/dist/lib/css/property-descriptors/z-index.js.map +1 -1
  149. package/dist/lib/css/syntax/__tests__/tokernizer-tests.js +17 -25
  150. package/dist/lib/css/syntax/__tests__/tokernizer-tests.js.map +1 -1
  151. package/dist/lib/css/syntax/parser.js +50 -55
  152. package/dist/lib/css/syntax/parser.js.map +1 -1
  153. package/dist/lib/css/syntax/tokenizer.js +205 -214
  154. package/dist/lib/css/syntax/tokenizer.js.map +1 -1
  155. package/dist/lib/css/types/__tests__/color-tests.js +103 -167
  156. package/dist/lib/css/types/__tests__/color-tests.js.map +1 -1
  157. package/dist/lib/css/types/__tests__/image-tests.js +192 -217
  158. package/dist/lib/css/types/__tests__/image-tests.js.map +1 -1
  159. package/dist/lib/css/types/angle.js +13 -13
  160. package/dist/lib/css/types/angle.js.map +1 -1
  161. package/dist/lib/css/types/color-spaces/a98.js +18 -22
  162. package/dist/lib/css/types/color-spaces/a98.js.map +1 -1
  163. package/dist/lib/css/types/color-spaces/p3.js +17 -22
  164. package/dist/lib/css/types/color-spaces/p3.js.map +1 -1
  165. package/dist/lib/css/types/color-spaces/pro-photo.js +17 -21
  166. package/dist/lib/css/types/color-spaces/pro-photo.js.map +1 -1
  167. package/dist/lib/css/types/color-spaces/rec2020.js +15 -19
  168. package/dist/lib/css/types/color-spaces/rec2020.js.map +1 -1
  169. package/dist/lib/css/types/color-spaces/srgb.js +17 -23
  170. package/dist/lib/css/types/color-spaces/srgb.js.map +1 -1
  171. package/dist/lib/css/types/color-utilities.js +80 -103
  172. package/dist/lib/css/types/color-utilities.js.map +1 -1
  173. package/dist/lib/css/types/color.js +72 -66
  174. package/dist/lib/css/types/color.js.map +1 -1
  175. package/dist/lib/css/types/functions/-prefix-linear-gradient.js +11 -11
  176. package/dist/lib/css/types/functions/-prefix-linear-gradient.js.map +1 -1
  177. package/dist/lib/css/types/functions/-prefix-radial-gradient.js +16 -16
  178. package/dist/lib/css/types/functions/-prefix-radial-gradient.js.map +1 -1
  179. package/dist/lib/css/types/functions/-webkit-gradient.js +26 -26
  180. package/dist/lib/css/types/functions/-webkit-gradient.js.map +1 -1
  181. package/dist/lib/css/types/functions/__tests__/radial-gradient.js +57 -65
  182. package/dist/lib/css/types/functions/__tests__/radial-gradient.js.map +1 -1
  183. package/dist/lib/css/types/functions/counter.js +59 -65
  184. package/dist/lib/css/types/functions/counter.js.map +1 -1
  185. package/dist/lib/css/types/functions/gradient.js +51 -52
  186. package/dist/lib/css/types/functions/gradient.js.map +1 -1
  187. package/dist/lib/css/types/functions/linear-gradient.js +10 -10
  188. package/dist/lib/css/types/functions/linear-gradient.js.map +1 -1
  189. package/dist/lib/css/types/functions/radial-gradient.js +17 -17
  190. package/dist/lib/css/types/functions/radial-gradient.js.map +1 -1
  191. package/dist/lib/css/types/image.js +14 -14
  192. package/dist/lib/css/types/image.js.map +1 -1
  193. package/dist/lib/css/types/length-percentage.js +19 -27
  194. package/dist/lib/css/types/length-percentage.js.map +1 -1
  195. package/dist/lib/css/types/length.js +1 -3
  196. package/dist/lib/css/types/length.js.map +1 -1
  197. package/dist/lib/css/types/time.js +2 -2
  198. package/dist/lib/css/types/time.js.map +1 -1
  199. package/dist/lib/dom/__mocks__/document-cloner.js +7 -8
  200. package/dist/lib/dom/__mocks__/document-cloner.js.map +1 -1
  201. package/dist/lib/dom/document-cloner.js +195 -219
  202. package/dist/lib/dom/document-cloner.js.map +1 -1
  203. package/dist/lib/dom/element-container.js +8 -9
  204. package/dist/lib/dom/element-container.js.map +1 -1
  205. package/dist/lib/dom/elements/li-element-container.js +6 -24
  206. package/dist/lib/dom/elements/li-element-container.js.map +1 -1
  207. package/dist/lib/dom/elements/ol-element-container.js +7 -25
  208. package/dist/lib/dom/elements/ol-element-container.js.map +1 -1
  209. package/dist/lib/dom/elements/select-element-container.js +7 -25
  210. package/dist/lib/dom/elements/select-element-container.js.map +1 -1
  211. package/dist/lib/dom/elements/textarea-element-container.js +6 -24
  212. package/dist/lib/dom/elements/textarea-element-container.js.map +1 -1
  213. package/dist/lib/dom/node-parser.js +42 -46
  214. package/dist/lib/dom/node-parser.js.map +1 -1
  215. package/dist/lib/dom/replaced-elements/canvas-element-container.js +8 -26
  216. package/dist/lib/dom/replaced-elements/canvas-element-container.js.map +1 -1
  217. package/dist/lib/dom/replaced-elements/iframe-element-container.js +17 -35
  218. package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +1 -1
  219. package/dist/lib/dom/replaced-elements/image-element-container.js +9 -27
  220. package/dist/lib/dom/replaced-elements/image-element-container.js.map +1 -1
  221. package/dist/lib/dom/replaced-elements/input-element-container.js +47 -59
  222. package/dist/lib/dom/replaced-elements/input-element-container.js.map +1 -1
  223. package/dist/lib/dom/replaced-elements/svg-element-container.js +14 -32
  224. package/dist/lib/dom/replaced-elements/svg-element-container.js.map +1 -1
  225. package/dist/lib/dom/text-container.js +7 -8
  226. package/dist/lib/dom/text-container.js.map +1 -1
  227. package/dist/lib/index.js +101 -156
  228. package/dist/lib/index.js.map +1 -1
  229. package/dist/lib/invariant.js +1 -1
  230. package/dist/lib/invariant.js.map +1 -1
  231. package/dist/lib/render/background.js +44 -47
  232. package/dist/lib/render/background.js.map +1 -1
  233. package/dist/lib/render/bezier-curve.js +18 -19
  234. package/dist/lib/render/bezier-curve.js.map +1 -1
  235. package/dist/lib/render/border.js +9 -9
  236. package/dist/lib/render/border.js.map +1 -1
  237. package/dist/lib/render/bound-curves.js +35 -36
  238. package/dist/lib/render/bound-curves.js.map +1 -1
  239. package/dist/lib/render/box-sizing.js +11 -11
  240. package/dist/lib/render/box-sizing.js.map +1 -1
  241. package/dist/lib/render/canvas/canvas-renderer.js +639 -918
  242. package/dist/lib/render/canvas/canvas-renderer.js.map +1 -1
  243. package/dist/lib/render/canvas/foreignobject-renderer.js +35 -101
  244. package/dist/lib/render/canvas/foreignobject-renderer.js.map +1 -1
  245. package/dist/lib/render/effects.js +12 -17
  246. package/dist/lib/render/effects.js.map +1 -1
  247. package/dist/lib/render/font-metrics.js +17 -18
  248. package/dist/lib/render/font-metrics.js.map +1 -1
  249. package/dist/lib/render/path.js +4 -4
  250. package/dist/lib/render/path.js.map +1 -1
  251. package/dist/lib/render/renderer.js +3 -4
  252. package/dist/lib/render/renderer.js.map +1 -1
  253. package/dist/lib/render/stacking-context.js +71 -73
  254. package/dist/lib/render/stacking-context.js.map +1 -1
  255. package/dist/lib/render/vector.js +6 -7
  256. package/dist/lib/render/vector.js.map +1 -1
  257. package/dist/types/dom/replaced-elements/input-element-container.d.ts +2 -0
  258. package/dist/types/index.d.ts +1 -0
  259. package/eslint.config.js +35 -0
  260. package/jest.config.cjs +5 -0
  261. package/karma.conf.cjs +295 -0
  262. package/package.json +32 -20
@@ -2,95 +2,87 @@
2
2
  // https://www.w3.org/TR/css-syntax-3
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Tokenizer = exports.EOF_TOKEN = exports.FLAG_NUMBER = exports.FLAG_INTEGER = exports.FLAG_ID = exports.FLAG_UNRESTRICTED = void 0;
5
- var css_line_break_1 = require("css-line-break");
5
+ const css_line_break_1 = require("css-line-break");
6
6
  exports.FLAG_UNRESTRICTED = 1 << 0;
7
7
  exports.FLAG_ID = 1 << 1;
8
8
  exports.FLAG_INTEGER = 1 << 2;
9
9
  exports.FLAG_NUMBER = 1 << 3;
10
- var LINE_FEED = 0x000a;
11
- var SOLIDUS = 0x002f;
12
- var REVERSE_SOLIDUS = 0x005c;
13
- var CHARACTER_TABULATION = 0x0009;
14
- var SPACE = 0x0020;
15
- var QUOTATION_MARK = 0x0022;
16
- var EQUALS_SIGN = 0x003d;
17
- var NUMBER_SIGN = 0x0023;
18
- var DOLLAR_SIGN = 0x0024;
19
- var PERCENTAGE_SIGN = 0x0025;
20
- var APOSTROPHE = 0x0027;
21
- var LEFT_PARENTHESIS = 0x0028;
22
- var RIGHT_PARENTHESIS = 0x0029;
23
- var LOW_LINE = 0x005f;
24
- var HYPHEN_MINUS = 0x002d;
25
- var EXCLAMATION_MARK = 0x0021;
26
- var LESS_THAN_SIGN = 0x003c;
27
- var GREATER_THAN_SIGN = 0x003e;
28
- var COMMERCIAL_AT = 0x0040;
29
- var LEFT_SQUARE_BRACKET = 0x005b;
30
- var RIGHT_SQUARE_BRACKET = 0x005d;
31
- var CIRCUMFLEX_ACCENT = 0x003d;
32
- var LEFT_CURLY_BRACKET = 0x007b;
33
- var QUESTION_MARK = 0x003f;
34
- var RIGHT_CURLY_BRACKET = 0x007d;
35
- var VERTICAL_LINE = 0x007c;
36
- var TILDE = 0x007e;
37
- var CONTROL = 0x0080;
38
- var REPLACEMENT_CHARACTER = 0xfffd;
39
- var ASTERISK = 0x002a;
40
- var PLUS_SIGN = 0x002b;
41
- var COMMA = 0x002c;
42
- var COLON = 0x003a;
43
- var SEMICOLON = 0x003b;
44
- var FULL_STOP = 0x002e;
45
- var NULL = 0x0000;
46
- var BACKSPACE = 0x0008;
47
- var LINE_TABULATION = 0x000b;
48
- var SHIFT_OUT = 0x000e;
49
- var INFORMATION_SEPARATOR_ONE = 0x001f;
50
- var DELETE = 0x007f;
51
- var EOF = -1;
52
- var ZERO = 0x0030;
53
- var a = 0x0061;
54
- var e = 0x0065;
55
- var f = 0x0066;
56
- var u = 0x0075;
57
- var z = 0x007a;
58
- var A = 0x0041;
59
- var E = 0x0045;
60
- var F = 0x0046;
61
- var U = 0x0055;
62
- var Z = 0x005a;
63
- var isDigit = function (codePoint) { return codePoint >= ZERO && codePoint <= 0x0039; };
64
- var isSurrogateCodePoint = function (codePoint) { return codePoint >= 0xd800 && codePoint <= 0xdfff; };
65
- var isHex = function (codePoint) {
66
- return isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);
67
- };
68
- var isLowerCaseLetter = function (codePoint) { return codePoint >= a && codePoint <= z; };
69
- var isUpperCaseLetter = function (codePoint) { return codePoint >= A && codePoint <= Z; };
70
- var isLetter = function (codePoint) { return isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint); };
71
- var isNonASCIICodePoint = function (codePoint) { return codePoint >= CONTROL; };
72
- var isWhiteSpace = function (codePoint) {
73
- return codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;
74
- };
75
- var isNameStartCodePoint = function (codePoint) {
76
- return isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;
77
- };
78
- var isNameCodePoint = function (codePoint) {
79
- return isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;
80
- };
81
- var isNonPrintableCodePoint = function (codePoint) {
10
+ const LINE_FEED = 0x000a;
11
+ const SOLIDUS = 0x002f;
12
+ const REVERSE_SOLIDUS = 0x005c;
13
+ const CHARACTER_TABULATION = 0x0009;
14
+ const SPACE = 0x0020;
15
+ const QUOTATION_MARK = 0x0022;
16
+ const EQUALS_SIGN = 0x003d;
17
+ const NUMBER_SIGN = 0x0023;
18
+ const DOLLAR_SIGN = 0x0024;
19
+ const PERCENTAGE_SIGN = 0x0025;
20
+ const APOSTROPHE = 0x0027;
21
+ const LEFT_PARENTHESIS = 0x0028;
22
+ const RIGHT_PARENTHESIS = 0x0029;
23
+ const LOW_LINE = 0x005f;
24
+ const HYPHEN_MINUS = 0x002d;
25
+ const EXCLAMATION_MARK = 0x0021;
26
+ const LESS_THAN_SIGN = 0x003c;
27
+ const GREATER_THAN_SIGN = 0x003e;
28
+ const COMMERCIAL_AT = 0x0040;
29
+ const LEFT_SQUARE_BRACKET = 0x005b;
30
+ const RIGHT_SQUARE_BRACKET = 0x005d;
31
+ const CIRCUMFLEX_ACCENT = 0x003d;
32
+ const LEFT_CURLY_BRACKET = 0x007b;
33
+ const QUESTION_MARK = 0x003f;
34
+ const RIGHT_CURLY_BRACKET = 0x007d;
35
+ const VERTICAL_LINE = 0x007c;
36
+ const TILDE = 0x007e;
37
+ const CONTROL = 0x0080;
38
+ const REPLACEMENT_CHARACTER = 0xfffd;
39
+ const ASTERISK = 0x002a;
40
+ const PLUS_SIGN = 0x002b;
41
+ const COMMA = 0x002c;
42
+ const COLON = 0x003a;
43
+ const SEMICOLON = 0x003b;
44
+ const FULL_STOP = 0x002e;
45
+ const NULL = 0x0000;
46
+ const BACKSPACE = 0x0008;
47
+ const LINE_TABULATION = 0x000b;
48
+ const SHIFT_OUT = 0x000e;
49
+ const INFORMATION_SEPARATOR_ONE = 0x001f;
50
+ const DELETE = 0x007f;
51
+ const EOF = -1;
52
+ const ZERO = 0x0030;
53
+ const a = 0x0061;
54
+ const e = 0x0065;
55
+ const f = 0x0066;
56
+ const u = 0x0075;
57
+ const z = 0x007a;
58
+ const A = 0x0041;
59
+ const E = 0x0045;
60
+ const F = 0x0046;
61
+ const U = 0x0055;
62
+ const Z = 0x005a;
63
+ const isDigit = (codePoint) => codePoint >= ZERO && codePoint <= 0x0039;
64
+ const isSurrogateCodePoint = (codePoint) => codePoint >= 0xd800 && codePoint <= 0xdfff;
65
+ const isHex = (codePoint) => isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);
66
+ const isLowerCaseLetter = (codePoint) => codePoint >= a && codePoint <= z;
67
+ const isUpperCaseLetter = (codePoint) => codePoint >= A && codePoint <= Z;
68
+ const isLetter = (codePoint) => isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint);
69
+ const isNonASCIICodePoint = (codePoint) => codePoint >= CONTROL;
70
+ const isWhiteSpace = (codePoint) => codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;
71
+ const isNameStartCodePoint = (codePoint) => isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;
72
+ const isNameCodePoint = (codePoint) => isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;
73
+ const isNonPrintableCodePoint = (codePoint) => {
82
74
  return ((codePoint >= NULL && codePoint <= BACKSPACE) ||
83
75
  codePoint === LINE_TABULATION ||
84
76
  (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||
85
77
  codePoint === DELETE);
86
78
  };
87
- var isValidEscape = function (c1, c2) {
79
+ const isValidEscape = (c1, c2) => {
88
80
  if (c1 !== REVERSE_SOLIDUS) {
89
81
  return false;
90
82
  }
91
83
  return c2 !== LINE_FEED;
92
84
  };
93
- var isIdentifierStart = function (c1, c2, c3) {
85
+ const isIdentifierStart = (c1, c2, c3) => {
94
86
  if (c1 === HYPHEN_MINUS) {
95
87
  return isNameStartCodePoint(c2) || isValidEscape(c2, c3);
96
88
  }
@@ -102,7 +94,7 @@ var isIdentifierStart = function (c1, c2, c3) {
102
94
  }
103
95
  return false;
104
96
  };
105
- var isNumberStart = function (c1, c2, c3) {
97
+ const isNumberStart = (c1, c2, c3) => {
106
98
  if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {
107
99
  if (isDigit(c2)) {
108
100
  return true;
@@ -114,108 +106,108 @@ var isNumberStart = function (c1, c2, c3) {
114
106
  }
115
107
  return isDigit(c1);
116
108
  };
117
- var stringToNumber = function (codePoints) {
118
- var c = 0;
119
- var sign = 1;
109
+ const stringToNumber = (codePoints) => {
110
+ let c = 0;
111
+ let sign = 1;
120
112
  if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {
121
113
  if (codePoints[c] === HYPHEN_MINUS) {
122
114
  sign = -1;
123
115
  }
124
116
  c++;
125
117
  }
126
- var integers = [];
118
+ const integers = [];
127
119
  while (isDigit(codePoints[c])) {
128
120
  integers.push(codePoints[c++]);
129
121
  }
130
- var int = integers.length ? parseInt(css_line_break_1.fromCodePoint.apply(void 0, integers), 10) : 0;
122
+ const int = integers.length ? parseInt((0, css_line_break_1.fromCodePoint)(...integers), 10) : 0;
131
123
  if (codePoints[c] === FULL_STOP) {
132
124
  c++;
133
125
  }
134
- var fraction = [];
126
+ const fraction = [];
135
127
  while (isDigit(codePoints[c])) {
136
128
  fraction.push(codePoints[c++]);
137
129
  }
138
- var fracd = fraction.length;
139
- var frac = fracd ? parseInt(css_line_break_1.fromCodePoint.apply(void 0, fraction), 10) : 0;
130
+ const fracd = fraction.length;
131
+ const frac = fracd ? parseInt((0, css_line_break_1.fromCodePoint)(...fraction), 10) : 0;
140
132
  if (codePoints[c] === E || codePoints[c] === e) {
141
133
  c++;
142
134
  }
143
- var expsign = 1;
135
+ let expsign = 1;
144
136
  if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {
145
137
  if (codePoints[c] === HYPHEN_MINUS) {
146
138
  expsign = -1;
147
139
  }
148
140
  c++;
149
141
  }
150
- var exponent = [];
142
+ const exponent = [];
151
143
  while (isDigit(codePoints[c])) {
152
144
  exponent.push(codePoints[c++]);
153
145
  }
154
- var exp = exponent.length ? parseInt(css_line_break_1.fromCodePoint.apply(void 0, exponent), 10) : 0;
146
+ const exp = exponent.length ? parseInt((0, css_line_break_1.fromCodePoint)(...exponent), 10) : 0;
155
147
  return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);
156
148
  };
157
- var LEFT_PARENTHESIS_TOKEN = {
149
+ const LEFT_PARENTHESIS_TOKEN = {
158
150
  type: 2 /* TokenType.LEFT_PARENTHESIS_TOKEN */
159
151
  };
160
- var RIGHT_PARENTHESIS_TOKEN = {
152
+ const RIGHT_PARENTHESIS_TOKEN = {
161
153
  type: 3 /* TokenType.RIGHT_PARENTHESIS_TOKEN */
162
154
  };
163
- var COMMA_TOKEN = { type: 4 /* TokenType.COMMA_TOKEN */ };
164
- var SUFFIX_MATCH_TOKEN = { type: 13 /* TokenType.SUFFIX_MATCH_TOKEN */ };
165
- var PREFIX_MATCH_TOKEN = { type: 8 /* TokenType.PREFIX_MATCH_TOKEN */ };
166
- var COLUMN_TOKEN = { type: 21 /* TokenType.COLUMN_TOKEN */ };
167
- var DASH_MATCH_TOKEN = { type: 9 /* TokenType.DASH_MATCH_TOKEN */ };
168
- var INCLUDE_MATCH_TOKEN = { type: 10 /* TokenType.INCLUDE_MATCH_TOKEN */ };
169
- var LEFT_CURLY_BRACKET_TOKEN = {
155
+ const COMMA_TOKEN = { type: 4 /* TokenType.COMMA_TOKEN */ };
156
+ const SUFFIX_MATCH_TOKEN = { type: 13 /* TokenType.SUFFIX_MATCH_TOKEN */ };
157
+ const PREFIX_MATCH_TOKEN = { type: 8 /* TokenType.PREFIX_MATCH_TOKEN */ };
158
+ const COLUMN_TOKEN = { type: 21 /* TokenType.COLUMN_TOKEN */ };
159
+ const DASH_MATCH_TOKEN = { type: 9 /* TokenType.DASH_MATCH_TOKEN */ };
160
+ const INCLUDE_MATCH_TOKEN = { type: 10 /* TokenType.INCLUDE_MATCH_TOKEN */ };
161
+ const LEFT_CURLY_BRACKET_TOKEN = {
170
162
  type: 11 /* TokenType.LEFT_CURLY_BRACKET_TOKEN */
171
163
  };
172
- var RIGHT_CURLY_BRACKET_TOKEN = {
164
+ const RIGHT_CURLY_BRACKET_TOKEN = {
173
165
  type: 12 /* TokenType.RIGHT_CURLY_BRACKET_TOKEN */
174
166
  };
175
- var SUBSTRING_MATCH_TOKEN = { type: 14 /* TokenType.SUBSTRING_MATCH_TOKEN */ };
176
- var BAD_URL_TOKEN = { type: 23 /* TokenType.BAD_URL_TOKEN */ };
177
- var BAD_STRING_TOKEN = { type: 1 /* TokenType.BAD_STRING_TOKEN */ };
178
- var CDO_TOKEN = { type: 25 /* TokenType.CDO_TOKEN */ };
179
- var CDC_TOKEN = { type: 24 /* TokenType.CDC_TOKEN */ };
180
- var COLON_TOKEN = { type: 26 /* TokenType.COLON_TOKEN */ };
181
- var SEMICOLON_TOKEN = { type: 27 /* TokenType.SEMICOLON_TOKEN */ };
182
- var LEFT_SQUARE_BRACKET_TOKEN = {
167
+ const SUBSTRING_MATCH_TOKEN = { type: 14 /* TokenType.SUBSTRING_MATCH_TOKEN */ };
168
+ const BAD_URL_TOKEN = { type: 23 /* TokenType.BAD_URL_TOKEN */ };
169
+ const BAD_STRING_TOKEN = { type: 1 /* TokenType.BAD_STRING_TOKEN */ };
170
+ const CDO_TOKEN = { type: 25 /* TokenType.CDO_TOKEN */ };
171
+ const CDC_TOKEN = { type: 24 /* TokenType.CDC_TOKEN */ };
172
+ const COLON_TOKEN = { type: 26 /* TokenType.COLON_TOKEN */ };
173
+ const SEMICOLON_TOKEN = { type: 27 /* TokenType.SEMICOLON_TOKEN */ };
174
+ const LEFT_SQUARE_BRACKET_TOKEN = {
183
175
  type: 28 /* TokenType.LEFT_SQUARE_BRACKET_TOKEN */
184
176
  };
185
- var RIGHT_SQUARE_BRACKET_TOKEN = {
177
+ const RIGHT_SQUARE_BRACKET_TOKEN = {
186
178
  type: 29 /* TokenType.RIGHT_SQUARE_BRACKET_TOKEN */
187
179
  };
188
- var WHITESPACE_TOKEN = { type: 31 /* TokenType.WHITESPACE_TOKEN */ };
180
+ const WHITESPACE_TOKEN = { type: 31 /* TokenType.WHITESPACE_TOKEN */ };
189
181
  exports.EOF_TOKEN = { type: 32 /* TokenType.EOF_TOKEN */ };
190
- var Tokenizer = /** @class */ (function () {
191
- function Tokenizer() {
182
+ class Tokenizer {
183
+ constructor() {
192
184
  this._value = [];
193
185
  }
194
- Tokenizer.prototype.write = function (chunk) {
186
+ write(chunk) {
195
187
  this._value = this._value.concat((0, css_line_break_1.toCodePoints)(chunk));
196
- };
197
- Tokenizer.prototype.read = function () {
198
- var tokens = [];
199
- var token = this.consumeToken();
188
+ }
189
+ read() {
190
+ const tokens = [];
191
+ let token = this.consumeToken();
200
192
  while (token !== exports.EOF_TOKEN) {
201
193
  tokens.push(token);
202
194
  token = this.consumeToken();
203
195
  }
204
196
  return tokens;
205
- };
206
- Tokenizer.prototype.consumeToken = function () {
207
- var codePoint = this.consumeCodePoint();
197
+ }
198
+ consumeToken() {
199
+ const codePoint = this.consumeCodePoint();
208
200
  switch (codePoint) {
209
201
  case QUOTATION_MARK:
210
202
  return this.consumeStringToken(QUOTATION_MARK);
211
203
  case NUMBER_SIGN:
212
- var c1 = this.peekCodePoint(0);
213
- var c2 = this.peekCodePoint(1);
214
- var c3 = this.peekCodePoint(2);
204
+ const c1 = this.peekCodePoint(0);
205
+ const c2 = this.peekCodePoint(1);
206
+ const c3 = this.peekCodePoint(2);
215
207
  if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {
216
- var flags = isIdentifierStart(c1, c2, c3) ? exports.FLAG_ID : exports.FLAG_UNRESTRICTED;
217
- var value = this.consumeName();
218
- return { type: 5 /* TokenType.HASH_TOKEN */, value: value, flags: flags };
208
+ const flags = isIdentifierStart(c1, c2, c3) ? exports.FLAG_ID : exports.FLAG_UNRESTRICTED;
209
+ const value = this.consumeName();
210
+ return { type: 5 /* TokenType.HASH_TOKEN */, value, flags };
219
211
  }
220
212
  break;
221
213
  case DOLLAR_SIGN:
@@ -245,9 +237,9 @@ var Tokenizer = /** @class */ (function () {
245
237
  case COMMA:
246
238
  return COMMA_TOKEN;
247
239
  case HYPHEN_MINUS:
248
- var e1 = codePoint;
249
- var e2 = this.peekCodePoint(0);
250
- var e3 = this.peekCodePoint(1);
240
+ const e1 = codePoint;
241
+ const e2 = this.peekCodePoint(0);
242
+ const e3 = this.peekCodePoint(1);
251
243
  if (isNumberStart(e1, e2, e3)) {
252
244
  this.reconsumeCodePoint(codePoint);
253
245
  return this.consumeNumericToken();
@@ -272,7 +264,7 @@ var Tokenizer = /** @class */ (function () {
272
264
  if (this.peekCodePoint(0) === ASTERISK) {
273
265
  this.consumeCodePoint();
274
266
  while (true) {
275
- var c = this.consumeCodePoint();
267
+ let c = this.consumeCodePoint();
276
268
  if (c === ASTERISK) {
277
269
  c = this.consumeCodePoint();
278
270
  if (c === SOLIDUS) {
@@ -299,12 +291,12 @@ var Tokenizer = /** @class */ (function () {
299
291
  }
300
292
  break;
301
293
  case COMMERCIAL_AT:
302
- var a1 = this.peekCodePoint(0);
303
- var a2 = this.peekCodePoint(1);
304
- var a3 = this.peekCodePoint(2);
294
+ const a1 = this.peekCodePoint(0);
295
+ const a2 = this.peekCodePoint(1);
296
+ const a3 = this.peekCodePoint(2);
305
297
  if (isIdentifierStart(a1, a2, a3)) {
306
- var value = this.consumeName();
307
- return { type: 7 /* TokenType.AT_KEYWORD_TOKEN */, value: value };
298
+ const value = this.consumeName();
299
+ return { type: 7 /* TokenType.AT_KEYWORD_TOKEN */, value };
308
300
  }
309
301
  break;
310
302
  case LEFT_SQUARE_BRACKET:
@@ -329,8 +321,8 @@ var Tokenizer = /** @class */ (function () {
329
321
  return RIGHT_CURLY_BRACKET_TOKEN;
330
322
  case u:
331
323
  case U:
332
- var u1 = this.peekCodePoint(0);
333
- var u2 = this.peekCodePoint(1);
324
+ const u1 = this.peekCodePoint(0);
325
+ const u2 = this.peekCodePoint(1);
334
326
  if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {
335
327
  this.consumeCodePoint();
336
328
  this.consumeUnicodeRangeToken();
@@ -369,75 +361,75 @@ var Tokenizer = /** @class */ (function () {
369
361
  return this.consumeIdentLikeToken();
370
362
  }
371
363
  return { type: 6 /* TokenType.DELIM_TOKEN */, value: (0, css_line_break_1.fromCodePoint)(codePoint) };
372
- };
373
- Tokenizer.prototype.consumeCodePoint = function () {
374
- var value = this._value.shift();
364
+ }
365
+ consumeCodePoint() {
366
+ const value = this._value.shift();
375
367
  return typeof value === 'undefined' ? -1 : value;
376
- };
377
- Tokenizer.prototype.reconsumeCodePoint = function (codePoint) {
368
+ }
369
+ reconsumeCodePoint(codePoint) {
378
370
  this._value.unshift(codePoint);
379
- };
380
- Tokenizer.prototype.peekCodePoint = function (delta) {
371
+ }
372
+ peekCodePoint(delta) {
381
373
  if (delta >= this._value.length) {
382
374
  return -1;
383
375
  }
384
376
  return this._value[delta];
385
- };
386
- Tokenizer.prototype.consumeUnicodeRangeToken = function () {
387
- var digits = [];
388
- var codePoint = this.consumeCodePoint();
377
+ }
378
+ consumeUnicodeRangeToken() {
379
+ const digits = [];
380
+ let codePoint = this.consumeCodePoint();
389
381
  while (isHex(codePoint) && digits.length < 6) {
390
382
  digits.push(codePoint);
391
383
  codePoint = this.consumeCodePoint();
392
384
  }
393
- var questionMarks = false;
385
+ let questionMarks = false;
394
386
  while (codePoint === QUESTION_MARK && digits.length < 6) {
395
387
  digits.push(codePoint);
396
388
  codePoint = this.consumeCodePoint();
397
389
  questionMarks = true;
398
390
  }
399
391
  if (questionMarks) {
400
- var start_1 = parseInt(css_line_break_1.fromCodePoint.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? ZERO : digit); })), 16);
401
- var end = parseInt(css_line_break_1.fromCodePoint.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? F : digit); })), 16);
402
- return { type: 30 /* TokenType.UNICODE_RANGE_TOKEN */, start: start_1, end: end };
392
+ const start = parseInt((0, css_line_break_1.fromCodePoint)(...digits.map((digit) => (digit === QUESTION_MARK ? ZERO : digit))), 16);
393
+ const end = parseInt((0, css_line_break_1.fromCodePoint)(...digits.map((digit) => (digit === QUESTION_MARK ? F : digit))), 16);
394
+ return { type: 30 /* TokenType.UNICODE_RANGE_TOKEN */, start, end };
403
395
  }
404
- var start = parseInt(css_line_break_1.fromCodePoint.apply(void 0, digits), 16);
396
+ const start = parseInt((0, css_line_break_1.fromCodePoint)(...digits), 16);
405
397
  if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {
406
398
  this.consumeCodePoint();
407
399
  codePoint = this.consumeCodePoint();
408
- var endDigits = [];
400
+ const endDigits = [];
409
401
  while (isHex(codePoint) && endDigits.length < 6) {
410
402
  endDigits.push(codePoint);
411
403
  codePoint = this.consumeCodePoint();
412
404
  }
413
- var end = parseInt(css_line_break_1.fromCodePoint.apply(void 0, endDigits), 16);
414
- return { type: 30 /* TokenType.UNICODE_RANGE_TOKEN */, start: start, end: end };
405
+ const end = parseInt((0, css_line_break_1.fromCodePoint)(...endDigits), 16);
406
+ return { type: 30 /* TokenType.UNICODE_RANGE_TOKEN */, start, end };
415
407
  }
416
408
  else {
417
- return { type: 30 /* TokenType.UNICODE_RANGE_TOKEN */, start: start, end: start };
409
+ return { type: 30 /* TokenType.UNICODE_RANGE_TOKEN */, start, end: start };
418
410
  }
419
- };
420
- Tokenizer.prototype.consumeIdentLikeToken = function () {
421
- var value = this.consumeName();
411
+ }
412
+ consumeIdentLikeToken() {
413
+ const value = this.consumeName();
422
414
  if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {
423
415
  this.consumeCodePoint();
424
416
  return this.consumeUrlToken();
425
417
  }
426
418
  else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {
427
419
  this.consumeCodePoint();
428
- return { type: 19 /* TokenType.FUNCTION_TOKEN */, value: value };
420
+ return { type: 19 /* TokenType.FUNCTION_TOKEN */, value };
429
421
  }
430
- return { type: 20 /* TokenType.IDENT_TOKEN */, value: value };
431
- };
432
- Tokenizer.prototype.consumeUrlToken = function () {
433
- var value = [];
422
+ return { type: 20 /* TokenType.IDENT_TOKEN */, value };
423
+ }
424
+ consumeUrlToken() {
425
+ const value = [];
434
426
  this.consumeWhiteSpace();
435
427
  if (this.peekCodePoint(0) === EOF) {
436
428
  return { type: 22 /* TokenType.URL_TOKEN */, value: '' };
437
429
  }
438
- var next = this.peekCodePoint(0);
430
+ const next = this.peekCodePoint(0);
439
431
  if (next === APOSTROPHE || next === QUOTATION_MARK) {
440
- var stringToken = this.consumeStringToken(this.consumeCodePoint());
432
+ const stringToken = this.consumeStringToken(this.consumeCodePoint());
441
433
  if (stringToken.type === 0 /* TokenType.STRING_TOKEN */) {
442
434
  this.consumeWhiteSpace();
443
435
  if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {
@@ -449,15 +441,15 @@ var Tokenizer = /** @class */ (function () {
449
441
  return BAD_URL_TOKEN;
450
442
  }
451
443
  while (true) {
452
- var codePoint = this.consumeCodePoint();
444
+ const codePoint = this.consumeCodePoint();
453
445
  if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {
454
- return { type: 22 /* TokenType.URL_TOKEN */, value: css_line_break_1.fromCodePoint.apply(void 0, value) };
446
+ return { type: 22 /* TokenType.URL_TOKEN */, value: (0, css_line_break_1.fromCodePoint)(...value) };
455
447
  }
456
448
  else if (isWhiteSpace(codePoint)) {
457
449
  this.consumeWhiteSpace();
458
450
  if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {
459
451
  this.consumeCodePoint();
460
- return { type: 22 /* TokenType.URL_TOKEN */, value: css_line_break_1.fromCodePoint.apply(void 0, value) };
452
+ return { type: 22 /* TokenType.URL_TOKEN */, value: (0, css_line_break_1.fromCodePoint)(...value) };
461
453
  }
462
454
  this.consumeBadUrlRemnants();
463
455
  return BAD_URL_TOKEN;
@@ -482,15 +474,15 @@ var Tokenizer = /** @class */ (function () {
482
474
  value.push(codePoint);
483
475
  }
484
476
  }
485
- };
486
- Tokenizer.prototype.consumeWhiteSpace = function () {
477
+ }
478
+ consumeWhiteSpace() {
487
479
  while (isWhiteSpace(this.peekCodePoint(0))) {
488
480
  this.consumeCodePoint();
489
481
  }
490
- };
491
- Tokenizer.prototype.consumeBadUrlRemnants = function () {
482
+ }
483
+ consumeBadUrlRemnants() {
492
484
  while (true) {
493
- var codePoint = this.consumeCodePoint();
485
+ const codePoint = this.consumeCodePoint();
494
486
  if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {
495
487
  return;
496
488
  }
@@ -498,33 +490,33 @@ var Tokenizer = /** @class */ (function () {
498
490
  this.consumeEscapedCodePoint();
499
491
  }
500
492
  }
501
- };
502
- Tokenizer.prototype.consumeStringSlice = function (count) {
503
- var SLICE_STACK_SIZE = 50000;
504
- var value = '';
493
+ }
494
+ consumeStringSlice(count) {
495
+ const SLICE_STACK_SIZE = 50000;
496
+ let value = '';
505
497
  while (count > 0) {
506
- var amount = Math.min(SLICE_STACK_SIZE, count);
507
- value += css_line_break_1.fromCodePoint.apply(void 0, this._value.splice(0, amount));
498
+ const amount = Math.min(SLICE_STACK_SIZE, count);
499
+ value += (0, css_line_break_1.fromCodePoint)(...this._value.splice(0, amount));
508
500
  count -= amount;
509
501
  }
510
502
  this._value.shift();
511
503
  return value;
512
- };
513
- Tokenizer.prototype.consumeStringToken = function (endingCodePoint) {
514
- var value = '';
515
- var i = 0;
504
+ }
505
+ consumeStringToken(endingCodePoint) {
506
+ let value = '';
507
+ let i = 0;
516
508
  do {
517
- var codePoint = this._value[i];
509
+ const codePoint = this._value[i];
518
510
  if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {
519
511
  value += this.consumeStringSlice(i);
520
- return { type: 0 /* TokenType.STRING_TOKEN */, value: value };
512
+ return { type: 0 /* TokenType.STRING_TOKEN */, value };
521
513
  }
522
514
  if (codePoint === LINE_FEED) {
523
515
  this._value.splice(0, i);
524
516
  return BAD_STRING_TOKEN;
525
517
  }
526
518
  if (codePoint === REVERSE_SOLIDUS) {
527
- var next = this._value[i + 1];
519
+ const next = this._value[i + 1];
528
520
  if (next !== EOF && next !== undefined) {
529
521
  if (next === LINE_FEED) {
530
522
  value += this.consumeStringSlice(i);
@@ -540,11 +532,11 @@ var Tokenizer = /** @class */ (function () {
540
532
  }
541
533
  i++;
542
534
  } while (true);
543
- };
544
- Tokenizer.prototype.consumeNumber = function () {
545
- var repr = [];
546
- var type = exports.FLAG_INTEGER;
547
- var c1 = this.peekCodePoint(0);
535
+ }
536
+ consumeNumber() {
537
+ const repr = [];
538
+ let type = exports.FLAG_INTEGER;
539
+ let c1 = this.peekCodePoint(0);
548
540
  if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {
549
541
  repr.push(this.consumeCodePoint());
550
542
  }
@@ -552,7 +544,7 @@ var Tokenizer = /** @class */ (function () {
552
544
  repr.push(this.consumeCodePoint());
553
545
  }
554
546
  c1 = this.peekCodePoint(0);
555
- var c2 = this.peekCodePoint(1);
547
+ let c2 = this.peekCodePoint(1);
556
548
  if (c1 === FULL_STOP && isDigit(c2)) {
557
549
  repr.push(this.consumeCodePoint(), this.consumeCodePoint());
558
550
  type = exports.FLAG_NUMBER;
@@ -562,7 +554,7 @@ var Tokenizer = /** @class */ (function () {
562
554
  }
563
555
  c1 = this.peekCodePoint(0);
564
556
  c2 = this.peekCodePoint(1);
565
- var c3 = this.peekCodePoint(2);
557
+ const c3 = this.peekCodePoint(2);
566
558
  if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {
567
559
  repr.push(this.consumeCodePoint(), this.consumeCodePoint());
568
560
  type = exports.FLAG_NUMBER;
@@ -571,33 +563,33 @@ var Tokenizer = /** @class */ (function () {
571
563
  }
572
564
  }
573
565
  return [stringToNumber(repr), type];
574
- };
575
- Tokenizer.prototype.consumeNumericToken = function () {
576
- var _a = this.consumeNumber(), number = _a[0], flags = _a[1];
577
- var c1 = this.peekCodePoint(0);
578
- var c2 = this.peekCodePoint(1);
579
- var c3 = this.peekCodePoint(2);
566
+ }
567
+ consumeNumericToken() {
568
+ const [number, flags] = this.consumeNumber();
569
+ const c1 = this.peekCodePoint(0);
570
+ const c2 = this.peekCodePoint(1);
571
+ const c3 = this.peekCodePoint(2);
580
572
  if (isIdentifierStart(c1, c2, c3)) {
581
- var unit = this.consumeName();
582
- return { type: 15 /* TokenType.DIMENSION_TOKEN */, number: number, flags: flags, unit: unit };
573
+ const unit = this.consumeName();
574
+ return { type: 15 /* TokenType.DIMENSION_TOKEN */, number, flags, unit };
583
575
  }
584
576
  if (c1 === PERCENTAGE_SIGN) {
585
577
  this.consumeCodePoint();
586
- return { type: 16 /* TokenType.PERCENTAGE_TOKEN */, number: number, flags: flags };
578
+ return { type: 16 /* TokenType.PERCENTAGE_TOKEN */, number, flags };
587
579
  }
588
- return { type: 17 /* TokenType.NUMBER_TOKEN */, number: number, flags: flags };
589
- };
590
- Tokenizer.prototype.consumeEscapedCodePoint = function () {
591
- var codePoint = this.consumeCodePoint();
580
+ return { type: 17 /* TokenType.NUMBER_TOKEN */, number, flags };
581
+ }
582
+ consumeEscapedCodePoint() {
583
+ const codePoint = this.consumeCodePoint();
592
584
  if (isHex(codePoint)) {
593
- var hex = (0, css_line_break_1.fromCodePoint)(codePoint);
585
+ let hex = (0, css_line_break_1.fromCodePoint)(codePoint);
594
586
  while (isHex(this.peekCodePoint(0)) && hex.length < 6) {
595
587
  hex += (0, css_line_break_1.fromCodePoint)(this.consumeCodePoint());
596
588
  }
597
589
  if (isWhiteSpace(this.peekCodePoint(0))) {
598
590
  this.consumeCodePoint();
599
591
  }
600
- var hexCodePoint = parseInt(hex, 16);
592
+ const hexCodePoint = parseInt(hex, 16);
601
593
  if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {
602
594
  return REPLACEMENT_CHARACTER;
603
595
  }
@@ -607,11 +599,11 @@ var Tokenizer = /** @class */ (function () {
607
599
  return REPLACEMENT_CHARACTER;
608
600
  }
609
601
  return codePoint;
610
- };
611
- Tokenizer.prototype.consumeName = function () {
612
- var result = '';
602
+ }
603
+ consumeName() {
604
+ let result = '';
613
605
  while (true) {
614
- var codePoint = this.consumeCodePoint();
606
+ const codePoint = this.consumeCodePoint();
615
607
  if (isNameCodePoint(codePoint)) {
616
608
  result += (0, css_line_break_1.fromCodePoint)(codePoint);
617
609
  }
@@ -623,8 +615,7 @@ var Tokenizer = /** @class */ (function () {
623
615
  return result;
624
616
  }
625
617
  }
626
- };
627
- return Tokenizer;
628
- }());
618
+ }
619
+ }
629
620
  exports.Tokenizer = Tokenizer;
630
621
  //# sourceMappingURL=tokenizer.js.map