@galadrim/galadmin 0.1.32 → 0.1.34

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 (214) hide show
  1. package/dist/api.js +1 -0
  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 +1 -0
  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 +2 -0
  9. package/src/front/build/static/js/main.4ce5340d.chunk.js.map +1 -0
  10. package/src/front/node_modules/.cache/.eslintcache +1 -1
  11. package/src/front/node_modules/.cache/babel-loader/{a442b07ccfc975b334314fdb76b50b42.json → 04b67a528af96a9bceeadf265dfb56d2.json} +1 -1
  12. package/src/front/node_modules/.cache/babel-loader/cdf89c046963294c4cbf7482c8706cbc.json +1 -0
  13. package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/c3/3e/f2b5b90044b7bdbb4cff67b2c09e24bb506274240d920de24bb4b678f3f00b80f7e9f0900cd1de883484031488d8603e97ea6b4e39a9c6ab5160353d3be9 +1 -0
  14. package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/6c/19/fe86ba5d7c4062f185480ad22dd3b9fae9b30149827224339f9a633a9a94 +1 -1
  15. package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/87/08/421190bfe6e50816e059da6c33526c9943732ef856ebd2752d0cbfb4a852 +1 -1
  16. package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/{b3/58/c0bc4ec69302d38ceac243da47ee7549ca88af7e0c89962c82ad9b304bbb → c2/e5/5451dd89bb0fd48f988bf27c7ee614c66eb91f7085c5b5c8cb33048d0c32} +1 -1
  17. package/src/front/node_modules/.package-lock.json +111 -78
  18. package/src/front/node_modules/@babel/code-frame/README.md +1 -1
  19. package/src/front/node_modules/@babel/code-frame/lib/index.js +15 -1
  20. package/src/front/node_modules/@babel/code-frame/lib/index.js.map +1 -1
  21. package/src/front/node_modules/@babel/code-frame/node_modules/ansi-styles/index.js +165 -0
  22. package/src/front/node_modules/@babel/code-frame/node_modules/ansi-styles/license +9 -0
  23. package/src/front/node_modules/@babel/code-frame/node_modules/ansi-styles/package.json +56 -0
  24. package/src/front/node_modules/@babel/code-frame/node_modules/ansi-styles/readme.md +147 -0
  25. package/src/front/node_modules/@babel/code-frame/node_modules/chalk/index.js +228 -0
  26. package/src/front/node_modules/@babel/code-frame/node_modules/chalk/index.js.flow +93 -0
  27. package/src/front/node_modules/@babel/code-frame/node_modules/chalk/license +9 -0
  28. package/src/front/node_modules/@babel/code-frame/node_modules/chalk/package.json +71 -0
  29. package/src/front/node_modules/@babel/code-frame/node_modules/chalk/readme.md +314 -0
  30. package/src/front/node_modules/@babel/code-frame/node_modules/chalk/templates.js +128 -0
  31. package/src/front/node_modules/@babel/code-frame/node_modules/chalk/types/index.d.ts +97 -0
  32. package/src/front/node_modules/@babel/code-frame/node_modules/supports-color/browser.js +5 -0
  33. package/src/front/node_modules/@babel/code-frame/node_modules/supports-color/index.js +131 -0
  34. package/src/front/node_modules/@babel/code-frame/node_modules/supports-color/license +9 -0
  35. package/src/front/node_modules/@babel/code-frame/node_modules/supports-color/package.json +53 -0
  36. package/src/front/node_modules/@babel/code-frame/node_modules/supports-color/readme.md +66 -0
  37. package/src/front/node_modules/@babel/code-frame/package.json +3 -2
  38. package/src/front/node_modules/@babel/compat-data/README.md +1 -1
  39. package/src/front/node_modules/@babel/compat-data/data/corejs2-built-ins.json +146 -0
  40. package/src/front/node_modules/@babel/compat-data/data/native-modules.json +1 -1
  41. package/src/front/node_modules/@babel/compat-data/data/plugin-bugfixes.json +17 -0
  42. package/src/front/node_modules/@babel/compat-data/data/plugins.json +76 -9
  43. package/src/front/node_modules/@babel/compat-data/package.json +4 -4
  44. package/src/front/node_modules/@babel/core/README.md +1 -1
  45. package/src/front/node_modules/@babel/core/cjs-proxy.cjs +3 -1
  46. package/src/front/node_modules/@babel/core/lib/config/config-chain.js +8 -7
  47. package/src/front/node_modules/@babel/core/lib/config/config-chain.js.map +1 -1
  48. package/src/front/node_modules/@babel/core/lib/config/config-descriptors.js +2 -1
  49. package/src/front/node_modules/@babel/core/lib/config/config-descriptors.js.map +1 -1
  50. package/src/front/node_modules/@babel/core/lib/config/full.js +2 -3
  51. package/src/front/node_modules/@babel/core/lib/config/full.js.map +1 -1
  52. package/src/front/node_modules/@babel/core/lib/config/index.js.map +1 -1
  53. package/src/front/node_modules/@babel/core/lib/config/item.js.map +1 -1
  54. package/src/front/node_modules/@babel/core/lib/config/printer.js.map +1 -1
  55. package/src/front/node_modules/@babel/core/lib/config/validation/option-assertions.js +1 -3
  56. package/src/front/node_modules/@babel/core/lib/config/validation/option-assertions.js.map +1 -1
  57. package/src/front/node_modules/@babel/core/lib/config/validation/options.js.map +1 -1
  58. package/src/front/node_modules/@babel/core/lib/config/validation/plugins.js +5 -2
  59. package/src/front/node_modules/@babel/core/lib/config/validation/plugins.js.map +1 -1
  60. package/src/front/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js +2 -1
  61. package/src/front/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js.map +1 -1
  62. package/src/front/node_modules/@babel/core/lib/index.js +2 -1
  63. package/src/front/node_modules/@babel/core/lib/index.js.map +1 -1
  64. package/src/front/node_modules/@babel/core/lib/transformation/file/generate.js.map +1 -1
  65. package/src/front/node_modules/@babel/core/lib/transformation/index.js +3 -1
  66. package/src/front/node_modules/@babel/core/lib/transformation/index.js.map +1 -1
  67. package/src/front/node_modules/@babel/core/lib/transformation/plugin-pass.js.map +1 -1
  68. package/src/front/node_modules/@babel/core/node_modules/semver/package.json +19 -9
  69. package/src/front/node_modules/@babel/core/node_modules/semver/semver.js +71 -24
  70. package/src/front/node_modules/@babel/core/package.json +12 -12
  71. package/src/front/node_modules/@babel/generator/README.md +1 -1
  72. package/src/front/node_modules/@babel/generator/lib/buffer.js +6 -6
  73. package/src/front/node_modules/@babel/generator/lib/buffer.js.map +1 -1
  74. package/src/front/node_modules/@babel/generator/lib/generators/classes.js +6 -6
  75. package/src/front/node_modules/@babel/generator/lib/generators/classes.js.map +1 -1
  76. package/src/front/node_modules/@babel/generator/lib/generators/methods.js.map +1 -1
  77. package/src/front/node_modules/@babel/generator/lib/generators/types.js +1 -1
  78. package/src/front/node_modules/@babel/generator/lib/generators/types.js.map +1 -1
  79. package/src/front/node_modules/@babel/generator/lib/index.js +2 -1
  80. package/src/front/node_modules/@babel/generator/lib/index.js.map +1 -1
  81. package/src/front/node_modules/@babel/generator/lib/printer.js +6 -6
  82. package/src/front/node_modules/@babel/generator/lib/printer.js.map +1 -1
  83. package/src/front/node_modules/@babel/generator/lib/source-map.js.map +1 -1
  84. package/src/front/node_modules/@babel/generator/package.json +5 -4
  85. package/src/front/node_modules/@babel/helper-compilation-targets/README.md +1 -1
  86. package/src/front/node_modules/@babel/helper-compilation-targets/lib/filter-items.js +2 -6
  87. package/src/front/node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map +1 -1
  88. package/src/front/node_modules/@babel/helper-compilation-targets/lib/index.js +8 -4
  89. package/src/front/node_modules/@babel/helper-compilation-targets/lib/index.js.map +1 -1
  90. package/src/front/node_modules/@babel/helper-compilation-targets/lib/options.js +2 -1
  91. package/src/front/node_modules/@babel/helper-compilation-targets/lib/options.js.map +1 -1
  92. package/src/front/node_modules/@babel/helper-compilation-targets/lib/targets.js +1 -1
  93. package/src/front/node_modules/@babel/helper-compilation-targets/lib/targets.js.map +1 -1
  94. package/src/front/node_modules/@babel/helper-compilation-targets/node_modules/semver/package.json +19 -9
  95. package/src/front/node_modules/@babel/helper-compilation-targets/node_modules/semver/semver.js +71 -24
  96. package/src/front/node_modules/@babel/helper-compilation-targets/package.json +4 -8
  97. package/src/front/node_modules/@babel/helper-module-transforms/README.md +1 -1
  98. package/src/front/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js +11 -12
  99. package/src/front/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js.map +1 -1
  100. package/src/front/node_modules/@babel/helper-module-transforms/lib/index.js +15 -16
  101. package/src/front/node_modules/@babel/helper-module-transforms/lib/index.js.map +1 -1
  102. package/src/front/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js +3 -4
  103. package/src/front/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js.map +1 -1
  104. package/src/front/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js +4 -5
  105. package/src/front/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js.map +1 -1
  106. package/src/front/node_modules/@babel/helper-module-transforms/package.json +10 -6
  107. package/src/front/node_modules/@babel/helper-split-export-declaration/README.md +1 -1
  108. package/src/front/node_modules/@babel/helper-split-export-declaration/lib/index.js +5 -1
  109. package/src/front/node_modules/@babel/helper-split-export-declaration/lib/index.js.map +1 -1
  110. package/src/front/node_modules/@babel/helper-split-export-declaration/package.json +1 -1
  111. package/src/front/node_modules/@babel/helpers/README.md +1 -1
  112. package/src/front/node_modules/@babel/helpers/lib/helpers/dispose.js +9 -13
  113. package/src/front/node_modules/@babel/helpers/lib/helpers/dispose.js.map +1 -1
  114. package/src/front/node_modules/@babel/helpers/lib/helpers/regeneratorRuntime.js +2 -4
  115. package/src/front/node_modules/@babel/helpers/lib/helpers/regeneratorRuntime.js.map +1 -1
  116. package/src/front/node_modules/@babel/helpers/lib/helpers/using.js +1 -1
  117. package/src/front/node_modules/@babel/helpers/lib/helpers/using.js.map +1 -1
  118. package/src/front/node_modules/@babel/helpers/lib/helpers-generated.js +3 -3
  119. package/src/front/node_modules/@babel/helpers/lib/helpers-generated.js.map +1 -1
  120. package/src/front/node_modules/@babel/helpers/package.json +6 -6
  121. package/src/front/node_modules/@babel/highlight/README.md +1 -1
  122. package/src/front/node_modules/@babel/highlight/lib/index.js +20 -10
  123. package/src/front/node_modules/@babel/highlight/lib/index.js.map +1 -1
  124. package/src/front/node_modules/@babel/highlight/package.json +2 -3
  125. package/src/front/node_modules/@babel/parser/README.md +1 -1
  126. package/src/front/node_modules/@babel/parser/lib/index.js +116 -163
  127. package/src/front/node_modules/@babel/parser/lib/index.js.map +1 -1
  128. package/src/front/node_modules/@babel/parser/lib/options.js +6 -2
  129. package/src/front/node_modules/@babel/parser/lib/options.js.map +1 -1
  130. package/src/front/node_modules/@babel/parser/lib/parser/expression.js +4 -4
  131. package/src/front/node_modules/@babel/parser/lib/parser/expression.js.map +1 -1
  132. package/src/front/node_modules/@babel/parser/lib/parser/lval.js +6 -6
  133. package/src/front/node_modules/@babel/parser/lib/parser/lval.js.map +1 -1
  134. package/src/front/node_modules/@babel/parser/lib/parser/statement.js +21 -22
  135. package/src/front/node_modules/@babel/parser/lib/parser/statement.js.map +1 -1
  136. package/src/front/node_modules/@babel/parser/lib/parser/util.js +1 -1
  137. package/src/front/node_modules/@babel/parser/lib/parser/util.js.map +1 -1
  138. package/src/front/node_modules/@babel/parser/lib/plugins/flow/index.js +7 -7
  139. package/src/front/node_modules/@babel/parser/lib/plugins/flow/index.js.map +1 -1
  140. package/src/front/node_modules/@babel/parser/lib/plugins/flow/scope.js +2 -2
  141. package/src/front/node_modules/@babel/parser/lib/plugins/flow/scope.js.map +1 -1
  142. package/src/front/node_modules/@babel/parser/lib/plugins/placeholders.js +2 -1
  143. package/src/front/node_modules/@babel/parser/lib/plugins/placeholders.js.map +1 -1
  144. package/src/front/node_modules/@babel/parser/lib/plugins/typescript/index.js +16 -16
  145. package/src/front/node_modules/@babel/parser/lib/plugins/typescript/index.js.map +1 -1
  146. package/src/front/node_modules/@babel/parser/lib/plugins/typescript/scope.js +16 -14
  147. package/src/front/node_modules/@babel/parser/lib/plugins/typescript/scope.js.map +1 -1
  148. package/src/front/node_modules/@babel/parser/lib/util/class-scope.js +5 -5
  149. package/src/front/node_modules/@babel/parser/lib/util/class-scope.js.map +1 -1
  150. package/src/front/node_modules/@babel/parser/lib/util/expression-scope.js +7 -12
  151. package/src/front/node_modules/@babel/parser/lib/util/expression-scope.js.map +1 -1
  152. package/src/front/node_modules/@babel/parser/lib/util/scope.js +23 -23
  153. package/src/front/node_modules/@babel/parser/lib/util/scope.js.map +1 -1
  154. package/src/front/node_modules/@babel/parser/lib/util/scopeflags.js +60 -99
  155. package/src/front/node_modules/@babel/parser/lib/util/scopeflags.js.map +1 -1
  156. package/src/front/node_modules/@babel/parser/package.json +3 -3
  157. package/src/front/node_modules/@babel/traverse/README.md +1 -1
  158. package/src/front/node_modules/@babel/traverse/lib/cache.js +24 -3
  159. package/src/front/node_modules/@babel/traverse/lib/cache.js.map +1 -1
  160. package/src/front/node_modules/@babel/traverse/lib/index.js +5 -3
  161. package/src/front/node_modules/@babel/traverse/lib/index.js.map +1 -1
  162. package/src/front/node_modules/@babel/traverse/lib/path/context.js.map +1 -1
  163. package/src/front/node_modules/@babel/traverse/lib/path/conversion.js +1 -4
  164. package/src/front/node_modules/@babel/traverse/lib/path/conversion.js.map +1 -1
  165. package/src/front/node_modules/@babel/traverse/lib/path/index.js +2 -6
  166. package/src/front/node_modules/@babel/traverse/lib/path/index.js.map +1 -1
  167. package/src/front/node_modules/@babel/traverse/lib/path/lib/hoister.js.map +1 -1
  168. package/src/front/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js +9 -7
  169. package/src/front/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js.map +1 -1
  170. package/src/front/node_modules/@babel/traverse/lib/path/lib/virtual-types.js.map +1 -1
  171. package/src/front/node_modules/@babel/traverse/lib/path/modification.js +3 -2
  172. package/src/front/node_modules/@babel/traverse/lib/path/modification.js.map +1 -1
  173. package/src/front/node_modules/@babel/traverse/lib/path/removal.js +3 -1
  174. package/src/front/node_modules/@babel/traverse/lib/path/removal.js.map +1 -1
  175. package/src/front/node_modules/@babel/traverse/lib/path/replacement.js +4 -4
  176. package/src/front/node_modules/@babel/traverse/lib/path/replacement.js.map +1 -1
  177. package/src/front/node_modules/@babel/traverse/lib/scope/index.js +23 -10
  178. package/src/front/node_modules/@babel/traverse/lib/scope/index.js.map +1 -1
  179. package/src/front/node_modules/@babel/traverse/lib/traverse-node.js +6 -2
  180. package/src/front/node_modules/@babel/traverse/lib/traverse-node.js.map +1 -1
  181. package/src/front/node_modules/@babel/traverse/lib/types.js.map +1 -1
  182. package/src/front/node_modules/@babel/traverse/lib/visitors.js +22 -15
  183. package/src/front/node_modules/@babel/traverse/lib/visitors.js.map +1 -1
  184. package/src/front/node_modules/@babel/traverse/package.json +7 -6
  185. package/src/front/node_modules/@babel/types/README.md +1 -1
  186. package/src/front/node_modules/@babel/types/lib/ast-types/generated/index.js.map +1 -1
  187. package/src/front/node_modules/@babel/types/lib/converters/toStatement.js.map +1 -1
  188. package/src/front/node_modules/@babel/types/lib/definitions/core.js +8 -1
  189. package/src/front/node_modules/@babel/types/lib/definitions/core.js.map +1 -1
  190. package/src/front/node_modules/@babel/types/lib/index.d.ts +11 -10
  191. package/src/front/node_modules/@babel/types/lib/validators/generated/index.js.map +1 -1
  192. package/src/front/node_modules/@babel/types/lib/validators/isType.js +1 -0
  193. package/src/front/node_modules/@babel/types/lib/validators/isType.js.map +1 -1
  194. package/src/front/node_modules/@babel/types/package.json +3 -4
  195. package/src/front/node_modules/react-scripts/node_modules/@babel/core/node_modules/semver/package.json +19 -9
  196. package/src/front/node_modules/react-scripts/node_modules/@babel/core/node_modules/semver/semver.js +68 -26
  197. package/src/front/node_modules/typescript/lib/tsc.js +16 -19
  198. package/src/front/node_modules/typescript/lib/tsserver.js +22 -24
  199. package/src/front/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -1
  200. package/src/front/node_modules/typescript/lib/tsserverlibrary.js +22 -24
  201. package/src/front/node_modules/typescript/lib/typescript.d.ts +0 -1
  202. package/src/front/node_modules/typescript/lib/typescript.js +22 -24
  203. package/src/front/node_modules/typescript/lib/typingsInstaller.js +1 -1
  204. package/src/front/node_modules/typescript/package.json +1 -1
  205. package/src/front/package-lock.json +212 -153
  206. package/src/front/src/components/Input.js +6 -0
  207. package/src/front/src/components/Sidebar.js +2 -2
  208. package/src/front/build/static/js/main.405f6f90.chunk.js +0 -2
  209. package/src/front/build/static/js/main.405f6f90.chunk.js.map +0 -1
  210. package/src/front/node_modules/.cache/babel-loader/964c56108bc43622244156806407d3d8.json +0 -1
  211. package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/00/35/f206f48274d030c7a1e2457996323f694ca72c9ec94bddb8ecc8f37aa4632918182acf152491e9b475b95f567493b47644434cdb77f795b23c0b8392aaf7 +0 -1
  212. package/src/front/node_modules/@babel/core/node_modules/semver/CHANGELOG.md +0 -70
  213. package/src/front/node_modules/@babel/helper-compilation-targets/node_modules/semver/CHANGELOG.md +0 -70
  214. package/src/front/node_modules/react-scripts/node_modules/@babel/core/node_modules/semver/CHANGELOG.md +0 -39
