@galadrim/galadmin 0.1.37 → 0.1.40

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 (489) hide show
  1. package/dist/api.js +8 -2
  2. package/dist/api.js.map +1 -1
  3. package/dist/tsconfig.tsbuildinfo +1 -1
  4. package/package.json +1 -1
  5. package/src/api.ts +9 -2
  6. package/src/front/build/asset-manifest.json +3 -3
  7. package/src/front/build/index.html +1 -1
  8. package/src/front/build/static/js/{main.4ce5340d.chunk.js → main.8a63b422.chunk.js} +2 -2
  9. package/src/front/build/static/js/main.8a63b422.chunk.js.map +1 -0
  10. package/src/front/node_modules/.cache/.eslintcache +1 -1
  11. package/src/front/node_modules/.cache/babel-loader/0046fa6def7297665aceff65675276fb.json +1 -0
  12. package/src/front/node_modules/.cache/babel-loader/6b6404ad16b4fb247c0dfe43c03f4a02.json +1 -0
  13. package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/ef/81/2c9ecc926af52757cb3670536bc07219d1ccfba4d898a451352553fa6634b48d69ec580dd7c756e5fbcdc72e870664ef6bd7dc1af98e94d9eb182ba93be9 +1 -0
  14. package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/{c2/e5/5451dd89bb0fd48f988bf27c7ee614c66eb91f7085c5b5c8cb33048d0c32 → 31/fe/6640db1983b9834e63d1a760fa17521e8cf616b567ef7114a0676aa6971a} +1 -1
  15. package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/6c/19/fe86ba5d7c4062f185480ad22dd3b9fae9b30149827224339f9a633a9a94 +1 -1
  16. package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/87/08/421190bfe6e50816e059da6c33526c9943732ef856ebd2752d0cbfb4a852 +1 -1
  17. package/src/front/node_modules/.package-lock.json +72 -72
  18. package/src/front/node_modules/@babel/code-frame/lib/index.js +5 -4
  19. package/src/front/node_modules/@babel/code-frame/lib/index.js.map +1 -1
  20. package/src/front/node_modules/@babel/code-frame/package.json +3 -2
  21. package/src/front/node_modules/@babel/core/lib/config/cache-contexts.js.map +1 -1
  22. package/src/front/node_modules/@babel/core/lib/config/caching.js +2 -2
  23. package/src/front/node_modules/@babel/core/lib/config/caching.js.map +1 -1
  24. package/src/front/node_modules/@babel/core/lib/config/config-chain.js +13 -13
  25. package/src/front/node_modules/@babel/core/lib/config/config-chain.js.map +1 -1
  26. package/src/front/node_modules/@babel/core/lib/config/config-descriptors.js +6 -6
  27. package/src/front/node_modules/@babel/core/lib/config/config-descriptors.js.map +1 -1
  28. package/src/front/node_modules/@babel/core/lib/config/files/configuration.js +44 -41
  29. package/src/front/node_modules/@babel/core/lib/config/files/configuration.js.map +1 -1
  30. package/src/front/node_modules/@babel/core/lib/config/files/import-meta-resolve.js +1 -1
  31. package/src/front/node_modules/@babel/core/lib/config/files/import-meta-resolve.js.map +1 -1
  32. package/src/front/node_modules/@babel/core/lib/config/files/index-browser.js.map +1 -1
  33. package/src/front/node_modules/@babel/core/lib/config/files/index.js +3 -3
  34. package/src/front/node_modules/@babel/core/lib/config/files/index.js.map +1 -1
  35. package/src/front/node_modules/@babel/core/lib/config/files/module-types.js +27 -8
  36. package/src/front/node_modules/@babel/core/lib/config/files/module-types.js.map +1 -1
  37. package/src/front/node_modules/@babel/core/lib/config/files/package.js +2 -2
  38. package/src/front/node_modules/@babel/core/lib/config/files/package.js.map +1 -1
  39. package/src/front/node_modules/@babel/core/lib/config/files/plugins.js +3 -3
  40. package/src/front/node_modules/@babel/core/lib/config/files/plugins.js.map +1 -1
  41. package/src/front/node_modules/@babel/core/lib/config/files/types.js.map +1 -1
  42. package/src/front/node_modules/@babel/core/lib/config/files/utils.js +2 -2
  43. package/src/front/node_modules/@babel/core/lib/config/files/utils.js.map +1 -1
  44. package/src/front/node_modules/@babel/core/lib/config/full.js +13 -13
  45. package/src/front/node_modules/@babel/core/lib/config/full.js.map +1 -1
  46. package/src/front/node_modules/@babel/core/lib/config/helpers/config-api.js +6 -6
  47. package/src/front/node_modules/@babel/core/lib/config/helpers/config-api.js.map +1 -1
  48. package/src/front/node_modules/@babel/core/lib/config/index.js +60 -40
  49. package/src/front/node_modules/@babel/core/lib/config/index.js.map +1 -1
  50. package/src/front/node_modules/@babel/core/lib/config/item.js +1 -1
  51. package/src/front/node_modules/@babel/core/lib/config/item.js.map +1 -1
  52. package/src/front/node_modules/@babel/core/lib/config/partial.js +15 -23
  53. package/src/front/node_modules/@babel/core/lib/config/partial.js.map +1 -1
  54. package/src/front/node_modules/@babel/core/lib/config/plugin.js +1 -1
  55. package/src/front/node_modules/@babel/core/lib/config/plugin.js.map +1 -1
  56. package/src/front/node_modules/@babel/core/lib/config/printer.js.map +1 -1
  57. package/src/front/node_modules/@babel/core/lib/config/resolve-targets-browser.js.map +1 -1
  58. package/src/front/node_modules/@babel/core/lib/config/resolve-targets.js.map +1 -1
  59. package/src/front/node_modules/@babel/core/lib/config/util.js.map +1 -1
  60. package/src/front/node_modules/@babel/core/lib/config/validation/option-assertions.js +1 -1
  61. package/src/front/node_modules/@babel/core/lib/config/validation/option-assertions.js.map +1 -1
  62. package/src/front/node_modules/@babel/core/lib/config/validation/options.js +3 -3
  63. package/src/front/node_modules/@babel/core/lib/config/validation/options.js.map +1 -1
  64. package/src/front/node_modules/@babel/core/lib/config/validation/plugins.js +1 -1
  65. package/src/front/node_modules/@babel/core/lib/config/validation/plugins.js.map +1 -1
  66. package/src/front/node_modules/@babel/core/lib/errors/config-error.js +1 -1
  67. package/src/front/node_modules/@babel/core/lib/errors/config-error.js.map +1 -1
  68. package/src/front/node_modules/@babel/core/lib/gensync-utils/functional.js +1 -1
  69. package/src/front/node_modules/@babel/core/lib/gensync-utils/functional.js.map +1 -1
  70. package/src/front/node_modules/@babel/core/lib/index.js +23 -23
  71. package/src/front/node_modules/@babel/core/lib/index.js.map +1 -1
  72. package/src/front/node_modules/@babel/core/lib/parse.js +6 -6
  73. package/src/front/node_modules/@babel/core/lib/parse.js.map +1 -1
  74. package/src/front/node_modules/@babel/core/lib/parser/index.js +1 -1
  75. package/src/front/node_modules/@babel/core/lib/parser/index.js.map +1 -1
  76. package/src/front/node_modules/@babel/core/lib/tools/build-external-helpers.js +1 -1
  77. package/src/front/node_modules/@babel/core/lib/tools/build-external-helpers.js.map +1 -1
  78. package/src/front/node_modules/@babel/core/lib/transform-ast.js +5 -5
  79. package/src/front/node_modules/@babel/core/lib/transform-ast.js.map +1 -1
  80. package/src/front/node_modules/@babel/core/lib/transform-file.js +5 -5
  81. package/src/front/node_modules/@babel/core/lib/transform-file.js.map +1 -1
  82. package/src/front/node_modules/@babel/core/lib/transform.js +5 -5
  83. package/src/front/node_modules/@babel/core/lib/transform.js.map +1 -1
  84. package/src/front/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js +1 -1
  85. package/src/front/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js.map +1 -1
  86. package/src/front/node_modules/@babel/core/lib/transformation/file/file.js.map +1 -1
  87. package/src/front/node_modules/@babel/core/lib/transformation/file/generate.js +1 -1
  88. package/src/front/node_modules/@babel/core/lib/transformation/file/generate.js.map +1 -1
  89. package/src/front/node_modules/@babel/core/lib/transformation/index.js +6 -6
  90. package/src/front/node_modules/@babel/core/lib/transformation/index.js.map +1 -1
  91. package/src/front/node_modules/@babel/core/lib/transformation/normalize-file.js +4 -4
  92. package/src/front/node_modules/@babel/core/lib/transformation/normalize-file.js.map +1 -1
  93. package/src/front/node_modules/@babel/core/lib/transformation/normalize-opts.js.map +1 -1
  94. package/src/front/node_modules/@babel/core/lib/transformation/plugin-pass.js.map +1 -1
  95. package/src/front/node_modules/@babel/core/lib/vendor/import-meta-resolve.js.map +1 -1
  96. package/src/front/node_modules/@babel/core/package.json +15 -15
  97. package/src/front/node_modules/@babel/core/src/config/files/index-browser.ts +2 -2
  98. package/src/front/node_modules/@babel/core/src/config/files/index.ts +4 -4
  99. package/src/front/node_modules/@babel/core/src/config/resolve-targets-browser.ts +1 -1
  100. package/src/front/node_modules/@babel/core/src/config/resolve-targets.ts +1 -1
  101. package/src/front/node_modules/@babel/core/src/transform-file.ts +5 -5
  102. package/src/front/node_modules/@babel/generator/lib/buffer.js.map +1 -1
  103. package/src/front/node_modules/@babel/generator/lib/generators/base.js.map +1 -1
  104. package/src/front/node_modules/@babel/generator/lib/generators/classes.js.map +1 -1
  105. package/src/front/node_modules/@babel/generator/lib/generators/expressions.js +1 -1
  106. package/src/front/node_modules/@babel/generator/lib/generators/expressions.js.map +1 -1
  107. package/src/front/node_modules/@babel/generator/lib/generators/flow.js +2 -2
  108. package/src/front/node_modules/@babel/generator/lib/generators/flow.js.map +1 -1
  109. package/src/front/node_modules/@babel/generator/lib/generators/index.js +11 -11
  110. package/src/front/node_modules/@babel/generator/lib/generators/index.js.map +1 -1
  111. package/src/front/node_modules/@babel/generator/lib/generators/jsx.js.map +1 -1
  112. package/src/front/node_modules/@babel/generator/lib/generators/methods.js.map +1 -1
  113. package/src/front/node_modules/@babel/generator/lib/generators/modules.js.map +1 -1
  114. package/src/front/node_modules/@babel/generator/lib/generators/statements.js.map +1 -1
  115. package/src/front/node_modules/@babel/generator/lib/generators/template-literals.js.map +1 -1
  116. package/src/front/node_modules/@babel/generator/lib/generators/types.js.map +1 -1
  117. package/src/front/node_modules/@babel/generator/lib/generators/typescript.js.map +1 -1
  118. package/src/front/node_modules/@babel/generator/lib/index.js +2 -2
  119. package/src/front/node_modules/@babel/generator/lib/index.js.map +1 -1
  120. package/src/front/node_modules/@babel/generator/lib/node/index.js +2 -2
  121. package/src/front/node_modules/@babel/generator/lib/node/index.js.map +1 -1
  122. package/src/front/node_modules/@babel/generator/lib/node/whitespace.js.map +1 -1
  123. package/src/front/node_modules/@babel/generator/lib/printer.js +3 -3
  124. package/src/front/node_modules/@babel/generator/lib/printer.js.map +1 -1
  125. package/src/front/node_modules/@babel/generator/package.json +4 -4
  126. package/src/front/node_modules/@babel/helper-compilation-targets/lib/debug.js +2 -2
  127. package/src/front/node_modules/@babel/helper-compilation-targets/lib/debug.js.map +1 -1
  128. package/src/front/node_modules/@babel/helper-compilation-targets/lib/filter-items.js +1 -1
  129. package/src/front/node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map +1 -1
  130. package/src/front/node_modules/@babel/helper-compilation-targets/lib/index.js +6 -6
  131. package/src/front/node_modules/@babel/helper-compilation-targets/lib/index.js.map +1 -1
  132. package/src/front/node_modules/@babel/helper-compilation-targets/lib/pretty.js +1 -1
  133. package/src/front/node_modules/@babel/helper-compilation-targets/lib/pretty.js.map +1 -1
  134. package/src/front/node_modules/@babel/helper-compilation-targets/lib/utils.js +1 -1
  135. package/src/front/node_modules/@babel/helper-compilation-targets/lib/utils.js.map +1 -1
  136. package/src/front/node_modules/@babel/helper-compilation-targets/package.json +2 -2
  137. package/src/front/node_modules/@babel/helper-module-imports/README.md +1 -1
  138. package/src/front/node_modules/@babel/helper-module-imports/lib/import-injector.js +2 -2
  139. package/src/front/node_modules/@babel/helper-module-imports/lib/import-injector.js.map +1 -1
  140. package/src/front/node_modules/@babel/helper-module-imports/lib/index.js +2 -2
  141. package/src/front/node_modules/@babel/helper-module-imports/lib/index.js.map +1 -1
  142. package/src/front/node_modules/@babel/helper-module-imports/package.json +4 -4
  143. package/src/front/node_modules/@babel/helper-module-transforms/lib/index.js +5 -5
  144. package/src/front/node_modules/@babel/helper-module-transforms/lib/index.js.map +1 -1
  145. package/src/front/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js.map +1 -1
  146. package/src/front/node_modules/@babel/helper-module-transforms/package.json +5 -5
  147. package/src/front/node_modules/@babel/helper-validator-identifier/README.md +1 -1
  148. package/src/front/node_modules/@babel/helper-validator-identifier/lib/index.js +2 -2
  149. package/src/front/node_modules/@babel/helper-validator-identifier/lib/index.js.map +1 -1
  150. package/src/front/node_modules/@babel/helper-validator-identifier/package.json +1 -1
  151. package/src/front/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js +8 -6
  152. package/src/front/node_modules/@babel/helper-validator-option/README.md +1 -1
  153. package/src/front/node_modules/@babel/helper-validator-option/lib/index.js +2 -2
  154. package/src/front/node_modules/@babel/helper-validator-option/lib/index.js.map +1 -1
  155. package/src/front/node_modules/@babel/helper-validator-option/lib/validator.js +1 -1
  156. package/src/front/node_modules/@babel/helper-validator-option/lib/validator.js.map +1 -1
  157. package/src/front/node_modules/@babel/helper-validator-option/package.json +1 -1
  158. package/src/front/node_modules/@babel/helpers/lib/helpers-generated.js +21 -21
  159. package/src/front/node_modules/@babel/helpers/lib/helpers-generated.js.map +1 -1
  160. package/src/front/node_modules/@babel/helpers/lib/helpers.js +1 -1
  161. package/src/front/node_modules/@babel/helpers/lib/helpers.js.map +1 -1
  162. package/src/front/node_modules/@babel/helpers/lib/index.js +1 -1
  163. package/src/front/node_modules/@babel/helpers/lib/index.js.map +1 -1
  164. package/src/front/node_modules/@babel/helpers/package.json +7 -7
  165. package/src/front/node_modules/@babel/helpers/scripts/generate-helpers.js +1 -1
  166. package/src/front/node_modules/@babel/highlight/lib/index.js +6 -5
  167. package/src/front/node_modules/@babel/highlight/lib/index.js.map +1 -1
  168. package/src/front/node_modules/@babel/highlight/package.json +1 -1
  169. package/src/front/node_modules/@babel/parser/lib/index.js +52 -57
  170. package/src/front/node_modules/@babel/parser/lib/index.js.map +1 -1
  171. package/src/front/node_modules/@babel/parser/package.json +4 -4
  172. package/src/front/node_modules/@babel/template/README.md +1 -1
  173. package/src/front/node_modules/@babel/template/lib/builder.js +3 -3
  174. package/src/front/node_modules/@babel/template/lib/builder.js.map +1 -1
  175. package/src/front/node_modules/@babel/template/lib/index.js +2 -2
  176. package/src/front/node_modules/@babel/template/lib/index.js.map +1 -1
  177. package/src/front/node_modules/@babel/template/lib/literal.js +3 -3
  178. package/src/front/node_modules/@babel/template/lib/literal.js.map +1 -1
  179. package/src/front/node_modules/@babel/template/lib/parse.js.map +1 -1
  180. package/src/front/node_modules/@babel/template/lib/populate.js.map +1 -1
  181. package/src/front/node_modules/@babel/template/lib/string.js +3 -3
  182. package/src/front/node_modules/@babel/template/lib/string.js.map +1 -1
  183. package/src/front/node_modules/@babel/template/package.json +4 -4
  184. package/src/front/node_modules/@babel/traverse/lib/cache.js.map +1 -1
  185. package/src/front/node_modules/@babel/traverse/lib/context.js +2 -2
  186. package/src/front/node_modules/@babel/traverse/lib/context.js.map +1 -1
  187. package/src/front/node_modules/@babel/traverse/lib/hub.js.map +1 -1
  188. package/src/front/node_modules/@babel/traverse/lib/index.js +8 -8
  189. package/src/front/node_modules/@babel/traverse/lib/index.js.map +1 -1
  190. package/src/front/node_modules/@babel/traverse/lib/path/ancestry.js.map +1 -1
  191. package/src/front/node_modules/@babel/traverse/lib/path/comments.js.map +1 -1
  192. package/src/front/node_modules/@babel/traverse/lib/path/context.js +2 -2
  193. package/src/front/node_modules/@babel/traverse/lib/path/context.js.map +1 -1
  194. package/src/front/node_modules/@babel/traverse/lib/path/conversion.js +1 -1
  195. package/src/front/node_modules/@babel/traverse/lib/path/conversion.js.map +1 -1
  196. package/src/front/node_modules/@babel/traverse/lib/path/evaluation.js.map +1 -1
  197. package/src/front/node_modules/@babel/traverse/lib/path/family.js +1 -1
  198. package/src/front/node_modules/@babel/traverse/lib/path/family.js.map +1 -1
  199. package/src/front/node_modules/@babel/traverse/lib/path/index.js +17 -17
  200. package/src/front/node_modules/@babel/traverse/lib/path/index.js.map +1 -1
  201. package/src/front/node_modules/@babel/traverse/lib/path/inference/index.js +1 -1
  202. package/src/front/node_modules/@babel/traverse/lib/path/inference/index.js.map +1 -1
  203. package/src/front/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js +1 -1
  204. package/src/front/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js.map +1 -1
  205. package/src/front/node_modules/@babel/traverse/lib/path/inference/inferers.js +2 -2
  206. package/src/front/node_modules/@babel/traverse/lib/path/inference/inferers.js.map +1 -1
  207. package/src/front/node_modules/@babel/traverse/lib/path/introspection.js.map +1 -1
  208. package/src/front/node_modules/@babel/traverse/lib/path/lib/hoister.js.map +1 -1
  209. package/src/front/node_modules/@babel/traverse/lib/path/lib/removal-hooks.js.map +1 -1
  210. package/src/front/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js.map +1 -1
  211. package/src/front/node_modules/@babel/traverse/lib/path/modification.js +3 -3
  212. package/src/front/node_modules/@babel/traverse/lib/path/modification.js.map +1 -1
  213. package/src/front/node_modules/@babel/traverse/lib/path/removal.js +3 -3
  214. package/src/front/node_modules/@babel/traverse/lib/path/removal.js.map +1 -1
  215. package/src/front/node_modules/@babel/traverse/lib/path/replacement.js +3 -3
  216. package/src/front/node_modules/@babel/traverse/lib/path/replacement.js.map +1 -1
  217. package/src/front/node_modules/@babel/traverse/lib/scope/binding.js +1 -3
  218. package/src/front/node_modules/@babel/traverse/lib/scope/binding.js.map +1 -1
  219. package/src/front/node_modules/@babel/traverse/lib/scope/index.js +5 -5
  220. package/src/front/node_modules/@babel/traverse/lib/scope/index.js.map +1 -1
  221. package/src/front/node_modules/@babel/traverse/lib/scope/lib/renamer.js +2 -2
  222. package/src/front/node_modules/@babel/traverse/lib/scope/lib/renamer.js.map +1 -1
  223. package/src/front/node_modules/@babel/traverse/lib/traverse-node.js +1 -1
  224. package/src/front/node_modules/@babel/traverse/lib/traverse-node.js.map +1 -1
  225. package/src/front/node_modules/@babel/traverse/lib/types.js.map +1 -1
  226. package/src/front/node_modules/@babel/traverse/lib/visitors.js +1 -1
  227. package/src/front/node_modules/@babel/traverse/lib/visitors.js.map +1 -1
  228. package/src/front/node_modules/@babel/traverse/package.json +6 -6
  229. package/src/front/node_modules/@babel/types/lib/asserts/assertNode.js +1 -1
  230. package/src/front/node_modules/@babel/types/lib/asserts/assertNode.js.map +1 -1
  231. package/src/front/node_modules/@babel/types/lib/asserts/generated/index.js +2 -2
  232. package/src/front/node_modules/@babel/types/lib/asserts/generated/index.js.map +1 -1
  233. package/src/front/node_modules/@babel/types/lib/ast-types/generated/index.js.map +1 -1
  234. package/src/front/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js +3 -3
  235. package/src/front/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map +1 -1
  236. package/src/front/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js +9 -9
  237. package/src/front/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map +1 -1
  238. package/src/front/node_modules/@babel/types/lib/builders/generated/index.js +2 -2
  239. package/src/front/node_modules/@babel/types/lib/builders/generated/index.js.map +1 -1
  240. package/src/front/node_modules/@babel/types/lib/builders/generated/uppercase.js +1 -1
  241. package/src/front/node_modules/@babel/types/lib/builders/generated/uppercase.js.map +1 -1
  242. package/src/front/node_modules/@babel/types/lib/builders/react/buildChildren.js +5 -5
  243. package/src/front/node_modules/@babel/types/lib/builders/react/buildChildren.js.map +1 -1
  244. package/src/front/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js +5 -5
  245. package/src/front/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map +1 -1
  246. package/src/front/node_modules/@babel/types/lib/builders/validateNode.js +3 -3
  247. package/src/front/node_modules/@babel/types/lib/builders/validateNode.js.map +1 -1
  248. package/src/front/node_modules/@babel/types/lib/clone/clone.js +1 -1
  249. package/src/front/node_modules/@babel/types/lib/clone/clone.js.map +1 -1
  250. package/src/front/node_modules/@babel/types/lib/clone/cloneDeep.js +1 -1
  251. package/src/front/node_modules/@babel/types/lib/clone/cloneDeep.js.map +1 -1
  252. package/src/front/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js +1 -1
  253. package/src/front/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map +1 -1
  254. package/src/front/node_modules/@babel/types/lib/clone/cloneNode.js +6 -6
  255. package/src/front/node_modules/@babel/types/lib/clone/cloneNode.js.map +1 -1
  256. package/src/front/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js +1 -1
  257. package/src/front/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map +1 -1
  258. package/src/front/node_modules/@babel/types/lib/comments/addComment.js +1 -1
  259. package/src/front/node_modules/@babel/types/lib/comments/addComment.js.map +1 -1
  260. package/src/front/node_modules/@babel/types/lib/comments/addComments.js.map +1 -1
  261. package/src/front/node_modules/@babel/types/lib/comments/inheritInnerComments.js +1 -1
  262. package/src/front/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map +1 -1
  263. package/src/front/node_modules/@babel/types/lib/comments/inheritLeadingComments.js +1 -1
  264. package/src/front/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map +1 -1
  265. package/src/front/node_modules/@babel/types/lib/comments/inheritTrailingComments.js +1 -1
  266. package/src/front/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map +1 -1
  267. package/src/front/node_modules/@babel/types/lib/comments/inheritsComments.js +3 -3
  268. package/src/front/node_modules/@babel/types/lib/comments/inheritsComments.js.map +1 -1
  269. package/src/front/node_modules/@babel/types/lib/comments/removeComments.js +2 -2
  270. package/src/front/node_modules/@babel/types/lib/comments/removeComments.js.map +1 -1
  271. package/src/front/node_modules/@babel/types/lib/constants/generated/index.js +50 -50
  272. package/src/front/node_modules/@babel/types/lib/constants/generated/index.js.map +1 -1
  273. package/src/front/node_modules/@babel/types/lib/converters/ensureBlock.js +1 -1
  274. package/src/front/node_modules/@babel/types/lib/converters/ensureBlock.js.map +1 -1
  275. package/src/front/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js +14 -14
  276. package/src/front/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map +1 -1
  277. package/src/front/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js +1 -1
  278. package/src/front/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map +1 -1
  279. package/src/front/node_modules/@babel/types/lib/converters/toBlock.js +9 -9
  280. package/src/front/node_modules/@babel/types/lib/converters/toBlock.js.map +1 -1
  281. package/src/front/node_modules/@babel/types/lib/converters/toComputedKey.js +3 -3
  282. package/src/front/node_modules/@babel/types/lib/converters/toComputedKey.js.map +1 -1
  283. package/src/front/node_modules/@babel/types/lib/converters/toExpression.js +6 -6
  284. package/src/front/node_modules/@babel/types/lib/converters/toExpression.js.map +1 -1
  285. package/src/front/node_modules/@babel/types/lib/converters/toIdentifier.js +1 -1
  286. package/src/front/node_modules/@babel/types/lib/converters/toIdentifier.js.map +1 -1
  287. package/src/front/node_modules/@babel/types/lib/converters/toKeyAlias.js +5 -5
  288. package/src/front/node_modules/@babel/types/lib/converters/toKeyAlias.js.map +1 -1
  289. package/src/front/node_modules/@babel/types/lib/converters/toSequenceExpression.js +1 -1
  290. package/src/front/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map +1 -1
  291. package/src/front/node_modules/@babel/types/lib/converters/toStatement.js +7 -7
  292. package/src/front/node_modules/@babel/types/lib/converters/toStatement.js.map +1 -1
  293. package/src/front/node_modules/@babel/types/lib/converters/valueToNode.js +17 -17
  294. package/src/front/node_modules/@babel/types/lib/converters/valueToNode.js.map +1 -1
  295. package/src/front/node_modules/@babel/types/lib/definitions/core.js +9 -9
  296. package/src/front/node_modules/@babel/types/lib/definitions/core.js.map +1 -1
  297. package/src/front/node_modules/@babel/types/lib/definitions/experimental.js +1 -1
  298. package/src/front/node_modules/@babel/types/lib/definitions/experimental.js.map +1 -1
  299. package/src/front/node_modules/@babel/types/lib/definitions/flow.js +1 -1
  300. package/src/front/node_modules/@babel/types/lib/definitions/flow.js.map +1 -1
  301. package/src/front/node_modules/@babel/types/lib/definitions/index.js +9 -9
  302. package/src/front/node_modules/@babel/types/lib/definitions/index.js.map +1 -1
  303. package/src/front/node_modules/@babel/types/lib/definitions/jsx.js +1 -1
  304. package/src/front/node_modules/@babel/types/lib/definitions/jsx.js.map +1 -1
  305. package/src/front/node_modules/@babel/types/lib/definitions/misc.js +2 -2
  306. package/src/front/node_modules/@babel/types/lib/definitions/misc.js.map +1 -1
  307. package/src/front/node_modules/@babel/types/lib/definitions/placeholders.js +1 -1
  308. package/src/front/node_modules/@babel/types/lib/definitions/placeholders.js.map +1 -1
  309. package/src/front/node_modules/@babel/types/lib/definitions/typescript.js +4 -4
  310. package/src/front/node_modules/@babel/types/lib/definitions/typescript.js.map +1 -1
  311. package/src/front/node_modules/@babel/types/lib/definitions/utils.js +2 -2
  312. package/src/front/node_modules/@babel/types/lib/definitions/utils.js.map +1 -1
  313. package/src/front/node_modules/@babel/types/lib/index-legacy.d.ts +10 -10
  314. package/src/front/node_modules/@babel/types/lib/index.d.ts +12 -12
  315. package/src/front/node_modules/@babel/types/lib/index.js +84 -84
  316. package/src/front/node_modules/@babel/types/lib/index.js.flow +10 -10
  317. package/src/front/node_modules/@babel/types/lib/index.js.map +1 -1
  318. package/src/front/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js +2 -2
  319. package/src/front/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map +1 -1
  320. package/src/front/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js +6 -6
  321. package/src/front/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map +1 -1
  322. package/src/front/node_modules/@babel/types/lib/modifications/inherits.js +4 -4
  323. package/src/front/node_modules/@babel/types/lib/modifications/inherits.js.map +1 -1
  324. package/src/front/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js +4 -4
  325. package/src/front/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map +1 -1
  326. package/src/front/node_modules/@babel/types/lib/modifications/removeProperties.js +2 -2
  327. package/src/front/node_modules/@babel/types/lib/modifications/removeProperties.js.map +1 -1
  328. package/src/front/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js +2 -2
  329. package/src/front/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map +1 -1
  330. package/src/front/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js +6 -6
  331. package/src/front/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map +1 -1
  332. package/src/front/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js +6 -6
  333. package/src/front/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map +1 -1
  334. package/src/front/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js +1 -1
  335. package/src/front/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map +1 -1
  336. package/src/front/node_modules/@babel/types/lib/traverse/traverse.js +2 -2
  337. package/src/front/node_modules/@babel/types/lib/traverse/traverse.js.map +1 -1
  338. package/src/front/node_modules/@babel/types/lib/traverse/traverseFast.js +2 -2
  339. package/src/front/node_modules/@babel/types/lib/traverse/traverseFast.js.map +1 -1
  340. package/src/front/node_modules/@babel/types/lib/utils/inherit.js.map +1 -1
  341. package/src/front/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js +3 -3
  342. package/src/front/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map +1 -1
  343. package/src/front/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js +1 -1
  344. package/src/front/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map +1 -1
  345. package/src/front/node_modules/@babel/types/lib/validators/generated/index.js +2 -2
  346. package/src/front/node_modules/@babel/types/lib/validators/generated/index.js.map +1 -1
  347. package/src/front/node_modules/@babel/types/lib/validators/is.js +5 -5
  348. package/src/front/node_modules/@babel/types/lib/validators/is.js.map +1 -1
  349. package/src/front/node_modules/@babel/types/lib/validators/isBinding.js +1 -1
  350. package/src/front/node_modules/@babel/types/lib/validators/isBinding.js.map +1 -1
  351. package/src/front/node_modules/@babel/types/lib/validators/isBlockScoped.js +3 -3
  352. package/src/front/node_modules/@babel/types/lib/validators/isBlockScoped.js.map +1 -1
  353. package/src/front/node_modules/@babel/types/lib/validators/isImmutable.js +3 -3
  354. package/src/front/node_modules/@babel/types/lib/validators/isImmutable.js.map +1 -1
  355. package/src/front/node_modules/@babel/types/lib/validators/isLet.js +3 -3
  356. package/src/front/node_modules/@babel/types/lib/validators/isLet.js.map +1 -1
  357. package/src/front/node_modules/@babel/types/lib/validators/isNode.js +2 -2
  358. package/src/front/node_modules/@babel/types/lib/validators/isNode.js.map +1 -1
  359. package/src/front/node_modules/@babel/types/lib/validators/isNodesEquivalent.js +3 -3
  360. package/src/front/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map +1 -1
  361. package/src/front/node_modules/@babel/types/lib/validators/isPlaceholderType.js +2 -2
  362. package/src/front/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map +1 -1
  363. package/src/front/node_modules/@babel/types/lib/validators/isReferenced.js.map +1 -1
  364. package/src/front/node_modules/@babel/types/lib/validators/isScope.js +4 -4
  365. package/src/front/node_modules/@babel/types/lib/validators/isScope.js.map +1 -1
  366. package/src/front/node_modules/@babel/types/lib/validators/isSpecifierDefault.js +2 -2
  367. package/src/front/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map +1 -1
  368. package/src/front/node_modules/@babel/types/lib/validators/isType.js +3 -3
  369. package/src/front/node_modules/@babel/types/lib/validators/isType.js.map +1 -1
  370. package/src/front/node_modules/@babel/types/lib/validators/isValidES3Identifier.js +1 -1
  371. package/src/front/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map +1 -1
  372. package/src/front/node_modules/@babel/types/lib/validators/isVar.js +4 -4
  373. package/src/front/node_modules/@babel/types/lib/validators/isVar.js.map +1 -1
  374. package/src/front/node_modules/@babel/types/lib/validators/matchesPattern.js +6 -6
  375. package/src/front/node_modules/@babel/types/lib/validators/matchesPattern.js.map +1 -1
  376. package/src/front/node_modules/@babel/types/lib/validators/react/isReactComponent.js +1 -1
  377. package/src/front/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map +1 -1
  378. package/src/front/node_modules/@babel/types/lib/validators/validate.js +3 -3
  379. package/src/front/node_modules/@babel/types/lib/validators/validate.js.map +1 -1
  380. package/src/front/node_modules/@babel/types/package.json +4 -4
  381. package/src/front/node_modules/typescript/lib/lib.decorators.d.ts +17 -0
  382. package/src/front/node_modules/typescript/lib/lib.dom.d.ts +313 -90
  383. package/src/front/node_modules/typescript/lib/lib.es2015.collection.d.ts +9 -9
  384. package/src/front/node_modules/typescript/lib/lib.es2015.core.d.ts +2 -2
  385. package/src/front/node_modules/typescript/lib/lib.es2015.iterable.d.ts +4 -4
  386. package/src/front/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +2 -2
  387. package/src/front/node_modules/typescript/lib/lib.es2017.d.ts +1 -0
  388. package/src/front/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
  389. package/src/front/node_modules/typescript/lib/lib.es2020.bigint.d.ts +4 -4
  390. package/src/front/node_modules/typescript/lib/lib.es2021.weakref.d.ts +19 -16
  391. package/src/front/node_modules/typescript/lib/lib.es2023.array.d.ts +618 -36
  392. package/src/front/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
  393. package/src/front/node_modules/typescript/lib/lib.es2023.d.ts +1 -0
  394. package/src/front/node_modules/typescript/lib/lib.es5.d.ts +27 -18
  395. package/src/front/node_modules/typescript/lib/lib.esnext.d.ts +2 -0
  396. package/src/front/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
  397. package/src/front/node_modules/typescript/lib/lib.esnext.disposable.d.ts +185 -0
  398. package/src/front/node_modules/typescript/lib/lib.webworker.d.ts +172 -33
  399. package/src/front/node_modules/typescript/lib/tsc.js +8311 -6557
  400. package/src/front/node_modules/typescript/lib/tsserver.js +11796 -9281
  401. package/src/front/node_modules/typescript/lib/tsserverlibrary.d.ts +287 -249
  402. package/src/front/node_modules/typescript/lib/tsserverlibrary.js +11801 -9288
  403. package/src/front/node_modules/typescript/lib/typescript.d.ts +274 -248
  404. package/src/front/node_modules/typescript/lib/typescript.js +11678 -9231
  405. package/src/front/node_modules/typescript/lib/typingsInstaller.js +1852 -1645
  406. package/src/front/node_modules/typescript/package.json +7 -7
  407. package/src/front/package-lock.json +144 -144
  408. package/src/front/src/components/inputs/FileInput.js +1 -0
  409. package/src/front/src/pages/Records.js +1 -0
  410. package/src/front/build/static/js/main.4ce5340d.chunk.js.map +0 -1
  411. package/src/front/node_modules/.cache/babel-loader/1dbf9b1b83cdf813e9dc5f561b9b97ac.json +0 -1
  412. package/src/front/node_modules/.cache/babel-loader/d88f947a76ac5f78797e69c737b6267e.json +0 -1
  413. package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/c3/3e/f2b5b90044b7bdbb4cff67b2c09e24bb506274240d920de24bb4b678f3f00b80f7e9f0900cd1de883484031488d8603e97ea6b4e39a9c6ab5160353d3be9 +0 -1
  414. package/src/front/node_modules/@babel/parser/lib/options.js +0 -44
  415. package/src/front/node_modules/@babel/parser/lib/options.js.map +0 -1
  416. package/src/front/node_modules/@babel/parser/lib/parse-error/credentials.js +0 -28
  417. package/src/front/node_modules/@babel/parser/lib/parse-error/credentials.js.map +0 -1
  418. package/src/front/node_modules/@babel/parser/lib/parse-error/module-errors.js +0 -20
  419. package/src/front/node_modules/@babel/parser/lib/parse-error/module-errors.js.map +0 -1
  420. package/src/front/node_modules/@babel/parser/lib/parse-error/pipeline-operator-errors.js +0 -32
  421. package/src/front/node_modules/@babel/parser/lib/parse-error/pipeline-operator-errors.js.map +0 -1
  422. package/src/front/node_modules/@babel/parser/lib/parse-error/standard-errors.js +0 -220
  423. package/src/front/node_modules/@babel/parser/lib/parse-error/standard-errors.js.map +0 -1
  424. package/src/front/node_modules/@babel/parser/lib/parse-error/strict-mode-errors.js +0 -22
  425. package/src/front/node_modules/@babel/parser/lib/parse-error/strict-mode-errors.js.map +0 -1
  426. package/src/front/node_modules/@babel/parser/lib/parse-error/to-node-description.js +0 -39
  427. package/src/front/node_modules/@babel/parser/lib/parse-error/to-node-description.js.map +0 -1
  428. package/src/front/node_modules/@babel/parser/lib/parse-error.js +0 -106
  429. package/src/front/node_modules/@babel/parser/lib/parse-error.js.map +0 -1
  430. package/src/front/node_modules/@babel/parser/lib/parser/base.js +0 -36
  431. package/src/front/node_modules/@babel/parser/lib/parser/base.js.map +0 -1
  432. package/src/front/node_modules/@babel/parser/lib/parser/comments.js +0 -190
  433. package/src/front/node_modules/@babel/parser/lib/parser/comments.js.map +0 -1
  434. package/src/front/node_modules/@babel/parser/lib/parser/expression.js +0 -1824
  435. package/src/front/node_modules/@babel/parser/lib/parser/expression.js.map +0 -1
  436. package/src/front/node_modules/@babel/parser/lib/parser/index.js +0 -43
  437. package/src/front/node_modules/@babel/parser/lib/parser/index.js.map +0 -1
  438. package/src/front/node_modules/@babel/parser/lib/parser/lval.js +0 -421
  439. package/src/front/node_modules/@babel/parser/lib/parser/lval.js.map +0 -1
  440. package/src/front/node_modules/@babel/parser/lib/parser/node.js +0 -127
  441. package/src/front/node_modules/@babel/parser/lib/parser/node.js.map +0 -1
  442. package/src/front/node_modules/@babel/parser/lib/parser/statement.js +0 -2033
  443. package/src/front/node_modules/@babel/parser/lib/parser/statement.js.map +0 -1
  444. package/src/front/node_modules/@babel/parser/lib/parser/util.js +0 -238
  445. package/src/front/node_modules/@babel/parser/lib/parser/util.js.map +0 -1
  446. package/src/front/node_modules/@babel/parser/lib/plugin-utils.js +0 -136
  447. package/src/front/node_modules/@babel/parser/lib/plugin-utils.js.map +0 -1
  448. package/src/front/node_modules/@babel/parser/lib/plugins/estree.js +0 -340
  449. package/src/front/node_modules/@babel/parser/lib/plugins/estree.js.map +0 -1
  450. package/src/front/node_modules/@babel/parser/lib/plugins/flow/index.js +0 -2474
  451. package/src/front/node_modules/@babel/parser/lib/plugins/flow/index.js.map +0 -1
  452. package/src/front/node_modules/@babel/parser/lib/plugins/flow/scope.js +0 -44
  453. package/src/front/node_modules/@babel/parser/lib/plugins/flow/scope.js.map +0 -1
  454. package/src/front/node_modules/@babel/parser/lib/plugins/jsx/index.js +0 -444
  455. package/src/front/node_modules/@babel/parser/lib/plugins/jsx/index.js.map +0 -1
  456. package/src/front/node_modules/@babel/parser/lib/plugins/jsx/xhtml.js +0 -266
  457. package/src/front/node_modules/@babel/parser/lib/plugins/jsx/xhtml.js.map +0 -1
  458. package/src/front/node_modules/@babel/parser/lib/plugins/placeholders.js +0 -198
  459. package/src/front/node_modules/@babel/parser/lib/plugins/placeholders.js.map +0 -1
  460. package/src/front/node_modules/@babel/parser/lib/plugins/typescript/index.js +0 -2656
  461. package/src/front/node_modules/@babel/parser/lib/plugins/typescript/index.js.map +0 -1
  462. package/src/front/node_modules/@babel/parser/lib/plugins/typescript/scope.js +0 -121
  463. package/src/front/node_modules/@babel/parser/lib/plugins/typescript/scope.js.map +0 -1
  464. package/src/front/node_modules/@babel/parser/lib/plugins/v8intrinsic.js +0 -31
  465. package/src/front/node_modules/@babel/parser/lib/plugins/v8intrinsic.js.map +0 -1
  466. package/src/front/node_modules/@babel/parser/lib/tokenizer/context.js +0 -27
  467. package/src/front/node_modules/@babel/parser/lib/tokenizer/context.js.map +0 -1
  468. package/src/front/node_modules/@babel/parser/lib/tokenizer/index.js +0 -1119
  469. package/src/front/node_modules/@babel/parser/lib/tokenizer/index.js.map +0 -1
  470. package/src/front/node_modules/@babel/parser/lib/tokenizer/state.js +0 -82
  471. package/src/front/node_modules/@babel/parser/lib/tokenizer/state.js.map +0 -1
  472. package/src/front/node_modules/@babel/parser/lib/tokenizer/types.js +0 -586
  473. package/src/front/node_modules/@babel/parser/lib/tokenizer/types.js.map +0 -1
  474. package/src/front/node_modules/@babel/parser/lib/util/class-scope.js +0 -92
  475. package/src/front/node_modules/@babel/parser/lib/util/class-scope.js.map +0 -1
  476. package/src/front/node_modules/@babel/parser/lib/util/expression-scope.js +0 -142
  477. package/src/front/node_modules/@babel/parser/lib/util/expression-scope.js.map +0 -1
  478. package/src/front/node_modules/@babel/parser/lib/util/identifier.js +0 -62
  479. package/src/front/node_modules/@babel/parser/lib/util/identifier.js.map +0 -1
  480. package/src/front/node_modules/@babel/parser/lib/util/location.js +0 -39
  481. package/src/front/node_modules/@babel/parser/lib/util/location.js.map +0 -1
  482. package/src/front/node_modules/@babel/parser/lib/util/production-parameter.js +0 -49
  483. package/src/front/node_modules/@babel/parser/lib/util/production-parameter.js.map +0 -1
  484. package/src/front/node_modules/@babel/parser/lib/util/scope.js +0 -161
  485. package/src/front/node_modules/@babel/parser/lib/util/scope.js.map +0 -1
  486. package/src/front/node_modules/@babel/parser/lib/util/scopeflags.js +0 -67
  487. package/src/front/node_modules/@babel/parser/lib/util/scopeflags.js.map +0 -1
  488. package/src/front/node_modules/@babel/parser/lib/util/whitespace.js +0 -59
  489. package/src/front/node_modules/@babel/parser/lib/util/whitespace.js.map +0 -1
