@veritone-ce/design-system 2.8.12 → 2.8.13-next.1

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 (688) hide show
  1. package/dist/cjs/Dialog/components.js +29 -90
  2. package/dist/cjs/Dialog/state.js +2 -8
  3. package/dist/cjs/Dialog/styles.module.scss.js +2 -2
  4. package/dist/cjs/FileUploader/controlled.js +7 -0
  5. package/dist/cjs/Table/AutoTable/controlled.js +2 -1
  6. package/dist/cjs/Table/AutoTable/styles.module.scss.js +1 -1
  7. package/dist/cjs/TablePagination/index.js +21 -8
  8. package/dist/cjs/bundled_modules/d3-array/src/ascending.js +9 -0
  9. package/dist/cjs/bundled_modules/d3-array/src/bisect.js +16 -0
  10. package/dist/cjs/bundled_modules/d3-array/src/bisector.js +62 -0
  11. package/dist/cjs/bundled_modules/d3-array/src/descending.js +13 -0
  12. package/dist/cjs/bundled_modules/d3-array/src/deviation.js +12 -0
  13. package/dist/cjs/bundled_modules/d3-array/src/fsum.js +45 -0
  14. package/dist/cjs/bundled_modules/d3-array/src/intersection.js +25 -0
  15. package/dist/cjs/bundled_modules/d3-array/src/max.js +26 -0
  16. package/dist/cjs/bundled_modules/d3-array/src/mean.js +25 -0
  17. package/dist/cjs/bundled_modules/d3-array/src/median.js +11 -0
  18. package/dist/cjs/bundled_modules/d3-array/src/merge.js +15 -0
  19. package/dist/cjs/bundled_modules/d3-array/src/min.js +26 -0
  20. package/dist/cjs/bundled_modules/d3-array/src/number.js +27 -0
  21. package/dist/cjs/bundled_modules/d3-array/src/permute.js +9 -0
  22. package/dist/cjs/bundled_modules/d3-array/src/quantile.js +36 -0
  23. package/dist/cjs/bundled_modules/d3-array/src/quickselect.js +59 -0
  24. package/dist/cjs/bundled_modules/d3-array/src/range.js +19 -0
  25. package/dist/cjs/bundled_modules/d3-array/src/sort.js +20 -0
  26. package/dist/cjs/bundled_modules/d3-array/src/sum.js +17 -0
  27. package/dist/cjs/bundled_modules/d3-array/src/ticks.js +63 -0
  28. package/dist/cjs/bundled_modules/d3-array/src/union.js +17 -0
  29. package/dist/cjs/bundled_modules/d3-array/src/variance.js +31 -0
  30. package/dist/cjs/bundled_modules/d3-color/src/color.js +410 -0
  31. package/dist/cjs/bundled_modules/d3-color/src/cubehelix.js +68 -0
  32. package/dist/cjs/bundled_modules/d3-color/src/define.js +17 -0
  33. package/dist/cjs/bundled_modules/d3-color/src/lab.js +124 -0
  34. package/dist/cjs/bundled_modules/d3-color/src/math.js +7 -0
  35. package/dist/cjs/bundled_modules/d3-delaunay/src/delaunay.js +254 -0
  36. package/dist/cjs/bundled_modules/d3-delaunay/src/path.js +43 -0
  37. package/dist/cjs/bundled_modules/d3-delaunay/src/polygon.js +23 -0
  38. package/dist/cjs/bundled_modules/d3-delaunay/src/voronoi.js +338 -0
  39. package/dist/cjs/bundled_modules/d3-dispatch/src/dispatch.js +88 -0
  40. package/dist/cjs/bundled_modules/d3-dsv/src/dsv.js +170 -0
  41. package/dist/cjs/bundled_modules/d3-force/src/center.js +46 -0
  42. package/dist/cjs/bundled_modules/d3-force/src/collide.js +106 -0
  43. package/dist/cjs/bundled_modules/d3-force/src/constant.js +11 -0
  44. package/dist/cjs/bundled_modules/d3-force/src/jiggle.js +9 -0
  45. package/dist/cjs/bundled_modules/d3-force/src/lcg.js +15 -0
  46. package/dist/cjs/bundled_modules/d3-force/src/link.js +123 -0
  47. package/dist/cjs/bundled_modules/d3-force/src/manyBody.js +122 -0
  48. package/dist/cjs/bundled_modules/d3-force/src/simulation.js +164 -0
  49. package/dist/cjs/bundled_modules/d3-force/src/x.js +47 -0
  50. package/dist/cjs/bundled_modules/d3-force/src/y.js +47 -0
  51. package/dist/cjs/bundled_modules/d3-format/src/defaultLocale.js +24 -0
  52. package/dist/cjs/bundled_modules/d3-format/src/exponent.js +11 -0
  53. package/dist/cjs/bundled_modules/d3-format/src/formatDecimal.js +27 -0
  54. package/dist/cjs/bundled_modules/d3-format/src/formatGroup.js +24 -0
  55. package/dist/cjs/bundled_modules/d3-format/src/formatNumerals.js +13 -0
  56. package/dist/cjs/bundled_modules/d3-format/src/formatPrefixAuto.js +22 -0
  57. package/dist/cjs/bundled_modules/d3-format/src/formatRounded.js +17 -0
  58. package/dist/cjs/bundled_modules/d3-format/src/formatSpecifier.js +54 -0
  59. package/dist/cjs/bundled_modules/d3-format/src/formatTrim.js +17 -0
  60. package/dist/cjs/bundled_modules/d3-format/src/formatTypes.js +25 -0
  61. package/dist/cjs/bundled_modules/d3-format/src/identity.js +9 -0
  62. package/dist/cjs/bundled_modules/d3-format/src/locale.js +154 -0
  63. package/dist/cjs/bundled_modules/d3-format/src/precisionFixed.js +11 -0
  64. package/dist/cjs/bundled_modules/d3-format/src/precisionPrefix.js +11 -0
  65. package/dist/cjs/bundled_modules/d3-format/src/precisionRound.js +12 -0
  66. package/dist/cjs/bundled_modules/d3-geo/src/area.js +83 -0
  67. package/dist/cjs/bundled_modules/d3-geo/src/bounds.js +185 -0
  68. package/dist/cjs/bundled_modules/d3-geo/src/cartesian.js +43 -0
  69. package/dist/cjs/bundled_modules/d3-geo/src/centroid.js +149 -0
  70. package/dist/cjs/bundled_modules/d3-geo/src/circle.js +35 -0
  71. package/dist/cjs/bundled_modules/d3-geo/src/clip/antimeridian.js +98 -0
  72. package/dist/cjs/bundled_modules/d3-geo/src/clip/buffer.js +30 -0
  73. package/dist/cjs/bundled_modules/d3-geo/src/clip/circle.js +183 -0
  74. package/dist/cjs/bundled_modules/d3-geo/src/clip/index.js +137 -0
  75. package/dist/cjs/bundled_modules/d3-geo/src/clip/line.js +65 -0
  76. package/dist/cjs/bundled_modules/d3-geo/src/clip/rectangle.js +174 -0
  77. package/dist/cjs/bundled_modules/d3-geo/src/clip/rejoin.js +109 -0
  78. package/dist/cjs/bundled_modules/d3-geo/src/compose.js +18 -0
  79. package/dist/cjs/bundled_modules/d3-geo/src/graticule.js +107 -0
  80. package/dist/cjs/bundled_modules/d3-geo/src/identity.js +7 -0
  81. package/dist/cjs/bundled_modules/d3-geo/src/math.js +57 -0
  82. package/dist/cjs/bundled_modules/d3-geo/src/noop.js +7 -0
  83. package/dist/cjs/bundled_modules/d3-geo/src/path/area.js +54 -0
  84. package/dist/cjs/bundled_modules/d3-geo/src/path/bounds.js +32 -0
  85. package/dist/cjs/bundled_modules/d3-geo/src/path/centroid.js +104 -0
  86. package/dist/cjs/bundled_modules/d3-geo/src/path/context.js +51 -0
  87. package/dist/cjs/bundled_modules/d3-geo/src/path/index.js +82 -0
  88. package/dist/cjs/bundled_modules/d3-geo/src/path/measure.js +49 -0
  89. package/dist/cjs/bundled_modules/d3-geo/src/path/string.js +92 -0
  90. package/dist/cjs/bundled_modules/d3-geo/src/pointEqual.js +11 -0
  91. package/dist/cjs/bundled_modules/d3-geo/src/polygonContains.js +80 -0
  92. package/dist/cjs/bundled_modules/d3-geo/src/projection/albers.js +16 -0
  93. package/dist/cjs/bundled_modules/d3-geo/src/projection/albersUsa.js +117 -0
  94. package/dist/cjs/bundled_modules/d3-geo/src/projection/azimuthal.js +32 -0
  95. package/dist/cjs/bundled_modules/d3-geo/src/projection/azimuthalEqualArea.js +24 -0
  96. package/dist/cjs/bundled_modules/d3-geo/src/projection/azimuthalEquidistant.js +24 -0
  97. package/dist/cjs/bundled_modules/d3-geo/src/projection/conic.js +19 -0
  98. package/dist/cjs/bundled_modules/d3-geo/src/projection/conicConformal.js +45 -0
  99. package/dist/cjs/bundled_modules/d3-geo/src/projection/conicEqualArea.js +40 -0
  100. package/dist/cjs/bundled_modules/d3-geo/src/projection/conicEquidistant.js +39 -0
  101. package/dist/cjs/bundled_modules/d3-geo/src/projection/cylindricalEqualArea.js +19 -0
  102. package/dist/cjs/bundled_modules/d3-geo/src/projection/equalEarth.js +43 -0
  103. package/dist/cjs/bundled_modules/d3-geo/src/projection/equirectangular.js +19 -0
  104. package/dist/cjs/bundled_modules/d3-geo/src/projection/fit.js +54 -0
  105. package/dist/cjs/bundled_modules/d3-geo/src/projection/gnomonic.js +23 -0
  106. package/dist/cjs/bundled_modules/d3-geo/src/projection/identity.js +91 -0
  107. package/dist/cjs/bundled_modules/d3-geo/src/projection/index.js +184 -0
  108. package/dist/cjs/bundled_modules/d3-geo/src/projection/mercator.js +60 -0
  109. package/dist/cjs/bundled_modules/d3-geo/src/projection/naturalEarth1.js +35 -0
  110. package/dist/cjs/bundled_modules/d3-geo/src/projection/orthographic.js +22 -0
  111. package/dist/cjs/bundled_modules/d3-geo/src/projection/resample.js +108 -0
  112. package/dist/cjs/bundled_modules/d3-geo/src/projection/stereographic.js +25 -0
  113. package/dist/cjs/bundled_modules/d3-geo/src/projection/transverseMercator.js +34 -0
  114. package/dist/cjs/bundled_modules/d3-geo/src/rotation.js +86 -0
  115. package/dist/cjs/bundled_modules/d3-geo/src/stream.js +75 -0
  116. package/dist/cjs/bundled_modules/d3-geo/src/transform.js +24 -0
  117. package/dist/cjs/bundled_modules/d3-geo-projection/src/math.js +28 -0
  118. package/dist/cjs/bundled_modules/d3-geo-projection/src/mollweide.js +38 -0
  119. package/dist/cjs/bundled_modules/d3-hierarchy/src/accessors.js +13 -0
  120. package/dist/cjs/bundled_modules/d3-hierarchy/src/array.js +27 -0
  121. package/dist/cjs/bundled_modules/d3-hierarchy/src/cluster.js +90 -0
  122. package/dist/cjs/bundled_modules/d3-hierarchy/src/constant.js +16 -0
  123. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/ancestors.js +13 -0
  124. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/count.js +18 -0
  125. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/descendants.js +9 -0
  126. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/each.js +13 -0
  127. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/eachAfter.js +21 -0
  128. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/eachBefore.js +18 -0
  129. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/find.js +14 -0
  130. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/index.js +99 -0
  131. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/iterator.js +20 -0
  132. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/leaves.js +15 -0
  133. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/links.js +15 -0
  134. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/path.js +36 -0
  135. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/sort.js +13 -0
  136. package/dist/cjs/bundled_modules/d3-hierarchy/src/hierarchy/sum.js +15 -0
  137. package/dist/cjs/bundled_modules/d3-hierarchy/src/lcg.js +15 -0
  138. package/dist/cjs/bundled_modules/d3-hierarchy/src/pack/enclose.js +122 -0
  139. package/dist/cjs/bundled_modules/d3-hierarchy/src/pack/index.js +87 -0
  140. package/dist/cjs/bundled_modules/d3-hierarchy/src/pack/siblings.js +118 -0
  141. package/dist/cjs/bundled_modules/d3-hierarchy/src/partition.js +58 -0
  142. package/dist/cjs/bundled_modules/d3-hierarchy/src/stratify.js +151 -0
  143. package/dist/cjs/bundled_modules/d3-hierarchy/src/tree.js +243 -0
  144. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/binary.js +52 -0
  145. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/dice.js +18 -0
  146. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/index.js +100 -0
  147. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/resquarify.js +42 -0
  148. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/round.js +12 -0
  149. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/slice.js +18 -0
  150. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/sliceDice.js +12 -0
  151. package/dist/cjs/bundled_modules/d3-hierarchy/src/treemap/squarify.js +74 -0
  152. package/dist/cjs/bundled_modules/d3-interpolate/src/array.js +29 -0
  153. package/dist/cjs/bundled_modules/d3-interpolate/src/basis.js +26 -0
  154. package/dist/cjs/bundled_modules/d3-interpolate/src/basisClosed.js +19 -0
  155. package/dist/cjs/bundled_modules/d3-interpolate/src/color.js +37 -0
  156. package/dist/cjs/bundled_modules/d3-interpolate/src/constant.js +7 -0
  157. package/dist/cjs/bundled_modules/d3-interpolate/src/cubehelix.js +36 -0
  158. package/dist/cjs/bundled_modules/d3-interpolate/src/date.js +12 -0
  159. package/dist/cjs/bundled_modules/d3-interpolate/src/discrete.js +12 -0
  160. package/dist/cjs/bundled_modules/d3-interpolate/src/hcl.js +28 -0
  161. package/dist/cjs/bundled_modules/d3-interpolate/src/hsl.js +28 -0
  162. package/dist/cjs/bundled_modules/d3-interpolate/src/hue.js +15 -0
  163. package/dist/cjs/bundled_modules/d3-interpolate/src/index.js +53 -0
  164. package/dist/cjs/bundled_modules/d3-interpolate/src/lab.js +22 -0
  165. package/dist/cjs/bundled_modules/d3-interpolate/src/number.js +11 -0
  166. package/dist/cjs/bundled_modules/d3-interpolate/src/numberArray.js +21 -0
  167. package/dist/cjs/bundled_modules/d3-interpolate/src/object.js +29 -0
  168. package/dist/cjs/bundled_modules/d3-interpolate/src/piecewise.js +17 -0
  169. package/dist/cjs/bundled_modules/d3-interpolate/src/quantize.js +11 -0
  170. package/dist/cjs/bundled_modules/d3-interpolate/src/rgb.js +63 -0
  171. package/dist/cjs/bundled_modules/d3-interpolate/src/round.js +11 -0
  172. package/dist/cjs/bundled_modules/d3-interpolate/src/string.js +70 -0
  173. package/dist/cjs/bundled_modules/d3-interpolate/src/transform/decompose.js +33 -0
  174. package/dist/cjs/bundled_modules/d3-interpolate/src/transform/index.js +68 -0
  175. package/dist/cjs/bundled_modules/d3-interpolate/src/transform/parse.js +23 -0
  176. package/dist/cjs/bundled_modules/d3-interpolate/src/value.js +28 -0
  177. package/dist/cjs/bundled_modules/d3-interpolate/src/zoom.js +77 -0
  178. package/dist/cjs/bundled_modules/d3-path/src/path.js +157 -0
  179. package/dist/cjs/bundled_modules/d3-quadtree/src/add.js +91 -0
  180. package/dist/cjs/bundled_modules/d3-quadtree/src/cover.js +49 -0
  181. package/dist/cjs/bundled_modules/d3-quadtree/src/data.js +13 -0
  182. package/dist/cjs/bundled_modules/d3-quadtree/src/extent.js +11 -0
  183. package/dist/cjs/bundled_modules/d3-quadtree/src/find.js +76 -0
  184. package/dist/cjs/bundled_modules/d3-quadtree/src/quad.js +13 -0
  185. package/dist/cjs/bundled_modules/d3-quadtree/src/quadtree.js +79 -0
  186. package/dist/cjs/bundled_modules/d3-quadtree/src/remove.js +69 -0
  187. package/dist/cjs/bundled_modules/d3-quadtree/src/root.js +9 -0
  188. package/dist/cjs/bundled_modules/d3-quadtree/src/size.js +13 -0
  189. package/dist/cjs/bundled_modules/d3-quadtree/src/visit.js +22 -0
  190. package/dist/cjs/bundled_modules/d3-quadtree/src/visitAfter.js +27 -0
  191. package/dist/cjs/bundled_modules/d3-quadtree/src/x.js +14 -0
  192. package/dist/cjs/bundled_modules/d3-quadtree/src/y.js +14 -0
  193. package/dist/cjs/bundled_modules/d3-scale/src/constant.js +11 -0
  194. package/dist/cjs/bundled_modules/d3-scale/src/continuous.js +136 -0
  195. package/dist/cjs/bundled_modules/d3-scale/src/diverging.js +116 -0
  196. package/dist/cjs/bundled_modules/d3-scale/src/identity.js +34 -0
  197. package/dist/cjs/bundled_modules/d3-scale/src/init.js +31 -0
  198. package/dist/cjs/bundled_modules/d3-scale/src/linear.js +77 -0
  199. package/dist/cjs/bundled_modules/d3-scale/src/log.js +148 -0
  200. package/dist/cjs/bundled_modules/d3-scale/src/nice.js +24 -0
  201. package/dist/cjs/bundled_modules/d3-scale/src/number.js +9 -0
  202. package/dist/cjs/bundled_modules/d3-scale/src/ordinal.js +53 -0
  203. package/dist/cjs/bundled_modules/d3-scale/src/pow.js +58 -0
  204. package/dist/cjs/bundled_modules/d3-scale/src/quantile.js +65 -0
  205. package/dist/cjs/bundled_modules/d3-scale/src/quantize.js +62 -0
  206. package/dist/cjs/bundled_modules/d3-scale/src/sequential.js +119 -0
  207. package/dist/cjs/bundled_modules/d3-scale/src/symlog.js +42 -0
  208. package/dist/cjs/bundled_modules/d3-scale/src/threshold.js +45 -0
  209. package/dist/cjs/bundled_modules/d3-scale/src/tickFormat.js +39 -0
  210. package/dist/cjs/bundled_modules/d3-scale/src/time.js +85 -0
  211. package/dist/cjs/bundled_modules/d3-scale/src/utcTime.js +21 -0
  212. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Accent.js +9 -0
  213. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Dark2.js +9 -0
  214. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Paired.js +9 -0
  215. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Pastel1.js +9 -0
  216. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Pastel2.js +9 -0
  217. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Set1.js +9 -0
  218. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Set2.js +9 -0
  219. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/Set3.js +9 -0
  220. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/category10.js +9 -0
  221. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/categorical/observable10.js +9 -0
  222. package/dist/cjs/bundled_modules/d3-scale-chromatic/src/colors.js +11 -0
  223. package/dist/cjs/bundled_modules/d3-shape/src/arc.js +274 -0
  224. package/dist/cjs/bundled_modules/d3-shape/src/area.js +118 -0
  225. package/dist/cjs/bundled_modules/d3-shape/src/array.js +11 -0
  226. package/dist/cjs/bundled_modules/d3-shape/src/constant.js +11 -0
  227. package/dist/cjs/bundled_modules/d3-shape/src/curve/basis.js +59 -0
  228. package/dist/cjs/bundled_modules/d3-shape/src/curve/basisClosed.js +58 -0
  229. package/dist/cjs/bundled_modules/d3-shape/src/curve/basisOpen.js +45 -0
  230. package/dist/cjs/bundled_modules/d3-shape/src/curve/bundle.js +62 -0
  231. package/dist/cjs/bundled_modules/d3-shape/src/curve/cardinal.js +69 -0
  232. package/dist/cjs/bundled_modules/d3-shape/src/curve/cardinalClosed.js +68 -0
  233. package/dist/cjs/bundled_modules/d3-shape/src/curve/cardinalOpen.js +56 -0
  234. package/dist/cjs/bundled_modules/d3-shape/src/curve/catmullRom.js +95 -0
  235. package/dist/cjs/bundled_modules/d3-shape/src/curve/catmullRomClosed.js +80 -0
  236. package/dist/cjs/bundled_modules/d3-shape/src/curve/catmullRomOpen.js +68 -0
  237. package/dist/cjs/bundled_modules/d3-shape/src/curve/linear.js +37 -0
  238. package/dist/cjs/bundled_modules/d3-shape/src/curve/linearClosed.js +31 -0
  239. package/dist/cjs/bundled_modules/d3-shape/src/curve/monotone.js +109 -0
  240. package/dist/cjs/bundled_modules/d3-shape/src/curve/natural.js +71 -0
  241. package/dist/cjs/bundled_modules/d3-shape/src/curve/step.js +61 -0
  242. package/dist/cjs/bundled_modules/d3-shape/src/line.js +64 -0
  243. package/dist/cjs/bundled_modules/d3-shape/src/math.js +36 -0
  244. package/dist/cjs/bundled_modules/d3-shape/src/noop.js +7 -0
  245. package/dist/cjs/bundled_modules/d3-shape/src/path.js +23 -0
  246. package/dist/cjs/bundled_modules/d3-shape/src/point.js +12 -0
  247. package/dist/cjs/bundled_modules/d3-shape/src/symbol/circle.js +15 -0
  248. package/dist/cjs/bundled_modules/d3-shape/src/symbol.js +38 -0
  249. package/dist/cjs/bundled_modules/d3-time/src/day.js +41 -0
  250. package/dist/cjs/bundled_modules/d3-time/src/duration.js +17 -0
  251. package/dist/cjs/bundled_modules/d3-time/src/hour.js +31 -0
  252. package/dist/cjs/bundled_modules/d3-time/src/interval.js +73 -0
  253. package/dist/cjs/bundled_modules/d3-time/src/millisecond.js +29 -0
  254. package/dist/cjs/bundled_modules/d3-time/src/minute.js +31 -0
  255. package/dist/cjs/bundled_modules/d3-time/src/month.js +32 -0
  256. package/dist/cjs/bundled_modules/d3-time/src/second.js +18 -0
  257. package/dist/cjs/bundled_modules/d3-time/src/ticks.js +64 -0
  258. package/dist/cjs/bundled_modules/d3-time/src/week.js +73 -0
  259. package/dist/cjs/bundled_modules/d3-time/src/year.js +54 -0
  260. package/dist/cjs/bundled_modules/d3-time-format/src/defaultLocale.js +33 -0
  261. package/dist/cjs/bundled_modules/d3-time-format/src/locale.js +694 -0
  262. package/dist/cjs/bundled_modules/d3-timer/src/interval.js +23 -0
  263. package/dist/cjs/bundled_modules/d3-timer/src/timer.js +117 -0
  264. package/dist/cjs/bundled_modules/delaunator/index.js +485 -0
  265. package/dist/cjs/bundled_modules/internmap/src/index.js +66 -0
  266. package/dist/cjs/bundled_modules/json-stringify-pretty-compact/index.js +104 -0
  267. package/dist/cjs/bundled_modules/robust-predicates/esm/orient2d.js +184 -0
  268. package/dist/cjs/bundled_modules/robust-predicates/esm/util.js +95 -0
  269. package/dist/cjs/bundled_modules/topojson-client/src/feature.js +77 -0
  270. package/dist/cjs/bundled_modules/topojson-client/src/identity.js +9 -0
  271. package/dist/cjs/bundled_modules/topojson-client/src/mesh.js +60 -0
  272. package/dist/cjs/bundled_modules/topojson-client/src/reverse.js +10 -0
  273. package/dist/cjs/bundled_modules/topojson-client/src/stitch.js +79 -0
  274. package/dist/cjs/bundled_modules/topojson-client/src/transform.js +25 -0
  275. package/dist/cjs/bundled_modules/vega/build/vega.module.js +272 -0
  276. package/dist/cjs/bundled_modules/vega-canvas/build/vega-canvas.browser.js +18 -0
  277. package/dist/cjs/bundled_modules/vega-crossfilter/build/vega-crossfilter.js +676 -0
  278. package/dist/cjs/bundled_modules/vega-dataflow/build/vega-dataflow.js +2102 -0
  279. package/dist/cjs/bundled_modules/vega-embed/build/embed.js +2939 -0
  280. package/dist/cjs/bundled_modules/vega-encode/build/vega-encode.js +962 -0
  281. package/dist/cjs/bundled_modules/vega-event-selector/build/vega-event-selector.js +192 -0
  282. package/dist/cjs/bundled_modules/vega-expression/build/vega-expression.js +1615 -0
  283. package/dist/cjs/bundled_modules/vega-force/build/vega-force.js +295 -0
  284. package/dist/cjs/bundled_modules/vega-format/build/vega-format.js +201 -0
  285. package/dist/cjs/bundled_modules/vega-functions/build/vega-functions.js +842 -0
  286. package/dist/cjs/bundled_modules/vega-geo/build/vega-geo.js +1333 -0
  287. package/dist/cjs/bundled_modules/vega-hierarchy/build/vega-hierarchy.js +580 -0
  288. package/dist/cjs/bundled_modules/vega-interpreter/build/vega-interpreter.js +310 -0
  289. package/dist/cjs/bundled_modules/vega-label/build/vega-label.js +876 -0
  290. package/dist/cjs/bundled_modules/vega-lite/build/index.js +20157 -0
  291. package/dist/cjs/bundled_modules/vega-loader/build/vega-loader.browser.js +337 -0
  292. package/dist/cjs/bundled_modules/vega-parser/build/vega-parser.js +3805 -0
  293. package/dist/cjs/bundled_modules/vega-projection/build/vega-projection.js +90 -0
  294. package/dist/cjs/bundled_modules/vega-regression/build/vega-regression.js +236 -0
  295. package/dist/cjs/bundled_modules/vega-runtime/build/vega-runtime.js +588 -0
  296. package/dist/cjs/bundled_modules/vega-scale/build/vega-scale.js +846 -0
  297. package/dist/cjs/bundled_modules/vega-scenegraph/build/vega-scenegraph.js +5040 -0
  298. package/dist/cjs/bundled_modules/vega-schema-url-parser/dist/parser.modern.js +7 -0
  299. package/dist/cjs/bundled_modules/vega-selections/build/vega-selection.js +342 -0
  300. package/dist/cjs/bundled_modules/vega-statistics/build/vega-statistics.js +1193 -0
  301. package/dist/cjs/bundled_modules/vega-themes/build/index.js +853 -0
  302. package/dist/cjs/bundled_modules/vega-time/build/vega-time.js +342 -0
  303. package/dist/cjs/bundled_modules/vega-tooltip/build/index.js +353 -0
  304. package/dist/cjs/bundled_modules/vega-transforms/build/vega-transforms.js +3781 -0
  305. package/dist/cjs/bundled_modules/vega-util/build/vega-util.js +824 -0
  306. package/dist/cjs/bundled_modules/vega-view/build/vega-view.js +1306 -0
  307. package/dist/cjs/bundled_modules/vega-view-transforms/build/vega-view-transforms.js +1313 -0
  308. package/dist/cjs/bundled_modules/vega-voronoi/build/vega-voronoi.js +80 -0
  309. package/dist/cjs/bundled_modules/vega-wordcloud/build/vega-wordcloud.js +540 -0
  310. package/dist/cjs/index.js +11 -0
  311. package/dist/cjs/styles/createPalette.js +11 -0
  312. package/dist/cjs/styles/entrypoint.scss.js +7 -0
  313. package/dist/cjs/styles.css +1 -1
  314. package/dist/cjs/unstable/Card/components.js +213 -0
  315. package/dist/cjs/unstable/Card/state.js +53 -0
  316. package/dist/cjs/unstable/Card/styles.module.scss.js +1 -1
  317. package/dist/cjs/unstable/StatCard/index.js +124 -0
  318. package/dist/cjs/unstable/StatCard/index.module.scss.js +7 -0
  319. package/dist/cjs/unstable/extras/chart/BarChart.js +42 -0
  320. package/dist/cjs/unstable/extras/chart/Chart.js +100 -0
  321. package/dist/cjs/unstable/extras/chart/DistributionChart.js +84 -0
  322. package/dist/cjs/unstable/extras/chart/DonutChart.js +43 -0
  323. package/dist/cjs/unstable/extras/chart/LineChart.js +45 -0
  324. package/dist/cjs/unstable/extras/chart/PieChart.js +39 -0
  325. package/dist/cjs/unstable/extras/chart/TimelineChart.js +48 -0
  326. package/dist/cjs/unstable/extras/chart/index.js +23 -0
  327. package/dist/cjs/unstable/index.js +39 -13
  328. package/dist/cjs/unstable/skeleton/index.js +74 -0
  329. package/dist/cjs/unstable/skeleton/index.module.scss.js +7 -0
  330. package/dist/cjs/unstable/suspense/index.js +18 -0
  331. package/dist/cjs/unstable/suspense/index.module.scss.js +7 -0
  332. package/dist/cjs/unstable/suspense/loader.js +23 -0
  333. package/dist/esm/Dialog/components.js +28 -89
  334. package/dist/esm/Dialog/state.js +2 -8
  335. package/dist/esm/Dialog/styles.module.scss.js +2 -2
  336. package/dist/esm/FileUploader/controlled.js +7 -0
  337. package/dist/esm/Table/AutoTable/controlled.js +2 -1
  338. package/dist/esm/Table/AutoTable/styles.module.scss.js +1 -1
  339. package/dist/esm/TablePagination/index.js +21 -8
  340. package/dist/esm/bundled_modules/d3-array/src/ascending.js +5 -0
  341. package/dist/esm/bundled_modules/d3-array/src/bisect.js +10 -0
  342. package/dist/esm/bundled_modules/d3-array/src/bisector.js +58 -0
  343. package/dist/esm/bundled_modules/d3-array/src/descending.js +9 -0
  344. package/dist/esm/bundled_modules/d3-array/src/deviation.js +8 -0
  345. package/dist/esm/bundled_modules/d3-array/src/fsum.js +43 -0
  346. package/dist/esm/bundled_modules/d3-array/src/intersection.js +21 -0
  347. package/dist/esm/bundled_modules/d3-array/src/max.js +22 -0
  348. package/dist/esm/bundled_modules/d3-array/src/mean.js +21 -0
  349. package/dist/esm/bundled_modules/d3-array/src/median.js +7 -0
  350. package/dist/esm/bundled_modules/d3-array/src/merge.js +11 -0
  351. package/dist/esm/bundled_modules/d3-array/src/min.js +22 -0
  352. package/dist/esm/bundled_modules/d3-array/src/number.js +22 -0
  353. package/dist/esm/bundled_modules/d3-array/src/permute.js +5 -0
  354. package/dist/esm/bundled_modules/d3-array/src/quantile.js +31 -0
  355. package/dist/esm/bundled_modules/d3-array/src/quickselect.js +55 -0
  356. package/dist/esm/bundled_modules/d3-array/src/range.js +15 -0
  357. package/dist/esm/bundled_modules/d3-array/src/sort.js +17 -0
  358. package/dist/esm/bundled_modules/d3-array/src/sum.js +13 -0
  359. package/dist/esm/bundled_modules/d3-array/src/ticks.js +57 -0
  360. package/dist/esm/bundled_modules/d3-array/src/union.js +13 -0
  361. package/dist/esm/bundled_modules/d3-array/src/variance.js +27 -0
  362. package/dist/esm/bundled_modules/d3-color/src/color.js +398 -0
  363. package/dist/esm/bundled_modules/d3-color/src/cubehelix.js +63 -0
  364. package/dist/esm/bundled_modules/d3-color/src/define.js +12 -0
  365. package/dist/esm/bundled_modules/d3-color/src/lab.js +117 -0
  366. package/dist/esm/bundled_modules/d3-color/src/math.js +4 -0
  367. package/dist/esm/bundled_modules/d3-delaunay/src/delaunay.js +250 -0
  368. package/dist/esm/bundled_modules/d3-delaunay/src/path.js +39 -0
  369. package/dist/esm/bundled_modules/d3-delaunay/src/polygon.js +19 -0
  370. package/dist/esm/bundled_modules/d3-delaunay/src/voronoi.js +334 -0
  371. package/dist/esm/bundled_modules/d3-dispatch/src/dispatch.js +84 -0
  372. package/dist/esm/bundled_modules/d3-dsv/src/dsv.js +166 -0
  373. package/dist/esm/bundled_modules/d3-force/src/center.js +42 -0
  374. package/dist/esm/bundled_modules/d3-force/src/collide.js +102 -0
  375. package/dist/esm/bundled_modules/d3-force/src/constant.js +7 -0
  376. package/dist/esm/bundled_modules/d3-force/src/jiggle.js +5 -0
  377. package/dist/esm/bundled_modules/d3-force/src/lcg.js +11 -0
  378. package/dist/esm/bundled_modules/d3-force/src/link.js +119 -0
  379. package/dist/esm/bundled_modules/d3-force/src/manyBody.js +118 -0
  380. package/dist/esm/bundled_modules/d3-force/src/simulation.js +158 -0
  381. package/dist/esm/bundled_modules/d3-force/src/x.js +43 -0
  382. package/dist/esm/bundled_modules/d3-force/src/y.js +43 -0
  383. package/dist/esm/bundled_modules/d3-format/src/defaultLocale.js +20 -0
  384. package/dist/esm/bundled_modules/d3-format/src/exponent.js +7 -0
  385. package/dist/esm/bundled_modules/d3-format/src/formatDecimal.js +22 -0
  386. package/dist/esm/bundled_modules/d3-format/src/formatGroup.js +20 -0
  387. package/dist/esm/bundled_modules/d3-format/src/formatNumerals.js +9 -0
  388. package/dist/esm/bundled_modules/d3-format/src/formatPrefixAuto.js +18 -0
  389. package/dist/esm/bundled_modules/d3-format/src/formatRounded.js +13 -0
  390. package/dist/esm/bundled_modules/d3-format/src/formatSpecifier.js +49 -0
  391. package/dist/esm/bundled_modules/d3-format/src/formatTrim.js +13 -0
  392. package/dist/esm/bundled_modules/d3-format/src/formatTypes.js +21 -0
  393. package/dist/esm/bundled_modules/d3-format/src/identity.js +5 -0
  394. package/dist/esm/bundled_modules/d3-format/src/locale.js +150 -0
  395. package/dist/esm/bundled_modules/d3-format/src/precisionFixed.js +7 -0
  396. package/dist/esm/bundled_modules/d3-format/src/precisionPrefix.js +7 -0
  397. package/dist/esm/bundled_modules/d3-format/src/precisionRound.js +8 -0
  398. package/dist/esm/bundled_modules/d3-geo/src/area.js +78 -0
  399. package/dist/esm/bundled_modules/d3-geo/src/bounds.js +181 -0
  400. package/dist/esm/bundled_modules/d3-geo/src/cartesian.js +35 -0
  401. package/dist/esm/bundled_modules/d3-geo/src/centroid.js +145 -0
  402. package/dist/esm/bundled_modules/d3-geo/src/circle.js +33 -0
  403. package/dist/esm/bundled_modules/d3-geo/src/clip/antimeridian.js +94 -0
  404. package/dist/esm/bundled_modules/d3-geo/src/clip/buffer.js +26 -0
  405. package/dist/esm/bundled_modules/d3-geo/src/clip/circle.js +179 -0
  406. package/dist/esm/bundled_modules/d3-geo/src/clip/index.js +133 -0
  407. package/dist/esm/bundled_modules/d3-geo/src/clip/line.js +61 -0
  408. package/dist/esm/bundled_modules/d3-geo/src/clip/rectangle.js +170 -0
  409. package/dist/esm/bundled_modules/d3-geo/src/clip/rejoin.js +105 -0
  410. package/dist/esm/bundled_modules/d3-geo/src/compose.js +14 -0
  411. package/dist/esm/bundled_modules/d3-geo/src/graticule.js +103 -0
  412. package/dist/esm/bundled_modules/d3-geo/src/identity.js +3 -0
  413. package/dist/esm/bundled_modules/d3-geo/src/math.js +33 -0
  414. package/dist/esm/bundled_modules/d3-geo/src/noop.js +3 -0
  415. package/dist/esm/bundled_modules/d3-geo/src/path/area.js +50 -0
  416. package/dist/esm/bundled_modules/d3-geo/src/path/bounds.js +28 -0
  417. package/dist/esm/bundled_modules/d3-geo/src/path/centroid.js +100 -0
  418. package/dist/esm/bundled_modules/d3-geo/src/path/context.js +47 -0
  419. package/dist/esm/bundled_modules/d3-geo/src/path/index.js +78 -0
  420. package/dist/esm/bundled_modules/d3-geo/src/path/measure.js +45 -0
  421. package/dist/esm/bundled_modules/d3-geo/src/path/string.js +88 -0
  422. package/dist/esm/bundled_modules/d3-geo/src/pointEqual.js +7 -0
  423. package/dist/esm/bundled_modules/d3-geo/src/polygonContains.js +76 -0
  424. package/dist/esm/bundled_modules/d3-geo/src/projection/albers.js +12 -0
  425. package/dist/esm/bundled_modules/d3-geo/src/projection/albersUsa.js +113 -0
  426. package/dist/esm/bundled_modules/d3-geo/src/projection/azimuthal.js +29 -0
  427. package/dist/esm/bundled_modules/d3-geo/src/projection/azimuthalEqualArea.js +19 -0
  428. package/dist/esm/bundled_modules/d3-geo/src/projection/azimuthalEquidistant.js +19 -0
  429. package/dist/esm/bundled_modules/d3-geo/src/projection/conic.js +17 -0
  430. package/dist/esm/bundled_modules/d3-geo/src/projection/conicConformal.js +40 -0
  431. package/dist/esm/bundled_modules/d3-geo/src/projection/conicEqualArea.js +35 -0
  432. package/dist/esm/bundled_modules/d3-geo/src/projection/conicEquidistant.js +34 -0
  433. package/dist/esm/bundled_modules/d3-geo/src/projection/cylindricalEqualArea.js +17 -0
  434. package/dist/esm/bundled_modules/d3-geo/src/projection/equalEarth.js +38 -0
  435. package/dist/esm/bundled_modules/d3-geo/src/projection/equirectangular.js +14 -0
  436. package/dist/esm/bundled_modules/d3-geo/src/projection/fit.js +49 -0
  437. package/dist/esm/bundled_modules/d3-geo/src/projection/gnomonic.js +18 -0
  438. package/dist/esm/bundled_modules/d3-geo/src/projection/identity.js +87 -0
  439. package/dist/esm/bundled_modules/d3-geo/src/projection/index.js +179 -0
  440. package/dist/esm/bundled_modules/d3-geo/src/projection/mercator.js +54 -0
  441. package/dist/esm/bundled_modules/d3-geo/src/projection/naturalEarth1.js +30 -0
  442. package/dist/esm/bundled_modules/d3-geo/src/projection/orthographic.js +17 -0
  443. package/dist/esm/bundled_modules/d3-geo/src/projection/resample.js +104 -0
  444. package/dist/esm/bundled_modules/d3-geo/src/projection/stereographic.js +20 -0
  445. package/dist/esm/bundled_modules/d3-geo/src/projection/transverseMercator.js +29 -0
  446. package/dist/esm/bundled_modules/d3-geo/src/rotation.js +81 -0
  447. package/dist/esm/bundled_modules/d3-geo/src/stream.js +71 -0
  448. package/dist/esm/bundled_modules/d3-geo/src/transform.js +22 -0
  449. package/dist/esm/bundled_modules/d3-geo-projection/src/math.js +18 -0
  450. package/dist/esm/bundled_modules/d3-geo-projection/src/mollweide.js +31 -0
  451. package/dist/esm/bundled_modules/d3-hierarchy/src/accessors.js +10 -0
  452. package/dist/esm/bundled_modules/d3-hierarchy/src/array.js +22 -0
  453. package/dist/esm/bundled_modules/d3-hierarchy/src/cluster.js +86 -0
  454. package/dist/esm/bundled_modules/d3-hierarchy/src/constant.js +11 -0
  455. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/ancestors.js +9 -0
  456. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/count.js +14 -0
  457. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/descendants.js +5 -0
  458. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/each.js +9 -0
  459. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/eachAfter.js +17 -0
  460. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/eachBefore.js +14 -0
  461. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/find.js +10 -0
  462. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/index.js +93 -0
  463. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/iterator.js +16 -0
  464. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/leaves.js +11 -0
  465. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/links.js +11 -0
  466. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/path.js +32 -0
  467. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/sort.js +9 -0
  468. package/dist/esm/bundled_modules/d3-hierarchy/src/hierarchy/sum.js +11 -0
  469. package/dist/esm/bundled_modules/d3-hierarchy/src/lcg.js +11 -0
  470. package/dist/esm/bundled_modules/d3-hierarchy/src/pack/enclose.js +120 -0
  471. package/dist/esm/bundled_modules/d3-hierarchy/src/pack/index.js +83 -0
  472. package/dist/esm/bundled_modules/d3-hierarchy/src/pack/siblings.js +116 -0
  473. package/dist/esm/bundled_modules/d3-hierarchy/src/partition.js +54 -0
  474. package/dist/esm/bundled_modules/d3-hierarchy/src/stratify.js +147 -0
  475. package/dist/esm/bundled_modules/d3-hierarchy/src/tree.js +239 -0
  476. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/binary.js +48 -0
  477. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/dice.js +14 -0
  478. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/index.js +96 -0
  479. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/resquarify.js +38 -0
  480. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/round.js +8 -0
  481. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/slice.js +14 -0
  482. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/sliceDice.js +8 -0
  483. package/dist/esm/bundled_modules/d3-hierarchy/src/treemap/squarify.js +68 -0
  484. package/dist/esm/bundled_modules/d3-interpolate/src/array.js +24 -0
  485. package/dist/esm/bundled_modules/d3-interpolate/src/basis.js +21 -0
  486. package/dist/esm/bundled_modules/d3-interpolate/src/basisClosed.js +15 -0
  487. package/dist/esm/bundled_modules/d3-interpolate/src/color.js +31 -0
  488. package/dist/esm/bundled_modules/d3-interpolate/src/constant.js +3 -0
  489. package/dist/esm/bundled_modules/d3-interpolate/src/cubehelix.js +31 -0
  490. package/dist/esm/bundled_modules/d3-interpolate/src/date.js +8 -0
  491. package/dist/esm/bundled_modules/d3-interpolate/src/discrete.js +8 -0
  492. package/dist/esm/bundled_modules/d3-interpolate/src/hcl.js +23 -0
  493. package/dist/esm/bundled_modules/d3-interpolate/src/hsl.js +23 -0
  494. package/dist/esm/bundled_modules/d3-interpolate/src/hue.js +11 -0
  495. package/dist/esm/bundled_modules/d3-interpolate/src/index.js +21 -0
  496. package/dist/esm/bundled_modules/d3-interpolate/src/lab.js +18 -0
  497. package/dist/esm/bundled_modules/d3-interpolate/src/number.js +7 -0
  498. package/dist/esm/bundled_modules/d3-interpolate/src/numberArray.js +16 -0
  499. package/dist/esm/bundled_modules/d3-interpolate/src/object.js +25 -0
  500. package/dist/esm/bundled_modules/d3-interpolate/src/piecewise.js +13 -0
  501. package/dist/esm/bundled_modules/d3-interpolate/src/quantize.js +7 -0
  502. package/dist/esm/bundled_modules/d3-interpolate/src/rgb.js +57 -0
  503. package/dist/esm/bundled_modules/d3-interpolate/src/round.js +7 -0
  504. package/dist/esm/bundled_modules/d3-interpolate/src/string.js +66 -0
  505. package/dist/esm/bundled_modules/d3-interpolate/src/transform/decompose.js +28 -0
  506. package/dist/esm/bundled_modules/d3-interpolate/src/transform/index.js +65 -0
  507. package/dist/esm/bundled_modules/d3-interpolate/src/transform/parse.js +20 -0
  508. package/dist/esm/bundled_modules/d3-interpolate/src/value.js +24 -0
  509. package/dist/esm/bundled_modules/d3-interpolate/src/zoom.js +73 -0
  510. package/dist/esm/bundled_modules/d3-path/src/path.js +154 -0
  511. package/dist/esm/bundled_modules/d3-quadtree/src/add.js +86 -0
  512. package/dist/esm/bundled_modules/d3-quadtree/src/cover.js +45 -0
  513. package/dist/esm/bundled_modules/d3-quadtree/src/data.js +9 -0
  514. package/dist/esm/bundled_modules/d3-quadtree/src/extent.js +7 -0
  515. package/dist/esm/bundled_modules/d3-quadtree/src/find.js +72 -0
  516. package/dist/esm/bundled_modules/d3-quadtree/src/quad.js +9 -0
  517. package/dist/esm/bundled_modules/d3-quadtree/src/quadtree.js +75 -0
  518. package/dist/esm/bundled_modules/d3-quadtree/src/remove.js +64 -0
  519. package/dist/esm/bundled_modules/d3-quadtree/src/root.js +5 -0
  520. package/dist/esm/bundled_modules/d3-quadtree/src/size.js +9 -0
  521. package/dist/esm/bundled_modules/d3-quadtree/src/visit.js +18 -0
  522. package/dist/esm/bundled_modules/d3-quadtree/src/visitAfter.js +23 -0
  523. package/dist/esm/bundled_modules/d3-quadtree/src/x.js +9 -0
  524. package/dist/esm/bundled_modules/d3-quadtree/src/y.js +9 -0
  525. package/dist/esm/bundled_modules/d3-scale/src/constant.js +7 -0
  526. package/dist/esm/bundled_modules/d3-scale/src/continuous.js +129 -0
  527. package/dist/esm/bundled_modules/d3-scale/src/diverging.js +108 -0
  528. package/dist/esm/bundled_modules/d3-scale/src/identity.js +30 -0
  529. package/dist/esm/bundled_modules/d3-scale/src/init.js +28 -0
  530. package/dist/esm/bundled_modules/d3-scale/src/linear.js +72 -0
  531. package/dist/esm/bundled_modules/d3-scale/src/log.js +143 -0
  532. package/dist/esm/bundled_modules/d3-scale/src/nice.js +20 -0
  533. package/dist/esm/bundled_modules/d3-scale/src/number.js +5 -0
  534. package/dist/esm/bundled_modules/d3-scale/src/ordinal.js +48 -0
  535. package/dist/esm/bundled_modules/d3-scale/src/pow.js +52 -0
  536. package/dist/esm/bundled_modules/d3-scale/src/quantile.js +61 -0
  537. package/dist/esm/bundled_modules/d3-scale/src/quantize.js +58 -0
  538. package/dist/esm/bundled_modules/d3-scale/src/sequential.js +110 -0
  539. package/dist/esm/bundled_modules/d3-scale/src/symlog.js +37 -0
  540. package/dist/esm/bundled_modules/d3-scale/src/threshold.js +41 -0
  541. package/dist/esm/bundled_modules/d3-scale/src/tickFormat.js +35 -0
  542. package/dist/esm/bundled_modules/d3-scale/src/time.js +80 -0
  543. package/dist/esm/bundled_modules/d3-scale/src/utcTime.js +17 -0
  544. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Accent.js +5 -0
  545. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Dark2.js +5 -0
  546. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Paired.js +5 -0
  547. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Pastel1.js +5 -0
  548. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Pastel2.js +5 -0
  549. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Set1.js +5 -0
  550. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Set2.js +5 -0
  551. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/Set3.js +5 -0
  552. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/category10.js +5 -0
  553. package/dist/esm/bundled_modules/d3-scale-chromatic/src/categorical/observable10.js +5 -0
  554. package/dist/esm/bundled_modules/d3-scale-chromatic/src/colors.js +7 -0
  555. package/dist/esm/bundled_modules/d3-shape/src/arc.js +270 -0
  556. package/dist/esm/bundled_modules/d3-shape/src/area.js +114 -0
  557. package/dist/esm/bundled_modules/d3-shape/src/array.js +7 -0
  558. package/dist/esm/bundled_modules/d3-shape/src/constant.js +7 -0
  559. package/dist/esm/bundled_modules/d3-shape/src/curve/basis.js +53 -0
  560. package/dist/esm/bundled_modules/d3-shape/src/curve/basisClosed.js +54 -0
  561. package/dist/esm/bundled_modules/d3-shape/src/curve/basisOpen.js +41 -0
  562. package/dist/esm/bundled_modules/d3-shape/src/curve/bundle.js +58 -0
  563. package/dist/esm/bundled_modules/d3-shape/src/curve/cardinal.js +63 -0
  564. package/dist/esm/bundled_modules/d3-shape/src/curve/cardinalClosed.js +63 -0
  565. package/dist/esm/bundled_modules/d3-shape/src/curve/cardinalOpen.js +51 -0
  566. package/dist/esm/bundled_modules/d3-shape/src/curve/catmullRom.js +90 -0
  567. package/dist/esm/bundled_modules/d3-shape/src/curve/catmullRomClosed.js +76 -0
  568. package/dist/esm/bundled_modules/d3-shape/src/curve/catmullRomOpen.js +64 -0
  569. package/dist/esm/bundled_modules/d3-shape/src/curve/linear.js +33 -0
  570. package/dist/esm/bundled_modules/d3-shape/src/curve/linearClosed.js +27 -0
  571. package/dist/esm/bundled_modules/d3-shape/src/curve/monotone.js +106 -0
  572. package/dist/esm/bundled_modules/d3-shape/src/curve/natural.js +67 -0
  573. package/dist/esm/bundled_modules/d3-shape/src/curve/step.js +55 -0
  574. package/dist/esm/bundled_modules/d3-shape/src/line.js +60 -0
  575. package/dist/esm/bundled_modules/d3-shape/src/math.js +22 -0
  576. package/dist/esm/bundled_modules/d3-shape/src/noop.js +3 -0
  577. package/dist/esm/bundled_modules/d3-shape/src/path.js +21 -0
  578. package/dist/esm/bundled_modules/d3-shape/src/point.js +9 -0
  579. package/dist/esm/bundled_modules/d3-shape/src/symbol/circle.js +11 -0
  580. package/dist/esm/bundled_modules/d3-shape/src/symbol.js +34 -0
  581. package/dist/esm/bundled_modules/d3-time/src/day.js +37 -0
  582. package/dist/esm/bundled_modules/d3-time/src/duration.js +9 -0
  583. package/dist/esm/bundled_modules/d3-time/src/hour.js +28 -0
  584. package/dist/esm/bundled_modules/d3-time/src/interval.js +71 -0
  585. package/dist/esm/bundled_modules/d3-time/src/millisecond.js +27 -0
  586. package/dist/esm/bundled_modules/d3-time/src/minute.js +28 -0
  587. package/dist/esm/bundled_modules/d3-time/src/month.js +29 -0
  588. package/dist/esm/bundled_modules/d3-time/src/second.js +16 -0
  589. package/dist/esm/bundled_modules/d3-time/src/ticks.js +59 -0
  590. package/dist/esm/bundled_modules/d3-time/src/week.js +58 -0
  591. package/dist/esm/bundled_modules/d3-time/src/year.js +51 -0
  592. package/dist/esm/bundled_modules/d3-time-format/src/defaultLocale.js +29 -0
  593. package/dist/esm/bundled_modules/d3-time-format/src/locale.js +690 -0
  594. package/dist/esm/bundled_modules/d3-timer/src/interval.js +19 -0
  595. package/dist/esm/bundled_modules/d3-timer/src/timer.js +112 -0
  596. package/dist/esm/bundled_modules/delaunator/index.js +481 -0
  597. package/dist/esm/bundled_modules/internmap/src/index.js +63 -0
  598. package/dist/esm/bundled_modules/json-stringify-pretty-compact/index.js +100 -0
  599. package/dist/esm/bundled_modules/robust-predicates/esm/orient2d.js +182 -0
  600. package/dist/esm/bundled_modules/robust-predicates/esm/util.js +88 -0
  601. package/dist/esm/bundled_modules/topojson-client/src/feature.js +72 -0
  602. package/dist/esm/bundled_modules/topojson-client/src/identity.js +5 -0
  603. package/dist/esm/bundled_modules/topojson-client/src/mesh.js +55 -0
  604. package/dist/esm/bundled_modules/topojson-client/src/reverse.js +6 -0
  605. package/dist/esm/bundled_modules/topojson-client/src/stitch.js +75 -0
  606. package/dist/esm/bundled_modules/topojson-client/src/transform.js +21 -0
  607. package/dist/esm/bundled_modules/vega/build/vega.module.js +38 -0
  608. package/dist/esm/bundled_modules/vega-canvas/build/vega-canvas.browser.js +14 -0
  609. package/dist/esm/bundled_modules/vega-crossfilter/build/vega-crossfilter.js +673 -0
  610. package/dist/esm/bundled_modules/vega-dataflow/build/vega-dataflow.js +2080 -0
  611. package/dist/esm/bundled_modules/vega-embed/build/embed.js +2932 -0
  612. package/dist/esm/bundled_modules/vega-encode/build/vega-encode.js +952 -0
  613. package/dist/esm/bundled_modules/vega-event-selector/build/vega-event-selector.js +190 -0
  614. package/dist/esm/bundled_modules/vega-expression/build/vega-expression.js +1597 -0
  615. package/dist/esm/bundled_modules/vega-force/build/vega-force.js +293 -0
  616. package/dist/esm/bundled_modules/vega-format/build/vega-format.js +191 -0
  617. package/dist/esm/bundled_modules/vega-functions/build/vega-functions.js +779 -0
  618. package/dist/esm/bundled_modules/vega-geo/build/vega-geo.js +1322 -0
  619. package/dist/esm/bundled_modules/vega-hierarchy/build/vega-hierarchy.js +572 -0
  620. package/dist/esm/bundled_modules/vega-interpreter/build/vega-interpreter.js +308 -0
  621. package/dist/esm/bundled_modules/vega-label/build/vega-label.js +874 -0
  622. package/dist/esm/bundled_modules/vega-lite/build/index.js +20110 -0
  623. package/dist/esm/bundled_modules/vega-loader/build/vega-loader.browser.js +328 -0
  624. package/dist/esm/bundled_modules/vega-parser/build/vega-parser.js +3783 -0
  625. package/dist/esm/bundled_modules/vega-projection/build/vega-projection.js +86 -0
  626. package/dist/esm/bundled_modules/vega-regression/build/vega-regression.js +233 -0
  627. package/dist/esm/bundled_modules/vega-runtime/build/vega-runtime.js +586 -0
  628. package/dist/esm/bundled_modules/vega-scale/build/vega-scale.js +799 -0
  629. package/dist/esm/bundled_modules/vega-scenegraph/build/vega-scenegraph.js +4982 -0
  630. package/dist/esm/bundled_modules/vega-schema-url-parser/dist/parser.modern.js +3 -0
  631. package/dist/esm/bundled_modules/vega-selections/build/vega-selection.js +336 -0
  632. package/dist/esm/bundled_modules/vega-statistics/build/vega-statistics.js +1157 -0
  633. package/dist/esm/bundled_modules/vega-themes/build/index.js +837 -0
  634. package/dist/esm/bundled_modules/vega-time/build/vega-time.js +314 -0
  635. package/dist/esm/bundled_modules/vega-tooltip/build/index.js +339 -0
  636. package/dist/esm/bundled_modules/vega-transforms/build/vega-transforms.js +3740 -0
  637. package/dist/esm/bundled_modules/vega-util/build/vega-util.js +753 -0
  638. package/dist/esm/bundled_modules/vega-view/build/vega-view.js +1304 -0
  639. package/dist/esm/bundled_modules/vega-view-transforms/build/vega-view-transforms.js +1306 -0
  640. package/dist/esm/bundled_modules/vega-voronoi/build/vega-voronoi.js +78 -0
  641. package/dist/esm/bundled_modules/vega-wordcloud/build/vega-wordcloud.js +538 -0
  642. package/dist/esm/index.js +1 -1
  643. package/dist/esm/styles/createPalette.js +1 -1
  644. package/dist/esm/styles/entrypoint.scss.js +3 -0
  645. package/dist/esm/styles.css +1 -1
  646. package/dist/esm/unstable/Card/components.js +182 -0
  647. package/dist/esm/unstable/Card/state.js +30 -0
  648. package/dist/esm/unstable/Card/styles.module.scss.js +1 -1
  649. package/dist/esm/unstable/StatCard/index.js +116 -0
  650. package/dist/esm/unstable/StatCard/index.module.scss.js +3 -0
  651. package/dist/esm/unstable/extras/chart/BarChart.js +40 -0
  652. package/dist/esm/unstable/extras/chart/Chart.js +96 -0
  653. package/dist/esm/unstable/extras/chart/DistributionChart.js +82 -0
  654. package/dist/esm/unstable/extras/chart/DonutChart.js +41 -0
  655. package/dist/esm/unstable/extras/chart/LineChart.js +43 -0
  656. package/dist/esm/unstable/extras/chart/PieChart.js +37 -0
  657. package/dist/esm/unstable/extras/chart/TimelineChart.js +46 -0
  658. package/dist/esm/unstable/extras/chart/index.js +8 -0
  659. package/dist/esm/unstable/index.js +5 -1
  660. package/dist/esm/unstable/skeleton/index.js +69 -0
  661. package/dist/esm/unstable/skeleton/index.module.scss.js +3 -0
  662. package/dist/esm/unstable/suspense/index.js +15 -0
  663. package/dist/esm/unstable/suspense/index.module.scss.js +3 -0
  664. package/dist/esm/unstable/suspense/loader.js +20 -0
  665. package/dist/types/Dialog/components.d.ts +27 -20
  666. package/dist/types/Dialog/factory.d.ts +4 -5
  667. package/dist/types/Dialog/state.d.ts +1 -15
  668. package/dist/types/TablePagination/index.d.ts +1 -1
  669. package/dist/types/styles/createPalette.d.ts +13 -2
  670. package/dist/types/unstable/Card/components.d.ts +90 -0
  671. package/dist/types/unstable/Card/index.d.ts +2 -11
  672. package/dist/types/unstable/Card/state.d.ts +20 -0
  673. package/dist/types/unstable/StatCard/index.d.ts +33 -0
  674. package/dist/types/unstable/extras/chart/BarChart.d.ts +16 -0
  675. package/dist/types/unstable/extras/chart/Chart.d.ts +33 -0
  676. package/dist/types/unstable/extras/chart/DistributionChart.d.ts +18 -0
  677. package/dist/types/unstable/extras/chart/DonutChart.d.ts +16 -0
  678. package/dist/types/unstable/extras/chart/LineChart.d.ts +16 -0
  679. package/dist/types/unstable/extras/chart/PieChart.d.ts +14 -0
  680. package/dist/types/unstable/extras/chart/TimelineChart.d.ts +15 -0
  681. package/dist/types/unstable/extras/chart/index.d.ts +15 -33
  682. package/dist/types/unstable/index.d.ts +3 -0
  683. package/dist/types/unstable/skeleton/index.d.ts +15 -0
  684. package/dist/types/unstable/suspense/index.d.ts +9 -0
  685. package/dist/types/unstable/suspense/loader.d.ts +7 -0
  686. package/package.json +1 -7
  687. package/dist/cjs/unstable/Card/index.js +0 -33
  688. package/dist/esm/unstable/Card/index.js +0 -29