@@ -3,104 +3,65 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.SCOPE_VAR = exports.SCOPE_TS_MODULE = exports.SCOPE_SUPER = exports.SCOPE_STATIC_BLOCK = exports.SCOPE_SIMPLE_CATCH = exports.SCOPE_PROGRAM = exports.SCOPE_OTHER = exports.SCOPE_FUNCTION = exports.SCOPE_DIRECT_SUPER = exports.SCOPE_CLASS = exports.SCOPE_ARROW = exports.CLASS_ELEMENT_STATIC_SETTER = exports.CLASS_ELEMENT_STATIC_GETTER = exports.CLASS_ELEMENT_OTHER = exports.CLASS_ELEMENT_KIND_SETTER = exports.CLASS_ELEMENT_KIND_GETTER = exports.CLASS_ELEMENT_KIND_ACCESSOR = exports.CLASS_ELEMENT_INSTANCE_SETTER = exports.CLASS_ELEMENT_INSTANCE_GETTER = exports.CLASS_ELEMENT_FLAG_STATIC = exports.BIND_VAR = exports.BIND_TS_TYPE_IMPORT = exports.BIND_TS_TYPE = exports.BIND_TS_NAMESPACE = exports.BIND_TS_INTERFACE = exports.BIND_TS_ENUM = exports.BIND_TS_CONST_ENUM = exports.BIND_TS_AMBIENT = exports.BIND_SCOPE_VAR = exports.BIND_SCOPE_OUTSIDE = exports.BIND_SCOPE_LEXICAL = exports.BIND_SCOPE_FUNCTION = exports.BIND_OUTSIDE = exports.BIND_NONE = exports.BIND_LEXICAL = exports.BIND_KIND_VALUE = exports.BIND_KIND_TYPE = exports.BIND_FUNCTION = exports.BIND_FLOW_DECLARE_FN = exports.BIND_FLAGS_TS_IMPORT = exports.BIND_FLAGS_TS_EXPORT_ONLY = exports.BIND_FLAGS_TS_ENUM = exports.BIND_FLAGS_TS_CONST_ENUM = exports.BIND_FLAGS_NO_LET_IN_LEXICAL = exports.BIND_FLAGS_NONE = exports.BIND_FLAGS_FLOW_DECLARE_FN = exports.BIND_FLAGS_CLASS = exports.BIND_CLASS = exports.BIND_CATCH_PARAM = void 0;
7
- const SCOPE_OTHER = 0b000000000,
8
- SCOPE_PROGRAM = 0b000000001,
9
- SCOPE_FUNCTION = 0b000000010,
10
- SCOPE_ARROW = 0b000000100,
11
- SCOPE_SIMPLE_CATCH = 0b000001000,
12
- SCOPE_SUPER = 0b000010000,
13
- SCOPE_DIRECT_SUPER = 0b000100000,
14
- SCOPE_CLASS = 0b001000000,
15
- SCOPE_STATIC_BLOCK = 0b010000000,
16
- SCOPE_TS_MODULE = 0b100000000,
17
- SCOPE_VAR = SCOPE_PROGRAM | SCOPE_FUNCTION | SCOPE_STATIC_BLOCK | SCOPE_TS_MODULE;
18
- exports.SCOPE_VAR = SCOPE_VAR;
19
- exports.SCOPE_TS_MODULE = SCOPE_TS_MODULE;
20
- exports.SCOPE_STATIC_BLOCK = SCOPE_STATIC_BLOCK;
21
- exports.SCOPE_CLASS = SCOPE_CLASS;
22
- exports.SCOPE_DIRECT_SUPER = SCOPE_DIRECT_SUPER;
23
- exports.SCOPE_SUPER = SCOPE_SUPER;
24
- exports.SCOPE_SIMPLE_CATCH = SCOPE_SIMPLE_CATCH;
25
- exports.SCOPE_ARROW = SCOPE_ARROW;
26
- exports.SCOPE_FUNCTION = SCOPE_FUNCTION;
27
- exports.SCOPE_PROGRAM = SCOPE_PROGRAM;
28
- exports.SCOPE_OTHER = SCOPE_OTHER;
29
- const BIND_KIND_VALUE = 0b0000000000001,
30
- BIND_KIND_TYPE = 0b0000000000010,
31
- BIND_SCOPE_VAR = 0b0000000000100,
32
- BIND_SCOPE_LEXICAL = 0b0000000001000,
33
- BIND_SCOPE_FUNCTION = 0b0000000010000,
34
- BIND_SCOPE_OUTSIDE = 0b0000000100000,
35
- BIND_FLAGS_NONE = 0b00000001000000,
36
- BIND_FLAGS_CLASS = 0b00000010000000,
37
- BIND_FLAGS_TS_ENUM = 0b00000100000000,
38
- BIND_FLAGS_TS_CONST_ENUM = 0b00001000000000,
39
- BIND_FLAGS_TS_EXPORT_ONLY = 0b00010000000000,
40
- BIND_FLAGS_FLOW_DECLARE_FN = 0b00100000000000,
41
- BIND_FLAGS_TS_IMPORT = 0b01000000000000,
42
- BIND_FLAGS_NO_LET_IN_LEXICAL = 0b10000000000000;
43
- exports.BIND_FLAGS_NO_LET_IN_LEXICAL = BIND_FLAGS_NO_LET_IN_LEXICAL;
44
- exports.BIND_FLAGS_TS_IMPORT = BIND_FLAGS_TS_IMPORT;
45
- exports.BIND_FLAGS_FLOW_DECLARE_FN = BIND_FLAGS_FLOW_DECLARE_FN;
46
- exports.BIND_FLAGS_TS_EXPORT_ONLY = BIND_FLAGS_TS_EXPORT_ONLY;
47
- exports.BIND_FLAGS_TS_CONST_ENUM = BIND_FLAGS_TS_CONST_ENUM;
48
- exports.BIND_FLAGS_TS_ENUM = BIND_FLAGS_TS_ENUM;
49
- exports.BIND_FLAGS_CLASS = BIND_FLAGS_CLASS;
50
- exports.BIND_FLAGS_NONE = BIND_FLAGS_NONE;
51
- exports.BIND_SCOPE_OUTSIDE = BIND_SCOPE_OUTSIDE;
52
- exports.BIND_SCOPE_FUNCTION = BIND_SCOPE_FUNCTION;
53
- exports.BIND_SCOPE_LEXICAL = BIND_SCOPE_LEXICAL;
54
- exports.BIND_SCOPE_VAR = BIND_SCOPE_VAR;
55
- exports.BIND_KIND_TYPE = BIND_KIND_TYPE;
56
- exports.BIND_KIND_VALUE = BIND_KIND_VALUE;
57
- const BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_CLASS | BIND_FLAGS_NO_LET_IN_LEXICAL,
58
- BIND_LEXICAL = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | BIND_FLAGS_NO_LET_IN_LEXICAL,
59
- BIND_CATCH_PARAM = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | 0,
60
- BIND_VAR = BIND_KIND_VALUE | 0 | BIND_SCOPE_VAR | 0,
61
- BIND_FUNCTION = BIND_KIND_VALUE | 0 | BIND_SCOPE_FUNCTION | 0,
62
- BIND_TS_INTERFACE = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_CLASS,
63
- BIND_TS_TYPE = 0 | BIND_KIND_TYPE | 0 | 0,
64
- BIND_TS_ENUM = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_TS_ENUM | BIND_FLAGS_NO_LET_IN_LEXICAL,
65
- BIND_TS_AMBIENT = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,
66
- BIND_NONE = 0 | 0 | 0 | BIND_FLAGS_NONE,
67
- BIND_OUTSIDE = BIND_KIND_VALUE | 0 | 0 | BIND_FLAGS_NONE,
68
- BIND_TS_CONST_ENUM = BIND_TS_ENUM | BIND_FLAGS_TS_CONST_ENUM,
69
- BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,
70
- BIND_TS_TYPE_IMPORT = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_TS_IMPORT,
71
- BIND_FLOW_DECLARE_FN = BIND_FLAGS_FLOW_DECLARE_FN;
72
- exports.BIND_FLOW_DECLARE_FN = BIND_FLOW_DECLARE_FN;
73
- exports.BIND_TS_TYPE_IMPORT = BIND_TS_TYPE_IMPORT;
74
- exports.BIND_TS_NAMESPACE = BIND_TS_NAMESPACE;
75
- exports.BIND_TS_CONST_ENUM = BIND_TS_CONST_ENUM;
76
- exports.BIND_OUTSIDE = BIND_OUTSIDE;
77
- exports.BIND_NONE = BIND_NONE;
78
- exports.BIND_TS_AMBIENT = BIND_TS_AMBIENT;
79
- exports.BIND_TS_ENUM = BIND_TS_ENUM;
80
- exports.BIND_TS_TYPE = BIND_TS_TYPE;
81
- exports.BIND_TS_INTERFACE = BIND_TS_INTERFACE;
82
- exports.BIND_FUNCTION = BIND_FUNCTION;
83
- exports.BIND_VAR = BIND_VAR;
84
- exports.BIND_CATCH_PARAM = BIND_CATCH_PARAM;
85
- exports.BIND_LEXICAL = BIND_LEXICAL;
86
- exports.BIND_CLASS = BIND_CLASS;
87
- const CLASS_ELEMENT_FLAG_STATIC = 0b100,
88
- CLASS_ELEMENT_KIND_GETTER = 0b010,
89
- CLASS_ELEMENT_KIND_SETTER = 0b001,
90
- CLASS_ELEMENT_KIND_ACCESSOR = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_KIND_SETTER;
91
- exports.CLASS_ELEMENT_KIND_ACCESSOR = CLASS_ELEMENT_KIND_ACCESSOR;
92
- exports.CLASS_ELEMENT_KIND_SETTER = CLASS_ELEMENT_KIND_SETTER;
93
- exports.CLASS_ELEMENT_KIND_GETTER = CLASS_ELEMENT_KIND_GETTER;
94
- exports.CLASS_ELEMENT_FLAG_STATIC = CLASS_ELEMENT_FLAG_STATIC;
95
- const CLASS_ELEMENT_STATIC_GETTER = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_FLAG_STATIC,
96
- CLASS_ELEMENT_STATIC_SETTER = CLASS_ELEMENT_KIND_SETTER | CLASS_ELEMENT_FLAG_STATIC,
97
- CLASS_ELEMENT_INSTANCE_GETTER = CLASS_ELEMENT_KIND_GETTER,
98
- CLASS_ELEMENT_INSTANCE_SETTER = CLASS_ELEMENT_KIND_SETTER,
99
- CLASS_ELEMENT_OTHER = 0;
100
- exports.CLASS_ELEMENT_OTHER = CLASS_ELEMENT_OTHER;
101
- exports.CLASS_ELEMENT_INSTANCE_SETTER = CLASS_ELEMENT_INSTANCE_SETTER;
102
- exports.CLASS_ELEMENT_INSTANCE_GETTER = CLASS_ELEMENT_INSTANCE_GETTER;
103
- exports.CLASS_ELEMENT_STATIC_SETTER = CLASS_ELEMENT_STATIC_SETTER;
104
- exports.CLASS_ELEMENT_STATIC_GETTER = CLASS_ELEMENT_STATIC_GETTER;
6
+ exports.ScopeFlag = exports.ClassElementType = exports.BindingFlag = void 0;
7
+ var ScopeFlag = {
8
+ OTHER: 0,
9
+ PROGRAM: 1,
10
+ FUNCTION: 2,
11
+ ARROW: 4,
12
+ SIMPLE_CATCH: 8,
13
+ SUPER: 16,
14
+ DIRECT_SUPER: 32,
15
+ CLASS: 64,
16
+ STATIC_BLOCK: 128,
17
+ TS_MODULE: 256,
18
+ VAR: 387
19
+ };
20
+ exports.ScopeFlag = ScopeFlag;
21
+ var BindingFlag = {
22
+ KIND_VALUE: 1,
23
+ KIND_TYPE: 2,
24
+ SCOPE_VAR: 4,
25
+ SCOPE_LEXICAL: 8,
26
+ SCOPE_FUNCTION: 16,
27
+ SCOPE_OUTSIDE: 32,
28
+ FLAG_NONE: 64,
29
+ FLAG_CLASS: 128,
30
+ FLAG_TS_ENUM: 256,
31
+ FLAG_TS_CONST_ENUM: 512,
32
+ FLAG_TS_EXPORT_ONLY: 1024,
33
+ FLAG_FLOW_DECLARE_FN: 2048,
34
+ FLAG_TS_IMPORT: 4096,
35
+ FLAG_NO_LET_IN_LEXICAL: 8192,
36
+ TYPE_CLASS: 8331,
37
+ TYPE_LEXICAL: 8201,
38
+ TYPE_CATCH_PARAM: 9,
39
+ TYPE_VAR: 5,
40
+ TYPE_FUNCTION: 17,
41
+ TYPE_TS_INTERFACE: 130,
42
+ TYPE_TS_TYPE: 2,
43
+ TYPE_TS_ENUM: 8459,
44
+ TYPE_TS_AMBIENT: 1024,
45
+ TYPE_NONE: 64,
46
+ TYPE_OUTSIDE: 65,
47
+ TYPE_TS_CONST_ENUM: 8971,
48
+ TYPE_TS_NAMESPACE: 1024,
49
+ TYPE_TS_TYPE_IMPORT: 4098,
50
+ TYPE_TS_VALUE_IMPORT: 4096,
51
+ TYPE_FLOW_DECLARE_FN: 2048
52
+ };
53
+ exports.BindingFlag = BindingFlag;
54
+ var ClassElementType = {
55
+ OTHER: 0,
56
+ FLAG_STATIC: 4,
57
+ KIND_GETTER: 2,
58
+ KIND_SETTER: 1,
59
+ KIND_ACCESSOR: 3,
60
+ STATIC_GETTER: 6,
61
+ STATIC_SETTER: 5,
62
+ INSTANCE_GETTER: 2,
63
+ INSTANCE_SETTER: 1
64
+ };
65
+ exports.ClassElementType = ClassElementType;
105
66
 
