@tinacms/app 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/appFiles/node_modules/.package-lock.json +23 -23
  2. package/appFiles/node_modules/@babel/generator/lib/generators/methods.js +3 -1
  3. package/appFiles/node_modules/@babel/generator/lib/generators/methods.js.map +1 -1
  4. package/appFiles/node_modules/@babel/generator/lib/index.js +11 -0
  5. package/appFiles/node_modules/@babel/generator/lib/index.js.map +1 -1
  6. package/appFiles/node_modules/@babel/generator/lib/printer.js +38 -21
  7. package/appFiles/node_modules/@babel/generator/lib/printer.js.map +1 -1
  8. package/appFiles/node_modules/@babel/generator/package.json +3 -3
  9. package/appFiles/node_modules/@babel/parser/lib/index.js +164 -98
  10. package/appFiles/node_modules/@babel/parser/lib/index.js.map +1 -1
  11. package/appFiles/node_modules/@babel/parser/package.json +2 -2
  12. package/appFiles/node_modules/@babel/parser/typings/babel-parser.d.ts +1 -1
  13. package/appFiles/node_modules/@babel/runtime/helpers/checkInRHS.js +6 -0
  14. package/appFiles/node_modules/@babel/runtime/helpers/createClass.js +2 -1
  15. package/appFiles/node_modules/@babel/runtime/helpers/defineProperty.js +2 -0
  16. package/appFiles/node_modules/@babel/runtime/helpers/esm/checkInRHS.js +5 -0
  17. package/appFiles/node_modules/@babel/runtime/helpers/esm/createClass.js +2 -1
  18. package/appFiles/node_modules/@babel/runtime/helpers/esm/defineProperty.js +2 -0
  19. package/appFiles/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +23 -18
  20. package/appFiles/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js +8 -7
  21. package/appFiles/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js +3 -8
  22. package/appFiles/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +23 -18
  23. package/appFiles/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js +8 -7
  24. package/appFiles/node_modules/@babel/runtime/helpers/regeneratorRuntime.js +3 -8
  25. package/appFiles/node_modules/@babel/runtime/package.json +29 -20
  26. package/appFiles/node_modules/@babel/traverse/lib/path/context.js +3 -2
  27. package/appFiles/node_modules/@babel/traverse/lib/path/context.js.map +1 -1
  28. package/appFiles/node_modules/@babel/traverse/lib/path/conversion.js +8 -4
  29. package/appFiles/node_modules/@babel/traverse/lib/path/conversion.js.map +1 -1
  30. package/appFiles/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js +1 -0
  31. package/appFiles/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js.map +1 -1
  32. package/appFiles/node_modules/@babel/traverse/lib/scope/index.js +1 -1
  33. package/appFiles/node_modules/@babel/traverse/lib/scope/index.js.map +1 -1
  34. package/appFiles/node_modules/@babel/traverse/package.json +4 -4
  35. package/appFiles/node_modules/@babel/types/lib/index.d.ts +64 -64
  36. package/appFiles/node_modules/@babel/types/package.json +3 -3
  37. package/appFiles/node_modules/regenerator-runtime/package.json +2 -2
  38. package/appFiles/node_modules/regenerator-runtime/runtime.js +18 -17
  39. package/appFiles/src/App.tsx +0 -12
  40. package/appFiles/src/fields/rich-text/monaco/mdx.js +0 -46
  41. package/appFiles/src/lib/machines/query-machine.ts +137 -2
  42. package/appFiles/src/preview.tsx +9 -15
  43. package/dist/index.js +7 -5
  44. package/package.json +3 -3
  45. package/appFiles/node_modules/@babel/parser/typings/babel-parser.source.d.ts +0 -151
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babel/parser",
3
- "version": "7.20.3",
3
+ "version": "7.20.5",
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",
@@ -27,7 +27,7 @@
27
27
  "files": [
28
28
  "bin",
29
29
  "lib",
30
- "typings",
30
+ "typings/babel-parser.d.ts",
31
31
  "index.cjs"
32
32
  ],