@@ -0,0 +1,1597 @@
1
+ import { toSet, isString, error, DisallowedObjectProperties, hasOwnProperty as has, isFunction } from '../../vega-util/build/vega-util.js';
2
+
3
+ const RawCode = 'RawCode';
4
+ const Literal = 'Literal';
5
+ const Property = 'Property';
6
+ const Identifier = 'Identifier';
7
+ const ArrayExpression = 'ArrayExpression';
8
+ const BinaryExpression = 'BinaryExpression';
9
+ const CallExpression = 'CallExpression';
10
+ const ConditionalExpression = 'ConditionalExpression';
11
+ const LogicalExpression = 'LogicalExpression';
12
+ const MemberExpression = 'MemberExpression';
13
+ const ObjectExpression = 'ObjectExpression';
14
+ const UnaryExpression = 'UnaryExpression';
15
+ function ASTNode(type) {
16
+ this.type = type;
17
+ }
18
+ ASTNode.prototype.visit = function (visitor) {
19
+ let c, i, n;
20
+ if (visitor(this)) return 1;
21
+ for (c = children(this), i = 0, n = c.length; i < n; ++i) {
22
+ if (c[i].visit(visitor)) return 1;
23
+ }
24
+ };
25
+ function children(node) {
26
+ switch (node.type) {
27
+ case ArrayExpression:
28
+ return node.elements;
29
+ case BinaryExpression:
30
+ case LogicalExpression:
31
+ return [node.left, node.right];
32
+ case CallExpression:
33
+ return [node.callee].concat(node.arguments);
34
+ case ConditionalExpression:
35
+ return [node.test, node.consequent, node.alternate];
36
+ case MemberExpression:
37
+ return [node.object, node.property];
38
+ case ObjectExpression:
39
+ return node.properties;
40
+ case Property:
41
+ return [node.key, node.value];
42
+ case UnaryExpression:
43
+ return [node.argument];
44
+ case Identifier:
45
+ case Literal:
46
+ case RawCode:
47
+ default:
48
+ return [];
49
+ }
50
+ }
51
+
52
+ /*
53
+ The following expression parser is based on Esprima (http://esprima.org/).
54
+ Original header comment and license for Esprima is included here:
55
+
56
+ Copyright (C) 2013 Ariya Hidayat <ariya.hidayat@gmail.com>
57
+ Copyright (C) 2013 Thaddee Tyl <thaddee.tyl@gmail.com>
58
+ Copyright (C) 2013 Mathias Bynens <mathias@qiwi.be>
59
+ Copyright (C) 2012 Ariya Hidayat <ariya.hidayat@gmail.com>
60
+ Copyright (C) 2012 Mathias Bynens <mathias@qiwi.be>
61
+ Copyright (C) 2012 Joost-Wim Boekesteijn <joost-wim@boekesteijn.nl>
62
+ Copyright (C) 2012 Kris Kowal <kris.kowal@cixar.com>
63
+ Copyright (C) 2012 Yusuke Suzuki <utatane.tea@gmail.com>
64
+ Copyright (C) 2012 Arpad Borsos <arpad.borsos@googlemail.com>
65
+ Copyright (C) 2011 Ariya Hidayat <ariya.hidayat@gmail.com>
66
+
67
+ Redistribution and use in source and binary forms, with or without
68
+ modification, are permitted provided that the following conditions are met:
69
+
70
+ * Redistributions of source code must retain the above copyright
71
+ notice, this list of conditions and the following disclaimer.
72
+ * Redistributions in binary form must reproduce the above copyright
73
+ notice, this list of conditions and the following disclaimer in the
74
+ documentation and/or other materials provided with the distribution.
75
+
76
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
77
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
78
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
79
+ ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
80
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
81
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
82
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
83
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
84
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
85
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
86
+ */
87
+ var TokenName, source, index, length, lookahead;
88
+ var TokenBooleanLiteral = 1,
89
+ TokenEOF = 2,
90
+ TokenIdentifier = 3,
91
+ TokenKeyword = 4,
92
+ TokenNullLiteral = 5,
93
+ TokenNumericLiteral = 6,
94
+ TokenPunctuator = 7,
95
+ TokenStringLiteral = 8,
96
+ TokenRegularExpression = 9;
97
+ TokenName = {};
98
+ TokenName[TokenBooleanLiteral] = 'Boolean';
99
+ TokenName[TokenEOF] = '<end>';
100
+ TokenName[TokenIdentifier] = 'Identifier';
101
+ TokenName[TokenKeyword] = 'Keyword';
102
+ TokenName[TokenNullLiteral] = 'Null';
103
+ TokenName[TokenNumericLiteral] = 'Numeric';
104
+ TokenName[TokenPunctuator] = 'Punctuator';
105
+ TokenName[TokenStringLiteral] = 'String';
106
+ TokenName[TokenRegularExpression] = 'RegularExpression';
107
+ var SyntaxArrayExpression = 'ArrayExpression',
108
+ SyntaxBinaryExpression = 'BinaryExpression',
109
+ SyntaxCallExpression = 'CallExpression',
110
+ SyntaxConditionalExpression = 'ConditionalExpression',
111
+ SyntaxIdentifier = 'Identifier',
112
+ SyntaxLiteral = 'Literal',
113
+ SyntaxLogicalExpression = 'LogicalExpression',
114
+ SyntaxMemberExpression = 'MemberExpression',
115
+ SyntaxObjectExpression = 'ObjectExpression',
116
+ SyntaxProperty = 'Property',
117
+ SyntaxUnaryExpression = 'UnaryExpression';
118
+
119
+ // Error messages should be identical to V8.
120
+ var MessageUnexpectedToken = 'Unexpected token %0',
121
+ MessageUnexpectedNumber = 'Unexpected number',
122
+ MessageUnexpectedString = 'Unexpected string',
123
+ MessageUnexpectedIdentifier = 'Unexpected identifier',
124
+ MessageUnexpectedReserved = 'Unexpected reserved word',
125
+ MessageUnexpectedEOS = 'Unexpected end of input',
126
+ MessageInvalidRegExp = 'Invalid regular expression',
127
+ MessageUnterminatedRegExp = 'Invalid regular expression: missing /',
128
+ MessageStrictOctalLiteral = 'Octal literals are not allowed in strict mode.',
129
+ MessageStrictDuplicateProperty = 'Duplicate data property in object literal not allowed in strict mode';
130
+ var ILLEGAL = 'ILLEGAL',
131
+ DISABLED = 'Disabled.';
132
+
133
+ // See also tools/generate-unicode-regex.py.
134
+ var RegexNonAsciiIdentifierStart = new RegExp('[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]'),
135
+ // eslint-disable-next-line no-misleading-character-class
136
+ RegexNonAsciiIdentifierPart = new RegExp('[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]');
137
+
138
+ // Ensure the condition is true, otherwise throw an error.
139
+ // This is only to have a better contract semantic, i.e. another safety net
140
+ // to catch a logic error. The condition shall be fulfilled in normal case.
141
+ // Do NOT use this to enforce a certain condition on any user input.
142
+
143
+ function assert(condition, message) {
144
+ /* istanbul ignore next */
145
+ if (!condition) {
146
+ throw new Error('ASSERT: ' + message);
147
+ }
148
+ }
149
+ function isDecimalDigit(ch) {
150
+ return ch >= 0x30 && ch <= 0x39; // 0..9
151
+ }
152
+ function isHexDigit(ch) {
153
+ return '0123456789abcdefABCDEF'.includes(ch);
154
+ }
155
+ function isOctalDigit(ch) {
156
+ return '01234567'.includes(ch);
157
+ }
158
+
159
+ // 7.2 White Space
160
+
161
+ function isWhiteSpace(ch) {
162
+ return ch === 0x20 || ch === 0x09 || ch === 0x0B || ch === 0x0C || ch === 0xA0 || ch >= 0x1680 && [0x1680, 0x180E, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000, 0xFEFF].includes(ch);
163
+ }
164
+
165
+ // 7.3 Line Terminators
166
+
167
+ function isLineTerminator(ch) {
168
+ return ch === 0x0A || ch === 0x0D || ch === 0x2028 || ch === 0x2029;
169
+ }
170
+
171
+ // 7.6 Identifier Names and Identifiers
172
+
173
+ function isIdentifierStart(ch) {
174
+ return ch === 0x24 || ch === 0x5F ||
175
+ // $ (dollar) and _ (underscore)
176
+ ch >= 0x41 && ch <= 0x5A ||
177
+ // A..Z
178
+ ch >= 0x61 && ch <= 0x7A ||
179
+ // a..z
180
+ ch === 0x5C ||
181
+ // \ (backslash)
182
+ ch >= 0x80 && RegexNonAsciiIdentifierStart.test(String.fromCharCode(ch));
183
+ }
184
+ function isIdentifierPart(ch) {
185
+ return ch === 0x24 || ch === 0x5F ||
186
+ // $ (dollar) and _ (underscore)
187
+ ch >= 0x41 && ch <= 0x5A ||
188
+ // A..Z
189
+ ch >= 0x61 && ch <= 0x7A ||
190
+ // a..z
191
+ ch >= 0x30 && ch <= 0x39 ||
192
+ // 0..9
193
+ ch === 0x5C ||
194
+ // \ (backslash)
195
+ ch >= 0x80 && RegexNonAsciiIdentifierPart.test(String.fromCharCode(ch));
196
+ }
197
+
198
+ // 7.6.1.1 Keywords
199
+
200
+ const keywords = {
201
+ 'if': 1,
202
+ 'in': 1,
203
+ 'do': 1,
204
+ 'var': 1,
205
+ 'for': 1,
206
+ 'new': 1,
207
+ 'try': 1,
208
+ 'let': 1,
209
+ 'this': 1,
210
+ 'else': 1,
211
+ 'case': 1,
212
+ 'void': 1,
213
+ 'with': 1,
214
+ 'enum': 1,
215
+ 'while': 1,
216
+ 'break': 1,
217
+ 'catch': 1,
218
+ 'throw': 1,
219
+ 'const': 1,
220
+ 'yield': 1,
221
+ 'class': 1,
222
+ 'super': 1,
223
+ 'return': 1,
224
+ 'typeof': 1,
225
+ 'delete': 1,
226
+ 'switch': 1,
227
+ 'export': 1,
228
+ 'import': 1,
229
+ 'public': 1,
230
+ 'static': 1,
231
+ 'default': 1,
232
+ 'finally': 1,
233
+ 'extends': 1,
234
+ 'package': 1,
235
+ 'private': 1,
236
+ 'function': 1,
237
+ 'continue': 1,
238
+ 'debugger': 1,
239
+ 'interface': 1,
240
+ 'protected': 1,
241
+ 'instanceof': 1,
242
+ 'implements': 1
243
+ };
244
+ function skipComment() {
245
+ while (index < length) {
246
+ const ch = source.charCodeAt(index);
247
+ if (isWhiteSpace(ch) || isLineTerminator(ch)) {
248
+ ++index;
249
+ } else {
250
+ break;
251
+ }
252
+ }
253
+ }
254
+ function scanHexEscape(prefix) {
255
+ var i,
256
+ len,
257
+ ch,
258
+ code = 0;
259
+ len = prefix === 'u' ? 4 : 2;
260
+ for (i = 0; i < len; ++i) {
261
+ if (index < length && isHexDigit(source[index])) {
262
+ ch = source[index++];
263
+ code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase());
264
+ } else {
265
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
266
+ }
267
+ }
268
+ return String.fromCharCode(code);
269
+ }
270
+ function scanUnicodeCodePointEscape() {
271
+ var ch, code, cu1, cu2;
272
+ ch = source[index];
273
+ code = 0;
274
+
275
+ // At least, one hex digit is required.
276
+ if (ch === '}') {
277
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
278
+ }
279
+ while (index < length) {
280
+ ch = source[index++];
281
+ if (!isHexDigit(ch)) {
282
+ break;
283
+ }
284
+ code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase());
285
+ }
286
+ if (code > 0x10FFFF || ch !== '}') {
287
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
288
+ }
289
+
290
+ // UTF-16 Encoding
291
+ if (code <= 0xFFFF) {
292
+ return String.fromCharCode(code);
293
+ }
294
+ cu1 = (code - 0x10000 >> 10) + 0xD800;
295
+ cu2 = (code - 0x10000 & 1023) + 0xDC00;
296
+ return String.fromCharCode(cu1, cu2);
297
+ }
298
+ function getEscapedIdentifier() {
299
+ var ch, id;
300
+ ch = source.charCodeAt(index++);
301
+ id = String.fromCharCode(ch);
302
+
303
+ // '\u' (U+005C, U+0075) denotes an escaped character.
304
+ if (ch === 0x5C) {
305
+ if (source.charCodeAt(index) !== 0x75) {
306
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
307
+ }
308
+ ++index;
309
+ ch = scanHexEscape('u');
310
+ if (!ch || ch === '\\' || !isIdentifierStart(ch.charCodeAt(0))) {
311
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
312
+ }
313
+ id = ch;
314
+ }
315
+ while (index < length) {
316
+ ch = source.charCodeAt(index);
317
+ if (!isIdentifierPart(ch)) {
318
+ break;
319
+ }
320
+ ++index;
321
+ id += String.fromCharCode(ch);
322
+
323
+ // '\u' (U+005C, U+0075) denotes an escaped character.
324
+ if (ch === 0x5C) {
325
+ id = id.substr(0, id.length - 1);
326
+ if (source.charCodeAt(index) !== 0x75) {
327
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
328
+ }
329
+ ++index;
330
+ ch = scanHexEscape('u');
331
+ if (!ch || ch === '\\' || !isIdentifierPart(ch.charCodeAt(0))) {
332
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
333
+ }
334
+ id += ch;
335
+ }
336
+ }
337
+ return id;
338
+ }
339
+ function getIdentifier() {
340
+ var start, ch;
341
+ start = index++;
342
+ while (index < length) {
343
+ ch = source.charCodeAt(index);
344
+ if (ch === 0x5C) {
345
+ // Blackslash (U+005C) marks Unicode escape sequence.
346
+ index = start;
347
+ return getEscapedIdentifier();
348
+ }
349
+ if (isIdentifierPart(ch)) {
350
+ ++index;
351
+ } else {
352
+ break;
353
+ }
354
+ }
355
+ return source.slice(start, index);
356
+ }
357
+ function scanIdentifier() {
358
+ var start, id, type;
359
+ start = index;
360
+
361
+ // Backslash (U+005C) starts an escaped character.
362
+ id = source.charCodeAt(index) === 0x5C ? getEscapedIdentifier() : getIdentifier();
363
+
364
+ // There is no keyword or literal with only one character.
365
+ // Thus, it must be an identifier.
366
+ if (id.length === 1) {
367
+ type = TokenIdentifier;
368
+ } else if (keywords.hasOwnProperty(id)) {
369
+ // eslint-disable-line no-prototype-builtins
370
+ type = TokenKeyword;
371
+ } else if (id === 'null') {
372
+ type = TokenNullLiteral;
373
+ } else if (id === 'true' || id === 'false') {
374
+ type = TokenBooleanLiteral;
375
+ } else {
376
+ type = TokenIdentifier;
377
+ }
378
+ return {
379
+ type: type,
380
+ value: id,
381
+ start: start,
382
+ end: index
383
+ };
384
+ }
385
+
386
+ // 7.7 Punctuators
387
+
388
+ function scanPunctuator() {
389
+ var start = index,
390
+ code = source.charCodeAt(index),
391
+ code2,
392
+ ch1 = source[index],
393
+ ch2,
394
+ ch3,
395
+ ch4;
396
+ switch (code) {
397
+ // Check for most common single-character punctuators.
398
+ case 0x2E: // . dot
399
+ case 0x28: // ( open bracket
400
+ case 0x29: // ) close bracket
401
+ case 0x3B: // ; semicolon
402
+ case 0x2C: // , comma
403
+ case 0x7B: // { open curly brace
404
+ case 0x7D: // } close curly brace
405
+ case 0x5B: // [
406
+ case 0x5D: // ]
407
+ case 0x3A: // :
408
+ case 0x3F: // ?
409
+ case 0x7E:
410
+ // ~
411
+ ++index;
412
+ return {
413
+ type: TokenPunctuator,
414
+ value: String.fromCharCode(code),
415
+ start: start,
416
+ end: index
417
+ };
418
+ default:
419
+ code2 = source.charCodeAt(index + 1);
420
+
421
+ // '=' (U+003D) marks an assignment or comparison operator.
422
+ if (code2 === 0x3D) {
423
+ switch (code) {
424
+ case 0x2B: // +
425
+ case 0x2D: // -
426
+ case 0x2F: // /
427
+ case 0x3C: // <
428
+ case 0x3E: // >
429
+ case 0x5E: // ^
430
+ case 0x7C: // |
431
+ case 0x25: // %
432
+ case 0x26: // &
433
+ case 0x2A:
434
+ // *
435
+ index += 2;
436
+ return {
437
+ type: TokenPunctuator,
438
+ value: String.fromCharCode(code) + String.fromCharCode(code2),
439
+ start: start,
440
+ end: index
441
+ };
442
+ case 0x21: // !
443
+ case 0x3D:
444
+ // =
445
+ index += 2;
446
+
447
+ // !== and ===
448
+ if (source.charCodeAt(index) === 0x3D) {
449
+ ++index;
450
+ }
451
+ return {
452
+ type: TokenPunctuator,
453
+ value: source.slice(start, index),
454
+ start: start,
455
+ end: index
456
+ };
457
+ }
458
+ }
459
+ }
460
+
461
+ // 4-character punctuator: >>>=
462
+
463
+ ch4 = source.substr(index, 4);
464
+ if (ch4 === '>>>=') {
465
+ index += 4;
466
+ return {
467
+ type: TokenPunctuator,
468
+ value: ch4,
469
+ start: start,
470
+ end: index
471
+ };
472
+ }
473
+
474
+ // 3-character punctuators: === !== >>> <<= >>=
475
+
476
+ ch3 = ch4.substr(0, 3);
477
+ if (ch3 === '>>>' || ch3 === '<<=' || ch3 === '>>=') {
478
+ index += 3;
479
+ return {
480
+ type: TokenPunctuator,
481
+ value: ch3,
482
+ start: start,
483
+ end: index
484
+ };
485
+ }
486
+
487
+ // Other 2-character punctuators: ++ -- << >> && ||
488
+ ch2 = ch3.substr(0, 2);
489
+ if (ch1 === ch2[1] && '+-<>&|'.includes(ch1) || ch2 === '=>') {
490
+ index += 2;
491
+ return {
492
+ type: TokenPunctuator,
493
+ value: ch2,
494
+ start: start,
495
+ end: index
496
+ };
497
+ }
498
+ if (ch2 === '//') {
499
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
500
+ }
501
+
502
+ // 1-character punctuators: < > = ! + - * % & | ^ /
503
+
504
+ if ('<>=!+-*%&|^/'.includes(ch1)) {
505
+ ++index;
506
+ return {
507
+ type: TokenPunctuator,
508
+ value: ch1,
509
+ start: start,
510
+ end: index
511
+ };
512
+ }
513
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
514
+ }
515
+
516
+ // 7.8.3 Numeric Literals
517
+
518
+ function scanHexLiteral(start) {
519
+ let number = '';
520
+ while (index < length) {
521
+ if (!isHexDigit(source[index])) {
522
+ break;
523
+ }
524
+ number += source[index++];
525
+ }
526
+ if (number.length === 0) {
527
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
528
+ }
529
+ if (isIdentifierStart(source.charCodeAt(index))) {
530
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
531
+ }
532
+ return {
533
+ type: TokenNumericLiteral,
534
+ value: parseInt('0x' + number, 16),
535
+ start: start,
536
+ end: index
537
+ };
538
+ }
539
+ function scanOctalLiteral(start) {
540
+ let number = '0' + source[index++];
541
+ while (index < length) {
542
+ if (!isOctalDigit(source[index])) {
543
+ break;
544
+ }
545
+ number += source[index++];
546
+ }
547
+ if (isIdentifierStart(source.charCodeAt(index)) || isDecimalDigit(source.charCodeAt(index))) {
548
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
549
+ }
550
+ return {
551
+ type: TokenNumericLiteral,
552
+ value: parseInt(number, 8),
553
+ octal: true,
554
+ start: start,
555
+ end: index
556
+ };
557
+ }
558
+ function scanNumericLiteral() {
559
+ var number, start, ch;
560
+ ch = source[index];
561
+ assert(isDecimalDigit(ch.charCodeAt(0)) || ch === '.', 'Numeric literal must start with a decimal digit or a decimal point');
562
+ start = index;
563
+ number = '';
564
+ if (ch !== '.') {
565
+ number = source[index++];
566
+ ch = source[index];
567
+
568
+ // Hex number starts with '0x'.
569
+ // Octal number starts with '0'.
570
+ if (number === '0') {
571
+ if (ch === 'x' || ch === 'X') {
572
+ ++index;
573
+ return scanHexLiteral(start);
574
+ }
575
+ if (isOctalDigit(ch)) {
576
+ return scanOctalLiteral(start);
577
+ }
578
+
579
+ // decimal number starts with '0' such as '09' is illegal.
580
+ if (ch && isDecimalDigit(ch.charCodeAt(0))) {
581
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
582
+ }
583
+ }
584
+ while (isDecimalDigit(source.charCodeAt(index))) {
585
+ number += source[index++];
586
+ }
587
+ ch = source[index];
588
+ }
589
+ if (ch === '.') {
590
+ number += source[index++];
591
+ while (isDecimalDigit(source.charCodeAt(index))) {
592
+ number += source[index++];
593
+ }
594
+ ch = source[index];
595
+ }
596
+ if (ch === 'e' || ch === 'E') {
597
+ number += source[index++];
598
+ ch = source[index];
599
+ if (ch === '+' || ch === '-') {
600
+ number += source[index++];
601
+ }
602
+ if (isDecimalDigit(source.charCodeAt(index))) {
603
+ while (isDecimalDigit(source.charCodeAt(index))) {
604
+ number += source[index++];
605
+ }
606
+ } else {
607
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
608
+ }
609
+ }
610
+ if (isIdentifierStart(source.charCodeAt(index))) {
611
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
612
+ }
613
+ return {
614
+ type: TokenNumericLiteral,
615
+ value: parseFloat(number),
616
+ start: start,
617
+ end: index
618
+ };
619
+ }
620
+
621
+ // 7.8.4 String Literals
622
+
623
+ function scanStringLiteral() {
624
+ var str = '',
625
+ quote,
626
+ start,
627
+ ch,
628
+ code,
629
+ octal = false;
630
+ quote = source[index];
631
+ assert(quote === '\'' || quote === '"', 'String literal must starts with a quote');
632
+ start = index;
633
+ ++index;
634
+ while (index < length) {
635
+ ch = source[index++];
636
+ if (ch === quote) {
637
+ quote = '';
638
+ break;
639
+ } else if (ch === '\\') {
640
+ ch = source[index++];
641
+ if (!ch || !isLineTerminator(ch.charCodeAt(0))) {
642
+ switch (ch) {
643
+ case 'u':
644
+ case 'x':
645
+ if (source[index] === '{') {
646
+ ++index;
647
+ str += scanUnicodeCodePointEscape();
648
+ } else {
649
+ str += scanHexEscape(ch);
650
+ }
651
+ break;
652
+ case 'n':
653
+ str += '\n';
654
+ break;
655
+ case 'r':
656
+ str += '\r';
657
+ break;
658
+ case 't':
659
+ str += '\t';
660
+ break;
661
+ case 'b':
662
+ str += '\b';
663
+ break;
664
+ case 'f':
665
+ str += '\f';
666
+ break;
667
+ case 'v':
668
+ str += '\x0B';
669
+ break;
670
+ default:
671
+ if (isOctalDigit(ch)) {
672
+ code = '01234567'.indexOf(ch);
673
+
674
+ // \0 is not octal escape sequence
675
+ if (code !== 0) {
676
+ octal = true;
677
+ }
678
+ if (index < length && isOctalDigit(source[index])) {
679
+ octal = true;
680
+ code = code * 8 + '01234567'.indexOf(source[index++]);
681
+
682
+ // 3 digits are only allowed when string starts
683
+ // with 0, 1, 2, 3
684
+ if ('0123'.includes(ch) && index < length && isOctalDigit(source[index])) {
685
+ code = code * 8 + '01234567'.indexOf(source[index++]);
686
+ }
687
+ }
688
+ str += String.fromCharCode(code);
689
+ } else {
690
+ str += ch;
691
+ }
692
+ break;
693
+ }
694
+ } else {
695
+ if (ch === '\r' && source[index] === '\n') {
696
+ ++index;
697
+ }
698
+ }
699
+ } else if (isLineTerminator(ch.charCodeAt(0))) {
700
+ break;
701
+ } else {
702
+ str += ch;
703
+ }
704
+ }
705
+ if (quote !== '') {
706
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
707
+ }
708
+ return {
709
+ type: TokenStringLiteral,
710
+ value: str,
711
+ octal: octal,
712
+ start: start,
713
+ end: index
714
+ };
715
+ }
716
+ function testRegExp(pattern, flags) {
717
+ let tmp = pattern;
718
+ if (flags.includes('u')) {
719
+ // Replace each astral symbol and every Unicode code point
720
+ // escape sequence with a single ASCII symbol to avoid throwing on
721
+ // regular expressions that are only valid in combination with the
722
+ // `/u` flag.
723
+ // Note: replacing with the ASCII symbol `x` might cause false
724
+ // negatives in unlikely scenarios. For example, `[\u{61}-b]` is a
725
+ // perfectly valid pattern that is equivalent to `[a-b]`, but it
726
+ // would be replaced by `[x-b]` which throws an error.
727
+ tmp = tmp.replace(/\\u\{([0-9a-fA-F]+)\}/g, ($0, $1) => {
728
+ if (parseInt($1, 16) <= 0x10FFFF) {
729
+ return 'x';
730
+ }
731
+ throwError({}, MessageInvalidRegExp);
732
+ }).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, 'x');
733
+ }
734
+
735
+ // First, detect invalid regular expressions.
736
+ try {
737
+ new RegExp(tmp);
738
+ } catch (e) {
739
+ throwError({}, MessageInvalidRegExp);
740
+ }
741
+
742
+ // Return a regular expression object for this pattern-flag pair, or
743
+ // `null` in case the current environment doesn't support the flags it
744
+ // uses.
745
+ try {
746
+ return new RegExp(pattern, flags);
747
+ } catch (exception) {
748
+ return null;
749
+ }
750
+ }
751
+ function scanRegExpBody() {
752
+ var ch, str, classMarker, terminated, body;
753
+ ch = source[index];
754
+ assert(ch === '/', 'Regular expression literal must start with a slash');
755
+ str = source[index++];
756
+ classMarker = false;
757
+ terminated = false;
758
+ while (index < length) {
759
+ ch = source[index++];
760
+ str += ch;
761
+ if (ch === '\\') {
762
+ ch = source[index++];
763
+ // ECMA-262 7.8.5
764
+ if (isLineTerminator(ch.charCodeAt(0))) {
765
+ throwError({}, MessageUnterminatedRegExp);
766
+ }
767
+ str += ch;
768
+ } else if (isLineTerminator(ch.charCodeAt(0))) {
769
+ throwError({}, MessageUnterminatedRegExp);
770
+ } else if (classMarker) {
771
+ if (ch === ']') {
772
+ classMarker = false;
773
+ }
774
+ } else {
775
+ if (ch === '/') {
776
+ terminated = true;
777
+ break;
778
+ } else if (ch === '[') {
779
+ classMarker = true;
780
+ }
781
+ }
782
+ }
783
+ if (!terminated) {
784
+ throwError({}, MessageUnterminatedRegExp);
785
+ }
786
+
787
+ // Exclude leading and trailing slash.
788
+ body = str.substr(1, str.length - 2);
789
+ return {
790
+ value: body,
791
+ literal: str
792
+ };
793
+ }
794
+ function scanRegExpFlags() {
795
+ var ch, str, flags;
796
+ str = '';
797
+ flags = '';
798
+ while (index < length) {
799
+ ch = source[index];
800
+ if (!isIdentifierPart(ch.charCodeAt(0))) {
801
+ break;
802
+ }
803
+ ++index;
804
+ if (ch === '\\' && index < length) {
805
+ throwError({}, MessageUnexpectedToken, ILLEGAL);
806
+ } else {
807
+ flags += ch;
808
+ str += ch;
809
+ }
810
+ }
811
+ if (flags.search(/[^gimuy]/g) >= 0) {
812
+ throwError({}, MessageInvalidRegExp, flags);
813
+ }
814
+ return {
815
+ value: flags,
816
+ literal: str
817
+ };
818
+ }
819
+ function scanRegExp() {
820
+ var start, body, flags, value;
821
+ lookahead = null;
822
+ skipComment();
823
+ start = index;
824
+ body = scanRegExpBody();
825
+ flags = scanRegExpFlags();
826
+ value = testRegExp(body.value, flags.value);
827
+ return {
828
+ literal: body.literal + flags.literal,
829
+ value: value,
830
+ regex: {
831
+ pattern: body.value,
832
+ flags: flags.value
833
+ },
834
+ start: start,
835
+ end: index
836
+ };
837
+ }
838
+ function isIdentifierName(token) {
839
+ return token.type === TokenIdentifier || token.type === TokenKeyword || token.type === TokenBooleanLiteral || token.type === TokenNullLiteral;
840
+ }
841
+ function advance() {
842
+ skipComment();
843
+ if (index >= length) {
844
+ return {
845
+ type: TokenEOF,
846
+ start: index,
847
+ end: index
848
+ };
849
+ }
850
+ const ch = source.charCodeAt(index);
851
+ if (isIdentifierStart(ch)) {
852
+ return scanIdentifier();
853
+ }
854
+
855
+ // Very common: ( and ) and ;
856
+ if (ch === 0x28 || ch === 0x29 || ch === 0x3B) {
857
+ return scanPunctuator();
858
+ }
859
+
860
+ // String literal starts with single quote (U+0027) or double quote (U+0022).
861
+ if (ch === 0x27 || ch === 0x22) {
862
+ return scanStringLiteral();
863
+ }
864
+
865
+ // Dot (.) U+002E can also start a floating-point number, hence the need
866
+ // to check the next character.
867
+ if (ch === 0x2E) {
868
+ if (isDecimalDigit(source.charCodeAt(index + 1))) {
869
+ return scanNumericLiteral();
870
+ }
871
+ return scanPunctuator();
872
+ }
873
+ if (isDecimalDigit(ch)) {
874
+ return scanNumericLiteral();
875
+ }
876
+ return scanPunctuator();
877
+ }
878
+ function lex() {
879
+ const token = lookahead;
880
+ index = token.end;
881
+ lookahead = advance();
882
+ index = token.end;
883
+ return token;
884
+ }
885
+ function peek() {
886
+ const pos = index;
887
+ lookahead = advance();
888
+ index = pos;
889
+ }
890
+ function finishArrayExpression(elements) {
891
+ const node = new ASTNode(SyntaxArrayExpression);
892
+ node.elements = elements;
893
+ return node;
894
+ }
895
+ function finishBinaryExpression(operator, left, right) {
896
+ const node = new ASTNode(operator === '||' || operator === '&&' ? SyntaxLogicalExpression : SyntaxBinaryExpression);
897
+ node.operator = operator;
898
+ node.left = left;
899
+ node.right = right;
900
+ return node;
901
+ }
902
+ function finishCallExpression(callee, args) {
903
+ const node = new ASTNode(SyntaxCallExpression);
904
+ node.callee = callee;
905
+ node.arguments = args;
906
+ return node;
907
+ }
908
+ function finishConditionalExpression(test, consequent, alternate) {
909
+ const node = new ASTNode(SyntaxConditionalExpression);
910
+ node.test = test;
911
+ node.consequent = consequent;
912
+ node.alternate = alternate;
913
+ return node;
914
+ }
915
+ function finishIdentifier(name) {
916
+ const node = new ASTNode(SyntaxIdentifier);
917
+ node.name = name;
918
+ return node;
919
+ }
920
+ function finishLiteral(token) {
921
+ const node = new ASTNode(SyntaxLiteral);
922
+ node.value = token.value;
923
+ node.raw = source.slice(token.start, token.end);
924
+ if (token.regex) {
925
+ if (node.raw === '//') {
926
+ node.raw = '/(?:)/';
927
+ }
928
+ node.regex = token.regex;
929
+ }
930
+ return node;
931
+ }
932
+ function finishMemberExpression(accessor, object, property) {
933
+ const node = new ASTNode(SyntaxMemberExpression);
934
+ node.computed = accessor === '[';
935
+ node.object = object;
936
+ node.property = property;
937
+ if (!node.computed) property.member = true;
938
+ return node;
939
+ }
940
+ function finishObjectExpression(properties) {
941
+ const node = new ASTNode(SyntaxObjectExpression);
942
+ node.properties = properties;
943
+ return node;
944
+ }
945
+ function finishProperty(kind, key, value) {
946
+ const node = new ASTNode(SyntaxProperty);
947
+ node.key = key;
948
+ node.value = value;
949
+ node.kind = kind;
950
+ return node;
951
+ }
952
+ function finishUnaryExpression(operator, argument) {
953
+ const node = new ASTNode(SyntaxUnaryExpression);
954
+ node.operator = operator;
955
+ node.argument = argument;
956
+ node.prefix = true;
957
+ return node;
958
+ }
959
+
960
+ // Throw an exception
961
+
962
+ function throwError(token, messageFormat) {
963
+ var error,
964
+ args = Array.prototype.slice.call(arguments, 2),
965
+ msg = messageFormat.replace(/%(\d)/g, (whole, index) => {
966
+ assert(index < args.length, 'Message reference must be in range');
967
+ return args[index];
968
+ });
969
+ error = new Error(msg);
970
+ error.index = index;
971
+ error.description = msg;
972
+ throw error;
973
+ }
974
+
975
+ // Throw an exception because of the token.
976
+
977
+ function throwUnexpected(token) {
978
+ if (token.type === TokenEOF) {
979
+ throwError(token, MessageUnexpectedEOS);
980
+ }
981
+ if (token.type === TokenNumericLiteral) {
982
+ throwError(token, MessageUnexpectedNumber);
983
+ }
984
+ if (token.type === TokenStringLiteral) {
985
+ throwError(token, MessageUnexpectedString);
986
+ }
987
+ if (token.type === TokenIdentifier) {
988
+ throwError(token, MessageUnexpectedIdentifier);
989
+ }
990
+ if (token.type === TokenKeyword) {
991
+ throwError(token, MessageUnexpectedReserved);
992
+ }
993
+
994
+ // BooleanLiteral, NullLiteral, or Punctuator.
995
+ throwError(token, MessageUnexpectedToken, token.value);
996
+ }
997
+
998
+ // Expect the next token to match the specified punctuator.
999
+ // If not, an exception will be thrown.
1000
+
1001
+ function expect(value) {
1002
+ const token = lex();
1003
+ if (token.type !== TokenPunctuator || token.value !== value) {
1004
+ throwUnexpected(token);
1005
+ }
1006
+ }
1007
+
1008
+ // Return true if the next token matches the specified punctuator.
1009
+
1010
+ function match(value) {
1011
+ return lookahead.type === TokenPunctuator && lookahead.value === value;
1012
+ }
1013
+
1014
+ // Return true if the next token matches the specified keyword
1015
+
1016
+ function matchKeyword(keyword) {
1017
+ return lookahead.type === TokenKeyword && lookahead.value === keyword;
1018
+ }
1019
+
1020
+ // 11.1.4 Array Initialiser
1021
+
1022
+ function parseArrayInitialiser() {
1023
+ const elements = [];
1024
+ index = lookahead.start;
1025
+ expect('[');
1026
+ while (!match(']')) {
1027
+ if (match(',')) {
1028
+ lex();
1029
+ elements.push(null);
1030
+ } else {
1031
+ elements.push(parseConditionalExpression());
1032
+ if (!match(']')) {
1033
+ expect(',');
1034
+ }
1035
+ }
1036
+ }
1037
+ lex();
1038
+ return finishArrayExpression(elements);
1039
+ }
1040
+
1041
+ // 11.1.5 Object Initialiser
1042
+
1043
+ function parseObjectPropertyKey() {
1044
+ index = lookahead.start;
1045
+ const token = lex();
1046
+
1047
+ // Note: This function is called only from parseObjectProperty(), where
1048
+ // EOF and Punctuator tokens are already filtered out.
1049
+
1050
+ if (token.type === TokenStringLiteral || token.type === TokenNumericLiteral) {
1051
+ if (token.octal) {
1052
+ throwError(token, MessageStrictOctalLiteral);
1053
+ }
1054
+ return finishLiteral(token);
1055
+ }
1056
+ return finishIdentifier(token.value);
1057
+ }
1058
+ function parseObjectProperty() {
1059
+ var token, key, id, value;
1060
+ index = lookahead.start;
1061
+ token = lookahead;
1062
+ if (token.type === TokenIdentifier) {
1063
+ id = parseObjectPropertyKey();
1064
+ expect(':');
1065
+ value = parseConditionalExpression();
1066
+ return finishProperty('init', id, value);
1067
+ }
1068
+ if (token.type === TokenEOF || token.type === TokenPunctuator) {
1069
+ throwUnexpected(token);
1070
+ } else {
1071
+ key = parseObjectPropertyKey();
1072
+ expect(':');
1073
+ value = parseConditionalExpression();
1074
+ return finishProperty('init', key, value);
1075
+ }
1076
+ }
1077
+ function parseObjectInitialiser() {
1078
+ var properties = [],
1079
+ property,
1080
+ name,
1081
+ key,
1082
+ map = {},
1083
+ toString = String;
1084
+ index = lookahead.start;
1085
+ expect('{');
1086
+ while (!match('}')) {
1087
+ property = parseObjectProperty();
1088
+ if (property.key.type === SyntaxIdentifier) {
1089
+ name = property.key.name;
1090
+ } else {
1091
+ name = toString(property.key.value);
1092
+ }
1093
+ key = '$' + name;
1094
+ if (Object.prototype.hasOwnProperty.call(map, key)) {
1095
+ throwError({}, MessageStrictDuplicateProperty);
1096
+ } else {
1097
+ map[key] = true;
1098
+ }
1099
+ properties.push(property);
1100
+ if (!match('}')) {
1101
+ expect(',');
1102
+ }
1103
+ }
1104
+ expect('}');
1105
+ return finishObjectExpression(properties);
1106
+ }
1107
+
1108
+ // 11.1.6 The Grouping Operator
1109
+
1110
+ function parseGroupExpression() {
1111
+ expect('(');
1112
+ const expr = parseExpression();
1113
+ expect(')');
1114
+ return expr;
1115
+ }
1116
+
1117
+ // 11.1 Primary Expressions
1118
+
1119
+ const legalKeywords = {
1120
+ 'if': 1
1121
+ };
1122
+ function parsePrimaryExpression() {
1123
+ var type, token, expr;
1124
+ if (match('(')) {
1125
+ return parseGroupExpression();
1126
+ }
1127
+ if (match('[')) {
1128
+ return parseArrayInitialiser();
1129
+ }
1130
+ if (match('{')) {
1131
+ return parseObjectInitialiser();
1132
+ }
1133
+ type = lookahead.type;
1134
+ index = lookahead.start;
1135
+ if (type === TokenIdentifier || legalKeywords[lookahead.value]) {
1136
+ expr = finishIdentifier(lex().value);
1137
+ } else if (type === TokenStringLiteral || type === TokenNumericLiteral) {
1138
+ if (lookahead.octal) {
1139
+ throwError(lookahead, MessageStrictOctalLiteral);
1140
+ }
1141
+ expr = finishLiteral(lex());
1142
+ } else if (type === TokenKeyword) {
1143
+ throw new Error(DISABLED);
1144
+ } else if (type === TokenBooleanLiteral) {
1145
+ token = lex();
1146
+ token.value = token.value === 'true';
1147
+ expr = finishLiteral(token);
1148
+ } else if (type === TokenNullLiteral) {
1149
+ token = lex();
1150
+ token.value = null;
1151
+ expr = finishLiteral(token);
1152
+ } else if (match('/') || match('/=')) {
1153
+ expr = finishLiteral(scanRegExp());
1154
+ peek();
1155
+ } else {
1156
+ throwUnexpected(lex());
1157
+ }
1158
+ return expr;
1159
+ }
1160
+
1161
+ // 11.2 Left-Hand-Side Expressions
1162
+
1163
+ function parseArguments() {
1164
+ const args = [];
1165
+ expect('(');
1166
+ if (!match(')')) {
1167
+ while (index < length) {
1168
+ args.push(parseConditionalExpression());
1169
+ if (match(')')) {
1170
+ break;
1171
+ }
1172
+ expect(',');
1173
+ }
1174
+ }
1175
+ expect(')');
1176
+ return args;
1177
+ }
1178
+ function parseNonComputedProperty() {
1179
+ index = lookahead.start;
1180
+ const token = lex();
1181
+ if (!isIdentifierName(token)) {
1182
+ throwUnexpected(token);
1183
+ }
1184
+ return finishIdentifier(token.value);
1185
+ }
1186
+ function parseNonComputedMember() {
1187
+ expect('.');
1188
+ return parseNonComputedProperty();
1189
+ }
1190
+ function parseComputedMember() {
1191
+ expect('[');
1192
+ const expr = parseExpression();
1193
+ expect(']');
1194
+ return expr;
1195
+ }
1196
+ function parseLeftHandSideExpressionAllowCall() {
1197
+ var expr, args, property;
1198
+ expr = parsePrimaryExpression();
1199
+ for (;;) {
1200
+ if (match('.')) {
1201
+ property = parseNonComputedMember();
1202
+ expr = finishMemberExpression('.', expr, property);
1203
+ } else if (match('(')) {
1204
+ args = parseArguments();
1205
+ expr = finishCallExpression(expr, args);
1206
+ } else if (match('[')) {
1207
+ property = parseComputedMember();
1208
+ expr = finishMemberExpression('[', expr, property);
1209
+ } else {
1210
+ break;
1211
+ }
1212
+ }
1213
+ return expr;
1214
+ }
1215
+
1216
+ // 11.3 Postfix Expressions
1217
+
1218
+ function parsePostfixExpression() {
1219
+ const expr = parseLeftHandSideExpressionAllowCall();
1220
+ if (lookahead.type === TokenPunctuator) {
1221
+ if (match('++') || match('--')) {
1222
+ throw new Error(DISABLED);
1223
+ }
1224
+ }
1225
+ return expr;
1226
+ }
1227
+
1228
+ // 11.4 Unary Operators
1229
+
1230
+ function parseUnaryExpression() {
1231
+ var token, expr;
1232
+ if (lookahead.type !== TokenPunctuator && lookahead.type !== TokenKeyword) {
1233
+ expr = parsePostfixExpression();
1234
+ } else if (match('++') || match('--')) {
1235
+ throw new Error(DISABLED);
1236
+ } else if (match('+') || match('-') || match('~') || match('!')) {
1237
+ token = lex();
1238
+ expr = parseUnaryExpression();
1239
+ expr = finishUnaryExpression(token.value, expr);
1240
+ } else if (matchKeyword('delete') || matchKeyword('void') || matchKeyword('typeof')) {
1241
+ throw new Error(DISABLED);
1242
+ } else {
1243
+ expr = parsePostfixExpression();
1244
+ }
1245
+ return expr;
1246
+ }
1247
+ function binaryPrecedence(token) {
1248
+ let prec = 0;
1249
+ if (token.type !== TokenPunctuator && token.type !== TokenKeyword) {
1250
+ return 0;
1251
+ }
1252
+ switch (token.value) {
1253
+ case '||':
1254
+ prec = 1;
1255
+ break;
1256
+ case '&&':
1257
+ prec = 2;
1258
+ break;
1259
+ case '|':
1260
+ prec = 3;
1261
+ break;
1262
+ case '^':
1263
+ prec = 4;
1264
+ break;
1265
+ case '&':
1266
+ prec = 5;
1267
+ break;
1268
+ case '==':
1269
+ case '!=':
1270
+ case '===':
1271
+ case '!==':
1272
+ prec = 6;
1273
+ break;
1274
+ case '<':
1275
+ case '>':
1276
+ case '<=':
1277
+ case '>=':
1278
+ case 'instanceof':
1279
+ case 'in':
1280
+ prec = 7;
1281
+ break;
1282
+ case '<<':
1283
+ case '>>':
1284
+ case '>>>':
1285
+ prec = 8;
1286
+ break;
1287
+ case '+':
1288
+ case '-':
1289
+ prec = 9;
1290
+ break;
1291
+ case '*':
1292
+ case '/':
1293
+ case '%':
1294
+ prec = 11;
1295
+ break;
1296
+ }
1297
+ return prec;
1298
+ }
1299
+
1300
+ // 11.5 Multiplicative Operators
1301
+ // 11.6 Additive Operators
1302
+ // 11.7 Bitwise Shift Operators
1303
+ // 11.8 Relational Operators
1304
+ // 11.9 Equality Operators
1305
+ // 11.10 Binary Bitwise Operators
1306
+ // 11.11 Binary Logical Operators
1307
+
1308
+ function parseBinaryExpression() {
1309
+ var marker, markers, expr, token, prec, stack, right, operator, left, i;
1310
+ marker = lookahead;
1311
+ left = parseUnaryExpression();
1312
+ token = lookahead;
1313
+ prec = binaryPrecedence(token);
1314
+ if (prec === 0) {
1315
+ return left;
1316
+ }
1317
+ token.prec = prec;
1318
+ lex();
1319
+ markers = [marker, lookahead];
1320
+ right = parseUnaryExpression();
1321
+ stack = [left, token, right];
1322
+ while ((prec = binaryPrecedence(lookahead)) > 0) {
1323
+ // Reduce: make a binary expression from the three topmost entries.
1324
+ while (stack.length > 2 && prec <= stack[stack.length - 2].prec) {
1325
+ right = stack.pop();
1326
+ operator = stack.pop().value;
1327
+ left = stack.pop();
1328
+ markers.pop();
1329
+ expr = finishBinaryExpression(operator, left, right);
1330
+ stack.push(expr);
1331
+ }
1332
+
1333
+ // Shift.
1334
+ token = lex();
1335
+ token.prec = prec;
1336
+ stack.push(token);
1337
+ markers.push(lookahead);
1338
+ expr = parseUnaryExpression();
1339
+ stack.push(expr);
1340
+ }
1341
+
1342
+ // Final reduce to clean-up the stack.
1343
+ i = stack.length - 1;
1344
+ expr = stack[i];
1345
+ markers.pop();
1346
+ while (i > 1) {
1347
+ markers.pop();
1348
+ expr = finishBinaryExpression(stack[i - 1].value, stack[i - 2], expr);
1349
+ i -= 2;
1350
+ }
1351
+ return expr;
1352
+ }
1353
+
1354
+ // 11.12 Conditional Operator
1355
+
1356
+ function parseConditionalExpression() {
1357
+ var expr, consequent, alternate;
1358
+ expr = parseBinaryExpression();
1359
+ if (match('?')) {
1360
+ lex();
1361
+ consequent = parseConditionalExpression();
1362
+ expect(':');
1363
+ alternate = parseConditionalExpression();
1364
+ expr = finishConditionalExpression(expr, consequent, alternate);
1365
+ }
1366
+ return expr;
1367
+ }
1368
+
1369
+ // 11.14 Comma Operator
1370
+
1371
+ function parseExpression() {
1372
+ const expr = parseConditionalExpression();
1373
+ if (match(',')) {
1374
+ throw new Error(DISABLED); // no sequence expressions
1375
+ }
1376
+ return expr;
1377
+ }
1378
+ function parser (code) {
1379
+ source = code;
1380
+ index = 0;
1381
+ length = source.length;
1382
+ lookahead = null;
1383
+ peek();
1384
+ const expr = parseExpression();
1385
+ if (lookahead.type !== TokenEOF) {
1386
+ throw new Error('Unexpect token after expression.');
1387
+ }
1388
+ return expr;
1389
+ }
1390
+
1391
+ var Constants = {
1392
+ NaN: 'NaN',
1393
+ E: 'Math.E',
1394
+ LN2: 'Math.LN2',
1395
+ LN10: 'Math.LN10',
1396
+ LOG2E: 'Math.LOG2E',
1397
+ LOG10E: 'Math.LOG10E',
1398
+ PI: 'Math.PI',
1399
+ SQRT1_2: 'Math.SQRT1_2',
1400
+ SQRT2: 'Math.SQRT2',
1401
+ MIN_VALUE: 'Number.MIN_VALUE',
1402
+ MAX_VALUE: 'Number.MAX_VALUE'
1403
+ };
1404
+
1405
+ function Functions (codegen) {
1406
+ function fncall(name, args, cast, type) {
1407
+ let obj = codegen(args[0]);
1408
+ if (cast) {
1409
+ obj = cast + '(' + obj + ')';
1410
+ if (cast.lastIndexOf('new ', 0) === 0) obj = '(' + obj + ')';
1411
+ }
1412
+ return obj + '.' + name + (type < 0 ? '' : type === 0 ? '()' : '(' + args.slice(1).map(codegen).join(',') + ')');
1413
+ }
1414
+ function fn(name, cast, type) {
1415
+ return args => fncall(name, args, cast, type);
1416
+ }
1417
+ const DATE = 'new Date',
1418
+ STRING = 'String',
1419
+ REGEXP = 'RegExp';
1420
+ return {
1421
+ // MATH functions
1422
+ isNaN: 'Number.isNaN',
1423
+ isFinite: 'Number.isFinite',
1424
+ abs: 'Math.abs',
1425
+ acos: 'Math.acos',
1426
+ asin: 'Math.asin',
1427
+ atan: 'Math.atan',
1428
+ atan2: 'Math.atan2',
1429
+ ceil: 'Math.ceil',
1430
+ cos: 'Math.cos',
1431
+ exp: 'Math.exp',
1432
+ floor: 'Math.floor',
1433
+ hypot: 'Math.hypot',
1434
+ log: 'Math.log',
1435
+ max: 'Math.max',
1436
+ min: 'Math.min',
1437
+ pow: 'Math.pow',
1438
+ random: 'Math.random',
1439
+ round: 'Math.round',
1440
+ sin: 'Math.sin',
1441
+ sqrt: 'Math.sqrt',
1442
+ tan: 'Math.tan',
1443
+ clamp: function (args) {
1444
+ if (args.length < 3) error('Missing arguments to clamp function.');
1445
+ if (args.length > 3) error('Too many arguments to clamp function.');
1446
+ const a = args.map(codegen);
1447
+ return 'Math.max(' + a[1] + ', Math.min(' + a[2] + ',' + a[0] + '))';
1448
+ },
1449
+ // DATE functions
1450
+ now: 'Date.now',
1451
+ utc: 'Date.UTC',
1452
+ datetime: DATE,
1453
+ date: fn('getDate', DATE, 0),
1454
+ day: fn('getDay', DATE, 0),
1455
+ year: fn('getFullYear', DATE, 0),
1456
+ month: fn('getMonth', DATE, 0),
1457
+ hours: fn('getHours', DATE, 0),
1458
+ minutes: fn('getMinutes', DATE, 0),
1459
+ seconds: fn('getSeconds', DATE, 0),
1460
+ milliseconds: fn('getMilliseconds', DATE, 0),
1461
+ time: fn('getTime', DATE, 0),
1462
+ timezoneoffset: fn('getTimezoneOffset', DATE, 0),
1463
+ utcdate: fn('getUTCDate', DATE, 0),
1464
+ utcday: fn('getUTCDay', DATE, 0),
1465
+ utcyear: fn('getUTCFullYear', DATE, 0),
1466
+ utcmonth: fn('getUTCMonth', DATE, 0),
1467
+ utchours: fn('getUTCHours', DATE, 0),
1468
+ utcminutes: fn('getUTCMinutes', DATE, 0),
1469
+ utcseconds: fn('getUTCSeconds', DATE, 0),
1470
+ utcmilliseconds: fn('getUTCMilliseconds', DATE, 0),
1471
+ // sequence functions
1472
+ length: fn('length', null, -1),
1473
+ // STRING functions
1474
+ parseFloat: 'parseFloat',
1475
+ parseInt: 'parseInt',
1476
+ upper: fn('toUpperCase', STRING, 0),
1477
+ lower: fn('toLowerCase', STRING, 0),
1478
+ substring: fn('substring', STRING),
1479
+ split: fn('split', STRING),
1480
+ trim: fn('trim', STRING, 0),
1481
+ // base64 encode/decode
1482
+ btoa: 'btoa',
1483
+ atob: 'atob',
1484
+ // REGEXP functions
1485
+ regexp: REGEXP,
1486
+ test: fn('test', REGEXP),
1487
+ // Control Flow functions
1488
+ if: function (args) {
1489
+ if (args.length < 3) error('Missing arguments to if function.');
1490
+ if (args.length > 3) error('Too many arguments to if function.');
1491
+ const a = args.map(codegen);
1492
+ return '(' + a[0] + '?' + a[1] + ':' + a[2] + ')';
1493
+ }
1494
+ };
1495
+ }
1496
+
1497
+ function stripQuotes(s) {
1498
+ const n = s && s.length - 1;
1499
+ return n && (s[0] === '"' && s[n] === '"' || s[0] === '\'' && s[n] === '\'') ? s.slice(1, -1) : s;
1500
+ }
1501
+ function codegen (opt) {
1502
+ opt = opt || {};
1503
+ const allowed = opt.allowed ? toSet(opt.allowed) : {},
1504
+ forbidden = opt.forbidden ? toSet(opt.forbidden) : {},
1505
+ constants = opt.constants || Constants,
1506
+ functions = (opt.functions || Functions)(visit),
1507
+ globalvar = opt.globalvar,
1508
+ fieldvar = opt.fieldvar,
1509
+ outputGlobal = isFunction(globalvar) ? globalvar : id => `${globalvar}["${id}"]`;
1510
+ // JSON authors are not allowed to set properties with these names, as these are built-in to the JS Object Prototype.
1511
+ new Set([...Object.getOwnPropertyNames(Object.prototype).filter(name => typeof Object.prototype[name] === 'function'), '__proto__']);
1512
+ let globals = {},
1513
+ fields = {},
1514
+ memberDepth = 0;
1515
+ function visit(ast) {
1516
+ if (isString(ast)) return ast;
1517
+ const generator = Generators[ast.type];
1518
+ if (generator == null) error('Unsupported type: ' + ast.type);
1519
+ return generator(ast);
1520
+ }
1521
+ const Generators = {
1522
+ Literal: n => n.raw,
1523
+ Identifier: n => {
1524
+ const id = n.name;
1525
+ if (memberDepth > 0) {
1526
+ return id;
1527
+ } else if (has(forbidden, id)) {
1528
+ return error('Illegal identifier: ' + id);
1529
+ } else if (has(constants, id)) {
1530
+ return constants[id];
1531
+ } else if (has(allowed, id)) {
1532
+ return id;
1533
+ } else {
1534
+ globals[id] = 1;
1535
+ return outputGlobal(id);
1536
+ }
1537
+ },
1538
+ MemberExpression: n => {
1539
+ const d = !n.computed,
1540
+ o = visit(n.object);
1541
+ if (d) memberDepth += 1;
1542
+ const p = visit(n.property);
1543
+ if (o === fieldvar) {
1544
+ // strip quotes to sanitize field name (#1653)
1545
+ fields[stripQuotes(p)] = 1;
1546
+ }
1547
+ if (d) memberDepth -= 1;
1548
+ return o + (d ? '.' + p : '[' + p + ']');
1549
+ },
1550
+ CallExpression: n => {
1551
+ if (n.callee.type !== 'Identifier') {
1552
+ error('Illegal callee type: ' + n.callee.type);
1553
+ }
1554
+ const callee = n.callee.name,
1555
+ args = n.arguments,
1556
+ fn = has(functions, callee) && functions[callee];
1557
+ if (!fn) error('Unrecognized function: ' + callee);
1558
+ return isFunction(fn) ? fn(args) : fn + '(' + args.map(visit).join(',') + ')';
1559
+ },
1560
+ ArrayExpression: n => '[' + n.elements.map(visit).join(',') + ']',
1561
+ BinaryExpression: n => '(' + visit(n.left) + ' ' + n.operator + ' ' + visit(n.right) + ')',
1562
+ UnaryExpression: n => '(' + n.operator + visit(n.argument) + ')',
1563
+ ConditionalExpression: n => '(' + visit(n.test) + '?' + visit(n.consequent) + ':' + visit(n.alternate) + ')',
1564
+ LogicalExpression: n => '(' + visit(n.left) + n.operator + visit(n.right) + ')',
1565
+ ObjectExpression: n => {
1566
+ // If any keys would override Object prototype methods, throw error
1567
+ for (const prop of n.properties) {
1568
+ const keyName = prop.key.name;
1569
+ if (DisallowedObjectProperties.has(keyName)) {
1570
+ error('Illegal property: ' + keyName);
1571
+ }
1572
+ }
1573
+ return '{' + n.properties.map(visit).join(',') + '}';
1574
+ },
1575
+ Property: n => {
1576
+ memberDepth += 1;
1577
+ const k = visit(n.key);
1578
+ memberDepth -= 1;
1579
+ return k + ':' + visit(n.value);
1580
+ }
1581
+ };
1582
+ function codegen(ast) {
1583
+ const result = {
1584
+ code: visit(ast),
1585
+ globals: Object.keys(globals),
1586
+ fields: Object.keys(fields)
1587
+ };
1588
+ globals = {};
1589
+ fields = {};
1590
+ return result;
1591
+ }
1592
+ codegen.functions = functions;
1593
+ codegen.constants = constants;
1594
+ return codegen;
1595
+ }
1596
+
1597
+ export { ASTNode, ArrayExpression, BinaryExpression, CallExpression, ConditionalExpression, Identifier, Literal, LogicalExpression, MemberExpression, ObjectExpression, Property, RawCode, UnaryExpression, codegen as codegenExpression, Constants as constants, Functions as functions, parser as parseExpression };