106
67
  //# sourceMappingURL=scopeflags.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SCOPE_OTHER","SCOPE_PROGRAM","SCOPE_FUNCTION","SCOPE_ARROW","SCOPE_SIMPLE_CATCH","SCOPE_SUPER","SCOPE_DIRECT_SUPER","SCOPE_CLASS","SCOPE_STATIC_BLOCK","SCOPE_TS_MODULE","SCOPE_VAR","exports","BIND_KIND_VALUE","BIND_KIND_TYPE","BIND_SCOPE_VAR","BIND_SCOPE_LEXICAL","BIND_SCOPE_FUNCTION","BIND_SCOPE_OUTSIDE","BIND_FLAGS_NONE","BIND_FLAGS_CLASS","BIND_FLAGS_TS_ENUM","BIND_FLAGS_TS_CONST_ENUM","BIND_FLAGS_TS_EXPORT_ONLY","BIND_FLAGS_FLOW_DECLARE_FN","BIND_FLAGS_TS_IMPORT","BIND_FLAGS_NO_LET_IN_LEXICAL","BIND_CLASS","BIND_LEXICAL","BIND_CATCH_PARAM","BIND_VAR","BIND_FUNCTION","BIND_TS_INTERFACE","BIND_TS_TYPE","BIND_TS_ENUM","BIND_TS_AMBIENT","BIND_NONE","BIND_OUTSIDE","BIND_TS_CONST_ENUM","BIND_TS_NAMESPACE","BIND_TS_TYPE_IMPORT","BIND_FLOW_DECLARE_FN","CLASS_ELEMENT_FLAG_STATIC","CLASS_ELEMENT_KIND_GETTER","CLASS_ELEMENT_KIND_SETTER","CLASS_ELEMENT_KIND_ACCESSOR","CLASS_ELEMENT_STATIC_GETTER","CLASS_ELEMENT_STATIC_SETTER","CLASS_ELEMENT_INSTANCE_GETTER","CLASS_ELEMENT_INSTANCE_SETTER","CLASS_ELEMENT_OTHER"],"sources":["../../src/util/scopeflags.ts"],"sourcesContent":["// Each scope gets a bitset that may contain these flags\n// prettier-ignore\nexport const SCOPE_OTHER = 0b000000000,\n SCOPE_PROGRAM = 0b000000001,\n SCOPE_FUNCTION = 0b000000010,\n SCOPE_ARROW = 0b000000100,\n SCOPE_SIMPLE_CATCH = 0b000001000,\n SCOPE_SUPER = 0b000010000,\n SCOPE_DIRECT_SUPER = 0b000100000,\n SCOPE_CLASS = 0b001000000,\n SCOPE_STATIC_BLOCK = 0b010000000,\n SCOPE_TS_MODULE = 0b100000000,\n SCOPE_VAR = SCOPE_PROGRAM | SCOPE_FUNCTION | SCOPE_STATIC_BLOCK | SCOPE_TS_MODULE;\n\nexport type ScopeFlags =\n | typeof SCOPE_OTHER\n | typeof SCOPE_PROGRAM\n | typeof SCOPE_FUNCTION\n | typeof SCOPE_VAR\n | typeof SCOPE_ARROW\n | typeof SCOPE_SIMPLE_CATCH\n | typeof SCOPE_SUPER\n | typeof SCOPE_DIRECT_SUPER\n | typeof SCOPE_CLASS\n | typeof SCOPE_STATIC_BLOCK;\n\n// These flags are meant to be _only_ used inside the Scope class (or subclasses).\n// prettier-ignore\nexport const BIND_KIND_VALUE = 0b0000000_0000_01,\n BIND_KIND_TYPE = 0b0000000_0000_10,\n // Used in checkLVal and declareName to determine the type of a binding\n BIND_SCOPE_VAR = 0b0000000_0001_00, // Var-style binding\n BIND_SCOPE_LEXICAL = 0b0000000_0010_00, // Let- or const-style binding\n BIND_SCOPE_FUNCTION = 0b0000000_0100_00, // Function declaration\n BIND_SCOPE_OUTSIDE = 0b0000000_1000_00, // Special case for function names as\n // bound inside the function\n // Misc flags\n BIND_FLAGS_NONE = 0b00000001_0000_00,\n BIND_FLAGS_CLASS = 0b00000010_0000_00,\n BIND_FLAGS_TS_ENUM = 0b00000100_0000_00,\n BIND_FLAGS_TS_CONST_ENUM = 0b00001000_0000_00,\n BIND_FLAGS_TS_EXPORT_ONLY = 0b00010000_0000_00,\n BIND_FLAGS_FLOW_DECLARE_FN = 0b00100000_0000_00,\n BIND_FLAGS_TS_IMPORT = 0b01000000_0000_00,\n // Whether \"let\" should be allowed in bound names in sloppy mode\n BIND_FLAGS_NO_LET_IN_LEXICAL = 0b10000000_0000_00;\n\n// These flags are meant to be _only_ used by Scope consumers\n// prettier-ignore\n/* = is value? | is type? | scope | misc flags */\nexport const BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_CLASS|BIND_FLAGS_NO_LET_IN_LEXICAL,\n BIND_LEXICAL = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | BIND_FLAGS_NO_LET_IN_LEXICAL,\n BIND_CATCH_PARAM = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | 0 ,\n BIND_VAR = BIND_KIND_VALUE | 0 | BIND_SCOPE_VAR | 0 ,\n BIND_FUNCTION = BIND_KIND_VALUE | 0 | BIND_SCOPE_FUNCTION | 0 ,\n BIND_TS_INTERFACE = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_CLASS ,\n BIND_TS_TYPE = 0 | BIND_KIND_TYPE | 0 | 0 ,\n BIND_TS_ENUM = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_TS_ENUM|BIND_FLAGS_NO_LET_IN_LEXICAL,\n BIND_TS_AMBIENT = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,\n // These bindings don't introduce anything in the scope. They are used for assignments and\n // function expressions IDs.\n BIND_NONE = 0 | 0 | 0 | BIND_FLAGS_NONE ,\n BIND_OUTSIDE = BIND_KIND_VALUE | 0 | 0 | BIND_FLAGS_NONE ,\n\n BIND_TS_CONST_ENUM = BIND_TS_ENUM | BIND_FLAGS_TS_CONST_ENUM ,\n BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,\n BIND_TS_TYPE_IMPORT= 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_TS_IMPORT ,\n\n BIND_FLOW_DECLARE_FN = BIND_FLAGS_FLOW_DECLARE_FN;\n\nexport type BindingTypes =\n | typeof BIND_NONE\n | typeof BIND_OUTSIDE\n | typeof BIND_VAR\n | typeof BIND_LEXICAL\n | typeof BIND_CLASS\n | typeof BIND_FUNCTION\n | typeof BIND_TS_INTERFACE\n | typeof BIND_TS_TYPE\n | typeof BIND_TS_ENUM\n | typeof BIND_TS_AMBIENT\n | typeof BIND_TS_NAMESPACE;\n\n// prettier-ignore\nexport const CLASS_ELEMENT_FLAG_STATIC = 0b1_00,\n CLASS_ELEMENT_KIND_GETTER = 0b0_10,\n CLASS_ELEMENT_KIND_SETTER = 0b0_01,\n CLASS_ELEMENT_KIND_ACCESSOR = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_KIND_SETTER;\n\n// prettier-ignore\nexport const CLASS_ELEMENT_STATIC_GETTER = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_FLAG_STATIC,\n CLASS_ELEMENT_STATIC_SETTER = CLASS_ELEMENT_KIND_SETTER | CLASS_ELEMENT_FLAG_STATIC,\n CLASS_ELEMENT_INSTANCE_GETTER = CLASS_ELEMENT_KIND_GETTER,\n CLASS_ELEMENT_INSTANCE_SETTER = CLASS_ELEMENT_KIND_SETTER,\n CLASS_ELEMENT_OTHER = 0;\n\nexport type ClassElementTypes =\n | typeof CLASS_ELEMENT_STATIC_GETTER\n | typeof CLASS_ELEMENT_STATIC_SETTER\n | typeof CLASS_ELEMENT_INSTANCE_GETTER\n | typeof CLASS_ELEMENT_INSTANCE_SETTER\n | typeof CLASS_ELEMENT_OTHER;\n"],"mappings":";;;;;;AAEO,MAAMA,WAAW,GAAU,WAAW;EAChCC,aAAa,GAAQ,WAAW;EAChCC,cAAc,GAAO,WAAW;EAChCC,WAAW,GAAU,WAAW;EAChCC,kBAAkB,GAAG,WAAW;EAChCC,WAAW,GAAU,WAAW;EAChCC,kBAAkB,GAAG,WAAW;EAChCC,WAAW,GAAU,WAAW;EAChCC,kBAAkB,GAAG,WAAW;EAChCC,eAAe,GAAM,WAAW;EAChCC,SAAS,GAAGT,aAAa,GAAGC,cAAc,GAAGM,kBAAkB,GAAGC,eAAe;AAACE,OAAA,CAAAD,SAAA,GAAAA,SAAA;AAAAC,OAAA,CAAAF,eAAA,GAAAA,eAAA;AAAAE,OAAA,CAAAH,kBAAA,GAAAA,kBAAA;AAAAG,OAAA,CAAAJ,WAAA,GAAAA,WAAA;AAAAI,OAAA,CAAAL,kBAAA,GAAAA,kBAAA;AAAAK,OAAA,CAAAN,WAAA,GAAAA,WAAA;AAAAM,OAAA,CAAAP,kBAAA,GAAAA,kBAAA;AAAAO,OAAA,CAAAR,WAAA,GAAAA,WAAA;AAAAQ,OAAA,CAAAT,cAAA,GAAAA,cAAA;AAAAS,OAAA,CAAAV,aAAA,GAAAA,aAAA;AAAAU,OAAA,CAAAX,WAAA,GAAAA,WAAA;AAgBxF,MAAMY,eAAe,GAAc,eAAiB;EAC9CC,cAAc,GAAe,eAAiB;EAE9CC,cAAc,GAAe,eAAiB;EAC9CC,kBAAkB,GAAW,eAAiB;EAC9CC,mBAAmB,GAAU,eAAiB;EAC9CC,kBAAkB,GAAW,eAAiB;EAG9CC,eAAe,GAAc,gBAAkB;EAC/CC,gBAAgB,GAAa,gBAAkB;EAC/CC,kBAAkB,GAAW,gBAAkB;EAC/CC,wBAAwB,GAAK,gBAAkB;EAC/CC,yBAAyB,GAAI,gBAAkB;EAC/CC,0BAA0B,GAAG,gBAAkB;EAC/CC,oBAAoB,GAAS,gBAAkB;EAE/CC,4BAA4B,GAAG,gBAAkB;AAACd,OAAA,CAAAc,4BAAA,GAAAA,4BAAA;AAAAd,OAAA,CAAAa,oBAAA,GAAAA,oBAAA;AAAAb,OAAA,CAAAY,0BAAA,GAAAA,0BAAA;AAAAZ,OAAA,CAAAW,yBAAA,GAAAA,yBAAA;AAAAX,OAAA,CAAAU,wBAAA,GAAAA,wBAAA;AAAAV,OAAA,CAAAS,kBAAA,GAAAA,kBAAA;AAAAT,OAAA,CAAAQ,gBAAA,GAAAA,gBAAA;AAAAR,OAAA,CAAAO,eAAA,GAAAA,eAAA;AAAAP,OAAA,CAAAM,kBAAA,GAAAA,kBAAA;AAAAN,OAAA,CAAAK,mBAAA,GAAAA,mBAAA;AAAAL,OAAA,CAAAI,kBAAA,GAAAA,kBAAA;AAAAJ,OAAA,CAAAG,cAAA,GAAAA,cAAA;AAAAH,OAAA,CAAAE,cAAA,GAAAA,cAAA;AAAAF,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAKxD,MAAMc,UAAU,GAAWd,eAAe,GAAGC,cAAc,GAAGE,kBAAkB,GAAII,gBAAgB,GAACM,4BAA4B;EAC3HE,YAAY,GAASf,eAAe,GAAG,CAAC,GAAgBG,kBAAkB,GAAIU,4BAA4B;EAC1GG,gBAAgB,GAAKhB,eAAe,GAAG,CAAC,GAAgBG,kBAAkB,GAAI,CAAC;EAC/Ec,QAAQ,GAAajB,eAAe,GAAG,CAAC,GAAgBE,cAAc,GAAQ,CAAC;EAC/EgB,aAAa,GAAQlB,eAAe,GAAG,CAAC,GAAgBI,mBAAmB,GAAG,CAAC;EAC/Ee,iBAAiB,GAAI,CAAC,GAAiBlB,cAAc,GAAG,CAAC,GAAqBM,gBAAgB;EAC9Fa,YAAY,GAAS,CAAC,GAAiBnB,cAAc,GAAG,CAAC,GAAqB,CAAC;EAC/EoB,YAAY,GAASrB,eAAe,GAAGC,cAAc,GAAGE,kBAAkB,GAAIK,kBAAkB,GAACK,4BAA4B;EAC7HS,eAAe,GAAM,CAAC,GAAiB,CAAC,GAAgB,CAAC,GAAcZ,yBAAyB;EAGhGa,SAAS,GAAY,CAAC,GAAiB,CAAC,GAAgB,CAAC,GAAqBjB,eAAe;EAC7FkB,YAAY,GAASxB,eAAe,GAAG,CAAC,GAAgB,CAAC,GAAqBM,eAAe;EAE7FmB,kBAAkB,GAAGJ,YAAY,GAAMZ,wBAAwB;EAC/DiB,iBAAiB,GAAI,CAAC,GAAiB,CAAC,GAAgB,CAAC,GAAqBhB,yBAAyB;EACvGiB,mBAAmB,GAAE,CAAC,GAAiB1B,cAAc,GAAG,CAAC,GAAqBW,oBAAoB;EAElGgB,oBAAoB,GAAGjB,0BAA0B;AAACZ,OAAA,CAAA6B,oBAAA,GAAAA,oBAAA;AAAA7B,OAAA,CAAA4B,mBAAA,GAAAA,mBAAA;AAAA5B,OAAA,CAAA2B,iBAAA,GAAAA,iBAAA;AAAA3B,OAAA,CAAA0B,kBAAA,GAAAA,kBAAA;AAAA1B,OAAA,CAAAyB,YAAA,GAAAA,YAAA;AAAAzB,OAAA,CAAAwB,SAAA,GAAAA,SAAA;AAAAxB,OAAA,CAAAuB,eAAA,GAAAA,eAAA;AAAAvB,OAAA,CAAAsB,YAAA,GAAAA,YAAA;AAAAtB,OAAA,CAAAqB,YAAA,GAAAA,YAAA;AAAArB,OAAA,CAAAoB,iBAAA,GAAAA,iBAAA;AAAApB,OAAA,CAAAmB,aAAA,GAAAA,aAAA;AAAAnB,OAAA,CAAAkB,QAAA,GAAAA,QAAA;AAAAlB,OAAA,CAAAiB,gBAAA,GAAAA,gBAAA;AAAAjB,OAAA,CAAAgB,YAAA,GAAAA,YAAA;AAAAhB,OAAA,CAAAe,UAAA,GAAAA,UAAA;AAgBxD,MAAMe,yBAAyB,GAAG,KAAM;EAClCC,yBAAyB,GAAG,KAAM;EAClCC,yBAAyB,GAAG,KAAM;EAClCC,2BAA2B,GAAGF,yBAAyB,GAAGC,yBAAyB;AAAChC,OAAA,CAAAiC,2BAAA,GAAAA,2BAAA;AAAAjC,OAAA,CAAAgC,yBAAA,GAAAA,yBAAA;AAAAhC,OAAA,CAAA+B,yBAAA,GAAAA,yBAAA;AAAA/B,OAAA,CAAA8B,yBAAA,GAAAA,yBAAA;AAG1F,MAAMI,2BAA2B,GAAKH,yBAAyB,GAAGD,yBAAyB;EACrFK,2BAA2B,GAAKH,yBAAyB,GAAGF,yBAAyB;EACrFM,6BAA6B,GAAGL,yBAAyB;EACzDM,6BAA6B,GAAGL,yBAAyB;EACzDM,mBAAmB,GAAa,CAAC;AAACtC,OAAA,CAAAsC,mBAAA,GAAAA,mBAAA;AAAAtC,OAAA,CAAAqC,6BAAA,GAAAA,6BAAA;AAAArC,OAAA,CAAAoC,6BAAA,GAAAA,6BAAA;AAAApC,OAAA,CAAAmC,2BAAA,GAAAA,2BAAA;AAAAnC,OAAA,CAAAkC,2BAAA,GAAAA,2BAAA"}