33
33
  "engines": {
@@ -224,4 +224,4 @@ type ParseResult<Result> = Result & {
224
224
  errors: ParseError[];
225
225
  };
226
226
 
227
- export { DecoratorsPluginOptions, FlowPluginOptions, ParseError, ParserOptions, ParserPlugin, ParserPluginWithOptions, PipelineOperatorPluginOptions, RecordAndTuplePluginOptions, TypeScriptPluginOptions, parse, parseExpression, tokTypes };
227
+ export { DecoratorsPluginOptions, FlowPluginOptions, ParseError, ParseResult, ParserOptions, ParserPlugin, ParserPluginWithOptions, PipelineOperatorPluginOptions, RecordAndTuplePluginOptions, TypeScriptPluginOptions, parse, parseExpression, tokTypes };
@@ -0,0 +1,6 @@
1
+ var _typeof = require("./typeof.js")["default"];
2
+ function _checkInRHS(value) {
3
+ if (Object(value) !== value) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== value ? _typeof(value) : "null"));
4
+ return value;
5
+ }
6
+ module.exports = _checkInRHS, module.exports.__esModule = true, module.exports["default"] = module.exports;
@@ -1,10 +1,11 @@
1
+ var toPropertyKey = require("./toPropertyKey.js");
1
2
  function _defineProperties(target, props) {
2
3
  for (var i = 0; i < props.length; i++) {
3
4
  var descriptor = props[i];
4
5
  descriptor.enumerable = descriptor.enumerable || false;
5
6
  descriptor.configurable = true;
6
7
  if ("value" in descriptor) descriptor.writable = true;
7
- Object.defineProperty(target, descriptor.key, descriptor);
8
+ Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
8
9
  }
9
10
  }