@@ -1,421 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = exports.ParseBindingListFlags = void 0;
7
- var _types = require("../tokenizer/types");
8
- var _identifier = require("../util/identifier");
9
- var _node = require("./node");
10
- var _scopeflags = require("../util/scopeflags");
11
- var _parseError = require("../parse-error");
12
- const getOwn = (object, key) => Object.hasOwnProperty.call(object, key) && object[key];
13
- const unwrapParenthesizedExpression = node => {
14
- return node.type === "ParenthesizedExpression" ? unwrapParenthesizedExpression(node.expression) : node;
15
- };
16
- var ParseBindingListFlags = {
17
- ALLOW_EMPTY: 1,
18
- IS_FUNCTION_PARAMS: 2,
19
- IS_CONSTRUCTOR_PARAMS: 4
20
- };
21
- exports.ParseBindingListFlags = ParseBindingListFlags;
22
- class LValParser extends _node.NodeUtils {
23
- toAssignable(node, isLHS = false) {
24
- var _node$extra, _node$extra3;
25
- let parenthesized = undefined;
26
- if (node.type === "ParenthesizedExpression" || (_node$extra = node.extra) != null && _node$extra.parenthesized) {
27
- parenthesized = unwrapParenthesizedExpression(node);
28
- if (isLHS) {
29
- if (parenthesized.type === "Identifier") {
30
- this.expressionScope.recordArrowParameterBindingError(_parseError.Errors.InvalidParenthesizedAssignment, {
31
- at: node
32
- });
33
- } else if (parenthesized.type !== "MemberExpression") {
34
- this.raise(_parseError.Errors.InvalidParenthesizedAssignment, {
35
- at: node
36
- });
37
- }
38
- } else {
39
- this.raise(_parseError.Errors.InvalidParenthesizedAssignment, {
40
- at: node
41
- });
42
- }
43
- }
44
- switch (node.type) {
45
- case "Identifier":
46
- case "ObjectPattern":
47
- case "ArrayPattern":
48
- case "AssignmentPattern":
49
- case "RestElement":
50
- break;
51
- case "ObjectExpression":
52
- node.type = "ObjectPattern";
53
- for (let i = 0, length = node.properties.length, last = length - 1; i < length; i++) {
54
- var _node$extra2;
55
- const prop = node.properties[i];
56
- const isLast = i === last;
57
- this.toAssignableObjectExpressionProp(prop, isLast, isLHS);
58
- if (isLast && prop.type === "RestElement" && (_node$extra2 = node.extra) != null && _node$extra2.trailingCommaLoc) {
59
- this.raise(_parseError.Errors.RestTrailingComma, {
60
- at: node.extra.trailingCommaLoc
61
- });
62
- }
63
- }
64
- break;
65
- case "ObjectProperty":
66
- {
67
- const {
68
- key,
69
- value
70
- } = node;
71
- if (this.isPrivateName(key)) {
72
- this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start);
73
- }
74
- this.toAssignable(value, isLHS);
75
- break;
76
- }
77
- case "SpreadElement":
78
- {
79
- throw new Error("Internal @babel/parser error (this is a bug, please report it)." + " SpreadElement should be converted by .toAssignable's caller.");
80
- }
81
- case "ArrayExpression":
82
- node.type = "ArrayPattern";
83
- this.toAssignableList(node.elements, (_node$extra3 = node.extra) == null ? void 0 : _node$extra3.trailingCommaLoc, isLHS);
84
- break;
85
- case "AssignmentExpression":
86
- if (node.operator !== "=") {
87
- this.raise(_parseError.Errors.MissingEqInAssignment, {
88
- at: node.left.loc.end
89
- });
90
- }
91
- node.type = "AssignmentPattern";
92
- delete node.operator;
93
- this.toAssignable(node.left, isLHS);
94
- break;
95
- case "ParenthesizedExpression":
96
- this.toAssignable(parenthesized, isLHS);
97
- break;
98
- default:
99
- }
100
- }
101
- toAssignableObjectExpressionProp(prop, isLast, isLHS) {
102
- if (prop.type === "ObjectMethod") {
103
- this.raise(prop.kind === "get" || prop.kind === "set" ? _parseError.Errors.PatternHasAccessor : _parseError.Errors.PatternHasMethod, {
104
- at: prop.key
105
- });
106
- } else if (prop.type === "SpreadElement") {
107
- prop.type = "RestElement";
108
- const arg = prop.argument;
109
- this.checkToRestConversion(arg, false);
110
- this.toAssignable(arg, isLHS);
111
- if (!isLast) {
112
- this.raise(_parseError.Errors.RestTrailingComma, {
113
- at: prop
114
- });
115
- }
116
- } else {
117
- this.toAssignable(prop, isLHS);
118
- }
119
- }
120
- toAssignableList(exprList, trailingCommaLoc, isLHS) {
121
- const end = exprList.length - 1;
122
- for (let i = 0; i <= end; i++) {
123
- const elt = exprList[i];
124
- if (!elt) continue;
125
- if (elt.type === "SpreadElement") {
126
- elt.type = "RestElement";
127
- const arg = elt.argument;
128
- this.checkToRestConversion(arg, true);
129
- this.toAssignable(arg, isLHS);
130
- } else {
131
- this.toAssignable(elt, isLHS);
132
- }
133
- if (elt.type === "RestElement") {
134
- if (i < end) {
135
- this.raise(_parseError.Errors.RestTrailingComma, {
136
- at: elt
137
- });
138
- } else if (trailingCommaLoc) {
139
- this.raise(_parseError.Errors.RestTrailingComma, {
140
- at: trailingCommaLoc
141
- });
142
- }
143
- }
144
- }
145
- }
146
- isAssignable(node, isBinding) {
147
- switch (node.type) {
148
- case "Identifier":
149
- case "ObjectPattern":
150
- case "ArrayPattern":
151
- case "AssignmentPattern":
152
- case "RestElement":
153
- return true;
154
- case "ObjectExpression":
155
- {
156
- const last = node.properties.length - 1;
157
- return node.properties.every((prop, i) => {
158
- return prop.type !== "ObjectMethod" && (i === last || prop.type !== "SpreadElement") && this.isAssignable(prop);
159
- });
160
- }
161
- case "ObjectProperty":
162
- return this.isAssignable(node.value);
163
- case "SpreadElement":
164
- return this.isAssignable(node.argument);
165
- case "ArrayExpression":
166
- return node.elements.every(element => element === null || this.isAssignable(element));
167
- case "AssignmentExpression":
168
- return node.operator === "=";
169
- case "ParenthesizedExpression":
170
- return this.isAssignable(node.expression);
171
- case "MemberExpression":
172
- case "OptionalMemberExpression":
173
- return !isBinding;
174
- default:
175
- return false;
176
- }
177
- }
178
- toReferencedList(exprList, isParenthesizedExpr) {
179
- return exprList;
180
- }
181
- toReferencedListDeep(exprList, isParenthesizedExpr) {
182
- this.toReferencedList(exprList, isParenthesizedExpr);
183
- for (const expr of exprList) {
184
- if ((expr == null ? void 0 : expr.type) === "ArrayExpression") {
185
- this.toReferencedListDeep(expr.elements);
186
- }
187
- }
188
- }
189
- parseSpread(refExpressionErrors) {
190
- const node = this.startNode();
191
- this.next();
192
- node.argument = this.parseMaybeAssignAllowIn(refExpressionErrors, undefined);
193
- return this.finishNode(node, "SpreadElement");
194
- }
195
- parseRestBinding() {
196
- const node = this.startNode();
197
- this.next();
198
- node.argument = this.parseBindingAtom();
199
- return this.finishNode(node, "RestElement");
200
- }
201
- parseBindingAtom() {
202
- switch (this.state.type) {
203
- case 0:
204
- {
205
- const node = this.startNode();
206
- this.next();
207
- node.elements = this.parseBindingList(3, 93, ParseBindingListFlags.ALLOW_EMPTY);
208
- return this.finishNode(node, "ArrayPattern");
209
- }
210
- case 5:
211
- return this.parseObjectLike(8, true);
212
- }
213
- return this.parseIdentifier();
214
- }
215
- parseBindingList(close, closeCharCode, flags) {
216
- const allowEmpty = flags & ParseBindingListFlags.ALLOW_EMPTY;
217
- const elts = [];
218
- let first = true;
219
- while (!this.eat(close)) {
220
- if (first) {
221
- first = false;
222
- } else {
223
- this.expect(12);
224
- }
225
- if (allowEmpty && this.match(12)) {
226
- elts.push(null);
227
- } else if (this.eat(close)) {
228
- break;
229
- } else if (this.match(21)) {
230
- elts.push(this.parseAssignableListItemTypes(this.parseRestBinding(), flags));
231
- if (!this.checkCommaAfterRest(closeCharCode)) {
232
- this.expect(close);
233
- break;
234
- }
235
- } else {
236
- const decorators = [];
237
- if (this.match(26) && this.hasPlugin("decorators")) {
238
- this.raise(_parseError.Errors.UnsupportedParameterDecorator, {
239
- at: this.state.startLoc
240
- });
241
- }
242
- while (this.match(26)) {
243
- decorators.push(this.parseDecorator());
244
- }
245
- elts.push(this.parseAssignableListItem(flags, decorators));
246
- }
247
- }
248
- return elts;
249
- }
250
- parseBindingRestProperty(prop) {
251
- this.next();
252
- prop.argument = this.parseIdentifier();
253
- this.checkCommaAfterRest(125);
254
- return this.finishNode(prop, "RestElement");
255
- }
256
- parseBindingProperty() {
257
- const prop = this.startNode();
258
- const {
259
- type,
260
- startLoc
261
- } = this.state;
262
- if (type === 21) {
263
- return this.parseBindingRestProperty(prop);
264
- } else if (type === 136) {
265
- this.expectPlugin("destructuringPrivate", startLoc);
266
- this.classScope.usePrivateName(this.state.value, startLoc);
267
- prop.key = this.parsePrivateName();
268
- } else {
269
- this.parsePropertyName(prop);
270
- }
271
- prop.method = false;
272
- return this.parseObjPropValue(prop, startLoc, false, false, true, false);
273
- }
274
- parseAssignableListItem(flags, decorators) {
275
- const left = this.parseMaybeDefault();
276
- this.parseAssignableListItemTypes(left, flags);
277
- const elt = this.parseMaybeDefault(left.loc.start, left);
278
- if (decorators.length) {
279
- left.decorators = decorators;
280
- }
281
- return elt;
282
- }
283
- parseAssignableListItemTypes(param, flags) {
284
- return param;
285
- }
286
- parseMaybeDefault(startLoc, left) {
287
- var _startLoc, _left;
288
- (_startLoc = startLoc) != null ? _startLoc : startLoc = this.state.startLoc;
289
- left = (_left = left) != null ? _left : this.parseBindingAtom();
290
- if (!this.eat(29)) return left;
291
- const node = this.startNodeAt(startLoc);
292
- node.left = left;
293
- node.right = this.parseMaybeAssignAllowIn();
294
- return this.finishNode(node, "AssignmentPattern");
295
- }
296
- isValidLVal(type, isUnparenthesizedInAssign, binding) {
297
- return getOwn({
298
- AssignmentPattern: "left",
299
- RestElement: "argument",
300
- ObjectProperty: "value",
301
- ParenthesizedExpression: "expression",
302
- ArrayPattern: "elements",
303
- ObjectPattern: "properties"
304
- }, type);
305
- }
306
- checkLVal(expression, {
307
- in: ancestor,
308
- binding = _scopeflags.BindingFlag.TYPE_NONE,
309
- checkClashes = false,
310
- strictModeChanged = false,
311
- hasParenthesizedAncestor = false
312
- }) {
313
- var _expression$extra;
314
- const type = expression.type;
315
- if (this.isObjectMethod(expression)) return;
316
- if (type === "MemberExpression") {
317
- if (binding !== _scopeflags.BindingFlag.TYPE_NONE) {
318
- this.raise(_parseError.Errors.InvalidPropertyBindingPattern, {
319
- at: expression
320
- });
321
- }
322
- return;
323
- }
324
- if (type === "Identifier") {
325
- this.checkIdentifier(expression, binding, strictModeChanged);
326
- const {
327
- name
328
- } = expression;
329
- if (checkClashes) {
330
- if (checkClashes.has(name)) {
331
- this.raise(_parseError.Errors.ParamDupe, {
332
- at: expression
333
- });
334
- } else {
335
- checkClashes.add(name);
336
- }
337
- }
338
- return;
339
- }
340
- const validity = this.isValidLVal(type, !(hasParenthesizedAncestor || (_expression$extra = expression.extra) != null && _expression$extra.parenthesized) && ancestor.type === "AssignmentExpression", binding);
341
- if (validity === true) return;
342
- if (validity === false) {
343
- const ParseErrorClass = binding === _scopeflags.BindingFlag.TYPE_NONE ? _parseError.Errors.InvalidLhs : _parseError.Errors.InvalidLhsBinding;
344
- this.raise(ParseErrorClass, {
345
- at: expression,
346
- ancestor
347
- });
348
- return;
349
- }
350
- const [key, isParenthesizedExpression] = Array.isArray(validity) ? validity : [validity, type === "ParenthesizedExpression"];
351
- const nextAncestor = type === "ArrayPattern" || type === "ObjectPattern" || type === "ParenthesizedExpression" ? {
352
- type
353
- } : ancestor;
354
- for (const child of [].concat(expression[key])) {
355
- if (child) {
356
- this.checkLVal(child, {
357
- in: nextAncestor,
358
- binding,
359
- checkClashes,
360
- strictModeChanged,
361
- hasParenthesizedAncestor: isParenthesizedExpression
362
- });
363
- }
364
- }
365
- }
366
- checkIdentifier(at, bindingType, strictModeChanged = false) {
367
- if (this.state.strict && (strictModeChanged ? (0, _identifier.isStrictBindReservedWord)(at.name, this.inModule) : (0, _identifier.isStrictBindOnlyReservedWord)(at.name))) {
368
- if (bindingType === _scopeflags.BindingFlag.TYPE_NONE) {
369
- this.raise(_parseError.Errors.StrictEvalArguments, {
370
- at,
371
- referenceName: at.name
372
- });
373
- } else {
374
- this.raise(_parseError.Errors.StrictEvalArgumentsBinding, {
375
- at,
376
- bindingName: at.name
377
- });
378
- }
379
- }
380
- if (bindingType & _scopeflags.BindingFlag.FLAG_NO_LET_IN_LEXICAL && at.name === "let") {
381
- this.raise(_parseError.Errors.LetInLexicalBinding, {
382
- at
383
- });
384
- }
385
- if (!(bindingType & _scopeflags.BindingFlag.TYPE_NONE)) {
386
- this.declareNameFromIdentifier(at, bindingType);
387
- }
388
- }
389
- declareNameFromIdentifier(identifier, binding) {
390
- this.scope.declareName(identifier.name, binding, identifier.loc.start);
391
- }
392
- checkToRestConversion(node, allowPattern) {
393
- switch (node.type) {
394
- case "ParenthesizedExpression":
395
- this.checkToRestConversion(node.expression, allowPattern);
396
- break;
397
- case "Identifier":
398
- case "MemberExpression":
399
- break;
400
- case "ArrayExpression":
401
- case "ObjectExpression":
402
- if (allowPattern) break;
403
- default:
404
- this.raise(_parseError.Errors.InvalidRestAssignmentPattern, {
405
- at: node
406
- });
407
- }
408
- }
409
- checkCommaAfterRest(close) {
410
- if (!this.match(12)) {
411
- return false;
412
- }
413
- this.raise(this.lookaheadCharCode() === close ? _parseError.Errors.RestTrailingComma : _parseError.Errors.ElementAfterRest, {
414
- at: this.state.startLoc
415
- });
416
- return true;
417
- }
418
- }
419
- exports.default = LValParser;
420
-
421
- //# sourceMappingURL=lval.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_types","require","_identifier","_node","_scopeflags","_parseError","getOwn","object","key","Object","hasOwnProperty","call","unwrapParenthesizedExpression","node","type","expression","ParseBindingListFlags","ALLOW_EMPTY","IS_FUNCTION_PARAMS","IS_CONSTRUCTOR_PARAMS","exports","LValParser","NodeUtils","toAssignable","isLHS","_node$extra","_node$extra3","parenthesized","undefined","extra","expressionScope","recordArrowParameterBindingError","Errors","InvalidParenthesizedAssignment","at","raise","i","length","properties","last","_node$extra2","prop","isLast","toAssignableObjectExpressionProp","trailingCommaLoc","RestTrailingComma","value","isPrivateName","classScope","usePrivateName","getPrivateNameSV","loc","start","Error","toAssignableList","elements","operator","MissingEqInAssignment","left","end","kind","PatternHasAccessor","PatternHasMethod","arg","argument","checkToRestConversion","exprList","elt","isAssignable","isBinding","every","element","toReferencedList","isParenthesizedExpr","toReferencedListDeep","expr","parseSpread","refExpressionErrors","startNode","next","parseMaybeAssignAllowIn","finishNode","parseRestBinding","parseBindingAtom","state","parseBindingList","parseObjectLike","parseIdentifier","close","closeCharCode","flags","allowEmpty","elts","first","eat","expect","match","push","parseAssignableListItemTypes","checkCommaAfterRest","decorators","hasPlugin","UnsupportedParameterDecorator","startLoc","parseDecorator","parseAssignableListItem","parseBindingRestProperty","parseBindingProperty","expectPlugin","parsePrivateName","parsePropertyName","method","parseObjPropValue","parseMaybeDefault","param","_startLoc","_left","startNodeAt","right","isValidLVal","isUnparenthesizedInAssign","binding","AssignmentPattern","RestElement","ObjectProperty","ParenthesizedExpression","ArrayPattern","ObjectPattern","checkLVal","in","ancestor","BindingFlag","TYPE_NONE","checkClashes","strictModeChanged","hasParenthesizedAncestor","_expression$extra","isObjectMethod","InvalidPropertyBindingPattern","checkIdentifier","name","has","ParamDupe","add","validity","ParseErrorClass","InvalidLhs","InvalidLhsBinding","isParenthesizedExpression","Array","isArray","nextAncestor","child","concat","bindingType","strict","isStrictBindReservedWord","inModule","isStrictBindOnlyReservedWord","StrictEvalArguments","referenceName","StrictEvalArgumentsBinding","bindingName","FLAG_NO_LET_IN_LEXICAL","LetInLexicalBinding","declareNameFromIdentifier","identifier","scope","declareName","allowPattern","InvalidRestAssignmentPattern","lookaheadCharCode","ElementAfterRest","default"],"sources":["../../src/parser/lval.ts"],"sourcesContent":["import * as charCodes from \"charcodes\";\nimport { tt, type TokenType } from \"../tokenizer/types\";\nimport type {\n AssignmentPattern,\n TSParameterProperty,\n Decorator,\n Expression,\n Identifier,\n Node,\n Pattern,\n RestElement,\n SpreadElement,\n ObjectOrClassMember,\n ClassMember,\n ObjectMember,\n TsNamedTypeElementBase,\n PrivateName,\n ObjectExpression,\n ObjectPattern,\n ArrayExpression,\n ArrayPattern,\n} from \"../types\";\nimport type { Pos, Position } from \"../util/location\";\nimport {\n isStrictBindOnlyReservedWord,\n isStrictBindReservedWord,\n} from \"../util/identifier\";\nimport { NodeUtils, type Undone } from \"./node\";\nimport { type BindingTypes, BindingFlag } from \"../util/scopeflags\";\nimport type { ExpressionErrors } from \"./util\";\nimport { Errors, type LValAncestor } from \"../parse-error\";\nimport type Parser from \"./index\";\n\nconst getOwn = <T extends {}>(object: T, key: keyof T) =>\n Object.hasOwnProperty.call(object, key) && object[key];\n\nconst unwrapParenthesizedExpression = (node: Node): Node => {\n return node.type === \"ParenthesizedExpression\"\n ? unwrapParenthesizedExpression(node.expression)\n : node;\n};\n\nexport const enum ParseBindingListFlags {\n ALLOW_EMPTY = 1 << 0,\n IS_FUNCTION_PARAMS = 1 << 1,\n IS_CONSTRUCTOR_PARAMS = 1 << 2,\n}\n\nexport default abstract class LValParser extends NodeUtils {\n // Forward-declaration: defined in expression.js\n abstract parseIdentifier(liberal?: boolean): Identifier;\n abstract parseMaybeAssign(\n refExpressionErrors?: ExpressionErrors | null,\n afterLeftParse?: Function,\n refNeedsArrowPos?: Pos | null,\n ): Expression;\n\n abstract parseMaybeAssignAllowIn(\n refExpressionErrors?: ExpressionErrors | null,\n afterLeftParse?: Function,\n refNeedsArrowPos?: Pos | null,\n ): Expression;\n\n abstract parseObjectLike<T extends ObjectPattern | ObjectExpression>(\n close: TokenType,\n isPattern: boolean,\n isRecord?: boolean,\n refExpressionErrors?: ExpressionErrors,\n ): T;\n abstract parseObjPropValue(\n prop: any,\n startLoc: Position | null,\n isGenerator: boolean,\n isAsync: boolean,\n isPattern: boolean,\n isAccessor: boolean,\n refExpressionErrors?: ExpressionErrors | null,\n ): void;\n abstract parsePropertyName(\n prop: ObjectOrClassMember | ClassMember | TsNamedTypeElementBase,\n ): Expression | Identifier;\n abstract parsePrivateName(): PrivateName;\n // Forward-declaration: defined in statement.js\n abstract parseDecorator(): Decorator;\n\n /**\n * Convert existing expression atom to assignable pattern\n * if possible. Also checks invalid destructuring targets:\n *\n * - Parenthesized Destructuring patterns\n * - RestElement is not the last element\n * - Missing `=` in assignment pattern\n *\n * NOTE: There is a corresponding \"isAssignable\" method.\n * When this one is updated, please check if also that one needs to be updated.\n *\n * @param node The expression atom\n * @param isLHS Whether we are parsing a LeftHandSideExpression.\n * If isLHS is `true`, the following cases are allowed: `[(a)] = [0]`, `[(a.b)] = [0]`\n * If isLHS is `false`, we are in an arrow function parameters list.\n */\n toAssignable(node: Node, isLHS: boolean = false): void {\n let parenthesized = undefined;\n if (node.type === \"ParenthesizedExpression\" || node.extra?.parenthesized) {\n parenthesized = unwrapParenthesizedExpression(node);\n if (isLHS) {\n // an LHS can be reinterpreted to a binding pattern but not vice versa.\n // therefore a parenthesized identifier is ambiguous until we are sure it is an assignment expression\n // i.e. `([(a) = []] = []) => {}`\n // see also `recordArrowParameterBindingError` signature in packages/babel-parser/src/util/expression-scope.js\n if (parenthesized.type === \"Identifier\") {\n this.expressionScope.recordArrowParameterBindingError(\n Errors.InvalidParenthesizedAssignment,\n { at: node },\n );\n } else if (parenthesized.type !== \"MemberExpression\") {\n // A parenthesized member expression can be in LHS but not in pattern.\n // If the LHS is later interpreted as a pattern, `checkLVal` will throw for member expression binding\n // i.e. `([(a.b) = []] = []) => {}`\n this.raise(Errors.InvalidParenthesizedAssignment, { at: node });\n }\n } else {\n this.raise(Errors.InvalidParenthesizedAssignment, { at: node });\n }\n }\n\n switch (node.type) {\n case \"Identifier\":\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n case \"AssignmentPattern\":\n case \"RestElement\":\n break;\n\n case \"ObjectExpression\":\n node.type = \"ObjectPattern\";\n for (\n let i = 0, length = node.properties.length, last = length - 1;\n i < length;\n i++\n ) {\n const prop = node.properties[i];\n const isLast = i === last;\n this.toAssignableObjectExpressionProp(prop, isLast, isLHS);\n\n if (\n isLast &&\n prop.type === \"RestElement\" &&\n node.extra?.trailingCommaLoc\n ) {\n this.raise(Errors.RestTrailingComma, {\n at: node.extra.trailingCommaLoc,\n });\n }\n }\n break;\n\n case \"ObjectProperty\": {\n const { key, value } = node;\n if (this.isPrivateName(key)) {\n this.classScope.usePrivateName(\n this.getPrivateNameSV(key),\n key.loc.start,\n );\n }\n this.toAssignable(value, isLHS);\n break;\n }\n\n case \"SpreadElement\": {\n throw new Error(\n \"Internal @babel/parser error (this is a bug, please report it).\" +\n \" SpreadElement should be converted by .toAssignable's caller.\",\n );\n }\n\n case \"ArrayExpression\":\n node.type = \"ArrayPattern\";\n this.toAssignableList(\n node.elements,\n node.extra?.trailingCommaLoc,\n isLHS,\n );\n break;\n\n case \"AssignmentExpression\":\n if (node.operator !== \"=\") {\n this.raise(Errors.MissingEqInAssignment, { at: node.left.loc.end });\n }\n\n node.type = \"AssignmentPattern\";\n delete node.operator;\n this.toAssignable(node.left, isLHS);\n break;\n\n case \"ParenthesizedExpression\":\n /*::invariant (parenthesized !== undefined) */\n this.toAssignable(parenthesized, isLHS);\n break;\n\n default:\n // We don't know how to deal with this node. It will\n // be reported by a later call to checkLVal\n }\n }\n\n toAssignableObjectExpressionProp(\n prop: Node,\n isLast: boolean,\n isLHS: boolean,\n ) {\n if (prop.type === \"ObjectMethod\") {\n this.raise(\n prop.kind === \"get\" || prop.kind === \"set\"\n ? Errors.PatternHasAccessor\n : Errors.PatternHasMethod,\n { at: prop.key },\n );\n } else if (prop.type === \"SpreadElement\") {\n prop.type = \"RestElement\";\n const arg = prop.argument;\n this.checkToRestConversion(arg, /* allowPattern */ false);\n this.toAssignable(arg, isLHS);\n\n if (!isLast) {\n this.raise(Errors.RestTrailingComma, { at: prop });\n }\n } else {\n this.toAssignable(prop, isLHS);\n }\n }\n\n // Convert list of expression atoms to binding list.\n\n toAssignableList(\n exprList: Expression[],\n trailingCommaLoc: Position | undefined | null,\n isLHS: boolean,\n ): void {\n const end = exprList.length - 1;\n\n for (let i = 0; i <= end; i++) {\n const elt = exprList[i];\n if (!elt) continue;\n\n if (elt.type === \"SpreadElement\") {\n elt.type = \"RestElement\";\n const arg = elt.argument;\n this.checkToRestConversion(arg, /* allowPattern */ true);\n this.toAssignable(arg, isLHS);\n } else {\n this.toAssignable(elt, isLHS);\n }\n\n if (elt.type === \"RestElement\") {\n if (i < end) {\n this.raise(Errors.RestTrailingComma, { at: elt });\n } else if (trailingCommaLoc) {\n this.raise(Errors.RestTrailingComma, { at: trailingCommaLoc });\n }\n }\n }\n }\n\n isAssignable(node: Node, isBinding?: boolean): boolean {\n switch (node.type) {\n case \"Identifier\":\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n case \"AssignmentPattern\":\n case \"RestElement\":\n return true;\n\n case \"ObjectExpression\": {\n const last = node.properties.length - 1;\n return (node.properties as ObjectExpression[\"properties\"]).every(\n (prop, i) => {\n return (\n prop.type !== \"ObjectMethod\" &&\n (i === last || prop.type !== \"SpreadElement\") &&\n this.isAssignable(prop)\n );\n },\n );\n }\n\n case \"ObjectProperty\":\n return this.isAssignable(node.value);\n\n case \"SpreadElement\":\n return this.isAssignable(node.argument);\n\n case \"ArrayExpression\":\n return (node as ArrayExpression).elements.every(\n element => element === null || this.isAssignable(element),\n );\n\n case \"AssignmentExpression\":\n return node.operator === \"=\";\n\n case \"ParenthesizedExpression\":\n return this.isAssignable(node.expression);\n\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n return !isBinding;\n\n default:\n return false;\n }\n }\n\n // Convert list of expression atoms to a list of\n\n toReferencedList(\n exprList: ReadonlyArray<Expression | undefined | null>,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n isParenthesizedExpr?: boolean,\n ): ReadonlyArray<Expression | undefined | null> {\n return exprList;\n }\n\n toReferencedListDeep(\n exprList: ReadonlyArray<Expression | undefined | null>,\n isParenthesizedExpr?: boolean,\n ): void {\n this.toReferencedList(exprList, isParenthesizedExpr);\n\n for (const expr of exprList) {\n if (expr?.type === \"ArrayExpression\") {\n this.toReferencedListDeep(expr.elements);\n }\n }\n }\n\n // Parses spread element.\n\n parseSpread(\n this: Parser,\n refExpressionErrors?: ExpressionErrors | null,\n ): SpreadElement {\n const node = this.startNode<SpreadElement>();\n this.next();\n node.argument = this.parseMaybeAssignAllowIn(\n refExpressionErrors,\n undefined,\n );\n return this.finishNode(node, \"SpreadElement\");\n }\n\n // https://tc39.es/ecma262/#prod-BindingRestProperty\n // https://tc39.es/ecma262/#prod-BindingRestElement\n parseRestBinding(this: Parser): RestElement {\n const node = this.startNode<RestElement>();\n this.next(); // eat `...`\n node.argument = this.parseBindingAtom();\n return this.finishNode(node, \"RestElement\");\n }\n\n // Parses lvalue (assignable) atom.\n parseBindingAtom(this: Parser): Pattern {\n // https://tc39.es/ecma262/#prod-BindingPattern\n switch (this.state.type) {\n case tt.bracketL: {\n const node = this.startNode<ArrayPattern>();\n this.next();\n // @ts-expect-error: Fixme: TSParameterProperty can not be assigned to node.elements\n node.elements = this.parseBindingList(\n tt.bracketR,\n charCodes.rightSquareBracket,\n ParseBindingListFlags.ALLOW_EMPTY,\n );\n return this.finishNode(node, \"ArrayPattern\");\n }\n\n case tt.braceL:\n return this.parseObjectLike(tt.braceR, true);\n }\n\n // https://tc39.es/ecma262/#prod-BindingIdentifier\n return this.parseIdentifier();\n }\n\n // https://tc39.es/ecma262/#prod-BindingElementList\n parseBindingList(\n this: Parser,\n close: TokenType,\n closeCharCode: (typeof charCodes)[keyof typeof charCodes],\n flags: ParseBindingListFlags,\n ): Array<Pattern | TSParameterProperty> {\n const allowEmpty = flags & ParseBindingListFlags.ALLOW_EMPTY;\n\n const elts: Array<Pattern | TSParameterProperty> = [];\n let first = true;\n while (!this.eat(close)) {\n if (first) {\n first = false;\n } else {\n this.expect(tt.comma);\n }\n if (allowEmpty && this.match(tt.comma)) {\n elts.push(null);\n } else if (this.eat(close)) {\n break;\n } else if (this.match(tt.ellipsis)) {\n elts.push(\n this.parseAssignableListItemTypes(this.parseRestBinding(), flags),\n );\n if (!this.checkCommaAfterRest(closeCharCode)) {\n this.expect(close);\n break;\n }\n } else {\n const decorators = [];\n if (this.match(tt.at) && this.hasPlugin(\"decorators\")) {\n this.raise(Errors.UnsupportedParameterDecorator, {\n at: this.state.startLoc,\n });\n }\n // invariant: hasPlugin(\"decorators-legacy\")\n while (this.match(tt.at)) {\n decorators.push(this.parseDecorator());\n }\n elts.push(this.parseAssignableListItem(flags, decorators));\n }\n }\n return elts;\n }\n\n // https://tc39.es/ecma262/#prod-BindingRestProperty\n parseBindingRestProperty(\n this: Parser,\n prop: Undone<RestElement>,\n ): RestElement {\n this.next(); // eat '...'\n // Don't use parseRestBinding() as we only allow Identifier here.\n prop.argument = this.parseIdentifier();\n this.checkCommaAfterRest(charCodes.rightCurlyBrace);\n return this.finishNode(prop, \"RestElement\");\n }\n\n // https://tc39.es/ecma262/#prod-BindingProperty\n parseBindingProperty(this: Parser): ObjectMember | RestElement {\n const prop = this.startNode<ObjectMember | RestElement>();\n const { type, startLoc } = this.state;\n if (type === tt.ellipsis) {\n return this.parseBindingRestProperty(prop as Undone<RestElement>);\n } else if (type === tt.privateName) {\n this.expectPlugin(\"destructuringPrivate\", startLoc);\n this.classScope.usePrivateName(this.state.value, startLoc);\n (prop as Undone<ObjectMember>).key = this.parsePrivateName();\n } else {\n this.parsePropertyName(prop as Undone<ObjectMember>);\n }\n (prop as Undone<ObjectMember>).method = false;\n return this.parseObjPropValue(\n prop as Undone<ObjectMember>,\n startLoc,\n false /* isGenerator */,\n false /* isAsync */,\n true /* isPattern */,\n false /* isAccessor */,\n );\n }\n\n parseAssignableListItem(\n this: Parser,\n flags: ParseBindingListFlags,\n decorators: Decorator[],\n ): Pattern | TSParameterProperty {\n const left = this.parseMaybeDefault();\n this.parseAssignableListItemTypes(left, flags);\n const elt = this.parseMaybeDefault(left.loc.start, left);\n if (decorators.length) {\n left.decorators = decorators;\n }\n return elt;\n }\n\n // Used by flow/typescript plugin to add type annotations to binding elements\n parseAssignableListItemTypes(\n param: Pattern,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n flags: ParseBindingListFlags,\n ): Pattern {\n return param;\n }\n\n // Parses assignment pattern around given atom if possible.\n // https://tc39.es/ecma262/#prod-BindingElement\n parseMaybeDefault(\n this: Parser,\n startLoc?: Position | null,\n left?: Pattern | null,\n ): Pattern {\n startLoc ??= this.state.startLoc;\n left = left ?? this.parseBindingAtom();\n if (!this.eat(tt.eq)) return left;\n\n const node = this.startNodeAt<AssignmentPattern>(startLoc);\n node.left = left;\n node.right = this.parseMaybeAssignAllowIn();\n return this.finishNode(node, \"AssignmentPattern\");\n }\n /**\n * Return information use in determining whether a Node of a given type is an LVal,\n * possibly given certain additional context information.\n *\n * Subclasser notes: This method has kind of a lot of mixed, but related,\n * responsibilities. If we can definitively determine with the information\n * provided that this either *is* or *isn't* a valid `LVal`, then the return\n * value is easy: just return `true` or `false`. However, if it is a valid\n * LVal *ancestor*, and thus its descendants must be subsequently visited to\n * continue the \"investigation\", then this method should return the relevant\n * child key as a `string`. In some special cases, you additionally want to\n * convey that this node should be treated as if it were parenthesized. In\n * that case, a tuple of [key: string, parenthesized: boolean] is returned.\n * The `string`-only return option is actually just a shorthand for:\n * `[key: string, parenthesized: false]`.\n *\n * @param type A Node `type` string\n * @param isUnparenthesizedInAssign\n * Whether the node in question is unparenthesized and its parent\n * is either an assignment pattern or an assignment expression.\n * @param binding\n * The binding operation that is being considered for this potential\n * LVal.\n * @returns `true` or `false` if we can immediately determine whether the node\n * type in question can be treated as an `LVal`.\n * A `string` key to traverse if we must check this child.\n * A `[string, boolean]` tuple if we need to check this child and\n * treat is as parenthesized.\n */\n isValidLVal(\n type: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n isUnparenthesizedInAssign: boolean,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n binding: BindingTypes,\n ): string | boolean {\n return getOwn(\n {\n AssignmentPattern: \"left\",\n RestElement: \"argument\",\n ObjectProperty: \"value\",\n ParenthesizedExpression: \"expression\",\n ArrayPattern: \"elements\",\n ObjectPattern: \"properties\",\n },\n // @ts-expect-error refine string to enum\n type,\n );\n }\n\n /**\n * Verify that a target expression is an lval (something that can be assigned to).\n *\n * @param expression The expression in question to check.\n * @param options A set of options described below.\n * @param options.in\n * The relevant ancestor to provide context information for the error\n * if the check fails.\n * @param options.binding\n * The desired binding type. If the given expression is an identifier\n * and `binding` is not `BindingFlag.TYPE_NONE`, `checkLVal` will register binding\n * to the parser scope See also `src/util/scopeflags.js`\n * @param options.checkClashes\n * An optional string set to check if an identifier name is included.\n * `checkLVal` will add checked identifier name to `checkClashes` It is\n * used in tracking duplicates in function parameter lists. If it is\n * false, `checkLVal` will skip duplicate checks\n * @param options.strictModeChanged\n * Whether an identifier has been parsed in a sloppy context but should\n * be reinterpreted as strict-mode. e.g. `(arguments) => { \"use strict \"}`\n * @param options.hasParenthesizedAncestor\n * This is only used internally during recursive calls, and you should\n * not have to set it yourself.\n */\n\n checkLVal(\n expression: Expression | ObjectMember | RestElement,\n {\n in: ancestor,\n binding = BindingFlag.TYPE_NONE,\n checkClashes = false,\n strictModeChanged = false,\n hasParenthesizedAncestor = false,\n }: {\n in: LValAncestor;\n binding?: BindingTypes;\n checkClashes?: Set<string> | false;\n strictModeChanged?: boolean;\n hasParenthesizedAncestor?: boolean;\n },\n ): void {\n const type = expression.type;\n\n // If we find here an ObjectMethod, it's because this was originally\n // an ObjectExpression which has then been converted.\n // toAssignable already reported this error with a nicer message.\n if (this.isObjectMethod(expression)) return;\n\n if (type === \"MemberExpression\") {\n if (binding !== BindingFlag.TYPE_NONE) {\n this.raise(Errors.InvalidPropertyBindingPattern, { at: expression });\n }\n return;\n }\n\n if (type === \"Identifier\") {\n this.checkIdentifier(\n expression as Identifier,\n binding,\n strictModeChanged,\n );\n\n const { name } = expression as Identifier;\n\n if (checkClashes) {\n if (checkClashes.has(name)) {\n this.raise(Errors.ParamDupe, { at: expression });\n } else {\n checkClashes.add(name);\n }\n }\n\n return;\n }\n\n const validity = this.isValidLVal(\n type,\n !(hasParenthesizedAncestor || expression.extra?.parenthesized) &&\n ancestor.type === \"AssignmentExpression\",\n binding,\n );\n\n if (validity === true) return;\n if (validity === false) {\n const ParseErrorClass =\n binding === BindingFlag.TYPE_NONE\n ? Errors.InvalidLhs\n : Errors.InvalidLhsBinding;\n\n this.raise(ParseErrorClass, { at: expression, ancestor });\n return;\n }\n\n const [key, isParenthesizedExpression] = Array.isArray(validity)\n ? validity\n : [validity, type === \"ParenthesizedExpression\"];\n const nextAncestor =\n type === \"ArrayPattern\" ||\n type === \"ObjectPattern\" ||\n type === \"ParenthesizedExpression\"\n ? ({ type } as const)\n : ancestor;\n\n // @ts-expect-error key may not index expression.\n for (const child of [].concat(expression[key])) {\n if (child) {\n this.checkLVal(child, {\n in: nextAncestor,\n binding,\n checkClashes,\n strictModeChanged,\n hasParenthesizedAncestor: isParenthesizedExpression,\n });\n }\n }\n }\n\n checkIdentifier(\n at: Identifier,\n bindingType: BindingTypes,\n strictModeChanged: boolean = false,\n ) {\n if (\n this.state.strict &&\n (strictModeChanged\n ? isStrictBindReservedWord(at.name, this.inModule)\n : isStrictBindOnlyReservedWord(at.name))\n ) {\n if (bindingType === BindingFlag.TYPE_NONE) {\n this.raise(Errors.StrictEvalArguments, { at, referenceName: at.name });\n } else {\n this.raise(Errors.StrictEvalArgumentsBinding, {\n at,\n bindingName: at.name,\n });\n }\n }\n\n if (bindingType & BindingFlag.FLAG_NO_LET_IN_LEXICAL && at.name === \"let\") {\n this.raise(Errors.LetInLexicalBinding, { at });\n }\n\n if (!(bindingType & BindingFlag.TYPE_NONE)) {\n this.declareNameFromIdentifier(at, bindingType);\n }\n }\n\n declareNameFromIdentifier(identifier: Identifier, binding: BindingTypes) {\n this.scope.declareName(identifier.name, binding, identifier.loc.start);\n }\n\n checkToRestConversion(node: Node, allowPattern: boolean): void {\n switch (node.type) {\n case \"ParenthesizedExpression\":\n this.checkToRestConversion(node.expression, allowPattern);\n break;\n case \"Identifier\":\n case \"MemberExpression\":\n break;\n case \"ArrayExpression\":\n case \"ObjectExpression\":\n if (allowPattern) break;\n /* falls through */\n default:\n this.raise(Errors.InvalidRestAssignmentPattern, { at: node });\n }\n }\n\n checkCommaAfterRest(\n close: (typeof charCodes)[keyof typeof charCodes],\n ): boolean {\n if (!this.match(tt.comma)) {\n return false;\n }\n\n this.raise(\n this.lookaheadCharCode() === close\n ? Errors.RestTrailingComma\n : Errors.ElementAfterRest,\n { at: this.state.startLoc },\n );\n\n return true;\n }\n}\n"],"mappings":"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"}
@@ -1,127 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.NodeUtils = void 0;
7
- exports.cloneIdentifier = cloneIdentifier;
8
- exports.cloneStringLiteral = cloneStringLiteral;
9
- var _util = require("./util");
10
- var _location = require("../util/location");
11
- class Node {
12
- constructor(parser, pos, loc) {
13
- this.type = "";
14
- this.start = pos;
15
- this.end = 0;
16
- this.loc = new _location.SourceLocation(loc);
17
- if (parser != null && parser.options.ranges) this.range = [pos, 0];
18
- if (parser != null && parser.filename) this.loc.filename = parser.filename;
19
- }
20
- }
21
- const NodePrototype = Node.prototype;
22
- {
23
- NodePrototype.__clone = function () {
24
- const newNode = new Node(undefined, this.start, this.loc.start);
25
- const keys = Object.keys(this);
26
- for (let i = 0, length = keys.length; i < length; i++) {
27
- const key = keys[i];
28
- if (key !== "leadingComments" && key !== "trailingComments" && key !== "innerComments") {
29
- newNode[key] = this[key];
30
- }
31
- }
32
- return newNode;
33
- };
34
- }
35
- function clonePlaceholder(node) {
36
- return cloneIdentifier(node);
37
- }
38
- function cloneIdentifier(node) {
39
- const {
40
- type,
41
- start,
42
- end,
43
- loc,
44
- range,
45
- extra,
46
- name
47
- } = node;
48
- const cloned = Object.create(NodePrototype);
49
- cloned.type = type;
50
- cloned.start = start;
51
- cloned.end = end;
52
- cloned.loc = loc;
53
- cloned.range = range;
54
- cloned.extra = extra;
55
- cloned.name = name;
56
- if (type === "Placeholder") {
57
- cloned.expectedNode = node.expectedNode;
58
- }
59
- return cloned;
60
- }
61
- function cloneStringLiteral(node) {
62
- const {
63
- type,
64
- start,
65
- end,
66
- loc,
67
- range,
68
- extra
69
- } = node;
70
- if (type === "Placeholder") {
71
- return clonePlaceholder(node);
72
- }
73
- const cloned = Object.create(NodePrototype);
74
- cloned.type = type;
75
- cloned.start = start;
76
- cloned.end = end;
77
- cloned.loc = loc;
78
- cloned.range = range;
79
- if (node.raw !== undefined) {
80
- cloned.raw = node.raw;
81
- } else {
82
- cloned.extra = extra;
83
- }
84
- cloned.value = node.value;
85
- return cloned;
86
- }
87
- class NodeUtils extends _util.default {
88
- startNode() {
89
- return new Node(this, this.state.start, this.state.startLoc);
90
- }
91
- startNodeAt(loc) {
92
- return new Node(this, loc.index, loc);
93
- }
94
- startNodeAtNode(type) {
95
- return this.startNodeAt(type.loc.start);
96
- }
97
- finishNode(node, type) {
98
- return this.finishNodeAt(node, type, this.state.lastTokEndLoc);
99
- }
100
- finishNodeAt(node, type, endLoc) {
101
- if (process.env.NODE_ENV !== "production" && node.end > 0) {
102
- throw new Error("Do not call finishNode*() twice on the same node." + " Instead use resetEndLocation() or change type directly.");
103
- }
104
- node.type = type;
105
- node.end = endLoc.index;
106
- node.loc.end = endLoc;
107
- if (this.options.ranges) node.range[1] = endLoc.index;
108
- if (this.options.attachComment) this.processComment(node);
109
- return node;
110
- }
111
- resetStartLocation(node, startLoc) {
112
- node.start = startLoc.index;
113
- node.loc.start = startLoc;
114
- if (this.options.ranges) node.range[0] = startLoc.index;
115
- }
116
- resetEndLocation(node, endLoc = this.state.lastTokEndLoc) {
117
- node.end = endLoc.index;
118
- node.loc.end = endLoc;
119
- if (this.options.ranges) node.range[1] = endLoc.index;
120
- }
121
- resetStartLocationFromNode(node, locationNode) {
122
- this.resetStartLocation(node, locationNode.loc.start);
123
- }
124
- }
125
- exports.NodeUtils = NodeUtils;
126
-
127
- //# sourceMappingURL=node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_util","require","_location","Node","constructor","parser","pos","loc","type","start","end","SourceLocation","options","ranges","range","filename","NodePrototype","prototype","__clone","newNode","undefined","keys","Object","i","length","key","clonePlaceholder","node","cloneIdentifier","extra","name","cloned","create","expectedNode","cloneStringLiteral","raw","value","NodeUtils","UtilParser","startNode","state","startLoc","startNodeAt","index","startNodeAtNode","finishNode","finishNodeAt","lastTokEndLoc","endLoc","process","env","NODE_ENV","Error","attachComment","processComment","resetStartLocation","resetEndLocation","resetStartLocationFromNode","locationNode","exports"],"sources":["../../src/parser/node.ts"],"sourcesContent":["import type Parser from \"./index\";\nimport UtilParser from \"./util\";\nimport { SourceLocation, type Position } from \"../util/location\";\nimport type { Comment, Node as NodeType, NodeBase } from \"../types\";\n\n// Start an AST node, attaching a start offset.\n\nclass Node implements NodeBase {\n constructor(parser: Parser, pos: number, loc: Position) {\n this.start = pos;\n this.end = 0;\n this.loc = new SourceLocation(loc);\n if (parser?.options.ranges) this.range = [pos, 0];\n if (parser?.filename) this.loc.filename = parser.filename;\n }\n\n type: string = \"\";\n declare start: number;\n declare end: number;\n declare loc: SourceLocation;\n declare range: [number, number];\n declare leadingComments: Array<Comment>;\n declare trailingComments: Array<Comment>;\n declare innerComments: Array<Comment>;\n declare extra: {\n [key: string]: any;\n };\n}\nconst NodePrototype = Node.prototype;\n\nif (!process.env.BABEL_8_BREAKING) {\n // @ts-expect-error __clone is not defined in Node prototype\n NodePrototype.__clone = function (): Node {\n const newNode = new Node(undefined, this.start, this.loc.start);\n const keys = Object.keys(this) as (keyof Node)[];\n for (let i = 0, length = keys.length; i < length; i++) {\n const key = keys[i];\n // Do not clone comments that are already attached to the node\n if (\n key !== \"leadingComments\" &&\n key !== \"trailingComments\" &&\n key !== \"innerComments\"\n ) {\n // @ts-expect-error cloning this to newNode\n newNode[key] = this[key];\n }\n }\n\n return newNode;\n };\n}\n\nfunction clonePlaceholder(node: any): any {\n return cloneIdentifier(node);\n}\n\nexport function cloneIdentifier(node: any): any {\n // We don't need to clone `typeAnnotations` and `optional`: because\n // cloneIdentifier is only used in object shorthand and named import/export.\n // Neither of them allow type annotations after the identifier or optional identifier\n const { type, start, end, loc, range, extra, name } = node;\n const cloned = Object.create(NodePrototype);\n cloned.type = type;\n cloned.start = start;\n cloned.end = end;\n cloned.loc = loc;\n cloned.range = range;\n cloned.extra = extra;\n cloned.name = name;\n if (type === \"Placeholder\") {\n cloned.expectedNode = node.expectedNode;\n }\n return cloned;\n}\n\nexport function cloneStringLiteral(node: any): any {\n const { type, start, end, loc, range, extra } = node;\n if (type === \"Placeholder\") {\n return clonePlaceholder(node);\n }\n const cloned = Object.create(NodePrototype);\n cloned.type = type;\n cloned.start = start;\n cloned.end = end;\n cloned.loc = loc;\n cloned.range = range;\n if (node.raw !== undefined) {\n // estree set node.raw instead of node.extra\n cloned.raw = node.raw;\n } else {\n cloned.extra = extra;\n }\n cloned.value = node.value;\n return cloned;\n}\n\nexport type Undone<T extends NodeType> = Omit<T, \"type\">;\n\nexport abstract class NodeUtils extends UtilParser {\n startNode<T extends NodeType>(): Undone<T> {\n // @ts-expect-error cast Node as Undone<T>\n return new Node(this, this.state.start, this.state.startLoc);\n }\n\n startNodeAt<T extends NodeType>(loc: Position): Undone<T> {\n // @ts-expect-error cast Node as Undone<T>\n return new Node(this, loc.index, loc);\n }\n\n /** Start a new node with a previous node's location. */\n startNodeAtNode<T extends NodeType>(type: Undone<NodeType>): Undone<T> {\n return this.startNodeAt(type.loc.start);\n }\n\n // Finish an AST node, adding `type` and `end` properties.\n\n finishNode<T extends NodeType>(node: Undone<T>, type: T[\"type\"]): T {\n return this.finishNodeAt(node, type, this.state.lastTokEndLoc);\n }\n\n // Finish node at given position\n\n finishNodeAt<T extends NodeType>(\n node: Omit<T, \"type\">,\n type: T[\"type\"],\n endLoc: Position,\n ): T {\n if (process.env.NODE_ENV !== \"production\" && node.end > 0) {\n throw new Error(\n \"Do not call finishNode*() twice on the same node.\" +\n \" Instead use resetEndLocation() or change type directly.\",\n );\n }\n // @ts-expect-error migrate to Babel types AST typings\n node.type = type;\n // @ts-expect-error migrate to Babel types AST typings\n node.end = endLoc.index;\n node.loc.end = endLoc;\n if (this.options.ranges) node.range[1] = endLoc.index;\n if (this.options.attachComment) this.processComment(node as T);\n return node as T;\n }\n\n resetStartLocation(node: NodeBase, startLoc: Position): void {\n node.start = startLoc.index;\n node.loc.start = startLoc;\n if (this.options.ranges) node.range[0] = startLoc.index;\n }\n\n resetEndLocation(\n node: NodeBase,\n endLoc: Position = this.state.lastTokEndLoc,\n ): void {\n node.end = endLoc.index;\n node.loc.end = endLoc;\n if (this.options.ranges) node.range[1] = endLoc.index;\n }\n\n /**\n * Reset the start location of node to the start location of locationNode\n */\n resetStartLocationFromNode(node: NodeBase, locationNode: NodeBase): void {\n this.resetStartLocation(node, locationNode.loc.start);\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,MAAME,IAAI,CAAqB;EAC7BC,WAAWA,CAACC,MAAc,EAAEC,GAAW,EAAEC,GAAa,EAAE;IAAA,KAQxDC,IAAI,GAAW,EAAE;IAPf,IAAI,CAACC,KAAK,GAAGH,GAAG;IAChB,IAAI,CAACI,GAAG,GAAG,CAAC;IACZ,IAAI,CAACH,GAAG,GAAG,IAAII,wBAAc,CAACJ,GAAG,CAAC;IAClC,IAAIF,MAAM,YAANA,MAAM,CAAEO,OAAO,CAACC,MAAM,EAAE,IAAI,CAACC,KAAK,GAAG,CAACR,GAAG,EAAE,CAAC,CAAC;IACjD,IAAID,MAAM,YAANA,MAAM,CAAEU,QAAQ,EAAE,IAAI,CAACR,GAAG,CAACQ,QAAQ,GAAGV,MAAM,CAACU,QAAQ;EAC3D;AAaF;AACA,MAAMC,aAAa,GAAGb,IAAI,CAACc,SAAS;AAED;EAEjCD,aAAa,CAACE,OAAO,GAAG,YAAkB;IACxC,MAAMC,OAAO,GAAG,IAAIhB,IAAI,CAACiB,SAAS,EAAE,IAAI,CAACX,KAAK,EAAE,IAAI,CAACF,GAAG,CAACE,KAAK,CAAC;IAC/D,MAAMY,IAAI,GAAGC,MAAM,CAACD,IAAI,CAAC,IAAI,CAAmB;IAChD,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEC,MAAM,GAAGH,IAAI,CAACG,MAAM,EAAED,CAAC,GAAGC,MAAM,EAAED,CAAC,EAAE,EAAE;MACrD,MAAME,GAAG,GAAGJ,IAAI,CAACE,CAAC,CAAC;MAEnB,IACEE,GAAG,KAAK,iBAAiB,IACzBA,GAAG,KAAK,kBAAkB,IAC1BA,GAAG,KAAK,eAAe,EACvB;QAEAN,OAAO,CAACM,GAAG,CAAC,GAAG,IAAI,CAACA,GAAG,CAAC;MAC1B;IACF;IAEA,OAAON,OAAO;EAChB,CAAC;AACH;AAEA,SAASO,gBAAgBA,CAACC,IAAS,EAAO;EACxC,OAAOC,eAAe,CAACD,IAAI,CAAC;AAC9B;AAEO,SAASC,eAAeA,CAACD,IAAS,EAAO;EAI9C,MAAM;IAAEnB,IAAI;IAAEC,KAAK;IAAEC,GAAG;IAAEH,GAAG;IAAEO,KAAK;IAAEe,KAAK;IAAEC;EAAK,CAAC,GAAGH,IAAI;EAC1D,MAAMI,MAAM,GAAGT,MAAM,CAACU,MAAM,CAAChB,aAAa,CAAC;EAC3Ce,MAAM,CAACvB,IAAI,GAAGA,IAAI;EAClBuB,MAAM,CAACtB,KAAK,GAAGA,KAAK;EACpBsB,MAAM,CAACrB,GAAG,GAAGA,GAAG;EAChBqB,MAAM,CAACxB,GAAG,GAAGA,GAAG;EAChBwB,MAAM,CAACjB,KAAK,GAAGA,KAAK;EACpBiB,MAAM,CAACF,KAAK,GAAGA,KAAK;EACpBE,MAAM,CAACD,IAAI,GAAGA,IAAI;EAClB,IAAItB,IAAI,KAAK,aAAa,EAAE;IAC1BuB,MAAM,CAACE,YAAY,GAAGN,IAAI,CAACM,YAAY;EACzC;EACA,OAAOF,MAAM;AACf;AAEO,SAASG,kBAAkBA,CAACP,IAAS,EAAO;EACjD,MAAM;IAAEnB,IAAI;IAAEC,KAAK;IAAEC,GAAG;IAAEH,GAAG;IAAEO,KAAK;IAAEe;EAAM,CAAC,GAAGF,IAAI;EACpD,IAAInB,IAAI,KAAK,aAAa,EAAE;IAC1B,OAAOkB,gBAAgB,CAACC,IAAI,CAAC;EAC/B;EACA,MAAMI,MAAM,GAAGT,MAAM,CAACU,MAAM,CAAChB,aAAa,CAAC;EAC3Ce,MAAM,CAACvB,IAAI,GAAGA,IAAI;EAClBuB,MAAM,CAACtB,KAAK,GAAGA,KAAK;EACpBsB,MAAM,CAACrB,GAAG,GAAGA,GAAG;EAChBqB,MAAM,CAACxB,GAAG,GAAGA,GAAG;EAChBwB,MAAM,CAACjB,KAAK,GAAGA,KAAK;EACpB,IAAIa,IAAI,CAACQ,GAAG,KAAKf,SAAS,EAAE;IAE1BW,MAAM,CAACI,GAAG,GAAGR,IAAI,CAACQ,GAAG;EACvB,CAAC,MAAM;IACLJ,MAAM,CAACF,KAAK,GAAGA,KAAK;EACtB;EACAE,MAAM,CAACK,KAAK,GAAGT,IAAI,CAACS,KAAK;EACzB,OAAOL,MAAM;AACf;AAIO,MAAeM,SAAS,SAASC,aAAU,CAAC;EACjDC,SAASA,CAAA,EAAkC;IAEzC,OAAO,IAAIpC,IAAI,CAAC,IAAI,EAAE,IAAI,CAACqC,KAAK,CAAC/B,KAAK,EAAE,IAAI,CAAC+B,KAAK,CAACC,QAAQ,CAAC;EAC9D;EAEAC,WAAWA,CAAqBnC,GAAa,EAAa;IAExD,OAAO,IAAIJ,IAAI,CAAC,IAAI,EAAEI,GAAG,CAACoC,KAAK,EAAEpC,GAAG,CAAC;EACvC;EAGAqC,eAAeA,CAAqBpC,IAAsB,EAAa;IACrE,OAAO,IAAI,CAACkC,WAAW,CAAClC,IAAI,CAACD,GAAG,CAACE,KAAK,CAAC;EACzC;EAIAoC,UAAUA,CAAqBlB,IAAe,EAAEnB,IAAe,EAAK;IAClE,OAAO,IAAI,CAACsC,YAAY,CAACnB,IAAI,EAAEnB,IAAI,EAAE,IAAI,CAACgC,KAAK,CAACO,aAAa,CAAC;EAChE;EAIAD,YAAYA,CACVnB,IAAqB,EACrBnB,IAAe,EACfwC,MAAgB,EACb;IACH,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIxB,IAAI,CAACjB,GAAG,GAAG,CAAC,EAAE;MACzD,MAAM,IAAI0C,KAAK,CACb,mDAAmD,GACjD,0DACJ,CAAC;IACH;IAEAzB,IAAI,CAACnB,IAAI,GAAGA,IAAI;IAEhBmB,IAAI,CAACjB,GAAG,GAAGsC,MAAM,CAACL,KAAK;IACvBhB,IAAI,CAACpB,GAAG,CAACG,GAAG,GAAGsC,MAAM;IACrB,IAAI,IAAI,CAACpC,OAAO,CAACC,MAAM,EAAEc,IAAI,CAACb,KAAK,CAAC,CAAC,CAAC,GAAGkC,MAAM,CAACL,KAAK;IACrD,IAAI,IAAI,CAAC/B,OAAO,CAACyC,aAAa,EAAE,IAAI,CAACC,cAAc,CAAC3B,IAAS,CAAC;IAC9D,OAAOA,IAAI;EACb;EAEA4B,kBAAkBA,CAAC5B,IAAc,EAAEc,QAAkB,EAAQ;IAC3Dd,IAAI,CAAClB,KAAK,GAAGgC,QAAQ,CAACE,KAAK;IAC3BhB,IAAI,CAACpB,GAAG,CAACE,KAAK,GAAGgC,QAAQ;IACzB,IAAI,IAAI,CAAC7B,OAAO,CAACC,MAAM,EAAEc,IAAI,CAACb,KAAK,CAAC,CAAC,CAAC,GAAG2B,QAAQ,CAACE,KAAK;EACzD;EAEAa,gBAAgBA,CACd7B,IAAc,EACdqB,MAAgB,GAAG,IAAI,CAACR,KAAK,CAACO,aAAa,EACrC;IACNpB,IAAI,CAACjB,GAAG,GAAGsC,MAAM,CAACL,KAAK;IACvBhB,IAAI,CAACpB,GAAG,CAACG,GAAG,GAAGsC,MAAM;IACrB,IAAI,IAAI,CAACpC,OAAO,CAACC,MAAM,EAAEc,IAAI,CAACb,KAAK,CAAC,CAAC,CAAC,GAAGkC,MAAM,CAACL,KAAK;EACvD;EAKAc,0BAA0BA,CAAC9B,IAAc,EAAE+B,YAAsB,EAAQ;IACvE,IAAI,CAACH,kBAAkB,CAAC5B,IAAI,EAAE+B,YAAY,CAACnD,GAAG,CAACE,KAAK,CAAC;EACvD;AACF;AAACkD,OAAA,CAAAtB,SAAA,GAAAA,SAAA"}