1
+ {"version":3,"names":["ScopeFlag","OTHER","PROGRAM","FUNCTION","ARROW","SIMPLE_CATCH","SUPER","DIRECT_SUPER","CLASS","STATIC_BLOCK","TS_MODULE","VAR","exports","BindingFlag","KIND_VALUE","KIND_TYPE","SCOPE_VAR","SCOPE_LEXICAL","SCOPE_FUNCTION","SCOPE_OUTSIDE","FLAG_NONE","FLAG_CLASS","FLAG_TS_ENUM","FLAG_TS_CONST_ENUM","FLAG_TS_EXPORT_ONLY","FLAG_FLOW_DECLARE_FN","FLAG_TS_IMPORT","FLAG_NO_LET_IN_LEXICAL","TYPE_CLASS","TYPE_LEXICAL","TYPE_CATCH_PARAM","TYPE_VAR","TYPE_FUNCTION","TYPE_TS_INTERFACE","TYPE_TS_TYPE","TYPE_TS_ENUM","TYPE_TS_AMBIENT","TYPE_NONE","TYPE_OUTSIDE","TYPE_TS_CONST_ENUM","TYPE_TS_NAMESPACE","TYPE_TS_TYPE_IMPORT","TYPE_TS_VALUE_IMPORT","TYPE_FLOW_DECLARE_FN","ClassElementType","FLAG_STATIC","KIND_GETTER","KIND_SETTER","KIND_ACCESSOR","STATIC_GETTER","STATIC_SETTER","INSTANCE_GETTER","INSTANCE_SETTER"],"sources":["../../src/util/scopeflags.ts"],"sourcesContent":["// Each scope gets a bitset that may contain these flags\n/* eslint-disable prettier/prettier */\n/* prettier-ignore */\nexport const enum ScopeFlag {\n OTHER = 0b000000000,\n PROGRAM = 0b000000001,\n FUNCTION = 0b000000010,\n ARROW = 0b000000100,\n SIMPLE_CATCH = 0b000001000,\n SUPER = 0b000010000,\n DIRECT_SUPER = 0b000100000,\n CLASS = 0b001000000,\n STATIC_BLOCK = 0b010000000,\n TS_MODULE = 0b100000000,\n VAR = PROGRAM | FUNCTION | STATIC_BLOCK | TS_MODULE,\n}\n\n/* prettier-ignore */\nexport const enum BindingFlag {\n // These flags are meant to be _only_ used inside the Scope class (or subclasses).\n KIND_VALUE = 0b0000000_0000_01,\n KIND_TYPE = 0b0000000_0000_10,\n // Used in checkLVal and declareName to determine the type of a binding\n SCOPE_VAR = 0b0000000_0001_00, // Var-style binding\n SCOPE_LEXICAL = 0b0000000_0010_00, // Let- or const-style binding\n SCOPE_FUNCTION = 0b0000000_0100_00, // Function declaration\n SCOPE_OUTSIDE = 0b0000000_1000_00, // Special case for function names as\n // bound inside the function\n // Misc flags\n FLAG_NONE = 0b00000001_0000_00,\n FLAG_CLASS = 0b00000010_0000_00,\n FLAG_TS_ENUM = 0b00000100_0000_00,\n FLAG_TS_CONST_ENUM = 0b00001000_0000_00,\n FLAG_TS_EXPORT_ONLY = 0b00010000_0000_00,\n FLAG_FLOW_DECLARE_FN = 0b00100000_0000_00,\n FLAG_TS_IMPORT = 0b01000000_0000_00,\n // Whether \"let\" should be allowed in bound names in sloppy mode\n FLAG_NO_LET_IN_LEXICAL = 0b10000000_0000_00,\n\n // These flags are meant to be _only_ used by Scope consumers\n/* prettier-ignore */\n /* = is value? | is type? | scope | misc flags */\n TYPE_CLASS = KIND_VALUE | KIND_TYPE | SCOPE_LEXICAL | FLAG_CLASS|FLAG_NO_LET_IN_LEXICAL,\n TYPE_LEXICAL = KIND_VALUE | 0 | SCOPE_LEXICAL | FLAG_NO_LET_IN_LEXICAL,\n TYPE_CATCH_PARAM = KIND_VALUE | 0 | SCOPE_LEXICAL | 0,\n TYPE_VAR = KIND_VALUE | 0 | SCOPE_VAR | 0,\n TYPE_FUNCTION = KIND_VALUE | 0 | SCOPE_FUNCTION | 0,\n TYPE_TS_INTERFACE = 0 | KIND_TYPE | 0 | FLAG_CLASS,\n TYPE_TS_TYPE = 0 | KIND_TYPE | 0 | 0,\n TYPE_TS_ENUM = KIND_VALUE | KIND_TYPE | SCOPE_LEXICAL | FLAG_TS_ENUM|FLAG_NO_LET_IN_LEXICAL,\n TYPE_TS_AMBIENT = 0 | 0 | 0 | FLAG_TS_EXPORT_ONLY,\n // These bindings don't introduce anything in the scope. They are used for assignments and\n // function expressions IDs.\n TYPE_NONE = 0 | 0 | 0 | FLAG_NONE,\n TYPE_OUTSIDE = KIND_VALUE | 0 | 0 | FLAG_NONE,\n TYPE_TS_CONST_ENUM = TYPE_TS_ENUM | FLAG_TS_CONST_ENUM,\n TYPE_TS_NAMESPACE = 0 | 0 | 0 | FLAG_TS_EXPORT_ONLY,\n TYPE_TS_TYPE_IMPORT = 0 | KIND_TYPE | 0 | FLAG_TS_IMPORT,\n TYPE_TS_VALUE_IMPORT = 0 | 0 | 0 | FLAG_TS_IMPORT,\n TYPE_FLOW_DECLARE_FN = 0 | 0 | 0 | FLAG_FLOW_DECLARE_FN,\n}\n\nexport type BindingTypes =\n | BindingFlag.TYPE_NONE\n | BindingFlag.TYPE_OUTSIDE\n | BindingFlag.TYPE_VAR\n | BindingFlag.TYPE_LEXICAL\n | BindingFlag.TYPE_CLASS\n | BindingFlag.TYPE_CATCH_PARAM\n | BindingFlag.TYPE_FUNCTION\n | BindingFlag.TYPE_TS_INTERFACE\n | BindingFlag.TYPE_TS_TYPE\n | BindingFlag.TYPE_TS_TYPE_IMPORT\n | BindingFlag.TYPE_TS_VALUE_IMPORT\n | BindingFlag.TYPE_TS_ENUM\n | BindingFlag.TYPE_TS_AMBIENT\n | BindingFlag.TYPE_TS_NAMESPACE\n | BindingFlag.TYPE_TS_CONST_ENUM\n | BindingFlag.TYPE_FLOW_DECLARE_FN;\n\n/* prettier-ignore */\nexport const enum ClassElementType {\n OTHER = 0,\n FLAG_STATIC = 0b1_00,\n KIND_GETTER = 0b0_10,\n KIND_SETTER = 0b0_01,\n KIND_ACCESSOR = KIND_GETTER | KIND_SETTER,\n\n STATIC_GETTER = FLAG_STATIC | KIND_GETTER,\n STATIC_SETTER = FLAG_STATIC | KIND_SETTER,\n INSTANCE_GETTER = KIND_GETTER,\n INSTANCE_SETTER = KIND_SETTER,\n}\n"],"mappings":";;;;;;IAGkBA,SAAS;EAAAC,KAAA;EAAAC,OAAA;EAAAC,QAAA;EAAAC,KAAA;EAAAC,YAAA;EAAAC,KAAA;EAAAC,YAAA;EAAAC,KAAA;EAAAC,YAAA;EAAAC,SAAA;EAAAC,GAAA;AAAA;AAAAC,OAAA,CAAAZ,SAAA,GAAAA,SAAA;AAAA,IAeTa,WAAW;EAAAC,UAAA;EAAAC,SAAA;EAAAC,SAAA;EAAAC,aAAA;EAAAC,cAAA;EAAAC,aAAA;EAAAC,SAAA;EAAAC,UAAA;EAAAC,YAAA;EAAAC,kBAAA;EAAAC,mBAAA;EAAAC,oBAAA;EAAAC,cAAA;EAAAC,sBAAA;EAAAC,UAAA;EAAAC,YAAA;EAAAC,gBAAA;EAAAC,QAAA;EAAAC,aAAA;EAAAC,iBAAA;EAAAC,YAAA;EAAAC,YAAA;EAAAC,eAAA;EAAAC,SAAA;EAAAC,YAAA;EAAAC,kBAAA;EAAAC,iBAAA;EAAAC,mBAAA;EAAAC,oBAAA;EAAAC,oBAAA;AAAA;AAAA/B,OAAA,CAAAC,WAAA,GAAAA,WAAA;AAAA,IA+DX+B,gBAAgB;EAAA3C,KAAA;EAAA4C,WAAA;EAAAC,WAAA;EAAAC,WAAA;EAAAC,aAAA;EAAAC,aAAA;EAAAC,aAAA;EAAAC,eAAA;EAAAC,eAAA;AAAA;AAAAxC,OAAA,CAAAgC,gBAAA,GAAAA,gBAAA"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babel/parser",
3
- "version": "7.22.5",
3
+ "version": "7.22.10",
4
4
  "description": "A JavaScript parser",
5
5
  "author": "The Babel Team (https://babel.dev/team)",
6
6
  "homepage": "https://babel.dev/docs/en/next/babel-parser",
@@ -34,9 +34,9 @@
34
34
  "node": ">=6.0.0"
35
35
  },