10
11
  function _createClass(Constructor, protoProps, staticProps) {
@@ -1,4 +1,6 @@
1
+ var toPropertyKey = require("./toPropertyKey.js");
1
2
  function _defineProperty(obj, key, value) {
3
+ key = toPropertyKey(key);
2
4
  if (key in obj) {
3
5
  Object.defineProperty(obj, key, {
4
6
  value: value,
@@ -0,0 +1,5 @@
1
+ import _typeof from "./typeof.js";
2
+ export default function _checkInRHS(value) {
3
+ if (Object(value) !== value) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== value ? _typeof(value) : "null"));
4
+ return value;
5
+ }
@@ -1,10 +1,11 @@
1
+ import toPropertyKey from "./toPropertyKey.js";
1
2
  function _defineProperties(target, props) {
2
3
  for (var i = 0; i < props.length; i++) {
3
4
  var descriptor = props[i];
4
5
  descriptor.enumerable = descriptor.enumerable || false;
5
6
  descriptor.configurable = true;
6
7
  if ("value" in descriptor) descriptor.writable = true;
7
- Object.defineProperty(target, descriptor.key, descriptor);
8
+ Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
8
9
  }
9
10
  }
10
11
  export default function _createClass(Constructor, protoProps, staticProps) {
@@ -1,4 +1,6 @@
1
+ import toPropertyKey from "./toPropertyKey.js";
1
2
  export default function _defineProperty(obj, key, value) {
3
+ key = toPropertyKey(key);
2
4
  if (key in obj) {
3
5
  Object.defineProperty(obj, key, {
4
6
  value: value,
@@ -1,24 +1,29 @@
1
1
  export default function _iterableToArrayLimit(arr, i) {
2
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
3
- if (_i == null) return;
4
- var _arr = [];
5
- var _n = true;
6
- var _d = false;
7
- var _s, _e;
8
- try {
9
- for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
10
- _arr.push(_s.value);
11
- if (i && _arr.length === i) break;
12
- }
13
- } catch (err) {
14
- _d = true;
15
- _e = err;
16
- } finally {
2
+ var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
3
+ if (null != _i) {
4
+ var _s,
5
+ _e,
6
+ _x,
7
+ _r,
8
+ _arr = [],
9
+ _n = !0,
10
+ _d = !1;
17
11
  try {
18
- if (!_n && _i["return"] != null) _i["return"]();
12
+ if (_x = (_i = _i.call(arr)).next, 0 === i) {
13
+ if (Object(_i) !== _i) return;
14
+ _n = !1;
15
+ } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {
16
+ ;
17
+ }
18
+ } catch (err) {
19
+ _d = !0, _e = err;
19
20
  } finally {
20
- if (_d) throw _e;
21
+ try {
22
+ if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
23
+ } finally {
24
+ if (_d) throw _e;
25
+ }
21
26
  }
27
+ return _arr;
22
28
  }
23
- return _arr;
24
29
  }
@@ -1,10 +1,11 @@
1
1
  export default function _iterableToArrayLimitLoose(arr, i) {
2
- var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]);
3
- if (_i == null) return;
4
- var _arr = [];
5
- for (_i = _i.call(arr), _step; !(_step = _i.next()).done;) {
6
- _arr.push(_step.value);
7
- if (i && _arr.length === i) break;
2
+ var _i = arr && ("undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]);
3
+ if (null != _i) {
4
+ var _s,
5
+ _arr = [];
6
+ for (_i = _i.call(arr); arr.length < i && !(_s = _i.next()).done;) {
7
+ _arr.push(_s.value);
8
+ }
9
+ return _arr;
8
10
  }
9
- return _arr;
10
11
  }
@@ -135,14 +135,9 @@ export default function _regeneratorRuntime() {
135
135
  };
136
136
  }
137
137
  function maybeInvokeDelegate(delegate, context) {
138
- var method = delegate.iterator[context.method];
139
- if (undefined === method) {
140
- if (context.delegate = null, "throw" === context.method) {
141
- if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel;
142
- context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method");
143
- }
144
- return ContinueSentinel;
145
- }
138
+ var methodName = context.method,
139
+ method = delegate.iterator[methodName];
140
+ if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel;
146
141
  var record = tryCatch(method, delegate.iterator, context.arg);
147
142
  if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel;
148
143
  var info = record.arg;
@@ -1,25 +1,30 @@
1
1
  function _iterableToArrayLimit(arr, i) {
2
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
3
- if (_i == null) return;
4
- var _arr = [];
5
- var _n = true;
6
- var _d = false;
7
- var _s, _e;
8
- try {
9
- for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
10
- _arr.push(_s.value);
11
- if (i && _arr.length === i) break;
12
- }
13
- } catch (err) {
14
- _d = true;
15
- _e = err;
16
- } finally {
2
+ var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
3
+ if (null != _i) {
4
+ var _s,
5
+ _e,
6
+ _x,
7
+ _r,
8
+ _arr = [],
9
+ _n = !0,
10
+ _d = !1;
17
11
  try {
18
- if (!_n && _i["return"] != null) _i["return"]();
12
+ if (_x = (_i = _i.call(arr)).next, 0 === i) {
13
+ if (Object(_i) !== _i) return;
14
+ _n = !1;
15
+ } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {
16
+ ;
17
+ }
18
+ } catch (err) {
19
+ _d = !0, _e = err;
19
20
  } finally {
20
- if (_d) throw _e;
21
+ try {
22
+ if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
23
+ } finally {
24
+ if (_d) throw _e;
25
+ }
21
26
  }
27
+ return _arr;
22
28
  }
23
- return _arr;
24
29
  }
25
30
  module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
@@ -1,11 +1,12 @@
1
1
  function _iterableToArrayLimitLoose(arr, i) {
2
- var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]);
3
- if (_i == null) return;
4
- var _arr = [];
5
- for (_i = _i.call(arr), _step; !(_step = _i.next()).done;) {
6
- _arr.push(_step.value);
7
- if (i && _arr.length === i) break;
2
+ var _i = arr && ("undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]);
3
+ if (null != _i) {
4
+ var _s,
5
+ _arr = [];
6
+ for (_i = _i.call(arr); arr.length < i && !(_s = _i.next()).done;) {
7
+ _arr.push(_s.value);
8
+ }
9
+ return _arr;
8
10
  }
9
- return _arr;
10
11
  }
11
12
  module.exports = _iterableToArrayLimitLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
@@ -135,14 +135,9 @@ function _regeneratorRuntime() {
135
135
  };
136
136
  }
137
137
  function maybeInvokeDelegate(delegate, context) {
138
- var method = delegate.iterator[context.method];
139
- if (undefined === method) {
140
- if (context.delegate = null, "throw" === context.method) {
141
- if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel;
142
- context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method");
143
- }
144
- return ContinueSentinel;
145
- }
138
+ var methodName = context.method,
139
+ method = delegate.iterator[methodName];
140
+ if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel;
146
141
  var record = tryCatch(method, delegate.iterator, context.arg);
147
142
  if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel;
148
143
  var info = record.arg;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babel/runtime",
3
- "version": "7.20.1",
3
+ "version": "7.20.6",
4
4
  "description": "babel's modular runtime helpers",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -14,7 +14,7 @@
14
14
  "homepage": "https://babel.dev/docs/en/next/babel-runtime",
15
15
  "author": "The Babel Team (https://babel.dev/team)",
16
16
  "dependencies": {
17
- "regenerator-runtime": "^0.13.10"
17
+ "regenerator-runtime": "^0.13.11"
18
18
  },
19
19
  "exports": {
20
20
  "./helpers/AsyncGenerator": [
@@ -80,6 +80,33 @@
80
80
  "./helpers/awaitAsyncGenerator.js"
81
81
  ],
82
82
  "./helpers/esm/awaitAsyncGenerator": "./helpers/esm/awaitAsyncGenerator.js",
83
+ "./helpers/checkInRHS": [
84
+ {
85
+ "node": "./helpers/checkInRHS.js",
86
+ "import": "./helpers/esm/checkInRHS.js",
87
+ "default": "./helpers/checkInRHS.js"
88
+ },
89
+ "./helpers/checkInRHS.js"
90
+ ],
91
+ "./helpers/esm/checkInRHS": "./helpers/esm/checkInRHS.js",
92
+ "./helpers/iterableToArrayLimit": [
93
+ {
94
+ "node": "./helpers/iterableToArrayLimit.js",
95
+ "import": "./helpers/esm/iterableToArrayLimit.js",
96
+ "default": "./helpers/iterableToArrayLimit.js"
97
+ },
98
+ "./helpers/iterableToArrayLimit.js"
99
+ ],
100
+ "./helpers/esm/iterableToArrayLimit": "./helpers/esm/iterableToArrayLimit.js",
101
+ "./helpers/iterableToArrayLimitLoose": [
102
+ {
103
+ "node": "./helpers/iterableToArrayLimitLoose.js",
104
+ "import": "./helpers/esm/iterableToArrayLimitLoose.js",
105
+ "default": "./helpers/iterableToArrayLimitLoose.js"
106
+ },
107
+ "./helpers/iterableToArrayLimitLoose.js"
108
+ ],
109
+ "./helpers/esm/iterableToArrayLimitLoose": "./helpers/esm/iterableToArrayLimitLoose.js",
83
110
  "./helpers/jsx": [
84
111
  {
85
112
  "node": "./helpers/jsx.js",
@@ -548,24 +575,6 @@
548
575
  "./helpers/iterableToArray.js"
549
576
  ],
550
577
  "./helpers/esm/iterableToArray": "./helpers/esm/iterableToArray.js",
551
- "./helpers/iterableToArrayLimit": [
552
- {
553
- "node": "./helpers/iterableToArrayLimit.js",
554
- "import": "./helpers/esm/iterableToArrayLimit.js",
555
- "default": "./helpers/iterableToArrayLimit.js"
556
- },
557
- "./helpers/iterableToArrayLimit.js"
558
- ],
559
- "./helpers/esm/iterableToArrayLimit": "./helpers/esm/iterableToArrayLimit.js",
560
- "./helpers/iterableToArrayLimitLoose": [
561
- {
562
- "node": "./helpers/iterableToArrayLimitLoose.js",
563
- "import": "./helpers/esm/iterableToArrayLimitLoose.js",
564
- "default": "./helpers/iterableToArrayLimitLoose.js"
565
- },
566
- "./helpers/iterableToArrayLimitLoose.js"
567
- ],
568
- "./helpers/esm/iterableToArrayLimitLoose": "./helpers/esm/iterableToArrayLimitLoose.js",
569
578
  "./helpers/unsupportedIterableToArray": [
570
579
  {
571
580
  "node": "./helpers/unsupportedIterableToArray.js",
@@ -107,8 +107,9 @@ function stop() {
107
107
  function setScope() {
108
108
  if (this.opts && this.opts.noScope) return;
109
109
  let path = this.parentPath;
110
-
111
- if ((this.key === "key" || this.listKey === "decorators") && path.isMethod()) {
110
+ if (
111
+ (this.key === "key" || this.listKey === "decorators") && path.isMethod() ||
112
+ this.key === "discriminant" && path.isSwitchStatement()) {
112
113
  path = path.parentPath;
113
114
  }
114
115
  let target;
@@ -1 +1 @@
1
- {"version":3,"names":["call","key","opts","debug","node","_call","type","fns","fn","ret","state","then","Error","_traverseFlags","isDenylisted","denylist","blacklist","indexOf","restoreContext","path","context","visit","shouldSkip","currentContext","shouldStop","traverseNode","scope","skipKeys","skip","skipKey","stop","SHOULD_SKIP","SHOULD_STOP","setScope","noScope","parentPath","listKey","isMethod","target","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","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 NodePath from \"./index\";\nimport type * as t from \"@babel/types\";\n\nexport function call(this: NodePath, key: string): 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] && 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 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.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 && this.opts.noScope) return;\n\n let path = this.parentPath;\n\n // Skip method scope if is computed method key or decorator expression\n if (\n (this.key === \"key\" || this.listKey === \"decorators\") &&\n path.isMethod()\n ) {\n path = path.parentPath;\n }\n\n let target;\n while (path && !target) {\n if (path.opts && path.opts.noScope) return;\n\n target = path.scope;\n path = path.parentPath;\n }\n\n this.scope = this.getScope(target);\n if (this.scope) 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 this.opts = context.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 return this.setKey(i);\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 return this.setKey(key);\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,\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":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;;AAKO,SAASA,IAAI,CAAiBC,GAAW,EAAW;EACzD,MAAMC,IAAI,GAAG,IAAI,CAACA,IAAI;EAEtB,IAAI,CAACC,KAAK,CAACF,GAAG,CAAC;EAEf,IAAI,IAAI,CAACG,IAAI,EAAE;IACb,IAAI,IAAI,CAACC,KAAK,CAACH,IAAI,CAACD,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI;EACxC;EAEA,IAAI,IAAI,CAACG,IAAI,EAAE;IACb,OAAO,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC,IAAI,CAACE,IAAI,CAACE,IAAI,CAAC,IAAIJ,IAAI,CAAC,IAAI,CAACE,IAAI,CAACE,IAAI,CAAC,CAACL,GAAG,CAAC,CAAC;EACtE;EAEA,OAAO,KAAK;AACd;AAEO,SAASI,KAAK,CAAiBE,GAAqB,EAAW;EACpE,IAAI,CAACA,GAAG,EAAE,OAAO,KAAK;EAEtB,KAAK,MAAMC,EAAE,IAAID,GAAG,EAAE;IACpB,IAAI,CAACC,EAAE,EAAE;IAET,MAAMJ,IAAI,GAAG,IAAI,CAACA,IAAI;IACtB,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI;IAEtB,MAAMK,GAAG,GAAGD,EAAE,CAACR,IAAI,CAAC,IAAI,CAACU,KAAK,EAAE,IAAI,EAAE,IAAI,CAACA,KAAK,CAAC;IACjD,IAAID,GAAG,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAI,OAAOA,GAAG,CAACE,IAAI,KAAK,UAAU,EAAE;MACpE,MAAM,IAAIC,KAAK,CACZ,mEAAkE,GAChE,wDAAuD,GACvD,8DAA6D,GAC7D,2BAA0B,CAC9B;IACH;IACA,IAAIH,GAAG,EAAE;MACP,MAAM,IAAIG,KAAK,CAAE,+CAA8CJ,EAAG,EAAC,CAAC;IACtE;;IAGA,IAAI,IAAI,CAACJ,IAAI,KAAKA,IAAI,EAAE,OAAO,IAAI;;IAGnC,IAAI,IAAI,CAACS,cAAc,GAAG,CAAC,EAAE,OAAO,IAAI;EAC1C;EAEA,OAAO,KAAK;AACd;AAEO,SAASC,YAAY,GAA0B;EAAA;EACpD,MAAMC,QAAQ,0BAAG,IAAI,CAACb,IAAI,CAACa,QAAQ,kCAAI,IAAI,CAACb,IAAI,CAACc,SAAS;EAC1D,OAAOD,QAAQ,IAAIA,QAAQ,CAACE,OAAO,CAAC,IAAI,CAACb,IAAI,CAACE,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1D;;AAKA,SAASY,cAAc,CAACC,IAAc,EAAEC,OAAyB,EAAE;EACjE,IAAID,IAAI,CAACC,OAAO,KAAKA,OAAO,EAAE;IAC5BD,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtBD,IAAI,CAACT,KAAK,GAAGU,OAAO,CAACV,KAAK;IAC1BS,IAAI,CAACjB,IAAI,GAAGkB,OAAO,CAAClB,IAAI;EAC1B;AACF;AAEO,SAASmB,KAAK,GAA0B;EAC7C,IAAI,CAAC,IAAI,CAACjB,IAAI,EAAE;IACd,OAAO,KAAK;EACd;EAEA,IAAI,IAAI,CAACU,YAAY,EAAE,EAAE;IACvB,OAAO,KAAK;EACd;EAEA,IAAI,IAAI,CAACZ,IAAI,CAACoB,UAAU,IAAI,IAAI,CAACpB,IAAI,CAACoB,UAAU,CAAC,IAAI,CAAC,EAAE;IACtD,OAAO,KAAK;EACd;EAEA,MAAMC,cAAc,GAAG,IAAI,CAACH,OAAO;EAMnC,IAAI,IAAI,CAACE,UAAU,IAAI,IAAI,CAACtB,IAAI,CAAC,OAAO,CAAC,EAAE;IACzC,IAAI,CAACG,KAAK,CAAC,SAAS,CAAC;IACrB,OAAO,IAAI,CAACqB,UAAU;EACxB;EACAN,cAAc,CAAC,IAAI,EAAEK,cAAc,CAAC;EAEpC,IAAI,CAACpB,KAAK,CAAC,mBAAmB,CAAC;EAC/B,IAAI,CAACqB,UAAU,GAAG,IAAAC,0BAAY,EAC5B,IAAI,CAACrB,IAAI,EACT,IAAI,CAACF,IAAI,EACT,IAAI,CAACwB,KAAK,EACV,IAAI,CAAChB,KAAK,EACV,IAAI,EACJ,IAAI,CAACiB,QAAQ,CACd;EAEDT,cAAc,CAAC,IAAI,EAAEK,cAAc,CAAC;EAEpC,IAAI,CAACvB,IAAI,CAAC,MAAM,CAAC;EAEjB,OAAO,IAAI,CAACwB,UAAU;AACxB;AAEO,SAASI,IAAI,GAAiB;EACnC,IAAI,CAACN,UAAU,GAAG,IAAI;AACxB;AAEO,SAASO,OAAO,CAAiB5B,GAAW,EAAE;EACnD,IAAI,IAAI,CAAC0B,QAAQ,IAAI,IAAI,EAAE;IACzB,IAAI,CAACA,QAAQ,GAAG,CAAC,CAAC;EACpB;EACA,IAAI,CAACA,QAAQ,CAAC1B,GAAG,CAAC,GAAG,IAAI;AAC3B;AAEO,SAAS6B,IAAI,GAAiB;EAEnC,IAAI,CAACjB,cAAc,IAAIkB,kBAAW,GAAGC,kBAAW;AAClD;AAEO,SAASC,QAAQ,GAAiB;EACvC,IAAI,IAAI,CAAC/B,IAAI,IAAI,IAAI,CAACA,IAAI,CAACgC,OAAO,EAAE;EAEpC,IAAIf,IAAI,GAAG,IAAI,CAACgB,UAAU;;EAG1B,IACE,CAAC,IAAI,CAAClC,GAAG,KAAK,KAAK,IAAI,IAAI,CAACmC,OAAO,KAAK,YAAY,KACpDjB,IAAI,CAACkB,QAAQ,EAAE,EACf;IACAlB,IAAI,GAAGA,IAAI,CAACgB,UAAU;EACxB;EAEA,IAAIG,MAAM;EACV,OAAOnB,IAAI,IAAI,CAACmB,MAAM,EAAE;IACtB,IAAInB,IAAI,CAACjB,IAAI,IAAIiB,IAAI,CAACjB,IAAI,CAACgC,OAAO,EAAE;IAEpCI,MAAM,GAAGnB,IAAI,CAACO,KAAK;IACnBP,IAAI,GAAGA,IAAI,CAACgB,UAAU;EACxB;EAEA,IAAI,CAACT,KAAK,GAAG,IAAI,CAACa,QAAQ,CAACD,MAAM,CAAC;EAClC,IAAI,IAAI,CAACZ,KAAK,EAAE,IAAI,CAACA,KAAK,CAACc,IAAI,EAAE;AACnC;AAEO,SAASC,UAAU,CAExBrB,OAA6B,EAC7B;EACA,IAAI,IAAI,CAACO,QAAQ,IAAI,IAAI,EAAE;IACzB,IAAI,CAACA,QAAQ,GAAG,CAAC,CAAC;EACpB;EAEA,IAAI,CAACd,cAAc,GAAG,CAAC;EAEvB,IAAIO,OAAO,EAAE;IACX,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACV,KAAK,GAAGU,OAAO,CAACV,KAAK;IAC1B,IAAI,CAACR,IAAI,GAAGkB,OAAO,CAAClB,IAAI;EAC1B;EAEA,IAAI,CAAC+B,QAAQ,EAAE;EAEf,OAAO,IAAI;AACb;;AAQO,SAASS,MAAM,GAAiB;EACrC,IAAI,IAAI,CAACC,OAAO,EAAE;EAElB,IAAI,CAACC,aAAa,EAAE;EACpB,IAAI,CAACC,WAAW,EAAE;EAClB,IAAI,CAACC,UAAU,EAAE;AAEnB;;AAEO,SAASF,aAAa,GAAiB;EAC5C,IAAI,IAAI,CAACT,UAAU,EAAE;IACnB,IAAI,CAACY,MAAM,GAAG,IAAI,CAACZ,UAAU,CAAC/B,IAAI;EACpC;AACF;AAEO,SAAS0C,UAAU,GAAiB;EACzC,IAAI,CAAC,IAAI,CAACE,SAAS,EAAE;EAErB,IACE,IAAI,CAAC5C,IAAI;EAET,IAAI,CAAC4C,SAAS,CAAC,IAAI,CAAC/C,GAAG,CAAC,EACxB;IACA;EACF;;EAKA,IAAIgD,KAAK,CAACC,OAAO,CAAC,IAAI,CAACF,SAAS,CAAC,EAAE;IACjC,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACH,SAAS,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;MAC9C,IAAI,IAAI,CAACH,SAAS,CAACG,CAAC,CAAC,KAAK,IAAI,CAAC/C,IAAI,EAAE;QACnC,OAAO,IAAI,CAACiD,MAAM,CAACF,CAAC,CAAC;MACvB;IACF;EACF,CAAC,MAAM;IACL,KAAK,MAAMlD,GAAG,IAAIqD,MAAM,CAACC,IAAI,CAAC,IAAI,CAACP,SAAS,CAAC,EAAE;MAE7C,IAAI,IAAI,CAACA,SAAS,CAAC/C,GAAG,CAAC,KAAK,IAAI,CAACG,IAAI,EAAE;QACrC,OAAO,IAAI,CAACiD,MAAM,CAACpD,GAAG,CAAC;MACzB;IACF;EACF;;EAGA,IAAI,CAACA,GAAG,GAAG,IAAI;AACjB;AAEO,SAAS4C,WAAW,GAAiB;EAC1C,IAAI,CAAC,IAAI,CAACE,MAAM,IAAI,CAAC,IAAI,CAACS,MAAM,EAAE;EAElC,MAAMC,YAAY;EAEhB,IAAI,CAACV,MAAM,CAAC,IAAI,CAACX,OAAO,CAAC;EAC3B,IAAI,IAAI,CAACY,SAAS,KAAKS,YAAY,EAAE;;EAGrC,IAAI,CAACT,SAAS,GAAGS,YAAY,IAAI,IAAI;AACvC;AAEO,SAASC,cAAc,GAAiB;EAC7C,IACE,IAAI,CAACzD,GAAG,IAAI,IAAI,IAChB,CAAC,IAAI,CAAC+C,SAAS;EAEf,IAAI,CAACA,SAAS,CAAC,IAAI,CAAC/C,GAAG,CAAC,KAAK,IAAI,CAACG,IAAI,EACtC;IACA,IAAI,CAACuD,YAAY,EAAE;EACrB;AACF;AAEO,SAASC,UAAU,GAAiB;EACzC,IAAI,CAACC,QAAQ,CAACC,GAAG,EAAE;EACnB,IAAI,IAAI,CAACD,QAAQ,CAACT,MAAM,GAAG,CAAC,EAAE;IAC5B,IAAI,CAACX,UAAU,CAAC,IAAI,CAACoB,QAAQ,CAAC,IAAI,CAACA,QAAQ,CAACT,MAAM,GAAG,CAAC,CAAC,CAAC;EAC1D,CAAC,MAAM;IACL,IAAI,CAACX,UAAU,CAACsB,SAAS,CAAC;EAC5B;AACF;AAEO,SAASC,WAAW,CAAiB5C,OAAyB,EAAE;EACrE,IAAI,CAACyC,QAAQ,CAACI,IAAI,CAAC7C,OAAO,CAAC;EAC3B,IAAI,CAACqB,UAAU,CAACrB,OAAO,CAAC;AAC1B;AAEO,SAAS8C,KAAK,CAEnB/B,UAAgC,EAChCa,SAAiB,EACjBZ,OAAe,EACfnC,GAAoB,EACpB;EACA,IAAI,CAACmC,OAAO,GAAGA,OAAO;EACtB,IAAI,CAACY,SAAS,GAAGA,SAAS;EAE1B,IAAI,CAACb,UAAU,GAAGA,UAAU,IAAI,IAAI,CAACA,UAAU;EAC/C,IAAI,CAACkB,MAAM,CAACpD,GAAG,CAAC;AAClB;AAEO,SAASoD,MAAM,CAAiBpD,GAAoB,EAAE;EAAA;EAC3D,IAAI,CAACA,GAAG,GAAGA,GAAG;EACd,IAAI,CAACG,IAAI;EAEP,IAAI,CAAC4C,SAAS,CAAC,IAAI,CAAC/C,GAAG,CAAC;EAC1B,IAAI,CAACK,IAAI,iBAAG,IAAI,CAACF,IAAI,qBAAT,WAAWE,IAAI;AAC7B;AAEO,SAAS6D,OAAO,CAAiBC,WAAW,GAAG,IAAI,EAAE;EAC1D,IAAIA,WAAW,CAACzB,OAAO,EAAE;;EAAO;EAWhC,MAAMkB,QAAQ,GAAG,IAAI,CAACA,QAAQ;EAE9B,KAAK,MAAMzC,OAAO,IAAIyC,QAAQ,EAAE;IAC9BzC,OAAO,CAACiD,UAAU,CAACD,WAAW,CAAC;EACjC;AACF;AAEO,SAASE,iBAAiB,GAAiB;EAChD,IAAInD,IAAI,GAAG,IAAI;EACf,IAAI0C,QAAQ,GAAG,IAAI,CAACA,QAAQ;EAC5B,OAAO,CAACA,QAAQ,CAACT,MAAM,EAAE;IACvBjC,IAAI,GAAGA,IAAI,CAACgB,UAAU;IACtB,IAAI,CAAChB,IAAI,EAAE;IACX0C,QAAQ,GAAG1C,IAAI,CAAC0C,QAAQ;EAC1B;EACA,OAAOA,QAAQ;AACjB"}
1
+ {"version":3,"names":["call","key","opts","debug","node","_call","type","fns","fn","ret","state","then","Error","_traverseFlags","isDenylisted","denylist","blacklist","indexOf","restoreContext","path","context","visit","shouldSkip","currentContext","shouldStop","traverseNode","scope","skipKeys","skip","skipKey","stop","SHOULD_SKIP","SHOULD_STOP","setScope","noScope","parentPath","listKey","isMethod","isSwitchStatement","target","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","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 NodePath from \"./index\";\nimport type * as t from \"@babel/types\";\n\nexport function call(this: NodePath, key: string): 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] && 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 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.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 && 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 && path.opts.noScope) return;\n\n target = path.scope;\n path = path.parentPath;\n }\n\n this.scope = this.getScope(target);\n if (this.scope) 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 this.opts = context.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 return this.setKey(i);\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 return this.setKey(key);\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,\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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"}
@@ -108,6 +108,7 @@ function setType(path, type) {
108
108
 
109
109
  function arrowFunctionToExpression({
110
110
  allowInsertArrow = true,
111
+ allowInsertArrowWithRest = allowInsertArrow,
111
112
  specCompliant = false,
112
113
  noNewArrows = !specCompliant
113
114
  } = {}) {
@@ -117,7 +118,7 @@ function arrowFunctionToExpression({
117
118
  const {
118
119
  thisBinding,
119
120
  fnPath: fn
120
- } = hoistFunctionEnvironment(this, noNewArrows, allowInsertArrow);
121
+ } = hoistFunctionEnvironment(this, noNewArrows, allowInsertArrow, allowInsertArrowWithRest);
121
122
 
122
123
  fn.ensureBlock();
123
124
  setType(fn, "FunctionExpression");
@@ -146,7 +147,7 @@ const getSuperCallsVisitor = (0, _visitors.merge)([{
146
147
  }, _helperEnvironmentVisitor.default]);
147
148
 
148
149
  function hoistFunctionEnvironment(fnPath,
149
- noNewArrows = true, allowInsertArrow = true) {
150
+ noNewArrows = true, allowInsertArrow = true, allowInsertArrowWithRest = true) {
150
151
  let arrowParent;
151
152
  let thisEnvFn = fnPath.findParent(p => {
152
153
  if (p.isArrowFunctionExpression()) {
@@ -184,7 +185,10 @@ noNewArrows = true, allowInsertArrow = true) {
184
185
 
185
186
  if (inConstructor && superCalls.length > 0) {
186
187
  if (!allowInsertArrow) {
187
- throw superCalls[0].buildCodeFrameError("Unable to handle nested super() usage in arrow");
188
+ throw superCalls[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', " + "it's not possible to compile `super()` in an arrow function without compiling classes.\n" + "Please add '@babel/plugin-transform-classes' to your Babel configuration.");
189
+ }
190
+ if (!allowInsertArrowWithRest) {
191
+ throw superCalls[0].buildCodeFrameError("When using '@babel/plugin-transform-parameters', " + "it's not possible to compile `super()` in an arrow function with default or rest parameters without compiling classes.\n" + "Please add '@babel/plugin-transform-classes' to your Babel configuration.");
188
192
  }
189
193
  const allSuperCalls = [];
190
194
  thisEnvFn.traverse(getSuperCallsVisitor, {
@@ -225,7 +229,7 @@ noNewArrows = true, allowInsertArrow = true) {
225
229
 
226
230
  if (superProps.length > 0) {
227
231
  if (!allowInsertArrow) {
228
- throw superProps[0].buildCodeFrameError("Unable to handle nested super.prop usage");
232
+ throw superProps[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', " + "it's not possible to compile `super.prop` in an arrow function without compiling classes.\n" + "Please add '@babel/plugin-transform-classes' to your Babel configuration.");
229
233
  }
230
234
  const flatSuperProps = superProps.reduce((acc, superProp) => acc.concat(standardizeSuperProperty(superProp)), []);
231
235
  flatSuperProps.forEach(superProp => {