36
36
  "devDependencies": {
37
- "@babel/code-frame": "^7.22.5",
37
+ "@babel/code-frame": "^7.22.10",
38
38
  "@babel/helper-check-duplicate-nodes": "^7.22.5",
39
- "@babel/helper-fixtures": "^7.22.5",
39
+ "@babel/helper-fixtures": "^7.22.9",
40
40
  "@babel/helper-string-parser": "^7.22.5",
41
41
  "@babel/helper-validator-identifier": "^7.22.5",
42
42
  "charcodes": "^0.2.0"
@@ -2,7 +2,7 @@
2
2
 
3
3
  > The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes
4
4
 
5
- See our website [@babel/traverse](https://babeljs.io/docs/en/babel-traverse) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20traverse%22+is%3Aopen) associated with this package.
5
+ See our website [@babel/traverse](https://babeljs.io/docs/babel-traverse) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20traverse%22+is%3Aopen) associated with this package.
6
6
 
7
7
  ## Install
8
8
 
@@ -6,9 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.clear = clear;
7
7
  exports.clearPath = clearPath;
8
8
  exports.clearScope = clearScope;
9
+ exports.getCachedPaths = getCachedPaths;
10
+ exports.getOrCreateCachedPaths = getOrCreateCachedPaths;
9
11
  exports.scope = exports.path = void 0;
10
- let path = new WeakMap();
11
- exports.path = path;
12
+ let pathsCache = new WeakMap();
13
+ exports.path = pathsCache;
12
14
  let scope = new WeakMap();
13
15
  exports.scope = scope;
14
16
  function clear() {
@@ -16,10 +18,29 @@ function clear() {
16
18
  clearScope();
17
19
  }
18
20
  function clearPath() {
19
- exports.path = path = new WeakMap();
21
+ exports.path = pathsCache = new WeakMap();
20
22
  }
21
23
  function clearScope() {
22
24
  exports.scope = scope = new WeakMap();
23
25
  }
26
+ const nullHub = Object.freeze({});
27
+ function getCachedPaths(hub, parent) {
28
+ var _pathsCache$get, _hub;
29
+ {
30
+ hub = null;
31
+ }
32
+ return (_pathsCache$get = pathsCache.get((_hub = hub) != null ? _hub : nullHub)) == null ? void 0 : _pathsCache$get.get(parent);
33
+ }
34
+ function getOrCreateCachedPaths(hub, parent) {
35
+ var _hub2, _hub3;
36
+ {
37
+ hub = null;
38
+ }
39
+ let parents = pathsCache.get((_hub2 = hub) != null ? _hub2 : nullHub);
40
+ if (!parents) pathsCache.set((_hub3 = hub) != null ? _hub3 : nullHub, parents = new WeakMap());
41
+ let paths = parents.get(parent);
42
+ if (!paths) parents.set(parent, paths = new Map());
43
+ return paths;
44
+ }
24
45
 
25
46
  //# sourceMappingURL=cache.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["path","WeakMap","exports","scope","clear","clearPath","clearScope"],"sources":["../src/cache.ts"],"sourcesContent":["import type { Node } from \"@babel/types\";\nimport type NodePath from \"./path\";\nimport type Scope from \"./scope\";\n\nexport let path: WeakMap<Node, Map<Node, NodePath>> = new WeakMap();\nexport let scope: WeakMap<Node, Scope> = new WeakMap();\n\nexport function clear() {\n clearPath();\n clearScope();\n}\n\nexport function clearPath() {\n path = new WeakMap();\n}\n\nexport function clearScope() {\n scope = new WeakMap();\n}\n"],"mappings":";;;;;;;;;AAIO,IAAIA,IAAwC,GAAG,IAAIC,OAAO,CAAC,CAAC;AAACC,OAAA,CAAAF,IAAA,GAAAA,IAAA;AAC7D,IAAIG,KAA2B,GAAG,IAAIF,OAAO,CAAC,CAAC;AAACC,OAAA,CAAAC,KAAA,GAAAA,KAAA;AAEhD,SAASC,KAAKA,CAAA,EAAG;EACtBC,SAAS,CAAC,CAAC;EACXC,UAAU,CAAC,CAAC;AACd;AAEO,SAASD,SAASA,CAAA,EAAG;EAC1BH,OAAA,CAAAF,IAAA,GAAAA,IAAI,GAAG,IAAIC,OAAO,CAAC,CAAC;AACtB;AAEO,SAASK,UAAUA,CAAA,EAAG;EAC3BJ,OAAA,CAAAC,KAAA,GAAAA,KAAK,GAAG,IAAIF,OAAO,CAAC,CAAC;AACvB"}
1
+ {"version":3,"names":["pathsCache","WeakMap","exports","path","scope","clear","clearPath","clearScope","nullHub","Object","freeze","getCachedPaths","hub","parent","_pathsCache$get","_hub","get","getOrCreateCachedPaths","_hub2","_hub3","parents","set","paths","Map"],"sources":["../src/cache.ts"],"sourcesContent":["import type { Node } from \"@babel/types\";\nimport type NodePath from \"./path\";\nimport type Scope from \"./scope\";\nimport type { HubInterface } from \"./hub\";\n\nlet pathsCache: WeakMap<\n HubInterface | typeof nullHub,\n WeakMap<Node, Map<Node, NodePath>>\n> = new WeakMap();\nexport { pathsCache as path };\nexport let scope: WeakMap<Node, Scope> = new WeakMap();\n\nexport function clear() {\n clearPath();\n clearScope();\n}\n\nexport function clearPath() {\n pathsCache = new WeakMap();\n}\n\nexport function clearScope() {\n scope = new WeakMap();\n}\n\n// NodePath#hub can be null, but it's not a valid weakmap key because it\n// cannot be collected by GC. Use an object, knowing tht it will not be\n// collected anyway. It's not a memory leak because pathsCache.get(nullHub)\n// is itself a weakmap, so its entries can still be collected.\nconst nullHub = Object.freeze({} as const);\n\nexport function getCachedPaths(hub: HubInterface | null, parent: Node) {\n if (!process.env.BABEL_8_BREAKING) {\n // Only use Hub as part of the cache key in Babel 8, because it is a\n // breaking change (it causes incompatibilities with older `@babel/core`\n // versions: see https://github.com/babel/babel/pull/15759)\n hub = null;\n }\n return pathsCache.get(hub ?? nullHub)?.get(parent);\n}\n\nexport function getOrCreateCachedPaths(hub: HubInterface | null, parent: Node) {\n if (!process.env.BABEL_8_BREAKING) {\n hub = null;\n }\n\n let parents = pathsCache.get(hub ?? nullHub);\n if (!parents) pathsCache.set(hub ?? nullHub, (parents = new WeakMap()));\n\n let paths = parents.get(parent);\n if (!paths) parents.set(parent, (paths = new Map()));\n\n return paths;\n}\n"],"mappings":";;;;;;;;;;;AAKA,IAAIA,UAGH,GAAG,IAAIC,OAAO,CAAC,CAAC;AAACC,OAAA,CAAAC,IAAA,GAAAH,UAAA;AAEX,IAAII,KAA2B,GAAG,IAAIH,OAAO,CAAC,CAAC;AAACC,OAAA,CAAAE,KAAA,GAAAA,KAAA;AAEhD,SAASC,KAAKA,CAAA,EAAG;EACtBC,SAAS,CAAC,CAAC;EACXC,UAAU,CAAC,CAAC;AACd;AAEO,SAASD,SAASA,CAAA,EAAG;EAC1BJ,OAAA,CAAAC,IAAA,GAAAH,UAAU,GAAG,IAAIC,OAAO,CAAC,CAAC;AAC5B;AAEO,SAASM,UAAUA,CAAA,EAAG;EAC3BL,OAAA,CAAAE,KAAA,GAAAA,KAAK,GAAG,IAAIH,OAAO,CAAC,CAAC;AACvB;AAMA,MAAMO,OAAO,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAU,CAAC;AAEnC,SAASC,cAAcA,CAACC,GAAwB,EAAEC,MAAY,EAAE;EAAA,IAAAC,eAAA,EAAAC,IAAA;EAClC;IAIjCH,GAAG,GAAG,IAAI;EACZ;EACA,QAAAE,eAAA,GAAOd,UAAU,CAACgB,GAAG,EAAAD,IAAA,GAACH,GAAG,YAAAG,IAAA,GAAIP,OAAO,CAAC,qBAA9BM,eAAA,CAAgCE,GAAG,CAACH,MAAM,CAAC;AACpD;AAEO,SAASI,sBAAsBA,CAACL,GAAwB,EAAEC,MAAY,EAAE;EAAA,IAAAK,KAAA,EAAAC,KAAA;EAC1C;IACjCP,GAAG,GAAG,IAAI;EACZ;EAEA,IAAIQ,OAAO,GAAGpB,UAAU,CAACgB,GAAG,EAAAE,KAAA,GAACN,GAAG,YAAAM,KAAA,GAAIV,OAAO,CAAC;EAC5C,IAAI,CAACY,OAAO,EAAEpB,UAAU,CAACqB,GAAG,EAAAF,KAAA,GAACP,GAAG,YAAAO,KAAA,GAAIX,OAAO,EAAGY,OAAO,GAAG,IAAInB,OAAO,CAAC,CAAE,CAAC;EAEvE,IAAIqB,KAAK,GAAGF,OAAO,CAACJ,GAAG,CAACH,MAAM,CAAC;EAC/B,IAAI,CAACS,KAAK,EAAEF,OAAO,CAACC,GAAG,CAACR,MAAM,EAAGS,KAAK,GAAG,IAAIC,GAAG,CAAC,CAAE,CAAC;EAEpD,OAAOD,KAAK;AACd"}
@@ -35,18 +35,21 @@ const {
35
35
  removeProperties,
36
36
  traverseFast
37
37
  } = _t;
38
- function traverse(parent, opts = {}, scope, state, parentPath) {
38
+ function traverse(parent, opts = {}, scope, state, parentPath, visitSelf) {
39
39
  if (!parent) return;
40
40
  if (!opts.noScope && !scope) {
41
41
  if (parent.type !== "Program" && parent.type !== "File") {
42
42
  throw new Error("You must pass a scope and parentPath unless traversing a Program/File. " + `Instead of that you tried to traverse a ${parent.type} node without ` + "passing scope and parentPath.");
43
43
  }
44
44
  }
45
+ if (!parentPath && visitSelf) {
46
+ throw new Error("visitSelf can only be used when providing a NodePath.");
47
+ }
45
48
  if (!VISITOR_KEYS[parent.type]) {
46
49
  return;
47
50
  }
48
51
  visitors.explode(opts);
49
- (0, _traverseNode.traverseNode)(parent, opts, scope, state, parentPath);
52
+ (0, _traverseNode.traverseNode)(parent, opts, scope, state, parentPath, null, visitSelf);
50
53
  }
51
54
  var _default = traverse;
52
55
  exports.default = _default;
@@ -62,7 +65,6 @@ traverse.node = function (node, opts, scope, state, path, skipKeys) {
62
65
  };
63
66
  traverse.clearNode = function (node, opts) {
64
67
  removeProperties(node, opts);
65
- cache.path.delete(node);
66
68
  };
67
69
  traverse.removeProperties = function (tree, opts) {
68
70
  traverseFast(tree, traverse.clearNode, opts);
@@ -1 +1 @@
1
- {"version":3,"names":["visitors","require","exports","_t","cache","_traverseNode","_path","_scope","_hub","VISITOR_KEYS","removeProperties","traverseFast","traverse","parent","opts","scope","state","parentPath","noScope","type","Error","explode","traverseNode","_default","default","verify","cheap","node","enter","path","skipKeys","clearNode","delete","tree","hasDenylistedType","has","stop","hasType","denylistTypes","includes","denylist"],"sources":["../src/index.ts"],"sourcesContent":["import * as visitors from \"./visitors\";\nimport {\n VISITOR_KEYS,\n removeProperties,\n type RemovePropertiesOptions,\n traverseFast,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport * as cache from \"./cache\";\nimport type NodePath from \"./path\";\nimport type { default as Scope, Binding } from \"./scope\";\nimport type { ExplodedVisitor, Visitor } from \"./types\";\nimport { traverseNode } from \"./traverse-node\";\n\nexport type { ExplodedVisitor, Visitor, Binding };\nexport { default as NodePath } from \"./path\";\nexport { default as Scope } from \"./scope\";\nexport { default as Hub } from \"./hub\";\nexport type { HubInterface } from \"./hub\";\n\nexport { visitors };\n\nexport type TraverseOptions<S = t.Node> = {\n scope?: Scope;\n noScope?: boolean;\n denylist?: string[];\n shouldSkip?: (node: NodePath) => boolean;\n} & Visitor<S>;\n\nexport type ExplodedTraverseOptions<S = t.Node> = TraverseOptions<S> &\n ExplodedVisitor<S>;\n\nfunction traverse<S>(\n parent: t.Node,\n opts: TraverseOptions<S>,\n scope: Scope | undefined,\n state: S,\n parentPath?: NodePath,\n): void;\n\nfunction traverse(\n parent: t.Node,\n opts: TraverseOptions,\n scope?: Scope,\n state?: any,\n parentPath?: NodePath,\n): void;\n\nfunction traverse<Options extends TraverseOptions>(\n parent: t.Node,\n // @ts-expect-error provide {} as default value for Options\n opts: Options = {},\n scope?: Scope,\n state?: any,\n parentPath?: NodePath,\n) {\n if (!parent) return;\n\n if (!opts.noScope && !scope) {\n if (parent.type !== \"Program\" && parent.type !== \"File\") {\n throw new Error(\n \"You must pass a scope and parentPath unless traversing a Program/File. \" +\n `Instead of that you tried to traverse a ${parent.type} node without ` +\n \"passing scope and parentPath.\",\n );\n }\n }\n\n if (!VISITOR_KEYS[parent.type]) {\n return;\n }\n\n visitors.explode(opts as Visitor);\n\n traverseNode(parent, opts as ExplodedVisitor, scope, state, parentPath);\n}\n\nexport default traverse;\n\ntraverse.visitors = visitors;\ntraverse.verify = visitors.verify;\ntraverse.explode = visitors.explode;\n\ntraverse.cheap = function (node: t.Node, enter: (node: t.Node) => void) {\n traverseFast(node, enter);\n return;\n};\n\ntraverse.node = function (\n node: t.Node,\n opts: ExplodedTraverseOptions,\n scope?: Scope,\n state?: any,\n path?: NodePath,\n skipKeys?: Record<string, boolean>,\n) {\n traverseNode(node, opts, scope, state, path, skipKeys);\n // traverse.node always returns undefined\n};\n\ntraverse.clearNode = function (node: t.Node, opts?: RemovePropertiesOptions) {\n removeProperties(node, opts);\n\n cache.path.delete(node);\n};\n\ntraverse.removeProperties = function (\n tree: t.Node,\n opts?: RemovePropertiesOptions,\n) {\n traverseFast(tree, traverse.clearNode, opts);\n return tree;\n};\n\ntype HasDenylistedTypeState = {\n has: boolean;\n type: t.Node[\"type\"];\n};\nfunction hasDenylistedType(path: NodePath, state: HasDenylistedTypeState) {\n if (path.node.type === state.type) {\n state.has = true;\n path.stop();\n }\n}\n\ntraverse.hasType = function (\n tree: t.Node,\n type: t.Node[\"type\"],\n denylistTypes?: Array<string>,\n): boolean {\n // the node we're searching in is denylisted\n if (denylistTypes?.includes(tree.type)) return false;\n\n // the type we're looking for is the same as the passed node\n if (tree.type === type) return true;\n\n const state: HasDenylistedTypeState = {\n has: false,\n type: type,\n };\n\n traverse(\n tree,\n {\n noScope: true,\n denylist: denylistTypes,\n enter: hasDenylistedType,\n },\n null,\n state,\n );\n\n return state.has;\n};\n\ntraverse.cache = cache;\n"],"mappings":"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"}
1
+ {"version":3,"names":["visitors","require","exports","_t","cache","_traverseNode","_path","_scope","_hub","VISITOR_KEYS","removeProperties","traverseFast","traverse","parent","opts","scope","state","parentPath","visitSelf","noScope","type","Error","explode","traverseNode","_default","default","verify","cheap","node","enter","path","skipKeys","clearNode","tree","hasDenylistedType","has","stop","hasType","denylistTypes","includes","denylist"],"sources":["../src/index.ts"],"sourcesContent":["import * as visitors from \"./visitors\";\nimport {\n VISITOR_KEYS,\n removeProperties,\n type RemovePropertiesOptions,\n traverseFast,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport * as cache from \"./cache\";\nimport type NodePath from \"./path\";\nimport type { default as Scope, Binding } from \"./scope\";\nimport type { ExplodedVisitor, Visitor } from \"./types\";\nimport { traverseNode } from \"./traverse-node\";\n\nexport type { ExplodedVisitor, Visitor, Binding };\nexport { default as NodePath } from \"./path\";\nexport { default as Scope } from \"./scope\";\nexport { default as Hub } from \"./hub\";\nexport type { HubInterface } from \"./hub\";\n\nexport { visitors };\n\nexport type TraverseOptions<S = t.Node> = {\n scope?: Scope;\n noScope?: boolean;\n denylist?: string[];\n shouldSkip?: (node: NodePath) => boolean;\n} & Visitor<S>;\n\nexport type ExplodedTraverseOptions<S = t.Node> = TraverseOptions<S> &\n ExplodedVisitor<S>;\n\nfunction traverse<S>(\n parent: t.Node,\n opts: TraverseOptions<S>,\n scope: Scope | undefined,\n state: S,\n parentPath?: NodePath,\n visitSelf?: boolean,\n): void;\n\nfunction traverse(\n parent: t.Node,\n opts: TraverseOptions,\n scope?: Scope,\n state?: any,\n parentPath?: NodePath,\n visitSelf?: boolean,\n): void;\n\nfunction traverse<Options extends TraverseOptions>(\n parent: t.Node,\n // @ts-expect-error provide {} as default value for Options\n opts: Options = {},\n scope?: Scope,\n state?: any,\n parentPath?: NodePath,\n visitSelf?: boolean,\n) {\n if (!parent) return;\n\n if (!opts.noScope && !scope) {\n if (parent.type !== \"Program\" && parent.type !== \"File\") {\n throw new Error(\n \"You must pass a scope and parentPath unless traversing a Program/File. \" +\n `Instead of that you tried to traverse a ${parent.type} node without ` +\n \"passing scope and parentPath.\",\n );\n }\n }\n\n if (!parentPath && visitSelf) {\n throw new Error(\"visitSelf can only be used when providing a NodePath.\");\n }\n\n if (!VISITOR_KEYS[parent.type]) {\n return;\n }\n\n visitors.explode(opts as Visitor);\n\n traverseNode(\n parent,\n opts as ExplodedVisitor,\n scope,\n state,\n parentPath,\n /* skipKeys */ null,\n visitSelf,\n );\n}\n\nexport default traverse;\n\ntraverse.visitors = visitors;\ntraverse.verify = visitors.verify;\ntraverse.explode = visitors.explode;\n\ntraverse.cheap = function (node: t.Node, enter: (node: t.Node) => void) {\n traverseFast(node, enter);\n return;\n};\n\ntraverse.node = function (\n node: t.Node,\n opts: ExplodedTraverseOptions,\n scope?: Scope,\n state?: any,\n path?: NodePath,\n skipKeys?: Record<string, boolean>,\n) {\n traverseNode(node, opts, scope, state, path, skipKeys);\n // traverse.node always returns undefined\n};\n\ntraverse.clearNode = function (node: t.Node, opts?: RemovePropertiesOptions) {\n removeProperties(node, opts);\n};\n\ntraverse.removeProperties = function (\n tree: t.Node,\n opts?: RemovePropertiesOptions,\n) {\n traverseFast(tree, traverse.clearNode, opts);\n return tree;\n};\n\ntype HasDenylistedTypeState = {\n has: boolean;\n type: t.Node[\"type\"];\n};\nfunction hasDenylistedType(path: NodePath, state: HasDenylistedTypeState) {\n if (path.node.type === state.type) {\n state.has = true;\n path.stop();\n }\n}\n\ntraverse.hasType = function (\n tree: t.Node,\n type: t.Node[\"type\"],\n denylistTypes?: Array<string>,\n): boolean {\n // the node we're searching in is denylisted\n if (denylistTypes?.includes(tree.type)) return false;\n\n // the type we're looking for is the same as the passed node\n if (tree.type === type) return true;\n\n const state: HasDenylistedTypeState = {\n has: false,\n type: type,\n };\n\n traverse(\n tree,\n {\n noScope: true,\n denylist: denylistTypes,\n enter: hasDenylistedType,\n },\n null,\n state,\n );\n\n return state.has;\n};\n\ntraverse.cache = cache;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_traverseNode","require","_index","call","key","opts","debug","node","_call","_opts$this$node$type","type","fns","fn","ret","state","then","Error","_traverseFlags","isDenylisted","_this$opts$denylist","denylist","blacklist","indexOf","restoreContext","path","context","visit","_this$opts$shouldSkip","_this$opts","shouldSkip","currentContext","shouldStop","traverseNode","scope","skipKeys","skip","skipKey","stop","SHOULD_SKIP","SHOULD_STOP","setScope","_this$opts2","_this$scope","noScope","parentPath","listKey","isMethod","isSwitchStatement","target","_path$opts","getScope","init","setContext","resync","removed","_resyncParent","_resyncList","_resyncKey","parent","container","Array","isArray","i","length","setKey","Object","keys","inList","newContainer","_resyncRemoved","_markRemoved","popContext","contexts","pop","undefined","pushContext","push","setup","_this$node","requeue","pathToQueue","maybeQueue","_getQueueContexts"],"sources":["../../src/path/context.ts"],"sourcesContent":["// This file contains methods responsible for maintaining a TraversalContext.\n\nimport { traverseNode } from \"../traverse-node\";\nimport { SHOULD_SKIP, SHOULD_STOP } from \"./index\";\nimport type TraversalContext from \"../context\";\nimport type { VisitPhase } from \"../types\";\nimport type NodePath from \"./index\";\nimport type * as t from \"@babel/types\";\n\nexport function call(this: NodePath, key: VisitPhase): boolean {\n const opts = this.opts;\n\n this.debug(key);\n\n if (this.node) {\n if (this._call(opts[key])) return true;\n }\n\n if (this.node) {\n return this._call(opts[this.node.type]?.[key]);\n }\n\n return false;\n}\n\nexport function _call(this: NodePath, fns?: Array<Function>): boolean {\n if (!fns) return false;\n\n for (const fn of fns) {\n if (!fn) continue;\n\n const node = this.node;\n if (!node) return true;\n\n const ret = fn.call(this.state, this, this.state);\n if (ret && typeof ret === \"object\" && typeof ret.then === \"function\") {\n throw new Error(\n `You appear to be using a plugin with an async traversal visitor, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, you may need to upgrade ` +\n `your @babel/core version.`,\n );\n }\n if (ret) {\n throw new Error(`Unexpected return value from visitor method ${fn}`);\n }\n\n // node has been replaced, it will have been requeued\n if (this.node !== node) return true;\n\n // this.shouldSkip || this.shouldStop || this.removed\n if (this._traverseFlags > 0) return true;\n }\n\n return false;\n}\n\nexport function isDenylisted(this: NodePath): boolean {\n // @ts-expect-error TODO(Babel 8): Remove blacklist\n const denylist = this.opts.denylist ?? this.opts.blacklist;\n return denylist && denylist.indexOf(this.node.type) > -1;\n}\n\n// TODO: Remove in Babel 8\nexport { isDenylisted as isBlacklisted };\n\nfunction restoreContext(path: NodePath, context: TraversalContext) {\n if (path.context !== context) {\n path.context = context;\n path.state = context.state;\n path.opts = context.opts;\n }\n}\n\nexport function visit(this: NodePath): boolean {\n if (!this.node) {\n return false;\n }\n\n if (this.isDenylisted()) {\n return false;\n }\n\n if (this.opts.shouldSkip?.(this)) {\n return false;\n }\n\n const currentContext = this.context;\n // Note: We need to check \"this.shouldSkip\" first because\n // another visitor can set it to true. Usually .shouldSkip is false\n // before calling the enter visitor, but it can be true in case of\n // a requeued node (e.g. by .replaceWith()) that is then marked\n // with .skip().\n if (this.shouldSkip || this.call(\"enter\")) {\n this.debug(\"Skip...\");\n return this.shouldStop;\n }\n restoreContext(this, currentContext);\n\n this.debug(\"Recursing into...\");\n this.shouldStop = traverseNode(\n this.node,\n this.opts,\n this.scope,\n this.state,\n this,\n this.skipKeys,\n );\n\n restoreContext(this, currentContext);\n\n this.call(\"exit\");\n\n return this.shouldStop;\n}\n\nexport function skip(this: NodePath) {\n this.shouldSkip = true;\n}\n\nexport function skipKey(this: NodePath, key: string) {\n if (this.skipKeys == null) {\n this.skipKeys = {};\n }\n this.skipKeys[key] = true;\n}\n\nexport function stop(this: NodePath) {\n // this.shouldSkip = true; this.shouldStop = true;\n this._traverseFlags |= SHOULD_SKIP | SHOULD_STOP;\n}\n\nexport function setScope(this: NodePath) {\n if (this.opts?.noScope) return;\n\n let path = this.parentPath;\n\n if (\n // Skip method scope if is computed method key or decorator expression\n ((this.key === \"key\" || this.listKey === \"decorators\") &&\n path.isMethod()) ||\n // Skip switch scope if for discriminant (`x` in `switch (x) {}`).\n (this.key === \"discriminant\" && path.isSwitchStatement())\n ) {\n path = path.parentPath;\n }\n\n let target;\n while (path && !target) {\n if (path.opts?.noScope) return;\n\n target = path.scope;\n path = path.parentPath;\n }\n\n this.scope = this.getScope(target);\n this.scope?.init();\n}\n\nexport function setContext<S = unknown>(\n this: NodePath,\n context?: TraversalContext<S>,\n) {\n if (this.skipKeys != null) {\n this.skipKeys = {};\n }\n // this.shouldSkip = false; this.shouldStop = false; this.removed = false;\n this._traverseFlags = 0;\n\n if (context) {\n this.context = context;\n this.state = context.state;\n // Discard the S type parameter from contect.opts\n this.opts = context.opts as typeof this.opts;\n }\n\n this.setScope();\n\n return this;\n}\n\n/**\n * Here we resync the node paths `key` and `container`. If they've changed according\n * to what we have stored internally then we attempt to resync by crawling and looking\n * for the new values.\n */\n\nexport function resync(this: NodePath) {\n if (this.removed) return;\n\n this._resyncParent();\n this._resyncList();\n this._resyncKey();\n //this._resyncRemoved();\n}\n\nexport function _resyncParent(this: NodePath) {\n if (this.parentPath) {\n this.parent = this.parentPath.node;\n }\n}\n\nexport function _resyncKey(this: NodePath) {\n if (!this.container) return;\n\n if (\n this.node ===\n // @ts-expect-error this.key should present in this.container\n this.container[this.key]\n ) {\n return;\n }\n\n // grrr, path key is out of sync. this is likely due to a modification to the AST\n // not done through our path APIs\n\n if (Array.isArray(this.container)) {\n for (let i = 0; i < this.container.length; i++) {\n if (this.container[i] === this.node) {\n this.setKey(i);\n return;\n }\n }\n } else {\n for (const key of Object.keys(this.container)) {\n // @ts-expect-error this.key should present in this.container\n if (this.container[key] === this.node) {\n this.setKey(key);\n return;\n }\n }\n }\n\n // ¯\\_(ツ)_/¯ who knows where it's gone lol\n this.key = null;\n}\n\nexport function _resyncList(this: NodePath) {\n if (!this.parent || !this.inList) return;\n\n const newContainer =\n // @ts-expect-error this.listKey should present in this.parent\n this.parent[this.listKey];\n if (this.container === newContainer) return;\n\n // container is out of sync. this is likely the result of it being reassigned\n this.container = newContainer || null;\n}\n\nexport function _resyncRemoved(this: NodePath) {\n if (\n this.key == null ||\n !this.container ||\n // @ts-expect-error this.key should present in this.container\n this.container[this.key] !== this.node\n ) {\n this._markRemoved();\n }\n}\n\nexport function popContext(this: NodePath) {\n this.contexts.pop();\n if (this.contexts.length > 0) {\n this.setContext(this.contexts[this.contexts.length - 1]);\n } else {\n this.setContext(undefined);\n }\n}\n\nexport function pushContext(this: NodePath, context: TraversalContext) {\n this.contexts.push(context);\n this.setContext(context);\n}\n\nexport function setup(\n this: NodePath,\n parentPath: NodePath | undefined,\n container: t.Node | t.Node[],\n listKey: string,\n key: string | number,\n) {\n this.listKey = listKey;\n this.container = container;\n\n this.parentPath = parentPath || this.parentPath;\n this.setKey(key);\n}\n\nexport function setKey(this: NodePath, key: string | number) {\n this.key = key;\n this.node =\n // @ts-expect-error this.key must present in this.container\n this.container[this.key];\n this.type = this.node?.type;\n}\n\nexport function requeue(this: NodePath, pathToQueue = this) {\n if (pathToQueue.removed) return;\n\n // If a path is skipped, and then replaced with a\n // new one, the new one shouldn't probably be skipped.\n if (process.env.BABEL_8_BREAKING) {\n pathToQueue.shouldSkip = false;\n }\n\n // TODO(loganfsmyth): This should be switched back to queue in parent contexts\n // automatically once #2892 and #4135 have been resolved. See #4140.\n // let contexts = this._getQueueContexts();\n const contexts = this.contexts;\n\n for (const context of contexts) {\n context.maybeQueue(pathToQueue);\n }\n}\n\nexport function _getQueueContexts(this: NodePath) {\n let path = this;\n let contexts = this.contexts;\n while (!contexts.length) {\n path = path.parentPath;\n if (!path) break;\n contexts = path.contexts;\n }\n return contexts;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_traverseNode","require","_index","call","key","opts","debug","node","_call","_opts$this$node$type","type","fns","fn","ret","state","then","Error","_traverseFlags","isDenylisted","_this$opts$denylist","denylist","blacklist","indexOf","restoreContext","path","context","visit","_this$opts$shouldSkip","_this$opts","shouldSkip","currentContext","shouldStop","traverseNode","scope","skipKeys","skip","skipKey","stop","SHOULD_SKIP","SHOULD_STOP","setScope","_this$opts2","_this$scope","noScope","parentPath","listKey","isMethod","isSwitchStatement","target","_path$opts","getScope","init","setContext","resync","removed","_resyncParent","_resyncList","_resyncKey","parent","container","Array","isArray","i","length","setKey","Object","keys","inList","newContainer","_resyncRemoved","_markRemoved","popContext","contexts","pop","undefined","pushContext","push","setup","_this$node","requeue","pathToQueue","maybeQueue","_getQueueContexts"],"sources":["../../src/path/context.ts"],"sourcesContent":["// This file contains methods responsible for maintaining a TraversalContext.\n\nimport { traverseNode } from \"../traverse-node\";\nimport { SHOULD_SKIP, SHOULD_STOP } from \"./index\";\nimport type TraversalContext from \"../context\";\nimport type { VisitPhase } from \"../types\";\nimport type NodePath from \"./index\";\nimport type * as t from \"@babel/types\";\n\nexport function call(this: NodePath, key: VisitPhase): boolean {\n const opts = this.opts;\n\n this.debug(key);\n\n if (this.node) {\n if (this._call(opts[key])) return true;\n }\n\n if (this.node) {\n return this._call(opts[this.node.type]?.[key]);\n }\n\n return false;\n}\n\nexport function _call(this: NodePath, fns?: Array<Function>): boolean {\n if (!fns) return false;\n\n for (const fn of fns) {\n if (!fn) continue;\n\n const node = this.node;\n if (!node) return true;\n\n const ret = fn.call(this.state, this, this.state);\n if (ret && typeof ret === \"object\" && typeof ret.then === \"function\") {\n throw new Error(\n `You appear to be using a plugin with an async traversal visitor, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, you may need to upgrade ` +\n `your @babel/core version.`,\n );\n }\n if (ret) {\n throw new Error(`Unexpected return value from visitor method ${fn}`);\n }\n\n // node has been replaced, it will have been requeued\n if (this.node !== node) return true;\n\n // this.shouldSkip || this.shouldStop || this.removed\n if (this._traverseFlags > 0) return true;\n }\n\n return false;\n}\n\nexport function isDenylisted(this: NodePath): boolean {\n // @ts-expect-error TODO(Babel 8): Remove blacklist\n const denylist = this.opts.denylist ?? this.opts.blacklist;\n return denylist && denylist.indexOf(this.node.type) > -1;\n}\n\n// TODO: Remove in Babel 8\nexport { isDenylisted as isBlacklisted };\n\nfunction restoreContext(path: NodePath, context: TraversalContext) {\n if (path.context !== context) {\n path.context = context;\n path.state = context.state;\n path.opts = context.opts;\n }\n}\n\nexport function visit(this: NodePath): boolean {\n if (!this.node) {\n return false;\n }\n\n if (this.isDenylisted()) {\n return false;\n }\n\n if (this.opts.shouldSkip?.(this)) {\n return false;\n }\n\n const currentContext = this.context;\n // Note: We need to check \"this.shouldSkip\" first because\n // another visitor can set it to true. Usually .shouldSkip is false\n // before calling the enter visitor, but it can be true in case of\n // a requeued node (e.g. by .replaceWith()) that is then marked\n // with .skip().\n if (this.shouldSkip || this.call(\"enter\")) {\n this.debug(\"Skip...\");\n return this.shouldStop;\n }\n restoreContext(this, currentContext);\n\n this.debug(\"Recursing into...\");\n this.shouldStop = traverseNode(\n this.node,\n this.opts,\n this.scope,\n this.state,\n this,\n this.skipKeys,\n );\n\n restoreContext(this, currentContext);\n\n this.call(\"exit\");\n\n return this.shouldStop;\n}\n\nexport function skip(this: NodePath) {\n this.shouldSkip = true;\n}\n\nexport function skipKey(this: NodePath, key: string) {\n if (this.skipKeys == null) {\n this.skipKeys = {};\n }\n this.skipKeys[key] = true;\n}\n\nexport function stop(this: NodePath) {\n // this.shouldSkip = true; this.shouldStop = true;\n this._traverseFlags |= SHOULD_SKIP | SHOULD_STOP;\n}\n\nexport function setScope(this: NodePath) {\n if (this.opts?.noScope) return;\n\n let path = this.parentPath;\n\n if (\n // Skip method scope if is computed method key or decorator expression\n ((this.key === \"key\" || this.listKey === \"decorators\") &&\n path.isMethod()) ||\n // Skip switch scope if for discriminant (`x` in `switch (x) {}`).\n (this.key === \"discriminant\" && path.isSwitchStatement())\n ) {\n path = path.parentPath;\n }\n\n let target;\n while (path && !target) {\n if (path.opts?.noScope) return;\n\n target = path.scope;\n path = path.parentPath;\n }\n\n this.scope = this.getScope(target);\n this.scope?.init();\n}\n\nexport function setContext<S = unknown>(\n this: NodePath,\n context?: TraversalContext<S>,\n) {\n if (this.skipKeys != null) {\n this.skipKeys = {};\n }\n // this.shouldSkip = false; this.shouldStop = false; this.removed = false;\n this._traverseFlags = 0;\n\n if (context) {\n this.context = context;\n this.state = context.state;\n // Discard the S type parameter from context.opts\n this.opts = context.opts as typeof this.opts;\n }\n\n this.setScope();\n\n return this;\n}\n\n/**\n * Here we resync the node paths `key` and `container`. If they've changed according\n * to what we have stored internally then we attempt to resync by crawling and looking\n * for the new values.\n */\n\nexport function resync(this: NodePath) {\n if (this.removed) return;\n\n this._resyncParent();\n this._resyncList();\n this._resyncKey();\n //this._resyncRemoved();\n}\n\nexport function _resyncParent(this: NodePath) {\n if (this.parentPath) {\n this.parent = this.parentPath.node;\n }\n}\n\nexport function _resyncKey(this: NodePath) {\n if (!this.container) return;\n\n if (\n this.node ===\n // @ts-expect-error this.key should present in this.container\n this.container[this.key]\n ) {\n return;\n }\n\n // grrr, path key is out of sync. this is likely due to a modification to the AST\n // not done through our path APIs\n\n if (Array.isArray(this.container)) {\n for (let i = 0; i < this.container.length; i++) {\n if (this.container[i] === this.node) {\n this.setKey(i);\n return;\n }\n }\n } else {\n for (const key of Object.keys(this.container)) {\n // @ts-expect-error this.key should present in this.container\n if (this.container[key] === this.node) {\n this.setKey(key);\n return;\n }\n }\n }\n\n // ¯\\_(ツ)_/¯ who knows where it's gone lol\n this.key = null;\n}\n\nexport function _resyncList(this: NodePath) {\n if (!this.parent || !this.inList) return;\n\n const newContainer =\n // @ts-expect-error this.listKey should present in this.parent\n this.parent[this.listKey];\n if (this.container === newContainer) return;\n\n // container is out of sync. this is likely the result of it being reassigned\n this.container = newContainer || null;\n}\n\nexport function _resyncRemoved(this: NodePath) {\n if (\n this.key == null ||\n !this.container ||\n // @ts-expect-error this.key should present in this.container\n this.container[this.key] !== this.node\n ) {\n this._markRemoved();\n }\n}\n\nexport function popContext(this: NodePath) {\n this.contexts.pop();\n if (this.contexts.length > 0) {\n this.setContext(this.contexts[this.contexts.length - 1]);\n } else {\n this.setContext(undefined);\n }\n}\n\nexport function pushContext(this: NodePath, context: TraversalContext) {\n this.contexts.push(context);\n this.setContext(context);\n}\n\nexport function setup(\n this: NodePath,\n parentPath: NodePath | undefined,\n container: t.Node | t.Node[],\n listKey: string,\n key: string | number,\n) {\n this.listKey = listKey;\n this.container = container;\n\n this.parentPath = parentPath || this.parentPath;\n this.setKey(key);\n}\n\nexport function setKey(this: NodePath, key: string | number) {\n this.key = key;\n this.node =\n // @ts-expect-error this.key must present in this.container\n this.container[this.key];\n this.type = this.node?.type;\n}\n\nexport function requeue(this: NodePath, pathToQueue = this) {\n if (pathToQueue.removed) return;\n\n // If a path is skipped, and then replaced with a\n // new one, the new one shouldn't probably be skipped.\n if (process.env.BABEL_8_BREAKING) {\n pathToQueue.shouldSkip = false;\n }\n\n // TODO(loganfsmyth): This should be switched back to queue in parent contexts\n // automatically once #2892 and #4135 have been resolved. See #4140.\n // let contexts = this._getQueueContexts();\n const contexts = this.contexts;\n\n for (const context of contexts) {\n context.maybeQueue(pathToQueue);\n }\n}\n\nexport function _getQueueContexts(this: NodePath) {\n let path = this;\n let contexts = this.contexts;\n while (!contexts.length) {\n path = path.parentPath;\n if (!path) break;\n contexts = path.contexts;\n }\n return contexts;\n}\n"],"mappings":"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"}
@@ -107,10 +107,7 @@ function setType(path, type) {
107
107
  function arrowFunctionToExpression({
108
108
  allowInsertArrow = true,
109
109
  allowInsertArrowWithRest = allowInsertArrow,
110
- noNewArrows = !(() => {
111
- var _arguments$;
112
- return (_arguments$ = arguments[0]) == null ? void 0 : _arguments$.specCompliant;
113
- })()
110
+ noNewArrows = !(_arguments$ => (_arguments$ = arguments[0]) == null ? void 0 : _arguments$.specCompliant)()
114
111
  } = {}) {
115
112
  if (!this.isArrowFunctionExpression()) {
116
113
  throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");