From a54ddfd708b9549a60808e98385c027f87bba75f Mon Sep 17 00:00:00 2001 From: do-hyun123 Date: Mon, 16 Dec 2024 23:31:20 +0900 Subject: [PATCH] feat : dev --- .yarn/sdks/typescript/package.json | 2 +- package.json | 3 +- packages/admin/package.json | 2 +- packages/admin/src/router.tsx | 1 - packages/user/.vite/deps/@emotion_css.js | 152 + packages/user/.vite/deps/@emotion_css.js.map | 7 + packages/user/.vite/deps/@emotion_react.js | 34 + .../user/.vite/deps/@emotion_react.js.map | 7 + packages/user/.vite/deps/@emotion_styled.js | 332 + .../user/.vite/deps/@emotion_styled.js.map | 7 + .../user/.vite/deps/@emotion_styled_macro.js | 27721 ++++++++++++++++ .../.vite/deps/@emotion_styled_macro.js.map | 7 + .../user/.vite/deps/@tanstack_react-query.js | 3353 ++ .../.vite/deps/@tanstack_react-query.js.map | 7 + packages/user/.vite/deps/_metadata.json | 83 +- packages/user/.vite/deps/chunk-3AUTVWZM.js | 1028 + .../user/.vite/deps/chunk-3AUTVWZM.js.map | 7 + packages/user/.vite/deps/chunk-55NPQQDX.js | 928 + .../user/.vite/deps/chunk-55NPQQDX.js.map | 7 + packages/user/.vite/deps/chunk-CP36PE7K.js | 634 + .../user/.vite/deps/chunk-CP36PE7K.js.map | 7 + .../{chunk-XZK5Q32F.js => chunk-DHYUYUAP.js} | 10 +- ...-XZK5Q32F.js.map => chunk-DHYUYUAP.js.map} | 2 +- packages/user/.vite/deps/chunk-GME3E6MP.js | 24 + .../user/.vite/deps/chunk-GME3E6MP.js.map | 7 + packages/user/.vite/deps/chunk-KERQOROF.js | 21687 ++++++++++++ .../user/.vite/deps/chunk-KERQOROF.js.map | 7 + packages/user/.vite/deps/chunk-OL46QLBJ.js | 72 + .../user/.vite/deps/chunk-OL46QLBJ.js.map | 7 + packages/user/.vite/deps/chunk-YNZKW5RL.js | 817 + .../user/.vite/deps/chunk-YNZKW5RL.js.map | 7 + packages/user/.vite/deps/react-dom_client.js | 21689 +----------- .../user/.vite/deps/react-dom_client.js.map | 8 +- packages/user/.vite/deps/react-router-dom.js | 10817 ++++++ .../user/.vite/deps/react-router-dom.js.map | 7 + packages/user/.vite/deps/react-toastify.js | 359 + .../user/.vite/deps/react-toastify.js.map | 7 + packages/user/.vite/deps/react.js | 3 +- .../user/.vite/deps/react_jsx-dev-runtime.js | 6 +- .../.vite/deps/react_jsx-dev-runtime.js.map | 2 +- packages/user/.vite/deps/react_jsx-runtime.js | 925 +- .../user/.vite/deps/react_jsx-runtime.js.map | 8 +- packages/user/package.json | 12 +- packages/user/src/App.css | 42 - packages/user/src/App.tsx | 29 +- packages/user/src/apis/index.ts | 0 .../src/assets/feed/heart/activateHeart.svg | 16 + .../src/assets/feed/heart/deactivateHeart.svg | 16 + packages/user/src/assets/feed/heart/index.ts | 2 + packages/user/src/assets/feed/index.ts | 3 + packages/user/src/assets/feed/testImg.jpeg | Bin 0 -> 107971 bytes packages/user/src/assets/header/arrowIcon.svg | 3 + packages/user/src/assets/header/bellIcon.svg | 8 + packages/user/src/assets/header/index.ts | 5 + packages/user/src/assets/header/logo.svg | 26 + .../user/src/assets/header/postButtonIcon.svg | 9 + .../user/src/assets/header/profileIcon.svg | 8 + packages/user/src/assets/login/cancleIcon.svg | 5 + packages/user/src/assets/login/index.ts | 1 + packages/user/src/assets/main/index.ts | 4 + .../user/src/assets/main/reSearchIcon.svg | 7 + packages/user/src/assets/main/searchIcon.svg | 8 + .../user/src/assets/main/searchIconGray.svg | 8 + .../user/src/assets/main/searchIconWhite.svg | 8 + packages/user/src/assets/react.svg | 1 - packages/user/src/components/Feed/feed.tsx | 151 + .../user/src/components/Feed/mainFeed.tsx | 192 + packages/user/src/components/Feed/navBar.tsx | 73 + packages/user/src/components/Header/index.tsx | 187 + packages/user/src/components/Search/index.tsx | 57 + .../src/components/SkillSearch/categories.tsx | 54 + .../user/src/components/SkillSearch/index.tsx | 72 + packages/user/src/components/index.ts | 4 + packages/user/src/components/login/login.tsx | 113 + packages/user/src/index.css | 68 - packages/user/src/main.tsx | 37 +- packages/user/src/pages/Feed.tsx | 27 + packages/user/src/pages/FeedDetail.tsx | 13 + packages/user/src/pages/Home.tsx | 69 + packages/user/src/pages/NotFound.tsx | 5 + packages/user/src/pages/index.ts | 3 + packages/user/src/router.tsx | 30 + packages/user/src/style/globalStyle.style.ts | 163 + packages/user/tsconfig.json | 1 + packages/user/vite.config.ts | 1 + yarn.lock | 148 +- 86 files changed, 69696 insertions(+), 22793 deletions(-) create mode 100644 packages/user/.vite/deps/@emotion_css.js create mode 100644 packages/user/.vite/deps/@emotion_css.js.map create mode 100644 packages/user/.vite/deps/@emotion_react.js create mode 100644 packages/user/.vite/deps/@emotion_react.js.map create mode 100644 packages/user/.vite/deps/@emotion_styled.js create mode 100644 packages/user/.vite/deps/@emotion_styled.js.map create mode 100644 packages/user/.vite/deps/@emotion_styled_macro.js create mode 100644 packages/user/.vite/deps/@emotion_styled_macro.js.map create mode 100644 packages/user/.vite/deps/@tanstack_react-query.js create mode 100644 packages/user/.vite/deps/@tanstack_react-query.js.map create mode 100644 packages/user/.vite/deps/chunk-3AUTVWZM.js create mode 100644 packages/user/.vite/deps/chunk-3AUTVWZM.js.map create mode 100644 packages/user/.vite/deps/chunk-55NPQQDX.js create mode 100644 packages/user/.vite/deps/chunk-55NPQQDX.js.map create mode 100644 packages/user/.vite/deps/chunk-CP36PE7K.js create mode 100644 packages/user/.vite/deps/chunk-CP36PE7K.js.map rename packages/user/.vite/deps/{chunk-XZK5Q32F.js => chunk-DHYUYUAP.js} (99%) rename packages/user/.vite/deps/{chunk-XZK5Q32F.js.map => chunk-DHYUYUAP.js.map} (72%) create mode 100644 packages/user/.vite/deps/chunk-GME3E6MP.js create mode 100644 packages/user/.vite/deps/chunk-GME3E6MP.js.map create mode 100644 packages/user/.vite/deps/chunk-KERQOROF.js create mode 100644 packages/user/.vite/deps/chunk-KERQOROF.js.map create mode 100644 packages/user/.vite/deps/chunk-OL46QLBJ.js create mode 100644 packages/user/.vite/deps/chunk-OL46QLBJ.js.map create mode 100644 packages/user/.vite/deps/chunk-YNZKW5RL.js create mode 100644 packages/user/.vite/deps/chunk-YNZKW5RL.js.map create mode 100644 packages/user/.vite/deps/react-router-dom.js create mode 100644 packages/user/.vite/deps/react-router-dom.js.map create mode 100644 packages/user/.vite/deps/react-toastify.js create mode 100644 packages/user/.vite/deps/react-toastify.js.map delete mode 100644 packages/user/src/App.css create mode 100644 packages/user/src/apis/index.ts create mode 100644 packages/user/src/assets/feed/heart/activateHeart.svg create mode 100644 packages/user/src/assets/feed/heart/deactivateHeart.svg create mode 100644 packages/user/src/assets/feed/heart/index.ts create mode 100644 packages/user/src/assets/feed/index.ts create mode 100644 packages/user/src/assets/feed/testImg.jpeg create mode 100644 packages/user/src/assets/header/arrowIcon.svg create mode 100644 packages/user/src/assets/header/bellIcon.svg create mode 100644 packages/user/src/assets/header/index.ts create mode 100644 packages/user/src/assets/header/logo.svg create mode 100644 packages/user/src/assets/header/postButtonIcon.svg create mode 100644 packages/user/src/assets/header/profileIcon.svg create mode 100644 packages/user/src/assets/login/cancleIcon.svg create mode 100644 packages/user/src/assets/login/index.ts create mode 100644 packages/user/src/assets/main/index.ts create mode 100644 packages/user/src/assets/main/reSearchIcon.svg create mode 100644 packages/user/src/assets/main/searchIcon.svg create mode 100644 packages/user/src/assets/main/searchIconGray.svg create mode 100644 packages/user/src/assets/main/searchIconWhite.svg delete mode 100644 packages/user/src/assets/react.svg create mode 100644 packages/user/src/components/Feed/feed.tsx create mode 100644 packages/user/src/components/Feed/mainFeed.tsx create mode 100644 packages/user/src/components/Feed/navBar.tsx create mode 100644 packages/user/src/components/Header/index.tsx create mode 100644 packages/user/src/components/Search/index.tsx create mode 100644 packages/user/src/components/SkillSearch/categories.tsx create mode 100644 packages/user/src/components/SkillSearch/index.tsx create mode 100644 packages/user/src/components/index.ts create mode 100644 packages/user/src/components/login/login.tsx delete mode 100644 packages/user/src/index.css create mode 100644 packages/user/src/pages/Feed.tsx create mode 100644 packages/user/src/pages/FeedDetail.tsx create mode 100644 packages/user/src/pages/Home.tsx create mode 100644 packages/user/src/pages/NotFound.tsx create mode 100644 packages/user/src/pages/index.ts create mode 100644 packages/user/src/router.tsx create mode 100644 packages/user/src/style/globalStyle.style.ts diff --git a/.yarn/sdks/typescript/package.json b/.yarn/sdks/typescript/package.json index 9f487d3..1399ec4 100644 --- a/.yarn/sdks/typescript/package.json +++ b/.yarn/sdks/typescript/package.json @@ -1,6 +1,6 @@ { "name": "typescript", - "version": "5.4.5-sdk", + "version": "5.5.4-sdk", "main": "./lib/typescript.js", "type": "commonjs", "bin": { diff --git a/package.json b/package.json index 07b1af3..3eda5d3 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,9 @@ ], "scripts": { "user": "yarn workspace user", - "ui": "yarn workspace ui", "admin": "yarn workspace admin" }, "devDependencies": { - "typescript": "5.4.5" + "typescript": "5.5.4" } } diff --git a/packages/admin/package.json b/packages/admin/package.json index 7e262d5..fb4c786 100644 --- a/packages/admin/package.json +++ b/packages/admin/package.json @@ -30,7 +30,7 @@ "eslint-plugin-react-hooks": "^5.0.0", "eslint-plugin-react-refresh": "^0.4.14", "globals": "^15.12.0", - "typescript": "5.4.5", + "typescript": "5.5.4", "typescript-eslint": "^8.15.0", "vite": "^6.0.1" } diff --git a/packages/admin/src/router.tsx b/packages/admin/src/router.tsx index 9f0a0b3..8331a80 100644 --- a/packages/admin/src/router.tsx +++ b/packages/admin/src/router.tsx @@ -3,6 +3,5 @@ import { createBrowserRouter } from "react-router-dom"; export const router = createBrowserRouter([ { path: '/', - element: }, ]); \ No newline at end of file diff --git a/packages/user/.vite/deps/@emotion_css.js b/packages/user/.vite/deps/@emotion_css.js new file mode 100644 index 0000000..bae8a97 --- /dev/null +++ b/packages/user/.vite/deps/@emotion_css.js @@ -0,0 +1,152 @@ +import { + createCache, + getRegisteredStyles, + insertStyles +} from "./chunk-CP36PE7K.js"; +import { + init_emotion_serialize_development_esm, + serializeStyles +} from "./chunk-YNZKW5RL.js"; +import "./chunk-OL46QLBJ.js"; + +// ../../.yarn/cache/@emotion-css-npm-11.13.5-a50e7e4239-45d444b08c.zip/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.development.esm.js +init_emotion_serialize_development_esm(); +function insertWithoutScoping(cache2, serialized) { + if (cache2.inserted[serialized.name] === void 0) { + return cache2.insert("", serialized, cache2.sheet, true); + } +} +function merge(registered, css2, className) { + var registeredStyles = []; + var rawClassName = getRegisteredStyles(registered, registeredStyles, className); + if (registeredStyles.length < 2) { + return className; + } + return rawClassName + css2(registeredStyles); +} +var createEmotion = function createEmotion2(options) { + var cache2 = createCache(options); + cache2.sheet.speedy = function(value) { + if (this.ctr !== 0) { + throw new Error("speedy must be changed before any rules are inserted"); + } + this.isSpeedy = value; + }; + cache2.compat = true; + var css2 = function css3() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + var serialized = serializeStyles(args, cache2.registered, void 0); + insertStyles(cache2, serialized, false); + return cache2.key + "-" + serialized.name; + }; + var keyframes2 = function keyframes3() { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + var serialized = serializeStyles(args, cache2.registered); + var animation = "animation-" + serialized.name; + insertWithoutScoping(cache2, { + name: serialized.name, + styles: "@keyframes " + animation + "{" + serialized.styles + "}" + }); + return animation; + }; + var injectGlobal2 = function injectGlobal3() { + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + var serialized = serializeStyles(args, cache2.registered); + insertWithoutScoping(cache2, serialized); + }; + var cx2 = function cx3() { + for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + args[_key4] = arguments[_key4]; + } + return merge(cache2.registered, css2, classnames(args)); + }; + return { + css: css2, + cx: cx2, + injectGlobal: injectGlobal2, + keyframes: keyframes2, + hydrate: function hydrate2(ids) { + ids.forEach(function(key) { + cache2.inserted[key] = true; + }); + }, + flush: function flush2() { + cache2.registered = {}; + cache2.inserted = {}; + cache2.sheet.flush(); + }, + sheet: cache2.sheet, + cache: cache2, + getRegisteredStyles: getRegisteredStyles.bind(null, cache2.registered), + merge: merge.bind(null, cache2.registered, css2) + }; +}; +var classnames = function classnames2(args) { + var cls = ""; + for (var i = 0; i < args.length; i++) { + var arg = args[i]; + if (arg == null) continue; + var toAdd = void 0; + switch (typeof arg) { + case "boolean": + break; + case "object": { + if (Array.isArray(arg)) { + toAdd = classnames2(arg); + } else { + toAdd = ""; + for (var k in arg) { + if (arg[k] && k) { + toAdd && (toAdd += " "); + toAdd += k; + } + } + } + break; + } + default: { + toAdd = arg; + } + } + if (toAdd) { + cls && (cls += " "); + cls += toAdd; + } + } + return cls; +}; + +// ../../.yarn/cache/@emotion-css-npm-11.13.5-a50e7e4239-45d444b08c.zip/node_modules/@emotion/css/dist/emotion-css.development.esm.js +init_emotion_serialize_development_esm(); +var _createEmotion = createEmotion({ + key: "css" +}); +var flush = _createEmotion.flush; +var hydrate = _createEmotion.hydrate; +var cx = _createEmotion.cx; +var merge2 = _createEmotion.merge; +var getRegisteredStyles2 = _createEmotion.getRegisteredStyles; +var injectGlobal = _createEmotion.injectGlobal; +var keyframes = _createEmotion.keyframes; +var css = _createEmotion.css; +var sheet = _createEmotion.sheet; +var cache = _createEmotion.cache; +export { + cache, + css, + cx, + flush, + getRegisteredStyles2 as getRegisteredStyles, + hydrate, + injectGlobal, + keyframes, + merge2 as merge, + sheet +}; +//# sourceMappingURL=@emotion_css.js.map diff --git a/packages/user/.vite/deps/@emotion_css.js.map b/packages/user/.vite/deps/@emotion_css.js.map new file mode 100644 index 0000000..fe45bfd --- /dev/null +++ b/packages/user/.vite/deps/@emotion_css.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../.yarn/cache/@emotion-css-npm-11.13.5-a50e7e4239-45d444b08c.zip/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.development.esm.js", "../../../../.yarn/cache/@emotion-css-npm-11.13.5-a50e7e4239-45d444b08c.zip/node_modules/@emotion/css/dist/emotion-css.development.esm.js"], + "sourcesContent": ["import createCache from '@emotion/cache';\nimport { serializeStyles } from '@emotion/serialize';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\n\nfunction insertWithoutScoping(cache, serialized) {\n if (cache.inserted[serialized.name] === undefined) {\n return cache.insert('', serialized, cache.sheet, true);\n }\n}\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar createEmotion = function createEmotion(options) {\n var cache = createCache(options);\n\n cache.sheet.speedy = function (value) {\n if (this.ctr !== 0) {\n throw new Error('speedy must be changed before any rules are inserted');\n }\n\n this.isSpeedy = value;\n };\n\n cache.compat = true;\n\n var css = function css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered, undefined);\n insertStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var keyframes = function keyframes() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n var animation = \"animation-\" + serialized.name;\n insertWithoutScoping(cache, {\n name: serialized.name,\n styles: \"@keyframes \" + animation + \"{\" + serialized.styles + \"}\"\n });\n return animation;\n };\n\n var injectGlobal = function injectGlobal() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n insertWithoutScoping(cache, serialized);\n };\n\n var cx = function cx() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n return {\n css: css,\n cx: cx,\n injectGlobal: injectGlobal,\n keyframes: keyframes,\n hydrate: function hydrate(ids) {\n ids.forEach(function (key) {\n cache.inserted[key] = true;\n });\n },\n flush: function flush() {\n cache.registered = {};\n cache.inserted = {};\n cache.sheet.flush();\n },\n sheet: cache.sheet,\n cache: cache,\n getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),\n merge: merge.bind(null, cache.registered, css)\n };\n};\n\nvar classnames = function classnames(args) {\n var cls = '';\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nexport { createEmotion as default };\n", "import createEmotion from '../create-instance/dist/emotion-css-create-instance.development.esm.js';\nimport '@emotion/cache';\nimport '@emotion/serialize';\nimport '@emotion/utils';\n\nvar _createEmotion = createEmotion({\n key: 'css'\n}),\n flush = _createEmotion.flush,\n hydrate = _createEmotion.hydrate,\n cx = _createEmotion.cx,\n merge = _createEmotion.merge,\n getRegisteredStyles = _createEmotion.getRegisteredStyles,\n injectGlobal = _createEmotion.injectGlobal,\n keyframes = _createEmotion.keyframes,\n css = _createEmotion.css,\n sheet = _createEmotion.sheet,\n cache = _createEmotion.cache;\n\nexport { cache, css, cx, flush, getRegisteredStyles, hydrate, injectGlobal, keyframes, merge, sheet };\n"], + "mappings": "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", + "names": ["cache", "css", "createEmotion", "keyframes", "injectGlobal", "cx", "hydrate", "flush", "classnames", "merge", "getRegisteredStyles"] +} diff --git a/packages/user/.vite/deps/@emotion_react.js b/packages/user/.vite/deps/@emotion_react.js new file mode 100644 index 0000000..6cfb452 --- /dev/null +++ b/packages/user/.vite/deps/@emotion_react.js @@ -0,0 +1,34 @@ +import { + CacheProvider, + ClassNames, + Global, + ThemeContext, + ThemeProvider, + __unsafe_useEmotionCache, + css, + jsx, + keyframes, + useTheme, + withEmotionCache, + withTheme +} from "./chunk-3AUTVWZM.js"; +import "./chunk-GME3E6MP.js"; +import "./chunk-CP36PE7K.js"; +import "./chunk-YNZKW5RL.js"; +import "./chunk-DHYUYUAP.js"; +import "./chunk-OL46QLBJ.js"; +export { + CacheProvider, + ClassNames, + Global, + ThemeContext, + ThemeProvider, + __unsafe_useEmotionCache, + jsx as createElement, + css, + jsx, + keyframes, + useTheme, + withEmotionCache, + withTheme +}; diff --git a/packages/user/.vite/deps/@emotion_react.js.map b/packages/user/.vite/deps/@emotion_react.js.map new file mode 100644 index 0000000..9865211 --- /dev/null +++ b/packages/user/.vite/deps/@emotion_react.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": [], + "sourcesContent": [], + "mappings": "", + "names": [] +} diff --git a/packages/user/.vite/deps/@emotion_styled.js b/packages/user/.vite/deps/@emotion_styled.js new file mode 100644 index 0000000..6d5cf19 --- /dev/null +++ b/packages/user/.vite/deps/@emotion_styled.js @@ -0,0 +1,332 @@ +import { + ThemeContext, + useInsertionEffectAlwaysWithSyncFallback, + withEmotionCache +} from "./chunk-3AUTVWZM.js"; +import { + _extends, + init_extends +} from "./chunk-GME3E6MP.js"; +import { + getRegisteredStyles, + insertStyles, + registerStyles +} from "./chunk-CP36PE7K.js"; +import { + init_emotion_memoize_esm, + init_emotion_serialize_development_esm, + memoize, + serializeStyles +} from "./chunk-YNZKW5RL.js"; +import { + require_react +} from "./chunk-DHYUYUAP.js"; +import { + __toESM +} from "./chunk-OL46QLBJ.js"; + +// ../../.yarn/__virtual__/@emotion-styled-virtual-2965579ce9/0/cache/@emotion-styled-npm-11.14.0-36f2daa0c9-20aa5c488e.zip/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.development.esm.js +init_extends(); +init_emotion_serialize_development_esm(); +var React = __toESM(require_react()); + +// ../../.yarn/cache/@emotion-is-prop-valid-npm-1.3.1-571ec80fe5-123215540c.zip/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js +init_emotion_memoize_esm(); +var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; +var isPropValid = memoize( + function(prop) { + return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91; + } + /* Z+1 */ +); + +// ../../.yarn/__virtual__/@emotion-styled-virtual-2965579ce9/0/cache/@emotion-styled-npm-11.14.0-36f2daa0c9-20aa5c488e.zip/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.development.esm.js +var isDevelopment = true; +var testOmitPropsOnStringTag = isPropValid; +var testOmitPropsOnComponent = function testOmitPropsOnComponent2(key) { + return key !== "theme"; +}; +var getDefaultShouldForwardProp = function getDefaultShouldForwardProp2(tag) { + return typeof tag === "string" && // 96 is one less than the char code + // for "a" so this is checking that + // it's a lowercase character + tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent; +}; +var composeShouldForwardProps = function composeShouldForwardProps2(tag, options, isReal) { + var shouldForwardProp; + if (options) { + var optionsShouldForwardProp = options.shouldForwardProp; + shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function(propName) { + return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName); + } : optionsShouldForwardProp; + } + if (typeof shouldForwardProp !== "function" && isReal) { + shouldForwardProp = tag.__emotion_forwardProp; + } + return shouldForwardProp; +}; +var ILLEGAL_ESCAPE_SEQUENCE_ERROR = `You have illegal escape sequence in your template literal, most likely inside content's property value. +Because you write your CSS inside a JavaScript string you actually have to do double escaping, so for example "content: '\\00d7';" should become "content: '\\\\00d7';". +You can read more about this here: +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences`; +var Insertion = function Insertion2(_ref) { + var cache = _ref.cache, serialized = _ref.serialized, isStringTag = _ref.isStringTag; + registerStyles(cache, serialized, isStringTag); + useInsertionEffectAlwaysWithSyncFallback(function() { + return insertStyles(cache, serialized, isStringTag); + }); + return null; +}; +var createStyled = function createStyled2(tag, options) { + { + if (tag === void 0) { + throw new Error("You are trying to create a styled element with an undefined component.\nYou may have forgotten to import it."); + } + } + var isReal = tag.__emotion_real === tag; + var baseTag = isReal && tag.__emotion_base || tag; + var identifierName; + var targetClassName; + if (options !== void 0) { + identifierName = options.label; + targetClassName = options.target; + } + var shouldForwardProp = composeShouldForwardProps(tag, options, isReal); + var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag); + var shouldUseAs = !defaultShouldForwardProp("as"); + return function() { + var args = arguments; + var styles = isReal && tag.__emotion_styles !== void 0 ? tag.__emotion_styles.slice(0) : []; + if (identifierName !== void 0) { + styles.push("label:" + identifierName + ";"); + } + if (args[0] == null || args[0].raw === void 0) { + styles.push.apply(styles, args); + } else { + var templateStringsArr = args[0]; + if (templateStringsArr[0] === void 0) { + console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR); + } + styles.push(templateStringsArr[0]); + var len = args.length; + var i = 1; + for (; i < len; i++) { + if (templateStringsArr[i] === void 0) { + console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR); + } + styles.push(args[i], templateStringsArr[i]); + } + } + var Styled = withEmotionCache(function(props, cache, ref) { + var FinalTag = shouldUseAs && props.as || baseTag; + var className = ""; + var classInterpolations = []; + var mergedProps = props; + if (props.theme == null) { + mergedProps = {}; + for (var key in props) { + mergedProps[key] = props[key]; + } + mergedProps.theme = React.useContext(ThemeContext); + } + if (typeof props.className === "string") { + className = getRegisteredStyles(cache.registered, classInterpolations, props.className); + } else if (props.className != null) { + className = props.className + " "; + } + var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps); + className += cache.key + "-" + serialized.name; + if (targetClassName !== void 0) { + className += " " + targetClassName; + } + var finalShouldForwardProp = shouldUseAs && shouldForwardProp === void 0 ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp; + var newProps = {}; + for (var _key in props) { + if (shouldUseAs && _key === "as") continue; + if (finalShouldForwardProp(_key)) { + newProps[_key] = props[_key]; + } + } + newProps.className = className; + if (ref) { + newProps.ref = ref; + } + return React.createElement(React.Fragment, null, React.createElement(Insertion, { + cache, + serialized, + isStringTag: typeof FinalTag === "string" + }), React.createElement(FinalTag, newProps)); + }); + Styled.displayName = identifierName !== void 0 ? identifierName : "Styled(" + (typeof baseTag === "string" ? baseTag : baseTag.displayName || baseTag.name || "Component") + ")"; + Styled.defaultProps = tag.defaultProps; + Styled.__emotion_real = Styled; + Styled.__emotion_base = baseTag; + Styled.__emotion_styles = styles; + Styled.__emotion_forwardProp = shouldForwardProp; + Object.defineProperty(Styled, "toString", { + value: function value() { + if (targetClassName === void 0 && isDevelopment) { + return "NO_COMPONENT_SELECTOR"; + } + return "." + targetClassName; + } + }); + Styled.withComponent = function(nextTag, nextOptions) { + var newStyled2 = createStyled2(nextTag, _extends({}, options, nextOptions, { + shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true) + })); + return newStyled2.apply(void 0, styles); + }; + return Styled; + }; +}; + +// ../../.yarn/__virtual__/@emotion-styled-virtual-2965579ce9/0/cache/@emotion-styled-npm-11.14.0-36f2daa0c9-20aa5c488e.zip/node_modules/@emotion/styled/dist/emotion-styled.browser.development.esm.js +init_extends(); +init_emotion_serialize_development_esm(); +var import_react3 = __toESM(require_react()); +var tags = [ + "a", + "abbr", + "address", + "area", + "article", + "aside", + "audio", + "b", + "base", + "bdi", + "bdo", + "big", + "blockquote", + "body", + "br", + "button", + "canvas", + "caption", + "cite", + "code", + "col", + "colgroup", + "data", + "datalist", + "dd", + "del", + "details", + "dfn", + "dialog", + "div", + "dl", + "dt", + "em", + "embed", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "head", + "header", + "hgroup", + "hr", + "html", + "i", + "iframe", + "img", + "input", + "ins", + "kbd", + "keygen", + "label", + "legend", + "li", + "link", + "main", + "map", + "mark", + "marquee", + "menu", + "menuitem", + "meta", + "meter", + "nav", + "noscript", + "object", + "ol", + "optgroup", + "option", + "output", + "p", + "param", + "picture", + "pre", + "progress", + "q", + "rp", + "rt", + "ruby", + "s", + "samp", + "script", + "section", + "select", + "small", + "source", + "span", + "strong", + "style", + "sub", + "summary", + "sup", + "table", + "tbody", + "td", + "textarea", + "tfoot", + "th", + "thead", + "time", + "title", + "tr", + "track", + "u", + "ul", + "var", + "video", + "wbr", + // SVG + "circle", + "clipPath", + "defs", + "ellipse", + "foreignObject", + "g", + "image", + "line", + "linearGradient", + "mask", + "path", + "pattern", + "polygon", + "polyline", + "radialGradient", + "rect", + "stop", + "svg", + "text", + "tspan" +]; +var newStyled = createStyled.bind(null); +tags.forEach(function(tagName) { + newStyled[tagName] = newStyled(tagName); +}); +export { + newStyled as default +}; +//# sourceMappingURL=@emotion_styled.js.map diff --git a/packages/user/.vite/deps/@emotion_styled.js.map b/packages/user/.vite/deps/@emotion_styled.js.map new file mode 100644 index 0000000..1b9d451 --- /dev/null +++ b/packages/user/.vite/deps/@emotion_styled.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../.yarn/__virtual__/@emotion-styled-virtual-2965579ce9/0/cache/@emotion-styled-npm-11.14.0-36f2daa0c9-20aa5c488e.zip/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.development.esm.js", "../../../../.yarn/cache/@emotion-is-prop-valid-npm-1.3.1-571ec80fe5-123215540c.zip/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js", "../../../../.yarn/__virtual__/@emotion-styled-virtual-2965579ce9/0/cache/@emotion-styled-npm-11.14.0-36f2daa0c9-20aa5c488e.zip/node_modules/@emotion/styled/dist/emotion-styled.browser.development.esm.js"], + "sourcesContent": ["import _extends from '@babel/runtime/helpers/esm/extends';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\n\nvar isDevelopment = true;\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n // eslint-disable-next-line prefer-spread\n styles.push.apply(styles, args);\n } else {\n var templateStringsArr = args[0];\n\n if (templateStringsArr[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(templateStringsArr[0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (templateStringsArr[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], templateStringsArr[i]);\n }\n }\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if (finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && isDevelopment) {\n return 'NO_COMPONENT_SELECTOR';\n }\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n var newStyled = createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n }));\n return newStyled.apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n", "import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n", "import createStyled from '../base/dist/emotion-styled-base.browser.development.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/react';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\nimport '@emotion/utils';\nimport 'react';\nimport '@emotion/is-prop-valid';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\n// bind it to avoid mutating the original function\nvar newStyled = createStyled.bind(null);\ntags.forEach(function (tagName) {\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n"], + "mappings": "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", + "names": ["testOmitPropsOnComponent", "getDefaultShouldForwardProp", "composeShouldForwardProps", "Insertion", "createStyled", "newStyled", "import_react"] +} diff --git a/packages/user/.vite/deps/@emotion_styled_macro.js b/packages/user/.vite/deps/@emotion_styled_macro.js new file mode 100644 index 0000000..85009a4 --- /dev/null +++ b/packages/user/.vite/deps/@emotion_styled_macro.js @@ -0,0 +1,27721 @@ +import { + _extends, + init_extends +} from "./chunk-GME3E6MP.js"; +import { + compile, + init_emotion_hash_esm, + init_emotion_memoize_esm, + init_emotion_serialize_development_esm, + init_stylis, + memoize, + murmur2, + serializeStyles +} from "./chunk-YNZKW5RL.js"; +import { + __commonJS, + __esm, + __export, + __require, + __toCommonJS, + __toESM +} from "./chunk-OL46QLBJ.js"; + +// ../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +var init_arrayLikeToArray = __esm({ + "../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"() { + } +}); + +// ../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; + } +} +var init_unsupportedIterableToArray = __esm({ + "../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"() { + init_arrayLikeToArray(); + } +}); + +// ../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js +function _createForOfIteratorHelperLoose(r, e) { + var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (t) return (t = t.call(r)).next.bind(t); + if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { + t && (r = t); + var o = 0; + return function() { + return o >= r.length ? { + done: true + } : { + done: false, + value: r[o++] + }; + }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +var init_createForOfIteratorHelperLoose = __esm({ + "../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js"() { + init_unsupportedIterableToArray(); + } +}); + +// ../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +function _objectWithoutPropertiesLoose(r, e) { + if (null == r) return {}; + var t = {}; + for (var n in r) if ({}.hasOwnProperty.call(r, n)) { + if (e.includes(n)) continue; + t[n] = r[n]; + } + return t; +} +var init_objectWithoutPropertiesLoose = __esm({ + "../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"() { + } +}); + +// browser-external:path +var require_path = __commonJS({ + "browser-external:path"(exports, module) { + module.exports = Object.create(new Proxy({}, { + get(_, key) { + if (key !== "__esModule" && key !== "__proto__" && key !== "constructor" && key !== "splice") { + console.warn(`Module "path" has been externalized for browser compatibility. Cannot access "path.${key}" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`); + } + } + })); + } +}); + +// ../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/base64.js +var require_base64 = __commonJS({ + "../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/base64.js"(exports) { + var intToCharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""); + exports.encode = function(number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); + }; + exports.decode = function(charCode) { + var bigA = 65; + var bigZ = 90; + var littleA = 97; + var littleZ = 122; + var zero = 48; + var nine = 57; + var plus = 43; + var slash = 47; + var littleOffset = 26; + var numberOffset = 52; + if (bigA <= charCode && charCode <= bigZ) { + return charCode - bigA; + } + if (littleA <= charCode && charCode <= littleZ) { + return charCode - littleA + littleOffset; + } + if (zero <= charCode && charCode <= nine) { + return charCode - zero + numberOffset; + } + if (charCode == plus) { + return 62; + } + if (charCode == slash) { + return 63; + } + return -1; + }; + } +}); + +// ../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/base64-vlq.js +var require_base64_vlq = __commonJS({ + "../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/base64-vlq.js"(exports) { + var base64 = require_base64(); + var VLQ_BASE_SHIFT = 5; + var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + var VLQ_BASE_MASK = VLQ_BASE - 1; + var VLQ_CONTINUATION_BIT = VLQ_BASE; + function toVLQSigned(aValue) { + return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0; + } + function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative ? -shifted : shifted; + } + exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + var vlq = toVLQSigned(aValue); + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + return encoded; + }; + exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; + }; + } +}); + +// ../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/util.js +var require_util = __commonJS({ + "../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/util.js"(exports) { + function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } + } + exports.getArg = getArg; + var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/; + var dataUrlRegexp = /^data:.+\,.+$/; + function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; + } + exports.urlParse = urlParse; + function urlGenerate(aParsedUrl) { + var url = ""; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ":"; + } + url += "//"; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + "@"; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port; + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; + } + exports.urlGenerate = urlGenerate; + function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + var parts = path.split(/\/+/); + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === ".") { + parts.splice(i, 1); + } else if (part === "..") { + up++; + } else if (up > 0) { + if (part === "") { + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join("/"); + if (path === "") { + path = isAbsolute ? "/" : "."; + } + if (url) { + url.path = path; + return urlGenerate(url); + } + return path; + } + exports.normalize = normalize; + function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || "/"; + } + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + var joined = aPath.charAt(0) === "/" ? aPath : normalize(aRoot.replace(/\/+$/, "") + "/" + aPath); + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; + } + exports.join = join; + exports.isAbsolute = function(aPath) { + return aPath.charAt(0) === "/" || !!aPath.match(urlRegexp); + }; + function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + aRoot = aRoot.replace(/\/$/, ""); + var level = 0; + while (aPath.indexOf(aRoot + "/") !== 0) { + var index2 = aRoot.lastIndexOf("/"); + if (index2 < 0) { + return aPath; + } + aRoot = aRoot.slice(0, index2); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + ++level; + } + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); + } + exports.relative = relative; + var supportsNullProto = function() { + var obj = /* @__PURE__ */ Object.create(null); + return !("__proto__" in obj); + }(); + function identity(s) { + return s; + } + function toSetString(aStr) { + if (isProtoString(aStr)) { + return "$" + aStr; + } + return aStr; + } + exports.toSetString = supportsNullProto ? identity : toSetString; + function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + return aStr; + } + exports.fromSetString = supportsNullProto ? identity : fromSetString; + function isProtoString(s) { + if (!s) { + return false; + } + var length = s.length; + if (length < 9) { + return false; + } + if (s.charCodeAt(length - 1) !== 95 || s.charCodeAt(length - 2) !== 95 || s.charCodeAt(length - 3) !== 111 || s.charCodeAt(length - 4) !== 116 || s.charCodeAt(length - 5) !== 111 || s.charCodeAt(length - 6) !== 114 || s.charCodeAt(length - 7) !== 112 || s.charCodeAt(length - 8) !== 95 || s.charCodeAt(length - 9) !== 95) { + return false; + } + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36) { + return false; + } + } + return true; + } + function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = mappingA.source - mappingB.source; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + return mappingA.name - mappingB.name; + } + exports.compareByOriginalPositions = compareByOriginalPositions; + function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + cmp = mappingA.source - mappingB.source; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + return mappingA.name - mappingB.name; + } + exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + if (aStr1 > aStr2) { + return 1; + } + return -1; + } + function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + return strcmp(mappingA.name, mappingB.name); + } + exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + } +}); + +// ../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/array-set.js +var require_array_set = __commonJS({ + "../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/array-set.js"(exports) { + var util = require_util(); + var has = Object.prototype.hasOwnProperty; + var hasNativeMap = typeof Map !== "undefined"; + function ArraySet() { + this._array = []; + this._set = hasNativeMap ? /* @__PURE__ */ new Map() : /* @__PURE__ */ Object.create(null); + } + ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set2 = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set2.add(aArray[i], aAllowDuplicates); + } + return set2; + }; + ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; + }; + ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } + }; + ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } + }; + ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + throw new Error('"' + aStr + '" is not in the set.'); + }; + ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error("No element indexed by " + aIdx); + }; + ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); + }; + exports.ArraySet = ArraySet; + } +}); + +// ../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/mapping-list.js +var require_mapping_list = __commonJS({ + "../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/mapping-list.js"(exports) { + var util = require_util(); + function generatedPositionAfter(mappingA, mappingB) { + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; + } + function MappingList() { + this._array = []; + this._sorted = true; + this._last = { generatedLine: -1, generatedColumn: 0 }; + } + MappingList.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); + }; + MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } + }; + MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; + }; + exports.MappingList = MappingList; + } +}); + +// ../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/source-map-generator.js +var require_source_map_generator = __commonJS({ + "../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/source-map-generator.js"(exports) { + var base64VLQ = require_base64_vlq(); + var util = require_util(); + var ArraySet = require_array_set().ArraySet; + var MappingList = require_mapping_list().MappingList; + function SourceMapGenerator2(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, "file", null); + this._sourceRoot = util.getArg(aArgs, "sourceRoot", null); + this._skipValidation = util.getArg(aArgs, "skipValidation", false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; + } + SourceMapGenerator2.prototype._version = 3; + SourceMapGenerator2.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator2({ + file: aSourceMapConsumer.file, + sourceRoot + }); + aSourceMapConsumer.eachMapping(function(mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function(sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + SourceMapGenerator2.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, "generated"); + var original = util.getArg(aArgs, "original", null); + var source = util.getArg(aArgs, "source", null); + var name = util.getArg(aArgs, "name", null); + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source, + name + }); + }; + SourceMapGenerator2.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + if (aSourceContent != null) { + if (!this._sourcesContents) { + this._sourcesContents = /* @__PURE__ */ Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + SourceMapGenerator2.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error( + `SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.` + ); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + var newSources = new ArraySet(); + var newNames = new ArraySet(); + this._mappings.unsortedForEach(function(mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source); + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + }, this); + this._sources = newSources; + this._names = newNames; + aSourceMapConsumer.sources.forEach(function(sourceFile2) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile2); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile2 = util.join(aSourceMapPath, sourceFile2); + } + if (sourceRoot != null) { + sourceFile2 = util.relative(sourceRoot, sourceFile2); + } + this.setSourceContent(sourceFile2, content); + } + }, this); + }; + SourceMapGenerator2.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) { + if (aOriginal && typeof aOriginal.line !== "number" && typeof aOriginal.column !== "number") { + throw new Error( + "original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values." + ); + } + if (aGenerated && "line" in aGenerated && "column" in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) { + return; + } else if (aGenerated && "line" in aGenerated && "column" in aGenerated && aOriginal && "line" in aOriginal && "column" in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) { + return; + } else { + throw new Error("Invalid mapping: " + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } + }; + SourceMapGenerator2.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ""; + var next; + var mapping; + var nameIdx; + var sourceIdx; + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = ""; + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + next += ";"; + previousGeneratedLine++; + } + } else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ","; + } + } + next += base64VLQ.encode(mapping.generatedColumn - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + next += base64VLQ.encode(mapping.originalLine - 1 - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + next += base64VLQ.encode(mapping.originalColumn - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + result += next; + } + return result; + }; + SourceMapGenerator2.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function(source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null; + }, this); + }; + SourceMapGenerator2.prototype.toJSON = function SourceMapGenerator_toJSON() { + var map2 = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map2.file = this._file; + } + if (this._sourceRoot != null) { + map2.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map2.sourcesContent = this._generateSourcesContent(map2.sources, map2.sourceRoot); + } + return map2; + }; + SourceMapGenerator2.prototype.toString = function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); + }; + exports.SourceMapGenerator = SourceMapGenerator2; + } +}); + +// ../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/binary-search.js +var require_binary_search = __commonJS({ + "../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/binary-search.js"(exports) { + exports.GREATEST_LOWER_BOUND = 1; + exports.LEAST_UPPER_BOUND = 2; + function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + return mid; + } else if (cmp > 0) { + if (aHigh - mid > 1) { + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } else { + if (mid - aLow > 1) { + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } + } + exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + var index2 = recursiveSearch( + -1, + aHaystack.length, + aNeedle, + aHaystack, + aCompare, + aBias || exports.GREATEST_LOWER_BOUND + ); + if (index2 < 0) { + return -1; + } + while (index2 - 1 >= 0) { + if (aCompare(aHaystack[index2], aHaystack[index2 - 1], true) !== 0) { + break; + } + --index2; + } + return index2; + }; + } +}); + +// ../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/quick-sort.js +var require_quick_sort = __commonJS({ + "../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/quick-sort.js"(exports) { + function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; + } + function randomIntInRange(low, high) { + return Math.round(low + Math.random() * (high - low)); + } + function doQuickSort(ary, comparator, p, r) { + if (p < r) { + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + swap(ary, pivotIndex, r); + var pivot = ary[r]; + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); + } + } + swap(ary, i + 1, j); + var q = i + 1; + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } + } + exports.quickSort = function(ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); + }; + } +}); + +// ../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/source-map-consumer.js +var require_source_map_consumer = __commonJS({ + "../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/source-map-consumer.js"(exports) { + var util = require_util(); + var binarySearch = require_binary_search(); + var ArraySet = require_array_set().ArraySet; + var base64VLQ = require_base64_vlq(); + var quickSort = require_quick_sort().quickSort; + function SourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === "string") { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, "")); + } + return sourceMap.sections != null ? new IndexedSourceMapConsumer(sourceMap) : new BasicSourceMapConsumer(sourceMap); + } + SourceMapConsumer.fromSourceMap = function(aSourceMap) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap); + }; + SourceMapConsumer.prototype._version = 3; + SourceMapConsumer.prototype.__generatedMappings = null; + Object.defineProperty(SourceMapConsumer.prototype, "_generatedMappings", { + get: function() { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + return this.__generatedMappings; + } + }); + SourceMapConsumer.prototype.__originalMappings = null; + Object.defineProperty(SourceMapConsumer.prototype, "_originalMappings", { + get: function() { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + return this.__originalMappings; + } + }); + SourceMapConsumer.prototype._charIsMappingSeparator = function SourceMapConsumer_charIsMappingSeparator(aStr, index2) { + var c = aStr.charAt(index2); + return c === ";" || c === ","; + }; + SourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); + }; + SourceMapConsumer.GENERATED_ORDER = 1; + SourceMapConsumer.ORIGINAL_ORDER = 2; + SourceMapConsumer.GREATEST_LOWER_BOUND = 1; + SourceMapConsumer.LEAST_UPPER_BOUND = 2; + SourceMapConsumer.prototype.eachMapping = function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + var sourceRoot = this.sourceRoot; + mappings.map(function(mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + if (source != null && sourceRoot != null) { + source = util.join(sourceRoot, source); + } + return { + source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) + }; + }, this).forEach(aCallback, context); + }; + SourceMapConsumer.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, "line"); + var needle = { + source: util.getArg(aArgs, "source"), + originalLine: line, + originalColumn: util.getArg(aArgs, "column", 0) + }; + if (this.sourceRoot != null) { + needle.source = util.relative(this.sourceRoot, needle.source); + } + if (!this._sources.has(needle.source)) { + return []; + } + needle.source = this._sources.indexOf(needle.source); + var mappings = []; + var index2 = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND + ); + if (index2 >= 0) { + var mapping = this._originalMappings[index2]; + if (aArgs.column === void 0) { + var originalLine = mapping.originalLine; + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, "generatedLine", null), + column: util.getArg(mapping, "generatedColumn", null), + lastColumn: util.getArg(mapping, "lastGeneratedColumn", null) + }); + mapping = this._originalMappings[++index2]; + } + } else { + var originalColumn = mapping.originalColumn; + while (mapping && mapping.originalLine === line && mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, "generatedLine", null), + column: util.getArg(mapping, "generatedColumn", null), + lastColumn: util.getArg(mapping, "lastGeneratedColumn", null) + }); + mapping = this._originalMappings[++index2]; + } + } + } + return mappings; + }; + exports.SourceMapConsumer = SourceMapConsumer; + function BasicSourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === "string") { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, "")); + } + var version = util.getArg(sourceMap, "version"); + var sources = util.getArg(sourceMap, "sources"); + var names = util.getArg(sourceMap, "names", []); + var sourceRoot = util.getArg(sourceMap, "sourceRoot", null); + var sourcesContent = util.getArg(sourceMap, "sourcesContent", null); + var mappings = util.getArg(sourceMap, "mappings"); + var file = util.getArg(sourceMap, "file", null); + if (version != this._version) { + throw new Error("Unsupported version: " + version); + } + sources = sources.map(String).map(util.normalize).map(function(source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) ? util.relative(sourceRoot, source) : source; + }); + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this.file = file; + } + BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); + BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + BasicSourceMapConsumer.fromSourceMap = function SourceMapConsumer_fromSourceMap(aSourceMap) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent( + smc._sources.toArray(), + smc.sourceRoot + ); + smc.file = aSourceMap._file; + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping(); + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + destOriginalMappings.push(destMapping); + } + destGeneratedMappings.push(destMapping); + } + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + return smc; + }; + BasicSourceMapConsumer.prototype._version = 3; + Object.defineProperty(BasicSourceMapConsumer.prototype, "sources", { + get: function() { + return this._sources.toArray().map(function(s) { + return this.sourceRoot != null ? util.join(this.sourceRoot, s) : s; + }, this); + } + }); + function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; + } + BasicSourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index2 = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value2; + while (index2 < length) { + if (aStr.charAt(index2) === ";") { + generatedLine++; + index2++; + previousGeneratedColumn = 0; + } else if (aStr.charAt(index2) === ",") { + index2++; + } else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + for (end = index2; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index2, end); + segment = cachedSegments[str]; + if (segment) { + index2 += str.length; + } else { + segment = []; + while (index2 < end) { + base64VLQ.decode(aStr, index2, temp); + value2 = temp.value; + index2 = temp.rest; + segment.push(value2); + } + if (segment.length === 2) { + throw new Error("Found a source, but no line and column"); + } + if (segment.length === 3) { + throw new Error("Found a source and line, but no column"); + } + cachedSegments[str] = segment; + } + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + if (segment.length > 1) { + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + mapping.originalLine += 1; + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + if (segment.length > 4) { + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + generatedMappings.push(mapping); + if (typeof mapping.originalLine === "number") { + originalMappings.push(mapping); + } + } + } + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; + }; + BasicSourceMapConsumer.prototype._findMapping = function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias) { + if (aNeedle[aLineName] <= 0) { + throw new TypeError("Line must be greater than or equal to 1, got " + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError("Column must be greater than or equal to 0, got " + aNeedle[aColumnName]); + } + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; + BasicSourceMapConsumer.prototype.computeColumnSpans = function SourceMapConsumer_computeColumnSpans() { + for (var index2 = 0; index2 < this._generatedMappings.length; ++index2) { + var mapping = this._generatedMappings[index2]; + if (index2 + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index2 + 1]; + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + mapping.lastGeneratedColumn = Infinity; + } + }; + BasicSourceMapConsumer.prototype.originalPositionFor = function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, "line"), + generatedColumn: util.getArg(aArgs, "column") + }; + var index2 = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, "bias", SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + if (index2 >= 0) { + var mapping = this._generatedMappings[index2]; + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, "source", null); + if (source !== null) { + source = this._sources.at(source); + if (this.sourceRoot != null) { + source = util.join(this.sourceRoot, source); + } + } + var name = util.getArg(mapping, "name", null); + if (name !== null) { + name = this._names.at(name); + } + return { + source, + line: util.getArg(mapping, "originalLine", null), + column: util.getArg(mapping, "originalColumn", null), + name + }; + } + } + return { + source: null, + line: null, + column: null, + name: null + }; + }; + BasicSourceMapConsumer.prototype.hasContentsOfAllSources = function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function(sc) { + return sc == null; + }); + }; + BasicSourceMapConsumer.prototype.sourceContentFor = function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + if (this.sourceRoot != null) { + aSource = util.relative(this.sourceRoot, aSource); + } + if (this._sources.has(aSource)) { + return this.sourcesContent[this._sources.indexOf(aSource)]; + } + var url; + if (this.sourceRoot != null && (url = util.urlParse(this.sourceRoot))) { + var fileUriAbsPath = aSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]; + } + if ((!url.path || url.path == "/") && this._sources.has("/" + aSource)) { + return this.sourcesContent[this._sources.indexOf("/" + aSource)]; + } + } + if (nullOnMissing) { + return null; + } else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + BasicSourceMapConsumer.prototype.generatedPositionFor = function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, "source"); + if (this.sourceRoot != null) { + source = util.relative(this.sourceRoot, source); + } + if (!this._sources.has(source)) { + return { + line: null, + column: null, + lastColumn: null + }; + } + source = this._sources.indexOf(source); + var needle = { + source, + originalLine: util.getArg(aArgs, "line"), + originalColumn: util.getArg(aArgs, "column") + }; + var index2 = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, "bias", SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + if (index2 >= 0) { + var mapping = this._originalMappings[index2]; + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, "generatedLine", null), + column: util.getArg(mapping, "generatedColumn", null), + lastColumn: util.getArg(mapping, "lastGeneratedColumn", null) + }; + } + } + return { + line: null, + column: null, + lastColumn: null + }; + }; + exports.BasicSourceMapConsumer = BasicSourceMapConsumer; + function IndexedSourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === "string") { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, "")); + } + var version = util.getArg(sourceMap, "version"); + var sections = util.getArg(sourceMap, "sections"); + if (version != this._version) { + throw new Error("Unsupported version: " + version); + } + this._sources = new ArraySet(); + this._names = new ArraySet(); + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function(s) { + if (s.url) { + throw new Error("Support for url field in sections not implemented."); + } + var offset = util.getArg(s, "offset"); + var offsetLine = util.getArg(offset, "line"); + var offsetColumn = util.getArg(offset, "column"); + if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) { + throw new Error("Section offsets must be ordered and non-overlapping."); + } + lastOffset = offset; + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, "map")) + }; + }); + } + IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); + IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + IndexedSourceMapConsumer.prototype._version = 3; + Object.defineProperty(IndexedSourceMapConsumer.prototype, "sources", { + get: function() { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); + } + } + return sources; + } + }); + IndexedSourceMapConsumer.prototype.originalPositionFor = function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, "line"), + generatedColumn: util.getArg(aArgs, "column") + }; + var sectionIndex = binarySearch.search( + needle, + this._sections, + function(needle2, section2) { + var cmp = needle2.generatedLine - section2.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + return needle2.generatedColumn - section2.generatedOffset.generatedColumn; + } + ); + var section = this._sections[sectionIndex]; + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + return section.consumer.originalPositionFor({ + line: needle.generatedLine - (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - (section.generatedOffset.generatedLine === needle.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), + bias: aArgs.bias + }); + }; + IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function(s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; + IndexedSourceMapConsumer.prototype.sourceContentFor = function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var content = section.consumer.sourceContentFor(aSource, true); + if (content) { + return content; + } + } + if (nullOnMissing) { + return null; + } else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + IndexedSourceMapConsumer.prototype.generatedPositionFor = function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + if (section.consumer.sources.indexOf(util.getArg(aArgs, "source")) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + (section.generatedOffset.generatedLine === generatedPosition.line ? section.generatedOffset.generatedColumn - 1 : 0) + }; + return ret; + } + } + return { + line: null, + column: null + }; + }; + IndexedSourceMapConsumer.prototype._parseMappings = function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + var source = section.consumer._sources.at(mapping.source); + if (section.consumer.sourceRoot !== null) { + source = util.join(section.consumer.sourceRoot, source); + } + this._sources.add(source); + source = this._sources.indexOf(source); + var name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + var adjustedMapping = { + source, + generatedLine: mapping.generatedLine + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + (section.generatedOffset.generatedLine === mapping.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name + }; + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === "number") { + this.__originalMappings.push(adjustedMapping); + } + } + } + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; + exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; + } +}); + +// ../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/source-node.js +var require_source_node = __commonJS({ + "../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/source-node.js"(exports) { + var SourceMapGenerator2 = require_source_map_generator().SourceMapGenerator; + var util = require_util(); + var REGEX_NEWLINE = /(\r?\n)/; + var NEWLINE_CODE = 10; + var isSourceNode = "$$$isSourceNode$$$"; + function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); + } + SourceNode.fromStringWithSourceMap = function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + var node = new SourceNode(); + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + var newLine = getNextLine() || ""; + return lineContents + newLine; + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? remainingLines[remainingLinesIndex++] : void 0; + } + }; + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + var lastMapping = null; + aSourceMapConsumer.eachMapping(function(mapping) { + if (lastMapping !== null) { + if (lastGeneratedLine < mapping.generatedLine) { + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + } else { + var nextLine = remainingLines[remainingLinesIndex]; + var code = nextLine.substr(0, mapping.generatedColumn - lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + lastMapping = mapping; + return; + } + } + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex]; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + addMappingWithCode(lastMapping, shiftNextLine()); + } + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + aSourceMapConsumer.sources.forEach(function(sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + return node; + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === void 0) { + node.add(code); + } else { + var source = aRelativePath ? util.join(aRelativePath, mapping.source) : mapping.source; + node.add(new SourceNode( + mapping.originalLine, + mapping.originalColumn, + source, + code, + mapping.name + )); + } + } + }; + SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function(chunk) { + this.add(chunk); + }, this); + } else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length - 1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } else { + if (chunk !== "") { + aFn(chunk, { + source: this.source, + line: this.line, + column: this.column, + name: this.name + }); + } + } + } + }; + SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len - 1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; + }; + SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } else if (typeof lastChild === "string") { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } else { + this.children.push("".replace(aPattern, aReplacement)); + } + return this; + }; + SourceNode.prototype.setSourceContent = function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + SourceNode.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function(chunk) { + str += chunk; + }); + return str; + }; + SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map2 = new SourceMapGenerator2(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function(chunk, original) { + generated.code += chunk; + if (original.source !== null && original.line !== null && original.column !== null) { + if (lastOriginalSource !== original.source || lastOriginalLine !== original.line || lastOriginalColumn !== original.column || lastOriginalName !== original.name) { + map2.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map2.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map2.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function(sourceFile, sourceContent) { + map2.setSourceContent(sourceFile, sourceContent); + }); + return { code: generated.code, map: map2 }; + }; + exports.SourceNode = SourceNode; + } +}); + +// ../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/source-map.js +var require_source_map = __commonJS({ + "../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/source-map.js"(exports) { + exports.SourceMapGenerator = require_source_map_generator().SourceMapGenerator; + exports.SourceMapConsumer = require_source_map_consumer().SourceMapConsumer; + exports.SourceNode = require_source_node().SourceNode; + } +}); + +// browser-external:fs +var require_fs = __commonJS({ + "browser-external:fs"(exports, module) { + module.exports = Object.create(new Proxy({}, { + get(_, key) { + if (key !== "__esModule" && key !== "__proto__" && key !== "constructor" && key !== "splice") { + console.warn(`Module "fs" has been externalized for browser compatibility. Cannot access "fs.${key}" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`); + } + } + })); + } +}); + +// ../../.yarn/cache/convert-source-map-npm-1.9.0-e294555f4b-281da55454.zip/node_modules/convert-source-map/index.js +var require_convert_source_map = __commonJS({ + "../../.yarn/cache/convert-source-map-npm-1.9.0-e294555f4b-281da55454.zip/node_modules/convert-source-map/index.js"(exports) { + "use strict"; + var fs = require_fs(); + var path = require_path(); + Object.defineProperty(exports, "commentRegex", { + get: function getCommentRegex() { + return /^\s*\/(?:\/|\*)[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,(?:.*)$/mg; + } + }); + Object.defineProperty(exports, "mapFileCommentRegex", { + get: function getMapFileCommentRegex() { + return /(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"`]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^\*]+?)[ \t]*(?:\*\/){1}[ \t]*$)/mg; + } + }); + var decodeBase64; + if (typeof Buffer !== "undefined") { + if (typeof Buffer.from === "function") { + decodeBase64 = decodeBase64WithBufferFrom; + } else { + decodeBase64 = decodeBase64WithNewBuffer; + } + } else { + decodeBase64 = decodeBase64WithAtob; + } + function decodeBase64WithBufferFrom(base64) { + return Buffer.from(base64, "base64").toString(); + } + function decodeBase64WithNewBuffer(base64) { + if (typeof value === "number") { + throw new TypeError("The value to decode must not be of type number."); + } + return new Buffer(base64, "base64").toString(); + } + function decodeBase64WithAtob(base64) { + return decodeURIComponent(escape(atob(base64))); + } + function stripComment(sm) { + return sm.split(",").pop(); + } + function readFromFileMap(sm, dir) { + var r = exports.mapFileCommentRegex.exec(sm); + var filename = r[1] || r[2]; + var filepath = path.resolve(dir, filename); + try { + return fs.readFileSync(filepath, "utf8"); + } catch (e) { + throw new Error("An error occurred while trying to read the map file at " + filepath + "\n" + e); + } + } + function Converter(sm, opts) { + opts = opts || {}; + if (opts.isFileComment) sm = readFromFileMap(sm, opts.commentFileDir); + if (opts.hasComment) sm = stripComment(sm); + if (opts.isEncoded) sm = decodeBase64(sm); + if (opts.isJSON || opts.isEncoded) sm = JSON.parse(sm); + this.sourcemap = sm; + } + Converter.prototype.toJSON = function(space) { + return JSON.stringify(this.sourcemap, null, space); + }; + if (typeof Buffer !== "undefined") { + if (typeof Buffer.from === "function") { + Converter.prototype.toBase64 = encodeBase64WithBufferFrom; + } else { + Converter.prototype.toBase64 = encodeBase64WithNewBuffer; + } + } else { + Converter.prototype.toBase64 = encodeBase64WithBtoa; + } + function encodeBase64WithBufferFrom() { + var json2 = this.toJSON(); + return Buffer.from(json2, "utf8").toString("base64"); + } + function encodeBase64WithNewBuffer() { + var json2 = this.toJSON(); + if (typeof json2 === "number") { + throw new TypeError("The json to encode must not be of type number."); + } + return new Buffer(json2, "utf8").toString("base64"); + } + function encodeBase64WithBtoa() { + var json2 = this.toJSON(); + return btoa(unescape(encodeURIComponent(json2))); + } + Converter.prototype.toComment = function(options) { + var base64 = this.toBase64(); + var data = "sourceMappingURL=data:application/json;charset=utf-8;base64," + base64; + return options && options.multiline ? "/*# " + data + " */" : "//# " + data; + }; + Converter.prototype.toObject = function() { + return JSON.parse(this.toJSON()); + }; + Converter.prototype.addProperty = function(key, value2) { + if (this.sourcemap.hasOwnProperty(key)) throw new Error('property "' + key + '" already exists on the sourcemap, use set property instead'); + return this.setProperty(key, value2); + }; + Converter.prototype.setProperty = function(key, value2) { + this.sourcemap[key] = value2; + return this; + }; + Converter.prototype.getProperty = function(key) { + return this.sourcemap[key]; + }; + exports.fromObject = function(obj) { + return new Converter(obj); + }; + exports.fromJSON = function(json2) { + return new Converter(json2, { isJSON: true }); + }; + exports.fromBase64 = function(base64) { + return new Converter(base64, { isEncoded: true }); + }; + exports.fromComment = function(comment) { + comment = comment.replace(/^\/\*/g, "//").replace(/\*\/$/g, ""); + return new Converter(comment, { isEncoded: true, hasComment: true }); + }; + exports.fromMapFileComment = function(comment, dir) { + return new Converter(comment, { commentFileDir: dir, isFileComment: true, isJSON: true }); + }; + exports.fromSource = function(content) { + var m = content.match(exports.commentRegex); + return m ? exports.fromComment(m.pop()) : null; + }; + exports.fromMapFileSource = function(content, dir) { + var m = content.match(exports.mapFileCommentRegex); + return m ? exports.fromMapFileComment(m.pop(), dir) : null; + }; + exports.removeComments = function(src) { + return src.replace(exports.commentRegex, ""); + }; + exports.removeMapFileComments = function(src) { + return src.replace(exports.mapFileCommentRegex, ""); + }; + exports.generateMapFileComment = function(file, options) { + var data = "sourceMappingURL=" + file; + return options && options.multiline ? "/*# " + data + " */" : "//# " + data; + }; + } +}); + +// ../../.yarn/cache/find-root-npm-1.1.0-a16a94005f-1abc7f3bf2.zip/node_modules/find-root/index.js +var require_find_root = __commonJS({ + "../../.yarn/cache/find-root-npm-1.1.0-a16a94005f-1abc7f3bf2.zip/node_modules/find-root/index.js"(exports, module) { + var path = require_path(); + var fs = require_fs(); + function defaultCheck(dir) { + return fs.existsSync(path.join(dir, "package.json")); + } + function findRoot2(start, check) { + start = start || module.parent.filename; + check = check || defaultCheck; + if (typeof start === "string") { + if (start[start.length - 1] !== path.sep) { + start += path.sep; + } + start = start.split(path.sep); + } + if (!start.length) { + throw new Error("package.json not found in path"); + } + start.pop(); + var dir = start.join(path.sep); + try { + if (check(dir)) { + return dir; + } + } catch (e) { + } + return findRoot2(start, check); + } + module.exports = findRoot2; + } +}); + +// ../../.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-9497d4dd30.zip/node_modules/escape-string-regexp/index.js +var require_escape_string_regexp = __commonJS({ + "../../.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-9497d4dd30.zip/node_modules/escape-string-regexp/index.js"(exports, module) { + "use strict"; + module.exports = (string2) => { + if (typeof string2 !== "string") { + throw new TypeError("Expected a string"); + } + return string2.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d"); + }; + } +}); + +// browser-external:assert +var require_assert = __commonJS({ + "browser-external:assert"(exports, module) { + module.exports = Object.create(new Proxy({}, { + get(_, key) { + if (key !== "__esModule" && key !== "__proto__" && key !== "constructor" && key !== "splice") { + console.warn(`Module "assert" has been externalized for browser compatibility. Cannot access "assert.${key}" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`); + } + } + })); + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/utils/shallowEqual.js +var require_shallowEqual = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/utils/shallowEqual.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = shallowEqual; + function shallowEqual(actual, expected) { + const keys = Object.keys(expected); + for (const key of keys) { + if (actual[key] !== expected[key]) { + return false; + } + } + return true; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/utils/deprecationWarning.js +var require_deprecationWarning = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/utils/deprecationWarning.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = deprecationWarning; + var warnings = /* @__PURE__ */ new Set(); + function deprecationWarning(oldName, newName, prefix = "") { + if (warnings.has(oldName)) return; + warnings.add(oldName); + const { + internal, + trace + } = captureShortStackTrace(1, 2); + if (internal) { + return; + } + console.warn(`${prefix}\`${oldName}\` has been deprecated, please migrate to \`${newName}\` +${trace}`); + } + function captureShortStackTrace(skip, length) { + const { + stackTraceLimit, + prepareStackTrace + } = Error; + let stackTrace; + Error.stackTraceLimit = 1 + skip + length; + Error.prepareStackTrace = function(err, stack) { + stackTrace = stack; + }; + new Error().stack; + Error.stackTraceLimit = stackTraceLimit; + Error.prepareStackTrace = prepareStackTrace; + if (!stackTrace) return { + internal: false, + trace: "" + }; + const shortStackTrace = stackTrace.slice(1 + skip, 1 + skip + length); + return { + internal: /[\\/]@babel[\\/]/.test(shortStackTrace[1].getFileName()), + trace: shortStackTrace.map((frame) => ` at ${frame}`).join("\n") + }; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/generated/index.js +var require_generated = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/generated/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.isAccessor = isAccessor; + exports.isAnyTypeAnnotation = isAnyTypeAnnotation; + exports.isArgumentPlaceholder = isArgumentPlaceholder; + exports.isArrayExpression = isArrayExpression; + exports.isArrayPattern = isArrayPattern; + exports.isArrayTypeAnnotation = isArrayTypeAnnotation; + exports.isArrowFunctionExpression = isArrowFunctionExpression; + exports.isAssignmentExpression = isAssignmentExpression; + exports.isAssignmentPattern = isAssignmentPattern; + exports.isAwaitExpression = isAwaitExpression; + exports.isBigIntLiteral = isBigIntLiteral; + exports.isBinary = isBinary; + exports.isBinaryExpression = isBinaryExpression; + exports.isBindExpression = isBindExpression; + exports.isBlock = isBlock; + exports.isBlockParent = isBlockParent; + exports.isBlockStatement = isBlockStatement; + exports.isBooleanLiteral = isBooleanLiteral; + exports.isBooleanLiteralTypeAnnotation = isBooleanLiteralTypeAnnotation; + exports.isBooleanTypeAnnotation = isBooleanTypeAnnotation; + exports.isBreakStatement = isBreakStatement; + exports.isCallExpression = isCallExpression; + exports.isCatchClause = isCatchClause; + exports.isClass = isClass; + exports.isClassAccessorProperty = isClassAccessorProperty; + exports.isClassBody = isClassBody; + exports.isClassDeclaration = isClassDeclaration; + exports.isClassExpression = isClassExpression; + exports.isClassImplements = isClassImplements; + exports.isClassMethod = isClassMethod; + exports.isClassPrivateMethod = isClassPrivateMethod; + exports.isClassPrivateProperty = isClassPrivateProperty; + exports.isClassProperty = isClassProperty; + exports.isCompletionStatement = isCompletionStatement; + exports.isConditional = isConditional; + exports.isConditionalExpression = isConditionalExpression; + exports.isContinueStatement = isContinueStatement; + exports.isDebuggerStatement = isDebuggerStatement; + exports.isDecimalLiteral = isDecimalLiteral; + exports.isDeclaration = isDeclaration; + exports.isDeclareClass = isDeclareClass; + exports.isDeclareExportAllDeclaration = isDeclareExportAllDeclaration; + exports.isDeclareExportDeclaration = isDeclareExportDeclaration; + exports.isDeclareFunction = isDeclareFunction; + exports.isDeclareInterface = isDeclareInterface; + exports.isDeclareModule = isDeclareModule; + exports.isDeclareModuleExports = isDeclareModuleExports; + exports.isDeclareOpaqueType = isDeclareOpaqueType; + exports.isDeclareTypeAlias = isDeclareTypeAlias; + exports.isDeclareVariable = isDeclareVariable; + exports.isDeclaredPredicate = isDeclaredPredicate; + exports.isDecorator = isDecorator; + exports.isDirective = isDirective; + exports.isDirectiveLiteral = isDirectiveLiteral; + exports.isDoExpression = isDoExpression; + exports.isDoWhileStatement = isDoWhileStatement; + exports.isEmptyStatement = isEmptyStatement; + exports.isEmptyTypeAnnotation = isEmptyTypeAnnotation; + exports.isEnumBody = isEnumBody; + exports.isEnumBooleanBody = isEnumBooleanBody; + exports.isEnumBooleanMember = isEnumBooleanMember; + exports.isEnumDeclaration = isEnumDeclaration; + exports.isEnumDefaultedMember = isEnumDefaultedMember; + exports.isEnumMember = isEnumMember; + exports.isEnumNumberBody = isEnumNumberBody; + exports.isEnumNumberMember = isEnumNumberMember; + exports.isEnumStringBody = isEnumStringBody; + exports.isEnumStringMember = isEnumStringMember; + exports.isEnumSymbolBody = isEnumSymbolBody; + exports.isExistsTypeAnnotation = isExistsTypeAnnotation; + exports.isExportAllDeclaration = isExportAllDeclaration; + exports.isExportDeclaration = isExportDeclaration; + exports.isExportDefaultDeclaration = isExportDefaultDeclaration; + exports.isExportDefaultSpecifier = isExportDefaultSpecifier; + exports.isExportNamedDeclaration = isExportNamedDeclaration; + exports.isExportNamespaceSpecifier = isExportNamespaceSpecifier; + exports.isExportSpecifier = isExportSpecifier; + exports.isExpression = isExpression; + exports.isExpressionStatement = isExpressionStatement; + exports.isExpressionWrapper = isExpressionWrapper; + exports.isFile = isFile; + exports.isFlow = isFlow; + exports.isFlowBaseAnnotation = isFlowBaseAnnotation; + exports.isFlowDeclaration = isFlowDeclaration; + exports.isFlowPredicate = isFlowPredicate; + exports.isFlowType = isFlowType; + exports.isFor = isFor; + exports.isForInStatement = isForInStatement; + exports.isForOfStatement = isForOfStatement; + exports.isForStatement = isForStatement; + exports.isForXStatement = isForXStatement; + exports.isFunction = isFunction; + exports.isFunctionDeclaration = isFunctionDeclaration; + exports.isFunctionExpression = isFunctionExpression; + exports.isFunctionParent = isFunctionParent; + exports.isFunctionTypeAnnotation = isFunctionTypeAnnotation; + exports.isFunctionTypeParam = isFunctionTypeParam; + exports.isGenericTypeAnnotation = isGenericTypeAnnotation; + exports.isIdentifier = isIdentifier; + exports.isIfStatement = isIfStatement; + exports.isImmutable = isImmutable; + exports.isImport = isImport; + exports.isImportAttribute = isImportAttribute; + exports.isImportDeclaration = isImportDeclaration; + exports.isImportDefaultSpecifier = isImportDefaultSpecifier; + exports.isImportExpression = isImportExpression; + exports.isImportNamespaceSpecifier = isImportNamespaceSpecifier; + exports.isImportOrExportDeclaration = isImportOrExportDeclaration; + exports.isImportSpecifier = isImportSpecifier; + exports.isIndexedAccessType = isIndexedAccessType; + exports.isInferredPredicate = isInferredPredicate; + exports.isInterfaceDeclaration = isInterfaceDeclaration; + exports.isInterfaceExtends = isInterfaceExtends; + exports.isInterfaceTypeAnnotation = isInterfaceTypeAnnotation; + exports.isInterpreterDirective = isInterpreterDirective; + exports.isIntersectionTypeAnnotation = isIntersectionTypeAnnotation; + exports.isJSX = isJSX; + exports.isJSXAttribute = isJSXAttribute; + exports.isJSXClosingElement = isJSXClosingElement; + exports.isJSXClosingFragment = isJSXClosingFragment; + exports.isJSXElement = isJSXElement; + exports.isJSXEmptyExpression = isJSXEmptyExpression; + exports.isJSXExpressionContainer = isJSXExpressionContainer; + exports.isJSXFragment = isJSXFragment; + exports.isJSXIdentifier = isJSXIdentifier; + exports.isJSXMemberExpression = isJSXMemberExpression; + exports.isJSXNamespacedName = isJSXNamespacedName; + exports.isJSXOpeningElement = isJSXOpeningElement; + exports.isJSXOpeningFragment = isJSXOpeningFragment; + exports.isJSXSpreadAttribute = isJSXSpreadAttribute; + exports.isJSXSpreadChild = isJSXSpreadChild; + exports.isJSXText = isJSXText; + exports.isLVal = isLVal; + exports.isLabeledStatement = isLabeledStatement; + exports.isLiteral = isLiteral; + exports.isLogicalExpression = isLogicalExpression; + exports.isLoop = isLoop; + exports.isMemberExpression = isMemberExpression; + exports.isMetaProperty = isMetaProperty; + exports.isMethod = isMethod; + exports.isMiscellaneous = isMiscellaneous; + exports.isMixedTypeAnnotation = isMixedTypeAnnotation; + exports.isModuleDeclaration = isModuleDeclaration; + exports.isModuleExpression = isModuleExpression; + exports.isModuleSpecifier = isModuleSpecifier; + exports.isNewExpression = isNewExpression; + exports.isNoop = isNoop; + exports.isNullLiteral = isNullLiteral; + exports.isNullLiteralTypeAnnotation = isNullLiteralTypeAnnotation; + exports.isNullableTypeAnnotation = isNullableTypeAnnotation; + exports.isNumberLiteral = isNumberLiteral; + exports.isNumberLiteralTypeAnnotation = isNumberLiteralTypeAnnotation; + exports.isNumberTypeAnnotation = isNumberTypeAnnotation; + exports.isNumericLiteral = isNumericLiteral; + exports.isObjectExpression = isObjectExpression; + exports.isObjectMember = isObjectMember; + exports.isObjectMethod = isObjectMethod; + exports.isObjectPattern = isObjectPattern; + exports.isObjectProperty = isObjectProperty; + exports.isObjectTypeAnnotation = isObjectTypeAnnotation; + exports.isObjectTypeCallProperty = isObjectTypeCallProperty; + exports.isObjectTypeIndexer = isObjectTypeIndexer; + exports.isObjectTypeInternalSlot = isObjectTypeInternalSlot; + exports.isObjectTypeProperty = isObjectTypeProperty; + exports.isObjectTypeSpreadProperty = isObjectTypeSpreadProperty; + exports.isOpaqueType = isOpaqueType; + exports.isOptionalCallExpression = isOptionalCallExpression; + exports.isOptionalIndexedAccessType = isOptionalIndexedAccessType; + exports.isOptionalMemberExpression = isOptionalMemberExpression; + exports.isParenthesizedExpression = isParenthesizedExpression; + exports.isPattern = isPattern; + exports.isPatternLike = isPatternLike; + exports.isPipelineBareFunction = isPipelineBareFunction; + exports.isPipelinePrimaryTopicReference = isPipelinePrimaryTopicReference; + exports.isPipelineTopicExpression = isPipelineTopicExpression; + exports.isPlaceholder = isPlaceholder; + exports.isPrivate = isPrivate; + exports.isPrivateName = isPrivateName; + exports.isProgram = isProgram; + exports.isProperty = isProperty; + exports.isPureish = isPureish; + exports.isQualifiedTypeIdentifier = isQualifiedTypeIdentifier; + exports.isRecordExpression = isRecordExpression; + exports.isRegExpLiteral = isRegExpLiteral; + exports.isRegexLiteral = isRegexLiteral; + exports.isRestElement = isRestElement; + exports.isRestProperty = isRestProperty; + exports.isReturnStatement = isReturnStatement; + exports.isScopable = isScopable; + exports.isSequenceExpression = isSequenceExpression; + exports.isSpreadElement = isSpreadElement; + exports.isSpreadProperty = isSpreadProperty; + exports.isStandardized = isStandardized; + exports.isStatement = isStatement; + exports.isStaticBlock = isStaticBlock; + exports.isStringLiteral = isStringLiteral; + exports.isStringLiteralTypeAnnotation = isStringLiteralTypeAnnotation; + exports.isStringTypeAnnotation = isStringTypeAnnotation; + exports.isSuper = isSuper; + exports.isSwitchCase = isSwitchCase; + exports.isSwitchStatement = isSwitchStatement; + exports.isSymbolTypeAnnotation = isSymbolTypeAnnotation; + exports.isTSAnyKeyword = isTSAnyKeyword; + exports.isTSArrayType = isTSArrayType; + exports.isTSAsExpression = isTSAsExpression; + exports.isTSBaseType = isTSBaseType; + exports.isTSBigIntKeyword = isTSBigIntKeyword; + exports.isTSBooleanKeyword = isTSBooleanKeyword; + exports.isTSCallSignatureDeclaration = isTSCallSignatureDeclaration; + exports.isTSConditionalType = isTSConditionalType; + exports.isTSConstructSignatureDeclaration = isTSConstructSignatureDeclaration; + exports.isTSConstructorType = isTSConstructorType; + exports.isTSDeclareFunction = isTSDeclareFunction; + exports.isTSDeclareMethod = isTSDeclareMethod; + exports.isTSEntityName = isTSEntityName; + exports.isTSEnumDeclaration = isTSEnumDeclaration; + exports.isTSEnumMember = isTSEnumMember; + exports.isTSExportAssignment = isTSExportAssignment; + exports.isTSExpressionWithTypeArguments = isTSExpressionWithTypeArguments; + exports.isTSExternalModuleReference = isTSExternalModuleReference; + exports.isTSFunctionType = isTSFunctionType; + exports.isTSImportEqualsDeclaration = isTSImportEqualsDeclaration; + exports.isTSImportType = isTSImportType; + exports.isTSIndexSignature = isTSIndexSignature; + exports.isTSIndexedAccessType = isTSIndexedAccessType; + exports.isTSInferType = isTSInferType; + exports.isTSInstantiationExpression = isTSInstantiationExpression; + exports.isTSInterfaceBody = isTSInterfaceBody; + exports.isTSInterfaceDeclaration = isTSInterfaceDeclaration; + exports.isTSIntersectionType = isTSIntersectionType; + exports.isTSIntrinsicKeyword = isTSIntrinsicKeyword; + exports.isTSLiteralType = isTSLiteralType; + exports.isTSMappedType = isTSMappedType; + exports.isTSMethodSignature = isTSMethodSignature; + exports.isTSModuleBlock = isTSModuleBlock; + exports.isTSModuleDeclaration = isTSModuleDeclaration; + exports.isTSNamedTupleMember = isTSNamedTupleMember; + exports.isTSNamespaceExportDeclaration = isTSNamespaceExportDeclaration; + exports.isTSNeverKeyword = isTSNeverKeyword; + exports.isTSNonNullExpression = isTSNonNullExpression; + exports.isTSNullKeyword = isTSNullKeyword; + exports.isTSNumberKeyword = isTSNumberKeyword; + exports.isTSObjectKeyword = isTSObjectKeyword; + exports.isTSOptionalType = isTSOptionalType; + exports.isTSParameterProperty = isTSParameterProperty; + exports.isTSParenthesizedType = isTSParenthesizedType; + exports.isTSPropertySignature = isTSPropertySignature; + exports.isTSQualifiedName = isTSQualifiedName; + exports.isTSRestType = isTSRestType; + exports.isTSSatisfiesExpression = isTSSatisfiesExpression; + exports.isTSStringKeyword = isTSStringKeyword; + exports.isTSSymbolKeyword = isTSSymbolKeyword; + exports.isTSThisType = isTSThisType; + exports.isTSTupleType = isTSTupleType; + exports.isTSType = isTSType; + exports.isTSTypeAliasDeclaration = isTSTypeAliasDeclaration; + exports.isTSTypeAnnotation = isTSTypeAnnotation; + exports.isTSTypeAssertion = isTSTypeAssertion; + exports.isTSTypeElement = isTSTypeElement; + exports.isTSTypeLiteral = isTSTypeLiteral; + exports.isTSTypeOperator = isTSTypeOperator; + exports.isTSTypeParameter = isTSTypeParameter; + exports.isTSTypeParameterDeclaration = isTSTypeParameterDeclaration; + exports.isTSTypeParameterInstantiation = isTSTypeParameterInstantiation; + exports.isTSTypePredicate = isTSTypePredicate; + exports.isTSTypeQuery = isTSTypeQuery; + exports.isTSTypeReference = isTSTypeReference; + exports.isTSUndefinedKeyword = isTSUndefinedKeyword; + exports.isTSUnionType = isTSUnionType; + exports.isTSUnknownKeyword = isTSUnknownKeyword; + exports.isTSVoidKeyword = isTSVoidKeyword; + exports.isTaggedTemplateExpression = isTaggedTemplateExpression; + exports.isTemplateElement = isTemplateElement; + exports.isTemplateLiteral = isTemplateLiteral; + exports.isTerminatorless = isTerminatorless; + exports.isThisExpression = isThisExpression; + exports.isThisTypeAnnotation = isThisTypeAnnotation; + exports.isThrowStatement = isThrowStatement; + exports.isTopicReference = isTopicReference; + exports.isTryStatement = isTryStatement; + exports.isTupleExpression = isTupleExpression; + exports.isTupleTypeAnnotation = isTupleTypeAnnotation; + exports.isTypeAlias = isTypeAlias; + exports.isTypeAnnotation = isTypeAnnotation; + exports.isTypeCastExpression = isTypeCastExpression; + exports.isTypeParameter = isTypeParameter; + exports.isTypeParameterDeclaration = isTypeParameterDeclaration; + exports.isTypeParameterInstantiation = isTypeParameterInstantiation; + exports.isTypeScript = isTypeScript; + exports.isTypeofTypeAnnotation = isTypeofTypeAnnotation; + exports.isUnaryExpression = isUnaryExpression; + exports.isUnaryLike = isUnaryLike; + exports.isUnionTypeAnnotation = isUnionTypeAnnotation; + exports.isUpdateExpression = isUpdateExpression; + exports.isUserWhitespacable = isUserWhitespacable; + exports.isV8IntrinsicIdentifier = isV8IntrinsicIdentifier; + exports.isVariableDeclaration = isVariableDeclaration; + exports.isVariableDeclarator = isVariableDeclarator; + exports.isVariance = isVariance; + exports.isVoidTypeAnnotation = isVoidTypeAnnotation; + exports.isWhile = isWhile; + exports.isWhileStatement = isWhileStatement; + exports.isWithStatement = isWithStatement; + exports.isYieldExpression = isYieldExpression; + var _shallowEqual = require_shallowEqual(); + var _deprecationWarning = require_deprecationWarning(); + function isArrayExpression(node, opts) { + if (!node) return false; + if (node.type !== "ArrayExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isAssignmentExpression(node, opts) { + if (!node) return false; + if (node.type !== "AssignmentExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isBinaryExpression(node, opts) { + if (!node) return false; + if (node.type !== "BinaryExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isInterpreterDirective(node, opts) { + if (!node) return false; + if (node.type !== "InterpreterDirective") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDirective(node, opts) { + if (!node) return false; + if (node.type !== "Directive") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDirectiveLiteral(node, opts) { + if (!node) return false; + if (node.type !== "DirectiveLiteral") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isBlockStatement(node, opts) { + if (!node) return false; + if (node.type !== "BlockStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isBreakStatement(node, opts) { + if (!node) return false; + if (node.type !== "BreakStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isCallExpression(node, opts) { + if (!node) return false; + if (node.type !== "CallExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isCatchClause(node, opts) { + if (!node) return false; + if (node.type !== "CatchClause") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isConditionalExpression(node, opts) { + if (!node) return false; + if (node.type !== "ConditionalExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isContinueStatement(node, opts) { + if (!node) return false; + if (node.type !== "ContinueStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDebuggerStatement(node, opts) { + if (!node) return false; + if (node.type !== "DebuggerStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDoWhileStatement(node, opts) { + if (!node) return false; + if (node.type !== "DoWhileStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isEmptyStatement(node, opts) { + if (!node) return false; + if (node.type !== "EmptyStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isExpressionStatement(node, opts) { + if (!node) return false; + if (node.type !== "ExpressionStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isFile(node, opts) { + if (!node) return false; + if (node.type !== "File") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isForInStatement(node, opts) { + if (!node) return false; + if (node.type !== "ForInStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isForStatement(node, opts) { + if (!node) return false; + if (node.type !== "ForStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isFunctionDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "FunctionDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isFunctionExpression(node, opts) { + if (!node) return false; + if (node.type !== "FunctionExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isIdentifier(node, opts) { + if (!node) return false; + if (node.type !== "Identifier") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isIfStatement(node, opts) { + if (!node) return false; + if (node.type !== "IfStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isLabeledStatement(node, opts) { + if (!node) return false; + if (node.type !== "LabeledStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isStringLiteral(node, opts) { + if (!node) return false; + if (node.type !== "StringLiteral") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isNumericLiteral(node, opts) { + if (!node) return false; + if (node.type !== "NumericLiteral") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isNullLiteral(node, opts) { + if (!node) return false; + if (node.type !== "NullLiteral") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isBooleanLiteral(node, opts) { + if (!node) return false; + if (node.type !== "BooleanLiteral") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isRegExpLiteral(node, opts) { + if (!node) return false; + if (node.type !== "RegExpLiteral") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isLogicalExpression(node, opts) { + if (!node) return false; + if (node.type !== "LogicalExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isMemberExpression(node, opts) { + if (!node) return false; + if (node.type !== "MemberExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isNewExpression(node, opts) { + if (!node) return false; + if (node.type !== "NewExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isProgram(node, opts) { + if (!node) return false; + if (node.type !== "Program") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isObjectExpression(node, opts) { + if (!node) return false; + if (node.type !== "ObjectExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isObjectMethod(node, opts) { + if (!node) return false; + if (node.type !== "ObjectMethod") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isObjectProperty(node, opts) { + if (!node) return false; + if (node.type !== "ObjectProperty") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isRestElement(node, opts) { + if (!node) return false; + if (node.type !== "RestElement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isReturnStatement(node, opts) { + if (!node) return false; + if (node.type !== "ReturnStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isSequenceExpression(node, opts) { + if (!node) return false; + if (node.type !== "SequenceExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isParenthesizedExpression(node, opts) { + if (!node) return false; + if (node.type !== "ParenthesizedExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isSwitchCase(node, opts) { + if (!node) return false; + if (node.type !== "SwitchCase") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isSwitchStatement(node, opts) { + if (!node) return false; + if (node.type !== "SwitchStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isThisExpression(node, opts) { + if (!node) return false; + if (node.type !== "ThisExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isThrowStatement(node, opts) { + if (!node) return false; + if (node.type !== "ThrowStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTryStatement(node, opts) { + if (!node) return false; + if (node.type !== "TryStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isUnaryExpression(node, opts) { + if (!node) return false; + if (node.type !== "UnaryExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isUpdateExpression(node, opts) { + if (!node) return false; + if (node.type !== "UpdateExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isVariableDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "VariableDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isVariableDeclarator(node, opts) { + if (!node) return false; + if (node.type !== "VariableDeclarator") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isWhileStatement(node, opts) { + if (!node) return false; + if (node.type !== "WhileStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isWithStatement(node, opts) { + if (!node) return false; + if (node.type !== "WithStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isAssignmentPattern(node, opts) { + if (!node) return false; + if (node.type !== "AssignmentPattern") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isArrayPattern(node, opts) { + if (!node) return false; + if (node.type !== "ArrayPattern") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isArrowFunctionExpression(node, opts) { + if (!node) return false; + if (node.type !== "ArrowFunctionExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isClassBody(node, opts) { + if (!node) return false; + if (node.type !== "ClassBody") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isClassExpression(node, opts) { + if (!node) return false; + if (node.type !== "ClassExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isClassDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "ClassDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isExportAllDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "ExportAllDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isExportDefaultDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "ExportDefaultDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isExportNamedDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "ExportNamedDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isExportSpecifier(node, opts) { + if (!node) return false; + if (node.type !== "ExportSpecifier") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isForOfStatement(node, opts) { + if (!node) return false; + if (node.type !== "ForOfStatement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isImportDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "ImportDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isImportDefaultSpecifier(node, opts) { + if (!node) return false; + if (node.type !== "ImportDefaultSpecifier") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isImportNamespaceSpecifier(node, opts) { + if (!node) return false; + if (node.type !== "ImportNamespaceSpecifier") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isImportSpecifier(node, opts) { + if (!node) return false; + if (node.type !== "ImportSpecifier") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isImportExpression(node, opts) { + if (!node) return false; + if (node.type !== "ImportExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isMetaProperty(node, opts) { + if (!node) return false; + if (node.type !== "MetaProperty") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isClassMethod(node, opts) { + if (!node) return false; + if (node.type !== "ClassMethod") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isObjectPattern(node, opts) { + if (!node) return false; + if (node.type !== "ObjectPattern") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isSpreadElement(node, opts) { + if (!node) return false; + if (node.type !== "SpreadElement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isSuper(node, opts) { + if (!node) return false; + if (node.type !== "Super") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTaggedTemplateExpression(node, opts) { + if (!node) return false; + if (node.type !== "TaggedTemplateExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTemplateElement(node, opts) { + if (!node) return false; + if (node.type !== "TemplateElement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTemplateLiteral(node, opts) { + if (!node) return false; + if (node.type !== "TemplateLiteral") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isYieldExpression(node, opts) { + if (!node) return false; + if (node.type !== "YieldExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isAwaitExpression(node, opts) { + if (!node) return false; + if (node.type !== "AwaitExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isImport(node, opts) { + if (!node) return false; + if (node.type !== "Import") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isBigIntLiteral(node, opts) { + if (!node) return false; + if (node.type !== "BigIntLiteral") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isExportNamespaceSpecifier(node, opts) { + if (!node) return false; + if (node.type !== "ExportNamespaceSpecifier") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isOptionalMemberExpression(node, opts) { + if (!node) return false; + if (node.type !== "OptionalMemberExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isOptionalCallExpression(node, opts) { + if (!node) return false; + if (node.type !== "OptionalCallExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isClassProperty(node, opts) { + if (!node) return false; + if (node.type !== "ClassProperty") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isClassAccessorProperty(node, opts) { + if (!node) return false; + if (node.type !== "ClassAccessorProperty") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isClassPrivateProperty(node, opts) { + if (!node) return false; + if (node.type !== "ClassPrivateProperty") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isClassPrivateMethod(node, opts) { + if (!node) return false; + if (node.type !== "ClassPrivateMethod") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isPrivateName(node, opts) { + if (!node) return false; + if (node.type !== "PrivateName") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isStaticBlock(node, opts) { + if (!node) return false; + if (node.type !== "StaticBlock") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isAnyTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "AnyTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isArrayTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "ArrayTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isBooleanTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "BooleanTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isBooleanLiteralTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "BooleanLiteralTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isNullLiteralTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "NullLiteralTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isClassImplements(node, opts) { + if (!node) return false; + if (node.type !== "ClassImplements") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDeclareClass(node, opts) { + if (!node) return false; + if (node.type !== "DeclareClass") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDeclareFunction(node, opts) { + if (!node) return false; + if (node.type !== "DeclareFunction") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDeclareInterface(node, opts) { + if (!node) return false; + if (node.type !== "DeclareInterface") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDeclareModule(node, opts) { + if (!node) return false; + if (node.type !== "DeclareModule") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDeclareModuleExports(node, opts) { + if (!node) return false; + if (node.type !== "DeclareModuleExports") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDeclareTypeAlias(node, opts) { + if (!node) return false; + if (node.type !== "DeclareTypeAlias") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDeclareOpaqueType(node, opts) { + if (!node) return false; + if (node.type !== "DeclareOpaqueType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDeclareVariable(node, opts) { + if (!node) return false; + if (node.type !== "DeclareVariable") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDeclareExportDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "DeclareExportDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDeclareExportAllDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "DeclareExportAllDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDeclaredPredicate(node, opts) { + if (!node) return false; + if (node.type !== "DeclaredPredicate") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isExistsTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "ExistsTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isFunctionTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "FunctionTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isFunctionTypeParam(node, opts) { + if (!node) return false; + if (node.type !== "FunctionTypeParam") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isGenericTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "GenericTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isInferredPredicate(node, opts) { + if (!node) return false; + if (node.type !== "InferredPredicate") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isInterfaceExtends(node, opts) { + if (!node) return false; + if (node.type !== "InterfaceExtends") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isInterfaceDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "InterfaceDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isInterfaceTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "InterfaceTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isIntersectionTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "IntersectionTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isMixedTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "MixedTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isEmptyTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "EmptyTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isNullableTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "NullableTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isNumberLiteralTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "NumberLiteralTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isNumberTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "NumberTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isObjectTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "ObjectTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isObjectTypeInternalSlot(node, opts) { + if (!node) return false; + if (node.type !== "ObjectTypeInternalSlot") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isObjectTypeCallProperty(node, opts) { + if (!node) return false; + if (node.type !== "ObjectTypeCallProperty") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isObjectTypeIndexer(node, opts) { + if (!node) return false; + if (node.type !== "ObjectTypeIndexer") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isObjectTypeProperty(node, opts) { + if (!node) return false; + if (node.type !== "ObjectTypeProperty") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isObjectTypeSpreadProperty(node, opts) { + if (!node) return false; + if (node.type !== "ObjectTypeSpreadProperty") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isOpaqueType(node, opts) { + if (!node) return false; + if (node.type !== "OpaqueType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isQualifiedTypeIdentifier(node, opts) { + if (!node) return false; + if (node.type !== "QualifiedTypeIdentifier") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isStringLiteralTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "StringLiteralTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isStringTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "StringTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isSymbolTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "SymbolTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isThisTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "ThisTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTupleTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "TupleTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTypeofTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "TypeofTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTypeAlias(node, opts) { + if (!node) return false; + if (node.type !== "TypeAlias") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "TypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTypeCastExpression(node, opts) { + if (!node) return false; + if (node.type !== "TypeCastExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTypeParameter(node, opts) { + if (!node) return false; + if (node.type !== "TypeParameter") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTypeParameterDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "TypeParameterDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTypeParameterInstantiation(node, opts) { + if (!node) return false; + if (node.type !== "TypeParameterInstantiation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isUnionTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "UnionTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isVariance(node, opts) { + if (!node) return false; + if (node.type !== "Variance") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isVoidTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "VoidTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isEnumDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "EnumDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isEnumBooleanBody(node, opts) { + if (!node) return false; + if (node.type !== "EnumBooleanBody") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isEnumNumberBody(node, opts) { + if (!node) return false; + if (node.type !== "EnumNumberBody") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isEnumStringBody(node, opts) { + if (!node) return false; + if (node.type !== "EnumStringBody") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isEnumSymbolBody(node, opts) { + if (!node) return false; + if (node.type !== "EnumSymbolBody") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isEnumBooleanMember(node, opts) { + if (!node) return false; + if (node.type !== "EnumBooleanMember") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isEnumNumberMember(node, opts) { + if (!node) return false; + if (node.type !== "EnumNumberMember") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isEnumStringMember(node, opts) { + if (!node) return false; + if (node.type !== "EnumStringMember") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isEnumDefaultedMember(node, opts) { + if (!node) return false; + if (node.type !== "EnumDefaultedMember") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isIndexedAccessType(node, opts) { + if (!node) return false; + if (node.type !== "IndexedAccessType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isOptionalIndexedAccessType(node, opts) { + if (!node) return false; + if (node.type !== "OptionalIndexedAccessType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXAttribute(node, opts) { + if (!node) return false; + if (node.type !== "JSXAttribute") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXClosingElement(node, opts) { + if (!node) return false; + if (node.type !== "JSXClosingElement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXElement(node, opts) { + if (!node) return false; + if (node.type !== "JSXElement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXEmptyExpression(node, opts) { + if (!node) return false; + if (node.type !== "JSXEmptyExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXExpressionContainer(node, opts) { + if (!node) return false; + if (node.type !== "JSXExpressionContainer") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXSpreadChild(node, opts) { + if (!node) return false; + if (node.type !== "JSXSpreadChild") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXIdentifier(node, opts) { + if (!node) return false; + if (node.type !== "JSXIdentifier") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXMemberExpression(node, opts) { + if (!node) return false; + if (node.type !== "JSXMemberExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXNamespacedName(node, opts) { + if (!node) return false; + if (node.type !== "JSXNamespacedName") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXOpeningElement(node, opts) { + if (!node) return false; + if (node.type !== "JSXOpeningElement") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXSpreadAttribute(node, opts) { + if (!node) return false; + if (node.type !== "JSXSpreadAttribute") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXText(node, opts) { + if (!node) return false; + if (node.type !== "JSXText") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXFragment(node, opts) { + if (!node) return false; + if (node.type !== "JSXFragment") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXOpeningFragment(node, opts) { + if (!node) return false; + if (node.type !== "JSXOpeningFragment") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSXClosingFragment(node, opts) { + if (!node) return false; + if (node.type !== "JSXClosingFragment") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isNoop(node, opts) { + if (!node) return false; + if (node.type !== "Noop") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isPlaceholder(node, opts) { + if (!node) return false; + if (node.type !== "Placeholder") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isV8IntrinsicIdentifier(node, opts) { + if (!node) return false; + if (node.type !== "V8IntrinsicIdentifier") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isArgumentPlaceholder(node, opts) { + if (!node) return false; + if (node.type !== "ArgumentPlaceholder") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isBindExpression(node, opts) { + if (!node) return false; + if (node.type !== "BindExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isImportAttribute(node, opts) { + if (!node) return false; + if (node.type !== "ImportAttribute") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDecorator(node, opts) { + if (!node) return false; + if (node.type !== "Decorator") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDoExpression(node, opts) { + if (!node) return false; + if (node.type !== "DoExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isExportDefaultSpecifier(node, opts) { + if (!node) return false; + if (node.type !== "ExportDefaultSpecifier") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isRecordExpression(node, opts) { + if (!node) return false; + if (node.type !== "RecordExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTupleExpression(node, opts) { + if (!node) return false; + if (node.type !== "TupleExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDecimalLiteral(node, opts) { + if (!node) return false; + if (node.type !== "DecimalLiteral") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isModuleExpression(node, opts) { + if (!node) return false; + if (node.type !== "ModuleExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTopicReference(node, opts) { + if (!node) return false; + if (node.type !== "TopicReference") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isPipelineTopicExpression(node, opts) { + if (!node) return false; + if (node.type !== "PipelineTopicExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isPipelineBareFunction(node, opts) { + if (!node) return false; + if (node.type !== "PipelineBareFunction") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isPipelinePrimaryTopicReference(node, opts) { + if (!node) return false; + if (node.type !== "PipelinePrimaryTopicReference") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSParameterProperty(node, opts) { + if (!node) return false; + if (node.type !== "TSParameterProperty") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSDeclareFunction(node, opts) { + if (!node) return false; + if (node.type !== "TSDeclareFunction") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSDeclareMethod(node, opts) { + if (!node) return false; + if (node.type !== "TSDeclareMethod") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSQualifiedName(node, opts) { + if (!node) return false; + if (node.type !== "TSQualifiedName") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSCallSignatureDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "TSCallSignatureDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSConstructSignatureDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "TSConstructSignatureDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSPropertySignature(node, opts) { + if (!node) return false; + if (node.type !== "TSPropertySignature") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSMethodSignature(node, opts) { + if (!node) return false; + if (node.type !== "TSMethodSignature") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSIndexSignature(node, opts) { + if (!node) return false; + if (node.type !== "TSIndexSignature") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSAnyKeyword(node, opts) { + if (!node) return false; + if (node.type !== "TSAnyKeyword") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSBooleanKeyword(node, opts) { + if (!node) return false; + if (node.type !== "TSBooleanKeyword") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSBigIntKeyword(node, opts) { + if (!node) return false; + if (node.type !== "TSBigIntKeyword") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSIntrinsicKeyword(node, opts) { + if (!node) return false; + if (node.type !== "TSIntrinsicKeyword") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSNeverKeyword(node, opts) { + if (!node) return false; + if (node.type !== "TSNeverKeyword") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSNullKeyword(node, opts) { + if (!node) return false; + if (node.type !== "TSNullKeyword") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSNumberKeyword(node, opts) { + if (!node) return false; + if (node.type !== "TSNumberKeyword") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSObjectKeyword(node, opts) { + if (!node) return false; + if (node.type !== "TSObjectKeyword") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSStringKeyword(node, opts) { + if (!node) return false; + if (node.type !== "TSStringKeyword") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSSymbolKeyword(node, opts) { + if (!node) return false; + if (node.type !== "TSSymbolKeyword") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSUndefinedKeyword(node, opts) { + if (!node) return false; + if (node.type !== "TSUndefinedKeyword") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSUnknownKeyword(node, opts) { + if (!node) return false; + if (node.type !== "TSUnknownKeyword") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSVoidKeyword(node, opts) { + if (!node) return false; + if (node.type !== "TSVoidKeyword") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSThisType(node, opts) { + if (!node) return false; + if (node.type !== "TSThisType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSFunctionType(node, opts) { + if (!node) return false; + if (node.type !== "TSFunctionType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSConstructorType(node, opts) { + if (!node) return false; + if (node.type !== "TSConstructorType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSTypeReference(node, opts) { + if (!node) return false; + if (node.type !== "TSTypeReference") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSTypePredicate(node, opts) { + if (!node) return false; + if (node.type !== "TSTypePredicate") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSTypeQuery(node, opts) { + if (!node) return false; + if (node.type !== "TSTypeQuery") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSTypeLiteral(node, opts) { + if (!node) return false; + if (node.type !== "TSTypeLiteral") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSArrayType(node, opts) { + if (!node) return false; + if (node.type !== "TSArrayType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSTupleType(node, opts) { + if (!node) return false; + if (node.type !== "TSTupleType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSOptionalType(node, opts) { + if (!node) return false; + if (node.type !== "TSOptionalType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSRestType(node, opts) { + if (!node) return false; + if (node.type !== "TSRestType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSNamedTupleMember(node, opts) { + if (!node) return false; + if (node.type !== "TSNamedTupleMember") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSUnionType(node, opts) { + if (!node) return false; + if (node.type !== "TSUnionType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSIntersectionType(node, opts) { + if (!node) return false; + if (node.type !== "TSIntersectionType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSConditionalType(node, opts) { + if (!node) return false; + if (node.type !== "TSConditionalType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSInferType(node, opts) { + if (!node) return false; + if (node.type !== "TSInferType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSParenthesizedType(node, opts) { + if (!node) return false; + if (node.type !== "TSParenthesizedType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSTypeOperator(node, opts) { + if (!node) return false; + if (node.type !== "TSTypeOperator") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSIndexedAccessType(node, opts) { + if (!node) return false; + if (node.type !== "TSIndexedAccessType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSMappedType(node, opts) { + if (!node) return false; + if (node.type !== "TSMappedType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSLiteralType(node, opts) { + if (!node) return false; + if (node.type !== "TSLiteralType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSExpressionWithTypeArguments(node, opts) { + if (!node) return false; + if (node.type !== "TSExpressionWithTypeArguments") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSInterfaceDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "TSInterfaceDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSInterfaceBody(node, opts) { + if (!node) return false; + if (node.type !== "TSInterfaceBody") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSTypeAliasDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "TSTypeAliasDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSInstantiationExpression(node, opts) { + if (!node) return false; + if (node.type !== "TSInstantiationExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSAsExpression(node, opts) { + if (!node) return false; + if (node.type !== "TSAsExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSSatisfiesExpression(node, opts) { + if (!node) return false; + if (node.type !== "TSSatisfiesExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSTypeAssertion(node, opts) { + if (!node) return false; + if (node.type !== "TSTypeAssertion") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSEnumDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "TSEnumDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSEnumMember(node, opts) { + if (!node) return false; + if (node.type !== "TSEnumMember") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSModuleDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "TSModuleDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSModuleBlock(node, opts) { + if (!node) return false; + if (node.type !== "TSModuleBlock") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSImportType(node, opts) { + if (!node) return false; + if (node.type !== "TSImportType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSImportEqualsDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "TSImportEqualsDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSExternalModuleReference(node, opts) { + if (!node) return false; + if (node.type !== "TSExternalModuleReference") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSNonNullExpression(node, opts) { + if (!node) return false; + if (node.type !== "TSNonNullExpression") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSExportAssignment(node, opts) { + if (!node) return false; + if (node.type !== "TSExportAssignment") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSNamespaceExportDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "TSNamespaceExportDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSTypeAnnotation(node, opts) { + if (!node) return false; + if (node.type !== "TSTypeAnnotation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSTypeParameterInstantiation(node, opts) { + if (!node) return false; + if (node.type !== "TSTypeParameterInstantiation") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSTypeParameterDeclaration(node, opts) { + if (!node) return false; + if (node.type !== "TSTypeParameterDeclaration") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSTypeParameter(node, opts) { + if (!node) return false; + if (node.type !== "TSTypeParameter") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isStandardized(node, opts) { + if (!node) return false; + switch (node.type) { + case "ArrayExpression": + case "AssignmentExpression": + case "BinaryExpression": + case "InterpreterDirective": + case "Directive": + case "DirectiveLiteral": + case "BlockStatement": + case "BreakStatement": + case "CallExpression": + case "CatchClause": + case "ConditionalExpression": + case "ContinueStatement": + case "DebuggerStatement": + case "DoWhileStatement": + case "EmptyStatement": + case "ExpressionStatement": + case "File": + case "ForInStatement": + case "ForStatement": + case "FunctionDeclaration": + case "FunctionExpression": + case "Identifier": + case "IfStatement": + case "LabeledStatement": + case "StringLiteral": + case "NumericLiteral": + case "NullLiteral": + case "BooleanLiteral": + case "RegExpLiteral": + case "LogicalExpression": + case "MemberExpression": + case "NewExpression": + case "Program": + case "ObjectExpression": + case "ObjectMethod": + case "ObjectProperty": + case "RestElement": + case "ReturnStatement": + case "SequenceExpression": + case "ParenthesizedExpression": + case "SwitchCase": + case "SwitchStatement": + case "ThisExpression": + case "ThrowStatement": + case "TryStatement": + case "UnaryExpression": + case "UpdateExpression": + case "VariableDeclaration": + case "VariableDeclarator": + case "WhileStatement": + case "WithStatement": + case "AssignmentPattern": + case "ArrayPattern": + case "ArrowFunctionExpression": + case "ClassBody": + case "ClassExpression": + case "ClassDeclaration": + case "ExportAllDeclaration": + case "ExportDefaultDeclaration": + case "ExportNamedDeclaration": + case "ExportSpecifier": + case "ForOfStatement": + case "ImportDeclaration": + case "ImportDefaultSpecifier": + case "ImportNamespaceSpecifier": + case "ImportSpecifier": + case "ImportExpression": + case "MetaProperty": + case "ClassMethod": + case "ObjectPattern": + case "SpreadElement": + case "Super": + case "TaggedTemplateExpression": + case "TemplateElement": + case "TemplateLiteral": + case "YieldExpression": + case "AwaitExpression": + case "Import": + case "BigIntLiteral": + case "ExportNamespaceSpecifier": + case "OptionalMemberExpression": + case "OptionalCallExpression": + case "ClassProperty": + case "ClassAccessorProperty": + case "ClassPrivateProperty": + case "ClassPrivateMethod": + case "PrivateName": + case "StaticBlock": + break; + case "Placeholder": + switch (node.expectedNode) { + case "Identifier": + case "StringLiteral": + case "BlockStatement": + case "ClassBody": + break; + default: + return false; + } + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isExpression(node, opts) { + if (!node) return false; + switch (node.type) { + case "ArrayExpression": + case "AssignmentExpression": + case "BinaryExpression": + case "CallExpression": + case "ConditionalExpression": + case "FunctionExpression": + case "Identifier": + case "StringLiteral": + case "NumericLiteral": + case "NullLiteral": + case "BooleanLiteral": + case "RegExpLiteral": + case "LogicalExpression": + case "MemberExpression": + case "NewExpression": + case "ObjectExpression": + case "SequenceExpression": + case "ParenthesizedExpression": + case "ThisExpression": + case "UnaryExpression": + case "UpdateExpression": + case "ArrowFunctionExpression": + case "ClassExpression": + case "ImportExpression": + case "MetaProperty": + case "Super": + case "TaggedTemplateExpression": + case "TemplateLiteral": + case "YieldExpression": + case "AwaitExpression": + case "Import": + case "BigIntLiteral": + case "OptionalMemberExpression": + case "OptionalCallExpression": + case "TypeCastExpression": + case "JSXElement": + case "JSXFragment": + case "BindExpression": + case "DoExpression": + case "RecordExpression": + case "TupleExpression": + case "DecimalLiteral": + case "ModuleExpression": + case "TopicReference": + case "PipelineTopicExpression": + case "PipelineBareFunction": + case "PipelinePrimaryTopicReference": + case "TSInstantiationExpression": + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSTypeAssertion": + case "TSNonNullExpression": + break; + case "Placeholder": + switch (node.expectedNode) { + case "Expression": + case "Identifier": + case "StringLiteral": + break; + default: + return false; + } + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isBinary(node, opts) { + if (!node) return false; + switch (node.type) { + case "BinaryExpression": + case "LogicalExpression": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isScopable(node, opts) { + if (!node) return false; + switch (node.type) { + case "BlockStatement": + case "CatchClause": + case "DoWhileStatement": + case "ForInStatement": + case "ForStatement": + case "FunctionDeclaration": + case "FunctionExpression": + case "Program": + case "ObjectMethod": + case "SwitchStatement": + case "WhileStatement": + case "ArrowFunctionExpression": + case "ClassExpression": + case "ClassDeclaration": + case "ForOfStatement": + case "ClassMethod": + case "ClassPrivateMethod": + case "StaticBlock": + case "TSModuleBlock": + break; + case "Placeholder": + if (node.expectedNode === "BlockStatement") break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isBlockParent(node, opts) { + if (!node) return false; + switch (node.type) { + case "BlockStatement": + case "CatchClause": + case "DoWhileStatement": + case "ForInStatement": + case "ForStatement": + case "FunctionDeclaration": + case "FunctionExpression": + case "Program": + case "ObjectMethod": + case "SwitchStatement": + case "WhileStatement": + case "ArrowFunctionExpression": + case "ForOfStatement": + case "ClassMethod": + case "ClassPrivateMethod": + case "StaticBlock": + case "TSModuleBlock": + break; + case "Placeholder": + if (node.expectedNode === "BlockStatement") break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isBlock(node, opts) { + if (!node) return false; + switch (node.type) { + case "BlockStatement": + case "Program": + case "TSModuleBlock": + break; + case "Placeholder": + if (node.expectedNode === "BlockStatement") break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isStatement(node, opts) { + if (!node) return false; + switch (node.type) { + case "BlockStatement": + case "BreakStatement": + case "ContinueStatement": + case "DebuggerStatement": + case "DoWhileStatement": + case "EmptyStatement": + case "ExpressionStatement": + case "ForInStatement": + case "ForStatement": + case "FunctionDeclaration": + case "IfStatement": + case "LabeledStatement": + case "ReturnStatement": + case "SwitchStatement": + case "ThrowStatement": + case "TryStatement": + case "VariableDeclaration": + case "WhileStatement": + case "WithStatement": + case "ClassDeclaration": + case "ExportAllDeclaration": + case "ExportDefaultDeclaration": + case "ExportNamedDeclaration": + case "ForOfStatement": + case "ImportDeclaration": + case "DeclareClass": + case "DeclareFunction": + case "DeclareInterface": + case "DeclareModule": + case "DeclareModuleExports": + case "DeclareTypeAlias": + case "DeclareOpaqueType": + case "DeclareVariable": + case "DeclareExportDeclaration": + case "DeclareExportAllDeclaration": + case "InterfaceDeclaration": + case "OpaqueType": + case "TypeAlias": + case "EnumDeclaration": + case "TSDeclareFunction": + case "TSInterfaceDeclaration": + case "TSTypeAliasDeclaration": + case "TSEnumDeclaration": + case "TSModuleDeclaration": + case "TSImportEqualsDeclaration": + case "TSExportAssignment": + case "TSNamespaceExportDeclaration": + break; + case "Placeholder": + switch (node.expectedNode) { + case "Statement": + case "Declaration": + case "BlockStatement": + break; + default: + return false; + } + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTerminatorless(node, opts) { + if (!node) return false; + switch (node.type) { + case "BreakStatement": + case "ContinueStatement": + case "ReturnStatement": + case "ThrowStatement": + case "YieldExpression": + case "AwaitExpression": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isCompletionStatement(node, opts) { + if (!node) return false; + switch (node.type) { + case "BreakStatement": + case "ContinueStatement": + case "ReturnStatement": + case "ThrowStatement": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isConditional(node, opts) { + if (!node) return false; + switch (node.type) { + case "ConditionalExpression": + case "IfStatement": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isLoop(node, opts) { + if (!node) return false; + switch (node.type) { + case "DoWhileStatement": + case "ForInStatement": + case "ForStatement": + case "WhileStatement": + case "ForOfStatement": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isWhile(node, opts) { + if (!node) return false; + switch (node.type) { + case "DoWhileStatement": + case "WhileStatement": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isExpressionWrapper(node, opts) { + if (!node) return false; + switch (node.type) { + case "ExpressionStatement": + case "ParenthesizedExpression": + case "TypeCastExpression": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isFor(node, opts) { + if (!node) return false; + switch (node.type) { + case "ForInStatement": + case "ForStatement": + case "ForOfStatement": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isForXStatement(node, opts) { + if (!node) return false; + switch (node.type) { + case "ForInStatement": + case "ForOfStatement": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isFunction(node, opts) { + if (!node) return false; + switch (node.type) { + case "FunctionDeclaration": + case "FunctionExpression": + case "ObjectMethod": + case "ArrowFunctionExpression": + case "ClassMethod": + case "ClassPrivateMethod": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isFunctionParent(node, opts) { + if (!node) return false; + switch (node.type) { + case "FunctionDeclaration": + case "FunctionExpression": + case "ObjectMethod": + case "ArrowFunctionExpression": + case "ClassMethod": + case "ClassPrivateMethod": + case "StaticBlock": + case "TSModuleBlock": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isPureish(node, opts) { + if (!node) return false; + switch (node.type) { + case "FunctionDeclaration": + case "FunctionExpression": + case "StringLiteral": + case "NumericLiteral": + case "NullLiteral": + case "BooleanLiteral": + case "RegExpLiteral": + case "ArrowFunctionExpression": + case "BigIntLiteral": + case "DecimalLiteral": + break; + case "Placeholder": + if (node.expectedNode === "StringLiteral") break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isDeclaration(node, opts) { + if (!node) return false; + switch (node.type) { + case "FunctionDeclaration": + case "VariableDeclaration": + case "ClassDeclaration": + case "ExportAllDeclaration": + case "ExportDefaultDeclaration": + case "ExportNamedDeclaration": + case "ImportDeclaration": + case "DeclareClass": + case "DeclareFunction": + case "DeclareInterface": + case "DeclareModule": + case "DeclareModuleExports": + case "DeclareTypeAlias": + case "DeclareOpaqueType": + case "DeclareVariable": + case "DeclareExportDeclaration": + case "DeclareExportAllDeclaration": + case "InterfaceDeclaration": + case "OpaqueType": + case "TypeAlias": + case "EnumDeclaration": + case "TSDeclareFunction": + case "TSInterfaceDeclaration": + case "TSTypeAliasDeclaration": + case "TSEnumDeclaration": + case "TSModuleDeclaration": + break; + case "Placeholder": + if (node.expectedNode === "Declaration") break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isPatternLike(node, opts) { + if (!node) return false; + switch (node.type) { + case "Identifier": + case "RestElement": + case "AssignmentPattern": + case "ArrayPattern": + case "ObjectPattern": + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSTypeAssertion": + case "TSNonNullExpression": + break; + case "Placeholder": + switch (node.expectedNode) { + case "Pattern": + case "Identifier": + break; + default: + return false; + } + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isLVal(node, opts) { + if (!node) return false; + switch (node.type) { + case "Identifier": + case "MemberExpression": + case "RestElement": + case "AssignmentPattern": + case "ArrayPattern": + case "ObjectPattern": + case "TSParameterProperty": + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSTypeAssertion": + case "TSNonNullExpression": + break; + case "Placeholder": + switch (node.expectedNode) { + case "Pattern": + case "Identifier": + break; + default: + return false; + } + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSEntityName(node, opts) { + if (!node) return false; + switch (node.type) { + case "Identifier": + case "TSQualifiedName": + break; + case "Placeholder": + if (node.expectedNode === "Identifier") break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isLiteral(node, opts) { + if (!node) return false; + switch (node.type) { + case "StringLiteral": + case "NumericLiteral": + case "NullLiteral": + case "BooleanLiteral": + case "RegExpLiteral": + case "TemplateLiteral": + case "BigIntLiteral": + case "DecimalLiteral": + break; + case "Placeholder": + if (node.expectedNode === "StringLiteral") break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isImmutable(node, opts) { + if (!node) return false; + switch (node.type) { + case "StringLiteral": + case "NumericLiteral": + case "NullLiteral": + case "BooleanLiteral": + case "BigIntLiteral": + case "JSXAttribute": + case "JSXClosingElement": + case "JSXElement": + case "JSXExpressionContainer": + case "JSXSpreadChild": + case "JSXOpeningElement": + case "JSXText": + case "JSXFragment": + case "JSXOpeningFragment": + case "JSXClosingFragment": + case "DecimalLiteral": + break; + case "Placeholder": + if (node.expectedNode === "StringLiteral") break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isUserWhitespacable(node, opts) { + if (!node) return false; + switch (node.type) { + case "ObjectMethod": + case "ObjectProperty": + case "ObjectTypeInternalSlot": + case "ObjectTypeCallProperty": + case "ObjectTypeIndexer": + case "ObjectTypeProperty": + case "ObjectTypeSpreadProperty": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isMethod(node, opts) { + if (!node) return false; + switch (node.type) { + case "ObjectMethod": + case "ClassMethod": + case "ClassPrivateMethod": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isObjectMember(node, opts) { + if (!node) return false; + switch (node.type) { + case "ObjectMethod": + case "ObjectProperty": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isProperty(node, opts) { + if (!node) return false; + switch (node.type) { + case "ObjectProperty": + case "ClassProperty": + case "ClassAccessorProperty": + case "ClassPrivateProperty": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isUnaryLike(node, opts) { + if (!node) return false; + switch (node.type) { + case "UnaryExpression": + case "SpreadElement": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isPattern(node, opts) { + if (!node) return false; + switch (node.type) { + case "AssignmentPattern": + case "ArrayPattern": + case "ObjectPattern": + break; + case "Placeholder": + if (node.expectedNode === "Pattern") break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isClass(node, opts) { + if (!node) return false; + switch (node.type) { + case "ClassExpression": + case "ClassDeclaration": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isImportOrExportDeclaration(node, opts) { + if (!node) return false; + switch (node.type) { + case "ExportAllDeclaration": + case "ExportDefaultDeclaration": + case "ExportNamedDeclaration": + case "ImportDeclaration": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isExportDeclaration(node, opts) { + if (!node) return false; + switch (node.type) { + case "ExportAllDeclaration": + case "ExportDefaultDeclaration": + case "ExportNamedDeclaration": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isModuleSpecifier(node, opts) { + if (!node) return false; + switch (node.type) { + case "ExportSpecifier": + case "ImportDefaultSpecifier": + case "ImportNamespaceSpecifier": + case "ImportSpecifier": + case "ExportNamespaceSpecifier": + case "ExportDefaultSpecifier": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isAccessor(node, opts) { + if (!node) return false; + switch (node.type) { + case "ClassAccessorProperty": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isPrivate(node, opts) { + if (!node) return false; + switch (node.type) { + case "ClassPrivateProperty": + case "ClassPrivateMethod": + case "PrivateName": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isFlow(node, opts) { + if (!node) return false; + switch (node.type) { + case "AnyTypeAnnotation": + case "ArrayTypeAnnotation": + case "BooleanTypeAnnotation": + case "BooleanLiteralTypeAnnotation": + case "NullLiteralTypeAnnotation": + case "ClassImplements": + case "DeclareClass": + case "DeclareFunction": + case "DeclareInterface": + case "DeclareModule": + case "DeclareModuleExports": + case "DeclareTypeAlias": + case "DeclareOpaqueType": + case "DeclareVariable": + case "DeclareExportDeclaration": + case "DeclareExportAllDeclaration": + case "DeclaredPredicate": + case "ExistsTypeAnnotation": + case "FunctionTypeAnnotation": + case "FunctionTypeParam": + case "GenericTypeAnnotation": + case "InferredPredicate": + case "InterfaceExtends": + case "InterfaceDeclaration": + case "InterfaceTypeAnnotation": + case "IntersectionTypeAnnotation": + case "MixedTypeAnnotation": + case "EmptyTypeAnnotation": + case "NullableTypeAnnotation": + case "NumberLiteralTypeAnnotation": + case "NumberTypeAnnotation": + case "ObjectTypeAnnotation": + case "ObjectTypeInternalSlot": + case "ObjectTypeCallProperty": + case "ObjectTypeIndexer": + case "ObjectTypeProperty": + case "ObjectTypeSpreadProperty": + case "OpaqueType": + case "QualifiedTypeIdentifier": + case "StringLiteralTypeAnnotation": + case "StringTypeAnnotation": + case "SymbolTypeAnnotation": + case "ThisTypeAnnotation": + case "TupleTypeAnnotation": + case "TypeofTypeAnnotation": + case "TypeAlias": + case "TypeAnnotation": + case "TypeCastExpression": + case "TypeParameter": + case "TypeParameterDeclaration": + case "TypeParameterInstantiation": + case "UnionTypeAnnotation": + case "Variance": + case "VoidTypeAnnotation": + case "EnumDeclaration": + case "EnumBooleanBody": + case "EnumNumberBody": + case "EnumStringBody": + case "EnumSymbolBody": + case "EnumBooleanMember": + case "EnumNumberMember": + case "EnumStringMember": + case "EnumDefaultedMember": + case "IndexedAccessType": + case "OptionalIndexedAccessType": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isFlowType(node, opts) { + if (!node) return false; + switch (node.type) { + case "AnyTypeAnnotation": + case "ArrayTypeAnnotation": + case "BooleanTypeAnnotation": + case "BooleanLiteralTypeAnnotation": + case "NullLiteralTypeAnnotation": + case "ExistsTypeAnnotation": + case "FunctionTypeAnnotation": + case "GenericTypeAnnotation": + case "InterfaceTypeAnnotation": + case "IntersectionTypeAnnotation": + case "MixedTypeAnnotation": + case "EmptyTypeAnnotation": + case "NullableTypeAnnotation": + case "NumberLiteralTypeAnnotation": + case "NumberTypeAnnotation": + case "ObjectTypeAnnotation": + case "StringLiteralTypeAnnotation": + case "StringTypeAnnotation": + case "SymbolTypeAnnotation": + case "ThisTypeAnnotation": + case "TupleTypeAnnotation": + case "TypeofTypeAnnotation": + case "UnionTypeAnnotation": + case "VoidTypeAnnotation": + case "IndexedAccessType": + case "OptionalIndexedAccessType": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isFlowBaseAnnotation(node, opts) { + if (!node) return false; + switch (node.type) { + case "AnyTypeAnnotation": + case "BooleanTypeAnnotation": + case "NullLiteralTypeAnnotation": + case "MixedTypeAnnotation": + case "EmptyTypeAnnotation": + case "NumberTypeAnnotation": + case "StringTypeAnnotation": + case "SymbolTypeAnnotation": + case "ThisTypeAnnotation": + case "VoidTypeAnnotation": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isFlowDeclaration(node, opts) { + if (!node) return false; + switch (node.type) { + case "DeclareClass": + case "DeclareFunction": + case "DeclareInterface": + case "DeclareModule": + case "DeclareModuleExports": + case "DeclareTypeAlias": + case "DeclareOpaqueType": + case "DeclareVariable": + case "DeclareExportDeclaration": + case "DeclareExportAllDeclaration": + case "InterfaceDeclaration": + case "OpaqueType": + case "TypeAlias": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isFlowPredicate(node, opts) { + if (!node) return false; + switch (node.type) { + case "DeclaredPredicate": + case "InferredPredicate": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isEnumBody(node, opts) { + if (!node) return false; + switch (node.type) { + case "EnumBooleanBody": + case "EnumNumberBody": + case "EnumStringBody": + case "EnumSymbolBody": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isEnumMember(node, opts) { + if (!node) return false; + switch (node.type) { + case "EnumBooleanMember": + case "EnumNumberMember": + case "EnumStringMember": + case "EnumDefaultedMember": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isJSX(node, opts) { + if (!node) return false; + switch (node.type) { + case "JSXAttribute": + case "JSXClosingElement": + case "JSXElement": + case "JSXEmptyExpression": + case "JSXExpressionContainer": + case "JSXSpreadChild": + case "JSXIdentifier": + case "JSXMemberExpression": + case "JSXNamespacedName": + case "JSXOpeningElement": + case "JSXSpreadAttribute": + case "JSXText": + case "JSXFragment": + case "JSXOpeningFragment": + case "JSXClosingFragment": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isMiscellaneous(node, opts) { + if (!node) return false; + switch (node.type) { + case "Noop": + case "Placeholder": + case "V8IntrinsicIdentifier": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTypeScript(node, opts) { + if (!node) return false; + switch (node.type) { + case "TSParameterProperty": + case "TSDeclareFunction": + case "TSDeclareMethod": + case "TSQualifiedName": + case "TSCallSignatureDeclaration": + case "TSConstructSignatureDeclaration": + case "TSPropertySignature": + case "TSMethodSignature": + case "TSIndexSignature": + case "TSAnyKeyword": + case "TSBooleanKeyword": + case "TSBigIntKeyword": + case "TSIntrinsicKeyword": + case "TSNeverKeyword": + case "TSNullKeyword": + case "TSNumberKeyword": + case "TSObjectKeyword": + case "TSStringKeyword": + case "TSSymbolKeyword": + case "TSUndefinedKeyword": + case "TSUnknownKeyword": + case "TSVoidKeyword": + case "TSThisType": + case "TSFunctionType": + case "TSConstructorType": + case "TSTypeReference": + case "TSTypePredicate": + case "TSTypeQuery": + case "TSTypeLiteral": + case "TSArrayType": + case "TSTupleType": + case "TSOptionalType": + case "TSRestType": + case "TSNamedTupleMember": + case "TSUnionType": + case "TSIntersectionType": + case "TSConditionalType": + case "TSInferType": + case "TSParenthesizedType": + case "TSTypeOperator": + case "TSIndexedAccessType": + case "TSMappedType": + case "TSLiteralType": + case "TSExpressionWithTypeArguments": + case "TSInterfaceDeclaration": + case "TSInterfaceBody": + case "TSTypeAliasDeclaration": + case "TSInstantiationExpression": + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSTypeAssertion": + case "TSEnumDeclaration": + case "TSEnumMember": + case "TSModuleDeclaration": + case "TSModuleBlock": + case "TSImportType": + case "TSImportEqualsDeclaration": + case "TSExternalModuleReference": + case "TSNonNullExpression": + case "TSExportAssignment": + case "TSNamespaceExportDeclaration": + case "TSTypeAnnotation": + case "TSTypeParameterInstantiation": + case "TSTypeParameterDeclaration": + case "TSTypeParameter": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSTypeElement(node, opts) { + if (!node) return false; + switch (node.type) { + case "TSCallSignatureDeclaration": + case "TSConstructSignatureDeclaration": + case "TSPropertySignature": + case "TSMethodSignature": + case "TSIndexSignature": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSType(node, opts) { + if (!node) return false; + switch (node.type) { + case "TSAnyKeyword": + case "TSBooleanKeyword": + case "TSBigIntKeyword": + case "TSIntrinsicKeyword": + case "TSNeverKeyword": + case "TSNullKeyword": + case "TSNumberKeyword": + case "TSObjectKeyword": + case "TSStringKeyword": + case "TSSymbolKeyword": + case "TSUndefinedKeyword": + case "TSUnknownKeyword": + case "TSVoidKeyword": + case "TSThisType": + case "TSFunctionType": + case "TSConstructorType": + case "TSTypeReference": + case "TSTypePredicate": + case "TSTypeQuery": + case "TSTypeLiteral": + case "TSArrayType": + case "TSTupleType": + case "TSOptionalType": + case "TSRestType": + case "TSUnionType": + case "TSIntersectionType": + case "TSConditionalType": + case "TSInferType": + case "TSParenthesizedType": + case "TSTypeOperator": + case "TSIndexedAccessType": + case "TSMappedType": + case "TSLiteralType": + case "TSExpressionWithTypeArguments": + case "TSImportType": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isTSBaseType(node, opts) { + if (!node) return false; + switch (node.type) { + case "TSAnyKeyword": + case "TSBooleanKeyword": + case "TSBigIntKeyword": + case "TSIntrinsicKeyword": + case "TSNeverKeyword": + case "TSNullKeyword": + case "TSNumberKeyword": + case "TSObjectKeyword": + case "TSStringKeyword": + case "TSSymbolKeyword": + case "TSUndefinedKeyword": + case "TSUnknownKeyword": + case "TSVoidKeyword": + case "TSThisType": + case "TSLiteralType": + break; + default: + return false; + } + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isNumberLiteral(node, opts) { + (0, _deprecationWarning.default)("isNumberLiteral", "isNumericLiteral"); + if (!node) return false; + if (node.type !== "NumberLiteral") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isRegexLiteral(node, opts) { + (0, _deprecationWarning.default)("isRegexLiteral", "isRegExpLiteral"); + if (!node) return false; + if (node.type !== "RegexLiteral") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isRestProperty(node, opts) { + (0, _deprecationWarning.default)("isRestProperty", "isRestElement"); + if (!node) return false; + if (node.type !== "RestProperty") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isSpreadProperty(node, opts) { + (0, _deprecationWarning.default)("isSpreadProperty", "isSpreadElement"); + if (!node) return false; + if (node.type !== "SpreadProperty") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); + } + function isModuleDeclaration(node, opts) { + (0, _deprecationWarning.default)("isModuleDeclaration", "isImportOrExportDeclaration"); + return isImportOrExportDeclaration(node, opts); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/matchesPattern.js +var require_matchesPattern = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/matchesPattern.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = matchesPattern; + var _index = require_generated(); + function matchesPattern(member, match, allowPartial) { + if (!(0, _index.isMemberExpression)(member)) return false; + const parts = Array.isArray(match) ? match : match.split("."); + const nodes = []; + let node; + for (node = member; (0, _index.isMemberExpression)(node); node = node.object) { + nodes.push(node.property); + } + nodes.push(node); + if (nodes.length < parts.length) return false; + if (!allowPartial && nodes.length > parts.length) return false; + for (let i = 0, j = nodes.length - 1; i < parts.length; i++, j--) { + const node2 = nodes[j]; + let value2; + if ((0, _index.isIdentifier)(node2)) { + value2 = node2.name; + } else if ((0, _index.isStringLiteral)(node2)) { + value2 = node2.value; + } else if ((0, _index.isThisExpression)(node2)) { + value2 = "this"; + } else { + return false; + } + if (parts[i] !== value2) return false; + } + return true; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js +var require_buildMatchMemberExpression = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = buildMatchMemberExpression; + var _matchesPattern = require_matchesPattern(); + function buildMatchMemberExpression(match, allowPartial) { + const parts = match.split("."); + return (member) => (0, _matchesPattern.default)(member, parts, allowPartial); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/react/isReactComponent.js +var require_isReactComponent = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/react/isReactComponent.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _buildMatchMemberExpression = require_buildMatchMemberExpression(); + var isReactComponent = (0, _buildMatchMemberExpression.default)("React.Component"); + var _default = exports.default = isReactComponent; + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/react/isCompatTag.js +var require_isCompatTag = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/react/isCompatTag.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isCompatTag; + function isCompatTag(tagName) { + return !!tagName && /^[a-z]/.test(tagName); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isType.js +var require_isType = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isType.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isType; + var _index = require_definitions(); + function isType(nodeType, targetType) { + if (nodeType === targetType) return true; + if (nodeType == null) return false; + if (_index.ALIAS_KEYS[targetType]) return false; + const aliases = _index.FLIPPED_ALIAS_KEYS[targetType]; + if (aliases) { + if (aliases[0] === nodeType) return true; + for (const alias of aliases) { + if (nodeType === alias) return true; + } + } + return false; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isPlaceholderType.js +var require_isPlaceholderType = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isPlaceholderType.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isPlaceholderType; + var _index = require_definitions(); + function isPlaceholderType(placeholderType, targetType) { + if (placeholderType === targetType) return true; + const aliases = _index.PLACEHOLDERS_ALIAS[placeholderType]; + if (aliases) { + for (const alias of aliases) { + if (targetType === alias) return true; + } + } + return false; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/is.js +var require_is = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/is.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = is; + var _shallowEqual = require_shallowEqual(); + var _isType = require_isType(); + var _isPlaceholderType = require_isPlaceholderType(); + var _index = require_definitions(); + function is(type, node, opts) { + if (!node) return false; + const matches = (0, _isType.default)(node.type, type); + if (!matches) { + if (!opts && node.type === "Placeholder" && type in _index.FLIPPED_ALIAS_KEYS) { + return (0, _isPlaceholderType.default)(node.expectedNode, type); + } + return false; + } + if (opts === void 0) { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + } +}); + +// ../../.yarn/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-4fc6f83017.zip/node_modules/@babel/helper-validator-identifier/lib/identifier.js +var require_identifier = __commonJS({ + "../../.yarn/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-4fc6f83017.zip/node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.isIdentifierChar = isIdentifierChar; + exports.isIdentifierName = isIdentifierName; + exports.isIdentifierStart = isIdentifierStart; + var nonASCIIidentifierStartChars = "ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟍꟐꟑꟓꟕ-Ƛꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ"; + var nonASCIIidentifierChars = "·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・"; + var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); + var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); + nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; + var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191]; + var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; + function isInAstralSet(code, set2) { + let pos = 65536; + for (let i = 0, length = set2.length; i < length; i += 2) { + pos += set2[i]; + if (pos > code) return false; + pos += set2[i + 1]; + if (pos >= code) return true; + } + return false; + } + function isIdentifierStart(code) { + if (code < 65) return code === 36; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + if (code <= 65535) { + return code >= 170 && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes); + } + function isIdentifierChar(code) { + if (code < 48) return code === 36; + if (code < 58) return true; + if (code < 65) return false; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + if (code <= 65535) { + return code >= 170 && nonASCIIidentifier.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); + } + function isIdentifierName(name) { + let isFirst = true; + for (let i = 0; i < name.length; i++) { + let cp = name.charCodeAt(i); + if ((cp & 64512) === 55296 && i + 1 < name.length) { + const trail = name.charCodeAt(++i); + if ((trail & 64512) === 56320) { + cp = 65536 + ((cp & 1023) << 10) + (trail & 1023); + } + } + if (isFirst) { + isFirst = false; + if (!isIdentifierStart(cp)) { + return false; + } + } else if (!isIdentifierChar(cp)) { + return false; + } + } + return !isFirst; + } + } +}); + +// ../../.yarn/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-4fc6f83017.zip/node_modules/@babel/helper-validator-identifier/lib/keyword.js +var require_keyword = __commonJS({ + "../../.yarn/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-4fc6f83017.zip/node_modules/@babel/helper-validator-identifier/lib/keyword.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.isKeyword = isKeyword; + exports.isReservedWord = isReservedWord; + exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord; + exports.isStrictBindReservedWord = isStrictBindReservedWord; + exports.isStrictReservedWord = isStrictReservedWord; + var reservedWords = { + keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], + strictBind: ["eval", "arguments"] + }; + var keywords = new Set(reservedWords.keyword); + var reservedWordsStrictSet = new Set(reservedWords.strict); + var reservedWordsStrictBindSet = new Set(reservedWords.strictBind); + function isReservedWord(word, inModule) { + return inModule && word === "await" || word === "enum"; + } + function isStrictReservedWord(word, inModule) { + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); + } + function isStrictBindOnlyReservedWord(word) { + return reservedWordsStrictBindSet.has(word); + } + function isStrictBindReservedWord(word, inModule) { + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); + } + function isKeyword(word) { + return keywords.has(word); + } + } +}); + +// ../../.yarn/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-4fc6f83017.zip/node_modules/@babel/helper-validator-identifier/lib/index.js +var require_lib = __commonJS({ + "../../.yarn/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-4fc6f83017.zip/node_modules/@babel/helper-validator-identifier/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "isIdentifierChar", { + enumerable: true, + get: function() { + return _identifier.isIdentifierChar; + } + }); + Object.defineProperty(exports, "isIdentifierName", { + enumerable: true, + get: function() { + return _identifier.isIdentifierName; + } + }); + Object.defineProperty(exports, "isIdentifierStart", { + enumerable: true, + get: function() { + return _identifier.isIdentifierStart; + } + }); + Object.defineProperty(exports, "isKeyword", { + enumerable: true, + get: function() { + return _keyword.isKeyword; + } + }); + Object.defineProperty(exports, "isReservedWord", { + enumerable: true, + get: function() { + return _keyword.isReservedWord; + } + }); + Object.defineProperty(exports, "isStrictBindOnlyReservedWord", { + enumerable: true, + get: function() { + return _keyword.isStrictBindOnlyReservedWord; + } + }); + Object.defineProperty(exports, "isStrictBindReservedWord", { + enumerable: true, + get: function() { + return _keyword.isStrictBindReservedWord; + } + }); + Object.defineProperty(exports, "isStrictReservedWord", { + enumerable: true, + get: function() { + return _keyword.isStrictReservedWord; + } + }); + var _identifier = require_identifier(); + var _keyword = require_keyword(); + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isValidIdentifier.js +var require_isValidIdentifier = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isValidIdentifier.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isValidIdentifier; + var _helperValidatorIdentifier = require_lib(); + function isValidIdentifier(name, reserved = true) { + if (typeof name !== "string") return false; + if (reserved) { + if ((0, _helperValidatorIdentifier.isKeyword)(name) || (0, _helperValidatorIdentifier.isStrictReservedWord)(name, true)) { + return false; + } + } + return (0, _helperValidatorIdentifier.isIdentifierName)(name); + } + } +}); + +// ../../.yarn/cache/@babel-helper-string-parser-npm-7.25.9-eade578078-7244b45d8e.zip/node_modules/@babel/helper-string-parser/lib/index.js +var require_lib2 = __commonJS({ + "../../.yarn/cache/@babel-helper-string-parser-npm-7.25.9-eade578078-7244b45d8e.zip/node_modules/@babel/helper-string-parser/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.readCodePoint = readCodePoint; + exports.readInt = readInt; + exports.readStringContents = readStringContents; + var _isDigit = function isDigit(code) { + return code >= 48 && code <= 57; + }; + var forbiddenNumericSeparatorSiblings = { + decBinOct: /* @__PURE__ */ new Set([46, 66, 69, 79, 95, 98, 101, 111]), + hex: /* @__PURE__ */ new Set([46, 88, 95, 120]) + }; + var isAllowedNumericSeparatorSibling = { + bin: (ch) => ch === 48 || ch === 49, + oct: (ch) => ch >= 48 && ch <= 55, + dec: (ch) => ch >= 48 && ch <= 57, + hex: (ch) => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102 + }; + function readStringContents(type, input, pos, lineStart, curLine, errors) { + const initialPos = pos; + const initialLineStart = lineStart; + const initialCurLine = curLine; + let out = ""; + let firstInvalidLoc = null; + let chunkStart = pos; + const { + length + } = input; + for (; ; ) { + if (pos >= length) { + errors.unterminated(initialPos, initialLineStart, initialCurLine); + out += input.slice(chunkStart, pos); + break; + } + const ch = input.charCodeAt(pos); + if (isStringEnd(type, ch, input, pos)) { + out += input.slice(chunkStart, pos); + break; + } + if (ch === 92) { + out += input.slice(chunkStart, pos); + const res = readEscapedChar(input, pos, lineStart, curLine, type === "template", errors); + if (res.ch === null && !firstInvalidLoc) { + firstInvalidLoc = { + pos, + lineStart, + curLine + }; + } else { + out += res.ch; + } + ({ + pos, + lineStart, + curLine + } = res); + chunkStart = pos; + } else if (ch === 8232 || ch === 8233) { + ++pos; + ++curLine; + lineStart = pos; + } else if (ch === 10 || ch === 13) { + if (type === "template") { + out += input.slice(chunkStart, pos) + "\n"; + ++pos; + if (ch === 13 && input.charCodeAt(pos) === 10) { + ++pos; + } + ++curLine; + chunkStart = lineStart = pos; + } else { + errors.unterminated(initialPos, initialLineStart, initialCurLine); + } + } else { + ++pos; + } + } + return { + pos, + str: out, + firstInvalidLoc, + lineStart, + curLine, + containsInvalid: !!firstInvalidLoc + }; + } + function isStringEnd(type, ch, input, pos) { + if (type === "template") { + return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123; + } + return ch === (type === "double" ? 34 : 39); + } + function readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) { + const throwOnInvalid = !inTemplate; + pos++; + const res = (ch2) => ({ + pos, + ch: ch2, + lineStart, + curLine + }); + const ch = input.charCodeAt(pos++); + switch (ch) { + case 110: + return res("\n"); + case 114: + return res("\r"); + case 120: { + let code; + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors)); + return res(code === null ? null : String.fromCharCode(code)); + } + case 117: { + let code; + ({ + code, + pos + } = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors)); + return res(code === null ? null : String.fromCodePoint(code)); + } + case 116: + return res(" "); + case 98: + return res("\b"); + case 118: + return res("\v"); + case 102: + return res("\f"); + case 13: + if (input.charCodeAt(pos) === 10) { + ++pos; + } + case 10: + lineStart = pos; + ++curLine; + case 8232: + case 8233: + return res(""); + case 56: + case 57: + if (inTemplate) { + return res(null); + } else { + errors.strictNumericEscape(pos - 1, lineStart, curLine); + } + default: + if (ch >= 48 && ch <= 55) { + const startPos = pos - 1; + const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2)); + let octalStr = match[0]; + let octal = parseInt(octalStr, 8); + if (octal > 255) { + octalStr = octalStr.slice(0, -1); + octal = parseInt(octalStr, 8); + } + pos += octalStr.length - 1; + const next = input.charCodeAt(pos); + if (octalStr !== "0" || next === 56 || next === 57) { + if (inTemplate) { + return res(null); + } else { + errors.strictNumericEscape(startPos, lineStart, curLine); + } + } + return res(String.fromCharCode(octal)); + } + return res(String.fromCharCode(ch)); + } + } + function readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) { + const initialPos = pos; + let n; + ({ + n, + pos + } = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid)); + if (n === null) { + if (throwOnInvalid) { + errors.invalidEscapeSequence(initialPos, lineStart, curLine); + } else { + pos = initialPos - 1; + } + } + return { + code: n, + pos + }; + } + function readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) { + const start = pos; + const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct; + const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin; + let invalid = false; + let total = 0; + for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) { + const code = input.charCodeAt(pos); + let val; + if (code === 95 && allowNumSeparator !== "bail") { + const prev = input.charCodeAt(pos - 1); + const next = input.charCodeAt(pos + 1); + if (!allowNumSeparator) { + if (bailOnError) return { + n: null, + pos + }; + errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine); + } else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) { + if (bailOnError) return { + n: null, + pos + }; + errors.unexpectedNumericSeparator(pos, lineStart, curLine); + } + ++pos; + continue; + } + if (code >= 97) { + val = code - 97 + 10; + } else if (code >= 65) { + val = code - 65 + 10; + } else if (_isDigit(code)) { + val = code - 48; + } else { + val = Infinity; + } + if (val >= radix) { + if (val <= 9 && bailOnError) { + return { + n: null, + pos + }; + } else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) { + val = 0; + } else if (forceLen) { + val = 0; + invalid = true; + } else { + break; + } + } + ++pos; + total = total * radix + val; + } + if (pos === start || len != null && pos - start !== len || invalid) { + return { + n: null, + pos + }; + } + return { + n: total, + pos + }; + } + function readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) { + const ch = input.charCodeAt(pos); + let code; + if (ch === 123) { + ++pos; + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, input.indexOf("}", pos) - pos, true, throwOnInvalid, errors)); + ++pos; + if (code !== null && code > 1114111) { + if (throwOnInvalid) { + errors.invalidCodePoint(pos, lineStart, curLine); + } else { + return { + code: null, + pos + }; + } + } + } else { + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors)); + } + return { + code, + pos + }; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/constants/index.js +var require_constants = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/constants/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.UPDATE_OPERATORS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.STATEMENT_OR_BLOCK_KEYS = exports.NUMBER_UNARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.NOT_LOCAL_BINDING = exports.LOGICAL_OPERATORS = exports.INHERIT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.EQUALITY_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.COMMENT_KEYS = exports.BOOLEAN_UNARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.BLOCK_SCOPED_SYMBOL = exports.BINARY_OPERATORS = exports.ASSIGNMENT_OPERATORS = void 0; + var STATEMENT_OR_BLOCK_KEYS = exports.STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"]; + var FLATTENABLE_KEYS = exports.FLATTENABLE_KEYS = ["body", "expressions"]; + var FOR_INIT_KEYS = exports.FOR_INIT_KEYS = ["left", "init"]; + var COMMENT_KEYS = exports.COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"]; + var LOGICAL_OPERATORS = exports.LOGICAL_OPERATORS = ["||", "&&", "??"]; + var UPDATE_OPERATORS = exports.UPDATE_OPERATORS = ["++", "--"]; + var BOOLEAN_NUMBER_BINARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="]; + var EQUALITY_BINARY_OPERATORS = exports.EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="]; + var COMPARISON_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = [...EQUALITY_BINARY_OPERATORS, "in", "instanceof"]; + var BOOLEAN_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = [...COMPARISON_BINARY_OPERATORS, ...BOOLEAN_NUMBER_BINARY_OPERATORS]; + var NUMBER_BINARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"]; + var BINARY_OPERATORS = exports.BINARY_OPERATORS = ["+", ...NUMBER_BINARY_OPERATORS, ...BOOLEAN_BINARY_OPERATORS, "|>"]; + var ASSIGNMENT_OPERATORS = exports.ASSIGNMENT_OPERATORS = ["=", "+=", ...NUMBER_BINARY_OPERATORS.map((op) => op + "="), ...LOGICAL_OPERATORS.map((op) => op + "=")]; + var BOOLEAN_UNARY_OPERATORS = exports.BOOLEAN_UNARY_OPERATORS = ["delete", "!"]; + var NUMBER_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = ["+", "-", "~"]; + var STRING_UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = ["typeof"]; + var UNARY_OPERATORS = exports.UNARY_OPERATORS = ["void", "throw", ...BOOLEAN_UNARY_OPERATORS, ...NUMBER_UNARY_OPERATORS, ...STRING_UNARY_OPERATORS]; + var INHERIT_KEYS = exports.INHERIT_KEYS = { + optional: ["typeAnnotation", "typeParameters", "returnType"], + force: ["start", "loc", "end"] + }; + var BLOCK_SCOPED_SYMBOL = exports.BLOCK_SCOPED_SYMBOL = Symbol.for("var used to be block scoped"); + var NOT_LOCAL_BINDING = exports.NOT_LOCAL_BINDING = Symbol.for("should not be considered a local binding"); + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/utils.js +var require_utils = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/utils.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.VISITOR_KEYS = exports.NODE_PARENT_VALIDATIONS = exports.NODE_FIELDS = exports.FLIPPED_ALIAS_KEYS = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.ALIAS_KEYS = void 0; + exports.arrayOf = arrayOf; + exports.arrayOfType = arrayOfType; + exports.assertEach = assertEach; + exports.assertNodeOrValueType = assertNodeOrValueType; + exports.assertNodeType = assertNodeType; + exports.assertOneOf = assertOneOf; + exports.assertOptionalChainStart = assertOptionalChainStart; + exports.assertShape = assertShape; + exports.assertValueType = assertValueType; + exports.chain = chain; + exports.default = defineType; + exports.defineAliasedType = defineAliasedType; + exports.validate = validate; + exports.validateArrayOfType = validateArrayOfType; + exports.validateOptional = validateOptional; + exports.validateOptionalType = validateOptionalType; + exports.validateType = validateType; + var _is = require_is(); + var _validate = require_validate(); + var VISITOR_KEYS = exports.VISITOR_KEYS = {}; + var ALIAS_KEYS = exports.ALIAS_KEYS = {}; + var FLIPPED_ALIAS_KEYS = exports.FLIPPED_ALIAS_KEYS = {}; + var NODE_FIELDS = exports.NODE_FIELDS = {}; + var BUILDER_KEYS = exports.BUILDER_KEYS = {}; + var DEPRECATED_KEYS = exports.DEPRECATED_KEYS = {}; + var NODE_PARENT_VALIDATIONS = exports.NODE_PARENT_VALIDATIONS = {}; + function getType(val) { + if (Array.isArray(val)) { + return "array"; + } else if (val === null) { + return "null"; + } else { + return typeof val; + } + } + function validate(validate2) { + return { + validate: validate2 + }; + } + function validateType(...typeNames) { + return validate(assertNodeType(...typeNames)); + } + function validateOptional(validate2) { + return { + validate: validate2, + optional: true + }; + } + function validateOptionalType(...typeNames) { + return { + validate: assertNodeType(...typeNames), + optional: true + }; + } + function arrayOf(elementType) { + return chain(assertValueType("array"), assertEach(elementType)); + } + function arrayOfType(...typeNames) { + return arrayOf(assertNodeType(...typeNames)); + } + function validateArrayOfType(...typeNames) { + return validate(arrayOfType(...typeNames)); + } + function assertEach(callback) { + const childValidator = process.env.BABEL_TYPES_8_BREAKING ? _validate.validateChild : () => { + }; + function validator(node, key, val) { + if (!Array.isArray(val)) return; + for (let i = 0; i < val.length; i++) { + const subkey = `${key}[${i}]`; + const v = val[i]; + callback(node, subkey, v); + childValidator(node, subkey, v); + } + } + validator.each = callback; + return validator; + } + function assertOneOf(...values) { + function validate2(node, key, val) { + if (!values.includes(val)) { + throw new TypeError(`Property ${key} expected value to be one of ${JSON.stringify(values)} but got ${JSON.stringify(val)}`); + } + } + validate2.oneOf = values; + return validate2; + } + function assertNodeType(...types) { + function validate2(node, key, val) { + for (const type of types) { + if ((0, _is.default)(type, val)) { + (0, _validate.validateChild)(node, key, val); + return; + } + } + throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`); + } + validate2.oneOfNodeTypes = types; + return validate2; + } + function assertNodeOrValueType(...types) { + function validate2(node, key, val) { + for (const type of types) { + if (getType(val) === type || (0, _is.default)(type, val)) { + (0, _validate.validateChild)(node, key, val); + return; + } + } + throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`); + } + validate2.oneOfNodeOrValueTypes = types; + return validate2; + } + function assertValueType(type) { + function validate2(node, key, val) { + const valid = getType(val) === type; + if (!valid) { + throw new TypeError(`Property ${key} expected type of ${type} but got ${getType(val)}`); + } + } + validate2.type = type; + return validate2; + } + function assertShape(shape) { + function validate2(node, key, val) { + const errors = []; + for (const property of Object.keys(shape)) { + try { + (0, _validate.validateField)(node, property, val[property], shape[property]); + } catch (error) { + if (error instanceof TypeError) { + errors.push(error.message); + continue; + } + throw error; + } + } + if (errors.length) { + throw new TypeError(`Property ${key} of ${node.type} expected to have the following: +${errors.join("\n")}`); + } + } + validate2.shapeOf = shape; + return validate2; + } + function assertOptionalChainStart() { + function validate2(node) { + var _current; + let current = node; + while (node) { + const { + type + } = current; + if (type === "OptionalCallExpression") { + if (current.optional) return; + current = current.callee; + continue; + } + if (type === "OptionalMemberExpression") { + if (current.optional) return; + current = current.object; + continue; + } + break; + } + throw new TypeError(`Non-optional ${node.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${(_current = current) == null ? void 0 : _current.type}`); + } + return validate2; + } + function chain(...fns) { + function validate2(...args) { + for (const fn of fns) { + fn(...args); + } + } + validate2.chainOf = fns; + if (fns.length >= 2 && "type" in fns[0] && fns[0].type === "array" && !("each" in fns[1])) { + throw new Error(`An assertValueType("array") validator can only be followed by an assertEach(...) validator.`); + } + return validate2; + } + var validTypeOpts = /* @__PURE__ */ new Set(["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate"]); + var validFieldKeys = /* @__PURE__ */ new Set(["default", "optional", "deprecated", "validate"]); + var store = {}; + function defineAliasedType(...aliases) { + return (type, opts = {}) => { + let defined = opts.aliases; + if (!defined) { + var _store$opts$inherits$, _defined; + if (opts.inherits) defined = (_store$opts$inherits$ = store[opts.inherits].aliases) == null ? void 0 : _store$opts$inherits$.slice(); + (_defined = defined) != null ? _defined : defined = []; + opts.aliases = defined; + } + const additional = aliases.filter((a) => !defined.includes(a)); + defined.unshift(...additional); + defineType(type, opts); + }; + } + function defineType(type, opts = {}) { + const inherits = opts.inherits && store[opts.inherits] || {}; + let fields = opts.fields; + if (!fields) { + fields = {}; + if (inherits.fields) { + const keys = Object.getOwnPropertyNames(inherits.fields); + for (const key of keys) { + const field = inherits.fields[key]; + const def = field.default; + if (Array.isArray(def) ? def.length > 0 : def && typeof def === "object") { + throw new Error("field defaults can only be primitives or empty arrays currently"); + } + fields[key] = { + default: Array.isArray(def) ? [] : def, + optional: field.optional, + deprecated: field.deprecated, + validate: field.validate + }; + } + } + } + const visitor = opts.visitor || inherits.visitor || []; + const aliases = opts.aliases || inherits.aliases || []; + const builder = opts.builder || inherits.builder || opts.visitor || []; + for (const k of Object.keys(opts)) { + if (!validTypeOpts.has(k)) { + throw new Error(`Unknown type option "${k}" on ${type}`); + } + } + if (opts.deprecatedAlias) { + DEPRECATED_KEYS[opts.deprecatedAlias] = type; + } + for (const key of visitor.concat(builder)) { + fields[key] = fields[key] || {}; + } + for (const key of Object.keys(fields)) { + const field = fields[key]; + if (field.default !== void 0 && !builder.includes(key)) { + field.optional = true; + } + if (field.default === void 0) { + field.default = null; + } else if (!field.validate && field.default != null) { + field.validate = assertValueType(getType(field.default)); + } + for (const k of Object.keys(field)) { + if (!validFieldKeys.has(k)) { + throw new Error(`Unknown field key "${k}" on ${type}.${key}`); + } + } + } + VISITOR_KEYS[type] = opts.visitor = visitor; + BUILDER_KEYS[type] = opts.builder = builder; + NODE_FIELDS[type] = opts.fields = fields; + ALIAS_KEYS[type] = opts.aliases = aliases; + aliases.forEach((alias) => { + FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || []; + FLIPPED_ALIAS_KEYS[alias].push(type); + }); + if (opts.validate) { + NODE_PARENT_VALIDATIONS[type] = opts.validate; + } + store[type] = opts; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/core.js +var require_core = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/core.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.patternLikeCommon = exports.importAttributes = exports.functionTypeAnnotationCommon = exports.functionDeclarationCommon = exports.functionCommon = exports.classMethodOrPropertyCommon = exports.classMethodOrDeclareMethodCommon = void 0; + var _is = require_is(); + var _isValidIdentifier = require_isValidIdentifier(); + var _helperValidatorIdentifier = require_lib(); + var _helperStringParser = require_lib2(); + var _index = require_constants(); + var _utils = require_utils(); + var defineType = (0, _utils.defineAliasedType)("Standardized"); + defineType("ArrayExpression", { + fields: { + elements: { + validate: (0, _utils.arrayOf)((0, _utils.assertNodeOrValueType)("null", "Expression", "SpreadElement")), + default: !process.env.BABEL_TYPES_8_BREAKING ? [] : void 0 + } + }, + visitor: ["elements"], + aliases: ["Expression"] + }); + defineType("AssignmentExpression", { + fields: { + operator: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("string") : Object.assign(function() { + const identifier = (0, _utils.assertOneOf)(..._index.ASSIGNMENT_OPERATORS); + const pattern = (0, _utils.assertOneOf)("="); + return function(node, key, val) { + const validator = (0, _is.default)("Pattern", node.left) ? pattern : identifier; + validator(node, key, val); + }; + }(), { + type: "string" + }) + }, + left: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal", "OptionalMemberExpression") : (0, _utils.assertNodeType)("Identifier", "MemberExpression", "OptionalMemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + builder: ["operator", "left", "right"], + visitor: ["left", "right"], + aliases: ["Expression"] + }); + defineType("BinaryExpression", { + builder: ["operator", "left", "right"], + fields: { + operator: { + validate: (0, _utils.assertOneOf)(..._index.BINARY_OPERATORS) + }, + left: { + validate: function() { + const expression = (0, _utils.assertNodeType)("Expression"); + const inOp = (0, _utils.assertNodeType)("Expression", "PrivateName"); + const validator = Object.assign(function(node, key, val) { + const validator2 = node.operator === "in" ? inOp : expression; + validator2(node, key, val); + }, { + oneOfNodeTypes: ["Expression", "PrivateName"] + }); + return validator; + }() + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + visitor: ["left", "right"], + aliases: ["Binary", "Expression"] + }); + defineType("InterpreterDirective", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + } + }); + defineType("Directive", { + visitor: ["value"], + fields: { + value: { + validate: (0, _utils.assertNodeType)("DirectiveLiteral") + } + } + }); + defineType("DirectiveLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + } + }); + defineType("BlockStatement", { + builder: ["body", "directives"], + visitor: ["directives", "body"], + fields: { + directives: { + validate: (0, _utils.arrayOfType)("Directive"), + default: [] + }, + body: (0, _utils.validateArrayOfType)("Statement") + }, + aliases: ["Scopable", "BlockParent", "Block", "Statement"] + }); + defineType("BreakStatement", { + visitor: ["label"], + fields: { + label: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + } + }, + aliases: ["Statement", "Terminatorless", "CompletionStatement"] + }); + defineType("CallExpression", { + visitor: ["callee", "arguments", "typeParameters", "typeArguments"], + builder: ["callee", "arguments"], + aliases: ["Expression"], + fields: Object.assign({ + callee: { + validate: (0, _utils.assertNodeType)("Expression", "Super", "V8IntrinsicIdentifier") + }, + arguments: (0, _utils.validateArrayOfType)("Expression", "SpreadElement", "ArgumentPlaceholder") + }, !process.env.BABEL_TYPES_8_BREAKING ? { + optional: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + } + } : {}, { + typeArguments: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), + optional: true + } + }) + }); + defineType("CatchClause", { + visitor: ["param", "body"], + fields: { + param: { + validate: (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + }, + aliases: ["Scopable", "BlockParent"] + }); + defineType("ConditionalExpression", { + visitor: ["test", "consequent", "alternate"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression") + }, + consequent: { + validate: (0, _utils.assertNodeType)("Expression") + }, + alternate: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + aliases: ["Expression", "Conditional"] + }); + defineType("ContinueStatement", { + visitor: ["label"], + fields: { + label: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + } + }, + aliases: ["Statement", "Terminatorless", "CompletionStatement"] + }); + defineType("DebuggerStatement", { + aliases: ["Statement"] + }); + defineType("DoWhileStatement", { + builder: ["test", "body"], + visitor: ["body", "test"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + }, + aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"] + }); + defineType("EmptyStatement", { + aliases: ["Statement"] + }); + defineType("ExpressionStatement", { + visitor: ["expression"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + aliases: ["Statement", "ExpressionWrapper"] + }); + defineType("File", { + builder: ["program", "comments", "tokens"], + visitor: ["program"], + fields: { + program: { + validate: (0, _utils.assertNodeType)("Program") + }, + comments: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? Object.assign(() => { + }, { + each: { + oneOfNodeTypes: ["CommentBlock", "CommentLine"] + } + }) : (0, _utils.assertEach)((0, _utils.assertNodeType)("CommentBlock", "CommentLine")), + optional: true + }, + tokens: { + validate: (0, _utils.assertEach)(Object.assign(() => { + }, { + type: "any" + })), + optional: true + } + } + }); + defineType("ForInStatement", { + visitor: ["left", "right", "body"], + aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], + fields: { + left: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("VariableDeclaration", "LVal") : (0, _utils.assertNodeType)("VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + } + }); + defineType("ForStatement", { + visitor: ["init", "test", "update", "body"], + aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"], + fields: { + init: { + validate: (0, _utils.assertNodeType)("VariableDeclaration", "Expression"), + optional: true + }, + test: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + update: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + } + }); + var functionCommon = () => ({ + params: (0, _utils.validateArrayOfType)("Identifier", "Pattern", "RestElement"), + generator: { + default: false + }, + async: { + default: false + } + }); + exports.functionCommon = functionCommon; + var functionTypeAnnotationCommon = () => ({ + returnType: { + validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), + optional: true + } + }); + exports.functionTypeAnnotationCommon = functionTypeAnnotationCommon; + var functionDeclarationCommon = () => Object.assign({}, functionCommon(), { + declare: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + id: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + } + }); + exports.functionDeclarationCommon = functionDeclarationCommon; + defineType("FunctionDeclaration", { + builder: ["id", "params", "body", "generator", "async"], + visitor: ["id", "typeParameters", "params", "returnType", "body"], + fields: Object.assign({}, functionDeclarationCommon(), functionTypeAnnotationCommon(), { + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + }, + predicate: { + validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"), + optional: true + } + }), + aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"], + validate: !process.env.BABEL_TYPES_8_BREAKING ? void 0 : function() { + const identifier = (0, _utils.assertNodeType)("Identifier"); + return function(parent, key, node) { + if (!(0, _is.default)("ExportDefaultDeclaration", parent)) { + identifier(node, "id", node.id); + } + }; + }() + }); + defineType("FunctionExpression", { + inherits: "FunctionDeclaration", + aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], + fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), { + id: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + }, + predicate: { + validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"), + optional: true + } + }) + }); + var patternLikeCommon = () => ({ + typeAnnotation: { + validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), + optional: true + }, + optional: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + decorators: { + validate: (0, _utils.arrayOfType)("Decorator"), + optional: true + } + }); + exports.patternLikeCommon = patternLikeCommon; + defineType("Identifier", { + builder: ["name"], + visitor: ["typeAnnotation", "decorators"], + aliases: ["Expression", "PatternLike", "LVal", "TSEntityName"], + fields: Object.assign({}, patternLikeCommon(), { + name: { + validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)("string"), Object.assign(function(node, key, val) { + if (!(0, _isValidIdentifier.default)(val, false)) { + throw new TypeError(`"${val}" is not a valid identifier name`); + } + }, { + type: "string" + })) : (0, _utils.assertValueType)("string") + } + }), + validate: process.env.BABEL_TYPES_8_BREAKING ? function(parent, key, node) { + const match = /\.(\w+)$/.exec(key); + if (!match) return; + const [, parentKey] = match; + const nonComp = { + computed: false + }; + if (parentKey === "property") { + if ((0, _is.default)("MemberExpression", parent, nonComp)) return; + if ((0, _is.default)("OptionalMemberExpression", parent, nonComp)) return; + } else if (parentKey === "key") { + if ((0, _is.default)("Property", parent, nonComp)) return; + if ((0, _is.default)("Method", parent, nonComp)) return; + } else if (parentKey === "exported") { + if ((0, _is.default)("ExportSpecifier", parent)) return; + } else if (parentKey === "imported") { + if ((0, _is.default)("ImportSpecifier", parent, { + imported: node + })) return; + } else if (parentKey === "meta") { + if ((0, _is.default)("MetaProperty", parent, { + meta: node + })) return; + } + if (((0, _helperValidatorIdentifier.isKeyword)(node.name) || (0, _helperValidatorIdentifier.isReservedWord)(node.name, false)) && node.name !== "this") { + throw new TypeError(`"${node.name}" is not a valid identifier`); + } + } : void 0 + }); + defineType("IfStatement", { + visitor: ["test", "consequent", "alternate"], + aliases: ["Statement", "Conditional"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression") + }, + consequent: { + validate: (0, _utils.assertNodeType)("Statement") + }, + alternate: { + optional: true, + validate: (0, _utils.assertNodeType)("Statement") + } + } + }); + defineType("LabeledStatement", { + visitor: ["label", "body"], + aliases: ["Statement"], + fields: { + label: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + } + }); + defineType("StringLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] + }); + defineType("NumericLiteral", { + builder: ["value"], + deprecatedAlias: "NumberLiteral", + fields: { + value: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("number"), Object.assign(function(node, key, val) { + if (1 / val < 0 || !Number.isFinite(val)) { + const error = new Error(`NumericLiterals must be non-negative finite numbers. You can use t.valueToNode(${val}) instead.`); + { + } + } + }, { + type: "number" + })) + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] + }); + defineType("NullLiteral", { + aliases: ["Expression", "Pureish", "Literal", "Immutable"] + }); + defineType("BooleanLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("boolean") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] + }); + defineType("RegExpLiteral", { + builder: ["pattern", "flags"], + deprecatedAlias: "RegexLiteral", + aliases: ["Expression", "Pureish", "Literal"], + fields: { + pattern: { + validate: (0, _utils.assertValueType)("string") + }, + flags: { + validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)("string"), Object.assign(function(node, key, val) { + const invalid = /[^gimsuy]/.exec(val); + if (invalid) { + throw new TypeError(`"${invalid[0]}" is not a valid RegExp flag`); + } + }, { + type: "string" + })) : (0, _utils.assertValueType)("string"), + default: "" + } + } + }); + defineType("LogicalExpression", { + builder: ["operator", "left", "right"], + visitor: ["left", "right"], + aliases: ["Binary", "Expression"], + fields: { + operator: { + validate: (0, _utils.assertOneOf)(..._index.LOGICAL_OPERATORS) + }, + left: { + validate: (0, _utils.assertNodeType)("Expression") + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("MemberExpression", { + builder: ["object", "property", "computed", ...!process.env.BABEL_TYPES_8_BREAKING ? ["optional"] : []], + visitor: ["object", "property"], + aliases: ["Expression", "LVal"], + fields: Object.assign({ + object: { + validate: (0, _utils.assertNodeType)("Expression", "Super") + }, + property: { + validate: function() { + const normal = (0, _utils.assertNodeType)("Identifier", "PrivateName"); + const computed = (0, _utils.assertNodeType)("Expression"); + const validator = function(node, key, val) { + const validator2 = node.computed ? computed : normal; + validator2(node, key, val); + }; + validator.oneOfNodeTypes = ["Expression", "Identifier", "PrivateName"]; + return validator; + }() + }, + computed: { + default: false + } + }, !process.env.BABEL_TYPES_8_BREAKING ? { + optional: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + } + } : {}) + }); + defineType("NewExpression", { + inherits: "CallExpression" + }); + defineType("Program", { + visitor: ["directives", "body"], + builder: ["body", "directives", "sourceType", "interpreter"], + fields: { + sourceType: { + validate: (0, _utils.assertOneOf)("script", "module"), + default: "script" + }, + interpreter: { + validate: (0, _utils.assertNodeType)("InterpreterDirective"), + default: null, + optional: true + }, + directives: { + validate: (0, _utils.arrayOfType)("Directive"), + default: [] + }, + body: (0, _utils.validateArrayOfType)("Statement") + }, + aliases: ["Scopable", "BlockParent", "Block"] + }); + defineType("ObjectExpression", { + visitor: ["properties"], + aliases: ["Expression"], + fields: { + properties: (0, _utils.validateArrayOfType)("ObjectMethod", "ObjectProperty", "SpreadElement") + } + }); + defineType("ObjectMethod", { + builder: ["kind", "key", "params", "body", "computed", "generator", "async"], + visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"], + fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), { + kind: Object.assign({ + validate: (0, _utils.assertOneOf)("method", "get", "set") + }, !process.env.BABEL_TYPES_8_BREAKING ? { + default: "method" + } : {}), + computed: { + default: false + }, + key: { + validate: function() { + const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"); + const computed = (0, _utils.assertNodeType)("Expression"); + const validator = function(node, key, val) { + const validator2 = node.computed ? computed : normal; + validator2(node, key, val); + }; + validator.oneOfNodeTypes = ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"]; + return validator; + }() + }, + decorators: { + validate: (0, _utils.arrayOfType)("Decorator"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + }), + aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"] + }); + defineType("ObjectProperty", { + builder: ["key", "value", "computed", "shorthand", ...!process.env.BABEL_TYPES_8_BREAKING ? ["decorators"] : []], + fields: { + computed: { + default: false + }, + key: { + validate: function() { + const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"); + const computed = (0, _utils.assertNodeType)("Expression"); + const validator = Object.assign(function(node, key, val) { + const validator2 = node.computed ? computed : normal; + validator2(node, key, val); + }, { + oneOfNodeTypes: ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"] + }); + return validator; + }() + }, + value: { + validate: (0, _utils.assertNodeType)("Expression", "PatternLike") + }, + shorthand: { + validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)("boolean"), Object.assign(function(node, key, shorthand) { + if (!shorthand) return; + if (node.computed) { + throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true"); + } + if (!(0, _is.default)("Identifier", node.key)) { + throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier"); + } + }, { + type: "boolean" + })) : (0, _utils.assertValueType)("boolean"), + default: false + }, + decorators: { + validate: (0, _utils.arrayOfType)("Decorator"), + optional: true + } + }, + visitor: ["key", "value", "decorators"], + aliases: ["UserWhitespacable", "Property", "ObjectMember"], + validate: !process.env.BABEL_TYPES_8_BREAKING ? void 0 : function() { + const pattern = (0, _utils.assertNodeType)("Identifier", "Pattern", "TSAsExpression", "TSSatisfiesExpression", "TSNonNullExpression", "TSTypeAssertion"); + const expression = (0, _utils.assertNodeType)("Expression"); + return function(parent, key, node) { + const validator = (0, _is.default)("ObjectPattern", parent) ? pattern : expression; + validator(node, "value", node.value); + }; + }() + }); + defineType("RestElement", { + visitor: ["argument", "typeAnnotation"], + builder: ["argument"], + aliases: ["LVal", "PatternLike"], + deprecatedAlias: "RestProperty", + fields: Object.assign({}, patternLikeCommon(), { + argument: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal") : (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") + } + }), + validate: process.env.BABEL_TYPES_8_BREAKING ? function(parent, key) { + const match = /(\w+)\[(\d+)\]/.exec(key); + if (!match) throw new Error("Internal Babel error: malformed key."); + const [, listKey, index2] = match; + if (parent[listKey].length > +index2 + 1) { + throw new TypeError(`RestElement must be last element of ${listKey}`); + } + } : void 0 + }); + defineType("ReturnStatement", { + visitor: ["argument"], + aliases: ["Statement", "Terminatorless", "CompletionStatement"], + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + } + } + }); + defineType("SequenceExpression", { + visitor: ["expressions"], + fields: { + expressions: (0, _utils.validateArrayOfType)("Expression") + }, + aliases: ["Expression"] + }); + defineType("ParenthesizedExpression", { + visitor: ["expression"], + aliases: ["Expression", "ExpressionWrapper"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("SwitchCase", { + visitor: ["test", "consequent"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + consequent: (0, _utils.validateArrayOfType)("Statement") + } + }); + defineType("SwitchStatement", { + visitor: ["discriminant", "cases"], + aliases: ["Statement", "BlockParent", "Scopable"], + fields: { + discriminant: { + validate: (0, _utils.assertNodeType)("Expression") + }, + cases: (0, _utils.validateArrayOfType)("SwitchCase") + } + }); + defineType("ThisExpression", { + aliases: ["Expression"] + }); + defineType("ThrowStatement", { + visitor: ["argument"], + aliases: ["Statement", "Terminatorless", "CompletionStatement"], + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("TryStatement", { + visitor: ["block", "handler", "finalizer"], + aliases: ["Statement"], + fields: { + block: { + validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)("BlockStatement"), Object.assign(function(node) { + if (!node.handler && !node.finalizer) { + throw new TypeError("TryStatement expects either a handler or finalizer, or both"); + } + }, { + oneOfNodeTypes: ["BlockStatement"] + })) : (0, _utils.assertNodeType)("BlockStatement") + }, + handler: { + optional: true, + validate: (0, _utils.assertNodeType)("CatchClause") + }, + finalizer: { + optional: true, + validate: (0, _utils.assertNodeType)("BlockStatement") + } + } + }); + defineType("UnaryExpression", { + builder: ["operator", "argument", "prefix"], + fields: { + prefix: { + default: true + }, + argument: { + validate: (0, _utils.assertNodeType)("Expression") + }, + operator: { + validate: (0, _utils.assertOneOf)(..._index.UNARY_OPERATORS) + } + }, + visitor: ["argument"], + aliases: ["UnaryLike", "Expression"] + }); + defineType("UpdateExpression", { + builder: ["operator", "argument", "prefix"], + fields: { + prefix: { + default: false + }, + argument: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("Expression") : (0, _utils.assertNodeType)("Identifier", "MemberExpression") + }, + operator: { + validate: (0, _utils.assertOneOf)(..._index.UPDATE_OPERATORS) + } + }, + visitor: ["argument"], + aliases: ["Expression"] + }); + defineType("VariableDeclaration", { + builder: ["kind", "declarations"], + visitor: ["declarations"], + aliases: ["Statement", "Declaration"], + fields: { + declare: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + kind: { + validate: (0, _utils.assertOneOf)("var", "let", "const", "using", "await using") + }, + declarations: (0, _utils.validateArrayOfType)("VariableDeclarator") + }, + validate: process.env.BABEL_TYPES_8_BREAKING ? (() => { + const withoutInit = (0, _utils.assertNodeType)("Identifier"); + return function(parent, key, node) { + if ((0, _is.default)("ForXStatement", parent, { + left: node + })) { + if (node.declarations.length !== 1) { + throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${parent.type}`); + } + } else { + node.declarations.forEach((decl) => { + if (!decl.init) withoutInit(decl, "id", decl.id); + }); + } + }; + })() : void 0 + }); + defineType("VariableDeclarator", { + visitor: ["id", "init"], + fields: { + id: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal") : (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern") + }, + definite: { + optional: true, + validate: (0, _utils.assertValueType)("boolean") + }, + init: { + optional: true, + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("WhileStatement", { + visitor: ["test", "body"], + aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + } + }); + defineType("WithStatement", { + visitor: ["object", "body"], + aliases: ["Statement"], + fields: { + object: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + } + }); + defineType("AssignmentPattern", { + visitor: ["left", "right", "decorators"], + builder: ["left", "right"], + aliases: ["Pattern", "PatternLike", "LVal"], + fields: Object.assign({}, patternLikeCommon(), { + left: { + validate: (0, _utils.assertNodeType)("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + }, + decorators: { + validate: (0, _utils.arrayOfType)("Decorator"), + optional: true + } + }) + }); + defineType("ArrayPattern", { + visitor: ["elements", "typeAnnotation"], + builder: ["elements"], + aliases: ["Pattern", "PatternLike", "LVal"], + fields: Object.assign({}, patternLikeCommon(), { + elements: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)("null", "PatternLike", "LVal"))) + } + }) + }); + defineType("ArrowFunctionExpression", { + builder: ["params", "body", "async"], + visitor: ["typeParameters", "params", "returnType", "body"], + aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], + fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), { + expression: { + validate: (0, _utils.assertValueType)("boolean") + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement", "Expression") + }, + predicate: { + validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"), + optional: true + } + }) + }); + defineType("ClassBody", { + visitor: ["body"], + fields: { + body: (0, _utils.validateArrayOfType)("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "ClassAccessorProperty", "TSDeclareMethod", "TSIndexSignature", "StaticBlock") + } + }); + defineType("ClassExpression", { + builder: ["id", "superClass", "body", "decorators"], + visitor: ["decorators", "id", "typeParameters", "superClass", "superTypeParameters", "mixins", "implements", "body"], + aliases: ["Scopable", "Class", "Expression"], + fields: { + id: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("ClassBody") + }, + superClass: { + optional: true, + validate: (0, _utils.assertNodeType)("Expression") + }, + superTypeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), + optional: true + }, + implements: { + validate: (0, _utils.arrayOfType)("TSExpressionWithTypeArguments", "ClassImplements"), + optional: true + }, + decorators: { + validate: (0, _utils.arrayOfType)("Decorator"), + optional: true + }, + mixins: { + validate: (0, _utils.assertNodeType)("InterfaceExtends"), + optional: true + } + } + }); + defineType("ClassDeclaration", { + inherits: "ClassExpression", + aliases: ["Scopable", "Class", "Statement", "Declaration"], + fields: { + id: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("ClassBody") + }, + superClass: { + optional: true, + validate: (0, _utils.assertNodeType)("Expression") + }, + superTypeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), + optional: true + }, + implements: { + validate: (0, _utils.arrayOfType)("TSExpressionWithTypeArguments", "ClassImplements"), + optional: true + }, + decorators: { + validate: (0, _utils.arrayOfType)("Decorator"), + optional: true + }, + mixins: { + validate: (0, _utils.assertNodeType)("InterfaceExtends"), + optional: true + }, + declare: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + abstract: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + } + }, + validate: !process.env.BABEL_TYPES_8_BREAKING ? void 0 : function() { + const identifier = (0, _utils.assertNodeType)("Identifier"); + return function(parent, key, node) { + if (!(0, _is.default)("ExportDefaultDeclaration", parent)) { + identifier(node, "id", node.id); + } + }; + }() + }); + var importAttributes = exports.importAttributes = { + attributes: { + optional: true, + validate: (0, _utils.arrayOfType)("ImportAttribute") + }, + assertions: { + deprecated: true, + optional: true, + validate: (0, _utils.arrayOfType)("ImportAttribute") + } + }; + defineType("ExportAllDeclaration", { + builder: ["source"], + visitor: ["source", "attributes", "assertions"], + aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"], + fields: Object.assign({ + source: { + validate: (0, _utils.assertNodeType)("StringLiteral") + }, + exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) + }, importAttributes) + }); + defineType("ExportDefaultDeclaration", { + visitor: ["declaration"], + aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"], + fields: { + declaration: (0, _utils.validateType)("TSDeclareFunction", "FunctionDeclaration", "ClassDeclaration", "Expression"), + exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("value")) + } + }); + defineType("ExportNamedDeclaration", { + builder: ["declaration", "specifiers", "source"], + visitor: process.env ? ["declaration", "specifiers", "source", "attributes"] : ["declaration", "specifiers", "source", "attributes", "assertions"], + aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"], + fields: Object.assign({ + declaration: { + optional: true, + validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)("Declaration"), Object.assign(function(node, key, val) { + if (val && node.specifiers.length) { + throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration"); + } + if (val && node.source) { + throw new TypeError("Cannot export a declaration from a source"); + } + }, { + oneOfNodeTypes: ["Declaration"] + })) : (0, _utils.assertNodeType)("Declaration") + } + }, importAttributes, { + specifiers: { + default: [], + validate: (0, _utils.arrayOf)(function() { + const sourced = (0, _utils.assertNodeType)("ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"); + const sourceless = (0, _utils.assertNodeType)("ExportSpecifier"); + if (!process.env.BABEL_TYPES_8_BREAKING) return sourced; + return Object.assign(function(node, key, val) { + const validator = node.source ? sourced : sourceless; + validator(node, key, val); + }, { + oneOfNodeTypes: ["ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"] + }); + }()) + }, + source: { + validate: (0, _utils.assertNodeType)("StringLiteral"), + optional: true + }, + exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) + }) + }); + defineType("ExportSpecifier", { + visitor: ["local", "exported"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + exported: { + validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral") + }, + exportKind: { + validate: (0, _utils.assertOneOf)("type", "value"), + optional: true + } + } + }); + defineType("ForOfStatement", { + visitor: ["left", "right", "body"], + builder: ["left", "right", "body", "await"], + aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], + fields: { + left: { + validate: function() { + if (!process.env.BABEL_TYPES_8_BREAKING) { + return (0, _utils.assertNodeType)("VariableDeclaration", "LVal"); + } + const declaration = (0, _utils.assertNodeType)("VariableDeclaration"); + const lval = (0, _utils.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression"); + return Object.assign(function(node, key, val) { + if ((0, _is.default)("VariableDeclaration", val)) { + declaration(node, key, val); + } else { + lval(node, key, val); + } + }, { + oneOfNodeTypes: ["VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression"] + }); + }() + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + }, + await: { + default: false + } + } + }); + defineType("ImportDeclaration", { + builder: ["specifiers", "source"], + visitor: ["specifiers", "source", "attributes", "assertions"], + aliases: ["Statement", "Declaration", "ImportOrExportDeclaration"], + fields: Object.assign({}, importAttributes, { + module: { + optional: true, + validate: (0, _utils.assertValueType)("boolean") + }, + phase: { + default: null, + validate: (0, _utils.assertOneOf)("source", "defer") + }, + specifiers: (0, _utils.validateArrayOfType)("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier"), + source: { + validate: (0, _utils.assertNodeType)("StringLiteral") + }, + importKind: { + validate: (0, _utils.assertOneOf)("type", "typeof", "value"), + optional: true + } + }) + }); + defineType("ImportDefaultSpecifier", { + visitor: ["local"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } + }); + defineType("ImportNamespaceSpecifier", { + visitor: ["local"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } + }); + defineType("ImportSpecifier", { + visitor: ["imported", "local"], + builder: ["local", "imported"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + imported: { + validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral") + }, + importKind: { + validate: (0, _utils.assertOneOf)("type", "typeof", "value"), + optional: true + } + } + }); + defineType("ImportExpression", { + visitor: ["source", "options"], + aliases: ["Expression"], + fields: { + phase: { + default: null, + validate: (0, _utils.assertOneOf)("source", "defer") + }, + source: { + validate: (0, _utils.assertNodeType)("Expression") + }, + options: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + } + } + }); + defineType("MetaProperty", { + visitor: ["meta", "property"], + aliases: ["Expression"], + fields: { + meta: { + validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)("Identifier"), Object.assign(function(node, key, val) { + let property; + switch (val.name) { + case "function": + property = "sent"; + break; + case "new": + property = "target"; + break; + case "import": + property = "meta"; + break; + } + if (!(0, _is.default)("Identifier", node.property, { + name: property + })) { + throw new TypeError("Unrecognised MetaProperty"); + } + }, { + oneOfNodeTypes: ["Identifier"] + })) : (0, _utils.assertNodeType)("Identifier") + }, + property: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } + }); + var classMethodOrPropertyCommon = () => ({ + abstract: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + accessibility: { + validate: (0, _utils.assertOneOf)("public", "private", "protected"), + optional: true + }, + static: { + default: false + }, + override: { + default: false + }, + computed: { + default: false + }, + optional: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + key: { + validate: (0, _utils.chain)(function() { + const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"); + const computed = (0, _utils.assertNodeType)("Expression"); + return function(node, key, val) { + const validator = node.computed ? computed : normal; + validator(node, key, val); + }; + }(), (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression")) + } + }); + exports.classMethodOrPropertyCommon = classMethodOrPropertyCommon; + var classMethodOrDeclareMethodCommon = () => Object.assign({}, functionCommon(), classMethodOrPropertyCommon(), { + params: (0, _utils.validateArrayOfType)("Identifier", "Pattern", "RestElement", "TSParameterProperty"), + kind: { + validate: (0, _utils.assertOneOf)("get", "set", "method", "constructor"), + default: "method" + }, + access: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("public", "private", "protected")), + optional: true + }, + decorators: { + validate: (0, _utils.arrayOfType)("Decorator"), + optional: true + } + }); + exports.classMethodOrDeclareMethodCommon = classMethodOrDeclareMethodCommon; + defineType("ClassMethod", { + aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"], + builder: ["kind", "key", "params", "body", "computed", "static", "generator", "async"], + visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"], + fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), { + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + }) + }); + defineType("ObjectPattern", { + visitor: ["properties", "typeAnnotation", "decorators"], + builder: ["properties"], + aliases: ["Pattern", "PatternLike", "LVal"], + fields: Object.assign({}, patternLikeCommon(), { + properties: (0, _utils.validateArrayOfType)("RestElement", "ObjectProperty") + }) + }); + defineType("SpreadElement", { + visitor: ["argument"], + aliases: ["UnaryLike"], + deprecatedAlias: "SpreadProperty", + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("Super", { + aliases: ["Expression"] + }); + defineType("TaggedTemplateExpression", { + visitor: ["tag", "typeParameters", "quasi"], + builder: ["tag", "quasi"], + aliases: ["Expression"], + fields: { + tag: { + validate: (0, _utils.assertNodeType)("Expression") + }, + quasi: { + validate: (0, _utils.assertNodeType)("TemplateLiteral") + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), + optional: true + } + } + }); + defineType("TemplateElement", { + builder: ["value", "tail"], + fields: { + value: { + validate: (0, _utils.chain)((0, _utils.assertShape)({ + raw: { + validate: (0, _utils.assertValueType)("string") + }, + cooked: { + validate: (0, _utils.assertValueType)("string"), + optional: true + } + }), function templateElementCookedValidator(node) { + const raw = node.value.raw; + let unterminatedCalled = false; + const error = () => { + throw new Error("Internal @babel/types error."); + }; + const { + str, + firstInvalidLoc + } = (0, _helperStringParser.readStringContents)("template", raw, 0, 0, 0, { + unterminated() { + unterminatedCalled = true; + }, + strictNumericEscape: error, + invalidEscapeSequence: error, + numericSeparatorInEscapeSequence: error, + unexpectedNumericSeparator: error, + invalidDigit: error, + invalidCodePoint: error + }); + if (!unterminatedCalled) throw new Error("Invalid raw"); + node.value.cooked = firstInvalidLoc ? null : str; + }) + }, + tail: { + default: false + } + } + }); + defineType("TemplateLiteral", { + visitor: ["quasis", "expressions"], + aliases: ["Expression", "Literal"], + fields: { + quasis: (0, _utils.validateArrayOfType)("TemplateElement"), + expressions: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "TSType")), function(node, key, val) { + if (node.quasis.length !== val.length + 1) { + throw new TypeError(`Number of ${node.type} quasis should be exactly one more than the number of expressions. +Expected ${val.length + 1} quasis but got ${node.quasis.length}`); + } + }) + } + } + }); + defineType("YieldExpression", { + builder: ["argument", "delegate"], + visitor: ["argument"], + aliases: ["Expression", "Terminatorless"], + fields: { + delegate: { + validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)("boolean"), Object.assign(function(node, key, val) { + if (val && !node.argument) { + throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument"); + } + }, { + type: "boolean" + })) : (0, _utils.assertValueType)("boolean"), + default: false + }, + argument: { + optional: true, + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("AwaitExpression", { + builder: ["argument"], + visitor: ["argument"], + aliases: ["Expression", "Terminatorless"], + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("Import", { + aliases: ["Expression"] + }); + defineType("BigIntLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] + }); + defineType("ExportNamespaceSpecifier", { + visitor: ["exported"], + aliases: ["ModuleSpecifier"], + fields: { + exported: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } + }); + defineType("OptionalMemberExpression", { + builder: ["object", "property", "computed", "optional"], + visitor: ["object", "property"], + aliases: ["Expression"], + fields: { + object: { + validate: (0, _utils.assertNodeType)("Expression") + }, + property: { + validate: function() { + const normal = (0, _utils.assertNodeType)("Identifier"); + const computed = (0, _utils.assertNodeType)("Expression"); + const validator = Object.assign(function(node, key, val) { + const validator2 = node.computed ? computed : normal; + validator2(node, key, val); + }, { + oneOfNodeTypes: ["Expression", "Identifier"] + }); + return validator; + }() + }, + computed: { + default: false + }, + optional: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("boolean") : (0, _utils.chain)((0, _utils.assertValueType)("boolean"), (0, _utils.assertOptionalChainStart)()) + } + } + }); + defineType("OptionalCallExpression", { + visitor: ["callee", "arguments", "typeParameters", "typeArguments"], + builder: ["callee", "arguments", "optional"], + aliases: ["Expression"], + fields: { + callee: { + validate: (0, _utils.assertNodeType)("Expression") + }, + arguments: (0, _utils.validateArrayOfType)("Expression", "SpreadElement", "ArgumentPlaceholder"), + optional: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("boolean") : (0, _utils.chain)((0, _utils.assertValueType)("boolean"), (0, _utils.assertOptionalChainStart)()) + }, + typeArguments: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), + optional: true + } + } + }); + defineType("ClassProperty", { + visitor: ["decorators", "key", "typeAnnotation", "value"], + builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"], + aliases: ["Property"], + fields: Object.assign({}, classMethodOrPropertyCommon(), { + value: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + definite: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + typeAnnotation: { + validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), + optional: true + }, + decorators: { + validate: (0, _utils.arrayOfType)("Decorator"), + optional: true + }, + readonly: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + declare: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + variance: { + validate: (0, _utils.assertNodeType)("Variance"), + optional: true + } + }) + }); + defineType("ClassAccessorProperty", { + visitor: ["decorators", "key", "typeAnnotation", "value"], + builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"], + aliases: ["Property", "Accessor"], + fields: Object.assign({}, classMethodOrPropertyCommon(), { + key: { + validate: (0, _utils.chain)(function() { + const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "PrivateName"); + const computed = (0, _utils.assertNodeType)("Expression"); + return function(node, key, val) { + const validator = node.computed ? computed : normal; + validator(node, key, val); + }; + }(), (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression", "PrivateName")) + }, + value: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + definite: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + typeAnnotation: { + validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), + optional: true + }, + decorators: { + validate: (0, _utils.arrayOfType)("Decorator"), + optional: true + }, + readonly: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + declare: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + variance: { + validate: (0, _utils.assertNodeType)("Variance"), + optional: true + } + }) + }); + defineType("ClassPrivateProperty", { + visitor: ["decorators", "key", "typeAnnotation", "value"], + builder: ["key", "value", "decorators", "static"], + aliases: ["Property", "Private"], + fields: { + key: { + validate: (0, _utils.assertNodeType)("PrivateName") + }, + value: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + typeAnnotation: { + validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), + optional: true + }, + decorators: { + validate: (0, _utils.arrayOfType)("Decorator"), + optional: true + }, + static: { + validate: (0, _utils.assertValueType)("boolean"), + default: false + }, + readonly: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + definite: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + variance: { + validate: (0, _utils.assertNodeType)("Variance"), + optional: true + } + } + }); + defineType("ClassPrivateMethod", { + builder: ["kind", "key", "params", "body", "static"], + visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"], + aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"], + fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), { + kind: { + validate: (0, _utils.assertOneOf)("get", "set", "method"), + default: "method" + }, + key: { + validate: (0, _utils.assertNodeType)("PrivateName") + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + }) + }); + defineType("PrivateName", { + visitor: ["id"], + aliases: ["Private"], + fields: { + id: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } + }); + defineType("StaticBlock", { + visitor: ["body"], + fields: { + body: (0, _utils.validateArrayOfType)("Statement") + }, + aliases: ["Scopable", "BlockParent", "FunctionParent"] + }); + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/flow.js +var require_flow = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/flow.js"() { + "use strict"; + var _core = require_core(); + var _utils = require_utils(); + var defineType = (0, _utils.defineAliasedType)("Flow"); + var defineInterfaceishType = (name) => { + const isDeclareClass = name === "DeclareClass"; + defineType(name, { + builder: ["id", "typeParameters", "extends", "body"], + visitor: ["id", "typeParameters", "extends", ...isDeclareClass ? ["mixins", "implements"] : [], "body"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: Object.assign({ + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")) + }, isDeclareClass ? { + mixins: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), + implements: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ClassImplements")) + } : {}, { + body: (0, _utils.validateType)("ObjectTypeAnnotation") + }) + }); + }; + defineType("AnyTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("ArrayTypeAnnotation", { + visitor: ["elementType"], + aliases: ["FlowType"], + fields: { + elementType: (0, _utils.validateType)("FlowType") + } + }); + defineType("BooleanTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("BooleanLiteralTypeAnnotation", { + builder: ["value"], + aliases: ["FlowType"], + fields: { + value: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("NullLiteralTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("ClassImplements", { + visitor: ["id", "typeParameters"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") + } + }); + defineInterfaceishType("DeclareClass"); + defineType("DeclareFunction", { + visitor: ["id"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + predicate: (0, _utils.validateOptionalType)("DeclaredPredicate") + } + }); + defineInterfaceishType("DeclareInterface"); + defineType("DeclareModule", { + builder: ["id", "body", "kind"], + visitor: ["id", "body"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier", "StringLiteral"), + body: (0, _utils.validateType)("BlockStatement"), + kind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("CommonJS", "ES")) + } + }); + defineType("DeclareModuleExports", { + visitor: ["typeAnnotation"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + typeAnnotation: (0, _utils.validateType)("TypeAnnotation") + } + }); + defineType("DeclareTypeAlias", { + visitor: ["id", "typeParameters", "right"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + right: (0, _utils.validateType)("FlowType") + } + }); + defineType("DeclareOpaqueType", { + visitor: ["id", "typeParameters", "supertype"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + supertype: (0, _utils.validateOptionalType)("FlowType"), + impltype: (0, _utils.validateOptionalType)("FlowType") + } + }); + defineType("DeclareVariable", { + visitor: ["id"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier") + } + }); + defineType("DeclareExportDeclaration", { + visitor: ["declaration", "specifiers", "source", "attributes"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: Object.assign({ + declaration: (0, _utils.validateOptionalType)("Flow"), + specifiers: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ExportSpecifier", "ExportNamespaceSpecifier")), + source: (0, _utils.validateOptionalType)("StringLiteral"), + default: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) + }, _core.importAttributes) + }); + defineType("DeclareExportAllDeclaration", { + visitor: ["source", "attributes"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: Object.assign({ + source: (0, _utils.validateType)("StringLiteral"), + exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) + }, _core.importAttributes) + }); + defineType("DeclaredPredicate", { + visitor: ["value"], + aliases: ["FlowPredicate"], + fields: { + value: (0, _utils.validateType)("Flow") + } + }); + defineType("ExistsTypeAnnotation", { + aliases: ["FlowType"] + }); + defineType("FunctionTypeAnnotation", { + visitor: ["typeParameters", "params", "rest", "returnType"], + aliases: ["FlowType"], + fields: { + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + params: (0, _utils.validateArrayOfType)("FunctionTypeParam"), + rest: (0, _utils.validateOptionalType)("FunctionTypeParam"), + this: (0, _utils.validateOptionalType)("FunctionTypeParam"), + returnType: (0, _utils.validateType)("FlowType") + } + }); + defineType("FunctionTypeParam", { + visitor: ["name", "typeAnnotation"], + fields: { + name: (0, _utils.validateOptionalType)("Identifier"), + typeAnnotation: (0, _utils.validateType)("FlowType"), + optional: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("GenericTypeAnnotation", { + visitor: ["id", "typeParameters"], + aliases: ["FlowType"], + fields: { + id: (0, _utils.validateType)("Identifier", "QualifiedTypeIdentifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") + } + }); + defineType("InferredPredicate", { + aliases: ["FlowPredicate"] + }); + defineType("InterfaceExtends", { + visitor: ["id", "typeParameters"], + fields: { + id: (0, _utils.validateType)("Identifier", "QualifiedTypeIdentifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") + } + }); + defineInterfaceishType("InterfaceDeclaration"); + defineType("InterfaceTypeAnnotation", { + visitor: ["extends", "body"], + aliases: ["FlowType"], + fields: { + extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), + body: (0, _utils.validateType)("ObjectTypeAnnotation") + } + }); + defineType("IntersectionTypeAnnotation", { + visitor: ["types"], + aliases: ["FlowType"], + fields: { + types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) + } + }); + defineType("MixedTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("EmptyTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("NullableTypeAnnotation", { + visitor: ["typeAnnotation"], + aliases: ["FlowType"], + fields: { + typeAnnotation: (0, _utils.validateType)("FlowType") + } + }); + defineType("NumberLiteralTypeAnnotation", { + builder: ["value"], + aliases: ["FlowType"], + fields: { + value: (0, _utils.validate)((0, _utils.assertValueType)("number")) + } + }); + defineType("NumberTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("ObjectTypeAnnotation", { + visitor: ["properties", "indexers", "callProperties", "internalSlots"], + aliases: ["FlowType"], + builder: ["properties", "indexers", "callProperties", "internalSlots", "exact"], + fields: { + properties: (0, _utils.validate)((0, _utils.arrayOfType)("ObjectTypeProperty", "ObjectTypeSpreadProperty")), + indexers: { + validate: (0, _utils.arrayOfType)("ObjectTypeIndexer"), + optional: true, + default: [] + }, + callProperties: { + validate: (0, _utils.arrayOfType)("ObjectTypeCallProperty"), + optional: true, + default: [] + }, + internalSlots: { + validate: (0, _utils.arrayOfType)("ObjectTypeInternalSlot"), + optional: true, + default: [] + }, + exact: { + validate: (0, _utils.assertValueType)("boolean"), + default: false + }, + inexact: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("ObjectTypeInternalSlot", { + visitor: ["id", "value"], + builder: ["id", "value", "optional", "static", "method"], + aliases: ["UserWhitespacable"], + fields: { + id: (0, _utils.validateType)("Identifier"), + value: (0, _utils.validateType)("FlowType"), + optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + method: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("ObjectTypeCallProperty", { + visitor: ["value"], + aliases: ["UserWhitespacable"], + fields: { + value: (0, _utils.validateType)("FlowType"), + static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("ObjectTypeIndexer", { + visitor: ["variance", "id", "key", "value"], + builder: ["id", "key", "value", "variance"], + aliases: ["UserWhitespacable"], + fields: { + id: (0, _utils.validateOptionalType)("Identifier"), + key: (0, _utils.validateType)("FlowType"), + value: (0, _utils.validateType)("FlowType"), + static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + variance: (0, _utils.validateOptionalType)("Variance") + } + }); + defineType("ObjectTypeProperty", { + visitor: ["key", "value", "variance"], + aliases: ["UserWhitespacable"], + fields: { + key: (0, _utils.validateType)("Identifier", "StringLiteral"), + value: (0, _utils.validateType)("FlowType"), + kind: (0, _utils.validate)((0, _utils.assertOneOf)("init", "get", "set")), + static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + proto: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + variance: (0, _utils.validateOptionalType)("Variance"), + method: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("ObjectTypeSpreadProperty", { + visitor: ["argument"], + aliases: ["UserWhitespacable"], + fields: { + argument: (0, _utils.validateType)("FlowType") + } + }); + defineType("OpaqueType", { + visitor: ["id", "typeParameters", "supertype", "impltype"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + supertype: (0, _utils.validateOptionalType)("FlowType"), + impltype: (0, _utils.validateType)("FlowType") + } + }); + defineType("QualifiedTypeIdentifier", { + visitor: ["qualification", "id"], + builder: ["id", "qualification"], + fields: { + id: (0, _utils.validateType)("Identifier"), + qualification: (0, _utils.validateType)("Identifier", "QualifiedTypeIdentifier") + } + }); + defineType("StringLiteralTypeAnnotation", { + builder: ["value"], + aliases: ["FlowType"], + fields: { + value: (0, _utils.validate)((0, _utils.assertValueType)("string")) + } + }); + defineType("StringTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("SymbolTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("ThisTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("TupleTypeAnnotation", { + visitor: ["types"], + aliases: ["FlowType"], + fields: { + types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) + } + }); + defineType("TypeofTypeAnnotation", { + visitor: ["argument"], + aliases: ["FlowType"], + fields: { + argument: (0, _utils.validateType)("FlowType") + } + }); + defineType("TypeAlias", { + visitor: ["id", "typeParameters", "right"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + right: (0, _utils.validateType)("FlowType") + } + }); + defineType("TypeAnnotation", { + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: (0, _utils.validateType)("FlowType") + } + }); + defineType("TypeCastExpression", { + visitor: ["expression", "typeAnnotation"], + aliases: ["ExpressionWrapper", "Expression"], + fields: { + expression: (0, _utils.validateType)("Expression"), + typeAnnotation: (0, _utils.validateType)("TypeAnnotation") + } + }); + defineType("TypeParameter", { + visitor: ["bound", "default", "variance"], + fields: { + name: (0, _utils.validate)((0, _utils.assertValueType)("string")), + bound: (0, _utils.validateOptionalType)("TypeAnnotation"), + default: (0, _utils.validateOptionalType)("FlowType"), + variance: (0, _utils.validateOptionalType)("Variance") + } + }); + defineType("TypeParameterDeclaration", { + visitor: ["params"], + fields: { + params: (0, _utils.validate)((0, _utils.arrayOfType)("TypeParameter")) + } + }); + defineType("TypeParameterInstantiation", { + visitor: ["params"], + fields: { + params: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) + } + }); + defineType("UnionTypeAnnotation", { + visitor: ["types"], + aliases: ["FlowType"], + fields: { + types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) + } + }); + defineType("Variance", { + builder: ["kind"], + fields: { + kind: (0, _utils.validate)((0, _utils.assertOneOf)("minus", "plus")) + } + }); + defineType("VoidTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("EnumDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "body"], + fields: { + id: (0, _utils.validateType)("Identifier"), + body: (0, _utils.validateType)("EnumBooleanBody", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody") + } + }); + defineType("EnumBooleanBody", { + aliases: ["EnumBody"], + visitor: ["members"], + fields: { + explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + members: (0, _utils.validateArrayOfType)("EnumBooleanMember"), + hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("EnumNumberBody", { + aliases: ["EnumBody"], + visitor: ["members"], + fields: { + explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + members: (0, _utils.validateArrayOfType)("EnumNumberMember"), + hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("EnumStringBody", { + aliases: ["EnumBody"], + visitor: ["members"], + fields: { + explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + members: (0, _utils.validateArrayOfType)("EnumStringMember", "EnumDefaultedMember"), + hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("EnumSymbolBody", { + aliases: ["EnumBody"], + visitor: ["members"], + fields: { + members: (0, _utils.validateArrayOfType)("EnumDefaultedMember"), + hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("EnumBooleanMember", { + aliases: ["EnumMember"], + visitor: ["id"], + fields: { + id: (0, _utils.validateType)("Identifier"), + init: (0, _utils.validateType)("BooleanLiteral") + } + }); + defineType("EnumNumberMember", { + aliases: ["EnumMember"], + visitor: ["id", "init"], + fields: { + id: (0, _utils.validateType)("Identifier"), + init: (0, _utils.validateType)("NumericLiteral") + } + }); + defineType("EnumStringMember", { + aliases: ["EnumMember"], + visitor: ["id", "init"], + fields: { + id: (0, _utils.validateType)("Identifier"), + init: (0, _utils.validateType)("StringLiteral") + } + }); + defineType("EnumDefaultedMember", { + aliases: ["EnumMember"], + visitor: ["id"], + fields: { + id: (0, _utils.validateType)("Identifier") + } + }); + defineType("IndexedAccessType", { + visitor: ["objectType", "indexType"], + aliases: ["FlowType"], + fields: { + objectType: (0, _utils.validateType)("FlowType"), + indexType: (0, _utils.validateType)("FlowType") + } + }); + defineType("OptionalIndexedAccessType", { + visitor: ["objectType", "indexType"], + aliases: ["FlowType"], + fields: { + objectType: (0, _utils.validateType)("FlowType"), + indexType: (0, _utils.validateType)("FlowType"), + optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/jsx.js +var require_jsx = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/jsx.js"() { + "use strict"; + var _utils = require_utils(); + var defineType = (0, _utils.defineAliasedType)("JSX"); + defineType("JSXAttribute", { + visitor: ["name", "value"], + aliases: ["Immutable"], + fields: { + name: { + validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXNamespacedName") + }, + value: { + optional: true, + validate: (0, _utils.assertNodeType)("JSXElement", "JSXFragment", "StringLiteral", "JSXExpressionContainer") + } + } + }); + defineType("JSXClosingElement", { + visitor: ["name"], + aliases: ["Immutable"], + fields: { + name: { + validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") + } + } + }); + defineType("JSXElement", { + builder: ["openingElement", "closingElement", "children", "selfClosing"], + visitor: ["openingElement", "children", "closingElement"], + aliases: ["Immutable", "Expression"], + fields: Object.assign({ + openingElement: { + validate: (0, _utils.assertNodeType)("JSXOpeningElement") + }, + closingElement: { + optional: true, + validate: (0, _utils.assertNodeType)("JSXClosingElement") + }, + children: (0, _utils.validateArrayOfType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment") + }, { + selfClosing: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + } + }) + }); + defineType("JSXEmptyExpression", {}); + defineType("JSXExpressionContainer", { + visitor: ["expression"], + aliases: ["Immutable"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression", "JSXEmptyExpression") + } + } + }); + defineType("JSXSpreadChild", { + visitor: ["expression"], + aliases: ["Immutable"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("JSXIdentifier", { + builder: ["name"], + fields: { + name: { + validate: (0, _utils.assertValueType)("string") + } + } + }); + defineType("JSXMemberExpression", { + visitor: ["object", "property"], + fields: { + object: { + validate: (0, _utils.assertNodeType)("JSXMemberExpression", "JSXIdentifier") + }, + property: { + validate: (0, _utils.assertNodeType)("JSXIdentifier") + } + } + }); + defineType("JSXNamespacedName", { + visitor: ["namespace", "name"], + fields: { + namespace: { + validate: (0, _utils.assertNodeType)("JSXIdentifier") + }, + name: { + validate: (0, _utils.assertNodeType)("JSXIdentifier") + } + } + }); + defineType("JSXOpeningElement", { + builder: ["name", "attributes", "selfClosing"], + visitor: ["name", "attributes"], + aliases: ["Immutable"], + fields: { + name: { + validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") + }, + selfClosing: { + default: false + }, + attributes: (0, _utils.validateArrayOfType)("JSXAttribute", "JSXSpreadAttribute"), + typeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), + optional: true + } + } + }); + defineType("JSXSpreadAttribute", { + visitor: ["argument"], + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("JSXText", { + aliases: ["Immutable"], + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + } + }); + defineType("JSXFragment", { + builder: ["openingFragment", "closingFragment", "children"], + visitor: ["openingFragment", "children", "closingFragment"], + aliases: ["Immutable", "Expression"], + fields: { + openingFragment: { + validate: (0, _utils.assertNodeType)("JSXOpeningFragment") + }, + closingFragment: { + validate: (0, _utils.assertNodeType)("JSXClosingFragment") + }, + children: (0, _utils.validateArrayOfType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment") + } + }); + defineType("JSXOpeningFragment", { + aliases: ["Immutable"] + }); + defineType("JSXClosingFragment", { + aliases: ["Immutable"] + }); + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/placeholders.js +var require_placeholders = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/placeholders.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.PLACEHOLDERS_FLIPPED_ALIAS = exports.PLACEHOLDERS_ALIAS = exports.PLACEHOLDERS = void 0; + var _utils = require_utils(); + var PLACEHOLDERS = exports.PLACEHOLDERS = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "ClassBody", "Pattern"]; + var PLACEHOLDERS_ALIAS = exports.PLACEHOLDERS_ALIAS = { + Declaration: ["Statement"], + Pattern: ["PatternLike", "LVal"] + }; + for (const type of PLACEHOLDERS) { + const alias = _utils.ALIAS_KEYS[type]; + if (alias != null && alias.length) PLACEHOLDERS_ALIAS[type] = alias; + } + var PLACEHOLDERS_FLIPPED_ALIAS = exports.PLACEHOLDERS_FLIPPED_ALIAS = {}; + Object.keys(PLACEHOLDERS_ALIAS).forEach((type) => { + PLACEHOLDERS_ALIAS[type].forEach((alias) => { + if (!hasOwnProperty.call(PLACEHOLDERS_FLIPPED_ALIAS, alias)) { + PLACEHOLDERS_FLIPPED_ALIAS[alias] = []; + } + PLACEHOLDERS_FLIPPED_ALIAS[alias].push(type); + }); + }); + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/misc.js +var require_misc = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/misc.js"() { + "use strict"; + var _utils = require_utils(); + var _placeholders = require_placeholders(); + var _core = require_core(); + var defineType = (0, _utils.defineAliasedType)("Miscellaneous"); + { + defineType("Noop", { + visitor: [] + }); + } + defineType("Placeholder", { + visitor: [], + builder: ["expectedNode", "name"], + fields: Object.assign({ + name: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + expectedNode: { + validate: (0, _utils.assertOneOf)(..._placeholders.PLACEHOLDERS) + } + }, (0, _core.patternLikeCommon)()) + }); + defineType("V8IntrinsicIdentifier", { + builder: ["name"], + fields: { + name: { + validate: (0, _utils.assertValueType)("string") + } + } + }); + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/experimental.js +var require_experimental = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/experimental.js"() { + "use strict"; + var _utils = require_utils(); + (0, _utils.default)("ArgumentPlaceholder", {}); + (0, _utils.default)("BindExpression", { + visitor: ["object", "callee"], + aliases: ["Expression"], + fields: !process.env.BABEL_TYPES_8_BREAKING ? { + object: { + validate: Object.assign(() => { + }, { + oneOfNodeTypes: ["Expression"] + }) + }, + callee: { + validate: Object.assign(() => { + }, { + oneOfNodeTypes: ["Expression"] + }) + } + } : { + object: { + validate: (0, _utils.assertNodeType)("Expression") + }, + callee: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + (0, _utils.default)("ImportAttribute", { + visitor: ["key", "value"], + fields: { + key: { + validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral") + }, + value: { + validate: (0, _utils.assertNodeType)("StringLiteral") + } + } + }); + (0, _utils.default)("Decorator", { + visitor: ["expression"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + (0, _utils.default)("DoExpression", { + visitor: ["body"], + builder: ["body", "async"], + aliases: ["Expression"], + fields: { + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + }, + async: { + validate: (0, _utils.assertValueType)("boolean"), + default: false + } + } + }); + (0, _utils.default)("ExportDefaultSpecifier", { + visitor: ["exported"], + aliases: ["ModuleSpecifier"], + fields: { + exported: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } + }); + (0, _utils.default)("RecordExpression", { + visitor: ["properties"], + aliases: ["Expression"], + fields: { + properties: (0, _utils.validateArrayOfType)("ObjectProperty", "SpreadElement") + } + }); + (0, _utils.default)("TupleExpression", { + fields: { + elements: { + validate: (0, _utils.arrayOfType)("Expression", "SpreadElement"), + default: [] + } + }, + visitor: ["elements"], + aliases: ["Expression"] + }); + { + (0, _utils.default)("DecimalLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] + }); + } + (0, _utils.default)("ModuleExpression", { + visitor: ["body"], + fields: { + body: { + validate: (0, _utils.assertNodeType)("Program") + } + }, + aliases: ["Expression"] + }); + (0, _utils.default)("TopicReference", { + aliases: ["Expression"] + }); + (0, _utils.default)("PipelineTopicExpression", { + builder: ["expression"], + visitor: ["expression"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + aliases: ["Expression"] + }); + (0, _utils.default)("PipelineBareFunction", { + builder: ["callee"], + visitor: ["callee"], + fields: { + callee: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + aliases: ["Expression"] + }); + (0, _utils.default)("PipelinePrimaryTopicReference", { + aliases: ["Expression"] + }); + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/typescript.js +var require_typescript = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/typescript.js"() { + "use strict"; + var _utils = require_utils(); + var _core = require_core(); + var _is = require_is(); + var defineType = (0, _utils.defineAliasedType)("TypeScript"); + var bool = (0, _utils.assertValueType)("boolean"); + var tSFunctionTypeAnnotationCommon = () => ({ + returnType: { + validate: (0, _utils.assertNodeType)("TSTypeAnnotation", "Noop"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TSTypeParameterDeclaration", "Noop"), + optional: true + } + }); + defineType("TSParameterProperty", { + aliases: ["LVal"], + visitor: ["parameter"], + fields: { + accessibility: { + validate: (0, _utils.assertOneOf)("public", "private", "protected"), + optional: true + }, + readonly: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + parameter: { + validate: (0, _utils.assertNodeType)("Identifier", "AssignmentPattern") + }, + override: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + decorators: { + validate: (0, _utils.arrayOfType)("Decorator"), + optional: true + } + } + }); + defineType("TSDeclareFunction", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "typeParameters", "params", "returnType"], + fields: Object.assign({}, (0, _core.functionDeclarationCommon)(), tSFunctionTypeAnnotationCommon()) + }); + defineType("TSDeclareMethod", { + visitor: ["decorators", "key", "typeParameters", "params", "returnType"], + fields: Object.assign({}, (0, _core.classMethodOrDeclareMethodCommon)(), tSFunctionTypeAnnotationCommon()) + }); + defineType("TSQualifiedName", { + aliases: ["TSEntityName"], + visitor: ["left", "right"], + fields: { + left: (0, _utils.validateType)("TSEntityName"), + right: (0, _utils.validateType)("Identifier") + } + }); + var signatureDeclarationCommon = () => ({ + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), + ["parameters"]: (0, _utils.validateArrayOfType)("ArrayPattern", "Identifier", "ObjectPattern", "RestElement"), + ["typeAnnotation"]: (0, _utils.validateOptionalType)("TSTypeAnnotation") + }); + var callConstructSignatureDeclaration = { + aliases: ["TSTypeElement"], + visitor: ["typeParameters", "parameters", "typeAnnotation"], + fields: signatureDeclarationCommon() + }; + defineType("TSCallSignatureDeclaration", callConstructSignatureDeclaration); + defineType("TSConstructSignatureDeclaration", callConstructSignatureDeclaration); + var namedTypeElementCommon = () => ({ + key: (0, _utils.validateType)("Expression"), + computed: { + default: false + }, + optional: (0, _utils.validateOptional)(bool) + }); + defineType("TSPropertySignature", { + aliases: ["TSTypeElement"], + visitor: ["key", "typeAnnotation"], + fields: Object.assign({}, namedTypeElementCommon(), { + readonly: (0, _utils.validateOptional)(bool), + typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"), + kind: { + validate: (0, _utils.assertOneOf)("get", "set") + } + }) + }); + defineType("TSMethodSignature", { + aliases: ["TSTypeElement"], + visitor: ["key", "typeParameters", "parameters", "typeAnnotation"], + fields: Object.assign({}, signatureDeclarationCommon(), namedTypeElementCommon(), { + kind: { + validate: (0, _utils.assertOneOf)("method", "get", "set") + } + }) + }); + defineType("TSIndexSignature", { + aliases: ["TSTypeElement"], + visitor: ["parameters", "typeAnnotation"], + fields: { + readonly: (0, _utils.validateOptional)(bool), + static: (0, _utils.validateOptional)(bool), + parameters: (0, _utils.validateArrayOfType)("Identifier"), + typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation") + } + }); + var tsKeywordTypes = ["TSAnyKeyword", "TSBooleanKeyword", "TSBigIntKeyword", "TSIntrinsicKeyword", "TSNeverKeyword", "TSNullKeyword", "TSNumberKeyword", "TSObjectKeyword", "TSStringKeyword", "TSSymbolKeyword", "TSUndefinedKeyword", "TSUnknownKeyword", "TSVoidKeyword"]; + for (const type of tsKeywordTypes) { + defineType(type, { + aliases: ["TSType", "TSBaseType"], + visitor: [], + fields: {} + }); + } + defineType("TSThisType", { + aliases: ["TSType", "TSBaseType"], + visitor: [], + fields: {} + }); + var fnOrCtrBase = { + aliases: ["TSType"], + visitor: ["typeParameters", "parameters", "typeAnnotation"] + }; + defineType("TSFunctionType", Object.assign({}, fnOrCtrBase, { + fields: signatureDeclarationCommon() + })); + defineType("TSConstructorType", Object.assign({}, fnOrCtrBase, { + fields: Object.assign({}, signatureDeclarationCommon(), { + abstract: (0, _utils.validateOptional)(bool) + }) + })); + defineType("TSTypeReference", { + aliases: ["TSType"], + visitor: ["typeName", "typeParameters"], + fields: { + typeName: (0, _utils.validateType)("TSEntityName"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + } + }); + defineType("TSTypePredicate", { + aliases: ["TSType"], + visitor: ["parameterName", "typeAnnotation"], + builder: ["parameterName", "typeAnnotation", "asserts"], + fields: { + parameterName: (0, _utils.validateType)("Identifier", "TSThisType"), + typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"), + asserts: (0, _utils.validateOptional)(bool) + } + }); + defineType("TSTypeQuery", { + aliases: ["TSType"], + visitor: ["exprName", "typeParameters"], + fields: { + exprName: (0, _utils.validateType)("TSEntityName", "TSImportType"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + } + }); + defineType("TSTypeLiteral", { + aliases: ["TSType"], + visitor: ["members"], + fields: { + members: (0, _utils.validateArrayOfType)("TSTypeElement") + } + }); + defineType("TSArrayType", { + aliases: ["TSType"], + visitor: ["elementType"], + fields: { + elementType: (0, _utils.validateType)("TSType") + } + }); + defineType("TSTupleType", { + aliases: ["TSType"], + visitor: ["elementTypes"], + fields: { + elementTypes: (0, _utils.validateArrayOfType)("TSType", "TSNamedTupleMember") + } + }); + defineType("TSOptionalType", { + aliases: ["TSType"], + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: (0, _utils.validateType)("TSType") + } + }); + defineType("TSRestType", { + aliases: ["TSType"], + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: (0, _utils.validateType)("TSType") + } + }); + defineType("TSNamedTupleMember", { + visitor: ["label", "elementType"], + builder: ["label", "elementType", "optional"], + fields: { + label: (0, _utils.validateType)("Identifier"), + optional: { + validate: bool, + default: false + }, + elementType: (0, _utils.validateType)("TSType") + } + }); + var unionOrIntersection = { + aliases: ["TSType"], + visitor: ["types"], + fields: { + types: (0, _utils.validateArrayOfType)("TSType") + } + }; + defineType("TSUnionType", unionOrIntersection); + defineType("TSIntersectionType", unionOrIntersection); + defineType("TSConditionalType", { + aliases: ["TSType"], + visitor: ["checkType", "extendsType", "trueType", "falseType"], + fields: { + checkType: (0, _utils.validateType)("TSType"), + extendsType: (0, _utils.validateType)("TSType"), + trueType: (0, _utils.validateType)("TSType"), + falseType: (0, _utils.validateType)("TSType") + } + }); + defineType("TSInferType", { + aliases: ["TSType"], + visitor: ["typeParameter"], + fields: { + typeParameter: (0, _utils.validateType)("TSTypeParameter") + } + }); + defineType("TSParenthesizedType", { + aliases: ["TSType"], + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: (0, _utils.validateType)("TSType") + } + }); + defineType("TSTypeOperator", { + aliases: ["TSType"], + visitor: ["typeAnnotation"], + fields: { + operator: (0, _utils.validate)((0, _utils.assertValueType)("string")), + typeAnnotation: (0, _utils.validateType)("TSType") + } + }); + defineType("TSIndexedAccessType", { + aliases: ["TSType"], + visitor: ["objectType", "indexType"], + fields: { + objectType: (0, _utils.validateType)("TSType"), + indexType: (0, _utils.validateType)("TSType") + } + }); + defineType("TSMappedType", { + aliases: ["TSType"], + visitor: ["typeParameter", "nameType", "typeAnnotation"], + builder: ["typeParameter", "typeAnnotation", "nameType"], + fields: Object.assign({}, { + typeParameter: (0, _utils.validateType)("TSTypeParameter") + }, { + readonly: (0, _utils.validateOptional)((0, _utils.assertOneOf)(true, false, "+", "-")), + optional: (0, _utils.validateOptional)((0, _utils.assertOneOf)(true, false, "+", "-")), + typeAnnotation: (0, _utils.validateOptionalType)("TSType"), + nameType: (0, _utils.validateOptionalType)("TSType") + }) + }); + defineType("TSLiteralType", { + aliases: ["TSType", "TSBaseType"], + visitor: ["literal"], + fields: { + literal: { + validate: function() { + const unaryExpression = (0, _utils.assertNodeType)("NumericLiteral", "BigIntLiteral"); + const unaryOperator = (0, _utils.assertOneOf)("-"); + const literal = (0, _utils.assertNodeType)("NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiteral"); + function validator(parent, key, node) { + if ((0, _is.default)("UnaryExpression", node)) { + unaryOperator(node, "operator", node.operator); + unaryExpression(node, "argument", node.argument); + } else { + literal(parent, key, node); + } + } + validator.oneOfNodeTypes = ["NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiteral", "UnaryExpression"]; + return validator; + }() + } + } + }); + var expressionWithTypeArguments = { + aliases: ["TSType"], + visitor: ["expression", "typeParameters"], + fields: { + expression: (0, _utils.validateType)("TSEntityName"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + } + }; + { + defineType("TSExpressionWithTypeArguments", expressionWithTypeArguments); + } + defineType("TSInterfaceDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "typeParameters", "extends", "body"], + fields: { + declare: (0, _utils.validateOptional)(bool), + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), + extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("TSExpressionWithTypeArguments")), + body: (0, _utils.validateType)("TSInterfaceBody") + } + }); + defineType("TSInterfaceBody", { + visitor: ["body"], + fields: { + body: (0, _utils.validateArrayOfType)("TSTypeElement") + } + }); + defineType("TSTypeAliasDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "typeParameters", "typeAnnotation"], + fields: { + declare: (0, _utils.validateOptional)(bool), + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), + typeAnnotation: (0, _utils.validateType)("TSType") + } + }); + defineType("TSInstantiationExpression", { + aliases: ["Expression"], + visitor: ["expression", "typeParameters"], + fields: { + expression: (0, _utils.validateType)("Expression"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + } + }); + var TSTypeExpression = { + aliases: ["Expression", "LVal", "PatternLike"], + visitor: ["expression", "typeAnnotation"], + fields: { + expression: (0, _utils.validateType)("Expression"), + typeAnnotation: (0, _utils.validateType)("TSType") + } + }; + defineType("TSAsExpression", TSTypeExpression); + defineType("TSSatisfiesExpression", TSTypeExpression); + defineType("TSTypeAssertion", { + aliases: ["Expression", "LVal", "PatternLike"], + visitor: ["typeAnnotation", "expression"], + fields: { + typeAnnotation: (0, _utils.validateType)("TSType"), + expression: (0, _utils.validateType)("Expression") + } + }); + defineType("TSEnumDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "members"], + fields: { + declare: (0, _utils.validateOptional)(bool), + const: (0, _utils.validateOptional)(bool), + id: (0, _utils.validateType)("Identifier"), + members: (0, _utils.validateArrayOfType)("TSEnumMember"), + initializer: (0, _utils.validateOptionalType)("Expression") + } + }); + defineType("TSEnumMember", { + visitor: ["id", "initializer"], + fields: { + id: (0, _utils.validateType)("Identifier", "StringLiteral"), + initializer: (0, _utils.validateOptionalType)("Expression") + } + }); + defineType("TSModuleDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "body"], + fields: Object.assign({ + kind: { + validate: (0, _utils.assertOneOf)("global", "module", "namespace") + }, + declare: (0, _utils.validateOptional)(bool) + }, { + global: (0, _utils.validateOptional)(bool) + }, { + id: (0, _utils.validateType)("Identifier", "StringLiteral"), + body: (0, _utils.validateType)("TSModuleBlock", "TSModuleDeclaration") + }) + }); + defineType("TSModuleBlock", { + aliases: ["Scopable", "Block", "BlockParent", "FunctionParent"], + visitor: ["body"], + fields: { + body: (0, _utils.validateArrayOfType)("Statement") + } + }); + defineType("TSImportType", { + aliases: ["TSType"], + visitor: ["argument", "qualifier", "typeParameters"], + fields: { + argument: (0, _utils.validateType)("StringLiteral"), + qualifier: (0, _utils.validateOptionalType)("TSEntityName"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation"), + options: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + } + } + }); + defineType("TSImportEqualsDeclaration", { + aliases: ["Statement"], + visitor: ["id", "moduleReference"], + fields: { + isExport: (0, _utils.validate)(bool), + id: (0, _utils.validateType)("Identifier"), + moduleReference: (0, _utils.validateType)("TSEntityName", "TSExternalModuleReference"), + importKind: { + validate: (0, _utils.assertOneOf)("type", "value"), + optional: true + } + } + }); + defineType("TSExternalModuleReference", { + visitor: ["expression"], + fields: { + expression: (0, _utils.validateType)("StringLiteral") + } + }); + defineType("TSNonNullExpression", { + aliases: ["Expression", "LVal", "PatternLike"], + visitor: ["expression"], + fields: { + expression: (0, _utils.validateType)("Expression") + } + }); + defineType("TSExportAssignment", { + aliases: ["Statement"], + visitor: ["expression"], + fields: { + expression: (0, _utils.validateType)("Expression") + } + }); + defineType("TSNamespaceExportDeclaration", { + aliases: ["Statement"], + visitor: ["id"], + fields: { + id: (0, _utils.validateType)("Identifier") + } + }); + defineType("TSTypeAnnotation", { + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: { + validate: (0, _utils.assertNodeType)("TSType") + } + } + }); + defineType("TSTypeParameterInstantiation", { + visitor: ["params"], + fields: { + params: (0, _utils.validateArrayOfType)("TSType") + } + }); + defineType("TSTypeParameterDeclaration", { + visitor: ["params"], + fields: { + params: (0, _utils.validateArrayOfType)("TSTypeParameter") + } + }); + defineType("TSTypeParameter", { + builder: ["constraint", "default", "name"], + visitor: ["constraint", "default"], + fields: { + name: { + validate: (0, _utils.assertValueType)("string") + }, + in: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + out: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + const: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + constraint: { + validate: (0, _utils.assertNodeType)("TSType"), + optional: true + }, + default: { + validate: (0, _utils.assertNodeType)("TSType"), + optional: true + } + } + }); + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/deprecated-aliases.js +var require_deprecated_aliases = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/deprecated-aliases.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.DEPRECATED_ALIASES = void 0; + var DEPRECATED_ALIASES = exports.DEPRECATED_ALIASES = { + ModuleDeclaration: "ImportOrExportDeclaration" + }; + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/index.js +var require_definitions = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/definitions/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "ALIAS_KEYS", { + enumerable: true, + get: function() { + return _utils.ALIAS_KEYS; + } + }); + Object.defineProperty(exports, "BUILDER_KEYS", { + enumerable: true, + get: function() { + return _utils.BUILDER_KEYS; + } + }); + Object.defineProperty(exports, "DEPRECATED_ALIASES", { + enumerable: true, + get: function() { + return _deprecatedAliases.DEPRECATED_ALIASES; + } + }); + Object.defineProperty(exports, "DEPRECATED_KEYS", { + enumerable: true, + get: function() { + return _utils.DEPRECATED_KEYS; + } + }); + Object.defineProperty(exports, "FLIPPED_ALIAS_KEYS", { + enumerable: true, + get: function() { + return _utils.FLIPPED_ALIAS_KEYS; + } + }); + Object.defineProperty(exports, "NODE_FIELDS", { + enumerable: true, + get: function() { + return _utils.NODE_FIELDS; + } + }); + Object.defineProperty(exports, "NODE_PARENT_VALIDATIONS", { + enumerable: true, + get: function() { + return _utils.NODE_PARENT_VALIDATIONS; + } + }); + Object.defineProperty(exports, "PLACEHOLDERS", { + enumerable: true, + get: function() { + return _placeholders.PLACEHOLDERS; + } + }); + Object.defineProperty(exports, "PLACEHOLDERS_ALIAS", { + enumerable: true, + get: function() { + return _placeholders.PLACEHOLDERS_ALIAS; + } + }); + Object.defineProperty(exports, "PLACEHOLDERS_FLIPPED_ALIAS", { + enumerable: true, + get: function() { + return _placeholders.PLACEHOLDERS_FLIPPED_ALIAS; + } + }); + exports.TYPES = void 0; + Object.defineProperty(exports, "VISITOR_KEYS", { + enumerable: true, + get: function() { + return _utils.VISITOR_KEYS; + } + }); + require_core(); + require_flow(); + require_jsx(); + require_misc(); + require_experimental(); + require_typescript(); + var _utils = require_utils(); + var _placeholders = require_placeholders(); + var _deprecatedAliases = require_deprecated_aliases(); + Object.keys(_deprecatedAliases.DEPRECATED_ALIASES).forEach((deprecatedAlias) => { + _utils.FLIPPED_ALIAS_KEYS[deprecatedAlias] = _utils.FLIPPED_ALIAS_KEYS[_deprecatedAliases.DEPRECATED_ALIASES[deprecatedAlias]]; + }); + var TYPES = exports.TYPES = [].concat(Object.keys(_utils.VISITOR_KEYS), Object.keys(_utils.FLIPPED_ALIAS_KEYS), Object.keys(_utils.DEPRECATED_KEYS)); + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/validate.js +var require_validate = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/validate.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = validate; + exports.validateChild = validateChild; + exports.validateField = validateField; + exports.validateInternal = validateInternal; + var _index = require_definitions(); + function validate(node, key, val) { + if (!node) return; + const fields = _index.NODE_FIELDS[node.type]; + if (!fields) return; + const field = fields[key]; + validateField(node, key, val, field); + validateChild(node, key, val); + } + function validateInternal(field, node, key, val, maybeNode) { + if (!(field != null && field.validate)) return; + if (field.optional && val == null) return; + field.validate(node, key, val); + if (maybeNode) { + var _NODE_PARENT_VALIDATI; + const type = val.type; + if (type == null) return; + (_NODE_PARENT_VALIDATI = _index.NODE_PARENT_VALIDATIONS[type]) == null || _NODE_PARENT_VALIDATI.call(_index.NODE_PARENT_VALIDATIONS, node, key, val); + } + } + function validateField(node, key, val, field) { + if (!(field != null && field.validate)) return; + if (field.optional && val == null) return; + field.validate(node, key, val); + } + function validateChild(node, key, val) { + var _NODE_PARENT_VALIDATI2; + const type = val == null ? void 0 : val.type; + if (type == null) return; + (_NODE_PARENT_VALIDATI2 = _index.NODE_PARENT_VALIDATIONS[type]) == null || _NODE_PARENT_VALIDATI2.call(_index.NODE_PARENT_VALIDATIONS, node, key, val); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/builders/generated/index.js +var require_generated2 = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/builders/generated/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.anyTypeAnnotation = anyTypeAnnotation; + exports.argumentPlaceholder = argumentPlaceholder; + exports.arrayExpression = arrayExpression; + exports.arrayPattern = arrayPattern; + exports.arrayTypeAnnotation = arrayTypeAnnotation; + exports.arrowFunctionExpression = arrowFunctionExpression; + exports.assignmentExpression = assignmentExpression; + exports.assignmentPattern = assignmentPattern; + exports.awaitExpression = awaitExpression; + exports.bigIntLiteral = bigIntLiteral; + exports.binaryExpression = binaryExpression; + exports.bindExpression = bindExpression; + exports.blockStatement = blockStatement; + exports.booleanLiteral = booleanLiteral; + exports.booleanLiteralTypeAnnotation = booleanLiteralTypeAnnotation; + exports.booleanTypeAnnotation = booleanTypeAnnotation; + exports.breakStatement = breakStatement; + exports.callExpression = callExpression; + exports.catchClause = catchClause; + exports.classAccessorProperty = classAccessorProperty; + exports.classBody = classBody; + exports.classDeclaration = classDeclaration; + exports.classExpression = classExpression; + exports.classImplements = classImplements; + exports.classMethod = classMethod; + exports.classPrivateMethod = classPrivateMethod; + exports.classPrivateProperty = classPrivateProperty; + exports.classProperty = classProperty; + exports.conditionalExpression = conditionalExpression; + exports.continueStatement = continueStatement; + exports.debuggerStatement = debuggerStatement; + exports.decimalLiteral = decimalLiteral; + exports.declareClass = declareClass; + exports.declareExportAllDeclaration = declareExportAllDeclaration; + exports.declareExportDeclaration = declareExportDeclaration; + exports.declareFunction = declareFunction; + exports.declareInterface = declareInterface; + exports.declareModule = declareModule; + exports.declareModuleExports = declareModuleExports; + exports.declareOpaqueType = declareOpaqueType; + exports.declareTypeAlias = declareTypeAlias; + exports.declareVariable = declareVariable; + exports.declaredPredicate = declaredPredicate; + exports.decorator = decorator; + exports.directive = directive; + exports.directiveLiteral = directiveLiteral; + exports.doExpression = doExpression; + exports.doWhileStatement = doWhileStatement; + exports.emptyStatement = emptyStatement; + exports.emptyTypeAnnotation = emptyTypeAnnotation; + exports.enumBooleanBody = enumBooleanBody; + exports.enumBooleanMember = enumBooleanMember; + exports.enumDeclaration = enumDeclaration; + exports.enumDefaultedMember = enumDefaultedMember; + exports.enumNumberBody = enumNumberBody; + exports.enumNumberMember = enumNumberMember; + exports.enumStringBody = enumStringBody; + exports.enumStringMember = enumStringMember; + exports.enumSymbolBody = enumSymbolBody; + exports.existsTypeAnnotation = existsTypeAnnotation; + exports.exportAllDeclaration = exportAllDeclaration; + exports.exportDefaultDeclaration = exportDefaultDeclaration; + exports.exportDefaultSpecifier = exportDefaultSpecifier; + exports.exportNamedDeclaration = exportNamedDeclaration; + exports.exportNamespaceSpecifier = exportNamespaceSpecifier; + exports.exportSpecifier = exportSpecifier; + exports.expressionStatement = expressionStatement; + exports.file = file; + exports.forInStatement = forInStatement; + exports.forOfStatement = forOfStatement; + exports.forStatement = forStatement; + exports.functionDeclaration = functionDeclaration; + exports.functionExpression = functionExpression; + exports.functionTypeAnnotation = functionTypeAnnotation; + exports.functionTypeParam = functionTypeParam; + exports.genericTypeAnnotation = genericTypeAnnotation; + exports.identifier = identifier; + exports.ifStatement = ifStatement; + exports.import = _import; + exports.importAttribute = importAttribute; + exports.importDeclaration = importDeclaration; + exports.importDefaultSpecifier = importDefaultSpecifier; + exports.importExpression = importExpression; + exports.importNamespaceSpecifier = importNamespaceSpecifier; + exports.importSpecifier = importSpecifier; + exports.indexedAccessType = indexedAccessType; + exports.inferredPredicate = inferredPredicate; + exports.interfaceDeclaration = interfaceDeclaration; + exports.interfaceExtends = interfaceExtends; + exports.interfaceTypeAnnotation = interfaceTypeAnnotation; + exports.interpreterDirective = interpreterDirective; + exports.intersectionTypeAnnotation = intersectionTypeAnnotation; + exports.jSXAttribute = exports.jsxAttribute = jsxAttribute; + exports.jSXClosingElement = exports.jsxClosingElement = jsxClosingElement; + exports.jSXClosingFragment = exports.jsxClosingFragment = jsxClosingFragment; + exports.jSXElement = exports.jsxElement = jsxElement; + exports.jSXEmptyExpression = exports.jsxEmptyExpression = jsxEmptyExpression; + exports.jSXExpressionContainer = exports.jsxExpressionContainer = jsxExpressionContainer; + exports.jSXFragment = exports.jsxFragment = jsxFragment; + exports.jSXIdentifier = exports.jsxIdentifier = jsxIdentifier; + exports.jSXMemberExpression = exports.jsxMemberExpression = jsxMemberExpression; + exports.jSXNamespacedName = exports.jsxNamespacedName = jsxNamespacedName; + exports.jSXOpeningElement = exports.jsxOpeningElement = jsxOpeningElement; + exports.jSXOpeningFragment = exports.jsxOpeningFragment = jsxOpeningFragment; + exports.jSXSpreadAttribute = exports.jsxSpreadAttribute = jsxSpreadAttribute; + exports.jSXSpreadChild = exports.jsxSpreadChild = jsxSpreadChild; + exports.jSXText = exports.jsxText = jsxText; + exports.labeledStatement = labeledStatement; + exports.logicalExpression = logicalExpression; + exports.memberExpression = memberExpression; + exports.metaProperty = metaProperty; + exports.mixedTypeAnnotation = mixedTypeAnnotation; + exports.moduleExpression = moduleExpression; + exports.newExpression = newExpression; + exports.noop = noop; + exports.nullLiteral = nullLiteral; + exports.nullLiteralTypeAnnotation = nullLiteralTypeAnnotation; + exports.nullableTypeAnnotation = nullableTypeAnnotation; + exports.numberLiteral = NumberLiteral; + exports.numberLiteralTypeAnnotation = numberLiteralTypeAnnotation; + exports.numberTypeAnnotation = numberTypeAnnotation; + exports.numericLiteral = numericLiteral; + exports.objectExpression = objectExpression; + exports.objectMethod = objectMethod; + exports.objectPattern = objectPattern; + exports.objectProperty = objectProperty; + exports.objectTypeAnnotation = objectTypeAnnotation; + exports.objectTypeCallProperty = objectTypeCallProperty; + exports.objectTypeIndexer = objectTypeIndexer; + exports.objectTypeInternalSlot = objectTypeInternalSlot; + exports.objectTypeProperty = objectTypeProperty; + exports.objectTypeSpreadProperty = objectTypeSpreadProperty; + exports.opaqueType = opaqueType; + exports.optionalCallExpression = optionalCallExpression; + exports.optionalIndexedAccessType = optionalIndexedAccessType; + exports.optionalMemberExpression = optionalMemberExpression; + exports.parenthesizedExpression = parenthesizedExpression; + exports.pipelineBareFunction = pipelineBareFunction; + exports.pipelinePrimaryTopicReference = pipelinePrimaryTopicReference; + exports.pipelineTopicExpression = pipelineTopicExpression; + exports.placeholder = placeholder; + exports.privateName = privateName; + exports.program = program; + exports.qualifiedTypeIdentifier = qualifiedTypeIdentifier; + exports.recordExpression = recordExpression; + exports.regExpLiteral = regExpLiteral; + exports.regexLiteral = RegexLiteral; + exports.restElement = restElement; + exports.restProperty = RestProperty; + exports.returnStatement = returnStatement; + exports.sequenceExpression = sequenceExpression; + exports.spreadElement = spreadElement; + exports.spreadProperty = SpreadProperty; + exports.staticBlock = staticBlock; + exports.stringLiteral = stringLiteral; + exports.stringLiteralTypeAnnotation = stringLiteralTypeAnnotation; + exports.stringTypeAnnotation = stringTypeAnnotation; + exports.super = _super; + exports.switchCase = switchCase; + exports.switchStatement = switchStatement; + exports.symbolTypeAnnotation = symbolTypeAnnotation; + exports.taggedTemplateExpression = taggedTemplateExpression; + exports.templateElement = templateElement; + exports.templateLiteral = templateLiteral; + exports.thisExpression = thisExpression; + exports.thisTypeAnnotation = thisTypeAnnotation; + exports.throwStatement = throwStatement; + exports.topicReference = topicReference; + exports.tryStatement = tryStatement; + exports.tSAnyKeyword = exports.tsAnyKeyword = tsAnyKeyword; + exports.tSArrayType = exports.tsArrayType = tsArrayType; + exports.tSAsExpression = exports.tsAsExpression = tsAsExpression; + exports.tSBigIntKeyword = exports.tsBigIntKeyword = tsBigIntKeyword; + exports.tSBooleanKeyword = exports.tsBooleanKeyword = tsBooleanKeyword; + exports.tSCallSignatureDeclaration = exports.tsCallSignatureDeclaration = tsCallSignatureDeclaration; + exports.tSConditionalType = exports.tsConditionalType = tsConditionalType; + exports.tSConstructSignatureDeclaration = exports.tsConstructSignatureDeclaration = tsConstructSignatureDeclaration; + exports.tSConstructorType = exports.tsConstructorType = tsConstructorType; + exports.tSDeclareFunction = exports.tsDeclareFunction = tsDeclareFunction; + exports.tSDeclareMethod = exports.tsDeclareMethod = tsDeclareMethod; + exports.tSEnumDeclaration = exports.tsEnumDeclaration = tsEnumDeclaration; + exports.tSEnumMember = exports.tsEnumMember = tsEnumMember; + exports.tSExportAssignment = exports.tsExportAssignment = tsExportAssignment; + exports.tSExpressionWithTypeArguments = exports.tsExpressionWithTypeArguments = tsExpressionWithTypeArguments; + exports.tSExternalModuleReference = exports.tsExternalModuleReference = tsExternalModuleReference; + exports.tSFunctionType = exports.tsFunctionType = tsFunctionType; + exports.tSImportEqualsDeclaration = exports.tsImportEqualsDeclaration = tsImportEqualsDeclaration; + exports.tSImportType = exports.tsImportType = tsImportType; + exports.tSIndexSignature = exports.tsIndexSignature = tsIndexSignature; + exports.tSIndexedAccessType = exports.tsIndexedAccessType = tsIndexedAccessType; + exports.tSInferType = exports.tsInferType = tsInferType; + exports.tSInstantiationExpression = exports.tsInstantiationExpression = tsInstantiationExpression; + exports.tSInterfaceBody = exports.tsInterfaceBody = tsInterfaceBody; + exports.tSInterfaceDeclaration = exports.tsInterfaceDeclaration = tsInterfaceDeclaration; + exports.tSIntersectionType = exports.tsIntersectionType = tsIntersectionType; + exports.tSIntrinsicKeyword = exports.tsIntrinsicKeyword = tsIntrinsicKeyword; + exports.tSLiteralType = exports.tsLiteralType = tsLiteralType; + exports.tSMappedType = exports.tsMappedType = tsMappedType; + exports.tSMethodSignature = exports.tsMethodSignature = tsMethodSignature; + exports.tSModuleBlock = exports.tsModuleBlock = tsModuleBlock; + exports.tSModuleDeclaration = exports.tsModuleDeclaration = tsModuleDeclaration; + exports.tSNamedTupleMember = exports.tsNamedTupleMember = tsNamedTupleMember; + exports.tSNamespaceExportDeclaration = exports.tsNamespaceExportDeclaration = tsNamespaceExportDeclaration; + exports.tSNeverKeyword = exports.tsNeverKeyword = tsNeverKeyword; + exports.tSNonNullExpression = exports.tsNonNullExpression = tsNonNullExpression; + exports.tSNullKeyword = exports.tsNullKeyword = tsNullKeyword; + exports.tSNumberKeyword = exports.tsNumberKeyword = tsNumberKeyword; + exports.tSObjectKeyword = exports.tsObjectKeyword = tsObjectKeyword; + exports.tSOptionalType = exports.tsOptionalType = tsOptionalType; + exports.tSParameterProperty = exports.tsParameterProperty = tsParameterProperty; + exports.tSParenthesizedType = exports.tsParenthesizedType = tsParenthesizedType; + exports.tSPropertySignature = exports.tsPropertySignature = tsPropertySignature; + exports.tSQualifiedName = exports.tsQualifiedName = tsQualifiedName; + exports.tSRestType = exports.tsRestType = tsRestType; + exports.tSSatisfiesExpression = exports.tsSatisfiesExpression = tsSatisfiesExpression; + exports.tSStringKeyword = exports.tsStringKeyword = tsStringKeyword; + exports.tSSymbolKeyword = exports.tsSymbolKeyword = tsSymbolKeyword; + exports.tSThisType = exports.tsThisType = tsThisType; + exports.tSTupleType = exports.tsTupleType = tsTupleType; + exports.tSTypeAliasDeclaration = exports.tsTypeAliasDeclaration = tsTypeAliasDeclaration; + exports.tSTypeAnnotation = exports.tsTypeAnnotation = tsTypeAnnotation; + exports.tSTypeAssertion = exports.tsTypeAssertion = tsTypeAssertion; + exports.tSTypeLiteral = exports.tsTypeLiteral = tsTypeLiteral; + exports.tSTypeOperator = exports.tsTypeOperator = tsTypeOperator; + exports.tSTypeParameter = exports.tsTypeParameter = tsTypeParameter; + exports.tSTypeParameterDeclaration = exports.tsTypeParameterDeclaration = tsTypeParameterDeclaration; + exports.tSTypeParameterInstantiation = exports.tsTypeParameterInstantiation = tsTypeParameterInstantiation; + exports.tSTypePredicate = exports.tsTypePredicate = tsTypePredicate; + exports.tSTypeQuery = exports.tsTypeQuery = tsTypeQuery; + exports.tSTypeReference = exports.tsTypeReference = tsTypeReference; + exports.tSUndefinedKeyword = exports.tsUndefinedKeyword = tsUndefinedKeyword; + exports.tSUnionType = exports.tsUnionType = tsUnionType; + exports.tSUnknownKeyword = exports.tsUnknownKeyword = tsUnknownKeyword; + exports.tSVoidKeyword = exports.tsVoidKeyword = tsVoidKeyword; + exports.tupleExpression = tupleExpression; + exports.tupleTypeAnnotation = tupleTypeAnnotation; + exports.typeAlias = typeAlias; + exports.typeAnnotation = typeAnnotation; + exports.typeCastExpression = typeCastExpression; + exports.typeParameter = typeParameter; + exports.typeParameterDeclaration = typeParameterDeclaration; + exports.typeParameterInstantiation = typeParameterInstantiation; + exports.typeofTypeAnnotation = typeofTypeAnnotation; + exports.unaryExpression = unaryExpression; + exports.unionTypeAnnotation = unionTypeAnnotation; + exports.updateExpression = updateExpression; + exports.v8IntrinsicIdentifier = v8IntrinsicIdentifier; + exports.variableDeclaration = variableDeclaration; + exports.variableDeclarator = variableDeclarator; + exports.variance = variance; + exports.voidTypeAnnotation = voidTypeAnnotation; + exports.whileStatement = whileStatement; + exports.withStatement = withStatement; + exports.yieldExpression = yieldExpression; + var _validate = require_validate(); + var _deprecationWarning = require_deprecationWarning(); + var utils = require_utils(); + var { + validateInternal: validate + } = _validate; + var { + NODE_FIELDS + } = utils; + function arrayExpression(elements = []) { + const node = { + type: "ArrayExpression", + elements + }; + const defs = NODE_FIELDS.ArrayExpression; + validate(defs.elements, node, "elements", elements, 1); + return node; + } + function assignmentExpression(operator, left, right) { + const node = { + type: "AssignmentExpression", + operator, + left, + right + }; + const defs = NODE_FIELDS.AssignmentExpression; + validate(defs.operator, node, "operator", operator); + validate(defs.left, node, "left", left, 1); + validate(defs.right, node, "right", right, 1); + return node; + } + function binaryExpression(operator, left, right) { + const node = { + type: "BinaryExpression", + operator, + left, + right + }; + const defs = NODE_FIELDS.BinaryExpression; + validate(defs.operator, node, "operator", operator); + validate(defs.left, node, "left", left, 1); + validate(defs.right, node, "right", right, 1); + return node; + } + function interpreterDirective(value2) { + const node = { + type: "InterpreterDirective", + value: value2 + }; + const defs = NODE_FIELDS.InterpreterDirective; + validate(defs.value, node, "value", value2); + return node; + } + function directive(value2) { + const node = { + type: "Directive", + value: value2 + }; + const defs = NODE_FIELDS.Directive; + validate(defs.value, node, "value", value2, 1); + return node; + } + function directiveLiteral(value2) { + const node = { + type: "DirectiveLiteral", + value: value2 + }; + const defs = NODE_FIELDS.DirectiveLiteral; + validate(defs.value, node, "value", value2); + return node; + } + function blockStatement(body, directives = []) { + const node = { + type: "BlockStatement", + body, + directives + }; + const defs = NODE_FIELDS.BlockStatement; + validate(defs.body, node, "body", body, 1); + validate(defs.directives, node, "directives", directives, 1); + return node; + } + function breakStatement(label = null) { + const node = { + type: "BreakStatement", + label + }; + const defs = NODE_FIELDS.BreakStatement; + validate(defs.label, node, "label", label, 1); + return node; + } + function callExpression(callee, _arguments) { + const node = { + type: "CallExpression", + callee, + arguments: _arguments + }; + const defs = NODE_FIELDS.CallExpression; + validate(defs.callee, node, "callee", callee, 1); + validate(defs.arguments, node, "arguments", _arguments, 1); + return node; + } + function catchClause(param = null, body) { + const node = { + type: "CatchClause", + param, + body + }; + const defs = NODE_FIELDS.CatchClause; + validate(defs.param, node, "param", param, 1); + validate(defs.body, node, "body", body, 1); + return node; + } + function conditionalExpression(test, consequent, alternate) { + const node = { + type: "ConditionalExpression", + test, + consequent, + alternate + }; + const defs = NODE_FIELDS.ConditionalExpression; + validate(defs.test, node, "test", test, 1); + validate(defs.consequent, node, "consequent", consequent, 1); + validate(defs.alternate, node, "alternate", alternate, 1); + return node; + } + function continueStatement(label = null) { + const node = { + type: "ContinueStatement", + label + }; + const defs = NODE_FIELDS.ContinueStatement; + validate(defs.label, node, "label", label, 1); + return node; + } + function debuggerStatement() { + return { + type: "DebuggerStatement" + }; + } + function doWhileStatement(test, body) { + const node = { + type: "DoWhileStatement", + test, + body + }; + const defs = NODE_FIELDS.DoWhileStatement; + validate(defs.test, node, "test", test, 1); + validate(defs.body, node, "body", body, 1); + return node; + } + function emptyStatement() { + return { + type: "EmptyStatement" + }; + } + function expressionStatement(expression) { + const node = { + type: "ExpressionStatement", + expression + }; + const defs = NODE_FIELDS.ExpressionStatement; + validate(defs.expression, node, "expression", expression, 1); + return node; + } + function file(program2, comments = null, tokens = null) { + const node = { + type: "File", + program: program2, + comments, + tokens + }; + const defs = NODE_FIELDS.File; + validate(defs.program, node, "program", program2, 1); + validate(defs.comments, node, "comments", comments, 1); + validate(defs.tokens, node, "tokens", tokens); + return node; + } + function forInStatement(left, right, body) { + const node = { + type: "ForInStatement", + left, + right, + body + }; + const defs = NODE_FIELDS.ForInStatement; + validate(defs.left, node, "left", left, 1); + validate(defs.right, node, "right", right, 1); + validate(defs.body, node, "body", body, 1); + return node; + } + function forStatement(init = null, test = null, update = null, body) { + const node = { + type: "ForStatement", + init, + test, + update, + body + }; + const defs = NODE_FIELDS.ForStatement; + validate(defs.init, node, "init", init, 1); + validate(defs.test, node, "test", test, 1); + validate(defs.update, node, "update", update, 1); + validate(defs.body, node, "body", body, 1); + return node; + } + function functionDeclaration(id = null, params, body, generator = false, async = false) { + const node = { + type: "FunctionDeclaration", + id, + params, + body, + generator, + async + }; + const defs = NODE_FIELDS.FunctionDeclaration; + validate(defs.id, node, "id", id, 1); + validate(defs.params, node, "params", params, 1); + validate(defs.body, node, "body", body, 1); + validate(defs.generator, node, "generator", generator); + validate(defs.async, node, "async", async); + return node; + } + function functionExpression(id = null, params, body, generator = false, async = false) { + const node = { + type: "FunctionExpression", + id, + params, + body, + generator, + async + }; + const defs = NODE_FIELDS.FunctionExpression; + validate(defs.id, node, "id", id, 1); + validate(defs.params, node, "params", params, 1); + validate(defs.body, node, "body", body, 1); + validate(defs.generator, node, "generator", generator); + validate(defs.async, node, "async", async); + return node; + } + function identifier(name) { + const node = { + type: "Identifier", + name + }; + const defs = NODE_FIELDS.Identifier; + validate(defs.name, node, "name", name); + return node; + } + function ifStatement(test, consequent, alternate = null) { + const node = { + type: "IfStatement", + test, + consequent, + alternate + }; + const defs = NODE_FIELDS.IfStatement; + validate(defs.test, node, "test", test, 1); + validate(defs.consequent, node, "consequent", consequent, 1); + validate(defs.alternate, node, "alternate", alternate, 1); + return node; + } + function labeledStatement(label, body) { + const node = { + type: "LabeledStatement", + label, + body + }; + const defs = NODE_FIELDS.LabeledStatement; + validate(defs.label, node, "label", label, 1); + validate(defs.body, node, "body", body, 1); + return node; + } + function stringLiteral(value2) { + const node = { + type: "StringLiteral", + value: value2 + }; + const defs = NODE_FIELDS.StringLiteral; + validate(defs.value, node, "value", value2); + return node; + } + function numericLiteral(value2) { + const node = { + type: "NumericLiteral", + value: value2 + }; + const defs = NODE_FIELDS.NumericLiteral; + validate(defs.value, node, "value", value2); + return node; + } + function nullLiteral() { + return { + type: "NullLiteral" + }; + } + function booleanLiteral(value2) { + const node = { + type: "BooleanLiteral", + value: value2 + }; + const defs = NODE_FIELDS.BooleanLiteral; + validate(defs.value, node, "value", value2); + return node; + } + function regExpLiteral(pattern, flags = "") { + const node = { + type: "RegExpLiteral", + pattern, + flags + }; + const defs = NODE_FIELDS.RegExpLiteral; + validate(defs.pattern, node, "pattern", pattern); + validate(defs.flags, node, "flags", flags); + return node; + } + function logicalExpression(operator, left, right) { + const node = { + type: "LogicalExpression", + operator, + left, + right + }; + const defs = NODE_FIELDS.LogicalExpression; + validate(defs.operator, node, "operator", operator); + validate(defs.left, node, "left", left, 1); + validate(defs.right, node, "right", right, 1); + return node; + } + function memberExpression(object, property, computed = false, optional = null) { + const node = { + type: "MemberExpression", + object, + property, + computed, + optional + }; + const defs = NODE_FIELDS.MemberExpression; + validate(defs.object, node, "object", object, 1); + validate(defs.property, node, "property", property, 1); + validate(defs.computed, node, "computed", computed); + validate(defs.optional, node, "optional", optional); + return node; + } + function newExpression(callee, _arguments) { + const node = { + type: "NewExpression", + callee, + arguments: _arguments + }; + const defs = NODE_FIELDS.NewExpression; + validate(defs.callee, node, "callee", callee, 1); + validate(defs.arguments, node, "arguments", _arguments, 1); + return node; + } + function program(body, directives = [], sourceType = "script", interpreter = null) { + const node = { + type: "Program", + body, + directives, + sourceType, + interpreter + }; + const defs = NODE_FIELDS.Program; + validate(defs.body, node, "body", body, 1); + validate(defs.directives, node, "directives", directives, 1); + validate(defs.sourceType, node, "sourceType", sourceType); + validate(defs.interpreter, node, "interpreter", interpreter, 1); + return node; + } + function objectExpression(properties) { + const node = { + type: "ObjectExpression", + properties + }; + const defs = NODE_FIELDS.ObjectExpression; + validate(defs.properties, node, "properties", properties, 1); + return node; + } + function objectMethod(kind = "method", key, params, body, computed = false, generator = false, async = false) { + const node = { + type: "ObjectMethod", + kind, + key, + params, + body, + computed, + generator, + async + }; + const defs = NODE_FIELDS.ObjectMethod; + validate(defs.kind, node, "kind", kind); + validate(defs.key, node, "key", key, 1); + validate(defs.params, node, "params", params, 1); + validate(defs.body, node, "body", body, 1); + validate(defs.computed, node, "computed", computed); + validate(defs.generator, node, "generator", generator); + validate(defs.async, node, "async", async); + return node; + } + function objectProperty(key, value2, computed = false, shorthand = false, decorators = null) { + const node = { + type: "ObjectProperty", + key, + value: value2, + computed, + shorthand, + decorators + }; + const defs = NODE_FIELDS.ObjectProperty; + validate(defs.key, node, "key", key, 1); + validate(defs.value, node, "value", value2, 1); + validate(defs.computed, node, "computed", computed); + validate(defs.shorthand, node, "shorthand", shorthand); + validate(defs.decorators, node, "decorators", decorators, 1); + return node; + } + function restElement(argument) { + const node = { + type: "RestElement", + argument + }; + const defs = NODE_FIELDS.RestElement; + validate(defs.argument, node, "argument", argument, 1); + return node; + } + function returnStatement(argument = null) { + const node = { + type: "ReturnStatement", + argument + }; + const defs = NODE_FIELDS.ReturnStatement; + validate(defs.argument, node, "argument", argument, 1); + return node; + } + function sequenceExpression(expressions) { + const node = { + type: "SequenceExpression", + expressions + }; + const defs = NODE_FIELDS.SequenceExpression; + validate(defs.expressions, node, "expressions", expressions, 1); + return node; + } + function parenthesizedExpression(expression) { + const node = { + type: "ParenthesizedExpression", + expression + }; + const defs = NODE_FIELDS.ParenthesizedExpression; + validate(defs.expression, node, "expression", expression, 1); + return node; + } + function switchCase(test = null, consequent) { + const node = { + type: "SwitchCase", + test, + consequent + }; + const defs = NODE_FIELDS.SwitchCase; + validate(defs.test, node, "test", test, 1); + validate(defs.consequent, node, "consequent", consequent, 1); + return node; + } + function switchStatement(discriminant, cases) { + const node = { + type: "SwitchStatement", + discriminant, + cases + }; + const defs = NODE_FIELDS.SwitchStatement; + validate(defs.discriminant, node, "discriminant", discriminant, 1); + validate(defs.cases, node, "cases", cases, 1); + return node; + } + function thisExpression() { + return { + type: "ThisExpression" + }; + } + function throwStatement(argument) { + const node = { + type: "ThrowStatement", + argument + }; + const defs = NODE_FIELDS.ThrowStatement; + validate(defs.argument, node, "argument", argument, 1); + return node; + } + function tryStatement(block, handler = null, finalizer = null) { + const node = { + type: "TryStatement", + block, + handler, + finalizer + }; + const defs = NODE_FIELDS.TryStatement; + validate(defs.block, node, "block", block, 1); + validate(defs.handler, node, "handler", handler, 1); + validate(defs.finalizer, node, "finalizer", finalizer, 1); + return node; + } + function unaryExpression(operator, argument, prefix = true) { + const node = { + type: "UnaryExpression", + operator, + argument, + prefix + }; + const defs = NODE_FIELDS.UnaryExpression; + validate(defs.operator, node, "operator", operator); + validate(defs.argument, node, "argument", argument, 1); + validate(defs.prefix, node, "prefix", prefix); + return node; + } + function updateExpression(operator, argument, prefix = false) { + const node = { + type: "UpdateExpression", + operator, + argument, + prefix + }; + const defs = NODE_FIELDS.UpdateExpression; + validate(defs.operator, node, "operator", operator); + validate(defs.argument, node, "argument", argument, 1); + validate(defs.prefix, node, "prefix", prefix); + return node; + } + function variableDeclaration(kind, declarations) { + const node = { + type: "VariableDeclaration", + kind, + declarations + }; + const defs = NODE_FIELDS.VariableDeclaration; + validate(defs.kind, node, "kind", kind); + validate(defs.declarations, node, "declarations", declarations, 1); + return node; + } + function variableDeclarator(id, init = null) { + const node = { + type: "VariableDeclarator", + id, + init + }; + const defs = NODE_FIELDS.VariableDeclarator; + validate(defs.id, node, "id", id, 1); + validate(defs.init, node, "init", init, 1); + return node; + } + function whileStatement(test, body) { + const node = { + type: "WhileStatement", + test, + body + }; + const defs = NODE_FIELDS.WhileStatement; + validate(defs.test, node, "test", test, 1); + validate(defs.body, node, "body", body, 1); + return node; + } + function withStatement(object, body) { + const node = { + type: "WithStatement", + object, + body + }; + const defs = NODE_FIELDS.WithStatement; + validate(defs.object, node, "object", object, 1); + validate(defs.body, node, "body", body, 1); + return node; + } + function assignmentPattern(left, right) { + const node = { + type: "AssignmentPattern", + left, + right + }; + const defs = NODE_FIELDS.AssignmentPattern; + validate(defs.left, node, "left", left, 1); + validate(defs.right, node, "right", right, 1); + return node; + } + function arrayPattern(elements) { + const node = { + type: "ArrayPattern", + elements + }; + const defs = NODE_FIELDS.ArrayPattern; + validate(defs.elements, node, "elements", elements, 1); + return node; + } + function arrowFunctionExpression(params, body, async = false) { + const node = { + type: "ArrowFunctionExpression", + params, + body, + async, + expression: null + }; + const defs = NODE_FIELDS.ArrowFunctionExpression; + validate(defs.params, node, "params", params, 1); + validate(defs.body, node, "body", body, 1); + validate(defs.async, node, "async", async); + return node; + } + function classBody(body) { + const node = { + type: "ClassBody", + body + }; + const defs = NODE_FIELDS.ClassBody; + validate(defs.body, node, "body", body, 1); + return node; + } + function classExpression(id = null, superClass = null, body, decorators = null) { + const node = { + type: "ClassExpression", + id, + superClass, + body, + decorators + }; + const defs = NODE_FIELDS.ClassExpression; + validate(defs.id, node, "id", id, 1); + validate(defs.superClass, node, "superClass", superClass, 1); + validate(defs.body, node, "body", body, 1); + validate(defs.decorators, node, "decorators", decorators, 1); + return node; + } + function classDeclaration(id = null, superClass = null, body, decorators = null) { + const node = { + type: "ClassDeclaration", + id, + superClass, + body, + decorators + }; + const defs = NODE_FIELDS.ClassDeclaration; + validate(defs.id, node, "id", id, 1); + validate(defs.superClass, node, "superClass", superClass, 1); + validate(defs.body, node, "body", body, 1); + validate(defs.decorators, node, "decorators", decorators, 1); + return node; + } + function exportAllDeclaration(source) { + const node = { + type: "ExportAllDeclaration", + source + }; + const defs = NODE_FIELDS.ExportAllDeclaration; + validate(defs.source, node, "source", source, 1); + return node; + } + function exportDefaultDeclaration(declaration) { + const node = { + type: "ExportDefaultDeclaration", + declaration + }; + const defs = NODE_FIELDS.ExportDefaultDeclaration; + validate(defs.declaration, node, "declaration", declaration, 1); + return node; + } + function exportNamedDeclaration(declaration = null, specifiers = [], source = null) { + const node = { + type: "ExportNamedDeclaration", + declaration, + specifiers, + source + }; + const defs = NODE_FIELDS.ExportNamedDeclaration; + validate(defs.declaration, node, "declaration", declaration, 1); + validate(defs.specifiers, node, "specifiers", specifiers, 1); + validate(defs.source, node, "source", source, 1); + return node; + } + function exportSpecifier(local, exported) { + const node = { + type: "ExportSpecifier", + local, + exported + }; + const defs = NODE_FIELDS.ExportSpecifier; + validate(defs.local, node, "local", local, 1); + validate(defs.exported, node, "exported", exported, 1); + return node; + } + function forOfStatement(left, right, body, _await = false) { + const node = { + type: "ForOfStatement", + left, + right, + body, + await: _await + }; + const defs = NODE_FIELDS.ForOfStatement; + validate(defs.left, node, "left", left, 1); + validate(defs.right, node, "right", right, 1); + validate(defs.body, node, "body", body, 1); + validate(defs.await, node, "await", _await); + return node; + } + function importDeclaration(specifiers, source) { + const node = { + type: "ImportDeclaration", + specifiers, + source + }; + const defs = NODE_FIELDS.ImportDeclaration; + validate(defs.specifiers, node, "specifiers", specifiers, 1); + validate(defs.source, node, "source", source, 1); + return node; + } + function importDefaultSpecifier(local) { + const node = { + type: "ImportDefaultSpecifier", + local + }; + const defs = NODE_FIELDS.ImportDefaultSpecifier; + validate(defs.local, node, "local", local, 1); + return node; + } + function importNamespaceSpecifier(local) { + const node = { + type: "ImportNamespaceSpecifier", + local + }; + const defs = NODE_FIELDS.ImportNamespaceSpecifier; + validate(defs.local, node, "local", local, 1); + return node; + } + function importSpecifier(local, imported) { + const node = { + type: "ImportSpecifier", + local, + imported + }; + const defs = NODE_FIELDS.ImportSpecifier; + validate(defs.local, node, "local", local, 1); + validate(defs.imported, node, "imported", imported, 1); + return node; + } + function importExpression(source, options = null) { + const node = { + type: "ImportExpression", + source, + options + }; + const defs = NODE_FIELDS.ImportExpression; + validate(defs.source, node, "source", source, 1); + validate(defs.options, node, "options", options, 1); + return node; + } + function metaProperty(meta, property) { + const node = { + type: "MetaProperty", + meta, + property + }; + const defs = NODE_FIELDS.MetaProperty; + validate(defs.meta, node, "meta", meta, 1); + validate(defs.property, node, "property", property, 1); + return node; + } + function classMethod(kind = "method", key, params, body, computed = false, _static = false, generator = false, async = false) { + const node = { + type: "ClassMethod", + kind, + key, + params, + body, + computed, + static: _static, + generator, + async + }; + const defs = NODE_FIELDS.ClassMethod; + validate(defs.kind, node, "kind", kind); + validate(defs.key, node, "key", key, 1); + validate(defs.params, node, "params", params, 1); + validate(defs.body, node, "body", body, 1); + validate(defs.computed, node, "computed", computed); + validate(defs.static, node, "static", _static); + validate(defs.generator, node, "generator", generator); + validate(defs.async, node, "async", async); + return node; + } + function objectPattern(properties) { + const node = { + type: "ObjectPattern", + properties + }; + const defs = NODE_FIELDS.ObjectPattern; + validate(defs.properties, node, "properties", properties, 1); + return node; + } + function spreadElement(argument) { + const node = { + type: "SpreadElement", + argument + }; + const defs = NODE_FIELDS.SpreadElement; + validate(defs.argument, node, "argument", argument, 1); + return node; + } + function _super() { + return { + type: "Super" + }; + } + function taggedTemplateExpression(tag, quasi) { + const node = { + type: "TaggedTemplateExpression", + tag, + quasi + }; + const defs = NODE_FIELDS.TaggedTemplateExpression; + validate(defs.tag, node, "tag", tag, 1); + validate(defs.quasi, node, "quasi", quasi, 1); + return node; + } + function templateElement(value2, tail = false) { + const node = { + type: "TemplateElement", + value: value2, + tail + }; + const defs = NODE_FIELDS.TemplateElement; + validate(defs.value, node, "value", value2); + validate(defs.tail, node, "tail", tail); + return node; + } + function templateLiteral(quasis, expressions) { + const node = { + type: "TemplateLiteral", + quasis, + expressions + }; + const defs = NODE_FIELDS.TemplateLiteral; + validate(defs.quasis, node, "quasis", quasis, 1); + validate(defs.expressions, node, "expressions", expressions, 1); + return node; + } + function yieldExpression(argument = null, delegate = false) { + const node = { + type: "YieldExpression", + argument, + delegate + }; + const defs = NODE_FIELDS.YieldExpression; + validate(defs.argument, node, "argument", argument, 1); + validate(defs.delegate, node, "delegate", delegate); + return node; + } + function awaitExpression(argument) { + const node = { + type: "AwaitExpression", + argument + }; + const defs = NODE_FIELDS.AwaitExpression; + validate(defs.argument, node, "argument", argument, 1); + return node; + } + function _import() { + return { + type: "Import" + }; + } + function bigIntLiteral(value2) { + const node = { + type: "BigIntLiteral", + value: value2 + }; + const defs = NODE_FIELDS.BigIntLiteral; + validate(defs.value, node, "value", value2); + return node; + } + function exportNamespaceSpecifier(exported) { + const node = { + type: "ExportNamespaceSpecifier", + exported + }; + const defs = NODE_FIELDS.ExportNamespaceSpecifier; + validate(defs.exported, node, "exported", exported, 1); + return node; + } + function optionalMemberExpression(object, property, computed = false, optional) { + const node = { + type: "OptionalMemberExpression", + object, + property, + computed, + optional + }; + const defs = NODE_FIELDS.OptionalMemberExpression; + validate(defs.object, node, "object", object, 1); + validate(defs.property, node, "property", property, 1); + validate(defs.computed, node, "computed", computed); + validate(defs.optional, node, "optional", optional); + return node; + } + function optionalCallExpression(callee, _arguments, optional) { + const node = { + type: "OptionalCallExpression", + callee, + arguments: _arguments, + optional + }; + const defs = NODE_FIELDS.OptionalCallExpression; + validate(defs.callee, node, "callee", callee, 1); + validate(defs.arguments, node, "arguments", _arguments, 1); + validate(defs.optional, node, "optional", optional); + return node; + } + function classProperty(key, value2 = null, typeAnnotation2 = null, decorators = null, computed = false, _static = false) { + const node = { + type: "ClassProperty", + key, + value: value2, + typeAnnotation: typeAnnotation2, + decorators, + computed, + static: _static + }; + const defs = NODE_FIELDS.ClassProperty; + validate(defs.key, node, "key", key, 1); + validate(defs.value, node, "value", value2, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + validate(defs.decorators, node, "decorators", decorators, 1); + validate(defs.computed, node, "computed", computed); + validate(defs.static, node, "static", _static); + return node; + } + function classAccessorProperty(key, value2 = null, typeAnnotation2 = null, decorators = null, computed = false, _static = false) { + const node = { + type: "ClassAccessorProperty", + key, + value: value2, + typeAnnotation: typeAnnotation2, + decorators, + computed, + static: _static + }; + const defs = NODE_FIELDS.ClassAccessorProperty; + validate(defs.key, node, "key", key, 1); + validate(defs.value, node, "value", value2, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + validate(defs.decorators, node, "decorators", decorators, 1); + validate(defs.computed, node, "computed", computed); + validate(defs.static, node, "static", _static); + return node; + } + function classPrivateProperty(key, value2 = null, decorators = null, _static = false) { + const node = { + type: "ClassPrivateProperty", + key, + value: value2, + decorators, + static: _static + }; + const defs = NODE_FIELDS.ClassPrivateProperty; + validate(defs.key, node, "key", key, 1); + validate(defs.value, node, "value", value2, 1); + validate(defs.decorators, node, "decorators", decorators, 1); + validate(defs.static, node, "static", _static); + return node; + } + function classPrivateMethod(kind = "method", key, params, body, _static = false) { + const node = { + type: "ClassPrivateMethod", + kind, + key, + params, + body, + static: _static + }; + const defs = NODE_FIELDS.ClassPrivateMethod; + validate(defs.kind, node, "kind", kind); + validate(defs.key, node, "key", key, 1); + validate(defs.params, node, "params", params, 1); + validate(defs.body, node, "body", body, 1); + validate(defs.static, node, "static", _static); + return node; + } + function privateName(id) { + const node = { + type: "PrivateName", + id + }; + const defs = NODE_FIELDS.PrivateName; + validate(defs.id, node, "id", id, 1); + return node; + } + function staticBlock(body) { + const node = { + type: "StaticBlock", + body + }; + const defs = NODE_FIELDS.StaticBlock; + validate(defs.body, node, "body", body, 1); + return node; + } + function anyTypeAnnotation() { + return { + type: "AnyTypeAnnotation" + }; + } + function arrayTypeAnnotation(elementType) { + const node = { + type: "ArrayTypeAnnotation", + elementType + }; + const defs = NODE_FIELDS.ArrayTypeAnnotation; + validate(defs.elementType, node, "elementType", elementType, 1); + return node; + } + function booleanTypeAnnotation() { + return { + type: "BooleanTypeAnnotation" + }; + } + function booleanLiteralTypeAnnotation(value2) { + const node = { + type: "BooleanLiteralTypeAnnotation", + value: value2 + }; + const defs = NODE_FIELDS.BooleanLiteralTypeAnnotation; + validate(defs.value, node, "value", value2); + return node; + } + function nullLiteralTypeAnnotation() { + return { + type: "NullLiteralTypeAnnotation" + }; + } + function classImplements(id, typeParameters = null) { + const node = { + type: "ClassImplements", + id, + typeParameters + }; + const defs = NODE_FIELDS.ClassImplements; + validate(defs.id, node, "id", id, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + return node; + } + function declareClass(id, typeParameters = null, _extends2 = null, body) { + const node = { + type: "DeclareClass", + id, + typeParameters, + extends: _extends2, + body + }; + const defs = NODE_FIELDS.DeclareClass; + validate(defs.id, node, "id", id, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.extends, node, "extends", _extends2, 1); + validate(defs.body, node, "body", body, 1); + return node; + } + function declareFunction(id) { + const node = { + type: "DeclareFunction", + id + }; + const defs = NODE_FIELDS.DeclareFunction; + validate(defs.id, node, "id", id, 1); + return node; + } + function declareInterface(id, typeParameters = null, _extends2 = null, body) { + const node = { + type: "DeclareInterface", + id, + typeParameters, + extends: _extends2, + body + }; + const defs = NODE_FIELDS.DeclareInterface; + validate(defs.id, node, "id", id, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.extends, node, "extends", _extends2, 1); + validate(defs.body, node, "body", body, 1); + return node; + } + function declareModule(id, body, kind = null) { + const node = { + type: "DeclareModule", + id, + body, + kind + }; + const defs = NODE_FIELDS.DeclareModule; + validate(defs.id, node, "id", id, 1); + validate(defs.body, node, "body", body, 1); + validate(defs.kind, node, "kind", kind); + return node; + } + function declareModuleExports(typeAnnotation2) { + const node = { + type: "DeclareModuleExports", + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.DeclareModuleExports; + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function declareTypeAlias(id, typeParameters = null, right) { + const node = { + type: "DeclareTypeAlias", + id, + typeParameters, + right + }; + const defs = NODE_FIELDS.DeclareTypeAlias; + validate(defs.id, node, "id", id, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.right, node, "right", right, 1); + return node; + } + function declareOpaqueType(id, typeParameters = null, supertype = null) { + const node = { + type: "DeclareOpaqueType", + id, + typeParameters, + supertype + }; + const defs = NODE_FIELDS.DeclareOpaqueType; + validate(defs.id, node, "id", id, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.supertype, node, "supertype", supertype, 1); + return node; + } + function declareVariable(id) { + const node = { + type: "DeclareVariable", + id + }; + const defs = NODE_FIELDS.DeclareVariable; + validate(defs.id, node, "id", id, 1); + return node; + } + function declareExportDeclaration(declaration = null, specifiers = null, source = null, attributes = null) { + const node = { + type: "DeclareExportDeclaration", + declaration, + specifiers, + source, + attributes + }; + const defs = NODE_FIELDS.DeclareExportDeclaration; + validate(defs.declaration, node, "declaration", declaration, 1); + validate(defs.specifiers, node, "specifiers", specifiers, 1); + validate(defs.source, node, "source", source, 1); + validate(defs.attributes, node, "attributes", attributes, 1); + return node; + } + function declareExportAllDeclaration(source, attributes = null) { + const node = { + type: "DeclareExportAllDeclaration", + source, + attributes + }; + const defs = NODE_FIELDS.DeclareExportAllDeclaration; + validate(defs.source, node, "source", source, 1); + validate(defs.attributes, node, "attributes", attributes, 1); + return node; + } + function declaredPredicate(value2) { + const node = { + type: "DeclaredPredicate", + value: value2 + }; + const defs = NODE_FIELDS.DeclaredPredicate; + validate(defs.value, node, "value", value2, 1); + return node; + } + function existsTypeAnnotation() { + return { + type: "ExistsTypeAnnotation" + }; + } + function functionTypeAnnotation(typeParameters = null, params, rest = null, returnType) { + const node = { + type: "FunctionTypeAnnotation", + typeParameters, + params, + rest, + returnType + }; + const defs = NODE_FIELDS.FunctionTypeAnnotation; + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.params, node, "params", params, 1); + validate(defs.rest, node, "rest", rest, 1); + validate(defs.returnType, node, "returnType", returnType, 1); + return node; + } + function functionTypeParam(name = null, typeAnnotation2) { + const node = { + type: "FunctionTypeParam", + name, + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.FunctionTypeParam; + validate(defs.name, node, "name", name, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function genericTypeAnnotation(id, typeParameters = null) { + const node = { + type: "GenericTypeAnnotation", + id, + typeParameters + }; + const defs = NODE_FIELDS.GenericTypeAnnotation; + validate(defs.id, node, "id", id, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + return node; + } + function inferredPredicate() { + return { + type: "InferredPredicate" + }; + } + function interfaceExtends(id, typeParameters = null) { + const node = { + type: "InterfaceExtends", + id, + typeParameters + }; + const defs = NODE_FIELDS.InterfaceExtends; + validate(defs.id, node, "id", id, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + return node; + } + function interfaceDeclaration(id, typeParameters = null, _extends2 = null, body) { + const node = { + type: "InterfaceDeclaration", + id, + typeParameters, + extends: _extends2, + body + }; + const defs = NODE_FIELDS.InterfaceDeclaration; + validate(defs.id, node, "id", id, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.extends, node, "extends", _extends2, 1); + validate(defs.body, node, "body", body, 1); + return node; + } + function interfaceTypeAnnotation(_extends2 = null, body) { + const node = { + type: "InterfaceTypeAnnotation", + extends: _extends2, + body + }; + const defs = NODE_FIELDS.InterfaceTypeAnnotation; + validate(defs.extends, node, "extends", _extends2, 1); + validate(defs.body, node, "body", body, 1); + return node; + } + function intersectionTypeAnnotation(types) { + const node = { + type: "IntersectionTypeAnnotation", + types + }; + const defs = NODE_FIELDS.IntersectionTypeAnnotation; + validate(defs.types, node, "types", types, 1); + return node; + } + function mixedTypeAnnotation() { + return { + type: "MixedTypeAnnotation" + }; + } + function emptyTypeAnnotation() { + return { + type: "EmptyTypeAnnotation" + }; + } + function nullableTypeAnnotation(typeAnnotation2) { + const node = { + type: "NullableTypeAnnotation", + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.NullableTypeAnnotation; + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function numberLiteralTypeAnnotation(value2) { + const node = { + type: "NumberLiteralTypeAnnotation", + value: value2 + }; + const defs = NODE_FIELDS.NumberLiteralTypeAnnotation; + validate(defs.value, node, "value", value2); + return node; + } + function numberTypeAnnotation() { + return { + type: "NumberTypeAnnotation" + }; + } + function objectTypeAnnotation(properties, indexers = [], callProperties = [], internalSlots = [], exact = false) { + const node = { + type: "ObjectTypeAnnotation", + properties, + indexers, + callProperties, + internalSlots, + exact + }; + const defs = NODE_FIELDS.ObjectTypeAnnotation; + validate(defs.properties, node, "properties", properties, 1); + validate(defs.indexers, node, "indexers", indexers, 1); + validate(defs.callProperties, node, "callProperties", callProperties, 1); + validate(defs.internalSlots, node, "internalSlots", internalSlots, 1); + validate(defs.exact, node, "exact", exact); + return node; + } + function objectTypeInternalSlot(id, value2, optional, _static, method) { + const node = { + type: "ObjectTypeInternalSlot", + id, + value: value2, + optional, + static: _static, + method + }; + const defs = NODE_FIELDS.ObjectTypeInternalSlot; + validate(defs.id, node, "id", id, 1); + validate(defs.value, node, "value", value2, 1); + validate(defs.optional, node, "optional", optional); + validate(defs.static, node, "static", _static); + validate(defs.method, node, "method", method); + return node; + } + function objectTypeCallProperty(value2) { + const node = { + type: "ObjectTypeCallProperty", + value: value2, + static: null + }; + const defs = NODE_FIELDS.ObjectTypeCallProperty; + validate(defs.value, node, "value", value2, 1); + return node; + } + function objectTypeIndexer(id = null, key, value2, variance2 = null) { + const node = { + type: "ObjectTypeIndexer", + id, + key, + value: value2, + variance: variance2, + static: null + }; + const defs = NODE_FIELDS.ObjectTypeIndexer; + validate(defs.id, node, "id", id, 1); + validate(defs.key, node, "key", key, 1); + validate(defs.value, node, "value", value2, 1); + validate(defs.variance, node, "variance", variance2, 1); + return node; + } + function objectTypeProperty(key, value2, variance2 = null) { + const node = { + type: "ObjectTypeProperty", + key, + value: value2, + variance: variance2, + kind: null, + method: null, + optional: null, + proto: null, + static: null + }; + const defs = NODE_FIELDS.ObjectTypeProperty; + validate(defs.key, node, "key", key, 1); + validate(defs.value, node, "value", value2, 1); + validate(defs.variance, node, "variance", variance2, 1); + return node; + } + function objectTypeSpreadProperty(argument) { + const node = { + type: "ObjectTypeSpreadProperty", + argument + }; + const defs = NODE_FIELDS.ObjectTypeSpreadProperty; + validate(defs.argument, node, "argument", argument, 1); + return node; + } + function opaqueType(id, typeParameters = null, supertype = null, impltype) { + const node = { + type: "OpaqueType", + id, + typeParameters, + supertype, + impltype + }; + const defs = NODE_FIELDS.OpaqueType; + validate(defs.id, node, "id", id, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.supertype, node, "supertype", supertype, 1); + validate(defs.impltype, node, "impltype", impltype, 1); + return node; + } + function qualifiedTypeIdentifier(id, qualification) { + const node = { + type: "QualifiedTypeIdentifier", + id, + qualification + }; + const defs = NODE_FIELDS.QualifiedTypeIdentifier; + validate(defs.id, node, "id", id, 1); + validate(defs.qualification, node, "qualification", qualification, 1); + return node; + } + function stringLiteralTypeAnnotation(value2) { + const node = { + type: "StringLiteralTypeAnnotation", + value: value2 + }; + const defs = NODE_FIELDS.StringLiteralTypeAnnotation; + validate(defs.value, node, "value", value2); + return node; + } + function stringTypeAnnotation() { + return { + type: "StringTypeAnnotation" + }; + } + function symbolTypeAnnotation() { + return { + type: "SymbolTypeAnnotation" + }; + } + function thisTypeAnnotation() { + return { + type: "ThisTypeAnnotation" + }; + } + function tupleTypeAnnotation(types) { + const node = { + type: "TupleTypeAnnotation", + types + }; + const defs = NODE_FIELDS.TupleTypeAnnotation; + validate(defs.types, node, "types", types, 1); + return node; + } + function typeofTypeAnnotation(argument) { + const node = { + type: "TypeofTypeAnnotation", + argument + }; + const defs = NODE_FIELDS.TypeofTypeAnnotation; + validate(defs.argument, node, "argument", argument, 1); + return node; + } + function typeAlias(id, typeParameters = null, right) { + const node = { + type: "TypeAlias", + id, + typeParameters, + right + }; + const defs = NODE_FIELDS.TypeAlias; + validate(defs.id, node, "id", id, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.right, node, "right", right, 1); + return node; + } + function typeAnnotation(typeAnnotation2) { + const node = { + type: "TypeAnnotation", + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.TypeAnnotation; + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function typeCastExpression(expression, typeAnnotation2) { + const node = { + type: "TypeCastExpression", + expression, + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.TypeCastExpression; + validate(defs.expression, node, "expression", expression, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function typeParameter(bound = null, _default = null, variance2 = null) { + const node = { + type: "TypeParameter", + bound, + default: _default, + variance: variance2, + name: null + }; + const defs = NODE_FIELDS.TypeParameter; + validate(defs.bound, node, "bound", bound, 1); + validate(defs.default, node, "default", _default, 1); + validate(defs.variance, node, "variance", variance2, 1); + return node; + } + function typeParameterDeclaration(params) { + const node = { + type: "TypeParameterDeclaration", + params + }; + const defs = NODE_FIELDS.TypeParameterDeclaration; + validate(defs.params, node, "params", params, 1); + return node; + } + function typeParameterInstantiation(params) { + const node = { + type: "TypeParameterInstantiation", + params + }; + const defs = NODE_FIELDS.TypeParameterInstantiation; + validate(defs.params, node, "params", params, 1); + return node; + } + function unionTypeAnnotation(types) { + const node = { + type: "UnionTypeAnnotation", + types + }; + const defs = NODE_FIELDS.UnionTypeAnnotation; + validate(defs.types, node, "types", types, 1); + return node; + } + function variance(kind) { + const node = { + type: "Variance", + kind + }; + const defs = NODE_FIELDS.Variance; + validate(defs.kind, node, "kind", kind); + return node; + } + function voidTypeAnnotation() { + return { + type: "VoidTypeAnnotation" + }; + } + function enumDeclaration(id, body) { + const node = { + type: "EnumDeclaration", + id, + body + }; + const defs = NODE_FIELDS.EnumDeclaration; + validate(defs.id, node, "id", id, 1); + validate(defs.body, node, "body", body, 1); + return node; + } + function enumBooleanBody(members) { + const node = { + type: "EnumBooleanBody", + members, + explicitType: null, + hasUnknownMembers: null + }; + const defs = NODE_FIELDS.EnumBooleanBody; + validate(defs.members, node, "members", members, 1); + return node; + } + function enumNumberBody(members) { + const node = { + type: "EnumNumberBody", + members, + explicitType: null, + hasUnknownMembers: null + }; + const defs = NODE_FIELDS.EnumNumberBody; + validate(defs.members, node, "members", members, 1); + return node; + } + function enumStringBody(members) { + const node = { + type: "EnumStringBody", + members, + explicitType: null, + hasUnknownMembers: null + }; + const defs = NODE_FIELDS.EnumStringBody; + validate(defs.members, node, "members", members, 1); + return node; + } + function enumSymbolBody(members) { + const node = { + type: "EnumSymbolBody", + members, + hasUnknownMembers: null + }; + const defs = NODE_FIELDS.EnumSymbolBody; + validate(defs.members, node, "members", members, 1); + return node; + } + function enumBooleanMember(id) { + const node = { + type: "EnumBooleanMember", + id, + init: null + }; + const defs = NODE_FIELDS.EnumBooleanMember; + validate(defs.id, node, "id", id, 1); + return node; + } + function enumNumberMember(id, init) { + const node = { + type: "EnumNumberMember", + id, + init + }; + const defs = NODE_FIELDS.EnumNumberMember; + validate(defs.id, node, "id", id, 1); + validate(defs.init, node, "init", init, 1); + return node; + } + function enumStringMember(id, init) { + const node = { + type: "EnumStringMember", + id, + init + }; + const defs = NODE_FIELDS.EnumStringMember; + validate(defs.id, node, "id", id, 1); + validate(defs.init, node, "init", init, 1); + return node; + } + function enumDefaultedMember(id) { + const node = { + type: "EnumDefaultedMember", + id + }; + const defs = NODE_FIELDS.EnumDefaultedMember; + validate(defs.id, node, "id", id, 1); + return node; + } + function indexedAccessType(objectType, indexType) { + const node = { + type: "IndexedAccessType", + objectType, + indexType + }; + const defs = NODE_FIELDS.IndexedAccessType; + validate(defs.objectType, node, "objectType", objectType, 1); + validate(defs.indexType, node, "indexType", indexType, 1); + return node; + } + function optionalIndexedAccessType(objectType, indexType) { + const node = { + type: "OptionalIndexedAccessType", + objectType, + indexType, + optional: null + }; + const defs = NODE_FIELDS.OptionalIndexedAccessType; + validate(defs.objectType, node, "objectType", objectType, 1); + validate(defs.indexType, node, "indexType", indexType, 1); + return node; + } + function jsxAttribute(name, value2 = null) { + const node = { + type: "JSXAttribute", + name, + value: value2 + }; + const defs = NODE_FIELDS.JSXAttribute; + validate(defs.name, node, "name", name, 1); + validate(defs.value, node, "value", value2, 1); + return node; + } + function jsxClosingElement(name) { + const node = { + type: "JSXClosingElement", + name + }; + const defs = NODE_FIELDS.JSXClosingElement; + validate(defs.name, node, "name", name, 1); + return node; + } + function jsxElement(openingElement, closingElement = null, children, selfClosing = null) { + const node = { + type: "JSXElement", + openingElement, + closingElement, + children, + selfClosing + }; + const defs = NODE_FIELDS.JSXElement; + validate(defs.openingElement, node, "openingElement", openingElement, 1); + validate(defs.closingElement, node, "closingElement", closingElement, 1); + validate(defs.children, node, "children", children, 1); + validate(defs.selfClosing, node, "selfClosing", selfClosing); + return node; + } + function jsxEmptyExpression() { + return { + type: "JSXEmptyExpression" + }; + } + function jsxExpressionContainer(expression) { + const node = { + type: "JSXExpressionContainer", + expression + }; + const defs = NODE_FIELDS.JSXExpressionContainer; + validate(defs.expression, node, "expression", expression, 1); + return node; + } + function jsxSpreadChild(expression) { + const node = { + type: "JSXSpreadChild", + expression + }; + const defs = NODE_FIELDS.JSXSpreadChild; + validate(defs.expression, node, "expression", expression, 1); + return node; + } + function jsxIdentifier(name) { + const node = { + type: "JSXIdentifier", + name + }; + const defs = NODE_FIELDS.JSXIdentifier; + validate(defs.name, node, "name", name); + return node; + } + function jsxMemberExpression(object, property) { + const node = { + type: "JSXMemberExpression", + object, + property + }; + const defs = NODE_FIELDS.JSXMemberExpression; + validate(defs.object, node, "object", object, 1); + validate(defs.property, node, "property", property, 1); + return node; + } + function jsxNamespacedName(namespace, name) { + const node = { + type: "JSXNamespacedName", + namespace, + name + }; + const defs = NODE_FIELDS.JSXNamespacedName; + validate(defs.namespace, node, "namespace", namespace, 1); + validate(defs.name, node, "name", name, 1); + return node; + } + function jsxOpeningElement(name, attributes, selfClosing = false) { + const node = { + type: "JSXOpeningElement", + name, + attributes, + selfClosing + }; + const defs = NODE_FIELDS.JSXOpeningElement; + validate(defs.name, node, "name", name, 1); + validate(defs.attributes, node, "attributes", attributes, 1); + validate(defs.selfClosing, node, "selfClosing", selfClosing); + return node; + } + function jsxSpreadAttribute(argument) { + const node = { + type: "JSXSpreadAttribute", + argument + }; + const defs = NODE_FIELDS.JSXSpreadAttribute; + validate(defs.argument, node, "argument", argument, 1); + return node; + } + function jsxText(value2) { + const node = { + type: "JSXText", + value: value2 + }; + const defs = NODE_FIELDS.JSXText; + validate(defs.value, node, "value", value2); + return node; + } + function jsxFragment(openingFragment, closingFragment, children) { + const node = { + type: "JSXFragment", + openingFragment, + closingFragment, + children + }; + const defs = NODE_FIELDS.JSXFragment; + validate(defs.openingFragment, node, "openingFragment", openingFragment, 1); + validate(defs.closingFragment, node, "closingFragment", closingFragment, 1); + validate(defs.children, node, "children", children, 1); + return node; + } + function jsxOpeningFragment() { + return { + type: "JSXOpeningFragment" + }; + } + function jsxClosingFragment() { + return { + type: "JSXClosingFragment" + }; + } + function noop() { + return { + type: "Noop" + }; + } + function placeholder(expectedNode, name) { + const node = { + type: "Placeholder", + expectedNode, + name + }; + const defs = NODE_FIELDS.Placeholder; + validate(defs.expectedNode, node, "expectedNode", expectedNode); + validate(defs.name, node, "name", name, 1); + return node; + } + function v8IntrinsicIdentifier(name) { + const node = { + type: "V8IntrinsicIdentifier", + name + }; + const defs = NODE_FIELDS.V8IntrinsicIdentifier; + validate(defs.name, node, "name", name); + return node; + } + function argumentPlaceholder() { + return { + type: "ArgumentPlaceholder" + }; + } + function bindExpression(object, callee) { + const node = { + type: "BindExpression", + object, + callee + }; + const defs = NODE_FIELDS.BindExpression; + validate(defs.object, node, "object", object, 1); + validate(defs.callee, node, "callee", callee, 1); + return node; + } + function importAttribute(key, value2) { + const node = { + type: "ImportAttribute", + key, + value: value2 + }; + const defs = NODE_FIELDS.ImportAttribute; + validate(defs.key, node, "key", key, 1); + validate(defs.value, node, "value", value2, 1); + return node; + } + function decorator(expression) { + const node = { + type: "Decorator", + expression + }; + const defs = NODE_FIELDS.Decorator; + validate(defs.expression, node, "expression", expression, 1); + return node; + } + function doExpression(body, async = false) { + const node = { + type: "DoExpression", + body, + async + }; + const defs = NODE_FIELDS.DoExpression; + validate(defs.body, node, "body", body, 1); + validate(defs.async, node, "async", async); + return node; + } + function exportDefaultSpecifier(exported) { + const node = { + type: "ExportDefaultSpecifier", + exported + }; + const defs = NODE_FIELDS.ExportDefaultSpecifier; + validate(defs.exported, node, "exported", exported, 1); + return node; + } + function recordExpression(properties) { + const node = { + type: "RecordExpression", + properties + }; + const defs = NODE_FIELDS.RecordExpression; + validate(defs.properties, node, "properties", properties, 1); + return node; + } + function tupleExpression(elements = []) { + const node = { + type: "TupleExpression", + elements + }; + const defs = NODE_FIELDS.TupleExpression; + validate(defs.elements, node, "elements", elements, 1); + return node; + } + function decimalLiteral(value2) { + const node = { + type: "DecimalLiteral", + value: value2 + }; + const defs = NODE_FIELDS.DecimalLiteral; + validate(defs.value, node, "value", value2); + return node; + } + function moduleExpression(body) { + const node = { + type: "ModuleExpression", + body + }; + const defs = NODE_FIELDS.ModuleExpression; + validate(defs.body, node, "body", body, 1); + return node; + } + function topicReference() { + return { + type: "TopicReference" + }; + } + function pipelineTopicExpression(expression) { + const node = { + type: "PipelineTopicExpression", + expression + }; + const defs = NODE_FIELDS.PipelineTopicExpression; + validate(defs.expression, node, "expression", expression, 1); + return node; + } + function pipelineBareFunction(callee) { + const node = { + type: "PipelineBareFunction", + callee + }; + const defs = NODE_FIELDS.PipelineBareFunction; + validate(defs.callee, node, "callee", callee, 1); + return node; + } + function pipelinePrimaryTopicReference() { + return { + type: "PipelinePrimaryTopicReference" + }; + } + function tsParameterProperty(parameter) { + const node = { + type: "TSParameterProperty", + parameter + }; + const defs = NODE_FIELDS.TSParameterProperty; + validate(defs.parameter, node, "parameter", parameter, 1); + return node; + } + function tsDeclareFunction(id = null, typeParameters = null, params, returnType = null) { + const node = { + type: "TSDeclareFunction", + id, + typeParameters, + params, + returnType + }; + const defs = NODE_FIELDS.TSDeclareFunction; + validate(defs.id, node, "id", id, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.params, node, "params", params, 1); + validate(defs.returnType, node, "returnType", returnType, 1); + return node; + } + function tsDeclareMethod(decorators = null, key, typeParameters = null, params, returnType = null) { + const node = { + type: "TSDeclareMethod", + decorators, + key, + typeParameters, + params, + returnType + }; + const defs = NODE_FIELDS.TSDeclareMethod; + validate(defs.decorators, node, "decorators", decorators, 1); + validate(defs.key, node, "key", key, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.params, node, "params", params, 1); + validate(defs.returnType, node, "returnType", returnType, 1); + return node; + } + function tsQualifiedName(left, right) { + const node = { + type: "TSQualifiedName", + left, + right + }; + const defs = NODE_FIELDS.TSQualifiedName; + validate(defs.left, node, "left", left, 1); + validate(defs.right, node, "right", right, 1); + return node; + } + function tsCallSignatureDeclaration(typeParameters = null, parameters, typeAnnotation2 = null) { + const node = { + type: "TSCallSignatureDeclaration", + typeParameters, + parameters, + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.TSCallSignatureDeclaration; + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.parameters, node, "parameters", parameters, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsConstructSignatureDeclaration(typeParameters = null, parameters, typeAnnotation2 = null) { + const node = { + type: "TSConstructSignatureDeclaration", + typeParameters, + parameters, + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.TSConstructSignatureDeclaration; + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.parameters, node, "parameters", parameters, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsPropertySignature(key, typeAnnotation2 = null) { + const node = { + type: "TSPropertySignature", + key, + typeAnnotation: typeAnnotation2, + kind: null + }; + const defs = NODE_FIELDS.TSPropertySignature; + validate(defs.key, node, "key", key, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsMethodSignature(key, typeParameters = null, parameters, typeAnnotation2 = null) { + const node = { + type: "TSMethodSignature", + key, + typeParameters, + parameters, + typeAnnotation: typeAnnotation2, + kind: null + }; + const defs = NODE_FIELDS.TSMethodSignature; + validate(defs.key, node, "key", key, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.parameters, node, "parameters", parameters, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsIndexSignature(parameters, typeAnnotation2 = null) { + const node = { + type: "TSIndexSignature", + parameters, + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.TSIndexSignature; + validate(defs.parameters, node, "parameters", parameters, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsAnyKeyword() { + return { + type: "TSAnyKeyword" + }; + } + function tsBooleanKeyword() { + return { + type: "TSBooleanKeyword" + }; + } + function tsBigIntKeyword() { + return { + type: "TSBigIntKeyword" + }; + } + function tsIntrinsicKeyword() { + return { + type: "TSIntrinsicKeyword" + }; + } + function tsNeverKeyword() { + return { + type: "TSNeverKeyword" + }; + } + function tsNullKeyword() { + return { + type: "TSNullKeyword" + }; + } + function tsNumberKeyword() { + return { + type: "TSNumberKeyword" + }; + } + function tsObjectKeyword() { + return { + type: "TSObjectKeyword" + }; + } + function tsStringKeyword() { + return { + type: "TSStringKeyword" + }; + } + function tsSymbolKeyword() { + return { + type: "TSSymbolKeyword" + }; + } + function tsUndefinedKeyword() { + return { + type: "TSUndefinedKeyword" + }; + } + function tsUnknownKeyword() { + return { + type: "TSUnknownKeyword" + }; + } + function tsVoidKeyword() { + return { + type: "TSVoidKeyword" + }; + } + function tsThisType() { + return { + type: "TSThisType" + }; + } + function tsFunctionType(typeParameters = null, parameters, typeAnnotation2 = null) { + const node = { + type: "TSFunctionType", + typeParameters, + parameters, + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.TSFunctionType; + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.parameters, node, "parameters", parameters, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsConstructorType(typeParameters = null, parameters, typeAnnotation2 = null) { + const node = { + type: "TSConstructorType", + typeParameters, + parameters, + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.TSConstructorType; + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.parameters, node, "parameters", parameters, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsTypeReference(typeName, typeParameters = null) { + const node = { + type: "TSTypeReference", + typeName, + typeParameters + }; + const defs = NODE_FIELDS.TSTypeReference; + validate(defs.typeName, node, "typeName", typeName, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + return node; + } + function tsTypePredicate(parameterName, typeAnnotation2 = null, asserts = null) { + const node = { + type: "TSTypePredicate", + parameterName, + typeAnnotation: typeAnnotation2, + asserts + }; + const defs = NODE_FIELDS.TSTypePredicate; + validate(defs.parameterName, node, "parameterName", parameterName, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + validate(defs.asserts, node, "asserts", asserts); + return node; + } + function tsTypeQuery(exprName, typeParameters = null) { + const node = { + type: "TSTypeQuery", + exprName, + typeParameters + }; + const defs = NODE_FIELDS.TSTypeQuery; + validate(defs.exprName, node, "exprName", exprName, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + return node; + } + function tsTypeLiteral(members) { + const node = { + type: "TSTypeLiteral", + members + }; + const defs = NODE_FIELDS.TSTypeLiteral; + validate(defs.members, node, "members", members, 1); + return node; + } + function tsArrayType(elementType) { + const node = { + type: "TSArrayType", + elementType + }; + const defs = NODE_FIELDS.TSArrayType; + validate(defs.elementType, node, "elementType", elementType, 1); + return node; + } + function tsTupleType(elementTypes) { + const node = { + type: "TSTupleType", + elementTypes + }; + const defs = NODE_FIELDS.TSTupleType; + validate(defs.elementTypes, node, "elementTypes", elementTypes, 1); + return node; + } + function tsOptionalType(typeAnnotation2) { + const node = { + type: "TSOptionalType", + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.TSOptionalType; + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsRestType(typeAnnotation2) { + const node = { + type: "TSRestType", + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.TSRestType; + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsNamedTupleMember(label, elementType, optional = false) { + const node = { + type: "TSNamedTupleMember", + label, + elementType, + optional + }; + const defs = NODE_FIELDS.TSNamedTupleMember; + validate(defs.label, node, "label", label, 1); + validate(defs.elementType, node, "elementType", elementType, 1); + validate(defs.optional, node, "optional", optional); + return node; + } + function tsUnionType(types) { + const node = { + type: "TSUnionType", + types + }; + const defs = NODE_FIELDS.TSUnionType; + validate(defs.types, node, "types", types, 1); + return node; + } + function tsIntersectionType(types) { + const node = { + type: "TSIntersectionType", + types + }; + const defs = NODE_FIELDS.TSIntersectionType; + validate(defs.types, node, "types", types, 1); + return node; + } + function tsConditionalType(checkType, extendsType, trueType, falseType) { + const node = { + type: "TSConditionalType", + checkType, + extendsType, + trueType, + falseType + }; + const defs = NODE_FIELDS.TSConditionalType; + validate(defs.checkType, node, "checkType", checkType, 1); + validate(defs.extendsType, node, "extendsType", extendsType, 1); + validate(defs.trueType, node, "trueType", trueType, 1); + validate(defs.falseType, node, "falseType", falseType, 1); + return node; + } + function tsInferType(typeParameter2) { + const node = { + type: "TSInferType", + typeParameter: typeParameter2 + }; + const defs = NODE_FIELDS.TSInferType; + validate(defs.typeParameter, node, "typeParameter", typeParameter2, 1); + return node; + } + function tsParenthesizedType(typeAnnotation2) { + const node = { + type: "TSParenthesizedType", + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.TSParenthesizedType; + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsTypeOperator(typeAnnotation2) { + const node = { + type: "TSTypeOperator", + typeAnnotation: typeAnnotation2, + operator: null + }; + const defs = NODE_FIELDS.TSTypeOperator; + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsIndexedAccessType(objectType, indexType) { + const node = { + type: "TSIndexedAccessType", + objectType, + indexType + }; + const defs = NODE_FIELDS.TSIndexedAccessType; + validate(defs.objectType, node, "objectType", objectType, 1); + validate(defs.indexType, node, "indexType", indexType, 1); + return node; + } + function tsMappedType(typeParameter2, typeAnnotation2 = null, nameType = null) { + const node = { + type: "TSMappedType", + typeParameter: typeParameter2, + typeAnnotation: typeAnnotation2, + nameType + }; + const defs = NODE_FIELDS.TSMappedType; + validate(defs.typeParameter, node, "typeParameter", typeParameter2, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + validate(defs.nameType, node, "nameType", nameType, 1); + return node; + } + function tsLiteralType(literal) { + const node = { + type: "TSLiteralType", + literal + }; + const defs = NODE_FIELDS.TSLiteralType; + validate(defs.literal, node, "literal", literal, 1); + return node; + } + function tsExpressionWithTypeArguments(expression, typeParameters = null) { + const node = { + type: "TSExpressionWithTypeArguments", + expression, + typeParameters + }; + const defs = NODE_FIELDS.TSExpressionWithTypeArguments; + validate(defs.expression, node, "expression", expression, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + return node; + } + function tsInterfaceDeclaration(id, typeParameters = null, _extends2 = null, body) { + const node = { + type: "TSInterfaceDeclaration", + id, + typeParameters, + extends: _extends2, + body + }; + const defs = NODE_FIELDS.TSInterfaceDeclaration; + validate(defs.id, node, "id", id, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.extends, node, "extends", _extends2, 1); + validate(defs.body, node, "body", body, 1); + return node; + } + function tsInterfaceBody(body) { + const node = { + type: "TSInterfaceBody", + body + }; + const defs = NODE_FIELDS.TSInterfaceBody; + validate(defs.body, node, "body", body, 1); + return node; + } + function tsTypeAliasDeclaration(id, typeParameters = null, typeAnnotation2) { + const node = { + type: "TSTypeAliasDeclaration", + id, + typeParameters, + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.TSTypeAliasDeclaration; + validate(defs.id, node, "id", id, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsInstantiationExpression(expression, typeParameters = null) { + const node = { + type: "TSInstantiationExpression", + expression, + typeParameters + }; + const defs = NODE_FIELDS.TSInstantiationExpression; + validate(defs.expression, node, "expression", expression, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + return node; + } + function tsAsExpression(expression, typeAnnotation2) { + const node = { + type: "TSAsExpression", + expression, + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.TSAsExpression; + validate(defs.expression, node, "expression", expression, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsSatisfiesExpression(expression, typeAnnotation2) { + const node = { + type: "TSSatisfiesExpression", + expression, + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.TSSatisfiesExpression; + validate(defs.expression, node, "expression", expression, 1); + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsTypeAssertion(typeAnnotation2, expression) { + const node = { + type: "TSTypeAssertion", + typeAnnotation: typeAnnotation2, + expression + }; + const defs = NODE_FIELDS.TSTypeAssertion; + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + validate(defs.expression, node, "expression", expression, 1); + return node; + } + function tsEnumDeclaration(id, members) { + const node = { + type: "TSEnumDeclaration", + id, + members + }; + const defs = NODE_FIELDS.TSEnumDeclaration; + validate(defs.id, node, "id", id, 1); + validate(defs.members, node, "members", members, 1); + return node; + } + function tsEnumMember(id, initializer = null) { + const node = { + type: "TSEnumMember", + id, + initializer + }; + const defs = NODE_FIELDS.TSEnumMember; + validate(defs.id, node, "id", id, 1); + validate(defs.initializer, node, "initializer", initializer, 1); + return node; + } + function tsModuleDeclaration(id, body) { + const node = { + type: "TSModuleDeclaration", + id, + body, + kind: null + }; + const defs = NODE_FIELDS.TSModuleDeclaration; + validate(defs.id, node, "id", id, 1); + validate(defs.body, node, "body", body, 1); + return node; + } + function tsModuleBlock(body) { + const node = { + type: "TSModuleBlock", + body + }; + const defs = NODE_FIELDS.TSModuleBlock; + validate(defs.body, node, "body", body, 1); + return node; + } + function tsImportType(argument, qualifier = null, typeParameters = null) { + const node = { + type: "TSImportType", + argument, + qualifier, + typeParameters + }; + const defs = NODE_FIELDS.TSImportType; + validate(defs.argument, node, "argument", argument, 1); + validate(defs.qualifier, node, "qualifier", qualifier, 1); + validate(defs.typeParameters, node, "typeParameters", typeParameters, 1); + return node; + } + function tsImportEqualsDeclaration(id, moduleReference) { + const node = { + type: "TSImportEqualsDeclaration", + id, + moduleReference, + isExport: null + }; + const defs = NODE_FIELDS.TSImportEqualsDeclaration; + validate(defs.id, node, "id", id, 1); + validate(defs.moduleReference, node, "moduleReference", moduleReference, 1); + return node; + } + function tsExternalModuleReference(expression) { + const node = { + type: "TSExternalModuleReference", + expression + }; + const defs = NODE_FIELDS.TSExternalModuleReference; + validate(defs.expression, node, "expression", expression, 1); + return node; + } + function tsNonNullExpression(expression) { + const node = { + type: "TSNonNullExpression", + expression + }; + const defs = NODE_FIELDS.TSNonNullExpression; + validate(defs.expression, node, "expression", expression, 1); + return node; + } + function tsExportAssignment(expression) { + const node = { + type: "TSExportAssignment", + expression + }; + const defs = NODE_FIELDS.TSExportAssignment; + validate(defs.expression, node, "expression", expression, 1); + return node; + } + function tsNamespaceExportDeclaration(id) { + const node = { + type: "TSNamespaceExportDeclaration", + id + }; + const defs = NODE_FIELDS.TSNamespaceExportDeclaration; + validate(defs.id, node, "id", id, 1); + return node; + } + function tsTypeAnnotation(typeAnnotation2) { + const node = { + type: "TSTypeAnnotation", + typeAnnotation: typeAnnotation2 + }; + const defs = NODE_FIELDS.TSTypeAnnotation; + validate(defs.typeAnnotation, node, "typeAnnotation", typeAnnotation2, 1); + return node; + } + function tsTypeParameterInstantiation(params) { + const node = { + type: "TSTypeParameterInstantiation", + params + }; + const defs = NODE_FIELDS.TSTypeParameterInstantiation; + validate(defs.params, node, "params", params, 1); + return node; + } + function tsTypeParameterDeclaration(params) { + const node = { + type: "TSTypeParameterDeclaration", + params + }; + const defs = NODE_FIELDS.TSTypeParameterDeclaration; + validate(defs.params, node, "params", params, 1); + return node; + } + function tsTypeParameter(constraint = null, _default = null, name) { + const node = { + type: "TSTypeParameter", + constraint, + default: _default, + name + }; + const defs = NODE_FIELDS.TSTypeParameter; + validate(defs.constraint, node, "constraint", constraint, 1); + validate(defs.default, node, "default", _default, 1); + validate(defs.name, node, "name", name); + return node; + } + function NumberLiteral(value2) { + (0, _deprecationWarning.default)("NumberLiteral", "NumericLiteral", "The node type "); + return numericLiteral(value2); + } + function RegexLiteral(pattern, flags = "") { + (0, _deprecationWarning.default)("RegexLiteral", "RegExpLiteral", "The node type "); + return regExpLiteral(pattern, flags); + } + function RestProperty(argument) { + (0, _deprecationWarning.default)("RestProperty", "RestElement", "The node type "); + return restElement(argument); + } + function SpreadProperty(argument) { + (0, _deprecationWarning.default)("SpreadProperty", "SpreadElement", "The node type "); + return spreadElement(argument); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js +var require_cleanJSXElementLiteralChild = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = cleanJSXElementLiteralChild; + var _index = require_generated2(); + var _index2 = require_lib3(); + function cleanJSXElementLiteralChild(child, args) { + const lines = child.value.split(/\r\n|\n|\r/); + let lastNonEmptyLine = 0; + for (let i = 0; i < lines.length; i++) { + if (/[^ \t]/.exec(lines[i])) { + lastNonEmptyLine = i; + } + } + let str = ""; + for (let i = 0; i < lines.length; i++) { + const line = lines[i]; + const isFirstLine = i === 0; + const isLastLine = i === lines.length - 1; + const isLastNonEmptyLine = i === lastNonEmptyLine; + let trimmedLine = line.replace(/\t/g, " "); + if (!isFirstLine) { + trimmedLine = trimmedLine.replace(/^ +/, ""); + } + if (!isLastLine) { + trimmedLine = trimmedLine.replace(/ +$/, ""); + } + if (trimmedLine) { + if (!isLastNonEmptyLine) { + trimmedLine += " "; + } + str += trimmedLine; + } + } + if (str) args.push((0, _index2.inherits)((0, _index.stringLiteral)(str), child)); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/builders/react/buildChildren.js +var require_buildChildren = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/builders/react/buildChildren.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = buildChildren; + var _index = require_generated(); + var _cleanJSXElementLiteralChild = require_cleanJSXElementLiteralChild(); + function buildChildren(node) { + const elements = []; + for (let i = 0; i < node.children.length; i++) { + let child = node.children[i]; + if ((0, _index.isJSXText)(child)) { + (0, _cleanJSXElementLiteralChild.default)(child, elements); + continue; + } + if ((0, _index.isJSXExpressionContainer)(child)) child = child.expression; + if ((0, _index.isJSXEmptyExpression)(child)) continue; + elements.push(child); + } + return elements; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isNode.js +var require_isNode = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isNode.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isNode; + var _index = require_definitions(); + function isNode(node) { + return !!(node && _index.VISITOR_KEYS[node.type]); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/asserts/assertNode.js +var require_assertNode = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/asserts/assertNode.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = assertNode; + var _isNode = require_isNode(); + function assertNode(node) { + if (!(0, _isNode.default)(node)) { + var _node$type; + const type = (_node$type = node == null ? void 0 : node.type) != null ? _node$type : JSON.stringify(node); + throw new TypeError(`Not a valid node of type "${type}"`); + } + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/asserts/generated/index.js +var require_generated3 = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/asserts/generated/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.assertAccessor = assertAccessor; + exports.assertAnyTypeAnnotation = assertAnyTypeAnnotation; + exports.assertArgumentPlaceholder = assertArgumentPlaceholder; + exports.assertArrayExpression = assertArrayExpression; + exports.assertArrayPattern = assertArrayPattern; + exports.assertArrayTypeAnnotation = assertArrayTypeAnnotation; + exports.assertArrowFunctionExpression = assertArrowFunctionExpression; + exports.assertAssignmentExpression = assertAssignmentExpression; + exports.assertAssignmentPattern = assertAssignmentPattern; + exports.assertAwaitExpression = assertAwaitExpression; + exports.assertBigIntLiteral = assertBigIntLiteral; + exports.assertBinary = assertBinary; + exports.assertBinaryExpression = assertBinaryExpression; + exports.assertBindExpression = assertBindExpression; + exports.assertBlock = assertBlock; + exports.assertBlockParent = assertBlockParent; + exports.assertBlockStatement = assertBlockStatement; + exports.assertBooleanLiteral = assertBooleanLiteral; + exports.assertBooleanLiteralTypeAnnotation = assertBooleanLiteralTypeAnnotation; + exports.assertBooleanTypeAnnotation = assertBooleanTypeAnnotation; + exports.assertBreakStatement = assertBreakStatement; + exports.assertCallExpression = assertCallExpression; + exports.assertCatchClause = assertCatchClause; + exports.assertClass = assertClass; + exports.assertClassAccessorProperty = assertClassAccessorProperty; + exports.assertClassBody = assertClassBody; + exports.assertClassDeclaration = assertClassDeclaration; + exports.assertClassExpression = assertClassExpression; + exports.assertClassImplements = assertClassImplements; + exports.assertClassMethod = assertClassMethod; + exports.assertClassPrivateMethod = assertClassPrivateMethod; + exports.assertClassPrivateProperty = assertClassPrivateProperty; + exports.assertClassProperty = assertClassProperty; + exports.assertCompletionStatement = assertCompletionStatement; + exports.assertConditional = assertConditional; + exports.assertConditionalExpression = assertConditionalExpression; + exports.assertContinueStatement = assertContinueStatement; + exports.assertDebuggerStatement = assertDebuggerStatement; + exports.assertDecimalLiteral = assertDecimalLiteral; + exports.assertDeclaration = assertDeclaration; + exports.assertDeclareClass = assertDeclareClass; + exports.assertDeclareExportAllDeclaration = assertDeclareExportAllDeclaration; + exports.assertDeclareExportDeclaration = assertDeclareExportDeclaration; + exports.assertDeclareFunction = assertDeclareFunction; + exports.assertDeclareInterface = assertDeclareInterface; + exports.assertDeclareModule = assertDeclareModule; + exports.assertDeclareModuleExports = assertDeclareModuleExports; + exports.assertDeclareOpaqueType = assertDeclareOpaqueType; + exports.assertDeclareTypeAlias = assertDeclareTypeAlias; + exports.assertDeclareVariable = assertDeclareVariable; + exports.assertDeclaredPredicate = assertDeclaredPredicate; + exports.assertDecorator = assertDecorator; + exports.assertDirective = assertDirective; + exports.assertDirectiveLiteral = assertDirectiveLiteral; + exports.assertDoExpression = assertDoExpression; + exports.assertDoWhileStatement = assertDoWhileStatement; + exports.assertEmptyStatement = assertEmptyStatement; + exports.assertEmptyTypeAnnotation = assertEmptyTypeAnnotation; + exports.assertEnumBody = assertEnumBody; + exports.assertEnumBooleanBody = assertEnumBooleanBody; + exports.assertEnumBooleanMember = assertEnumBooleanMember; + exports.assertEnumDeclaration = assertEnumDeclaration; + exports.assertEnumDefaultedMember = assertEnumDefaultedMember; + exports.assertEnumMember = assertEnumMember; + exports.assertEnumNumberBody = assertEnumNumberBody; + exports.assertEnumNumberMember = assertEnumNumberMember; + exports.assertEnumStringBody = assertEnumStringBody; + exports.assertEnumStringMember = assertEnumStringMember; + exports.assertEnumSymbolBody = assertEnumSymbolBody; + exports.assertExistsTypeAnnotation = assertExistsTypeAnnotation; + exports.assertExportAllDeclaration = assertExportAllDeclaration; + exports.assertExportDeclaration = assertExportDeclaration; + exports.assertExportDefaultDeclaration = assertExportDefaultDeclaration; + exports.assertExportDefaultSpecifier = assertExportDefaultSpecifier; + exports.assertExportNamedDeclaration = assertExportNamedDeclaration; + exports.assertExportNamespaceSpecifier = assertExportNamespaceSpecifier; + exports.assertExportSpecifier = assertExportSpecifier; + exports.assertExpression = assertExpression; + exports.assertExpressionStatement = assertExpressionStatement; + exports.assertExpressionWrapper = assertExpressionWrapper; + exports.assertFile = assertFile; + exports.assertFlow = assertFlow; + exports.assertFlowBaseAnnotation = assertFlowBaseAnnotation; + exports.assertFlowDeclaration = assertFlowDeclaration; + exports.assertFlowPredicate = assertFlowPredicate; + exports.assertFlowType = assertFlowType; + exports.assertFor = assertFor; + exports.assertForInStatement = assertForInStatement; + exports.assertForOfStatement = assertForOfStatement; + exports.assertForStatement = assertForStatement; + exports.assertForXStatement = assertForXStatement; + exports.assertFunction = assertFunction; + exports.assertFunctionDeclaration = assertFunctionDeclaration; + exports.assertFunctionExpression = assertFunctionExpression; + exports.assertFunctionParent = assertFunctionParent; + exports.assertFunctionTypeAnnotation = assertFunctionTypeAnnotation; + exports.assertFunctionTypeParam = assertFunctionTypeParam; + exports.assertGenericTypeAnnotation = assertGenericTypeAnnotation; + exports.assertIdentifier = assertIdentifier; + exports.assertIfStatement = assertIfStatement; + exports.assertImmutable = assertImmutable; + exports.assertImport = assertImport; + exports.assertImportAttribute = assertImportAttribute; + exports.assertImportDeclaration = assertImportDeclaration; + exports.assertImportDefaultSpecifier = assertImportDefaultSpecifier; + exports.assertImportExpression = assertImportExpression; + exports.assertImportNamespaceSpecifier = assertImportNamespaceSpecifier; + exports.assertImportOrExportDeclaration = assertImportOrExportDeclaration; + exports.assertImportSpecifier = assertImportSpecifier; + exports.assertIndexedAccessType = assertIndexedAccessType; + exports.assertInferredPredicate = assertInferredPredicate; + exports.assertInterfaceDeclaration = assertInterfaceDeclaration; + exports.assertInterfaceExtends = assertInterfaceExtends; + exports.assertInterfaceTypeAnnotation = assertInterfaceTypeAnnotation; + exports.assertInterpreterDirective = assertInterpreterDirective; + exports.assertIntersectionTypeAnnotation = assertIntersectionTypeAnnotation; + exports.assertJSX = assertJSX; + exports.assertJSXAttribute = assertJSXAttribute; + exports.assertJSXClosingElement = assertJSXClosingElement; + exports.assertJSXClosingFragment = assertJSXClosingFragment; + exports.assertJSXElement = assertJSXElement; + exports.assertJSXEmptyExpression = assertJSXEmptyExpression; + exports.assertJSXExpressionContainer = assertJSXExpressionContainer; + exports.assertJSXFragment = assertJSXFragment; + exports.assertJSXIdentifier = assertJSXIdentifier; + exports.assertJSXMemberExpression = assertJSXMemberExpression; + exports.assertJSXNamespacedName = assertJSXNamespacedName; + exports.assertJSXOpeningElement = assertJSXOpeningElement; + exports.assertJSXOpeningFragment = assertJSXOpeningFragment; + exports.assertJSXSpreadAttribute = assertJSXSpreadAttribute; + exports.assertJSXSpreadChild = assertJSXSpreadChild; + exports.assertJSXText = assertJSXText; + exports.assertLVal = assertLVal; + exports.assertLabeledStatement = assertLabeledStatement; + exports.assertLiteral = assertLiteral; + exports.assertLogicalExpression = assertLogicalExpression; + exports.assertLoop = assertLoop; + exports.assertMemberExpression = assertMemberExpression; + exports.assertMetaProperty = assertMetaProperty; + exports.assertMethod = assertMethod; + exports.assertMiscellaneous = assertMiscellaneous; + exports.assertMixedTypeAnnotation = assertMixedTypeAnnotation; + exports.assertModuleDeclaration = assertModuleDeclaration; + exports.assertModuleExpression = assertModuleExpression; + exports.assertModuleSpecifier = assertModuleSpecifier; + exports.assertNewExpression = assertNewExpression; + exports.assertNoop = assertNoop; + exports.assertNullLiteral = assertNullLiteral; + exports.assertNullLiteralTypeAnnotation = assertNullLiteralTypeAnnotation; + exports.assertNullableTypeAnnotation = assertNullableTypeAnnotation; + exports.assertNumberLiteral = assertNumberLiteral; + exports.assertNumberLiteralTypeAnnotation = assertNumberLiteralTypeAnnotation; + exports.assertNumberTypeAnnotation = assertNumberTypeAnnotation; + exports.assertNumericLiteral = assertNumericLiteral; + exports.assertObjectExpression = assertObjectExpression; + exports.assertObjectMember = assertObjectMember; + exports.assertObjectMethod = assertObjectMethod; + exports.assertObjectPattern = assertObjectPattern; + exports.assertObjectProperty = assertObjectProperty; + exports.assertObjectTypeAnnotation = assertObjectTypeAnnotation; + exports.assertObjectTypeCallProperty = assertObjectTypeCallProperty; + exports.assertObjectTypeIndexer = assertObjectTypeIndexer; + exports.assertObjectTypeInternalSlot = assertObjectTypeInternalSlot; + exports.assertObjectTypeProperty = assertObjectTypeProperty; + exports.assertObjectTypeSpreadProperty = assertObjectTypeSpreadProperty; + exports.assertOpaqueType = assertOpaqueType; + exports.assertOptionalCallExpression = assertOptionalCallExpression; + exports.assertOptionalIndexedAccessType = assertOptionalIndexedAccessType; + exports.assertOptionalMemberExpression = assertOptionalMemberExpression; + exports.assertParenthesizedExpression = assertParenthesizedExpression; + exports.assertPattern = assertPattern; + exports.assertPatternLike = assertPatternLike; + exports.assertPipelineBareFunction = assertPipelineBareFunction; + exports.assertPipelinePrimaryTopicReference = assertPipelinePrimaryTopicReference; + exports.assertPipelineTopicExpression = assertPipelineTopicExpression; + exports.assertPlaceholder = assertPlaceholder; + exports.assertPrivate = assertPrivate; + exports.assertPrivateName = assertPrivateName; + exports.assertProgram = assertProgram; + exports.assertProperty = assertProperty; + exports.assertPureish = assertPureish; + exports.assertQualifiedTypeIdentifier = assertQualifiedTypeIdentifier; + exports.assertRecordExpression = assertRecordExpression; + exports.assertRegExpLiteral = assertRegExpLiteral; + exports.assertRegexLiteral = assertRegexLiteral; + exports.assertRestElement = assertRestElement; + exports.assertRestProperty = assertRestProperty; + exports.assertReturnStatement = assertReturnStatement; + exports.assertScopable = assertScopable; + exports.assertSequenceExpression = assertSequenceExpression; + exports.assertSpreadElement = assertSpreadElement; + exports.assertSpreadProperty = assertSpreadProperty; + exports.assertStandardized = assertStandardized; + exports.assertStatement = assertStatement; + exports.assertStaticBlock = assertStaticBlock; + exports.assertStringLiteral = assertStringLiteral; + exports.assertStringLiteralTypeAnnotation = assertStringLiteralTypeAnnotation; + exports.assertStringTypeAnnotation = assertStringTypeAnnotation; + exports.assertSuper = assertSuper; + exports.assertSwitchCase = assertSwitchCase; + exports.assertSwitchStatement = assertSwitchStatement; + exports.assertSymbolTypeAnnotation = assertSymbolTypeAnnotation; + exports.assertTSAnyKeyword = assertTSAnyKeyword; + exports.assertTSArrayType = assertTSArrayType; + exports.assertTSAsExpression = assertTSAsExpression; + exports.assertTSBaseType = assertTSBaseType; + exports.assertTSBigIntKeyword = assertTSBigIntKeyword; + exports.assertTSBooleanKeyword = assertTSBooleanKeyword; + exports.assertTSCallSignatureDeclaration = assertTSCallSignatureDeclaration; + exports.assertTSConditionalType = assertTSConditionalType; + exports.assertTSConstructSignatureDeclaration = assertTSConstructSignatureDeclaration; + exports.assertTSConstructorType = assertTSConstructorType; + exports.assertTSDeclareFunction = assertTSDeclareFunction; + exports.assertTSDeclareMethod = assertTSDeclareMethod; + exports.assertTSEntityName = assertTSEntityName; + exports.assertTSEnumDeclaration = assertTSEnumDeclaration; + exports.assertTSEnumMember = assertTSEnumMember; + exports.assertTSExportAssignment = assertTSExportAssignment; + exports.assertTSExpressionWithTypeArguments = assertTSExpressionWithTypeArguments; + exports.assertTSExternalModuleReference = assertTSExternalModuleReference; + exports.assertTSFunctionType = assertTSFunctionType; + exports.assertTSImportEqualsDeclaration = assertTSImportEqualsDeclaration; + exports.assertTSImportType = assertTSImportType; + exports.assertTSIndexSignature = assertTSIndexSignature; + exports.assertTSIndexedAccessType = assertTSIndexedAccessType; + exports.assertTSInferType = assertTSInferType; + exports.assertTSInstantiationExpression = assertTSInstantiationExpression; + exports.assertTSInterfaceBody = assertTSInterfaceBody; + exports.assertTSInterfaceDeclaration = assertTSInterfaceDeclaration; + exports.assertTSIntersectionType = assertTSIntersectionType; + exports.assertTSIntrinsicKeyword = assertTSIntrinsicKeyword; + exports.assertTSLiteralType = assertTSLiteralType; + exports.assertTSMappedType = assertTSMappedType; + exports.assertTSMethodSignature = assertTSMethodSignature; + exports.assertTSModuleBlock = assertTSModuleBlock; + exports.assertTSModuleDeclaration = assertTSModuleDeclaration; + exports.assertTSNamedTupleMember = assertTSNamedTupleMember; + exports.assertTSNamespaceExportDeclaration = assertTSNamespaceExportDeclaration; + exports.assertTSNeverKeyword = assertTSNeverKeyword; + exports.assertTSNonNullExpression = assertTSNonNullExpression; + exports.assertTSNullKeyword = assertTSNullKeyword; + exports.assertTSNumberKeyword = assertTSNumberKeyword; + exports.assertTSObjectKeyword = assertTSObjectKeyword; + exports.assertTSOptionalType = assertTSOptionalType; + exports.assertTSParameterProperty = assertTSParameterProperty; + exports.assertTSParenthesizedType = assertTSParenthesizedType; + exports.assertTSPropertySignature = assertTSPropertySignature; + exports.assertTSQualifiedName = assertTSQualifiedName; + exports.assertTSRestType = assertTSRestType; + exports.assertTSSatisfiesExpression = assertTSSatisfiesExpression; + exports.assertTSStringKeyword = assertTSStringKeyword; + exports.assertTSSymbolKeyword = assertTSSymbolKeyword; + exports.assertTSThisType = assertTSThisType; + exports.assertTSTupleType = assertTSTupleType; + exports.assertTSType = assertTSType; + exports.assertTSTypeAliasDeclaration = assertTSTypeAliasDeclaration; + exports.assertTSTypeAnnotation = assertTSTypeAnnotation; + exports.assertTSTypeAssertion = assertTSTypeAssertion; + exports.assertTSTypeElement = assertTSTypeElement; + exports.assertTSTypeLiteral = assertTSTypeLiteral; + exports.assertTSTypeOperator = assertTSTypeOperator; + exports.assertTSTypeParameter = assertTSTypeParameter; + exports.assertTSTypeParameterDeclaration = assertTSTypeParameterDeclaration; + exports.assertTSTypeParameterInstantiation = assertTSTypeParameterInstantiation; + exports.assertTSTypePredicate = assertTSTypePredicate; + exports.assertTSTypeQuery = assertTSTypeQuery; + exports.assertTSTypeReference = assertTSTypeReference; + exports.assertTSUndefinedKeyword = assertTSUndefinedKeyword; + exports.assertTSUnionType = assertTSUnionType; + exports.assertTSUnknownKeyword = assertTSUnknownKeyword; + exports.assertTSVoidKeyword = assertTSVoidKeyword; + exports.assertTaggedTemplateExpression = assertTaggedTemplateExpression; + exports.assertTemplateElement = assertTemplateElement; + exports.assertTemplateLiteral = assertTemplateLiteral; + exports.assertTerminatorless = assertTerminatorless; + exports.assertThisExpression = assertThisExpression; + exports.assertThisTypeAnnotation = assertThisTypeAnnotation; + exports.assertThrowStatement = assertThrowStatement; + exports.assertTopicReference = assertTopicReference; + exports.assertTryStatement = assertTryStatement; + exports.assertTupleExpression = assertTupleExpression; + exports.assertTupleTypeAnnotation = assertTupleTypeAnnotation; + exports.assertTypeAlias = assertTypeAlias; + exports.assertTypeAnnotation = assertTypeAnnotation; + exports.assertTypeCastExpression = assertTypeCastExpression; + exports.assertTypeParameter = assertTypeParameter; + exports.assertTypeParameterDeclaration = assertTypeParameterDeclaration; + exports.assertTypeParameterInstantiation = assertTypeParameterInstantiation; + exports.assertTypeScript = assertTypeScript; + exports.assertTypeofTypeAnnotation = assertTypeofTypeAnnotation; + exports.assertUnaryExpression = assertUnaryExpression; + exports.assertUnaryLike = assertUnaryLike; + exports.assertUnionTypeAnnotation = assertUnionTypeAnnotation; + exports.assertUpdateExpression = assertUpdateExpression; + exports.assertUserWhitespacable = assertUserWhitespacable; + exports.assertV8IntrinsicIdentifier = assertV8IntrinsicIdentifier; + exports.assertVariableDeclaration = assertVariableDeclaration; + exports.assertVariableDeclarator = assertVariableDeclarator; + exports.assertVariance = assertVariance; + exports.assertVoidTypeAnnotation = assertVoidTypeAnnotation; + exports.assertWhile = assertWhile; + exports.assertWhileStatement = assertWhileStatement; + exports.assertWithStatement = assertWithStatement; + exports.assertYieldExpression = assertYieldExpression; + var _is = require_is(); + var _deprecationWarning = require_deprecationWarning(); + function assert(type, node, opts) { + if (!(0, _is.default)(type, node, opts)) { + throw new Error(`Expected type "${type}" with option ${JSON.stringify(opts)}, but instead got "${node.type}".`); + } + } + function assertArrayExpression(node, opts) { + assert("ArrayExpression", node, opts); + } + function assertAssignmentExpression(node, opts) { + assert("AssignmentExpression", node, opts); + } + function assertBinaryExpression(node, opts) { + assert("BinaryExpression", node, opts); + } + function assertInterpreterDirective(node, opts) { + assert("InterpreterDirective", node, opts); + } + function assertDirective(node, opts) { + assert("Directive", node, opts); + } + function assertDirectiveLiteral(node, opts) { + assert("DirectiveLiteral", node, opts); + } + function assertBlockStatement(node, opts) { + assert("BlockStatement", node, opts); + } + function assertBreakStatement(node, opts) { + assert("BreakStatement", node, opts); + } + function assertCallExpression(node, opts) { + assert("CallExpression", node, opts); + } + function assertCatchClause(node, opts) { + assert("CatchClause", node, opts); + } + function assertConditionalExpression(node, opts) { + assert("ConditionalExpression", node, opts); + } + function assertContinueStatement(node, opts) { + assert("ContinueStatement", node, opts); + } + function assertDebuggerStatement(node, opts) { + assert("DebuggerStatement", node, opts); + } + function assertDoWhileStatement(node, opts) { + assert("DoWhileStatement", node, opts); + } + function assertEmptyStatement(node, opts) { + assert("EmptyStatement", node, opts); + } + function assertExpressionStatement(node, opts) { + assert("ExpressionStatement", node, opts); + } + function assertFile(node, opts) { + assert("File", node, opts); + } + function assertForInStatement(node, opts) { + assert("ForInStatement", node, opts); + } + function assertForStatement(node, opts) { + assert("ForStatement", node, opts); + } + function assertFunctionDeclaration(node, opts) { + assert("FunctionDeclaration", node, opts); + } + function assertFunctionExpression(node, opts) { + assert("FunctionExpression", node, opts); + } + function assertIdentifier(node, opts) { + assert("Identifier", node, opts); + } + function assertIfStatement(node, opts) { + assert("IfStatement", node, opts); + } + function assertLabeledStatement(node, opts) { + assert("LabeledStatement", node, opts); + } + function assertStringLiteral(node, opts) { + assert("StringLiteral", node, opts); + } + function assertNumericLiteral(node, opts) { + assert("NumericLiteral", node, opts); + } + function assertNullLiteral(node, opts) { + assert("NullLiteral", node, opts); + } + function assertBooleanLiteral(node, opts) { + assert("BooleanLiteral", node, opts); + } + function assertRegExpLiteral(node, opts) { + assert("RegExpLiteral", node, opts); + } + function assertLogicalExpression(node, opts) { + assert("LogicalExpression", node, opts); + } + function assertMemberExpression(node, opts) { + assert("MemberExpression", node, opts); + } + function assertNewExpression(node, opts) { + assert("NewExpression", node, opts); + } + function assertProgram(node, opts) { + assert("Program", node, opts); + } + function assertObjectExpression(node, opts) { + assert("ObjectExpression", node, opts); + } + function assertObjectMethod(node, opts) { + assert("ObjectMethod", node, opts); + } + function assertObjectProperty(node, opts) { + assert("ObjectProperty", node, opts); + } + function assertRestElement(node, opts) { + assert("RestElement", node, opts); + } + function assertReturnStatement(node, opts) { + assert("ReturnStatement", node, opts); + } + function assertSequenceExpression(node, opts) { + assert("SequenceExpression", node, opts); + } + function assertParenthesizedExpression(node, opts) { + assert("ParenthesizedExpression", node, opts); + } + function assertSwitchCase(node, opts) { + assert("SwitchCase", node, opts); + } + function assertSwitchStatement(node, opts) { + assert("SwitchStatement", node, opts); + } + function assertThisExpression(node, opts) { + assert("ThisExpression", node, opts); + } + function assertThrowStatement(node, opts) { + assert("ThrowStatement", node, opts); + } + function assertTryStatement(node, opts) { + assert("TryStatement", node, opts); + } + function assertUnaryExpression(node, opts) { + assert("UnaryExpression", node, opts); + } + function assertUpdateExpression(node, opts) { + assert("UpdateExpression", node, opts); + } + function assertVariableDeclaration(node, opts) { + assert("VariableDeclaration", node, opts); + } + function assertVariableDeclarator(node, opts) { + assert("VariableDeclarator", node, opts); + } + function assertWhileStatement(node, opts) { + assert("WhileStatement", node, opts); + } + function assertWithStatement(node, opts) { + assert("WithStatement", node, opts); + } + function assertAssignmentPattern(node, opts) { + assert("AssignmentPattern", node, opts); + } + function assertArrayPattern(node, opts) { + assert("ArrayPattern", node, opts); + } + function assertArrowFunctionExpression(node, opts) { + assert("ArrowFunctionExpression", node, opts); + } + function assertClassBody(node, opts) { + assert("ClassBody", node, opts); + } + function assertClassExpression(node, opts) { + assert("ClassExpression", node, opts); + } + function assertClassDeclaration(node, opts) { + assert("ClassDeclaration", node, opts); + } + function assertExportAllDeclaration(node, opts) { + assert("ExportAllDeclaration", node, opts); + } + function assertExportDefaultDeclaration(node, opts) { + assert("ExportDefaultDeclaration", node, opts); + } + function assertExportNamedDeclaration(node, opts) { + assert("ExportNamedDeclaration", node, opts); + } + function assertExportSpecifier(node, opts) { + assert("ExportSpecifier", node, opts); + } + function assertForOfStatement(node, opts) { + assert("ForOfStatement", node, opts); + } + function assertImportDeclaration(node, opts) { + assert("ImportDeclaration", node, opts); + } + function assertImportDefaultSpecifier(node, opts) { + assert("ImportDefaultSpecifier", node, opts); + } + function assertImportNamespaceSpecifier(node, opts) { + assert("ImportNamespaceSpecifier", node, opts); + } + function assertImportSpecifier(node, opts) { + assert("ImportSpecifier", node, opts); + } + function assertImportExpression(node, opts) { + assert("ImportExpression", node, opts); + } + function assertMetaProperty(node, opts) { + assert("MetaProperty", node, opts); + } + function assertClassMethod(node, opts) { + assert("ClassMethod", node, opts); + } + function assertObjectPattern(node, opts) { + assert("ObjectPattern", node, opts); + } + function assertSpreadElement(node, opts) { + assert("SpreadElement", node, opts); + } + function assertSuper(node, opts) { + assert("Super", node, opts); + } + function assertTaggedTemplateExpression(node, opts) { + assert("TaggedTemplateExpression", node, opts); + } + function assertTemplateElement(node, opts) { + assert("TemplateElement", node, opts); + } + function assertTemplateLiteral(node, opts) { + assert("TemplateLiteral", node, opts); + } + function assertYieldExpression(node, opts) { + assert("YieldExpression", node, opts); + } + function assertAwaitExpression(node, opts) { + assert("AwaitExpression", node, opts); + } + function assertImport(node, opts) { + assert("Import", node, opts); + } + function assertBigIntLiteral(node, opts) { + assert("BigIntLiteral", node, opts); + } + function assertExportNamespaceSpecifier(node, opts) { + assert("ExportNamespaceSpecifier", node, opts); + } + function assertOptionalMemberExpression(node, opts) { + assert("OptionalMemberExpression", node, opts); + } + function assertOptionalCallExpression(node, opts) { + assert("OptionalCallExpression", node, opts); + } + function assertClassProperty(node, opts) { + assert("ClassProperty", node, opts); + } + function assertClassAccessorProperty(node, opts) { + assert("ClassAccessorProperty", node, opts); + } + function assertClassPrivateProperty(node, opts) { + assert("ClassPrivateProperty", node, opts); + } + function assertClassPrivateMethod(node, opts) { + assert("ClassPrivateMethod", node, opts); + } + function assertPrivateName(node, opts) { + assert("PrivateName", node, opts); + } + function assertStaticBlock(node, opts) { + assert("StaticBlock", node, opts); + } + function assertAnyTypeAnnotation(node, opts) { + assert("AnyTypeAnnotation", node, opts); + } + function assertArrayTypeAnnotation(node, opts) { + assert("ArrayTypeAnnotation", node, opts); + } + function assertBooleanTypeAnnotation(node, opts) { + assert("BooleanTypeAnnotation", node, opts); + } + function assertBooleanLiteralTypeAnnotation(node, opts) { + assert("BooleanLiteralTypeAnnotation", node, opts); + } + function assertNullLiteralTypeAnnotation(node, opts) { + assert("NullLiteralTypeAnnotation", node, opts); + } + function assertClassImplements(node, opts) { + assert("ClassImplements", node, opts); + } + function assertDeclareClass(node, opts) { + assert("DeclareClass", node, opts); + } + function assertDeclareFunction(node, opts) { + assert("DeclareFunction", node, opts); + } + function assertDeclareInterface(node, opts) { + assert("DeclareInterface", node, opts); + } + function assertDeclareModule(node, opts) { + assert("DeclareModule", node, opts); + } + function assertDeclareModuleExports(node, opts) { + assert("DeclareModuleExports", node, opts); + } + function assertDeclareTypeAlias(node, opts) { + assert("DeclareTypeAlias", node, opts); + } + function assertDeclareOpaqueType(node, opts) { + assert("DeclareOpaqueType", node, opts); + } + function assertDeclareVariable(node, opts) { + assert("DeclareVariable", node, opts); + } + function assertDeclareExportDeclaration(node, opts) { + assert("DeclareExportDeclaration", node, opts); + } + function assertDeclareExportAllDeclaration(node, opts) { + assert("DeclareExportAllDeclaration", node, opts); + } + function assertDeclaredPredicate(node, opts) { + assert("DeclaredPredicate", node, opts); + } + function assertExistsTypeAnnotation(node, opts) { + assert("ExistsTypeAnnotation", node, opts); + } + function assertFunctionTypeAnnotation(node, opts) { + assert("FunctionTypeAnnotation", node, opts); + } + function assertFunctionTypeParam(node, opts) { + assert("FunctionTypeParam", node, opts); + } + function assertGenericTypeAnnotation(node, opts) { + assert("GenericTypeAnnotation", node, opts); + } + function assertInferredPredicate(node, opts) { + assert("InferredPredicate", node, opts); + } + function assertInterfaceExtends(node, opts) { + assert("InterfaceExtends", node, opts); + } + function assertInterfaceDeclaration(node, opts) { + assert("InterfaceDeclaration", node, opts); + } + function assertInterfaceTypeAnnotation(node, opts) { + assert("InterfaceTypeAnnotation", node, opts); + } + function assertIntersectionTypeAnnotation(node, opts) { + assert("IntersectionTypeAnnotation", node, opts); + } + function assertMixedTypeAnnotation(node, opts) { + assert("MixedTypeAnnotation", node, opts); + } + function assertEmptyTypeAnnotation(node, opts) { + assert("EmptyTypeAnnotation", node, opts); + } + function assertNullableTypeAnnotation(node, opts) { + assert("NullableTypeAnnotation", node, opts); + } + function assertNumberLiteralTypeAnnotation(node, opts) { + assert("NumberLiteralTypeAnnotation", node, opts); + } + function assertNumberTypeAnnotation(node, opts) { + assert("NumberTypeAnnotation", node, opts); + } + function assertObjectTypeAnnotation(node, opts) { + assert("ObjectTypeAnnotation", node, opts); + } + function assertObjectTypeInternalSlot(node, opts) { + assert("ObjectTypeInternalSlot", node, opts); + } + function assertObjectTypeCallProperty(node, opts) { + assert("ObjectTypeCallProperty", node, opts); + } + function assertObjectTypeIndexer(node, opts) { + assert("ObjectTypeIndexer", node, opts); + } + function assertObjectTypeProperty(node, opts) { + assert("ObjectTypeProperty", node, opts); + } + function assertObjectTypeSpreadProperty(node, opts) { + assert("ObjectTypeSpreadProperty", node, opts); + } + function assertOpaqueType(node, opts) { + assert("OpaqueType", node, opts); + } + function assertQualifiedTypeIdentifier(node, opts) { + assert("QualifiedTypeIdentifier", node, opts); + } + function assertStringLiteralTypeAnnotation(node, opts) { + assert("StringLiteralTypeAnnotation", node, opts); + } + function assertStringTypeAnnotation(node, opts) { + assert("StringTypeAnnotation", node, opts); + } + function assertSymbolTypeAnnotation(node, opts) { + assert("SymbolTypeAnnotation", node, opts); + } + function assertThisTypeAnnotation(node, opts) { + assert("ThisTypeAnnotation", node, opts); + } + function assertTupleTypeAnnotation(node, opts) { + assert("TupleTypeAnnotation", node, opts); + } + function assertTypeofTypeAnnotation(node, opts) { + assert("TypeofTypeAnnotation", node, opts); + } + function assertTypeAlias(node, opts) { + assert("TypeAlias", node, opts); + } + function assertTypeAnnotation(node, opts) { + assert("TypeAnnotation", node, opts); + } + function assertTypeCastExpression(node, opts) { + assert("TypeCastExpression", node, opts); + } + function assertTypeParameter(node, opts) { + assert("TypeParameter", node, opts); + } + function assertTypeParameterDeclaration(node, opts) { + assert("TypeParameterDeclaration", node, opts); + } + function assertTypeParameterInstantiation(node, opts) { + assert("TypeParameterInstantiation", node, opts); + } + function assertUnionTypeAnnotation(node, opts) { + assert("UnionTypeAnnotation", node, opts); + } + function assertVariance(node, opts) { + assert("Variance", node, opts); + } + function assertVoidTypeAnnotation(node, opts) { + assert("VoidTypeAnnotation", node, opts); + } + function assertEnumDeclaration(node, opts) { + assert("EnumDeclaration", node, opts); + } + function assertEnumBooleanBody(node, opts) { + assert("EnumBooleanBody", node, opts); + } + function assertEnumNumberBody(node, opts) { + assert("EnumNumberBody", node, opts); + } + function assertEnumStringBody(node, opts) { + assert("EnumStringBody", node, opts); + } + function assertEnumSymbolBody(node, opts) { + assert("EnumSymbolBody", node, opts); + } + function assertEnumBooleanMember(node, opts) { + assert("EnumBooleanMember", node, opts); + } + function assertEnumNumberMember(node, opts) { + assert("EnumNumberMember", node, opts); + } + function assertEnumStringMember(node, opts) { + assert("EnumStringMember", node, opts); + } + function assertEnumDefaultedMember(node, opts) { + assert("EnumDefaultedMember", node, opts); + } + function assertIndexedAccessType(node, opts) { + assert("IndexedAccessType", node, opts); + } + function assertOptionalIndexedAccessType(node, opts) { + assert("OptionalIndexedAccessType", node, opts); + } + function assertJSXAttribute(node, opts) { + assert("JSXAttribute", node, opts); + } + function assertJSXClosingElement(node, opts) { + assert("JSXClosingElement", node, opts); + } + function assertJSXElement(node, opts) { + assert("JSXElement", node, opts); + } + function assertJSXEmptyExpression(node, opts) { + assert("JSXEmptyExpression", node, opts); + } + function assertJSXExpressionContainer(node, opts) { + assert("JSXExpressionContainer", node, opts); + } + function assertJSXSpreadChild(node, opts) { + assert("JSXSpreadChild", node, opts); + } + function assertJSXIdentifier(node, opts) { + assert("JSXIdentifier", node, opts); + } + function assertJSXMemberExpression(node, opts) { + assert("JSXMemberExpression", node, opts); + } + function assertJSXNamespacedName(node, opts) { + assert("JSXNamespacedName", node, opts); + } + function assertJSXOpeningElement(node, opts) { + assert("JSXOpeningElement", node, opts); + } + function assertJSXSpreadAttribute(node, opts) { + assert("JSXSpreadAttribute", node, opts); + } + function assertJSXText(node, opts) { + assert("JSXText", node, opts); + } + function assertJSXFragment(node, opts) { + assert("JSXFragment", node, opts); + } + function assertJSXOpeningFragment(node, opts) { + assert("JSXOpeningFragment", node, opts); + } + function assertJSXClosingFragment(node, opts) { + assert("JSXClosingFragment", node, opts); + } + function assertNoop(node, opts) { + assert("Noop", node, opts); + } + function assertPlaceholder(node, opts) { + assert("Placeholder", node, opts); + } + function assertV8IntrinsicIdentifier(node, opts) { + assert("V8IntrinsicIdentifier", node, opts); + } + function assertArgumentPlaceholder(node, opts) { + assert("ArgumentPlaceholder", node, opts); + } + function assertBindExpression(node, opts) { + assert("BindExpression", node, opts); + } + function assertImportAttribute(node, opts) { + assert("ImportAttribute", node, opts); + } + function assertDecorator(node, opts) { + assert("Decorator", node, opts); + } + function assertDoExpression(node, opts) { + assert("DoExpression", node, opts); + } + function assertExportDefaultSpecifier(node, opts) { + assert("ExportDefaultSpecifier", node, opts); + } + function assertRecordExpression(node, opts) { + assert("RecordExpression", node, opts); + } + function assertTupleExpression(node, opts) { + assert("TupleExpression", node, opts); + } + function assertDecimalLiteral(node, opts) { + assert("DecimalLiteral", node, opts); + } + function assertModuleExpression(node, opts) { + assert("ModuleExpression", node, opts); + } + function assertTopicReference(node, opts) { + assert("TopicReference", node, opts); + } + function assertPipelineTopicExpression(node, opts) { + assert("PipelineTopicExpression", node, opts); + } + function assertPipelineBareFunction(node, opts) { + assert("PipelineBareFunction", node, opts); + } + function assertPipelinePrimaryTopicReference(node, opts) { + assert("PipelinePrimaryTopicReference", node, opts); + } + function assertTSParameterProperty(node, opts) { + assert("TSParameterProperty", node, opts); + } + function assertTSDeclareFunction(node, opts) { + assert("TSDeclareFunction", node, opts); + } + function assertTSDeclareMethod(node, opts) { + assert("TSDeclareMethod", node, opts); + } + function assertTSQualifiedName(node, opts) { + assert("TSQualifiedName", node, opts); + } + function assertTSCallSignatureDeclaration(node, opts) { + assert("TSCallSignatureDeclaration", node, opts); + } + function assertTSConstructSignatureDeclaration(node, opts) { + assert("TSConstructSignatureDeclaration", node, opts); + } + function assertTSPropertySignature(node, opts) { + assert("TSPropertySignature", node, opts); + } + function assertTSMethodSignature(node, opts) { + assert("TSMethodSignature", node, opts); + } + function assertTSIndexSignature(node, opts) { + assert("TSIndexSignature", node, opts); + } + function assertTSAnyKeyword(node, opts) { + assert("TSAnyKeyword", node, opts); + } + function assertTSBooleanKeyword(node, opts) { + assert("TSBooleanKeyword", node, opts); + } + function assertTSBigIntKeyword(node, opts) { + assert("TSBigIntKeyword", node, opts); + } + function assertTSIntrinsicKeyword(node, opts) { + assert("TSIntrinsicKeyword", node, opts); + } + function assertTSNeverKeyword(node, opts) { + assert("TSNeverKeyword", node, opts); + } + function assertTSNullKeyword(node, opts) { + assert("TSNullKeyword", node, opts); + } + function assertTSNumberKeyword(node, opts) { + assert("TSNumberKeyword", node, opts); + } + function assertTSObjectKeyword(node, opts) { + assert("TSObjectKeyword", node, opts); + } + function assertTSStringKeyword(node, opts) { + assert("TSStringKeyword", node, opts); + } + function assertTSSymbolKeyword(node, opts) { + assert("TSSymbolKeyword", node, opts); + } + function assertTSUndefinedKeyword(node, opts) { + assert("TSUndefinedKeyword", node, opts); + } + function assertTSUnknownKeyword(node, opts) { + assert("TSUnknownKeyword", node, opts); + } + function assertTSVoidKeyword(node, opts) { + assert("TSVoidKeyword", node, opts); + } + function assertTSThisType(node, opts) { + assert("TSThisType", node, opts); + } + function assertTSFunctionType(node, opts) { + assert("TSFunctionType", node, opts); + } + function assertTSConstructorType(node, opts) { + assert("TSConstructorType", node, opts); + } + function assertTSTypeReference(node, opts) { + assert("TSTypeReference", node, opts); + } + function assertTSTypePredicate(node, opts) { + assert("TSTypePredicate", node, opts); + } + function assertTSTypeQuery(node, opts) { + assert("TSTypeQuery", node, opts); + } + function assertTSTypeLiteral(node, opts) { + assert("TSTypeLiteral", node, opts); + } + function assertTSArrayType(node, opts) { + assert("TSArrayType", node, opts); + } + function assertTSTupleType(node, opts) { + assert("TSTupleType", node, opts); + } + function assertTSOptionalType(node, opts) { + assert("TSOptionalType", node, opts); + } + function assertTSRestType(node, opts) { + assert("TSRestType", node, opts); + } + function assertTSNamedTupleMember(node, opts) { + assert("TSNamedTupleMember", node, opts); + } + function assertTSUnionType(node, opts) { + assert("TSUnionType", node, opts); + } + function assertTSIntersectionType(node, opts) { + assert("TSIntersectionType", node, opts); + } + function assertTSConditionalType(node, opts) { + assert("TSConditionalType", node, opts); + } + function assertTSInferType(node, opts) { + assert("TSInferType", node, opts); + } + function assertTSParenthesizedType(node, opts) { + assert("TSParenthesizedType", node, opts); + } + function assertTSTypeOperator(node, opts) { + assert("TSTypeOperator", node, opts); + } + function assertTSIndexedAccessType(node, opts) { + assert("TSIndexedAccessType", node, opts); + } + function assertTSMappedType(node, opts) { + assert("TSMappedType", node, opts); + } + function assertTSLiteralType(node, opts) { + assert("TSLiteralType", node, opts); + } + function assertTSExpressionWithTypeArguments(node, opts) { + assert("TSExpressionWithTypeArguments", node, opts); + } + function assertTSInterfaceDeclaration(node, opts) { + assert("TSInterfaceDeclaration", node, opts); + } + function assertTSInterfaceBody(node, opts) { + assert("TSInterfaceBody", node, opts); + } + function assertTSTypeAliasDeclaration(node, opts) { + assert("TSTypeAliasDeclaration", node, opts); + } + function assertTSInstantiationExpression(node, opts) { + assert("TSInstantiationExpression", node, opts); + } + function assertTSAsExpression(node, opts) { + assert("TSAsExpression", node, opts); + } + function assertTSSatisfiesExpression(node, opts) { + assert("TSSatisfiesExpression", node, opts); + } + function assertTSTypeAssertion(node, opts) { + assert("TSTypeAssertion", node, opts); + } + function assertTSEnumDeclaration(node, opts) { + assert("TSEnumDeclaration", node, opts); + } + function assertTSEnumMember(node, opts) { + assert("TSEnumMember", node, opts); + } + function assertTSModuleDeclaration(node, opts) { + assert("TSModuleDeclaration", node, opts); + } + function assertTSModuleBlock(node, opts) { + assert("TSModuleBlock", node, opts); + } + function assertTSImportType(node, opts) { + assert("TSImportType", node, opts); + } + function assertTSImportEqualsDeclaration(node, opts) { + assert("TSImportEqualsDeclaration", node, opts); + } + function assertTSExternalModuleReference(node, opts) { + assert("TSExternalModuleReference", node, opts); + } + function assertTSNonNullExpression(node, opts) { + assert("TSNonNullExpression", node, opts); + } + function assertTSExportAssignment(node, opts) { + assert("TSExportAssignment", node, opts); + } + function assertTSNamespaceExportDeclaration(node, opts) { + assert("TSNamespaceExportDeclaration", node, opts); + } + function assertTSTypeAnnotation(node, opts) { + assert("TSTypeAnnotation", node, opts); + } + function assertTSTypeParameterInstantiation(node, opts) { + assert("TSTypeParameterInstantiation", node, opts); + } + function assertTSTypeParameterDeclaration(node, opts) { + assert("TSTypeParameterDeclaration", node, opts); + } + function assertTSTypeParameter(node, opts) { + assert("TSTypeParameter", node, opts); + } + function assertStandardized(node, opts) { + assert("Standardized", node, opts); + } + function assertExpression(node, opts) { + assert("Expression", node, opts); + } + function assertBinary(node, opts) { + assert("Binary", node, opts); + } + function assertScopable(node, opts) { + assert("Scopable", node, opts); + } + function assertBlockParent(node, opts) { + assert("BlockParent", node, opts); + } + function assertBlock(node, opts) { + assert("Block", node, opts); + } + function assertStatement(node, opts) { + assert("Statement", node, opts); + } + function assertTerminatorless(node, opts) { + assert("Terminatorless", node, opts); + } + function assertCompletionStatement(node, opts) { + assert("CompletionStatement", node, opts); + } + function assertConditional(node, opts) { + assert("Conditional", node, opts); + } + function assertLoop(node, opts) { + assert("Loop", node, opts); + } + function assertWhile(node, opts) { + assert("While", node, opts); + } + function assertExpressionWrapper(node, opts) { + assert("ExpressionWrapper", node, opts); + } + function assertFor(node, opts) { + assert("For", node, opts); + } + function assertForXStatement(node, opts) { + assert("ForXStatement", node, opts); + } + function assertFunction(node, opts) { + assert("Function", node, opts); + } + function assertFunctionParent(node, opts) { + assert("FunctionParent", node, opts); + } + function assertPureish(node, opts) { + assert("Pureish", node, opts); + } + function assertDeclaration(node, opts) { + assert("Declaration", node, opts); + } + function assertPatternLike(node, opts) { + assert("PatternLike", node, opts); + } + function assertLVal(node, opts) { + assert("LVal", node, opts); + } + function assertTSEntityName(node, opts) { + assert("TSEntityName", node, opts); + } + function assertLiteral(node, opts) { + assert("Literal", node, opts); + } + function assertImmutable(node, opts) { + assert("Immutable", node, opts); + } + function assertUserWhitespacable(node, opts) { + assert("UserWhitespacable", node, opts); + } + function assertMethod(node, opts) { + assert("Method", node, opts); + } + function assertObjectMember(node, opts) { + assert("ObjectMember", node, opts); + } + function assertProperty(node, opts) { + assert("Property", node, opts); + } + function assertUnaryLike(node, opts) { + assert("UnaryLike", node, opts); + } + function assertPattern(node, opts) { + assert("Pattern", node, opts); + } + function assertClass(node, opts) { + assert("Class", node, opts); + } + function assertImportOrExportDeclaration(node, opts) { + assert("ImportOrExportDeclaration", node, opts); + } + function assertExportDeclaration(node, opts) { + assert("ExportDeclaration", node, opts); + } + function assertModuleSpecifier(node, opts) { + assert("ModuleSpecifier", node, opts); + } + function assertAccessor(node, opts) { + assert("Accessor", node, opts); + } + function assertPrivate(node, opts) { + assert("Private", node, opts); + } + function assertFlow(node, opts) { + assert("Flow", node, opts); + } + function assertFlowType(node, opts) { + assert("FlowType", node, opts); + } + function assertFlowBaseAnnotation(node, opts) { + assert("FlowBaseAnnotation", node, opts); + } + function assertFlowDeclaration(node, opts) { + assert("FlowDeclaration", node, opts); + } + function assertFlowPredicate(node, opts) { + assert("FlowPredicate", node, opts); + } + function assertEnumBody(node, opts) { + assert("EnumBody", node, opts); + } + function assertEnumMember(node, opts) { + assert("EnumMember", node, opts); + } + function assertJSX(node, opts) { + assert("JSX", node, opts); + } + function assertMiscellaneous(node, opts) { + assert("Miscellaneous", node, opts); + } + function assertTypeScript(node, opts) { + assert("TypeScript", node, opts); + } + function assertTSTypeElement(node, opts) { + assert("TSTypeElement", node, opts); + } + function assertTSType(node, opts) { + assert("TSType", node, opts); + } + function assertTSBaseType(node, opts) { + assert("TSBaseType", node, opts); + } + function assertNumberLiteral(node, opts) { + (0, _deprecationWarning.default)("assertNumberLiteral", "assertNumericLiteral"); + assert("NumberLiteral", node, opts); + } + function assertRegexLiteral(node, opts) { + (0, _deprecationWarning.default)("assertRegexLiteral", "assertRegExpLiteral"); + assert("RegexLiteral", node, opts); + } + function assertRestProperty(node, opts) { + (0, _deprecationWarning.default)("assertRestProperty", "assertRestElement"); + assert("RestProperty", node, opts); + } + function assertSpreadProperty(node, opts) { + (0, _deprecationWarning.default)("assertSpreadProperty", "assertSpreadElement"); + assert("SpreadProperty", node, opts); + } + function assertModuleDeclaration(node, opts) { + (0, _deprecationWarning.default)("assertModuleDeclaration", "assertImportOrExportDeclaration"); + assert("ModuleDeclaration", node, opts); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js +var require_createTypeAnnotationBasedOnTypeof = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _index = require_generated2(); + var _default = exports.default = createTypeAnnotationBasedOnTypeof; + function createTypeAnnotationBasedOnTypeof(type) { + switch (type) { + case "string": + return (0, _index.stringTypeAnnotation)(); + case "number": + return (0, _index.numberTypeAnnotation)(); + case "undefined": + return (0, _index.voidTypeAnnotation)(); + case "boolean": + return (0, _index.booleanTypeAnnotation)(); + case "function": + return (0, _index.genericTypeAnnotation)((0, _index.identifier)("Function")); + case "object": + return (0, _index.genericTypeAnnotation)((0, _index.identifier)("Object")); + case "symbol": + return (0, _index.genericTypeAnnotation)((0, _index.identifier)("Symbol")); + case "bigint": + return (0, _index.anyTypeAnnotation)(); + } + throw new Error("Invalid typeof value: " + type); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js +var require_removeTypeDuplicates = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = removeTypeDuplicates; + var _index = require_generated(); + function getQualifiedName(node) { + return (0, _index.isIdentifier)(node) ? node.name : `${node.id.name}.${getQualifiedName(node.qualification)}`; + } + function removeTypeDuplicates(nodesIn) { + const nodes = Array.from(nodesIn); + const generics = /* @__PURE__ */ new Map(); + const bases = /* @__PURE__ */ new Map(); + const typeGroups = /* @__PURE__ */ new Set(); + const types = []; + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (!node) continue; + if (types.includes(node)) { + continue; + } + if ((0, _index.isAnyTypeAnnotation)(node)) { + return [node]; + } + if ((0, _index.isFlowBaseAnnotation)(node)) { + bases.set(node.type, node); + continue; + } + if ((0, _index.isUnionTypeAnnotation)(node)) { + if (!typeGroups.has(node.types)) { + nodes.push(...node.types); + typeGroups.add(node.types); + } + continue; + } + if ((0, _index.isGenericTypeAnnotation)(node)) { + const name = getQualifiedName(node.id); + if (generics.has(name)) { + let existing = generics.get(name); + if (existing.typeParameters) { + if (node.typeParameters) { + existing.typeParameters.params.push(...node.typeParameters.params); + existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params); + } + } else { + existing = node.typeParameters; + } + } else { + generics.set(name, node); + } + continue; + } + types.push(node); + } + for (const [, baseType] of bases) { + types.push(baseType); + } + for (const [, genericName] of generics) { + types.push(genericName); + } + return types; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js +var require_createFlowUnionType = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = createFlowUnionType; + var _index = require_generated2(); + var _removeTypeDuplicates = require_removeTypeDuplicates(); + function createFlowUnionType(types) { + const flattened = (0, _removeTypeDuplicates.default)(types); + if (flattened.length === 1) { + return flattened[0]; + } else { + return (0, _index.unionTypeAnnotation)(flattened); + } + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js +var require_removeTypeDuplicates2 = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = removeTypeDuplicates; + var _index = require_generated(); + function getQualifiedName(node) { + return (0, _index.isIdentifier)(node) ? node.name : `${node.right.name}.${getQualifiedName(node.left)}`; + } + function removeTypeDuplicates(nodesIn) { + const nodes = Array.from(nodesIn); + const generics = /* @__PURE__ */ new Map(); + const bases = /* @__PURE__ */ new Map(); + const typeGroups = /* @__PURE__ */ new Set(); + const types = []; + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (!node) continue; + if (types.includes(node)) { + continue; + } + if ((0, _index.isTSAnyKeyword)(node)) { + return [node]; + } + if ((0, _index.isTSBaseType)(node)) { + bases.set(node.type, node); + continue; + } + if ((0, _index.isTSUnionType)(node)) { + if (!typeGroups.has(node.types)) { + nodes.push(...node.types); + typeGroups.add(node.types); + } + continue; + } + if ((0, _index.isTSTypeReference)(node) && node.typeParameters) { + const name = getQualifiedName(node.typeName); + if (generics.has(name)) { + let existing = generics.get(name); + if (existing.typeParameters) { + if (node.typeParameters) { + existing.typeParameters.params.push(...node.typeParameters.params); + existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params); + } + } else { + existing = node.typeParameters; + } + } else { + generics.set(name, node); + } + continue; + } + types.push(node); + } + for (const [, baseType] of bases) { + types.push(baseType); + } + for (const [, genericName] of generics) { + types.push(genericName); + } + return types; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js +var require_createTSUnionType = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = createTSUnionType; + var _index = require_generated2(); + var _removeTypeDuplicates = require_removeTypeDuplicates2(); + var _index2 = require_generated(); + function createTSUnionType(typeAnnotations) { + const types = typeAnnotations.map((type) => { + return (0, _index2.isTSTypeAnnotation)(type) ? type.typeAnnotation : type; + }); + const flattened = (0, _removeTypeDuplicates.default)(types); + if (flattened.length === 1) { + return flattened[0]; + } else { + return (0, _index.tsUnionType)(flattened); + } + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/builders/generated/uppercase.js +var require_uppercase = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/builders/generated/uppercase.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "AnyTypeAnnotation", { + enumerable: true, + get: function() { + return _index.anyTypeAnnotation; + } + }); + Object.defineProperty(exports, "ArgumentPlaceholder", { + enumerable: true, + get: function() { + return _index.argumentPlaceholder; + } + }); + Object.defineProperty(exports, "ArrayExpression", { + enumerable: true, + get: function() { + return _index.arrayExpression; + } + }); + Object.defineProperty(exports, "ArrayPattern", { + enumerable: true, + get: function() { + return _index.arrayPattern; + } + }); + Object.defineProperty(exports, "ArrayTypeAnnotation", { + enumerable: true, + get: function() { + return _index.arrayTypeAnnotation; + } + }); + Object.defineProperty(exports, "ArrowFunctionExpression", { + enumerable: true, + get: function() { + return _index.arrowFunctionExpression; + } + }); + Object.defineProperty(exports, "AssignmentExpression", { + enumerable: true, + get: function() { + return _index.assignmentExpression; + } + }); + Object.defineProperty(exports, "AssignmentPattern", { + enumerable: true, + get: function() { + return _index.assignmentPattern; + } + }); + Object.defineProperty(exports, "AwaitExpression", { + enumerable: true, + get: function() { + return _index.awaitExpression; + } + }); + Object.defineProperty(exports, "BigIntLiteral", { + enumerable: true, + get: function() { + return _index.bigIntLiteral; + } + }); + Object.defineProperty(exports, "BinaryExpression", { + enumerable: true, + get: function() { + return _index.binaryExpression; + } + }); + Object.defineProperty(exports, "BindExpression", { + enumerable: true, + get: function() { + return _index.bindExpression; + } + }); + Object.defineProperty(exports, "BlockStatement", { + enumerable: true, + get: function() { + return _index.blockStatement; + } + }); + Object.defineProperty(exports, "BooleanLiteral", { + enumerable: true, + get: function() { + return _index.booleanLiteral; + } + }); + Object.defineProperty(exports, "BooleanLiteralTypeAnnotation", { + enumerable: true, + get: function() { + return _index.booleanLiteralTypeAnnotation; + } + }); + Object.defineProperty(exports, "BooleanTypeAnnotation", { + enumerable: true, + get: function() { + return _index.booleanTypeAnnotation; + } + }); + Object.defineProperty(exports, "BreakStatement", { + enumerable: true, + get: function() { + return _index.breakStatement; + } + }); + Object.defineProperty(exports, "CallExpression", { + enumerable: true, + get: function() { + return _index.callExpression; + } + }); + Object.defineProperty(exports, "CatchClause", { + enumerable: true, + get: function() { + return _index.catchClause; + } + }); + Object.defineProperty(exports, "ClassAccessorProperty", { + enumerable: true, + get: function() { + return _index.classAccessorProperty; + } + }); + Object.defineProperty(exports, "ClassBody", { + enumerable: true, + get: function() { + return _index.classBody; + } + }); + Object.defineProperty(exports, "ClassDeclaration", { + enumerable: true, + get: function() { + return _index.classDeclaration; + } + }); + Object.defineProperty(exports, "ClassExpression", { + enumerable: true, + get: function() { + return _index.classExpression; + } + }); + Object.defineProperty(exports, "ClassImplements", { + enumerable: true, + get: function() { + return _index.classImplements; + } + }); + Object.defineProperty(exports, "ClassMethod", { + enumerable: true, + get: function() { + return _index.classMethod; + } + }); + Object.defineProperty(exports, "ClassPrivateMethod", { + enumerable: true, + get: function() { + return _index.classPrivateMethod; + } + }); + Object.defineProperty(exports, "ClassPrivateProperty", { + enumerable: true, + get: function() { + return _index.classPrivateProperty; + } + }); + Object.defineProperty(exports, "ClassProperty", { + enumerable: true, + get: function() { + return _index.classProperty; + } + }); + Object.defineProperty(exports, "ConditionalExpression", { + enumerable: true, + get: function() { + return _index.conditionalExpression; + } + }); + Object.defineProperty(exports, "ContinueStatement", { + enumerable: true, + get: function() { + return _index.continueStatement; + } + }); + Object.defineProperty(exports, "DebuggerStatement", { + enumerable: true, + get: function() { + return _index.debuggerStatement; + } + }); + Object.defineProperty(exports, "DecimalLiteral", { + enumerable: true, + get: function() { + return _index.decimalLiteral; + } + }); + Object.defineProperty(exports, "DeclareClass", { + enumerable: true, + get: function() { + return _index.declareClass; + } + }); + Object.defineProperty(exports, "DeclareExportAllDeclaration", { + enumerable: true, + get: function() { + return _index.declareExportAllDeclaration; + } + }); + Object.defineProperty(exports, "DeclareExportDeclaration", { + enumerable: true, + get: function() { + return _index.declareExportDeclaration; + } + }); + Object.defineProperty(exports, "DeclareFunction", { + enumerable: true, + get: function() { + return _index.declareFunction; + } + }); + Object.defineProperty(exports, "DeclareInterface", { + enumerable: true, + get: function() { + return _index.declareInterface; + } + }); + Object.defineProperty(exports, "DeclareModule", { + enumerable: true, + get: function() { + return _index.declareModule; + } + }); + Object.defineProperty(exports, "DeclareModuleExports", { + enumerable: true, + get: function() { + return _index.declareModuleExports; + } + }); + Object.defineProperty(exports, "DeclareOpaqueType", { + enumerable: true, + get: function() { + return _index.declareOpaqueType; + } + }); + Object.defineProperty(exports, "DeclareTypeAlias", { + enumerable: true, + get: function() { + return _index.declareTypeAlias; + } + }); + Object.defineProperty(exports, "DeclareVariable", { + enumerable: true, + get: function() { + return _index.declareVariable; + } + }); + Object.defineProperty(exports, "DeclaredPredicate", { + enumerable: true, + get: function() { + return _index.declaredPredicate; + } + }); + Object.defineProperty(exports, "Decorator", { + enumerable: true, + get: function() { + return _index.decorator; + } + }); + Object.defineProperty(exports, "Directive", { + enumerable: true, + get: function() { + return _index.directive; + } + }); + Object.defineProperty(exports, "DirectiveLiteral", { + enumerable: true, + get: function() { + return _index.directiveLiteral; + } + }); + Object.defineProperty(exports, "DoExpression", { + enumerable: true, + get: function() { + return _index.doExpression; + } + }); + Object.defineProperty(exports, "DoWhileStatement", { + enumerable: true, + get: function() { + return _index.doWhileStatement; + } + }); + Object.defineProperty(exports, "EmptyStatement", { + enumerable: true, + get: function() { + return _index.emptyStatement; + } + }); + Object.defineProperty(exports, "EmptyTypeAnnotation", { + enumerable: true, + get: function() { + return _index.emptyTypeAnnotation; + } + }); + Object.defineProperty(exports, "EnumBooleanBody", { + enumerable: true, + get: function() { + return _index.enumBooleanBody; + } + }); + Object.defineProperty(exports, "EnumBooleanMember", { + enumerable: true, + get: function() { + return _index.enumBooleanMember; + } + }); + Object.defineProperty(exports, "EnumDeclaration", { + enumerable: true, + get: function() { + return _index.enumDeclaration; + } + }); + Object.defineProperty(exports, "EnumDefaultedMember", { + enumerable: true, + get: function() { + return _index.enumDefaultedMember; + } + }); + Object.defineProperty(exports, "EnumNumberBody", { + enumerable: true, + get: function() { + return _index.enumNumberBody; + } + }); + Object.defineProperty(exports, "EnumNumberMember", { + enumerable: true, + get: function() { + return _index.enumNumberMember; + } + }); + Object.defineProperty(exports, "EnumStringBody", { + enumerable: true, + get: function() { + return _index.enumStringBody; + } + }); + Object.defineProperty(exports, "EnumStringMember", { + enumerable: true, + get: function() { + return _index.enumStringMember; + } + }); + Object.defineProperty(exports, "EnumSymbolBody", { + enumerable: true, + get: function() { + return _index.enumSymbolBody; + } + }); + Object.defineProperty(exports, "ExistsTypeAnnotation", { + enumerable: true, + get: function() { + return _index.existsTypeAnnotation; + } + }); + Object.defineProperty(exports, "ExportAllDeclaration", { + enumerable: true, + get: function() { + return _index.exportAllDeclaration; + } + }); + Object.defineProperty(exports, "ExportDefaultDeclaration", { + enumerable: true, + get: function() { + return _index.exportDefaultDeclaration; + } + }); + Object.defineProperty(exports, "ExportDefaultSpecifier", { + enumerable: true, + get: function() { + return _index.exportDefaultSpecifier; + } + }); + Object.defineProperty(exports, "ExportNamedDeclaration", { + enumerable: true, + get: function() { + return _index.exportNamedDeclaration; + } + }); + Object.defineProperty(exports, "ExportNamespaceSpecifier", { + enumerable: true, + get: function() { + return _index.exportNamespaceSpecifier; + } + }); + Object.defineProperty(exports, "ExportSpecifier", { + enumerable: true, + get: function() { + return _index.exportSpecifier; + } + }); + Object.defineProperty(exports, "ExpressionStatement", { + enumerable: true, + get: function() { + return _index.expressionStatement; + } + }); + Object.defineProperty(exports, "File", { + enumerable: true, + get: function() { + return _index.file; + } + }); + Object.defineProperty(exports, "ForInStatement", { + enumerable: true, + get: function() { + return _index.forInStatement; + } + }); + Object.defineProperty(exports, "ForOfStatement", { + enumerable: true, + get: function() { + return _index.forOfStatement; + } + }); + Object.defineProperty(exports, "ForStatement", { + enumerable: true, + get: function() { + return _index.forStatement; + } + }); + Object.defineProperty(exports, "FunctionDeclaration", { + enumerable: true, + get: function() { + return _index.functionDeclaration; + } + }); + Object.defineProperty(exports, "FunctionExpression", { + enumerable: true, + get: function() { + return _index.functionExpression; + } + }); + Object.defineProperty(exports, "FunctionTypeAnnotation", { + enumerable: true, + get: function() { + return _index.functionTypeAnnotation; + } + }); + Object.defineProperty(exports, "FunctionTypeParam", { + enumerable: true, + get: function() { + return _index.functionTypeParam; + } + }); + Object.defineProperty(exports, "GenericTypeAnnotation", { + enumerable: true, + get: function() { + return _index.genericTypeAnnotation; + } + }); + Object.defineProperty(exports, "Identifier", { + enumerable: true, + get: function() { + return _index.identifier; + } + }); + Object.defineProperty(exports, "IfStatement", { + enumerable: true, + get: function() { + return _index.ifStatement; + } + }); + Object.defineProperty(exports, "Import", { + enumerable: true, + get: function() { + return _index.import; + } + }); + Object.defineProperty(exports, "ImportAttribute", { + enumerable: true, + get: function() { + return _index.importAttribute; + } + }); + Object.defineProperty(exports, "ImportDeclaration", { + enumerable: true, + get: function() { + return _index.importDeclaration; + } + }); + Object.defineProperty(exports, "ImportDefaultSpecifier", { + enumerable: true, + get: function() { + return _index.importDefaultSpecifier; + } + }); + Object.defineProperty(exports, "ImportExpression", { + enumerable: true, + get: function() { + return _index.importExpression; + } + }); + Object.defineProperty(exports, "ImportNamespaceSpecifier", { + enumerable: true, + get: function() { + return _index.importNamespaceSpecifier; + } + }); + Object.defineProperty(exports, "ImportSpecifier", { + enumerable: true, + get: function() { + return _index.importSpecifier; + } + }); + Object.defineProperty(exports, "IndexedAccessType", { + enumerable: true, + get: function() { + return _index.indexedAccessType; + } + }); + Object.defineProperty(exports, "InferredPredicate", { + enumerable: true, + get: function() { + return _index.inferredPredicate; + } + }); + Object.defineProperty(exports, "InterfaceDeclaration", { + enumerable: true, + get: function() { + return _index.interfaceDeclaration; + } + }); + Object.defineProperty(exports, "InterfaceExtends", { + enumerable: true, + get: function() { + return _index.interfaceExtends; + } + }); + Object.defineProperty(exports, "InterfaceTypeAnnotation", { + enumerable: true, + get: function() { + return _index.interfaceTypeAnnotation; + } + }); + Object.defineProperty(exports, "InterpreterDirective", { + enumerable: true, + get: function() { + return _index.interpreterDirective; + } + }); + Object.defineProperty(exports, "IntersectionTypeAnnotation", { + enumerable: true, + get: function() { + return _index.intersectionTypeAnnotation; + } + }); + Object.defineProperty(exports, "JSXAttribute", { + enumerable: true, + get: function() { + return _index.jsxAttribute; + } + }); + Object.defineProperty(exports, "JSXClosingElement", { + enumerable: true, + get: function() { + return _index.jsxClosingElement; + } + }); + Object.defineProperty(exports, "JSXClosingFragment", { + enumerable: true, + get: function() { + return _index.jsxClosingFragment; + } + }); + Object.defineProperty(exports, "JSXElement", { + enumerable: true, + get: function() { + return _index.jsxElement; + } + }); + Object.defineProperty(exports, "JSXEmptyExpression", { + enumerable: true, + get: function() { + return _index.jsxEmptyExpression; + } + }); + Object.defineProperty(exports, "JSXExpressionContainer", { + enumerable: true, + get: function() { + return _index.jsxExpressionContainer; + } + }); + Object.defineProperty(exports, "JSXFragment", { + enumerable: true, + get: function() { + return _index.jsxFragment; + } + }); + Object.defineProperty(exports, "JSXIdentifier", { + enumerable: true, + get: function() { + return _index.jsxIdentifier; + } + }); + Object.defineProperty(exports, "JSXMemberExpression", { + enumerable: true, + get: function() { + return _index.jsxMemberExpression; + } + }); + Object.defineProperty(exports, "JSXNamespacedName", { + enumerable: true, + get: function() { + return _index.jsxNamespacedName; + } + }); + Object.defineProperty(exports, "JSXOpeningElement", { + enumerable: true, + get: function() { + return _index.jsxOpeningElement; + } + }); + Object.defineProperty(exports, "JSXOpeningFragment", { + enumerable: true, + get: function() { + return _index.jsxOpeningFragment; + } + }); + Object.defineProperty(exports, "JSXSpreadAttribute", { + enumerable: true, + get: function() { + return _index.jsxSpreadAttribute; + } + }); + Object.defineProperty(exports, "JSXSpreadChild", { + enumerable: true, + get: function() { + return _index.jsxSpreadChild; + } + }); + Object.defineProperty(exports, "JSXText", { + enumerable: true, + get: function() { + return _index.jsxText; + } + }); + Object.defineProperty(exports, "LabeledStatement", { + enumerable: true, + get: function() { + return _index.labeledStatement; + } + }); + Object.defineProperty(exports, "LogicalExpression", { + enumerable: true, + get: function() { + return _index.logicalExpression; + } + }); + Object.defineProperty(exports, "MemberExpression", { + enumerable: true, + get: function() { + return _index.memberExpression; + } + }); + Object.defineProperty(exports, "MetaProperty", { + enumerable: true, + get: function() { + return _index.metaProperty; + } + }); + Object.defineProperty(exports, "MixedTypeAnnotation", { + enumerable: true, + get: function() { + return _index.mixedTypeAnnotation; + } + }); + Object.defineProperty(exports, "ModuleExpression", { + enumerable: true, + get: function() { + return _index.moduleExpression; + } + }); + Object.defineProperty(exports, "NewExpression", { + enumerable: true, + get: function() { + return _index.newExpression; + } + }); + Object.defineProperty(exports, "Noop", { + enumerable: true, + get: function() { + return _index.noop; + } + }); + Object.defineProperty(exports, "NullLiteral", { + enumerable: true, + get: function() { + return _index.nullLiteral; + } + }); + Object.defineProperty(exports, "NullLiteralTypeAnnotation", { + enumerable: true, + get: function() { + return _index.nullLiteralTypeAnnotation; + } + }); + Object.defineProperty(exports, "NullableTypeAnnotation", { + enumerable: true, + get: function() { + return _index.nullableTypeAnnotation; + } + }); + Object.defineProperty(exports, "NumberLiteral", { + enumerable: true, + get: function() { + return _index.numberLiteral; + } + }); + Object.defineProperty(exports, "NumberLiteralTypeAnnotation", { + enumerable: true, + get: function() { + return _index.numberLiteralTypeAnnotation; + } + }); + Object.defineProperty(exports, "NumberTypeAnnotation", { + enumerable: true, + get: function() { + return _index.numberTypeAnnotation; + } + }); + Object.defineProperty(exports, "NumericLiteral", { + enumerable: true, + get: function() { + return _index.numericLiteral; + } + }); + Object.defineProperty(exports, "ObjectExpression", { + enumerable: true, + get: function() { + return _index.objectExpression; + } + }); + Object.defineProperty(exports, "ObjectMethod", { + enumerable: true, + get: function() { + return _index.objectMethod; + } + }); + Object.defineProperty(exports, "ObjectPattern", { + enumerable: true, + get: function() { + return _index.objectPattern; + } + }); + Object.defineProperty(exports, "ObjectProperty", { + enumerable: true, + get: function() { + return _index.objectProperty; + } + }); + Object.defineProperty(exports, "ObjectTypeAnnotation", { + enumerable: true, + get: function() { + return _index.objectTypeAnnotation; + } + }); + Object.defineProperty(exports, "ObjectTypeCallProperty", { + enumerable: true, + get: function() { + return _index.objectTypeCallProperty; + } + }); + Object.defineProperty(exports, "ObjectTypeIndexer", { + enumerable: true, + get: function() { + return _index.objectTypeIndexer; + } + }); + Object.defineProperty(exports, "ObjectTypeInternalSlot", { + enumerable: true, + get: function() { + return _index.objectTypeInternalSlot; + } + }); + Object.defineProperty(exports, "ObjectTypeProperty", { + enumerable: true, + get: function() { + return _index.objectTypeProperty; + } + }); + Object.defineProperty(exports, "ObjectTypeSpreadProperty", { + enumerable: true, + get: function() { + return _index.objectTypeSpreadProperty; + } + }); + Object.defineProperty(exports, "OpaqueType", { + enumerable: true, + get: function() { + return _index.opaqueType; + } + }); + Object.defineProperty(exports, "OptionalCallExpression", { + enumerable: true, + get: function() { + return _index.optionalCallExpression; + } + }); + Object.defineProperty(exports, "OptionalIndexedAccessType", { + enumerable: true, + get: function() { + return _index.optionalIndexedAccessType; + } + }); + Object.defineProperty(exports, "OptionalMemberExpression", { + enumerable: true, + get: function() { + return _index.optionalMemberExpression; + } + }); + Object.defineProperty(exports, "ParenthesizedExpression", { + enumerable: true, + get: function() { + return _index.parenthesizedExpression; + } + }); + Object.defineProperty(exports, "PipelineBareFunction", { + enumerable: true, + get: function() { + return _index.pipelineBareFunction; + } + }); + Object.defineProperty(exports, "PipelinePrimaryTopicReference", { + enumerable: true, + get: function() { + return _index.pipelinePrimaryTopicReference; + } + }); + Object.defineProperty(exports, "PipelineTopicExpression", { + enumerable: true, + get: function() { + return _index.pipelineTopicExpression; + } + }); + Object.defineProperty(exports, "Placeholder", { + enumerable: true, + get: function() { + return _index.placeholder; + } + }); + Object.defineProperty(exports, "PrivateName", { + enumerable: true, + get: function() { + return _index.privateName; + } + }); + Object.defineProperty(exports, "Program", { + enumerable: true, + get: function() { + return _index.program; + } + }); + Object.defineProperty(exports, "QualifiedTypeIdentifier", { + enumerable: true, + get: function() { + return _index.qualifiedTypeIdentifier; + } + }); + Object.defineProperty(exports, "RecordExpression", { + enumerable: true, + get: function() { + return _index.recordExpression; + } + }); + Object.defineProperty(exports, "RegExpLiteral", { + enumerable: true, + get: function() { + return _index.regExpLiteral; + } + }); + Object.defineProperty(exports, "RegexLiteral", { + enumerable: true, + get: function() { + return _index.regexLiteral; + } + }); + Object.defineProperty(exports, "RestElement", { + enumerable: true, + get: function() { + return _index.restElement; + } + }); + Object.defineProperty(exports, "RestProperty", { + enumerable: true, + get: function() { + return _index.restProperty; + } + }); + Object.defineProperty(exports, "ReturnStatement", { + enumerable: true, + get: function() { + return _index.returnStatement; + } + }); + Object.defineProperty(exports, "SequenceExpression", { + enumerable: true, + get: function() { + return _index.sequenceExpression; + } + }); + Object.defineProperty(exports, "SpreadElement", { + enumerable: true, + get: function() { + return _index.spreadElement; + } + }); + Object.defineProperty(exports, "SpreadProperty", { + enumerable: true, + get: function() { + return _index.spreadProperty; + } + }); + Object.defineProperty(exports, "StaticBlock", { + enumerable: true, + get: function() { + return _index.staticBlock; + } + }); + Object.defineProperty(exports, "StringLiteral", { + enumerable: true, + get: function() { + return _index.stringLiteral; + } + }); + Object.defineProperty(exports, "StringLiteralTypeAnnotation", { + enumerable: true, + get: function() { + return _index.stringLiteralTypeAnnotation; + } + }); + Object.defineProperty(exports, "StringTypeAnnotation", { + enumerable: true, + get: function() { + return _index.stringTypeAnnotation; + } + }); + Object.defineProperty(exports, "Super", { + enumerable: true, + get: function() { + return _index.super; + } + }); + Object.defineProperty(exports, "SwitchCase", { + enumerable: true, + get: function() { + return _index.switchCase; + } + }); + Object.defineProperty(exports, "SwitchStatement", { + enumerable: true, + get: function() { + return _index.switchStatement; + } + }); + Object.defineProperty(exports, "SymbolTypeAnnotation", { + enumerable: true, + get: function() { + return _index.symbolTypeAnnotation; + } + }); + Object.defineProperty(exports, "TSAnyKeyword", { + enumerable: true, + get: function() { + return _index.tsAnyKeyword; + } + }); + Object.defineProperty(exports, "TSArrayType", { + enumerable: true, + get: function() { + return _index.tsArrayType; + } + }); + Object.defineProperty(exports, "TSAsExpression", { + enumerable: true, + get: function() { + return _index.tsAsExpression; + } + }); + Object.defineProperty(exports, "TSBigIntKeyword", { + enumerable: true, + get: function() { + return _index.tsBigIntKeyword; + } + }); + Object.defineProperty(exports, "TSBooleanKeyword", { + enumerable: true, + get: function() { + return _index.tsBooleanKeyword; + } + }); + Object.defineProperty(exports, "TSCallSignatureDeclaration", { + enumerable: true, + get: function() { + return _index.tsCallSignatureDeclaration; + } + }); + Object.defineProperty(exports, "TSConditionalType", { + enumerable: true, + get: function() { + return _index.tsConditionalType; + } + }); + Object.defineProperty(exports, "TSConstructSignatureDeclaration", { + enumerable: true, + get: function() { + return _index.tsConstructSignatureDeclaration; + } + }); + Object.defineProperty(exports, "TSConstructorType", { + enumerable: true, + get: function() { + return _index.tsConstructorType; + } + }); + Object.defineProperty(exports, "TSDeclareFunction", { + enumerable: true, + get: function() { + return _index.tsDeclareFunction; + } + }); + Object.defineProperty(exports, "TSDeclareMethod", { + enumerable: true, + get: function() { + return _index.tsDeclareMethod; + } + }); + Object.defineProperty(exports, "TSEnumDeclaration", { + enumerable: true, + get: function() { + return _index.tsEnumDeclaration; + } + }); + Object.defineProperty(exports, "TSEnumMember", { + enumerable: true, + get: function() { + return _index.tsEnumMember; + } + }); + Object.defineProperty(exports, "TSExportAssignment", { + enumerable: true, + get: function() { + return _index.tsExportAssignment; + } + }); + Object.defineProperty(exports, "TSExpressionWithTypeArguments", { + enumerable: true, + get: function() { + return _index.tsExpressionWithTypeArguments; + } + }); + Object.defineProperty(exports, "TSExternalModuleReference", { + enumerable: true, + get: function() { + return _index.tsExternalModuleReference; + } + }); + Object.defineProperty(exports, "TSFunctionType", { + enumerable: true, + get: function() { + return _index.tsFunctionType; + } + }); + Object.defineProperty(exports, "TSImportEqualsDeclaration", { + enumerable: true, + get: function() { + return _index.tsImportEqualsDeclaration; + } + }); + Object.defineProperty(exports, "TSImportType", { + enumerable: true, + get: function() { + return _index.tsImportType; + } + }); + Object.defineProperty(exports, "TSIndexSignature", { + enumerable: true, + get: function() { + return _index.tsIndexSignature; + } + }); + Object.defineProperty(exports, "TSIndexedAccessType", { + enumerable: true, + get: function() { + return _index.tsIndexedAccessType; + } + }); + Object.defineProperty(exports, "TSInferType", { + enumerable: true, + get: function() { + return _index.tsInferType; + } + }); + Object.defineProperty(exports, "TSInstantiationExpression", { + enumerable: true, + get: function() { + return _index.tsInstantiationExpression; + } + }); + Object.defineProperty(exports, "TSInterfaceBody", { + enumerable: true, + get: function() { + return _index.tsInterfaceBody; + } + }); + Object.defineProperty(exports, "TSInterfaceDeclaration", { + enumerable: true, + get: function() { + return _index.tsInterfaceDeclaration; + } + }); + Object.defineProperty(exports, "TSIntersectionType", { + enumerable: true, + get: function() { + return _index.tsIntersectionType; + } + }); + Object.defineProperty(exports, "TSIntrinsicKeyword", { + enumerable: true, + get: function() { + return _index.tsIntrinsicKeyword; + } + }); + Object.defineProperty(exports, "TSLiteralType", { + enumerable: true, + get: function() { + return _index.tsLiteralType; + } + }); + Object.defineProperty(exports, "TSMappedType", { + enumerable: true, + get: function() { + return _index.tsMappedType; + } + }); + Object.defineProperty(exports, "TSMethodSignature", { + enumerable: true, + get: function() { + return _index.tsMethodSignature; + } + }); + Object.defineProperty(exports, "TSModuleBlock", { + enumerable: true, + get: function() { + return _index.tsModuleBlock; + } + }); + Object.defineProperty(exports, "TSModuleDeclaration", { + enumerable: true, + get: function() { + return _index.tsModuleDeclaration; + } + }); + Object.defineProperty(exports, "TSNamedTupleMember", { + enumerable: true, + get: function() { + return _index.tsNamedTupleMember; + } + }); + Object.defineProperty(exports, "TSNamespaceExportDeclaration", { + enumerable: true, + get: function() { + return _index.tsNamespaceExportDeclaration; + } + }); + Object.defineProperty(exports, "TSNeverKeyword", { + enumerable: true, + get: function() { + return _index.tsNeverKeyword; + } + }); + Object.defineProperty(exports, "TSNonNullExpression", { + enumerable: true, + get: function() { + return _index.tsNonNullExpression; + } + }); + Object.defineProperty(exports, "TSNullKeyword", { + enumerable: true, + get: function() { + return _index.tsNullKeyword; + } + }); + Object.defineProperty(exports, "TSNumberKeyword", { + enumerable: true, + get: function() { + return _index.tsNumberKeyword; + } + }); + Object.defineProperty(exports, "TSObjectKeyword", { + enumerable: true, + get: function() { + return _index.tsObjectKeyword; + } + }); + Object.defineProperty(exports, "TSOptionalType", { + enumerable: true, + get: function() { + return _index.tsOptionalType; + } + }); + Object.defineProperty(exports, "TSParameterProperty", { + enumerable: true, + get: function() { + return _index.tsParameterProperty; + } + }); + Object.defineProperty(exports, "TSParenthesizedType", { + enumerable: true, + get: function() { + return _index.tsParenthesizedType; + } + }); + Object.defineProperty(exports, "TSPropertySignature", { + enumerable: true, + get: function() { + return _index.tsPropertySignature; + } + }); + Object.defineProperty(exports, "TSQualifiedName", { + enumerable: true, + get: function() { + return _index.tsQualifiedName; + } + }); + Object.defineProperty(exports, "TSRestType", { + enumerable: true, + get: function() { + return _index.tsRestType; + } + }); + Object.defineProperty(exports, "TSSatisfiesExpression", { + enumerable: true, + get: function() { + return _index.tsSatisfiesExpression; + } + }); + Object.defineProperty(exports, "TSStringKeyword", { + enumerable: true, + get: function() { + return _index.tsStringKeyword; + } + }); + Object.defineProperty(exports, "TSSymbolKeyword", { + enumerable: true, + get: function() { + return _index.tsSymbolKeyword; + } + }); + Object.defineProperty(exports, "TSThisType", { + enumerable: true, + get: function() { + return _index.tsThisType; + } + }); + Object.defineProperty(exports, "TSTupleType", { + enumerable: true, + get: function() { + return _index.tsTupleType; + } + }); + Object.defineProperty(exports, "TSTypeAliasDeclaration", { + enumerable: true, + get: function() { + return _index.tsTypeAliasDeclaration; + } + }); + Object.defineProperty(exports, "TSTypeAnnotation", { + enumerable: true, + get: function() { + return _index.tsTypeAnnotation; + } + }); + Object.defineProperty(exports, "TSTypeAssertion", { + enumerable: true, + get: function() { + return _index.tsTypeAssertion; + } + }); + Object.defineProperty(exports, "TSTypeLiteral", { + enumerable: true, + get: function() { + return _index.tsTypeLiteral; + } + }); + Object.defineProperty(exports, "TSTypeOperator", { + enumerable: true, + get: function() { + return _index.tsTypeOperator; + } + }); + Object.defineProperty(exports, "TSTypeParameter", { + enumerable: true, + get: function() { + return _index.tsTypeParameter; + } + }); + Object.defineProperty(exports, "TSTypeParameterDeclaration", { + enumerable: true, + get: function() { + return _index.tsTypeParameterDeclaration; + } + }); + Object.defineProperty(exports, "TSTypeParameterInstantiation", { + enumerable: true, + get: function() { + return _index.tsTypeParameterInstantiation; + } + }); + Object.defineProperty(exports, "TSTypePredicate", { + enumerable: true, + get: function() { + return _index.tsTypePredicate; + } + }); + Object.defineProperty(exports, "TSTypeQuery", { + enumerable: true, + get: function() { + return _index.tsTypeQuery; + } + }); + Object.defineProperty(exports, "TSTypeReference", { + enumerable: true, + get: function() { + return _index.tsTypeReference; + } + }); + Object.defineProperty(exports, "TSUndefinedKeyword", { + enumerable: true, + get: function() { + return _index.tsUndefinedKeyword; + } + }); + Object.defineProperty(exports, "TSUnionType", { + enumerable: true, + get: function() { + return _index.tsUnionType; + } + }); + Object.defineProperty(exports, "TSUnknownKeyword", { + enumerable: true, + get: function() { + return _index.tsUnknownKeyword; + } + }); + Object.defineProperty(exports, "TSVoidKeyword", { + enumerable: true, + get: function() { + return _index.tsVoidKeyword; + } + }); + Object.defineProperty(exports, "TaggedTemplateExpression", { + enumerable: true, + get: function() { + return _index.taggedTemplateExpression; + } + }); + Object.defineProperty(exports, "TemplateElement", { + enumerable: true, + get: function() { + return _index.templateElement; + } + }); + Object.defineProperty(exports, "TemplateLiteral", { + enumerable: true, + get: function() { + return _index.templateLiteral; + } + }); + Object.defineProperty(exports, "ThisExpression", { + enumerable: true, + get: function() { + return _index.thisExpression; + } + }); + Object.defineProperty(exports, "ThisTypeAnnotation", { + enumerable: true, + get: function() { + return _index.thisTypeAnnotation; + } + }); + Object.defineProperty(exports, "ThrowStatement", { + enumerable: true, + get: function() { + return _index.throwStatement; + } + }); + Object.defineProperty(exports, "TopicReference", { + enumerable: true, + get: function() { + return _index.topicReference; + } + }); + Object.defineProperty(exports, "TryStatement", { + enumerable: true, + get: function() { + return _index.tryStatement; + } + }); + Object.defineProperty(exports, "TupleExpression", { + enumerable: true, + get: function() { + return _index.tupleExpression; + } + }); + Object.defineProperty(exports, "TupleTypeAnnotation", { + enumerable: true, + get: function() { + return _index.tupleTypeAnnotation; + } + }); + Object.defineProperty(exports, "TypeAlias", { + enumerable: true, + get: function() { + return _index.typeAlias; + } + }); + Object.defineProperty(exports, "TypeAnnotation", { + enumerable: true, + get: function() { + return _index.typeAnnotation; + } + }); + Object.defineProperty(exports, "TypeCastExpression", { + enumerable: true, + get: function() { + return _index.typeCastExpression; + } + }); + Object.defineProperty(exports, "TypeParameter", { + enumerable: true, + get: function() { + return _index.typeParameter; + } + }); + Object.defineProperty(exports, "TypeParameterDeclaration", { + enumerable: true, + get: function() { + return _index.typeParameterDeclaration; + } + }); + Object.defineProperty(exports, "TypeParameterInstantiation", { + enumerable: true, + get: function() { + return _index.typeParameterInstantiation; + } + }); + Object.defineProperty(exports, "TypeofTypeAnnotation", { + enumerable: true, + get: function() { + return _index.typeofTypeAnnotation; + } + }); + Object.defineProperty(exports, "UnaryExpression", { + enumerable: true, + get: function() { + return _index.unaryExpression; + } + }); + Object.defineProperty(exports, "UnionTypeAnnotation", { + enumerable: true, + get: function() { + return _index.unionTypeAnnotation; + } + }); + Object.defineProperty(exports, "UpdateExpression", { + enumerable: true, + get: function() { + return _index.updateExpression; + } + }); + Object.defineProperty(exports, "V8IntrinsicIdentifier", { + enumerable: true, + get: function() { + return _index.v8IntrinsicIdentifier; + } + }); + Object.defineProperty(exports, "VariableDeclaration", { + enumerable: true, + get: function() { + return _index.variableDeclaration; + } + }); + Object.defineProperty(exports, "VariableDeclarator", { + enumerable: true, + get: function() { + return _index.variableDeclarator; + } + }); + Object.defineProperty(exports, "Variance", { + enumerable: true, + get: function() { + return _index.variance; + } + }); + Object.defineProperty(exports, "VoidTypeAnnotation", { + enumerable: true, + get: function() { + return _index.voidTypeAnnotation; + } + }); + Object.defineProperty(exports, "WhileStatement", { + enumerable: true, + get: function() { + return _index.whileStatement; + } + }); + Object.defineProperty(exports, "WithStatement", { + enumerable: true, + get: function() { + return _index.withStatement; + } + }); + Object.defineProperty(exports, "YieldExpression", { + enumerable: true, + get: function() { + return _index.yieldExpression; + } + }); + var _index = require_generated2(); + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/builders/productions.js +var require_productions = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/builders/productions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.buildUndefinedNode = buildUndefinedNode; + var _index = require_generated2(); + function buildUndefinedNode() { + return (0, _index.unaryExpression)("void", (0, _index.numericLiteral)(0), true); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/clone/cloneNode.js +var require_cloneNode = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/clone/cloneNode.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = cloneNode; + var _index = require_definitions(); + var _index2 = require_generated(); + var { + hasOwn + } = { + hasOwn: Function.call.bind(Object.prototype.hasOwnProperty) + }; + function cloneIfNode(obj, deep, withoutLoc, commentsCache) { + if (obj && typeof obj.type === "string") { + return cloneNodeInternal(obj, deep, withoutLoc, commentsCache); + } + return obj; + } + function cloneIfNodeOrArray(obj, deep, withoutLoc, commentsCache) { + if (Array.isArray(obj)) { + return obj.map((node) => cloneIfNode(node, deep, withoutLoc, commentsCache)); + } + return cloneIfNode(obj, deep, withoutLoc, commentsCache); + } + function cloneNode(node, deep = true, withoutLoc = false) { + return cloneNodeInternal(node, deep, withoutLoc, /* @__PURE__ */ new Map()); + } + function cloneNodeInternal(node, deep = true, withoutLoc = false, commentsCache) { + if (!node) return node; + const { + type + } = node; + const newNode = { + type: node.type + }; + if ((0, _index2.isIdentifier)(node)) { + newNode.name = node.name; + if (hasOwn(node, "optional") && typeof node.optional === "boolean") { + newNode.optional = node.optional; + } + if (hasOwn(node, "typeAnnotation")) { + newNode.typeAnnotation = deep ? cloneIfNodeOrArray(node.typeAnnotation, true, withoutLoc, commentsCache) : node.typeAnnotation; + } + if (hasOwn(node, "decorators")) { + newNode.decorators = deep ? cloneIfNodeOrArray(node.decorators, true, withoutLoc, commentsCache) : node.decorators; + } + } else if (!hasOwn(_index.NODE_FIELDS, type)) { + throw new Error(`Unknown node type: "${type}"`); + } else { + for (const field of Object.keys(_index.NODE_FIELDS[type])) { + if (hasOwn(node, field)) { + if (deep) { + newNode[field] = (0, _index2.isFile)(node) && field === "comments" ? maybeCloneComments(node.comments, deep, withoutLoc, commentsCache) : cloneIfNodeOrArray(node[field], true, withoutLoc, commentsCache); + } else { + newNode[field] = node[field]; + } + } + } + } + if (hasOwn(node, "loc")) { + if (withoutLoc) { + newNode.loc = null; + } else { + newNode.loc = node.loc; + } + } + if (hasOwn(node, "leadingComments")) { + newNode.leadingComments = maybeCloneComments(node.leadingComments, deep, withoutLoc, commentsCache); + } + if (hasOwn(node, "innerComments")) { + newNode.innerComments = maybeCloneComments(node.innerComments, deep, withoutLoc, commentsCache); + } + if (hasOwn(node, "trailingComments")) { + newNode.trailingComments = maybeCloneComments(node.trailingComments, deep, withoutLoc, commentsCache); + } + if (hasOwn(node, "extra")) { + newNode.extra = Object.assign({}, node.extra); + } + return newNode; + } + function maybeCloneComments(comments, deep, withoutLoc, commentsCache) { + if (!comments || !deep) { + return comments; + } + return comments.map((comment) => { + const cache = commentsCache.get(comment); + if (cache) return cache; + const { + type, + value: value2, + loc + } = comment; + const ret = { + type, + value: value2, + loc + }; + if (withoutLoc) { + ret.loc = null; + } + commentsCache.set(comment, ret); + return ret; + }); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/clone/clone.js +var require_clone = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/clone/clone.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = clone; + var _cloneNode = require_cloneNode(); + function clone(node) { + return (0, _cloneNode.default)(node, false); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/clone/cloneDeep.js +var require_cloneDeep = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/clone/cloneDeep.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = cloneDeep; + var _cloneNode = require_cloneNode(); + function cloneDeep(node) { + return (0, _cloneNode.default)(node); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js +var require_cloneDeepWithoutLoc = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = cloneDeepWithoutLoc; + var _cloneNode = require_cloneNode(); + function cloneDeepWithoutLoc(node) { + return (0, _cloneNode.default)(node, true, true); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js +var require_cloneWithoutLoc = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = cloneWithoutLoc; + var _cloneNode = require_cloneNode(); + function cloneWithoutLoc(node) { + return (0, _cloneNode.default)(node, false, true); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/comments/addComments.js +var require_addComments = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/comments/addComments.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = addComments; + function addComments(node, type, comments) { + if (!comments || !node) return node; + const key = `${type}Comments`; + if (node[key]) { + if (type === "leading") { + node[key] = comments.concat(node[key]); + } else { + node[key].push(...comments); + } + } else { + node[key] = comments; + } + return node; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/comments/addComment.js +var require_addComment = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/comments/addComment.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = addComment2; + var _addComments = require_addComments(); + function addComment2(node, type, content, line) { + return (0, _addComments.default)(node, type, [{ + type: line ? "CommentLine" : "CommentBlock", + value: content + }]); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/utils/inherit.js +var require_inherit = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/utils/inherit.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = inherit; + function inherit(key, child, parent) { + if (child && parent) { + child[key] = Array.from(new Set([].concat(child[key], parent[key]).filter(Boolean))); + } + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/comments/inheritInnerComments.js +var require_inheritInnerComments = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/comments/inheritInnerComments.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = inheritInnerComments; + var _inherit = require_inherit(); + function inheritInnerComments(child, parent) { + (0, _inherit.default)("innerComments", child, parent); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/comments/inheritLeadingComments.js +var require_inheritLeadingComments = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/comments/inheritLeadingComments.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = inheritLeadingComments; + var _inherit = require_inherit(); + function inheritLeadingComments(child, parent) { + (0, _inherit.default)("leadingComments", child, parent); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/comments/inheritTrailingComments.js +var require_inheritTrailingComments = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/comments/inheritTrailingComments.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = inheritTrailingComments; + var _inherit = require_inherit(); + function inheritTrailingComments(child, parent) { + (0, _inherit.default)("trailingComments", child, parent); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/comments/inheritsComments.js +var require_inheritsComments = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/comments/inheritsComments.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = inheritsComments; + var _inheritTrailingComments = require_inheritTrailingComments(); + var _inheritLeadingComments = require_inheritLeadingComments(); + var _inheritInnerComments = require_inheritInnerComments(); + function inheritsComments(child, parent) { + (0, _inheritTrailingComments.default)(child, parent); + (0, _inheritLeadingComments.default)(child, parent); + (0, _inheritInnerComments.default)(child, parent); + return child; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/comments/removeComments.js +var require_removeComments = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/comments/removeComments.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = removeComments; + var _index = require_constants(); + function removeComments(node) { + _index.COMMENT_KEYS.forEach((key) => { + node[key] = null; + }); + return node; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/constants/generated/index.js +var require_generated4 = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/constants/generated/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.WHILE_TYPES = exports.USERWHITESPACABLE_TYPES = exports.UNARYLIKE_TYPES = exports.TYPESCRIPT_TYPES = exports.TSTYPE_TYPES = exports.TSTYPEELEMENT_TYPES = exports.TSENTITYNAME_TYPES = exports.TSBASETYPE_TYPES = exports.TERMINATORLESS_TYPES = exports.STATEMENT_TYPES = exports.STANDARDIZED_TYPES = exports.SCOPABLE_TYPES = exports.PUREISH_TYPES = exports.PROPERTY_TYPES = exports.PRIVATE_TYPES = exports.PATTERN_TYPES = exports.PATTERNLIKE_TYPES = exports.OBJECTMEMBER_TYPES = exports.MODULESPECIFIER_TYPES = exports.MODULEDECLARATION_TYPES = exports.MISCELLANEOUS_TYPES = exports.METHOD_TYPES = exports.LVAL_TYPES = exports.LOOP_TYPES = exports.LITERAL_TYPES = exports.JSX_TYPES = exports.IMPORTOREXPORTDECLARATION_TYPES = exports.IMMUTABLE_TYPES = exports.FUNCTION_TYPES = exports.FUNCTIONPARENT_TYPES = exports.FOR_TYPES = exports.FORXSTATEMENT_TYPES = exports.FLOW_TYPES = exports.FLOWTYPE_TYPES = exports.FLOWPREDICATE_TYPES = exports.FLOWDECLARATION_TYPES = exports.FLOWBASEANNOTATION_TYPES = exports.EXPRESSION_TYPES = exports.EXPRESSIONWRAPPER_TYPES = exports.EXPORTDECLARATION_TYPES = exports.ENUMMEMBER_TYPES = exports.ENUMBODY_TYPES = exports.DECLARATION_TYPES = exports.CONDITIONAL_TYPES = exports.COMPLETIONSTATEMENT_TYPES = exports.CLASS_TYPES = exports.BLOCK_TYPES = exports.BLOCKPARENT_TYPES = exports.BINARY_TYPES = exports.ACCESSOR_TYPES = void 0; + var _index = require_definitions(); + var STANDARDIZED_TYPES = exports.STANDARDIZED_TYPES = _index.FLIPPED_ALIAS_KEYS["Standardized"]; + var EXPRESSION_TYPES = exports.EXPRESSION_TYPES = _index.FLIPPED_ALIAS_KEYS["Expression"]; + var BINARY_TYPES = exports.BINARY_TYPES = _index.FLIPPED_ALIAS_KEYS["Binary"]; + var SCOPABLE_TYPES = exports.SCOPABLE_TYPES = _index.FLIPPED_ALIAS_KEYS["Scopable"]; + var BLOCKPARENT_TYPES = exports.BLOCKPARENT_TYPES = _index.FLIPPED_ALIAS_KEYS["BlockParent"]; + var BLOCK_TYPES = exports.BLOCK_TYPES = _index.FLIPPED_ALIAS_KEYS["Block"]; + var STATEMENT_TYPES = exports.STATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS["Statement"]; + var TERMINATORLESS_TYPES = exports.TERMINATORLESS_TYPES = _index.FLIPPED_ALIAS_KEYS["Terminatorless"]; + var COMPLETIONSTATEMENT_TYPES = exports.COMPLETIONSTATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS["CompletionStatement"]; + var CONDITIONAL_TYPES = exports.CONDITIONAL_TYPES = _index.FLIPPED_ALIAS_KEYS["Conditional"]; + var LOOP_TYPES = exports.LOOP_TYPES = _index.FLIPPED_ALIAS_KEYS["Loop"]; + var WHILE_TYPES = exports.WHILE_TYPES = _index.FLIPPED_ALIAS_KEYS["While"]; + var EXPRESSIONWRAPPER_TYPES = exports.EXPRESSIONWRAPPER_TYPES = _index.FLIPPED_ALIAS_KEYS["ExpressionWrapper"]; + var FOR_TYPES = exports.FOR_TYPES = _index.FLIPPED_ALIAS_KEYS["For"]; + var FORXSTATEMENT_TYPES = exports.FORXSTATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS["ForXStatement"]; + var FUNCTION_TYPES = exports.FUNCTION_TYPES = _index.FLIPPED_ALIAS_KEYS["Function"]; + var FUNCTIONPARENT_TYPES = exports.FUNCTIONPARENT_TYPES = _index.FLIPPED_ALIAS_KEYS["FunctionParent"]; + var PUREISH_TYPES = exports.PUREISH_TYPES = _index.FLIPPED_ALIAS_KEYS["Pureish"]; + var DECLARATION_TYPES = exports.DECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS["Declaration"]; + var PATTERNLIKE_TYPES = exports.PATTERNLIKE_TYPES = _index.FLIPPED_ALIAS_KEYS["PatternLike"]; + var LVAL_TYPES = exports.LVAL_TYPES = _index.FLIPPED_ALIAS_KEYS["LVal"]; + var TSENTITYNAME_TYPES = exports.TSENTITYNAME_TYPES = _index.FLIPPED_ALIAS_KEYS["TSEntityName"]; + var LITERAL_TYPES = exports.LITERAL_TYPES = _index.FLIPPED_ALIAS_KEYS["Literal"]; + var IMMUTABLE_TYPES = exports.IMMUTABLE_TYPES = _index.FLIPPED_ALIAS_KEYS["Immutable"]; + var USERWHITESPACABLE_TYPES = exports.USERWHITESPACABLE_TYPES = _index.FLIPPED_ALIAS_KEYS["UserWhitespacable"]; + var METHOD_TYPES = exports.METHOD_TYPES = _index.FLIPPED_ALIAS_KEYS["Method"]; + var OBJECTMEMBER_TYPES = exports.OBJECTMEMBER_TYPES = _index.FLIPPED_ALIAS_KEYS["ObjectMember"]; + var PROPERTY_TYPES = exports.PROPERTY_TYPES = _index.FLIPPED_ALIAS_KEYS["Property"]; + var UNARYLIKE_TYPES = exports.UNARYLIKE_TYPES = _index.FLIPPED_ALIAS_KEYS["UnaryLike"]; + var PATTERN_TYPES = exports.PATTERN_TYPES = _index.FLIPPED_ALIAS_KEYS["Pattern"]; + var CLASS_TYPES = exports.CLASS_TYPES = _index.FLIPPED_ALIAS_KEYS["Class"]; + var IMPORTOREXPORTDECLARATION_TYPES = exports.IMPORTOREXPORTDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS["ImportOrExportDeclaration"]; + var EXPORTDECLARATION_TYPES = exports.EXPORTDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS["ExportDeclaration"]; + var MODULESPECIFIER_TYPES = exports.MODULESPECIFIER_TYPES = _index.FLIPPED_ALIAS_KEYS["ModuleSpecifier"]; + var ACCESSOR_TYPES = exports.ACCESSOR_TYPES = _index.FLIPPED_ALIAS_KEYS["Accessor"]; + var PRIVATE_TYPES = exports.PRIVATE_TYPES = _index.FLIPPED_ALIAS_KEYS["Private"]; + var FLOW_TYPES = exports.FLOW_TYPES = _index.FLIPPED_ALIAS_KEYS["Flow"]; + var FLOWTYPE_TYPES = exports.FLOWTYPE_TYPES = _index.FLIPPED_ALIAS_KEYS["FlowType"]; + var FLOWBASEANNOTATION_TYPES = exports.FLOWBASEANNOTATION_TYPES = _index.FLIPPED_ALIAS_KEYS["FlowBaseAnnotation"]; + var FLOWDECLARATION_TYPES = exports.FLOWDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS["FlowDeclaration"]; + var FLOWPREDICATE_TYPES = exports.FLOWPREDICATE_TYPES = _index.FLIPPED_ALIAS_KEYS["FlowPredicate"]; + var ENUMBODY_TYPES = exports.ENUMBODY_TYPES = _index.FLIPPED_ALIAS_KEYS["EnumBody"]; + var ENUMMEMBER_TYPES = exports.ENUMMEMBER_TYPES = _index.FLIPPED_ALIAS_KEYS["EnumMember"]; + var JSX_TYPES = exports.JSX_TYPES = _index.FLIPPED_ALIAS_KEYS["JSX"]; + var MISCELLANEOUS_TYPES = exports.MISCELLANEOUS_TYPES = _index.FLIPPED_ALIAS_KEYS["Miscellaneous"]; + var TYPESCRIPT_TYPES = exports.TYPESCRIPT_TYPES = _index.FLIPPED_ALIAS_KEYS["TypeScript"]; + var TSTYPEELEMENT_TYPES = exports.TSTYPEELEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS["TSTypeElement"]; + var TSTYPE_TYPES = exports.TSTYPE_TYPES = _index.FLIPPED_ALIAS_KEYS["TSType"]; + var TSBASETYPE_TYPES = exports.TSBASETYPE_TYPES = _index.FLIPPED_ALIAS_KEYS["TSBaseType"]; + var MODULEDECLARATION_TYPES = exports.MODULEDECLARATION_TYPES = IMPORTOREXPORTDECLARATION_TYPES; + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toBlock.js +var require_toBlock = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toBlock.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = toBlock; + var _index = require_generated(); + var _index2 = require_generated2(); + function toBlock(node, parent) { + if ((0, _index.isBlockStatement)(node)) { + return node; + } + let blockNodes = []; + if ((0, _index.isEmptyStatement)(node)) { + blockNodes = []; + } else { + if (!(0, _index.isStatement)(node)) { + if ((0, _index.isFunction)(parent)) { + node = (0, _index2.returnStatement)(node); + } else { + node = (0, _index2.expressionStatement)(node); + } + } + blockNodes = [node]; + } + return (0, _index2.blockStatement)(blockNodes); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/ensureBlock.js +var require_ensureBlock = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/ensureBlock.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = ensureBlock; + var _toBlock = require_toBlock(); + function ensureBlock(node, key = "body") { + const result = (0, _toBlock.default)(node[key], node); + node[key] = result; + return result; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toIdentifier.js +var require_toIdentifier = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toIdentifier.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = toIdentifier; + var _isValidIdentifier = require_isValidIdentifier(); + var _helperValidatorIdentifier = require_lib(); + function toIdentifier(input) { + input = input + ""; + let name = ""; + for (const c of input) { + name += (0, _helperValidatorIdentifier.isIdentifierChar)(c.codePointAt(0)) ? c : "-"; + } + name = name.replace(/^[-0-9]+/, ""); + name = name.replace(/[-\s]+(.)?/g, function(match, c) { + return c ? c.toUpperCase() : ""; + }); + if (!(0, _isValidIdentifier.default)(name)) { + name = `_${name}`; + } + return name || "_"; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js +var require_toBindingIdentifierName = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = toBindingIdentifierName; + var _toIdentifier = require_toIdentifier(); + function toBindingIdentifierName(name) { + name = (0, _toIdentifier.default)(name); + if (name === "eval" || name === "arguments") name = "_" + name; + return name; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toComputedKey.js +var require_toComputedKey = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toComputedKey.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = toComputedKey; + var _index = require_generated(); + var _index2 = require_generated2(); + function toComputedKey(node, key = node.key || node.property) { + if (!node.computed && (0, _index.isIdentifier)(key)) key = (0, _index2.stringLiteral)(key.name); + return key; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toExpression.js +var require_toExpression = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toExpression.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _index = require_generated(); + var _default = exports.default = toExpression; + function toExpression(node) { + if ((0, _index.isExpressionStatement)(node)) { + node = node.expression; + } + if ((0, _index.isExpression)(node)) { + return node; + } + if ((0, _index.isClass)(node)) { + node.type = "ClassExpression"; + } else if ((0, _index.isFunction)(node)) { + node.type = "FunctionExpression"; + } + if (!(0, _index.isExpression)(node)) { + throw new Error(`cannot turn ${node.type} to an expression`); + } + return node; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/traverse/traverseFast.js +var require_traverseFast = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/traverse/traverseFast.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = traverseFast; + var _index = require_definitions(); + function traverseFast(node, enter, opts) { + if (!node) return; + const keys = _index.VISITOR_KEYS[node.type]; + if (!keys) return; + opts = opts || {}; + enter(node, opts); + for (const key of keys) { + const subNode = node[key]; + if (Array.isArray(subNode)) { + for (const node2 of subNode) { + traverseFast(node2, enter, opts); + } + } else { + traverseFast(subNode, enter, opts); + } + } + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/modifications/removeProperties.js +var require_removeProperties = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/modifications/removeProperties.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = removeProperties; + var _index = require_constants(); + var CLEAR_KEYS = ["tokens", "start", "end", "loc", "raw", "rawValue"]; + var CLEAR_KEYS_PLUS_COMMENTS = [..._index.COMMENT_KEYS, "comments", ...CLEAR_KEYS]; + function removeProperties(node, opts = {}) { + const map2 = opts.preserveComments ? CLEAR_KEYS : CLEAR_KEYS_PLUS_COMMENTS; + for (const key of map2) { + if (node[key] != null) node[key] = void 0; + } + for (const key of Object.keys(node)) { + if (key[0] === "_" && node[key] != null) node[key] = void 0; + } + const symbols = Object.getOwnPropertySymbols(node); + for (const sym of symbols) { + node[sym] = null; + } + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js +var require_removePropertiesDeep = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = removePropertiesDeep; + var _traverseFast = require_traverseFast(); + var _removeProperties = require_removeProperties(); + function removePropertiesDeep(tree, opts) { + (0, _traverseFast.default)(tree, _removeProperties.default, opts); + return tree; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toKeyAlias.js +var require_toKeyAlias = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toKeyAlias.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = toKeyAlias; + var _index = require_generated(); + var _cloneNode = require_cloneNode(); + var _removePropertiesDeep = require_removePropertiesDeep(); + function toKeyAlias(node, key = node.key) { + let alias; + if (node.kind === "method") { + return toKeyAlias.increment() + ""; + } else if ((0, _index.isIdentifier)(key)) { + alias = key.name; + } else if ((0, _index.isStringLiteral)(key)) { + alias = JSON.stringify(key.value); + } else { + alias = JSON.stringify((0, _removePropertiesDeep.default)((0, _cloneNode.default)(key))); + } + if (node.computed) { + alias = `[${alias}]`; + } + if (node.static) { + alias = `static:${alias}`; + } + return alias; + } + toKeyAlias.uid = 0; + toKeyAlias.increment = function() { + if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) { + return toKeyAlias.uid = 0; + } else { + return toKeyAlias.uid++; + } + }; + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toStatement.js +var require_toStatement = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toStatement.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _index = require_generated(); + var _index2 = require_generated2(); + var _default = exports.default = toStatement; + function toStatement(node, ignore) { + if ((0, _index.isStatement)(node)) { + return node; + } + let mustHaveId = false; + let newType; + if ((0, _index.isClass)(node)) { + mustHaveId = true; + newType = "ClassDeclaration"; + } else if ((0, _index.isFunction)(node)) { + mustHaveId = true; + newType = "FunctionDeclaration"; + } else if ((0, _index.isAssignmentExpression)(node)) { + return (0, _index2.expressionStatement)(node); + } + if (mustHaveId && !node.id) { + newType = false; + } + if (!newType) { + if (ignore) { + return false; + } else { + throw new Error(`cannot turn ${node.type} to a statement`); + } + } + node.type = newType; + return node; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/valueToNode.js +var require_valueToNode = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/valueToNode.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _isValidIdentifier = require_isValidIdentifier(); + var _index = require_generated2(); + var _default = exports.default = valueToNode; + var objectToString = Function.call.bind(Object.prototype.toString); + function isRegExp(value2) { + return objectToString(value2) === "[object RegExp]"; + } + function isPlainObject(value2) { + if (typeof value2 !== "object" || value2 === null || Object.prototype.toString.call(value2) !== "[object Object]") { + return false; + } + const proto = Object.getPrototypeOf(value2); + return proto === null || Object.getPrototypeOf(proto) === null; + } + function valueToNode(value2) { + if (value2 === void 0) { + return (0, _index.identifier)("undefined"); + } + if (value2 === true || value2 === false) { + return (0, _index.booleanLiteral)(value2); + } + if (value2 === null) { + return (0, _index.nullLiteral)(); + } + if (typeof value2 === "string") { + return (0, _index.stringLiteral)(value2); + } + if (typeof value2 === "number") { + let result; + if (Number.isFinite(value2)) { + result = (0, _index.numericLiteral)(Math.abs(value2)); + } else { + let numerator; + if (Number.isNaN(value2)) { + numerator = (0, _index.numericLiteral)(0); + } else { + numerator = (0, _index.numericLiteral)(1); + } + result = (0, _index.binaryExpression)("/", numerator, (0, _index.numericLiteral)(0)); + } + if (value2 < 0 || Object.is(value2, -0)) { + result = (0, _index.unaryExpression)("-", result); + } + return result; + } + if (isRegExp(value2)) { + const pattern = value2.source; + const flags = /\/([a-z]*)$/.exec(value2.toString())[1]; + return (0, _index.regExpLiteral)(pattern, flags); + } + if (Array.isArray(value2)) { + return (0, _index.arrayExpression)(value2.map(valueToNode)); + } + if (isPlainObject(value2)) { + const props = []; + for (const key of Object.keys(value2)) { + let nodeKey; + if ((0, _isValidIdentifier.default)(key)) { + nodeKey = (0, _index.identifier)(key); + } else { + nodeKey = (0, _index.stringLiteral)(key); + } + props.push((0, _index.objectProperty)(nodeKey, valueToNode(value2[key]))); + } + return (0, _index.objectExpression)(props); + } + throw new Error("don't know how to turn this value into a node"); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js +var require_appendToMemberExpression = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = appendToMemberExpression; + var _index = require_generated2(); + function appendToMemberExpression(member, append, computed = false) { + member.object = (0, _index.memberExpression)(member.object, member.property, member.computed); + member.property = append; + member.computed = !!computed; + return member; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/modifications/inherits.js +var require_inherits = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/modifications/inherits.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = inherits; + var _index = require_constants(); + var _inheritsComments = require_inheritsComments(); + function inherits(child, parent) { + if (!child || !parent) return child; + for (const key of _index.INHERIT_KEYS.optional) { + if (child[key] == null) { + child[key] = parent[key]; + } + } + for (const key of Object.keys(parent)) { + if (key[0] === "_" && key !== "__clone") { + child[key] = parent[key]; + } + } + for (const key of _index.INHERIT_KEYS.force) { + child[key] = parent[key]; + } + (0, _inheritsComments.default)(child, parent); + return child; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js +var require_prependToMemberExpression = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = prependToMemberExpression; + var _index = require_generated2(); + var _index2 = require_lib3(); + function prependToMemberExpression(member, prepend) { + if ((0, _index2.isSuper)(member.object)) { + throw new Error("Cannot prepend node to super property access (`super.foo`)."); + } + member.object = (0, _index.memberExpression)(prepend, member.object); + return member; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js +var require_getAssignmentIdentifiers = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = getAssignmentIdentifiers; + function getAssignmentIdentifiers(node) { + const search = [].concat(node); + const ids = /* @__PURE__ */ Object.create(null); + while (search.length) { + const id = search.pop(); + if (!id) continue; + switch (id.type) { + case "ArrayPattern": + search.push(...id.elements); + break; + case "AssignmentExpression": + case "AssignmentPattern": + case "ForInStatement": + case "ForOfStatement": + search.push(id.left); + break; + case "ObjectPattern": + search.push(...id.properties); + break; + case "ObjectProperty": + search.push(id.value); + break; + case "RestElement": + case "UpdateExpression": + search.push(id.argument); + break; + case "UnaryExpression": + if (id.operator === "delete") { + search.push(id.argument); + } + break; + case "Identifier": + ids[id.name] = id; + break; + default: + break; + } + } + return ids; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js +var require_getBindingIdentifiers = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = getBindingIdentifiers; + var _index = require_generated(); + function getBindingIdentifiers(node, duplicates, outerOnly, newBindingsOnly) { + const search = [].concat(node); + const ids = /* @__PURE__ */ Object.create(null); + while (search.length) { + const id = search.shift(); + if (!id) continue; + if (newBindingsOnly && ((0, _index.isAssignmentExpression)(id) || (0, _index.isUnaryExpression)(id) || (0, _index.isUpdateExpression)(id))) { + continue; + } + if ((0, _index.isIdentifier)(id)) { + if (duplicates) { + const _ids = ids[id.name] = ids[id.name] || []; + _ids.push(id); + } else { + ids[id.name] = id; + } + continue; + } + if ((0, _index.isExportDeclaration)(id) && !(0, _index.isExportAllDeclaration)(id)) { + if ((0, _index.isDeclaration)(id.declaration)) { + search.push(id.declaration); + } + continue; + } + if (outerOnly) { + if ((0, _index.isFunctionDeclaration)(id)) { + search.push(id.id); + continue; + } + if ((0, _index.isFunctionExpression)(id)) { + continue; + } + } + const keys2 = getBindingIdentifiers.keys[id.type]; + if (keys2) { + for (let i = 0; i < keys2.length; i++) { + const key = keys2[i]; + const nodes = id[key]; + if (nodes) { + if (Array.isArray(nodes)) { + search.push(...nodes); + } else { + search.push(nodes); + } + } + } + } + } + return ids; + } + var keys = { + DeclareClass: ["id"], + DeclareFunction: ["id"], + DeclareModule: ["id"], + DeclareVariable: ["id"], + DeclareInterface: ["id"], + DeclareTypeAlias: ["id"], + DeclareOpaqueType: ["id"], + InterfaceDeclaration: ["id"], + TypeAlias: ["id"], + OpaqueType: ["id"], + CatchClause: ["param"], + LabeledStatement: ["label"], + UnaryExpression: ["argument"], + AssignmentExpression: ["left"], + ImportSpecifier: ["local"], + ImportNamespaceSpecifier: ["local"], + ImportDefaultSpecifier: ["local"], + ImportDeclaration: ["specifiers"], + ExportSpecifier: ["exported"], + ExportNamespaceSpecifier: ["exported"], + ExportDefaultSpecifier: ["exported"], + FunctionDeclaration: ["id", "params"], + FunctionExpression: ["id", "params"], + ArrowFunctionExpression: ["params"], + ObjectMethod: ["params"], + ClassMethod: ["params"], + ClassPrivateMethod: ["params"], + ForInStatement: ["left"], + ForOfStatement: ["left"], + ClassDeclaration: ["id"], + ClassExpression: ["id"], + RestElement: ["argument"], + UpdateExpression: ["argument"], + ObjectProperty: ["value"], + AssignmentPattern: ["left"], + ArrayPattern: ["elements"], + ObjectPattern: ["properties"], + VariableDeclaration: ["declarations"], + VariableDeclarator: ["id"] + }; + getBindingIdentifiers.keys = keys; + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js +var require_getOuterBindingIdentifiers = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _getBindingIdentifiers = require_getBindingIdentifiers(); + var _default = exports.default = getOuterBindingIdentifiers; + function getOuterBindingIdentifiers(node, duplicates) { + return (0, _getBindingIdentifiers.default)(node, duplicates, true); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/retrievers/getFunctionName.js +var require_getFunctionName = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/retrievers/getFunctionName.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = getFunctionName; + var _index = require_generated(); + function getNameFromLiteralId(id) { + if ((0, _index.isNullLiteral)(id)) { + return "null"; + } + if ((0, _index.isRegExpLiteral)(id)) { + return `/${id.pattern}/${id.flags}`; + } + if ((0, _index.isTemplateLiteral)(id)) { + return id.quasis.map((quasi) => quasi.value.raw).join(""); + } + if (id.value !== void 0) { + return String(id.value); + } + return null; + } + function getObjectMemberKey(node) { + if (!node.computed || (0, _index.isLiteral)(node.key)) { + return node.key; + } + } + function getFunctionName(node, parent) { + if ("id" in node && node.id) { + return { + name: node.id.name, + originalNode: node.id + }; + } + let prefix = ""; + let id; + if ((0, _index.isObjectProperty)(parent, { + value: node + })) { + id = getObjectMemberKey(parent); + } else if ((0, _index.isObjectMethod)(node) || (0, _index.isClassMethod)(node)) { + id = getObjectMemberKey(node); + if (node.kind === "get") prefix = "get "; + else if (node.kind === "set") prefix = "set "; + } else if ((0, _index.isVariableDeclarator)(parent, { + init: node + })) { + id = parent.id; + } else if ((0, _index.isAssignmentExpression)(parent, { + operator: "=", + right: node + })) { + id = parent.left; + } + if (!id) return null; + const name = (0, _index.isLiteral)(id) ? getNameFromLiteralId(id) : (0, _index.isIdentifier)(id) ? id.name : (0, _index.isPrivateName)(id) ? id.id.name : null; + if (name == null) return null; + return { + name: prefix + name, + originalNode: id + }; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/traverse/traverse.js +var require_traverse = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/traverse/traverse.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = traverse; + var _index = require_definitions(); + function traverse(node, handlers, state) { + if (typeof handlers === "function") { + handlers = { + enter: handlers + }; + } + const { + enter, + exit + } = handlers; + traverseSimpleImpl(node, enter, exit, state, []); + } + function traverseSimpleImpl(node, enter, exit, state, ancestors) { + const keys = _index.VISITOR_KEYS[node.type]; + if (!keys) return; + if (enter) enter(node, ancestors, state); + for (const key of keys) { + const subNode = node[key]; + if (Array.isArray(subNode)) { + for (let i = 0; i < subNode.length; i++) { + const child = subNode[i]; + if (!child) continue; + ancestors.push({ + node, + key, + index: i + }); + traverseSimpleImpl(child, enter, exit, state, ancestors); + ancestors.pop(); + } + } else if (subNode) { + ancestors.push({ + node, + key + }); + traverseSimpleImpl(subNode, enter, exit, state, ancestors); + ancestors.pop(); + } + } + if (exit) exit(node, ancestors, state); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isBinding.js +var require_isBinding = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isBinding.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isBinding; + var _getBindingIdentifiers = require_getBindingIdentifiers(); + function isBinding(node, parent, grandparent) { + if (grandparent && node.type === "Identifier" && parent.type === "ObjectProperty" && grandparent.type === "ObjectExpression") { + return false; + } + const keys = _getBindingIdentifiers.default.keys[parent.type]; + if (keys) { + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const val = parent[key]; + if (Array.isArray(val)) { + if (val.includes(node)) return true; + } else { + if (val === node) return true; + } + } + } + return false; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isLet.js +var require_isLet = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isLet.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isLet; + var _index = require_generated(); + var _index2 = require_constants(); + function isLet(node) { + return (0, _index.isVariableDeclaration)(node) && (node.kind !== "var" || node[_index2.BLOCK_SCOPED_SYMBOL]); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isBlockScoped.js +var require_isBlockScoped = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isBlockScoped.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isBlockScoped; + var _index = require_generated(); + var _isLet = require_isLet(); + function isBlockScoped(node) { + return (0, _index.isFunctionDeclaration)(node) || (0, _index.isClassDeclaration)(node) || (0, _isLet.default)(node); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isImmutable.js +var require_isImmutable = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isImmutable.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isImmutable; + var _isType = require_isType(); + var _index = require_generated(); + function isImmutable(node) { + if ((0, _isType.default)(node.type, "Immutable")) return true; + if ((0, _index.isIdentifier)(node)) { + if (node.name === "undefined") { + return true; + } else { + return false; + } + } + return false; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isNodesEquivalent.js +var require_isNodesEquivalent = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isNodesEquivalent.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isNodesEquivalent; + var _index = require_definitions(); + function isNodesEquivalent(a, b) { + if (typeof a !== "object" || typeof b !== "object" || a == null || b == null) { + return a === b; + } + if (a.type !== b.type) { + return false; + } + const fields = Object.keys(_index.NODE_FIELDS[a.type] || a.type); + const visitorKeys = _index.VISITOR_KEYS[a.type]; + for (const field of fields) { + const val_a = a[field]; + const val_b = b[field]; + if (typeof val_a !== typeof val_b) { + return false; + } + if (val_a == null && val_b == null) { + continue; + } else if (val_a == null || val_b == null) { + return false; + } + if (Array.isArray(val_a)) { + if (!Array.isArray(val_b)) { + return false; + } + if (val_a.length !== val_b.length) { + return false; + } + for (let i = 0; i < val_a.length; i++) { + if (!isNodesEquivalent(val_a[i], val_b[i])) { + return false; + } + } + continue; + } + if (typeof val_a === "object" && !(visitorKeys != null && visitorKeys.includes(field))) { + for (const key of Object.keys(val_a)) { + if (val_a[key] !== val_b[key]) { + return false; + } + } + continue; + } + if (!isNodesEquivalent(val_a, val_b)) { + return false; + } + } + return true; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isReferenced.js +var require_isReferenced = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isReferenced.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isReferenced; + function isReferenced(node, parent, grandparent) { + switch (parent.type) { + case "MemberExpression": + case "OptionalMemberExpression": + if (parent.property === node) { + return !!parent.computed; + } + return parent.object === node; + case "JSXMemberExpression": + return parent.object === node; + case "VariableDeclarator": + return parent.init === node; + case "ArrowFunctionExpression": + return parent.body === node; + case "PrivateName": + return false; + case "ClassMethod": + case "ClassPrivateMethod": + case "ObjectMethod": + if (parent.key === node) { + return !!parent.computed; + } + return false; + case "ObjectProperty": + if (parent.key === node) { + return !!parent.computed; + } + return !grandparent || grandparent.type !== "ObjectPattern"; + case "ClassProperty": + case "ClassAccessorProperty": + if (parent.key === node) { + return !!parent.computed; + } + return true; + case "ClassPrivateProperty": + return parent.key !== node; + case "ClassDeclaration": + case "ClassExpression": + return parent.superClass === node; + case "AssignmentExpression": + return parent.right === node; + case "AssignmentPattern": + return parent.right === node; + case "LabeledStatement": + return false; + case "CatchClause": + return false; + case "RestElement": + return false; + case "BreakStatement": + case "ContinueStatement": + return false; + case "FunctionDeclaration": + case "FunctionExpression": + return false; + case "ExportNamespaceSpecifier": + case "ExportDefaultSpecifier": + return false; + case "ExportSpecifier": + if (grandparent != null && grandparent.source) { + return false; + } + return parent.local === node; + case "ImportDefaultSpecifier": + case "ImportNamespaceSpecifier": + case "ImportSpecifier": + return false; + case "ImportAttribute": + return false; + case "JSXAttribute": + return false; + case "ObjectPattern": + case "ArrayPattern": + return false; + case "MetaProperty": + return false; + case "ObjectTypeProperty": + return parent.key !== node; + case "TSEnumMember": + return parent.id !== node; + case "TSPropertySignature": + if (parent.key === node) { + return !!parent.computed; + } + return true; + } + return true; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isScope.js +var require_isScope = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isScope.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isScope; + var _index = require_generated(); + function isScope(node, parent) { + if ((0, _index.isBlockStatement)(node) && ((0, _index.isFunction)(parent) || (0, _index.isCatchClause)(parent))) { + return false; + } + if ((0, _index.isPattern)(node) && ((0, _index.isFunction)(parent) || (0, _index.isCatchClause)(parent))) { + return true; + } + return (0, _index.isScopable)(node); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isSpecifierDefault.js +var require_isSpecifierDefault = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isSpecifierDefault.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isSpecifierDefault; + var _index = require_generated(); + function isSpecifierDefault(specifier) { + return (0, _index.isImportDefaultSpecifier)(specifier) || (0, _index.isIdentifier)(specifier.imported || specifier.exported, { + name: "default" + }); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isValidES3Identifier.js +var require_isValidES3Identifier = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isValidES3Identifier.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isValidES3Identifier; + var _isValidIdentifier = require_isValidIdentifier(); + var RESERVED_WORDS_ES3_ONLY = /* @__PURE__ */ new Set(["abstract", "boolean", "byte", "char", "double", "enum", "final", "float", "goto", "implements", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "synchronized", "throws", "transient", "volatile"]); + function isValidES3Identifier(name) { + return (0, _isValidIdentifier.default)(name) && !RESERVED_WORDS_ES3_ONLY.has(name); + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isVar.js +var require_isVar = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/validators/isVar.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isVar; + var _index = require_generated(); + var _index2 = require_constants(); + function isVar(node) { + return (0, _index.isVariableDeclaration)(node, { + kind: "var" + }) && !node[_index2.BLOCK_SCOPED_SYMBOL]; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js +var require_gatherSequenceExpressions = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = gatherSequenceExpressions; + var _getBindingIdentifiers = require_getBindingIdentifiers(); + var _index = require_generated(); + var _index2 = require_generated2(); + var _productions = require_productions(); + var _cloneNode = require_cloneNode(); + function gatherSequenceExpressions(nodes, declars) { + const exprs = []; + let ensureLastUndefined = true; + for (const node of nodes) { + if (!(0, _index.isEmptyStatement)(node)) { + ensureLastUndefined = false; + } + if ((0, _index.isExpression)(node)) { + exprs.push(node); + } else if ((0, _index.isExpressionStatement)(node)) { + exprs.push(node.expression); + } else if ((0, _index.isVariableDeclaration)(node)) { + if (node.kind !== "var") return; + for (const declar of node.declarations) { + const bindings = (0, _getBindingIdentifiers.default)(declar); + for (const key of Object.keys(bindings)) { + declars.push({ + kind: node.kind, + id: (0, _cloneNode.default)(bindings[key]) + }); + } + if (declar.init) { + exprs.push((0, _index2.assignmentExpression)("=", declar.id, declar.init)); + } + } + ensureLastUndefined = true; + } else if ((0, _index.isIfStatement)(node)) { + const consequent = node.consequent ? gatherSequenceExpressions([node.consequent], declars) : (0, _productions.buildUndefinedNode)(); + const alternate = node.alternate ? gatherSequenceExpressions([node.alternate], declars) : (0, _productions.buildUndefinedNode)(); + if (!consequent || !alternate) return; + exprs.push((0, _index2.conditionalExpression)(node.test, consequent, alternate)); + } else if ((0, _index.isBlockStatement)(node)) { + const body = gatherSequenceExpressions(node.body, declars); + if (!body) return; + exprs.push(body); + } else if ((0, _index.isEmptyStatement)(node)) { + if (nodes.indexOf(node) === 0) { + ensureLastUndefined = true; + } + } else { + return; + } + } + if (ensureLastUndefined) { + exprs.push((0, _productions.buildUndefinedNode)()); + } + if (exprs.length === 1) { + return exprs[0]; + } else { + return (0, _index2.sequenceExpression)(exprs); + } + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toSequenceExpression.js +var require_toSequenceExpression = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/converters/toSequenceExpression.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = toSequenceExpression; + var _gatherSequenceExpressions = require_gatherSequenceExpressions(); + function toSequenceExpression(nodes, scope) { + if (!(nodes != null && nodes.length)) return; + const declars = []; + const result = (0, _gatherSequenceExpressions.default)(nodes, declars); + if (!result) return; + for (const declar of declars) { + scope.push(declar); + } + return result; + } + } +}); + +// ../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/index.js +var require_lib3 = __commonJS({ + "../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + var _exportNames = { + react: true, + assertNode: true, + createTypeAnnotationBasedOnTypeof: true, + createUnionTypeAnnotation: true, + createFlowUnionType: true, + createTSUnionType: true, + cloneNode: true, + clone: true, + cloneDeep: true, + cloneDeepWithoutLoc: true, + cloneWithoutLoc: true, + addComment: true, + addComments: true, + inheritInnerComments: true, + inheritLeadingComments: true, + inheritsComments: true, + inheritTrailingComments: true, + removeComments: true, + ensureBlock: true, + toBindingIdentifierName: true, + toBlock: true, + toComputedKey: true, + toExpression: true, + toIdentifier: true, + toKeyAlias: true, + toStatement: true, + valueToNode: true, + appendToMemberExpression: true, + inherits: true, + prependToMemberExpression: true, + removeProperties: true, + removePropertiesDeep: true, + removeTypeDuplicates: true, + getAssignmentIdentifiers: true, + getBindingIdentifiers: true, + getOuterBindingIdentifiers: true, + getFunctionName: true, + traverse: true, + traverseFast: true, + shallowEqual: true, + is: true, + isBinding: true, + isBlockScoped: true, + isImmutable: true, + isLet: true, + isNode: true, + isNodesEquivalent: true, + isPlaceholderType: true, + isReferenced: true, + isScope: true, + isSpecifierDefault: true, + isType: true, + isValidES3Identifier: true, + isValidIdentifier: true, + isVar: true, + matchesPattern: true, + validate: true, + buildMatchMemberExpression: true, + __internal__deprecationWarning: true + }; + Object.defineProperty(exports, "__internal__deprecationWarning", { + enumerable: true, + get: function() { + return _deprecationWarning.default; + } + }); + Object.defineProperty(exports, "addComment", { + enumerable: true, + get: function() { + return _addComment.default; + } + }); + Object.defineProperty(exports, "addComments", { + enumerable: true, + get: function() { + return _addComments.default; + } + }); + Object.defineProperty(exports, "appendToMemberExpression", { + enumerable: true, + get: function() { + return _appendToMemberExpression.default; + } + }); + Object.defineProperty(exports, "assertNode", { + enumerable: true, + get: function() { + return _assertNode.default; + } + }); + Object.defineProperty(exports, "buildMatchMemberExpression", { + enumerable: true, + get: function() { + return _buildMatchMemberExpression.default; + } + }); + Object.defineProperty(exports, "clone", { + enumerable: true, + get: function() { + return _clone.default; + } + }); + Object.defineProperty(exports, "cloneDeep", { + enumerable: true, + get: function() { + return _cloneDeep.default; + } + }); + Object.defineProperty(exports, "cloneDeepWithoutLoc", { + enumerable: true, + get: function() { + return _cloneDeepWithoutLoc.default; + } + }); + Object.defineProperty(exports, "cloneNode", { + enumerable: true, + get: function() { + return _cloneNode.default; + } + }); + Object.defineProperty(exports, "cloneWithoutLoc", { + enumerable: true, + get: function() { + return _cloneWithoutLoc.default; + } + }); + Object.defineProperty(exports, "createFlowUnionType", { + enumerable: true, + get: function() { + return _createFlowUnionType.default; + } + }); + Object.defineProperty(exports, "createTSUnionType", { + enumerable: true, + get: function() { + return _createTSUnionType.default; + } + }); + Object.defineProperty(exports, "createTypeAnnotationBasedOnTypeof", { + enumerable: true, + get: function() { + return _createTypeAnnotationBasedOnTypeof.default; + } + }); + Object.defineProperty(exports, "createUnionTypeAnnotation", { + enumerable: true, + get: function() { + return _createFlowUnionType.default; + } + }); + Object.defineProperty(exports, "ensureBlock", { + enumerable: true, + get: function() { + return _ensureBlock.default; + } + }); + Object.defineProperty(exports, "getAssignmentIdentifiers", { + enumerable: true, + get: function() { + return _getAssignmentIdentifiers.default; + } + }); + Object.defineProperty(exports, "getBindingIdentifiers", { + enumerable: true, + get: function() { + return _getBindingIdentifiers.default; + } + }); + Object.defineProperty(exports, "getFunctionName", { + enumerable: true, + get: function() { + return _getFunctionName.default; + } + }); + Object.defineProperty(exports, "getOuterBindingIdentifiers", { + enumerable: true, + get: function() { + return _getOuterBindingIdentifiers.default; + } + }); + Object.defineProperty(exports, "inheritInnerComments", { + enumerable: true, + get: function() { + return _inheritInnerComments.default; + } + }); + Object.defineProperty(exports, "inheritLeadingComments", { + enumerable: true, + get: function() { + return _inheritLeadingComments.default; + } + }); + Object.defineProperty(exports, "inheritTrailingComments", { + enumerable: true, + get: function() { + return _inheritTrailingComments.default; + } + }); + Object.defineProperty(exports, "inherits", { + enumerable: true, + get: function() { + return _inherits2.default; + } + }); + Object.defineProperty(exports, "inheritsComments", { + enumerable: true, + get: function() { + return _inheritsComments.default; + } + }); + Object.defineProperty(exports, "is", { + enumerable: true, + get: function() { + return _is.default; + } + }); + Object.defineProperty(exports, "isBinding", { + enumerable: true, + get: function() { + return _isBinding.default; + } + }); + Object.defineProperty(exports, "isBlockScoped", { + enumerable: true, + get: function() { + return _isBlockScoped.default; + } + }); + Object.defineProperty(exports, "isImmutable", { + enumerable: true, + get: function() { + return _isImmutable.default; + } + }); + Object.defineProperty(exports, "isLet", { + enumerable: true, + get: function() { + return _isLet.default; + } + }); + Object.defineProperty(exports, "isNode", { + enumerable: true, + get: function() { + return _isNode.default; + } + }); + Object.defineProperty(exports, "isNodesEquivalent", { + enumerable: true, + get: function() { + return _isNodesEquivalent.default; + } + }); + Object.defineProperty(exports, "isPlaceholderType", { + enumerable: true, + get: function() { + return _isPlaceholderType.default; + } + }); + Object.defineProperty(exports, "isReferenced", { + enumerable: true, + get: function() { + return _isReferenced.default; + } + }); + Object.defineProperty(exports, "isScope", { + enumerable: true, + get: function() { + return _isScope.default; + } + }); + Object.defineProperty(exports, "isSpecifierDefault", { + enumerable: true, + get: function() { + return _isSpecifierDefault.default; + } + }); + Object.defineProperty(exports, "isType", { + enumerable: true, + get: function() { + return _isType.default; + } + }); + Object.defineProperty(exports, "isValidES3Identifier", { + enumerable: true, + get: function() { + return _isValidES3Identifier.default; + } + }); + Object.defineProperty(exports, "isValidIdentifier", { + enumerable: true, + get: function() { + return _isValidIdentifier.default; + } + }); + Object.defineProperty(exports, "isVar", { + enumerable: true, + get: function() { + return _isVar.default; + } + }); + Object.defineProperty(exports, "matchesPattern", { + enumerable: true, + get: function() { + return _matchesPattern.default; + } + }); + Object.defineProperty(exports, "prependToMemberExpression", { + enumerable: true, + get: function() { + return _prependToMemberExpression.default; + } + }); + exports.react = void 0; + Object.defineProperty(exports, "removeComments", { + enumerable: true, + get: function() { + return _removeComments.default; + } + }); + Object.defineProperty(exports, "removeProperties", { + enumerable: true, + get: function() { + return _removeProperties.default; + } + }); + Object.defineProperty(exports, "removePropertiesDeep", { + enumerable: true, + get: function() { + return _removePropertiesDeep.default; + } + }); + Object.defineProperty(exports, "removeTypeDuplicates", { + enumerable: true, + get: function() { + return _removeTypeDuplicates.default; + } + }); + Object.defineProperty(exports, "shallowEqual", { + enumerable: true, + get: function() { + return _shallowEqual.default; + } + }); + Object.defineProperty(exports, "toBindingIdentifierName", { + enumerable: true, + get: function() { + return _toBindingIdentifierName.default; + } + }); + Object.defineProperty(exports, "toBlock", { + enumerable: true, + get: function() { + return _toBlock.default; + } + }); + Object.defineProperty(exports, "toComputedKey", { + enumerable: true, + get: function() { + return _toComputedKey.default; + } + }); + Object.defineProperty(exports, "toExpression", { + enumerable: true, + get: function() { + return _toExpression.default; + } + }); + Object.defineProperty(exports, "toIdentifier", { + enumerable: true, + get: function() { + return _toIdentifier.default; + } + }); + Object.defineProperty(exports, "toKeyAlias", { + enumerable: true, + get: function() { + return _toKeyAlias.default; + } + }); + Object.defineProperty(exports, "toStatement", { + enumerable: true, + get: function() { + return _toStatement.default; + } + }); + Object.defineProperty(exports, "traverse", { + enumerable: true, + get: function() { + return _traverse.default; + } + }); + Object.defineProperty(exports, "traverseFast", { + enumerable: true, + get: function() { + return _traverseFast.default; + } + }); + Object.defineProperty(exports, "validate", { + enumerable: true, + get: function() { + return _validate.default; + } + }); + Object.defineProperty(exports, "valueToNode", { + enumerable: true, + get: function() { + return _valueToNode.default; + } + }); + var _isReactComponent = require_isReactComponent(); + var _isCompatTag = require_isCompatTag(); + var _buildChildren = require_buildChildren(); + var _assertNode = require_assertNode(); + var _index = require_generated3(); + Object.keys(_index).forEach(function(key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + if (key in exports && exports[key] === _index[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _index[key]; + } + }); + }); + var _createTypeAnnotationBasedOnTypeof = require_createTypeAnnotationBasedOnTypeof(); + var _createFlowUnionType = require_createFlowUnionType(); + var _createTSUnionType = require_createTSUnionType(); + var _index2 = require_generated2(); + Object.keys(_index2).forEach(function(key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + if (key in exports && exports[key] === _index2[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _index2[key]; + } + }); + }); + var _uppercase = require_uppercase(); + Object.keys(_uppercase).forEach(function(key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + if (key in exports && exports[key] === _uppercase[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _uppercase[key]; + } + }); + }); + var _productions = require_productions(); + Object.keys(_productions).forEach(function(key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + if (key in exports && exports[key] === _productions[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _productions[key]; + } + }); + }); + var _cloneNode = require_cloneNode(); + var _clone = require_clone(); + var _cloneDeep = require_cloneDeep(); + var _cloneDeepWithoutLoc = require_cloneDeepWithoutLoc(); + var _cloneWithoutLoc = require_cloneWithoutLoc(); + var _addComment = require_addComment(); + var _addComments = require_addComments(); + var _inheritInnerComments = require_inheritInnerComments(); + var _inheritLeadingComments = require_inheritLeadingComments(); + var _inheritsComments = require_inheritsComments(); + var _inheritTrailingComments = require_inheritTrailingComments(); + var _removeComments = require_removeComments(); + var _index3 = require_generated4(); + Object.keys(_index3).forEach(function(key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + if (key in exports && exports[key] === _index3[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _index3[key]; + } + }); + }); + var _index4 = require_constants(); + Object.keys(_index4).forEach(function(key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + if (key in exports && exports[key] === _index4[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _index4[key]; + } + }); + }); + var _ensureBlock = require_ensureBlock(); + var _toBindingIdentifierName = require_toBindingIdentifierName(); + var _toBlock = require_toBlock(); + var _toComputedKey = require_toComputedKey(); + var _toExpression = require_toExpression(); + var _toIdentifier = require_toIdentifier(); + var _toKeyAlias = require_toKeyAlias(); + var _toStatement = require_toStatement(); + var _valueToNode = require_valueToNode(); + var _index5 = require_definitions(); + Object.keys(_index5).forEach(function(key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + if (key in exports && exports[key] === _index5[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _index5[key]; + } + }); + }); + var _appendToMemberExpression = require_appendToMemberExpression(); + var _inherits2 = require_inherits(); + var _prependToMemberExpression = require_prependToMemberExpression(); + var _removeProperties = require_removeProperties(); + var _removePropertiesDeep = require_removePropertiesDeep(); + var _removeTypeDuplicates = require_removeTypeDuplicates(); + var _getAssignmentIdentifiers = require_getAssignmentIdentifiers(); + var _getBindingIdentifiers = require_getBindingIdentifiers(); + var _getOuterBindingIdentifiers = require_getOuterBindingIdentifiers(); + var _getFunctionName = require_getFunctionName(); + var _traverse = require_traverse(); + Object.keys(_traverse).forEach(function(key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + if (key in exports && exports[key] === _traverse[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _traverse[key]; + } + }); + }); + var _traverseFast = require_traverseFast(); + var _shallowEqual = require_shallowEqual(); + var _is = require_is(); + var _isBinding = require_isBinding(); + var _isBlockScoped = require_isBlockScoped(); + var _isImmutable = require_isImmutable(); + var _isLet = require_isLet(); + var _isNode = require_isNode(); + var _isNodesEquivalent = require_isNodesEquivalent(); + var _isPlaceholderType = require_isPlaceholderType(); + var _isReferenced = require_isReferenced(); + var _isScope = require_isScope(); + var _isSpecifierDefault = require_isSpecifierDefault(); + var _isType = require_isType(); + var _isValidES3Identifier = require_isValidES3Identifier(); + var _isValidIdentifier = require_isValidIdentifier(); + var _isVar = require_isVar(); + var _matchesPattern = require_matchesPattern(); + var _validate = require_validate(); + var _buildMatchMemberExpression = require_buildMatchMemberExpression(); + var _index6 = require_generated(); + Object.keys(_index6).forEach(function(key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + if (key in exports && exports[key] === _index6[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _index6[key]; + } + }); + }); + var _deprecationWarning = require_deprecationWarning(); + var react = exports.react = { + isReactComponent: _isReactComponent.default, + isCompatTag: _isCompatTag.default, + buildChildren: _buildChildren.default + }; + { + exports.toSequenceExpression = require_toSequenceExpression().default; + } + if (process.env.BABEL_TYPES_8_BREAKING) { + console.warn("BABEL_TYPES_8_BREAKING is not supported anymore. Use the latest Babel 8.0.0 pre-release instead!"); + } + } +}); + +// ../../.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-078d3c2b45.zip/node_modules/@babel/helper-module-imports/lib/import-builder.js +var require_import_builder = __commonJS({ + "../../.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-078d3c2b45.zip/node_modules/@babel/helper-module-imports/lib/import-builder.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _assert = require_assert(); + var _t = require_lib3(); + var { + callExpression, + cloneNode, + expressionStatement, + identifier, + importDeclaration, + importDefaultSpecifier, + importNamespaceSpecifier, + importSpecifier, + memberExpression, + stringLiteral, + variableDeclaration, + variableDeclarator + } = _t; + var ImportBuilder = class { + constructor(importedSource, scope, hub) { + this._statements = []; + this._resultName = null; + this._importedSource = void 0; + this._scope = scope; + this._hub = hub; + this._importedSource = importedSource; + } + done() { + return { + statements: this._statements, + resultName: this._resultName + }; + } + import() { + this._statements.push(importDeclaration([], stringLiteral(this._importedSource))); + return this; + } + require() { + this._statements.push(expressionStatement(callExpression(identifier("require"), [stringLiteral(this._importedSource)]))); + return this; + } + namespace(name = "namespace") { + const local = this._scope.generateUidIdentifier(name); + const statement = this._statements[this._statements.length - 1]; + _assert(statement.type === "ImportDeclaration"); + _assert(statement.specifiers.length === 0); + statement.specifiers = [importNamespaceSpecifier(local)]; + this._resultName = cloneNode(local); + return this; + } + default(name) { + const id = this._scope.generateUidIdentifier(name); + const statement = this._statements[this._statements.length - 1]; + _assert(statement.type === "ImportDeclaration"); + _assert(statement.specifiers.length === 0); + statement.specifiers = [importDefaultSpecifier(id)]; + this._resultName = cloneNode(id); + return this; + } + named(name, importName) { + if (importName === "default") return this.default(name); + const id = this._scope.generateUidIdentifier(name); + const statement = this._statements[this._statements.length - 1]; + _assert(statement.type === "ImportDeclaration"); + _assert(statement.specifiers.length === 0); + statement.specifiers = [importSpecifier(id, identifier(importName))]; + this._resultName = cloneNode(id); + return this; + } + var(name) { + const id = this._scope.generateUidIdentifier(name); + let statement = this._statements[this._statements.length - 1]; + if (statement.type !== "ExpressionStatement") { + _assert(this._resultName); + statement = expressionStatement(this._resultName); + this._statements.push(statement); + } + this._statements[this._statements.length - 1] = variableDeclaration("var", [variableDeclarator(id, statement.expression)]); + this._resultName = cloneNode(id); + return this; + } + defaultInterop() { + return this._interop(this._hub.addHelper("interopRequireDefault")); + } + wildcardInterop() { + return this._interop(this._hub.addHelper("interopRequireWildcard")); + } + _interop(callee) { + const statement = this._statements[this._statements.length - 1]; + if (statement.type === "ExpressionStatement") { + statement.expression = callExpression(callee, [statement.expression]); + } else if (statement.type === "VariableDeclaration") { + _assert(statement.declarations.length === 1); + statement.declarations[0].init = callExpression(callee, [statement.declarations[0].init]); + } else { + _assert.fail("Unexpected type."); + } + return this; + } + prop(name) { + const statement = this._statements[this._statements.length - 1]; + if (statement.type === "ExpressionStatement") { + statement.expression = memberExpression(statement.expression, identifier(name)); + } else if (statement.type === "VariableDeclaration") { + _assert(statement.declarations.length === 1); + statement.declarations[0].init = memberExpression(statement.declarations[0].init, identifier(name)); + } else { + _assert.fail("Unexpected type:" + statement.type); + } + return this; + } + read(name) { + this._resultName = memberExpression(this._resultName, identifier(name)); + } + }; + exports.default = ImportBuilder; + } +}); + +// ../../.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-078d3c2b45.zip/node_modules/@babel/helper-module-imports/lib/is-module.js +var require_is_module = __commonJS({ + "../../.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-078d3c2b45.zip/node_modules/@babel/helper-module-imports/lib/is-module.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isModule; + function isModule(path) { + return path.node.sourceType === "module"; + } + } +}); + +// ../../.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-078d3c2b45.zip/node_modules/@babel/helper-module-imports/lib/import-injector.js +var require_import_injector = __commonJS({ + "../../.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-078d3c2b45.zip/node_modules/@babel/helper-module-imports/lib/import-injector.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _assert = require_assert(); + var _t = require_lib3(); + var _importBuilder = require_import_builder(); + var _isModule = require_is_module(); + var { + identifier, + importSpecifier, + numericLiteral, + sequenceExpression, + isImportDeclaration + } = _t; + var ImportInjector = class { + constructor(path, importedSource, opts) { + this._defaultOpts = { + importedSource: null, + importedType: "commonjs", + importedInterop: "babel", + importingInterop: "babel", + ensureLiveReference: false, + ensureNoContext: false, + importPosition: "before" + }; + const programPath = path.find((p) => p.isProgram()); + this._programPath = programPath; + this._programScope = programPath.scope; + this._hub = programPath.hub; + this._defaultOpts = this._applyDefaults(importedSource, opts, true); + } + addDefault(importedSourceIn, opts) { + return this.addNamed("default", importedSourceIn, opts); + } + addNamed(importName, importedSourceIn, opts) { + _assert(typeof importName === "string"); + return this._generateImport(this._applyDefaults(importedSourceIn, opts), importName); + } + addNamespace(importedSourceIn, opts) { + return this._generateImport(this._applyDefaults(importedSourceIn, opts), null); + } + addSideEffect(importedSourceIn, opts) { + return this._generateImport(this._applyDefaults(importedSourceIn, opts), void 0); + } + _applyDefaults(importedSource, opts, isInit = false) { + let newOpts; + if (typeof importedSource === "string") { + newOpts = Object.assign({}, this._defaultOpts, { + importedSource + }, opts); + } else { + _assert(!opts, "Unexpected secondary arguments."); + newOpts = Object.assign({}, this._defaultOpts, importedSource); + } + if (!isInit && opts) { + if (opts.nameHint !== void 0) newOpts.nameHint = opts.nameHint; + if (opts.blockHoist !== void 0) newOpts.blockHoist = opts.blockHoist; + } + return newOpts; + } + _generateImport(opts, importName) { + const isDefault = importName === "default"; + const isNamed = !!importName && !isDefault; + const isNamespace = importName === null; + const { + importedSource, + importedType, + importedInterop, + importingInterop, + ensureLiveReference, + ensureNoContext, + nameHint, + importPosition, + blockHoist + } = opts; + let name = nameHint || importName; + const isMod = (0, _isModule.default)(this._programPath); + const isModuleForNode = isMod && importingInterop === "node"; + const isModuleForBabel = isMod && importingInterop === "babel"; + if (importPosition === "after" && !isMod) { + throw new Error(`"importPosition": "after" is only supported in modules`); + } + const builder = new _importBuilder.default(importedSource, this._programScope, this._hub); + if (importedType === "es6") { + if (!isModuleForNode && !isModuleForBabel) { + throw new Error("Cannot import an ES6 module from CommonJS"); + } + builder.import(); + if (isNamespace) { + builder.namespace(nameHint || importedSource); + } else if (isDefault || isNamed) { + builder.named(name, importName); + } + } else if (importedType !== "commonjs") { + throw new Error(`Unexpected interopType "${importedType}"`); + } else if (importedInterop === "babel") { + if (isModuleForNode) { + name = name !== "default" ? name : importedSource; + const es6Default = `${importedSource}$es6Default`; + builder.import(); + if (isNamespace) { + builder.default(es6Default).var(name || importedSource).wildcardInterop(); + } else if (isDefault) { + if (ensureLiveReference) { + builder.default(es6Default).var(name || importedSource).defaultInterop().read("default"); + } else { + builder.default(es6Default).var(name).defaultInterop().prop(importName); + } + } else if (isNamed) { + builder.default(es6Default).read(importName); + } + } else if (isModuleForBabel) { + builder.import(); + if (isNamespace) { + builder.namespace(name || importedSource); + } else if (isDefault || isNamed) { + builder.named(name, importName); + } + } else { + builder.require(); + if (isNamespace) { + builder.var(name || importedSource).wildcardInterop(); + } else if ((isDefault || isNamed) && ensureLiveReference) { + if (isDefault) { + name = name !== "default" ? name : importedSource; + builder.var(name).read(importName); + builder.defaultInterop(); + } else { + builder.var(importedSource).read(importName); + } + } else if (isDefault) { + builder.var(name).defaultInterop().prop(importName); + } else if (isNamed) { + builder.var(name).prop(importName); + } + } + } else if (importedInterop === "compiled") { + if (isModuleForNode) { + builder.import(); + if (isNamespace) { + builder.default(name || importedSource); + } else if (isDefault || isNamed) { + builder.default(importedSource).read(name); + } + } else if (isModuleForBabel) { + builder.import(); + if (isNamespace) { + builder.namespace(name || importedSource); + } else if (isDefault || isNamed) { + builder.named(name, importName); + } + } else { + builder.require(); + if (isNamespace) { + builder.var(name || importedSource); + } else if (isDefault || isNamed) { + if (ensureLiveReference) { + builder.var(importedSource).read(name); + } else { + builder.prop(importName).var(name); + } + } + } + } else if (importedInterop === "uncompiled") { + if (isDefault && ensureLiveReference) { + throw new Error("No live reference for commonjs default"); + } + if (isModuleForNode) { + builder.import(); + if (isNamespace) { + builder.default(name || importedSource); + } else if (isDefault) { + builder.default(name); + } else if (isNamed) { + builder.default(importedSource).read(name); + } + } else if (isModuleForBabel) { + builder.import(); + if (isNamespace) { + builder.default(name || importedSource); + } else if (isDefault) { + builder.default(name); + } else if (isNamed) { + builder.named(name, importName); + } + } else { + builder.require(); + if (isNamespace) { + builder.var(name || importedSource); + } else if (isDefault) { + builder.var(name); + } else if (isNamed) { + if (ensureLiveReference) { + builder.var(importedSource).read(name); + } else { + builder.var(name).prop(importName); + } + } + } + } else { + throw new Error(`Unknown importedInterop "${importedInterop}".`); + } + const { + statements, + resultName + } = builder.done(); + this._insertStatements(statements, importPosition, blockHoist); + if ((isDefault || isNamed) && ensureNoContext && resultName.type !== "Identifier") { + return sequenceExpression([numericLiteral(0), resultName]); + } + return resultName; + } + _insertStatements(statements, importPosition = "before", blockHoist = 3) { + if (importPosition === "after") { + if (this._insertStatementsAfter(statements)) return; + } else { + if (this._insertStatementsBefore(statements, blockHoist)) return; + } + this._programPath.unshiftContainer("body", statements); + } + _insertStatementsBefore(statements, blockHoist) { + if (statements.length === 1 && isImportDeclaration(statements[0]) && isValueImport(statements[0])) { + const firstImportDecl = this._programPath.get("body").find((p) => { + return p.isImportDeclaration() && isValueImport(p.node); + }); + if ((firstImportDecl == null ? void 0 : firstImportDecl.node.source.value) === statements[0].source.value && maybeAppendImportSpecifiers(firstImportDecl.node, statements[0])) { + return true; + } + } + statements.forEach((node) => { + node._blockHoist = blockHoist; + }); + const targetPath = this._programPath.get("body").find((p) => { + const val = p.node._blockHoist; + return Number.isFinite(val) && val < 4; + }); + if (targetPath) { + targetPath.insertBefore(statements); + return true; + } + return false; + } + _insertStatementsAfter(statements) { + const statementsSet = new Set(statements); + const importDeclarations = /* @__PURE__ */ new Map(); + for (const statement of statements) { + if (isImportDeclaration(statement) && isValueImport(statement)) { + const source = statement.source.value; + if (!importDeclarations.has(source)) importDeclarations.set(source, []); + importDeclarations.get(source).push(statement); + } + } + let lastImportPath = null; + for (const bodyStmt of this._programPath.get("body")) { + if (bodyStmt.isImportDeclaration() && isValueImport(bodyStmt.node)) { + lastImportPath = bodyStmt; + const source = bodyStmt.node.source.value; + const newImports = importDeclarations.get(source); + if (!newImports) continue; + for (const decl of newImports) { + if (!statementsSet.has(decl)) continue; + if (maybeAppendImportSpecifiers(bodyStmt.node, decl)) { + statementsSet.delete(decl); + } + } + } + } + if (statementsSet.size === 0) return true; + if (lastImportPath) lastImportPath.insertAfter(Array.from(statementsSet)); + return !!lastImportPath; + } + }; + exports.default = ImportInjector; + function isValueImport(node) { + return node.importKind !== "type" && node.importKind !== "typeof"; + } + function hasNamespaceImport(node) { + return node.specifiers.length === 1 && node.specifiers[0].type === "ImportNamespaceSpecifier" || node.specifiers.length === 2 && node.specifiers[1].type === "ImportNamespaceSpecifier"; + } + function hasDefaultImport(node) { + return node.specifiers.length > 0 && node.specifiers[0].type === "ImportDefaultSpecifier"; + } + function maybeAppendImportSpecifiers(target, source) { + if (!target.specifiers.length) { + target.specifiers = source.specifiers; + return true; + } + if (!source.specifiers.length) return true; + if (hasNamespaceImport(target) || hasNamespaceImport(source)) return false; + if (hasDefaultImport(source)) { + if (hasDefaultImport(target)) { + source.specifiers[0] = importSpecifier(source.specifiers[0].local, identifier("default")); + } else { + target.specifiers.unshift(source.specifiers.shift()); + } + } + target.specifiers.push(...source.specifiers); + return true; + } + } +}); + +// ../../.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-078d3c2b45.zip/node_modules/@babel/helper-module-imports/lib/index.js +var require_lib4 = __commonJS({ + "../../.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-078d3c2b45.zip/node_modules/@babel/helper-module-imports/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "ImportInjector", { + enumerable: true, + get: function() { + return _importInjector.default; + } + }); + exports.addDefault = addDefault2; + exports.addNamed = addNamed2; + exports.addNamespace = addNamespace; + exports.addSideEffect = addSideEffect; + Object.defineProperty(exports, "isModule", { + enumerable: true, + get: function() { + return _isModule.default; + } + }); + var _importInjector = require_import_injector(); + var _isModule = require_is_module(); + function addDefault2(path, importedSource, opts) { + return new _importInjector.default(path).addDefault(importedSource, opts); + } + function addNamed2(path, name, importedSource, opts) { + return new _importInjector.default(path).addNamed(name, importedSource, opts); + } + function addNamespace(path, importedSource, opts) { + return new _importInjector.default(path).addNamespace(importedSource, opts); + } + function addSideEffect(path, importedSource, opts) { + return new _importInjector.default(path).addSideEffect(importedSource, opts); + } + } +}); + +// browser-external:os +var require_os = __commonJS({ + "browser-external:os"(exports, module) { + module.exports = Object.create(new Proxy({}, { + get(_, key) { + if (key !== "__esModule" && key !== "__proto__" && key !== "constructor" && key !== "splice") { + console.warn(`Module "os" has been externalized for browser compatibility. Cannot access "os.${key}" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`); + } + } + })); + } +}); + +// ../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/homedir.js +var require_homedir = __commonJS({ + "../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/homedir.js"(exports, module) { + "use strict"; + var os = require_os(); + module.exports = os.homedir || function homedir() { + var home = process.env.HOME; + var user = process.env.LOGNAME || process.env.USER || process.env.LNAME || process.env.USERNAME; + if (process.platform === "win32") { + return process.env.USERPROFILE || process.env.HOMEDRIVE + process.env.HOMEPATH || home || null; + } + if (process.platform === "darwin") { + return home || (user ? "/Users/" + user : null); + } + if (process.platform === "linux") { + return home || (process.getuid() === 0 ? "/root" : user ? "/home/" + user : null); + } + return home || null; + }; + } +}); + +// ../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/caller.js +var require_caller = __commonJS({ + "../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/caller.js"(exports, module) { + module.exports = function() { + var origPrepareStackTrace = Error.prepareStackTrace; + Error.prepareStackTrace = function(_, stack2) { + return stack2; + }; + var stack = new Error().stack; + Error.prepareStackTrace = origPrepareStackTrace; + return stack[2].getFileName(); + }; + } +}); + +// ../../.yarn/cache/path-parse-npm-1.0.7-09564527b7-11ce261f9d.zip/node_modules/path-parse/index.js +var require_path_parse = __commonJS({ + "../../.yarn/cache/path-parse-npm-1.0.7-09564527b7-11ce261f9d.zip/node_modules/path-parse/index.js"(exports, module) { + "use strict"; + var isWindows = process.platform === "win32"; + var splitWindowsRe = /^(((?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?[\\\/]?)(?:[^\\\/]*[\\\/])*)((\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))[\\\/]*$/; + var win32 = {}; + function win32SplitPath(filename) { + return splitWindowsRe.exec(filename).slice(1); + } + win32.parse = function(pathString) { + if (typeof pathString !== "string") { + throw new TypeError( + "Parameter 'pathString' must be a string, not " + typeof pathString + ); + } + var allParts = win32SplitPath(pathString); + if (!allParts || allParts.length !== 5) { + throw new TypeError("Invalid path '" + pathString + "'"); + } + return { + root: allParts[1], + dir: allParts[0] === allParts[1] ? allParts[0] : allParts[0].slice(0, -1), + base: allParts[2], + ext: allParts[4], + name: allParts[3] + }; + }; + var splitPathRe = /^((\/?)(?:[^\/]*\/)*)((\.{1,2}|[^\/]+?|)(\.[^.\/]*|))[\/]*$/; + var posix = {}; + function posixSplitPath(filename) { + return splitPathRe.exec(filename).slice(1); + } + posix.parse = function(pathString) { + if (typeof pathString !== "string") { + throw new TypeError( + "Parameter 'pathString' must be a string, not " + typeof pathString + ); + } + var allParts = posixSplitPath(pathString); + if (!allParts || allParts.length !== 5) { + throw new TypeError("Invalid path '" + pathString + "'"); + } + return { + root: allParts[1], + dir: allParts[0].slice(0, -1), + base: allParts[2], + ext: allParts[4], + name: allParts[3] + }; + }; + if (isWindows) + module.exports = win32.parse; + else + module.exports = posix.parse; + module.exports.posix = posix.parse; + module.exports.win32 = win32.parse; + } +}); + +// ../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/node-modules-paths.js +var require_node_modules_paths = __commonJS({ + "../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/node-modules-paths.js"(exports, module) { + var path = require_path(); + var parse3 = path.parse || require_path_parse(); + var getNodeModulesDirs = function getNodeModulesDirs2(absoluteStart, modules) { + var prefix = "/"; + if (/^([A-Za-z]:)/.test(absoluteStart)) { + prefix = ""; + } else if (/^\\\\/.test(absoluteStart)) { + prefix = "\\\\"; + } + var paths = [absoluteStart]; + var parsed = parse3(absoluteStart); + while (parsed.dir !== paths[paths.length - 1]) { + paths.push(parsed.dir); + parsed = parse3(parsed.dir); + } + return paths.reduce(function(dirs, aPath) { + return dirs.concat(modules.map(function(moduleDir) { + return path.resolve(prefix, aPath, moduleDir); + })); + }, []); + }; + module.exports = function nodeModulesPaths(start, opts, request) { + var modules = opts && opts.moduleDirectory ? [].concat(opts.moduleDirectory) : ["node_modules"]; + if (opts && typeof opts.paths === "function") { + return opts.paths( + request, + start, + function() { + return getNodeModulesDirs(start, modules); + }, + opts + ); + } + var dirs = getNodeModulesDirs(start, modules); + return opts && opts.paths ? dirs.concat(opts.paths) : dirs; + }; + } +}); + +// browser-external:module +var require_module = __commonJS({ + "browser-external:module"(exports, module) { + module.exports = Object.create(new Proxy({}, { + get(_, key) { + if (key !== "__esModule" && key !== "__proto__" && key !== "constructor" && key !== "splice") { + console.warn(`Module "module" has been externalized for browser compatibility. Cannot access "module.${key}" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`); + } + } + })); + } +}); + +// ../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/normalize-options.js +var require_normalize_options = __commonJS({ + "../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/normalize-options.js"(exports, module) { + var path = require_path(); + module.exports = function(_, opts) { + opts = opts || {}; + if (opts.forceNodeResolution || !process.versions.pnp) + return opts; + const { findPnpApi } = require_module(); + const runPnpResolution = (request, basedir) => { + const parts = request.match(/^((?:@[^/]+\/)?[^/]+)(\/.*)?/); + if (!parts) + throw new Error(`Assertion failed: Expected the "resolve" package to call the "paths" callback with package names only (got "${request}")`); + if (basedir.charAt(basedir.length - 1) !== `/`) + basedir = path.join(basedir, `/`); + const api = findPnpApi(basedir); + if (api === null) + return void 0; + let manifestPath; + try { + manifestPath = api.resolveToUnqualified(`${parts[1]}/package.json`, basedir, { considerBuiltins: false }); + } catch (err) { + return null; + } + if (manifestPath === null) + throw new Error(`Assertion failed: The resolution thinks that "${parts[1]}" is a Node builtin`); + const packagePath = path.dirname(manifestPath); + const unqualifiedPath = typeof parts[2] !== `undefined` ? path.join(packagePath, parts[2]) : packagePath; + return { packagePath, unqualifiedPath }; + }; + const runPnpResolutionOnArray = (request, paths2) => { + for (let i = 0; i < paths2.length; i++) { + const resolution = runPnpResolution(request, paths2[i]); + if (resolution || i === paths2.length - 1) { + return resolution; + } + } + return null; + }; + const originalPaths = Array.isArray(opts.paths) ? opts.paths : []; + const packageIterator = (request, basedir, getCandidates, opts2) => { + const pathsToTest = [basedir].concat(originalPaths); + const resolution = runPnpResolutionOnArray(request, pathsToTest); + if (resolution == null) + return getCandidates(); + return [resolution.unqualifiedPath]; + }; + const paths = (request, basedir, getNodeModulePaths, opts2) => { + const pathsToTest = [basedir].concat(originalPaths); + const resolution = runPnpResolutionOnArray(request, pathsToTest); + if (resolution == null) + return getNodeModulePaths().concat(originalPaths); + let nodeModules = path.dirname(resolution.packagePath); + if (request.match(/^@[^/]+\//)) + nodeModules = path.dirname(nodeModules); + return [nodeModules]; + }; + let isInsideIterator = false; + if (!opts.__skipPackageIterator) { + opts.packageIterator = function(request, basedir, getCandidates, opts2) { + isInsideIterator = true; + try { + return packageIterator(request, basedir, getCandidates, opts2); + } finally { + isInsideIterator = false; + } + }; + } + opts.paths = function(request, basedir, getNodeModulePaths, opts2) { + if (isInsideIterator) + return getNodeModulePaths().concat(originalPaths); + return paths(request, basedir, getNodeModulePaths, opts2); + }; + return opts; + }; + } +}); + +// ../../.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-d8680ee1e5.zip/node_modules/function-bind/implementation.js +var require_implementation = __commonJS({ + "../../.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-d8680ee1e5.zip/node_modules/function-bind/implementation.js"(exports, module) { + "use strict"; + var ERROR_MESSAGE = "Function.prototype.bind called on incompatible "; + var toStr = Object.prototype.toString; + var max = Math.max; + var funcType = "[object Function]"; + var concatty = function concatty2(a, b) { + var arr = []; + for (var i = 0; i < a.length; i += 1) { + arr[i] = a[i]; + } + for (var j = 0; j < b.length; j += 1) { + arr[j + a.length] = b[j]; + } + return arr; + }; + var slicy = function slicy2(arrLike, offset) { + var arr = []; + for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) { + arr[j] = arrLike[i]; + } + return arr; + }; + var joiny = function(arr, joiner) { + var str = ""; + for (var i = 0; i < arr.length; i += 1) { + str += arr[i]; + if (i + 1 < arr.length) { + str += joiner; + } + } + return str; + }; + module.exports = function bind(that) { + var target = this; + if (typeof target !== "function" || toStr.apply(target) !== funcType) { + throw new TypeError(ERROR_MESSAGE + target); + } + var args = slicy(arguments, 1); + var bound; + var binder = function() { + if (this instanceof bound) { + var result = target.apply( + this, + concatty(args, arguments) + ); + if (Object(result) === result) { + return result; + } + return this; + } + return target.apply( + that, + concatty(args, arguments) + ); + }; + var boundLength = max(0, target.length - args.length); + var boundArgs = []; + for (var i = 0; i < boundLength; i++) { + boundArgs[i] = "$" + i; + } + bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder); + if (target.prototype) { + var Empty = function Empty2() { + }; + Empty.prototype = target.prototype; + bound.prototype = new Empty(); + Empty.prototype = null; + } + return bound; + }; + } +}); + +// ../../.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-d8680ee1e5.zip/node_modules/function-bind/index.js +var require_function_bind = __commonJS({ + "../../.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-d8680ee1e5.zip/node_modules/function-bind/index.js"(exports, module) { + "use strict"; + var implementation = require_implementation(); + module.exports = Function.prototype.bind || implementation; + } +}); + +// ../../.yarn/cache/hasown-npm-2.0.2-80fe6c9901-3769d43470.zip/node_modules/hasown/index.js +var require_hasown = __commonJS({ + "../../.yarn/cache/hasown-npm-2.0.2-80fe6c9901-3769d43470.zip/node_modules/hasown/index.js"(exports, module) { + "use strict"; + var call = Function.prototype.call; + var $hasOwn = Object.prototype.hasOwnProperty; + var bind = require_function_bind(); + module.exports = bind.call(call, $hasOwn); + } +}); + +// ../../.yarn/cache/is-core-module-npm-2.15.1-34c73a6cbd-53432f10c6.zip/node_modules/is-core-module/core.json +var require_core2 = __commonJS({ + "../../.yarn/cache/is-core-module-npm-2.15.1-34c73a6cbd-53432f10c6.zip/node_modules/is-core-module/core.json"(exports, module) { + module.exports = { + assert: true, + "node:assert": [">= 14.18 && < 15", ">= 16"], + "assert/strict": ">= 15", + "node:assert/strict": ">= 16", + async_hooks: ">= 8", + "node:async_hooks": [">= 14.18 && < 15", ">= 16"], + buffer_ieee754: ">= 0.5 && < 0.9.7", + buffer: true, + "node:buffer": [">= 14.18 && < 15", ">= 16"], + child_process: true, + "node:child_process": [">= 14.18 && < 15", ">= 16"], + cluster: ">= 0.5", + "node:cluster": [">= 14.18 && < 15", ">= 16"], + console: true, + "node:console": [">= 14.18 && < 15", ">= 16"], + constants: true, + "node:constants": [">= 14.18 && < 15", ">= 16"], + crypto: true, + "node:crypto": [">= 14.18 && < 15", ">= 16"], + _debug_agent: ">= 1 && < 8", + _debugger: "< 8", + dgram: true, + "node:dgram": [">= 14.18 && < 15", ">= 16"], + diagnostics_channel: [">= 14.17 && < 15", ">= 15.1"], + "node:diagnostics_channel": [">= 14.18 && < 15", ">= 16"], + dns: true, + "node:dns": [">= 14.18 && < 15", ">= 16"], + "dns/promises": ">= 15", + "node:dns/promises": ">= 16", + domain: ">= 0.7.12", + "node:domain": [">= 14.18 && < 15", ">= 16"], + events: true, + "node:events": [">= 14.18 && < 15", ">= 16"], + freelist: "< 6", + fs: true, + "node:fs": [">= 14.18 && < 15", ">= 16"], + "fs/promises": [">= 10 && < 10.1", ">= 14"], + "node:fs/promises": [">= 14.18 && < 15", ">= 16"], + _http_agent: ">= 0.11.1", + "node:_http_agent": [">= 14.18 && < 15", ">= 16"], + _http_client: ">= 0.11.1", + "node:_http_client": [">= 14.18 && < 15", ">= 16"], + _http_common: ">= 0.11.1", + "node:_http_common": [">= 14.18 && < 15", ">= 16"], + _http_incoming: ">= 0.11.1", + "node:_http_incoming": [">= 14.18 && < 15", ">= 16"], + _http_outgoing: ">= 0.11.1", + "node:_http_outgoing": [">= 14.18 && < 15", ">= 16"], + _http_server: ">= 0.11.1", + "node:_http_server": [">= 14.18 && < 15", ">= 16"], + http: true, + "node:http": [">= 14.18 && < 15", ">= 16"], + http2: ">= 8.8", + "node:http2": [">= 14.18 && < 15", ">= 16"], + https: true, + "node:https": [">= 14.18 && < 15", ">= 16"], + inspector: ">= 8", + "node:inspector": [">= 14.18 && < 15", ">= 16"], + "inspector/promises": [">= 19"], + "node:inspector/promises": [">= 19"], + _linklist: "< 8", + module: true, + "node:module": [">= 14.18 && < 15", ">= 16"], + net: true, + "node:net": [">= 14.18 && < 15", ">= 16"], + "node-inspect/lib/_inspect": ">= 7.6 && < 12", + "node-inspect/lib/internal/inspect_client": ">= 7.6 && < 12", + "node-inspect/lib/internal/inspect_repl": ">= 7.6 && < 12", + os: true, + "node:os": [">= 14.18 && < 15", ">= 16"], + path: true, + "node:path": [">= 14.18 && < 15", ">= 16"], + "path/posix": ">= 15.3", + "node:path/posix": ">= 16", + "path/win32": ">= 15.3", + "node:path/win32": ">= 16", + perf_hooks: ">= 8.5", + "node:perf_hooks": [">= 14.18 && < 15", ">= 16"], + process: ">= 1", + "node:process": [">= 14.18 && < 15", ">= 16"], + punycode: ">= 0.5", + "node:punycode": [">= 14.18 && < 15", ">= 16"], + querystring: true, + "node:querystring": [">= 14.18 && < 15", ">= 16"], + readline: true, + "node:readline": [">= 14.18 && < 15", ">= 16"], + "readline/promises": ">= 17", + "node:readline/promises": ">= 17", + repl: true, + "node:repl": [">= 14.18 && < 15", ">= 16"], + "node:sea": [">= 20.12 && < 21", ">= 21.7"], + smalloc: ">= 0.11.5 && < 3", + _stream_duplex: ">= 0.9.4", + "node:_stream_duplex": [">= 14.18 && < 15", ">= 16"], + _stream_transform: ">= 0.9.4", + "node:_stream_transform": [">= 14.18 && < 15", ">= 16"], + _stream_wrap: ">= 1.4.1", + "node:_stream_wrap": [">= 14.18 && < 15", ">= 16"], + _stream_passthrough: ">= 0.9.4", + "node:_stream_passthrough": [">= 14.18 && < 15", ">= 16"], + _stream_readable: ">= 0.9.4", + "node:_stream_readable": [">= 14.18 && < 15", ">= 16"], + _stream_writable: ">= 0.9.4", + "node:_stream_writable": [">= 14.18 && < 15", ">= 16"], + stream: true, + "node:stream": [">= 14.18 && < 15", ">= 16"], + "stream/consumers": ">= 16.7", + "node:stream/consumers": ">= 16.7", + "stream/promises": ">= 15", + "node:stream/promises": ">= 16", + "stream/web": ">= 16.5", + "node:stream/web": ">= 16.5", + string_decoder: true, + "node:string_decoder": [">= 14.18 && < 15", ">= 16"], + sys: [">= 0.4 && < 0.7", ">= 0.8"], + "node:sys": [">= 14.18 && < 15", ">= 16"], + "test/reporters": ">= 19.9 && < 20.2", + "node:test/reporters": [">= 18.17 && < 19", ">= 19.9", ">= 20"], + "test/mock_loader": ">= 22.3 && < 22.7", + "node:test/mock_loader": ">= 22.3 && < 22.7", + "node:test": [">= 16.17 && < 17", ">= 18"], + timers: true, + "node:timers": [">= 14.18 && < 15", ">= 16"], + "timers/promises": ">= 15", + "node:timers/promises": ">= 16", + _tls_common: ">= 0.11.13", + "node:_tls_common": [">= 14.18 && < 15", ">= 16"], + _tls_legacy: ">= 0.11.3 && < 10", + _tls_wrap: ">= 0.11.3", + "node:_tls_wrap": [">= 14.18 && < 15", ">= 16"], + tls: true, + "node:tls": [">= 14.18 && < 15", ">= 16"], + trace_events: ">= 10", + "node:trace_events": [">= 14.18 && < 15", ">= 16"], + tty: true, + "node:tty": [">= 14.18 && < 15", ">= 16"], + url: true, + "node:url": [">= 14.18 && < 15", ">= 16"], + util: true, + "node:util": [">= 14.18 && < 15", ">= 16"], + "util/types": ">= 15.3", + "node:util/types": ">= 16", + "v8/tools/arguments": ">= 10 && < 12", + "v8/tools/codemap": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/consarray": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/csvparser": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/logreader": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/profile_view": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/splaytree": [">= 4.4 && < 5", ">= 5.2 && < 12"], + v8: ">= 1", + "node:v8": [">= 14.18 && < 15", ">= 16"], + vm: true, + "node:vm": [">= 14.18 && < 15", ">= 16"], + wasi: [">= 13.4 && < 13.5", ">= 18.17 && < 19", ">= 20"], + "node:wasi": [">= 18.17 && < 19", ">= 20"], + worker_threads: ">= 11.7", + "node:worker_threads": [">= 14.18 && < 15", ">= 16"], + zlib: ">= 0.5", + "node:zlib": [">= 14.18 && < 15", ">= 16"] + }; + } +}); + +// ../../.yarn/cache/is-core-module-npm-2.15.1-34c73a6cbd-53432f10c6.zip/node_modules/is-core-module/index.js +var require_is_core_module = __commonJS({ + "../../.yarn/cache/is-core-module-npm-2.15.1-34c73a6cbd-53432f10c6.zip/node_modules/is-core-module/index.js"(exports, module) { + "use strict"; + var hasOwn = require_hasown(); + function specifierIncluded(current, specifier) { + var nodeParts = current.split("."); + var parts = specifier.split(" "); + var op = parts.length > 1 ? parts[0] : "="; + var versionParts = (parts.length > 1 ? parts[1] : parts[0]).split("."); + for (var i = 0; i < 3; ++i) { + var cur = parseInt(nodeParts[i] || 0, 10); + var ver = parseInt(versionParts[i] || 0, 10); + if (cur === ver) { + continue; + } + if (op === "<") { + return cur < ver; + } + if (op === ">=") { + return cur >= ver; + } + return false; + } + return op === ">="; + } + function matchesRange(current, range) { + var specifiers = range.split(/ ?&& ?/); + if (specifiers.length === 0) { + return false; + } + for (var i = 0; i < specifiers.length; ++i) { + if (!specifierIncluded(current, specifiers[i])) { + return false; + } + } + return true; + } + function versionIncluded(nodeVersion, specifierValue) { + if (typeof specifierValue === "boolean") { + return specifierValue; + } + var current = typeof nodeVersion === "undefined" ? process.versions && process.versions.node : nodeVersion; + if (typeof current !== "string") { + throw new TypeError(typeof nodeVersion === "undefined" ? "Unable to determine current node version" : "If provided, a valid node version is required"); + } + if (specifierValue && typeof specifierValue === "object") { + for (var i = 0; i < specifierValue.length; ++i) { + if (matchesRange(current, specifierValue[i])) { + return true; + } + } + return false; + } + return matchesRange(current, specifierValue); + } + var data = require_core2(); + module.exports = function isCore(x, nodeVersion) { + return hasOwn(data, x) && versionIncluded(nodeVersion, data[x]); + }; + } +}); + +// ../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/async.js +var require_async = __commonJS({ + "../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/async.js"(exports, module) { + var fs = require_fs(); + var getHomedir = require_homedir(); + var path = require_path(); + var caller = require_caller(); + var nodeModulesPaths = require_node_modules_paths(); + var normalizeOptions = require_normalize_options(); + var isCore = require_is_core_module(); + var realpathFS = process.platform !== "win32" && fs.realpath && typeof fs.realpath.native === "function" ? fs.realpath.native : fs.realpath; + var homedir = getHomedir(); + var defaultPaths = function() { + return [ + path.join(homedir, ".node_modules"), + path.join(homedir, ".node_libraries") + ]; + }; + var defaultIsFile = function isFile(file, cb) { + fs.stat(file, function(err, stat) { + if (!err) { + return cb(null, stat.isFile() || stat.isFIFO()); + } + if (err.code === "ENOENT" || err.code === "ENOTDIR") return cb(null, false); + return cb(err); + }); + }; + var defaultIsDir = function isDirectory(dir, cb) { + fs.stat(dir, function(err, stat) { + if (!err) { + return cb(null, stat.isDirectory()); + } + if (err.code === "ENOENT" || err.code === "ENOTDIR") return cb(null, false); + return cb(err); + }); + }; + var defaultRealpath = function realpath(x, cb) { + realpathFS(x, function(realpathErr, realPath) { + if (realpathErr && realpathErr.code !== "ENOENT") cb(realpathErr); + else cb(null, realpathErr ? x : realPath); + }); + }; + var maybeRealpath = function maybeRealpath2(realpath, x, opts, cb) { + if (opts && opts.preserveSymlinks === false) { + realpath(x, cb); + } else { + cb(null, x); + } + }; + var defaultReadPackage = function defaultReadPackage2(readFile, pkgfile, cb) { + readFile(pkgfile, function(readFileErr, body) { + if (readFileErr) cb(readFileErr); + else { + try { + var pkg = JSON.parse(body); + cb(null, pkg); + } catch (jsonErr) { + cb(null); + } + } + }); + }; + var getPackageCandidates = function getPackageCandidates2(x, start, opts) { + var dirs = nodeModulesPaths(start, opts, x); + for (var i = 0; i < dirs.length; i++) { + dirs[i] = path.join(dirs[i], x); + } + return dirs; + }; + module.exports = function resolve27(x, options, callback) { + var cb = callback; + var opts = options; + if (typeof options === "function") { + cb = opts; + opts = {}; + } + if (typeof x !== "string") { + var err = new TypeError("Path must be a string."); + return process.nextTick(function() { + cb(err); + }); + } + opts = normalizeOptions(x, opts); + var isFile = opts.isFile || defaultIsFile; + var isDirectory = opts.isDirectory || defaultIsDir; + var readFile = opts.readFile || fs.readFile; + var realpath = opts.realpath || defaultRealpath; + var readPackage = opts.readPackage || defaultReadPackage; + if (opts.readFile && opts.readPackage) { + var conflictErr = new TypeError("`readFile` and `readPackage` are mutually exclusive."); + return process.nextTick(function() { + cb(conflictErr); + }); + } + var packageIterator = opts.packageIterator; + var extensions = opts.extensions || [".js"]; + var includeCoreModules = opts.includeCoreModules !== false; + var basedir = opts.basedir || path.dirname(caller()); + var parent = opts.filename || basedir; + opts.paths = opts.paths || defaultPaths(); + var absoluteStart = path.resolve(basedir); + maybeRealpath( + realpath, + absoluteStart, + opts, + function(err2, realStart) { + if (err2) cb(err2); + else init(realStart); + } + ); + var res; + function init(basedir2) { + if (/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(x)) { + res = path.resolve(basedir2, x); + if (x === "." || x === ".." || x.slice(-1) === "/") res += "/"; + if (/\/$/.test(x) && res === basedir2) { + loadAsDirectory(res, opts.package, onfile); + } else loadAsFile(res, opts.package, onfile); + } else if (includeCoreModules && isCore(x)) { + return cb(null, x); + } else loadNodeModules(x, basedir2, function(err2, n, pkg) { + if (err2) cb(err2); + else if (n) { + return maybeRealpath(realpath, n, opts, function(err3, realN) { + if (err3) { + cb(err3); + } else { + cb(null, realN, pkg); + } + }); + } else { + var moduleError = new Error("Cannot find module '" + x + "' from '" + parent + "'"); + moduleError.code = "MODULE_NOT_FOUND"; + cb(moduleError); + } + }); + } + function onfile(err2, m, pkg) { + if (err2) cb(err2); + else if (m) cb(null, m, pkg); + else loadAsDirectory(res, function(err3, d, pkg2) { + if (err3) cb(err3); + else if (d) { + maybeRealpath(realpath, d, opts, function(err4, realD) { + if (err4) { + cb(err4); + } else { + cb(null, realD, pkg2); + } + }); + } else { + var moduleError = new Error("Cannot find module '" + x + "' from '" + parent + "'"); + moduleError.code = "MODULE_NOT_FOUND"; + cb(moduleError); + } + }); + } + function loadAsFile(x2, thePackage, callback2) { + var loadAsFilePackage = thePackage; + var cb2 = callback2; + if (typeof loadAsFilePackage === "function") { + cb2 = loadAsFilePackage; + loadAsFilePackage = void 0; + } + var exts = [""].concat(extensions); + load(exts, x2, loadAsFilePackage); + function load(exts2, x3, loadPackage) { + if (exts2.length === 0) return cb2(null, void 0, loadPackage); + var file = x3 + exts2[0]; + var pkg = loadPackage; + if (pkg) onpkg(null, pkg); + else loadpkg(path.dirname(file), onpkg); + function onpkg(err2, pkg_, dir) { + pkg = pkg_; + if (err2) return cb2(err2); + if (dir && pkg && opts.pathFilter) { + var rfile = path.relative(dir, file); + var rel = rfile.slice(0, rfile.length - exts2[0].length); + var r = opts.pathFilter(pkg, x3, rel); + if (r) return load( + [""].concat(extensions.slice()), + path.resolve(dir, r), + pkg + ); + } + isFile(file, onex); + } + function onex(err2, ex) { + if (err2) return cb2(err2); + if (ex) return cb2(null, file, pkg); + load(exts2.slice(1), x3, pkg); + } + } + } + function loadpkg(dir, cb2) { + if (dir === "" || dir === "/") return cb2(null); + if (process.platform === "win32" && /^\w:[/\\]*$/.test(dir)) { + return cb2(null); + } + if (/[/\\]node_modules[/\\]*$/.test(dir)) return cb2(null); + maybeRealpath(realpath, dir, opts, function(unwrapErr, pkgdir) { + if (unwrapErr) return loadpkg(path.dirname(dir), cb2); + var pkgfile = path.join(pkgdir, "package.json"); + isFile(pkgfile, function(err2, ex) { + if (!ex) return loadpkg(path.dirname(dir), cb2); + readPackage(readFile, pkgfile, function(err3, pkgParam) { + if (err3) cb2(err3); + var pkg = pkgParam; + if (pkg && opts.packageFilter) { + pkg = opts.packageFilter(pkg, pkgfile); + } + cb2(null, pkg, dir); + }); + }); + }); + } + function loadAsDirectory(x2, loadAsDirectoryPackage, callback2) { + var cb2 = callback2; + var fpkg = loadAsDirectoryPackage; + if (typeof fpkg === "function") { + cb2 = fpkg; + fpkg = opts.package; + } + maybeRealpath(realpath, x2, opts, function(unwrapErr, pkgdir) { + if (unwrapErr) return cb2(unwrapErr); + var pkgfile = path.join(pkgdir, "package.json"); + isFile(pkgfile, function(err2, ex) { + if (err2) return cb2(err2); + if (!ex) return loadAsFile(path.join(x2, "index"), fpkg, cb2); + readPackage(readFile, pkgfile, function(err3, pkgParam) { + if (err3) return cb2(err3); + var pkg = pkgParam; + if (pkg && opts.packageFilter) { + pkg = opts.packageFilter(pkg, pkgfile); + } + if (pkg && pkg.main) { + if (typeof pkg.main !== "string") { + var mainError = new TypeError("package “" + pkg.name + "” `main` must be a string"); + mainError.code = "INVALID_PACKAGE_MAIN"; + return cb2(mainError); + } + if (pkg.main === "." || pkg.main === "./") { + pkg.main = "index"; + } + loadAsFile(path.resolve(x2, pkg.main), pkg, function(err4, m, pkg2) { + if (err4) return cb2(err4); + if (m) return cb2(null, m, pkg2); + if (!pkg2) return loadAsFile(path.join(x2, "index"), pkg2, cb2); + var dir = path.resolve(x2, pkg2.main); + loadAsDirectory(dir, pkg2, function(err5, n, pkg3) { + if (err5) return cb2(err5); + if (n) return cb2(null, n, pkg3); + loadAsFile(path.join(x2, "index"), pkg3, cb2); + }); + }); + return; + } + loadAsFile(path.join(x2, "/index"), pkg, cb2); + }); + }); + }); + } + function processDirs(cb2, dirs) { + if (dirs.length === 0) return cb2(null, void 0); + var dir = dirs[0]; + isDirectory(path.dirname(dir), isdir); + function isdir(err2, isdir2) { + if (err2) return cb2(err2); + if (!isdir2) return processDirs(cb2, dirs.slice(1)); + loadAsFile(dir, opts.package, onfile2); + } + function onfile2(err2, m, pkg) { + if (err2) return cb2(err2); + if (m) return cb2(null, m, pkg); + loadAsDirectory(dir, opts.package, ondir); + } + function ondir(err2, n, pkg) { + if (err2) return cb2(err2); + if (n) return cb2(null, n, pkg); + processDirs(cb2, dirs.slice(1)); + } + } + function loadNodeModules(x2, start, cb2) { + var thunk = function() { + return getPackageCandidates(x2, start, opts); + }; + processDirs( + cb2, + packageIterator ? packageIterator(x2, start, thunk, opts) : thunk() + ); + } + }; + } +}); + +// ../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/core.json +var require_core3 = __commonJS({ + "../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/core.json"(exports, module) { + module.exports = { + assert: true, + "node:assert": [">= 14.18 && < 15", ">= 16"], + "assert/strict": ">= 15", + "node:assert/strict": ">= 16", + async_hooks: ">= 8", + "node:async_hooks": [">= 14.18 && < 15", ">= 16"], + buffer_ieee754: ">= 0.5 && < 0.9.7", + buffer: true, + "node:buffer": [">= 14.18 && < 15", ">= 16"], + child_process: true, + "node:child_process": [">= 14.18 && < 15", ">= 16"], + cluster: ">= 0.5", + "node:cluster": [">= 14.18 && < 15", ">= 16"], + console: true, + "node:console": [">= 14.18 && < 15", ">= 16"], + constants: true, + "node:constants": [">= 14.18 && < 15", ">= 16"], + crypto: true, + "node:crypto": [">= 14.18 && < 15", ">= 16"], + _debug_agent: ">= 1 && < 8", + _debugger: "< 8", + dgram: true, + "node:dgram": [">= 14.18 && < 15", ">= 16"], + diagnostics_channel: [">= 14.17 && < 15", ">= 15.1"], + "node:diagnostics_channel": [">= 14.18 && < 15", ">= 16"], + dns: true, + "node:dns": [">= 14.18 && < 15", ">= 16"], + "dns/promises": ">= 15", + "node:dns/promises": ">= 16", + domain: ">= 0.7.12", + "node:domain": [">= 14.18 && < 15", ">= 16"], + events: true, + "node:events": [">= 14.18 && < 15", ">= 16"], + freelist: "< 6", + fs: true, + "node:fs": [">= 14.18 && < 15", ">= 16"], + "fs/promises": [">= 10 && < 10.1", ">= 14"], + "node:fs/promises": [">= 14.18 && < 15", ">= 16"], + _http_agent: ">= 0.11.1", + "node:_http_agent": [">= 14.18 && < 15", ">= 16"], + _http_client: ">= 0.11.1", + "node:_http_client": [">= 14.18 && < 15", ">= 16"], + _http_common: ">= 0.11.1", + "node:_http_common": [">= 14.18 && < 15", ">= 16"], + _http_incoming: ">= 0.11.1", + "node:_http_incoming": [">= 14.18 && < 15", ">= 16"], + _http_outgoing: ">= 0.11.1", + "node:_http_outgoing": [">= 14.18 && < 15", ">= 16"], + _http_server: ">= 0.11.1", + "node:_http_server": [">= 14.18 && < 15", ">= 16"], + http: true, + "node:http": [">= 14.18 && < 15", ">= 16"], + http2: ">= 8.8", + "node:http2": [">= 14.18 && < 15", ">= 16"], + https: true, + "node:https": [">= 14.18 && < 15", ">= 16"], + inspector: ">= 8", + "node:inspector": [">= 14.18 && < 15", ">= 16"], + "inspector/promises": [">= 19"], + "node:inspector/promises": [">= 19"], + _linklist: "< 8", + module: true, + "node:module": [">= 14.18 && < 15", ">= 16"], + net: true, + "node:net": [">= 14.18 && < 15", ">= 16"], + "node-inspect/lib/_inspect": ">= 7.6 && < 12", + "node-inspect/lib/internal/inspect_client": ">= 7.6 && < 12", + "node-inspect/lib/internal/inspect_repl": ">= 7.6 && < 12", + os: true, + "node:os": [">= 14.18 && < 15", ">= 16"], + path: true, + "node:path": [">= 14.18 && < 15", ">= 16"], + "path/posix": ">= 15.3", + "node:path/posix": ">= 16", + "path/win32": ">= 15.3", + "node:path/win32": ">= 16", + perf_hooks: ">= 8.5", + "node:perf_hooks": [">= 14.18 && < 15", ">= 16"], + process: ">= 1", + "node:process": [">= 14.18 && < 15", ">= 16"], + punycode: ">= 0.5", + "node:punycode": [">= 14.18 && < 15", ">= 16"], + querystring: true, + "node:querystring": [">= 14.18 && < 15", ">= 16"], + readline: true, + "node:readline": [">= 14.18 && < 15", ">= 16"], + "readline/promises": ">= 17", + "node:readline/promises": ">= 17", + repl: true, + "node:repl": [">= 14.18 && < 15", ">= 16"], + smalloc: ">= 0.11.5 && < 3", + _stream_duplex: ">= 0.9.4", + "node:_stream_duplex": [">= 14.18 && < 15", ">= 16"], + _stream_transform: ">= 0.9.4", + "node:_stream_transform": [">= 14.18 && < 15", ">= 16"], + _stream_wrap: ">= 1.4.1", + "node:_stream_wrap": [">= 14.18 && < 15", ">= 16"], + _stream_passthrough: ">= 0.9.4", + "node:_stream_passthrough": [">= 14.18 && < 15", ">= 16"], + _stream_readable: ">= 0.9.4", + "node:_stream_readable": [">= 14.18 && < 15", ">= 16"], + _stream_writable: ">= 0.9.4", + "node:_stream_writable": [">= 14.18 && < 15", ">= 16"], + stream: true, + "node:stream": [">= 14.18 && < 15", ">= 16"], + "stream/consumers": ">= 16.7", + "node:stream/consumers": ">= 16.7", + "stream/promises": ">= 15", + "node:stream/promises": ">= 16", + "stream/web": ">= 16.5", + "node:stream/web": ">= 16.5", + string_decoder: true, + "node:string_decoder": [">= 14.18 && < 15", ">= 16"], + sys: [">= 0.4 && < 0.7", ">= 0.8"], + "node:sys": [">= 14.18 && < 15", ">= 16"], + "test/reporters": ">= 19.9 && < 20.2", + "node:test/reporters": [">= 18.17 && < 19", ">= 19.9", ">= 20"], + "node:test": [">= 16.17 && < 17", ">= 18"], + timers: true, + "node:timers": [">= 14.18 && < 15", ">= 16"], + "timers/promises": ">= 15", + "node:timers/promises": ">= 16", + _tls_common: ">= 0.11.13", + "node:_tls_common": [">= 14.18 && < 15", ">= 16"], + _tls_legacy: ">= 0.11.3 && < 10", + _tls_wrap: ">= 0.11.3", + "node:_tls_wrap": [">= 14.18 && < 15", ">= 16"], + tls: true, + "node:tls": [">= 14.18 && < 15", ">= 16"], + trace_events: ">= 10", + "node:trace_events": [">= 14.18 && < 15", ">= 16"], + tty: true, + "node:tty": [">= 14.18 && < 15", ">= 16"], + url: true, + "node:url": [">= 14.18 && < 15", ">= 16"], + util: true, + "node:util": [">= 14.18 && < 15", ">= 16"], + "util/types": ">= 15.3", + "node:util/types": ">= 16", + "v8/tools/arguments": ">= 10 && < 12", + "v8/tools/codemap": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/consarray": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/csvparser": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/logreader": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/profile_view": [">= 4.4 && < 5", ">= 5.2 && < 12"], + "v8/tools/splaytree": [">= 4.4 && < 5", ">= 5.2 && < 12"], + v8: ">= 1", + "node:v8": [">= 14.18 && < 15", ">= 16"], + vm: true, + "node:vm": [">= 14.18 && < 15", ">= 16"], + wasi: [">= 13.4 && < 13.5", ">= 18.17 && < 19", ">= 20"], + "node:wasi": [">= 18.17 && < 19", ">= 20"], + worker_threads: ">= 11.7", + "node:worker_threads": [">= 14.18 && < 15", ">= 16"], + zlib: ">= 0.5", + "node:zlib": [">= 14.18 && < 15", ">= 16"] + }; + } +}); + +// ../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/core.js +var require_core4 = __commonJS({ + "../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/core.js"(exports, module) { + "use strict"; + var isCoreModule = require_is_core_module(); + var data = require_core3(); + var core2 = {}; + for (mod in data) { + if (Object.prototype.hasOwnProperty.call(data, mod)) { + core2[mod] = isCoreModule(mod); + } + } + var mod; + module.exports = core2; + } +}); + +// ../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/is-core.js +var require_is_core = __commonJS({ + "../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/is-core.js"(exports, module) { + var isCoreModule = require_is_core_module(); + module.exports = function isCore(x) { + return isCoreModule(x); + }; + } +}); + +// ../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/sync.js +var require_sync = __commonJS({ + "../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/sync.js"(exports, module) { + var isCore = require_is_core_module(); + var fs = require_fs(); + var path = require_path(); + var getHomedir = require_homedir(); + var caller = require_caller(); + var nodeModulesPaths = require_node_modules_paths(); + var normalizeOptions = require_normalize_options(); + var realpathFS = process.platform !== "win32" && fs.realpathSync && typeof fs.realpathSync.native === "function" ? fs.realpathSync.native : fs.realpathSync; + var homedir = getHomedir(); + var defaultPaths = function() { + return [ + path.join(homedir, ".node_modules"), + path.join(homedir, ".node_libraries") + ]; + }; + var defaultIsFile = function isFile(file) { + try { + var stat = fs.statSync(file, { throwIfNoEntry: false }); + } catch (e) { + if (e && (e.code === "ENOENT" || e.code === "ENOTDIR")) return false; + throw e; + } + return !!stat && (stat.isFile() || stat.isFIFO()); + }; + var defaultIsDir = function isDirectory(dir) { + try { + var stat = fs.statSync(dir, { throwIfNoEntry: false }); + } catch (e) { + if (e && (e.code === "ENOENT" || e.code === "ENOTDIR")) return false; + throw e; + } + return !!stat && stat.isDirectory(); + }; + var defaultRealpathSync = function realpathSync(x) { + try { + return realpathFS(x); + } catch (realpathErr) { + if (realpathErr.code !== "ENOENT") { + throw realpathErr; + } + } + return x; + }; + var maybeRealpathSync = function maybeRealpathSync2(realpathSync, x, opts) { + if (opts && opts.preserveSymlinks === false) { + return realpathSync(x); + } + return x; + }; + var defaultReadPackageSync = function defaultReadPackageSync2(readFileSync, pkgfile) { + var body = readFileSync(pkgfile); + try { + var pkg = JSON.parse(body); + return pkg; + } catch (jsonErr) { + } + }; + var getPackageCandidates = function getPackageCandidates2(x, start, opts) { + var dirs = nodeModulesPaths(start, opts, x); + for (var i = 0; i < dirs.length; i++) { + dirs[i] = path.join(dirs[i], x); + } + return dirs; + }; + module.exports = function resolveSync(x, options) { + if (typeof x !== "string") { + throw new TypeError("Path must be a string."); + } + var opts = normalizeOptions(x, options); + var isFile = opts.isFile || defaultIsFile; + var readFileSync = opts.readFileSync || fs.readFileSync; + var isDirectory = opts.isDirectory || defaultIsDir; + var realpathSync = opts.realpathSync || defaultRealpathSync; + var readPackageSync = opts.readPackageSync || defaultReadPackageSync; + if (opts.readFileSync && opts.readPackageSync) { + throw new TypeError("`readFileSync` and `readPackageSync` are mutually exclusive."); + } + var packageIterator = opts.packageIterator; + var extensions = opts.extensions || [".js"]; + var includeCoreModules = opts.includeCoreModules !== false; + var basedir = opts.basedir || path.dirname(caller()); + var parent = opts.filename || basedir; + opts.paths = opts.paths || defaultPaths(); + var absoluteStart = maybeRealpathSync(realpathSync, path.resolve(basedir), opts); + if (/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(x)) { + var res = path.resolve(absoluteStart, x); + if (x === "." || x === ".." || x.slice(-1) === "/") res += "/"; + var m = loadAsFileSync(res) || loadAsDirectorySync(res); + if (m) return maybeRealpathSync(realpathSync, m, opts); + } else if (includeCoreModules && isCore(x)) { + return x; + } else { + var n = loadNodeModulesSync(x, absoluteStart); + if (n) return maybeRealpathSync(realpathSync, n, opts); + } + var err = new Error("Cannot find module '" + x + "' from '" + parent + "'"); + err.code = "MODULE_NOT_FOUND"; + throw err; + function loadAsFileSync(x2) { + var pkg = loadpkg(path.dirname(x2)); + if (pkg && pkg.dir && pkg.pkg && opts.pathFilter) { + var rfile = path.relative(pkg.dir, x2); + var r = opts.pathFilter(pkg.pkg, x2, rfile); + if (r) { + x2 = path.resolve(pkg.dir, r); + } + } + if (isFile(x2)) { + return x2; + } + for (var i = 0; i < extensions.length; i++) { + var file = x2 + extensions[i]; + if (isFile(file)) { + return file; + } + } + } + function loadpkg(dir) { + if (dir === "" || dir === "/") return; + if (process.platform === "win32" && /^\w:[/\\]*$/.test(dir)) { + return; + } + if (/[/\\]node_modules[/\\]*$/.test(dir)) return; + var pkgfile = path.join(maybeRealpathSync(realpathSync, dir, opts), "package.json"); + if (!isFile(pkgfile)) { + return loadpkg(path.dirname(dir)); + } + var pkg = readPackageSync(readFileSync, pkgfile); + if (pkg && opts.packageFilter) { + pkg = opts.packageFilter( + pkg, + /*pkgfile,*/ + dir + ); + } + return { pkg, dir }; + } + function loadAsDirectorySync(x2) { + var pkgfile = path.join(maybeRealpathSync(realpathSync, x2, opts), "/package.json"); + if (isFile(pkgfile)) { + try { + var pkg = readPackageSync(readFileSync, pkgfile); + } catch (e) { + } + if (pkg && opts.packageFilter) { + pkg = opts.packageFilter( + pkg, + /*pkgfile,*/ + x2 + ); + } + if (pkg && pkg.main) { + if (typeof pkg.main !== "string") { + var mainError = new TypeError("package “" + pkg.name + "” `main` must be a string"); + mainError.code = "INVALID_PACKAGE_MAIN"; + throw mainError; + } + if (pkg.main === "." || pkg.main === "./") { + pkg.main = "index"; + } + try { + var m2 = loadAsFileSync(path.resolve(x2, pkg.main)); + if (m2) return m2; + var n2 = loadAsDirectorySync(path.resolve(x2, pkg.main)); + if (n2) return n2; + } catch (e) { + } + } + } + return loadAsFileSync(path.join(x2, "/index")); + } + function loadNodeModulesSync(x2, start) { + var thunk = function() { + return getPackageCandidates(x2, start, opts); + }; + var dirs = packageIterator ? packageIterator(x2, start, thunk, opts) : thunk(); + for (var i = 0; i < dirs.length; i++) { + var dir = dirs[i]; + if (isDirectory(path.dirname(dir))) { + var m2 = loadAsFileSync(dir); + if (m2) return m2; + var n2 = loadAsDirectorySync(dir); + if (n2) return n2; + } + } + } + }; + } +}); + +// ../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/index.js +var require_resolve = __commonJS({ + "../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/index.js"(exports, module) { + var async = require_async(); + async.core = require_core4(); + async.isCore = require_is_core(); + async.sync = require_sync(); + module.exports = async; + } +}); + +// ../../.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-8408eec31a.zip/node_modules/resolve-from/index.js +var require_resolve_from = __commonJS({ + "../../.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-8408eec31a.zip/node_modules/resolve-from/index.js"(exports, module) { + "use strict"; + var path = require_path(); + var Module = require_module(); + var fs = require_fs(); + var resolveFrom = (fromDir, moduleId, silent) => { + if (typeof fromDir !== "string") { + throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDir}\``); + } + if (typeof moduleId !== "string") { + throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``); + } + try { + fromDir = fs.realpathSync(fromDir); + } catch (err) { + if (err.code === "ENOENT") { + fromDir = path.resolve(fromDir); + } else if (silent) { + return null; + } else { + throw err; + } + } + const fromFile = path.join(fromDir, "noop.js"); + const resolveFileName = () => Module._resolveFilename(moduleId, { + id: fromFile, + filename: fromFile, + paths: Module._nodeModulePaths(fromDir) + }); + if (silent) { + try { + return resolveFileName(); + } catch (err) { + return null; + } + } + return resolveFileName(); + }; + module.exports = (fromDir, moduleId) => resolveFrom(fromDir, moduleId); + module.exports.silent = (fromDir, moduleId) => resolveFrom(fromDir, moduleId, true); + } +}); + +// ../../.yarn/cache/callsites-npm-3.1.0-268f989910-fff9227740.zip/node_modules/callsites/index.js +var require_callsites = __commonJS({ + "../../.yarn/cache/callsites-npm-3.1.0-268f989910-fff9227740.zip/node_modules/callsites/index.js"(exports, module) { + "use strict"; + var callsites = () => { + const _prepareStackTrace = Error.prepareStackTrace; + Error.prepareStackTrace = (_, stack2) => stack2; + const stack = new Error().stack.slice(1); + Error.prepareStackTrace = _prepareStackTrace; + return stack; + }; + module.exports = callsites; + module.exports.default = callsites; + } +}); + +// ../../.yarn/cache/parent-module-npm-1.0.1-1fae11b095-c63d6e8000.zip/node_modules/parent-module/index.js +var require_parent_module = __commonJS({ + "../../.yarn/cache/parent-module-npm-1.0.1-1fae11b095-c63d6e8000.zip/node_modules/parent-module/index.js"(exports, module) { + "use strict"; + var callsites = require_callsites(); + module.exports = (filepath) => { + const stacks = callsites(); + if (!filepath) { + return stacks[2].getFileName(); + } + let seenVal = false; + stacks.shift(); + for (const stack of stacks) { + const parentFilepath = stack.getFileName(); + if (typeof parentFilepath !== "string") { + continue; + } + if (parentFilepath === filepath) { + seenVal = true; + continue; + } + if (parentFilepath === "module.js") { + continue; + } + if (seenVal && parentFilepath !== filepath) { + return parentFilepath; + } + } + }; + } +}); + +// ../../.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-7f882953aa.zip/node_modules/import-fresh/index.js +var require_import_fresh = __commonJS({ + "../../.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-7f882953aa.zip/node_modules/import-fresh/index.js"(exports, module) { + "use strict"; + var path = require_path(); + var resolveFrom = require_resolve_from(); + var parentModule = require_parent_module(); + module.exports = (moduleId) => { + if (typeof moduleId !== "string") { + throw new TypeError("Expected a string"); + } + const parentPath = parentModule(__filename); + const cwd = parentPath ? path.dirname(parentPath) : __dirname; + const filePath = resolveFrom(cwd, moduleId); + const oldModule = __require.cache[filePath]; + if (oldModule && oldModule.parent) { + let i = oldModule.parent.children.length; + while (i--) { + if (oldModule.parent.children[i].id === filePath) { + oldModule.parent.children.splice(i, 1); + } + } + } + delete __require.cache[filePath]; + const parent = __require.cache[parentPath]; + return parent === void 0 ? __require(filePath) : parent.require(filePath); + }; + } +}); + +// browser-external:util +var require_util2 = __commonJS({ + "browser-external:util"(exports, module) { + module.exports = Object.create(new Proxy({}, { + get(_, key) { + if (key !== "__esModule" && key !== "__proto__" && key !== "constructor" && key !== "splice") { + console.warn(`Module "util" has been externalized for browser compatibility. Cannot access "util.${key}" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`); + } + } + })); + } +}); + +// ../../.yarn/cache/is-arrayish-npm-0.2.1-23927dfb15-e7fb686a73.zip/node_modules/is-arrayish/index.js +var require_is_arrayish = __commonJS({ + "../../.yarn/cache/is-arrayish-npm-0.2.1-23927dfb15-e7fb686a73.zip/node_modules/is-arrayish/index.js"(exports, module) { + "use strict"; + module.exports = function isArrayish(obj) { + if (!obj) { + return false; + } + return obj instanceof Array || Array.isArray(obj) || obj.length >= 0 && obj.splice instanceof Function; + }; + } +}); + +// ../../.yarn/cache/error-ex-npm-1.3.2-5654f80c0f-ba827f8936.zip/node_modules/error-ex/index.js +var require_error_ex = __commonJS({ + "../../.yarn/cache/error-ex-npm-1.3.2-5654f80c0f-ba827f8936.zip/node_modules/error-ex/index.js"(exports, module) { + "use strict"; + var util = require_util2(); + var isArrayish = require_is_arrayish(); + var errorEx = function errorEx2(name, properties) { + if (!name || name.constructor !== String) { + properties = name || {}; + name = Error.name; + } + var errorExError = function ErrorEXError(message) { + if (!this) { + return new ErrorEXError(message); + } + message = message instanceof Error ? message.message : message || this.message; + Error.call(this, message); + Error.captureStackTrace(this, errorExError); + this.name = name; + Object.defineProperty(this, "message", { + configurable: true, + enumerable: false, + get: function() { + var newMessage = message.split(/\r?\n/g); + for (var key in properties) { + if (!properties.hasOwnProperty(key)) { + continue; + } + var modifier = properties[key]; + if ("message" in modifier) { + newMessage = modifier.message(this[key], newMessage) || newMessage; + if (!isArrayish(newMessage)) { + newMessage = [newMessage]; + } + } + } + return newMessage.join("\n"); + }, + set: function(v) { + message = v; + } + }); + var overwrittenStack = null; + var stackDescriptor = Object.getOwnPropertyDescriptor(this, "stack"); + var stackGetter = stackDescriptor.get; + var stackValue = stackDescriptor.value; + delete stackDescriptor.value; + delete stackDescriptor.writable; + stackDescriptor.set = function(newstack) { + overwrittenStack = newstack; + }; + stackDescriptor.get = function() { + var stack = (overwrittenStack || (stackGetter ? stackGetter.call(this) : stackValue)).split(/\r?\n+/g); + if (!overwrittenStack) { + stack[0] = this.name + ": " + this.message; + } + var lineCount = 1; + for (var key in properties) { + if (!properties.hasOwnProperty(key)) { + continue; + } + var modifier = properties[key]; + if ("line" in modifier) { + var line = modifier.line(this[key]); + if (line) { + stack.splice(lineCount++, 0, " " + line); + } + } + if ("stack" in modifier) { + modifier.stack(this[key], stack); + } + } + return stack.join("\n"); + }; + Object.defineProperty(this, "stack", stackDescriptor); + }; + if (Object.setPrototypeOf) { + Object.setPrototypeOf(errorExError.prototype, Error.prototype); + Object.setPrototypeOf(errorExError, Error); + } else { + util.inherits(errorExError, Error); + } + return errorExError; + }; + errorEx.append = function(str, def) { + return { + message: function(v, message) { + v = v || def; + if (v) { + message[0] += " " + str.replace("%s", v.toString()); + } + return message; + } + }; + }; + errorEx.line = function(str, def) { + return { + line: function(v) { + v = v || def; + if (v) { + return str.replace("%s", v.toString()); + } + return null; + } + }; + }; + module.exports = errorEx; + } +}); + +// ../../.yarn/cache/json-parse-even-better-errors-npm-2.3.1-144d62256e-140932564c.zip/node_modules/json-parse-even-better-errors/index.js +var require_json_parse_even_better_errors = __commonJS({ + "../../.yarn/cache/json-parse-even-better-errors-npm-2.3.1-144d62256e-140932564c.zip/node_modules/json-parse-even-better-errors/index.js"(exports, module) { + "use strict"; + var hexify = (char) => { + const h = char.charCodeAt(0).toString(16).toUpperCase(); + return "0x" + (h.length % 2 ? "0" : "") + h; + }; + var parseError = (e, txt, context) => { + if (!txt) { + return { + message: e.message + " while parsing empty string", + position: 0 + }; + } + const badToken = e.message.match(/^Unexpected token (.) .*position\s+(\d+)/i); + const errIdx = badToken ? +badToken[2] : e.message.match(/^Unexpected end of JSON.*/i) ? txt.length - 1 : null; + const msg = badToken ? e.message.replace(/^Unexpected token ./, `Unexpected token ${JSON.stringify(badToken[1])} (${hexify(badToken[1])})`) : e.message; + if (errIdx !== null && errIdx !== void 0) { + const start = errIdx <= context ? 0 : errIdx - context; + const end = errIdx + context >= txt.length ? txt.length : errIdx + context; + const slice = (start === 0 ? "" : "...") + txt.slice(start, end) + (end === txt.length ? "" : "..."); + const near = txt === slice ? "" : "near "; + return { + message: msg + ` while parsing ${near}${JSON.stringify(slice)}`, + position: errIdx + }; + } else { + return { + message: msg + ` while parsing '${txt.slice(0, context * 2)}'`, + position: 0 + }; + } + }; + var JSONParseError = class extends SyntaxError { + constructor(er, txt, context, caller) { + context = context || 20; + const metadata = parseError(er, txt, context); + super(metadata.message); + Object.assign(this, metadata); + this.code = "EJSONPARSE"; + this.systemError = er; + Error.captureStackTrace(this, caller || this.constructor); + } + get name() { + return this.constructor.name; + } + set name(n) { + } + get [Symbol.toStringTag]() { + return this.constructor.name; + } + }; + var kIndent = Symbol.for("indent"); + var kNewline = Symbol.for("newline"); + var formatRE = /^\s*[{\[]((?:\r?\n)+)([\s\t]*)/; + var emptyRE = /^(?:\{\}|\[\])((?:\r?\n)+)?$/; + var parseJson = (txt, reviver, context) => { + const parseText = stripBOM(txt); + context = context || 20; + try { + const [, newline = "\n", indent = " "] = parseText.match(emptyRE) || parseText.match(formatRE) || [, "", ""]; + const result = JSON.parse(parseText, reviver); + if (result && typeof result === "object") { + result[kNewline] = newline; + result[kIndent] = indent; + } + return result; + } catch (e) { + if (typeof txt !== "string" && !Buffer.isBuffer(txt)) { + const isEmptyArray = Array.isArray(txt) && txt.length === 0; + throw Object.assign(new TypeError( + `Cannot parse ${isEmptyArray ? "an empty array" : String(txt)}` + ), { + code: "EJSONPARSE", + systemError: e + }); + } + throw new JSONParseError(e, parseText, context, parseJson); + } + }; + var stripBOM = (txt) => String(txt).replace(/^\uFEFF/, ""); + module.exports = parseJson; + parseJson.JSONParseError = JSONParseError; + parseJson.noExceptions = (txt, reviver) => { + try { + return JSON.parse(stripBOM(txt), reviver); + } catch (e) { + } + }; + } +}); + +// ../../.yarn/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-3da6ee62d4.zip/node_modules/lines-and-columns/build/index.js +var require_build = __commonJS({ + "../../.yarn/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-3da6ee62d4.zip/node_modules/lines-and-columns/build/index.js"(exports) { + "use strict"; + exports.__esModule = true; + exports.LinesAndColumns = void 0; + var LF = "\n"; + var CR = "\r"; + var LinesAndColumns = ( + /** @class */ + function() { + function LinesAndColumns2(string2) { + this.string = string2; + var offsets = [0]; + for (var offset = 0; offset < string2.length; ) { + switch (string2[offset]) { + case LF: + offset += LF.length; + offsets.push(offset); + break; + case CR: + offset += CR.length; + if (string2[offset] === LF) { + offset += LF.length; + } + offsets.push(offset); + break; + default: + offset++; + break; + } + } + this.offsets = offsets; + } + LinesAndColumns2.prototype.locationForIndex = function(index2) { + if (index2 < 0 || index2 > this.string.length) { + return null; + } + var line = 0; + var offsets = this.offsets; + while (offsets[line + 1] <= index2) { + line++; + } + var column = index2 - offsets[line]; + return { line, column }; + }; + LinesAndColumns2.prototype.indexForLocation = function(location) { + var line = location.line, column = location.column; + if (line < 0 || line >= this.offsets.length) { + return null; + } + if (column < 0 || column > this.lengthOfLine(line)) { + return null; + } + return this.offsets[line] + column; + }; + LinesAndColumns2.prototype.lengthOfLine = function(line) { + var offset = this.offsets[line]; + var nextOffset = line === this.offsets.length - 1 ? this.string.length : this.offsets[line + 1]; + return nextOffset - offset; + }; + return LinesAndColumns2; + }() + ); + exports.LinesAndColumns = LinesAndColumns; + exports["default"] = LinesAndColumns; + } +}); + +// ../../.yarn/cache/picocolors-npm-1.1.1-4fede47cf1-e2e3e8170a.zip/node_modules/picocolors/picocolors.browser.js +var require_picocolors_browser = __commonJS({ + "../../.yarn/cache/picocolors-npm-1.1.1-4fede47cf1-e2e3e8170a.zip/node_modules/picocolors/picocolors.browser.js"(exports, module) { + var x = String; + var create = function() { + return { isColorSupported: false, reset: x, bold: x, dim: x, italic: x, underline: x, inverse: x, hidden: x, strikethrough: x, black: x, red: x, green: x, yellow: x, blue: x, magenta: x, cyan: x, white: x, gray: x, bgBlack: x, bgRed: x, bgGreen: x, bgYellow: x, bgBlue: x, bgMagenta: x, bgCyan: x, bgWhite: x, blackBright: x, redBright: x, greenBright: x, yellowBright: x, blueBright: x, magentaBright: x, cyanBright: x, whiteBright: x, bgBlackBright: x, bgRedBright: x, bgGreenBright: x, bgYellowBright: x, bgBlueBright: x, bgMagentaBright: x, bgCyanBright: x, bgWhiteBright: x }; + }; + module.exports = create(); + module.exports.createColors = create; + } +}); + +// ../../.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-e248708d37.zip/node_modules/js-tokens/index.js +var require_js_tokens = __commonJS({ + "../../.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-e248708d37.zip/node_modules/js-tokens/index.js"(exports) { + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g; + exports.matchToToken = function(match) { + var token = { type: "invalid", value: match[0], closed: void 0 }; + if (match[1]) token.type = "string", token.closed = !!(match[3] || match[4]); + else if (match[5]) token.type = "comment"; + else if (match[6]) token.type = "comment", token.closed = !!match[7]; + else if (match[8]) token.type = "regex"; + else if (match[9]) token.type = "number"; + else if (match[10]) token.type = "name"; + else if (match[11]) token.type = "punctuator"; + else if (match[12]) token.type = "whitespace"; + return token; + }; + } +}); + +// ../../.yarn/cache/@babel-code-frame-npm-7.26.2-4902b56813-7d79621a68.zip/node_modules/@babel/code-frame/lib/index.js +var require_lib5 = __commonJS({ + "../../.yarn/cache/@babel-code-frame-npm-7.26.2-4902b56813-7d79621a68.zip/node_modules/@babel/code-frame/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var picocolors = require_picocolors_browser(); + var jsTokens = require_js_tokens(); + var helperValidatorIdentifier = require_lib(); + function isColorSupported() { + return typeof process === "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? false : picocolors.isColorSupported; + } + var compose = (f, g) => (v) => f(g(v)); + function buildDefs(colors) { + return { + keyword: colors.cyan, + capitalized: colors.yellow, + jsxIdentifier: colors.yellow, + punctuator: colors.yellow, + number: colors.magenta, + string: colors.green, + regex: colors.magenta, + comment: colors.gray, + invalid: compose(compose(colors.white, colors.bgRed), colors.bold), + gutter: colors.gray, + marker: compose(colors.red, colors.bold), + message: compose(colors.red, colors.bold), + reset: colors.reset + }; + } + var defsOn = buildDefs(picocolors.createColors(true)); + var defsOff = buildDefs(picocolors.createColors(false)); + function getDefs(enabled) { + return enabled ? defsOn : defsOff; + } + var sometimesKeywords = /* @__PURE__ */ new Set(["as", "async", "from", "get", "of", "set"]); + var NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/; + var BRACKET = /^[()[\]{}]$/; + var tokenize; + { + const JSX_TAG = /^[a-z][\w-]*$/i; + const getTokenType = function(token, offset, text) { + if (token.type === "name") { + if (helperValidatorIdentifier.isKeyword(token.value) || helperValidatorIdentifier.isStrictReservedWord(token.value, true) || sometimesKeywords.has(token.value)) { + return "keyword"; + } + if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) === " defs[type](str)).join("\n"); + } else { + highlighted += value2; + } + } + return highlighted; + } + var deprecationWarningShown = false; + var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; + function getMarkerLines(loc, source, opts) { + const startLoc = Object.assign({ + column: 0, + line: -1 + }, loc.start); + const endLoc = Object.assign({}, startLoc, loc.end); + const { + linesAbove = 2, + linesBelow = 3 + } = opts || {}; + const startLine = startLoc.line; + const startColumn = startLoc.column; + const endLine = endLoc.line; + const endColumn = endLoc.column; + let start = Math.max(startLine - (linesAbove + 1), 0); + let end = Math.min(source.length, endLine + linesBelow); + if (startLine === -1) { + start = 0; + } + if (endLine === -1) { + end = source.length; + } + const lineDiff = endLine - startLine; + const markerLines = {}; + if (lineDiff) { + for (let i = 0; i <= lineDiff; i++) { + const lineNumber = i + startLine; + if (!startColumn) { + markerLines[lineNumber] = true; + } else if (i === 0) { + const sourceLength = source[lineNumber - 1].length; + markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1]; + } else if (i === lineDiff) { + markerLines[lineNumber] = [0, endColumn]; + } else { + const sourceLength = source[lineNumber - i].length; + markerLines[lineNumber] = [0, sourceLength]; + } + } + } else { + if (startColumn === endColumn) { + if (startColumn) { + markerLines[startLine] = [startColumn, 0]; + } else { + markerLines[startLine] = true; + } + } else { + markerLines[startLine] = [startColumn, endColumn - startColumn]; + } + } + return { + start, + end, + markerLines + }; + } + function codeFrameColumns(rawLines, loc, opts = {}) { + const shouldHighlight = opts.forceColor || isColorSupported() && opts.highlightCode; + const defs = getDefs(shouldHighlight); + const lines = rawLines.split(NEWLINE); + const { + start, + end, + markerLines + } = getMarkerLines(loc, lines, opts); + const hasColumns = loc.start && typeof loc.start.column === "number"; + const numberMaxWidth = String(end).length; + const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines; + let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index3) => { + const number = start + 1 + index3; + const paddedNumber = ` ${number}`.slice(-numberMaxWidth); + const gutter = ` ${paddedNumber} |`; + const hasMarker = markerLines[number]; + const lastMarkerLine = !markerLines[number + 1]; + if (hasMarker) { + let markerLine = ""; + if (Array.isArray(hasMarker)) { + const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); + const numberOfMarkers = hasMarker[1] || 1; + markerLine = ["\n ", defs.gutter(gutter.replace(/\d/g, " ")), " ", markerSpacing, defs.marker("^").repeat(numberOfMarkers)].join(""); + if (lastMarkerLine && opts.message) { + markerLine += " " + defs.message(opts.message); + } + } + return [defs.marker(">"), defs.gutter(gutter), line.length > 0 ? ` ${line}` : "", markerLine].join(""); + } else { + return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : ""}`; + } + }).join("\n"); + if (opts.message && !hasColumns) { + frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message} +${frame}`; + } + if (shouldHighlight) { + return defs.reset(frame); + } else { + return frame; + } + } + function index2(rawLines, lineNumber, colNumber, opts = {}) { + if (!deprecationWarningShown) { + deprecationWarningShown = true; + const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`."; + if (process.emitWarning) { + process.emitWarning(message, "DeprecationWarning"); + } else { + const deprecationError = new Error(message); + deprecationError.name = "DeprecationWarning"; + console.warn(new Error(message)); + } + } + colNumber = Math.max(colNumber, 0); + const location = { + start: { + column: colNumber, + line: lineNumber + } + }; + return codeFrameColumns(rawLines, location, opts); + } + exports.codeFrameColumns = codeFrameColumns; + exports.default = index2; + exports.highlight = highlight; + } +}); + +// ../../.yarn/cache/parse-json-npm-5.2.0-00a63b1199-77947f2253.zip/node_modules/parse-json/index.js +var require_parse_json = __commonJS({ + "../../.yarn/cache/parse-json-npm-5.2.0-00a63b1199-77947f2253.zip/node_modules/parse-json/index.js"(exports, module) { + "use strict"; + var errorEx = require_error_ex(); + var fallback = require_json_parse_even_better_errors(); + var { default: LinesAndColumns } = require_build(); + var { codeFrameColumns } = require_lib5(); + var JSONError = errorEx("JSONError", { + fileName: errorEx.append("in %s"), + codeFrame: errorEx.append("\n\n%s\n") + }); + var parseJson = (string2, reviver, filename) => { + if (typeof reviver === "string") { + filename = reviver; + reviver = null; + } + try { + try { + return JSON.parse(string2, reviver); + } catch (error) { + fallback(string2, reviver); + throw error; + } + } catch (error) { + error.message = error.message.replace(/\n/g, ""); + const indexMatch = error.message.match(/in JSON at position (\d+) while parsing/); + const jsonError = new JSONError(error); + if (filename) { + jsonError.fileName = filename; + } + if (indexMatch && indexMatch.length > 0) { + const lines = new LinesAndColumns(string2); + const index2 = Number(indexMatch[1]); + const location = lines.locationForIndex(index2); + const codeFrame = codeFrameColumns( + string2, + { start: { line: location.line + 1, column: location.column + 1 } }, + { highlightCode: true } + ); + jsonError.codeFrame = codeFrame; + } + throw jsonError; + } + }; + parseJson.JSONError = JSONError; + module.exports = parseJson; + } +}); + +// ../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/PlainValue-b8036b75.js +function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function(obj2) { + return typeof obj2; + }; + } else { + _typeof = function(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return _typeof(obj); +} +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} +function _defineProperty(obj, key, value2) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value2, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value2; + } + return obj; +} +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) _setPrototypeOf(subClass, superClass); +} +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf2(o2) { + return o2.__proto__ || Object.getPrototypeOf(o2); + }; + return _getPrototypeOf(o); +} +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf2(o2, p2) { + o2.__proto__ = p2; + return o2; + }; + return _setPrototypeOf(o, p); +} +function _isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; + try { + Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() { + })); + return true; + } catch (e) { + return false; + } +} +function _construct(Parent, args, Class) { + if (_isNativeReflectConstruct()) { + _construct = Reflect.construct; + } else { + _construct = function _construct2(Parent2, args2, Class2) { + var a = [null]; + a.push.apply(a, args2); + var Constructor = Function.bind.apply(Parent2, a); + var instance = new Constructor(); + if (Class2) _setPrototypeOf(instance, Class2.prototype); + return instance; + }; + } + return _construct.apply(null, arguments); +} +function _isNativeFunction(fn) { + return Function.toString.call(fn).indexOf("[native code]") !== -1; +} +function _wrapNativeSuper(Class) { + var _cache = typeof Map === "function" ? /* @__PURE__ */ new Map() : void 0; + _wrapNativeSuper = function _wrapNativeSuper2(Class2) { + if (Class2 === null || !_isNativeFunction(Class2)) return Class2; + if (typeof Class2 !== "function") { + throw new TypeError("Super expression must either be null or a function"); + } + if (typeof _cache !== "undefined") { + if (_cache.has(Class2)) return _cache.get(Class2); + _cache.set(Class2, Wrapper); + } + function Wrapper() { + return _construct(Class2, arguments, _getPrototypeOf(this).constructor); + } + Wrapper.prototype = Object.create(Class2.prototype, { + constructor: { + value: Wrapper, + enumerable: false, + writable: true, + configurable: true + } + }); + return _setPrototypeOf(Wrapper, Class2); + }; + return _wrapNativeSuper(Class); +} +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + return self; +} +function _possibleConstructorReturn(self, call) { + if (call && (typeof call === "object" || typeof call === "function")) { + return call; + } + return _assertThisInitialized(self); +} +function _createSuper(Derived) { + var hasNativeReflectConstruct = _isNativeReflectConstruct(); + return function _createSuperInternal() { + var Super = _getPrototypeOf(Derived), result; + if (hasNativeReflectConstruct) { + var NewTarget = _getPrototypeOf(this).constructor; + result = Reflect.construct(Super, arguments, NewTarget); + } else { + result = Super.apply(this, arguments); + } + return _possibleConstructorReturn(this, result); + }; +} +function _superPropBase(object, property) { + while (!Object.prototype.hasOwnProperty.call(object, property)) { + object = _getPrototypeOf(object); + if (object === null) break; + } + return object; +} +function _get(target, property, receiver) { + if (typeof Reflect !== "undefined" && Reflect.get) { + _get = Reflect.get; + } else { + _get = function _get2(target2, property2, receiver2) { + var base = _superPropBase(target2, property2); + if (!base) return; + var desc = Object.getOwnPropertyDescriptor(base, property2); + if (desc.get) { + return desc.get.call(receiver2); + } + return desc.value; + }; + } + return _get(target, property, receiver || target); +} +function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray2(arr, i) || _nonIterableRest(); +} +function _toArray(arr) { + return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray2(arr) || _nonIterableRest(); +} +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} +function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); +} +function _iterableToArrayLimit(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + var _arr = []; + var _n = true; + var _d = false; + var _e = void 0; + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + return _arr; +} +function _unsupportedIterableToArray2(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray2(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray2(o, minLen); +} +function _arrayLikeToArray2(arr, len) { + if (len == null || len > arr.length) len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; + return arr2; +} +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +function _createForOfIteratorHelper(o, allowArrayLike) { + var it; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray2(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + var F = function() { + }; + return { + s: F, + n: function() { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }, + e: function(e) { + throw e; + }, + f: F + }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var normalCompletion = true, didErr = false, err; + return { + s: function() { + it = o[Symbol.iterator](); + }, + n: function() { + var step = it.next(); + normalCompletion = step.done; + return step; + }, + e: function(e) { + didErr = true; + err = e; + }, + f: function() { + try { + if (!normalCompletion && it.return != null) it.return(); + } finally { + if (didErr) throw err; + } + } + }; +} +function findLineStarts(src) { + var ls = [0]; + var offset = src.indexOf("\n"); + while (offset !== -1) { + offset += 1; + ls.push(offset); + offset = src.indexOf("\n", offset); + } + return ls; +} +function getSrcInfo(cst) { + var lineStarts, src; + if (typeof cst === "string") { + lineStarts = findLineStarts(cst); + src = cst; + } else { + if (Array.isArray(cst)) cst = cst[0]; + if (cst && cst.context) { + if (!cst.lineStarts) cst.lineStarts = findLineStarts(cst.context.src); + lineStarts = cst.lineStarts; + src = cst.context.src; + } + } + return { + lineStarts, + src + }; +} +function getLinePos(offset, cst) { + if (typeof offset !== "number" || offset < 0) return null; + var _getSrcInfo = getSrcInfo(cst), lineStarts = _getSrcInfo.lineStarts, src = _getSrcInfo.src; + if (!lineStarts || !src || offset > src.length) return null; + for (var i = 0; i < lineStarts.length; ++i) { + var start = lineStarts[i]; + if (offset < start) { + return { + line: i, + col: offset - lineStarts[i - 1] + 1 + }; + } + if (offset === start) return { + line: i + 1, + col: 1 + }; + } + var line = lineStarts.length; + return { + line, + col: offset - lineStarts[line - 1] + 1 + }; +} +function getLine(line, cst) { + var _getSrcInfo2 = getSrcInfo(cst), lineStarts = _getSrcInfo2.lineStarts, src = _getSrcInfo2.src; + if (!lineStarts || !(line >= 1) || line > lineStarts.length) return null; + var start = lineStarts[line - 1]; + var end = lineStarts[line]; + while (end && end > start && src[end - 1] === "\n") { + --end; + } + return src.slice(start, end); +} +function getPrettyContext(_ref, cst) { + var start = _ref.start, end = _ref.end; + var maxWidth = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 80; + var src = getLine(start.line, cst); + if (!src) return null; + var col = start.col; + if (src.length > maxWidth) { + if (col <= maxWidth - 10) { + src = src.substr(0, maxWidth - 1) + "…"; + } else { + var halfWidth = Math.round(maxWidth / 2); + if (src.length > col + halfWidth) src = src.substr(0, col + halfWidth - 1) + "…"; + col -= src.length - maxWidth; + src = "…" + src.substr(1 - maxWidth); + } + } + var errLen = 1; + var errEnd = ""; + if (end) { + if (end.line === start.line && col + (end.col - start.col) <= maxWidth + 1) { + errLen = end.col - start.col; + } else { + errLen = Math.min(src.length + 1, maxWidth) - col; + errEnd = "…"; + } + } + var offset = col > 1 ? " ".repeat(col - 1) : ""; + var err = "^".repeat(errLen); + return "".concat(src, "\n").concat(offset).concat(err).concat(errEnd); +} +var Char, Type, defaultTagPrefix, defaultTags, Range, Node, YAMLError, YAMLReferenceError, YAMLSemanticError, YAMLSyntaxError, YAMLWarning, PlainValue; +var init_PlainValue_b8036b75 = __esm({ + "../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/PlainValue-b8036b75.js"() { + Char = { + ANCHOR: "&", + COMMENT: "#", + TAG: "!", + DIRECTIVES_END: "-", + DOCUMENT_END: "." + }; + Type = { + ALIAS: "ALIAS", + BLANK_LINE: "BLANK_LINE", + BLOCK_FOLDED: "BLOCK_FOLDED", + BLOCK_LITERAL: "BLOCK_LITERAL", + COMMENT: "COMMENT", + DIRECTIVE: "DIRECTIVE", + DOCUMENT: "DOCUMENT", + FLOW_MAP: "FLOW_MAP", + FLOW_SEQ: "FLOW_SEQ", + MAP: "MAP", + MAP_KEY: "MAP_KEY", + MAP_VALUE: "MAP_VALUE", + PLAIN: "PLAIN", + QUOTE_DOUBLE: "QUOTE_DOUBLE", + QUOTE_SINGLE: "QUOTE_SINGLE", + SEQ: "SEQ", + SEQ_ITEM: "SEQ_ITEM" + }; + defaultTagPrefix = "tag:yaml.org,2002:"; + defaultTags = { + MAP: "tag:yaml.org,2002:map", + SEQ: "tag:yaml.org,2002:seq", + STR: "tag:yaml.org,2002:str" + }; + Range = function() { + function Range2(start, end) { + _classCallCheck(this, Range2); + this.start = start; + this.end = end || start; + } + _createClass(Range2, [{ + key: "isEmpty", + value: function isEmpty() { + return typeof this.start !== "number" || !this.end || this.end <= this.start; + } + /** + * Set `origStart` and `origEnd` to point to the original source range for + * this node, which may differ due to dropped CR characters. + * + * @param {number[]} cr - Positions of dropped CR characters + * @param {number} offset - Starting index of `cr` from the last call + * @returns {number} - The next offset, matching the one found for `origStart` + */ + }, { + key: "setOrigRange", + value: function setOrigRange(cr, offset) { + var start = this.start, end = this.end; + if (cr.length === 0 || end <= cr[0]) { + this.origStart = start; + this.origEnd = end; + return offset; + } + var i = offset; + while (i < cr.length) { + if (cr[i] > start) break; + else ++i; + } + this.origStart = start + i; + var nextOffset = i; + while (i < cr.length) { + if (cr[i] >= end) break; + else ++i; + } + this.origEnd = end + i; + return nextOffset; + } + }], [{ + key: "copy", + value: function copy(orig) { + return new Range2(orig.start, orig.end); + } + }]); + return Range2; + }(); + Node = function() { + function Node4(type, props, context) { + _classCallCheck(this, Node4); + Object.defineProperty(this, "context", { + value: context || null, + writable: true + }); + this.error = null; + this.range = null; + this.valueRange = null; + this.props = props || []; + this.type = type; + this.value = null; + } + _createClass(Node4, [{ + key: "getPropValue", + value: function getPropValue(idx, key, skipKey) { + if (!this.context) return null; + var src = this.context.src; + var prop = this.props[idx]; + return prop && src[prop.start] === key ? src.slice(prop.start + (skipKey ? 1 : 0), prop.end) : null; + } + }, { + key: "anchor", + get: function get() { + for (var i = 0; i < this.props.length; ++i) { + var anchor = this.getPropValue(i, Char.ANCHOR, true); + if (anchor != null) return anchor; + } + return null; + } + }, { + key: "comment", + get: function get() { + var comments = []; + for (var i = 0; i < this.props.length; ++i) { + var comment = this.getPropValue(i, Char.COMMENT, true); + if (comment != null) comments.push(comment); + } + return comments.length > 0 ? comments.join("\n") : null; + } + }, { + key: "commentHasRequiredWhitespace", + value: function commentHasRequiredWhitespace(start) { + var src = this.context.src; + if (this.header && start === this.header.end) return false; + if (!this.valueRange) return false; + var end = this.valueRange.end; + return start !== end || Node4.atBlank(src, end - 1); + } + }, { + key: "hasComment", + get: function get() { + if (this.context) { + var src = this.context.src; + for (var i = 0; i < this.props.length; ++i) { + if (src[this.props[i].start] === Char.COMMENT) return true; + } + } + return false; + } + }, { + key: "hasProps", + get: function get() { + if (this.context) { + var src = this.context.src; + for (var i = 0; i < this.props.length; ++i) { + if (src[this.props[i].start] !== Char.COMMENT) return true; + } + } + return false; + } + }, { + key: "includesTrailingLines", + get: function get() { + return false; + } + }, { + key: "jsonLike", + get: function get() { + var jsonLikeTypes = [Type.FLOW_MAP, Type.FLOW_SEQ, Type.QUOTE_DOUBLE, Type.QUOTE_SINGLE]; + return jsonLikeTypes.indexOf(this.type) !== -1; + } + }, { + key: "rangeAsLinePos", + get: function get() { + if (!this.range || !this.context) return void 0; + var start = getLinePos(this.range.start, this.context.root); + if (!start) return void 0; + var end = getLinePos(this.range.end, this.context.root); + return { + start, + end + }; + } + }, { + key: "rawValue", + get: function get() { + if (!this.valueRange || !this.context) return null; + var _this$valueRange = this.valueRange, start = _this$valueRange.start, end = _this$valueRange.end; + return this.context.src.slice(start, end); + } + }, { + key: "tag", + get: function get() { + for (var i = 0; i < this.props.length; ++i) { + var tag = this.getPropValue(i, Char.TAG, false); + if (tag != null) { + if (tag[1] === "<") { + return { + verbatim: tag.slice(2, -1) + }; + } else { + var _tag$match = tag.match(/^(.*!)([^!]*)$/), _tag$match2 = _slicedToArray(_tag$match, 3); + _tag$match2[0]; + var handle = _tag$match2[1], suffix = _tag$match2[2]; + return { + handle, + suffix + }; + } + } + } + return null; + } + }, { + key: "valueRangeContainsNewline", + get: function get() { + if (!this.valueRange || !this.context) return false; + var _this$valueRange2 = this.valueRange, start = _this$valueRange2.start, end = _this$valueRange2.end; + var src = this.context.src; + for (var i = start; i < end; ++i) { + if (src[i] === "\n") return true; + } + return false; + } + }, { + key: "parseComment", + value: function parseComment(start) { + var src = this.context.src; + if (src[start] === Char.COMMENT) { + var end = Node4.endOfLine(src, start + 1); + var commentRange = new Range(start, end); + this.props.push(commentRange); + return end; + } + return start; + } + /** + * Populates the `origStart` and `origEnd` values of all ranges for this + * node. Extended by child classes to handle descendant nodes. + * + * @param {number[]} cr - Positions of dropped CR characters + * @param {number} offset - Starting index of `cr` from the last call + * @returns {number} - The next offset, matching the one found for `origStart` + */ + }, { + key: "setOrigRanges", + value: function setOrigRanges(cr, offset) { + if (this.range) offset = this.range.setOrigRange(cr, offset); + if (this.valueRange) this.valueRange.setOrigRange(cr, offset); + this.props.forEach(function(prop) { + return prop.setOrigRange(cr, offset); + }); + return offset; + } + }, { + key: "toString", + value: function toString() { + var src = this.context.src, range = this.range, value2 = this.value; + if (value2 != null) return value2; + var str = src.slice(range.start, range.end); + return Node4.addStringTerminator(src, range.end, str); + } + }], [{ + key: "addStringTerminator", + value: function addStringTerminator(src, offset, str) { + if (str[str.length - 1] === "\n") return str; + var next = Node4.endOfWhiteSpace(src, offset); + return next >= src.length || src[next] === "\n" ? str + "\n" : str; + } + // ^(---|...) + }, { + key: "atDocumentBoundary", + value: function atDocumentBoundary(src, offset, sep) { + var ch0 = src[offset]; + if (!ch0) return true; + var prev = src[offset - 1]; + if (prev && prev !== "\n") return false; + if (sep) { + if (ch0 !== sep) return false; + } else { + if (ch0 !== Char.DIRECTIVES_END && ch0 !== Char.DOCUMENT_END) return false; + } + var ch1 = src[offset + 1]; + var ch2 = src[offset + 2]; + if (ch1 !== ch0 || ch2 !== ch0) return false; + var ch3 = src[offset + 3]; + return !ch3 || ch3 === "\n" || ch3 === " " || ch3 === " "; + } + }, { + key: "endOfIdentifier", + value: function endOfIdentifier(src, offset) { + var ch = src[offset]; + var isVerbatim = ch === "<"; + var notOk = isVerbatim ? ["\n", " ", " ", ">"] : ["\n", " ", " ", "[", "]", "{", "}", ","]; + while (ch && notOk.indexOf(ch) === -1) { + ch = src[offset += 1]; + } + if (isVerbatim && ch === ">") offset += 1; + return offset; + } + }, { + key: "endOfIndent", + value: function endOfIndent(src, offset) { + var ch = src[offset]; + while (ch === " ") { + ch = src[offset += 1]; + } + return offset; + } + }, { + key: "endOfLine", + value: function endOfLine(src, offset) { + var ch = src[offset]; + while (ch && ch !== "\n") { + ch = src[offset += 1]; + } + return offset; + } + }, { + key: "endOfWhiteSpace", + value: function endOfWhiteSpace(src, offset) { + var ch = src[offset]; + while (ch === " " || ch === " ") { + ch = src[offset += 1]; + } + return offset; + } + }, { + key: "startOfLine", + value: function startOfLine(src, offset) { + var ch = src[offset - 1]; + if (ch === "\n") return offset; + while (ch && ch !== "\n") { + ch = src[offset -= 1]; + } + return offset + 1; + } + /** + * End of indentation, or null if the line's indent level is not more + * than `indent` + * + * @param {string} src + * @param {number} indent + * @param {number} lineStart + * @returns {?number} + */ + }, { + key: "endOfBlockIndent", + value: function endOfBlockIndent(src, indent, lineStart) { + var inEnd = Node4.endOfIndent(src, lineStart); + if (inEnd > lineStart + indent) { + return inEnd; + } else { + var wsEnd = Node4.endOfWhiteSpace(src, inEnd); + var ch = src[wsEnd]; + if (!ch || ch === "\n") return wsEnd; + } + return null; + } + }, { + key: "atBlank", + value: function atBlank(src, offset, endAsBlank) { + var ch = src[offset]; + return ch === "\n" || ch === " " || ch === " " || endAsBlank && !ch; + } + }, { + key: "nextNodeIsIndented", + value: function nextNodeIsIndented(ch, indentDiff, indicatorAsIndent) { + if (!ch || indentDiff < 0) return false; + if (indentDiff > 0) return true; + return indicatorAsIndent && ch === "-"; + } + // should be at line or string end, or at next non-whitespace char + }, { + key: "normalizeOffset", + value: function normalizeOffset(src, offset) { + var ch = src[offset]; + return !ch ? offset : ch !== "\n" && src[offset - 1] === "\n" ? offset - 1 : Node4.endOfWhiteSpace(src, offset); + } + // fold single newline into space, multiple newlines to N - 1 newlines + // presumes src[offset] === '\n' + }, { + key: "foldNewline", + value: function foldNewline(src, offset, indent) { + var inCount = 0; + var error = false; + var fold = ""; + var ch = src[offset + 1]; + while (ch === " " || ch === " " || ch === "\n") { + switch (ch) { + case "\n": + inCount = 0; + offset += 1; + fold += "\n"; + break; + case " ": + if (inCount <= indent) error = true; + offset = Node4.endOfWhiteSpace(src, offset + 2) - 1; + break; + case " ": + inCount += 1; + offset += 1; + break; + } + ch = src[offset + 1]; + } + if (!fold) fold = " "; + if (ch && inCount <= indent) error = true; + return { + fold, + offset, + error + }; + } + }]); + return Node4; + }(); + YAMLError = function(_Error) { + _inherits(YAMLError2, _Error); + var _super = _createSuper(YAMLError2); + function YAMLError2(name, source, message) { + var _this; + _classCallCheck(this, YAMLError2); + if (!message || !(source instanceof Node)) throw new Error("Invalid arguments for new ".concat(name)); + _this = _super.call(this); + _this.name = name; + _this.message = message; + _this.source = source; + return _this; + } + _createClass(YAMLError2, [{ + key: "makePretty", + value: function makePretty() { + if (!this.source) return; + this.nodeType = this.source.type; + var cst = this.source.context && this.source.context.root; + if (typeof this.offset === "number") { + this.range = new Range(this.offset, this.offset + 1); + var start = cst && getLinePos(this.offset, cst); + if (start) { + var end = { + line: start.line, + col: start.col + 1 + }; + this.linePos = { + start, + end + }; + } + delete this.offset; + } else { + this.range = this.source.range; + this.linePos = this.source.rangeAsLinePos; + } + if (this.linePos) { + var _this$linePos$start = this.linePos.start, line = _this$linePos$start.line, col = _this$linePos$start.col; + this.message += " at line ".concat(line, ", column ").concat(col); + var ctx = cst && getPrettyContext(this.linePos, cst); + if (ctx) this.message += ":\n\n".concat(ctx, "\n"); + } + delete this.source; + } + }]); + return YAMLError2; + }(_wrapNativeSuper(Error)); + YAMLReferenceError = function(_YAMLError) { + _inherits(YAMLReferenceError2, _YAMLError); + var _super2 = _createSuper(YAMLReferenceError2); + function YAMLReferenceError2(source, message) { + _classCallCheck(this, YAMLReferenceError2); + return _super2.call(this, "YAMLReferenceError", source, message); + } + return YAMLReferenceError2; + }(YAMLError); + YAMLSemanticError = function(_YAMLError2) { + _inherits(YAMLSemanticError2, _YAMLError2); + var _super3 = _createSuper(YAMLSemanticError2); + function YAMLSemanticError2(source, message) { + _classCallCheck(this, YAMLSemanticError2); + return _super3.call(this, "YAMLSemanticError", source, message); + } + return YAMLSemanticError2; + }(YAMLError); + YAMLSyntaxError = function(_YAMLError3) { + _inherits(YAMLSyntaxError2, _YAMLError3); + var _super4 = _createSuper(YAMLSyntaxError2); + function YAMLSyntaxError2(source, message) { + _classCallCheck(this, YAMLSyntaxError2); + return _super4.call(this, "YAMLSyntaxError", source, message); + } + return YAMLSyntaxError2; + }(YAMLError); + YAMLWarning = function(_YAMLError4) { + _inherits(YAMLWarning2, _YAMLError4); + var _super5 = _createSuper(YAMLWarning2); + function YAMLWarning2(source, message) { + _classCallCheck(this, YAMLWarning2); + return _super5.call(this, "YAMLWarning", source, message); + } + return YAMLWarning2; + }(YAMLError); + PlainValue = function(_Node) { + _inherits(PlainValue2, _Node); + var _super = _createSuper(PlainValue2); + function PlainValue2() { + _classCallCheck(this, PlainValue2); + return _super.apply(this, arguments); + } + _createClass(PlainValue2, [{ + key: "strValue", + get: function get() { + if (!this.valueRange || !this.context) return null; + var _this$valueRange = this.valueRange, start = _this$valueRange.start, end = _this$valueRange.end; + var src = this.context.src; + var ch = src[end - 1]; + while (start < end && (ch === "\n" || ch === " " || ch === " ")) { + ch = src[--end - 1]; + } + var str = ""; + for (var i = start; i < end; ++i) { + var _ch = src[i]; + if (_ch === "\n") { + var _Node$foldNewline = Node.foldNewline(src, i, -1), fold = _Node$foldNewline.fold, offset = _Node$foldNewline.offset; + str += fold; + i = offset; + } else if (_ch === " " || _ch === " ") { + var wsStart = i; + var next = src[i + 1]; + while (i < end && (next === " " || next === " ")) { + i += 1; + next = src[i + 1]; + } + if (next !== "\n") str += i > wsStart ? src.slice(wsStart, i + 1) : _ch; + } else { + str += _ch; + } + } + var ch0 = src[start]; + switch (ch0) { + case " ": { + var msg = "Plain value cannot start with a tab character"; + var errors = [new YAMLSemanticError(this, msg)]; + return { + errors, + str + }; + } + case "@": + case "`": { + var _msg = "Plain value cannot start with reserved character ".concat(ch0); + var _errors = [new YAMLSemanticError(this, _msg)]; + return { + errors: _errors, + str + }; + } + default: + return str; + } + } + }, { + key: "parseBlockValue", + value: function parseBlockValue(start) { + var _this$context = this.context, indent = _this$context.indent, inFlow = _this$context.inFlow, src = _this$context.src; + var offset = start; + var valueEnd = start; + for (var ch = src[offset]; ch === "\n"; ch = src[offset]) { + if (Node.atDocumentBoundary(src, offset + 1)) break; + var end = Node.endOfBlockIndent(src, indent, offset + 1); + if (end === null || src[end] === "#") break; + if (src[end] === "\n") { + offset = end; + } else { + valueEnd = PlainValue2.endOfLine(src, end, inFlow); + offset = valueEnd; + } + } + if (this.valueRange.isEmpty()) this.valueRange.start = start; + this.valueRange.end = valueEnd; + return valueEnd; + } + /** + * Parses a plain value from the source + * + * Accepted forms are: + * ``` + * #comment + * + * first line + * + * first line #comment + * + * first line + * block + * lines + * + * #comment + * block + * lines + * ``` + * where block lines are empty or have an indent level greater than `indent`. + * + * @param {ParseContext} context + * @param {number} start - Index of first character + * @returns {number} - Index of the character after this scalar, may be `\n` + */ + }, { + key: "parse", + value: function parse3(context, start) { + this.context = context; + var inFlow = context.inFlow, src = context.src; + var offset = start; + var ch = src[offset]; + if (ch && ch !== "#" && ch !== "\n") { + offset = PlainValue2.endOfLine(src, start, inFlow); + } + this.valueRange = new Range(start, offset); + offset = Node.endOfWhiteSpace(src, offset); + offset = this.parseComment(offset); + if (!this.hasComment || this.valueRange.isEmpty()) { + offset = this.parseBlockValue(offset); + } + return offset; + } + }], [{ + key: "endOfLine", + value: function endOfLine(src, start, inFlow) { + var ch = src[start]; + var offset = start; + while (ch && ch !== "\n") { + if (inFlow && (ch === "[" || ch === "]" || ch === "{" || ch === "}" || ch === ",")) break; + var next = src[offset + 1]; + if (ch === ":" && (!next || next === "\n" || next === " " || next === " " || inFlow && next === ",")) break; + if ((ch === " " || ch === " ") && next === "#") break; + offset += 1; + ch = next; + } + return offset; + } + }]); + return PlainValue2; + }(Node); + } +}); + +// ../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/parse-cst.js +function grabCollectionEndComments(node) { + var cnode = node; + while (cnode instanceof CollectionItem) { + cnode = cnode.node; + } + if (!(cnode instanceof Collection)) return null; + var len = cnode.items.length; + var ci = -1; + for (var i = len - 1; i >= 0; --i) { + var n = cnode.items[i]; + if (n.type === Type.COMMENT) { + var _n$context = n.context, indent = _n$context.indent, lineStart = _n$context.lineStart; + if (indent > 0 && n.range.start >= lineStart + indent) break; + ci = i; + } else if (n.type === Type.BLANK_LINE) ci = i; + else break; + } + if (ci === -1) return null; + var ca = cnode.items.splice(ci, len - ci); + var prevEnd = ca[0].range.start; + while (true) { + cnode.range.end = prevEnd; + if (cnode.valueRange && cnode.valueRange.end > prevEnd) cnode.valueRange.end = prevEnd; + if (cnode === node) break; + cnode = cnode.context.parent; + } + return ca; +} +function createNewNode(type, props) { + switch (type) { + case Type.ALIAS: + return new Alias(type, props); + case Type.BLOCK_FOLDED: + case Type.BLOCK_LITERAL: + return new BlockValue(type, props); + case Type.FLOW_MAP: + case Type.FLOW_SEQ: + return new FlowCollection(type, props); + case Type.MAP_KEY: + case Type.MAP_VALUE: + case Type.SEQ_ITEM: + return new CollectionItem(type, props); + case Type.COMMENT: + case Type.PLAIN: + return new PlainValue(type, props); + case Type.QUOTE_DOUBLE: + return new QuoteDouble(type, props); + case Type.QUOTE_SINGLE: + return new QuoteSingle(type, props); + /* istanbul ignore next */ + default: + return null; + } +} +function parse(src) { + var cr = []; + if (src.indexOf("\r") !== -1) { + src = src.replace(/\r\n?/g, function(match, offset2) { + if (match.length > 1) cr.push(offset2); + return "\n"; + }); + } + var documents = []; + var offset = 0; + do { + var doc = new Document(); + var context = new ParseContext({ + src + }); + offset = doc.parse(context, offset); + documents.push(doc); + } while (offset < src.length); + documents.setOrigRanges = function() { + if (cr.length === 0) return false; + for (var i = 1; i < cr.length; ++i) { + cr[i] -= i; + } + var crOffset = 0; + for (var _i = 0; _i < documents.length; ++_i) { + crOffset = documents[_i].setOrigRanges(cr, crOffset); + } + cr.splice(0, cr.length); + return true; + }; + documents.toString = function() { + return documents.join("...\n"); + }; + return documents; +} +var BlankLine, CollectionItem, Comment, Collection, Directive, Document, Alias, Chomp, BlockValue, FlowCollection, QuoteDouble, QuoteSingle, ParseContext; +var init_parse_cst = __esm({ + "../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/parse-cst.js"() { + init_PlainValue_b8036b75(); + BlankLine = function(_Node) { + _inherits(BlankLine2, _Node); + var _super = _createSuper(BlankLine2); + function BlankLine2() { + _classCallCheck(this, BlankLine2); + return _super.call(this, Type.BLANK_LINE); + } + _createClass(BlankLine2, [{ + key: "includesTrailingLines", + get: function get() { + return true; + } + /** + * Parses a blank line from the source + * + * @param {ParseContext} context + * @param {number} start - Index of first \n character + * @returns {number} - Index of the character after this + */ + }, { + key: "parse", + value: function parse3(context, start) { + this.context = context; + this.range = new Range(start, start + 1); + return start + 1; + } + }]); + return BlankLine2; + }(Node); + CollectionItem = function(_Node) { + _inherits(CollectionItem2, _Node); + var _super = _createSuper(CollectionItem2); + function CollectionItem2(type, props) { + var _this; + _classCallCheck(this, CollectionItem2); + _this = _super.call(this, type, props); + _this.node = null; + return _this; + } + _createClass(CollectionItem2, [{ + key: "includesTrailingLines", + get: function get() { + return !!this.node && this.node.includesTrailingLines; + } + /** + * @param {ParseContext} context + * @param {number} start - Index of first character + * @returns {number} - Index of the character after this + */ + }, { + key: "parse", + value: function parse3(context, start) { + this.context = context; + var parseNode = context.parseNode, src = context.src; + var atLineStart = context.atLineStart, lineStart = context.lineStart; + if (!atLineStart && this.type === Type.SEQ_ITEM) this.error = new YAMLSemanticError(this, "Sequence items must not have preceding content on the same line"); + var indent = atLineStart ? start - lineStart : context.indent; + var offset = Node.endOfWhiteSpace(src, start + 1); + var ch = src[offset]; + var inlineComment = ch === "#"; + var comments = []; + var blankLine = null; + while (ch === "\n" || ch === "#") { + if (ch === "#") { + var _end = Node.endOfLine(src, offset + 1); + comments.push(new Range(offset, _end)); + offset = _end; + } else { + atLineStart = true; + lineStart = offset + 1; + var wsEnd = Node.endOfWhiteSpace(src, lineStart); + if (src[wsEnd] === "\n" && comments.length === 0) { + blankLine = new BlankLine(); + lineStart = blankLine.parse({ + src + }, lineStart); + } + offset = Node.endOfIndent(src, lineStart); + } + ch = src[offset]; + } + if (Node.nextNodeIsIndented(ch, offset - (lineStart + indent), this.type !== Type.SEQ_ITEM)) { + this.node = parseNode({ + atLineStart, + inCollection: false, + indent, + lineStart, + parent: this + }, offset); + } else if (ch && lineStart > start + 1) { + offset = lineStart - 1; + } + if (this.node) { + if (blankLine) { + var items = context.parent.items || context.parent.contents; + if (items) items.push(blankLine); + } + if (comments.length) Array.prototype.push.apply(this.props, comments); + offset = this.node.range.end; + } else { + if (inlineComment) { + var c = comments[0]; + this.props.push(c); + offset = c.end; + } else { + offset = Node.endOfLine(src, start + 1); + } + } + var end = this.node ? this.node.valueRange.end : offset; + this.valueRange = new Range(start, end); + return offset; + } + }, { + key: "setOrigRanges", + value: function setOrigRanges(cr, offset) { + offset = _get(_getPrototypeOf(CollectionItem2.prototype), "setOrigRanges", this).call(this, cr, offset); + return this.node ? this.node.setOrigRanges(cr, offset) : offset; + } + }, { + key: "toString", + value: function toString() { + var src = this.context.src, node = this.node, range = this.range, value2 = this.value; + if (value2 != null) return value2; + var str = node ? src.slice(range.start, node.range.start) + String(node) : src.slice(range.start, range.end); + return Node.addStringTerminator(src, range.end, str); + } + }]); + return CollectionItem2; + }(Node); + Comment = function(_Node) { + _inherits(Comment2, _Node); + var _super = _createSuper(Comment2); + function Comment2() { + _classCallCheck(this, Comment2); + return _super.call(this, Type.COMMENT); + } + _createClass(Comment2, [{ + key: "parse", + value: function parse3(context, start) { + this.context = context; + var offset = this.parseComment(start); + this.range = new Range(start, offset); + return offset; + } + }]); + return Comment2; + }(Node); + Collection = function(_Node) { + _inherits(Collection3, _Node); + var _super = _createSuper(Collection3); + function Collection3(firstItem) { + var _this; + _classCallCheck(this, Collection3); + _this = _super.call(this, firstItem.type === Type.SEQ_ITEM ? Type.SEQ : Type.MAP); + for (var i = firstItem.props.length - 1; i >= 0; --i) { + if (firstItem.props[i].start < firstItem.context.lineStart) { + _this.props = firstItem.props.slice(0, i + 1); + firstItem.props = firstItem.props.slice(i + 1); + var itemRange = firstItem.props[0] || firstItem.valueRange; + firstItem.range.start = itemRange.start; + break; + } + } + _this.items = [firstItem]; + var ec = grabCollectionEndComments(firstItem); + if (ec) Array.prototype.push.apply(_this.items, ec); + return _this; + } + _createClass(Collection3, [{ + key: "includesTrailingLines", + get: function get() { + return this.items.length > 0; + } + /** + * @param {ParseContext} context + * @param {number} start - Index of first character + * @returns {number} - Index of the character after this + */ + }, { + key: "parse", + value: function parse3(context, start) { + this.context = context; + var parseNode = context.parseNode, src = context.src; + var lineStart = Node.startOfLine(src, start); + var firstItem = this.items[0]; + firstItem.context.parent = this; + this.valueRange = Range.copy(firstItem.valueRange); + var indent = firstItem.range.start - firstItem.context.lineStart; + var offset = start; + offset = Node.normalizeOffset(src, offset); + var ch = src[offset]; + var atLineStart = Node.endOfWhiteSpace(src, lineStart) === offset; + var prevIncludesTrailingLines = false; + while (ch) { + while (ch === "\n" || ch === "#") { + if (atLineStart && ch === "\n" && !prevIncludesTrailingLines) { + var blankLine = new BlankLine(); + offset = blankLine.parse({ + src + }, offset); + this.valueRange.end = offset; + if (offset >= src.length) { + ch = null; + break; + } + this.items.push(blankLine); + offset -= 1; + } else if (ch === "#") { + if (offset < lineStart + indent && !Collection3.nextContentHasIndent(src, offset, indent)) { + return offset; + } + var comment = new Comment(); + offset = comment.parse({ + indent, + lineStart, + src + }, offset); + this.items.push(comment); + this.valueRange.end = offset; + if (offset >= src.length) { + ch = null; + break; + } + } + lineStart = offset + 1; + offset = Node.endOfIndent(src, lineStart); + if (Node.atBlank(src, offset)) { + var wsEnd = Node.endOfWhiteSpace(src, offset); + var next = src[wsEnd]; + if (!next || next === "\n" || next === "#") { + offset = wsEnd; + } + } + ch = src[offset]; + atLineStart = true; + } + if (!ch) { + break; + } + if (offset !== lineStart + indent && (atLineStart || ch !== ":")) { + if (offset < lineStart + indent) { + if (lineStart > start) offset = lineStart; + break; + } else if (!this.error) { + var msg = "All collection items must start at the same column"; + this.error = new YAMLSyntaxError(this, msg); + } + } + if (firstItem.type === Type.SEQ_ITEM) { + if (ch !== "-") { + if (lineStart > start) offset = lineStart; + break; + } + } else if (ch === "-" && !this.error) { + var _next = src[offset + 1]; + if (!_next || _next === "\n" || _next === " " || _next === " ") { + var _msg = "A collection cannot be both a mapping and a sequence"; + this.error = new YAMLSyntaxError(this, _msg); + } + } + var node = parseNode({ + atLineStart, + inCollection: true, + indent, + lineStart, + parent: this + }, offset); + if (!node) return offset; + this.items.push(node); + this.valueRange.end = node.valueRange.end; + offset = Node.normalizeOffset(src, node.range.end); + ch = src[offset]; + atLineStart = false; + prevIncludesTrailingLines = node.includesTrailingLines; + if (ch) { + var ls = offset - 1; + var prev = src[ls]; + while (prev === " " || prev === " ") { + prev = src[--ls]; + } + if (prev === "\n") { + lineStart = ls + 1; + atLineStart = true; + } + } + var ec = grabCollectionEndComments(node); + if (ec) Array.prototype.push.apply(this.items, ec); + } + return offset; + } + }, { + key: "setOrigRanges", + value: function setOrigRanges(cr, offset) { + offset = _get(_getPrototypeOf(Collection3.prototype), "setOrigRanges", this).call(this, cr, offset); + this.items.forEach(function(node) { + offset = node.setOrigRanges(cr, offset); + }); + return offset; + } + }, { + key: "toString", + value: function toString() { + var src = this.context.src, items = this.items, range = this.range, value2 = this.value; + if (value2 != null) return value2; + var str = src.slice(range.start, items[0].range.start) + String(items[0]); + for (var i = 1; i < items.length; ++i) { + var item = items[i]; + var _item$context = item.context, atLineStart = _item$context.atLineStart, indent = _item$context.indent; + if (atLineStart) for (var _i = 0; _i < indent; ++_i) { + str += " "; + } + str += String(item); + } + return Node.addStringTerminator(src, range.end, str); + } + }], [{ + key: "nextContentHasIndent", + value: function nextContentHasIndent(src, offset, indent) { + var lineStart = Node.endOfLine(src, offset) + 1; + offset = Node.endOfWhiteSpace(src, lineStart); + var ch = src[offset]; + if (!ch) return false; + if (offset >= lineStart + indent) return true; + if (ch !== "#" && ch !== "\n") return false; + return Collection3.nextContentHasIndent(src, offset, indent); + } + }]); + return Collection3; + }(Node); + Directive = function(_Node) { + _inherits(Directive2, _Node); + var _super = _createSuper(Directive2); + function Directive2() { + var _this; + _classCallCheck(this, Directive2); + _this = _super.call(this, Type.DIRECTIVE); + _this.name = null; + return _this; + } + _createClass(Directive2, [{ + key: "parameters", + get: function get() { + var raw = this.rawValue; + return raw ? raw.trim().split(/[ \t]+/) : []; + } + }, { + key: "parseName", + value: function parseName(start) { + var src = this.context.src; + var offset = start; + var ch = src[offset]; + while (ch && ch !== "\n" && ch !== " " && ch !== " ") { + ch = src[offset += 1]; + } + this.name = src.slice(start, offset); + return offset; + } + }, { + key: "parseParameters", + value: function parseParameters(start) { + var src = this.context.src; + var offset = start; + var ch = src[offset]; + while (ch && ch !== "\n" && ch !== "#") { + ch = src[offset += 1]; + } + this.valueRange = new Range(start, offset); + return offset; + } + }, { + key: "parse", + value: function parse3(context, start) { + this.context = context; + var offset = this.parseName(start + 1); + offset = this.parseParameters(offset); + offset = this.parseComment(offset); + this.range = new Range(start, offset); + return offset; + } + }]); + return Directive2; + }(Node); + Document = function(_Node) { + _inherits(Document3, _Node); + var _super = _createSuper(Document3); + function Document3() { + var _this; + _classCallCheck(this, Document3); + _this = _super.call(this, Type.DOCUMENT); + _this.directives = null; + _this.contents = null; + _this.directivesEndMarker = null; + _this.documentEndMarker = null; + return _this; + } + _createClass(Document3, [{ + key: "parseDirectives", + value: function parseDirectives2(start) { + var src = this.context.src; + this.directives = []; + var atLineStart = true; + var hasDirectives = false; + var offset = start; + while (!Node.atDocumentBoundary(src, offset, Char.DIRECTIVES_END)) { + offset = Document3.startCommentOrEndBlankLine(src, offset); + switch (src[offset]) { + case "\n": + if (atLineStart) { + var blankLine = new BlankLine(); + offset = blankLine.parse({ + src + }, offset); + if (offset < src.length) { + this.directives.push(blankLine); + } + } else { + offset += 1; + atLineStart = true; + } + break; + case "#": + { + var comment = new Comment(); + offset = comment.parse({ + src + }, offset); + this.directives.push(comment); + atLineStart = false; + } + break; + case "%": + { + var directive = new Directive(); + offset = directive.parse({ + parent: this, + src + }, offset); + this.directives.push(directive); + hasDirectives = true; + atLineStart = false; + } + break; + default: + if (hasDirectives) { + this.error = new YAMLSemanticError(this, "Missing directives-end indicator line"); + } else if (this.directives.length > 0) { + this.contents = this.directives; + this.directives = []; + } + return offset; + } + } + if (src[offset]) { + this.directivesEndMarker = new Range(offset, offset + 3); + return offset + 3; + } + if (hasDirectives) { + this.error = new YAMLSemanticError(this, "Missing directives-end indicator line"); + } else if (this.directives.length > 0) { + this.contents = this.directives; + this.directives = []; + } + return offset; + } + }, { + key: "parseContents", + value: function parseContents2(start) { + var _this$context = this.context, parseNode = _this$context.parseNode, src = _this$context.src; + if (!this.contents) this.contents = []; + var lineStart = start; + while (src[lineStart - 1] === "-") { + lineStart -= 1; + } + var offset = Node.endOfWhiteSpace(src, start); + var atLineStart = lineStart === start; + this.valueRange = new Range(offset); + while (!Node.atDocumentBoundary(src, offset, Char.DOCUMENT_END)) { + switch (src[offset]) { + case "\n": + if (atLineStart) { + var blankLine = new BlankLine(); + offset = blankLine.parse({ + src + }, offset); + if (offset < src.length) { + this.contents.push(blankLine); + } + } else { + offset += 1; + atLineStart = true; + } + lineStart = offset; + break; + case "#": + { + var comment = new Comment(); + offset = comment.parse({ + src + }, offset); + this.contents.push(comment); + atLineStart = false; + } + break; + default: { + var iEnd = Node.endOfIndent(src, offset); + var context = { + atLineStart, + indent: -1, + inFlow: false, + inCollection: false, + lineStart, + parent: this + }; + var node = parseNode(context, iEnd); + if (!node) return this.valueRange.end = iEnd; + this.contents.push(node); + offset = node.range.end; + atLineStart = false; + var ec = grabCollectionEndComments(node); + if (ec) Array.prototype.push.apply(this.contents, ec); + } + } + offset = Document3.startCommentOrEndBlankLine(src, offset); + } + this.valueRange.end = offset; + if (src[offset]) { + this.documentEndMarker = new Range(offset, offset + 3); + offset += 3; + if (src[offset]) { + offset = Node.endOfWhiteSpace(src, offset); + if (src[offset] === "#") { + var _comment = new Comment(); + offset = _comment.parse({ + src + }, offset); + this.contents.push(_comment); + } + switch (src[offset]) { + case "\n": + offset += 1; + break; + case void 0: + break; + default: + this.error = new YAMLSyntaxError(this, "Document end marker line cannot have a non-comment suffix"); + } + } + } + return offset; + } + /** + * @param {ParseContext} context + * @param {number} start - Index of first character + * @returns {number} - Index of the character after this + */ + }, { + key: "parse", + value: function parse3(context, start) { + context.root = this; + this.context = context; + var src = context.src; + var offset = src.charCodeAt(start) === 65279 ? start + 1 : start; + offset = this.parseDirectives(offset); + offset = this.parseContents(offset); + return offset; + } + }, { + key: "setOrigRanges", + value: function setOrigRanges(cr, offset) { + offset = _get(_getPrototypeOf(Document3.prototype), "setOrigRanges", this).call(this, cr, offset); + this.directives.forEach(function(node) { + offset = node.setOrigRanges(cr, offset); + }); + if (this.directivesEndMarker) offset = this.directivesEndMarker.setOrigRange(cr, offset); + this.contents.forEach(function(node) { + offset = node.setOrigRanges(cr, offset); + }); + if (this.documentEndMarker) offset = this.documentEndMarker.setOrigRange(cr, offset); + return offset; + } + }, { + key: "toString", + value: function toString() { + var contents = this.contents, directives = this.directives, value2 = this.value; + if (value2 != null) return value2; + var str = directives.join(""); + if (contents.length > 0) { + if (directives.length > 0 || contents[0].type === Type.COMMENT) str += "---\n"; + str += contents.join(""); + } + if (str[str.length - 1] !== "\n") str += "\n"; + return str; + } + }], [{ + key: "startCommentOrEndBlankLine", + value: function startCommentOrEndBlankLine(src, start) { + var offset = Node.endOfWhiteSpace(src, start); + var ch = src[offset]; + return ch === "#" || ch === "\n" ? offset : start; + } + }]); + return Document3; + }(Node); + Alias = function(_Node) { + _inherits(Alias3, _Node); + var _super = _createSuper(Alias3); + function Alias3() { + _classCallCheck(this, Alias3); + return _super.apply(this, arguments); + } + _createClass(Alias3, [{ + key: "parse", + value: ( + /** + * Parses an *alias from the source + * + * @param {ParseContext} context + * @param {number} start - Index of first character + * @returns {number} - Index of the character after this scalar + */ + function parse3(context, start) { + this.context = context; + var src = context.src; + var offset = Node.endOfIdentifier(src, start + 1); + this.valueRange = new Range(start + 1, offset); + offset = Node.endOfWhiteSpace(src, offset); + offset = this.parseComment(offset); + return offset; + } + ) + }]); + return Alias3; + }(Node); + Chomp = { + CLIP: "CLIP", + KEEP: "KEEP", + STRIP: "STRIP" + }; + BlockValue = function(_Node) { + _inherits(BlockValue2, _Node); + var _super = _createSuper(BlockValue2); + function BlockValue2(type, props) { + var _this; + _classCallCheck(this, BlockValue2); + _this = _super.call(this, type, props); + _this.blockIndent = null; + _this.chomping = Chomp.CLIP; + _this.header = null; + return _this; + } + _createClass(BlockValue2, [{ + key: "includesTrailingLines", + get: function get() { + return this.chomping === Chomp.KEEP; + } + }, { + key: "strValue", + get: function get() { + if (!this.valueRange || !this.context) return null; + var _this$valueRange = this.valueRange, start = _this$valueRange.start, end = _this$valueRange.end; + var _this$context = this.context, indent = _this$context.indent, src = _this$context.src; + if (this.valueRange.isEmpty()) return ""; + var lastNewLine = null; + var ch = src[end - 1]; + while (ch === "\n" || ch === " " || ch === " ") { + end -= 1; + if (end <= start) { + if (this.chomping === Chomp.KEEP) break; + else return ""; + } + if (ch === "\n") lastNewLine = end; + ch = src[end - 1]; + } + var keepStart = end + 1; + if (lastNewLine) { + if (this.chomping === Chomp.KEEP) { + keepStart = lastNewLine; + end = this.valueRange.end; + } else { + end = lastNewLine; + } + } + var bi = indent + this.blockIndent; + var folded = this.type === Type.BLOCK_FOLDED; + var atStart = true; + var str = ""; + var sep = ""; + var prevMoreIndented = false; + for (var i = start; i < end; ++i) { + for (var j = 0; j < bi; ++j) { + if (src[i] !== " ") break; + i += 1; + } + var _ch = src[i]; + if (_ch === "\n") { + if (sep === "\n") str += "\n"; + else sep = "\n"; + } else { + var lineEnd = Node.endOfLine(src, i); + var line = src.slice(i, lineEnd); + i = lineEnd; + if (folded && (_ch === " " || _ch === " ") && i < keepStart) { + if (sep === " ") sep = "\n"; + else if (!prevMoreIndented && !atStart && sep === "\n") sep = "\n\n"; + str += sep + line; + sep = lineEnd < end && src[lineEnd] || ""; + prevMoreIndented = true; + } else { + str += sep + line; + sep = folded && i < keepStart ? " " : "\n"; + prevMoreIndented = false; + } + if (atStart && line !== "") atStart = false; + } + } + return this.chomping === Chomp.STRIP ? str : str + "\n"; + } + }, { + key: "parseBlockHeader", + value: function parseBlockHeader(start) { + var src = this.context.src; + var offset = start + 1; + var bi = ""; + while (true) { + var ch = src[offset]; + switch (ch) { + case "-": + this.chomping = Chomp.STRIP; + break; + case "+": + this.chomping = Chomp.KEEP; + break; + case "0": + case "1": + case "2": + case "3": + case "4": + case "5": + case "6": + case "7": + case "8": + case "9": + bi += ch; + break; + default: + this.blockIndent = Number(bi) || null; + this.header = new Range(start, offset); + return offset; + } + offset += 1; + } + } + }, { + key: "parseBlockValue", + value: function parseBlockValue(start) { + var _this$context2 = this.context, indent = _this$context2.indent, src = _this$context2.src; + var explicit = !!this.blockIndent; + var offset = start; + var valueEnd = start; + var minBlockIndent = 1; + for (var ch = src[offset]; ch === "\n"; ch = src[offset]) { + offset += 1; + if (Node.atDocumentBoundary(src, offset)) break; + var end = Node.endOfBlockIndent(src, indent, offset); + if (end === null) break; + var _ch2 = src[end]; + var lineIndent = end - (offset + indent); + if (!this.blockIndent) { + if (src[end] !== "\n") { + if (lineIndent < minBlockIndent) { + var msg = "Block scalars with more-indented leading empty lines must use an explicit indentation indicator"; + this.error = new YAMLSemanticError(this, msg); + } + this.blockIndent = lineIndent; + } else if (lineIndent > minBlockIndent) { + minBlockIndent = lineIndent; + } + } else if (_ch2 && _ch2 !== "\n" && lineIndent < this.blockIndent) { + if (src[end] === "#") break; + if (!this.error) { + var _src = explicit ? "explicit indentation indicator" : "first line"; + var _msg = "Block scalars must not be less indented than their ".concat(_src); + this.error = new YAMLSemanticError(this, _msg); + } + } + if (src[end] === "\n") { + offset = end; + } else { + offset = valueEnd = Node.endOfLine(src, end); + } + } + if (this.chomping !== Chomp.KEEP) { + offset = src[valueEnd] ? valueEnd + 1 : valueEnd; + } + this.valueRange = new Range(start + 1, offset); + return offset; + } + /** + * Parses a block value from the source + * + * Accepted forms are: + * ``` + * BS + * block + * lines + * + * BS #comment + * block + * lines + * ``` + * where the block style BS matches the regexp `[|>][-+1-9]*` and block lines + * are empty or have an indent level greater than `indent`. + * + * @param {ParseContext} context + * @param {number} start - Index of first character + * @returns {number} - Index of the character after this block + */ + }, { + key: "parse", + value: function parse3(context, start) { + this.context = context; + var src = context.src; + var offset = this.parseBlockHeader(start); + offset = Node.endOfWhiteSpace(src, offset); + offset = this.parseComment(offset); + offset = this.parseBlockValue(offset); + return offset; + } + }, { + key: "setOrigRanges", + value: function setOrigRanges(cr, offset) { + offset = _get(_getPrototypeOf(BlockValue2.prototype), "setOrigRanges", this).call(this, cr, offset); + return this.header ? this.header.setOrigRange(cr, offset) : offset; + } + }]); + return BlockValue2; + }(Node); + FlowCollection = function(_Node) { + _inherits(FlowCollection2, _Node); + var _super = _createSuper(FlowCollection2); + function FlowCollection2(type, props) { + var _this; + _classCallCheck(this, FlowCollection2); + _this = _super.call(this, type, props); + _this.items = null; + return _this; + } + _createClass(FlowCollection2, [{ + key: "prevNodeIsJsonLike", + value: function prevNodeIsJsonLike() { + var idx = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.items.length; + var node = this.items[idx - 1]; + return !!node && (node.jsonLike || node.type === Type.COMMENT && this.prevNodeIsJsonLike(idx - 1)); + } + /** + * @param {ParseContext} context + * @param {number} start - Index of first character + * @returns {number} - Index of the character after this + */ + }, { + key: "parse", + value: function parse3(context, start) { + this.context = context; + var parseNode = context.parseNode, src = context.src; + var indent = context.indent, lineStart = context.lineStart; + var char = src[start]; + this.items = [{ + char, + offset: start + }]; + var offset = Node.endOfWhiteSpace(src, start + 1); + char = src[offset]; + while (char && char !== "]" && char !== "}") { + switch (char) { + case "\n": + { + lineStart = offset + 1; + var wsEnd = Node.endOfWhiteSpace(src, lineStart); + if (src[wsEnd] === "\n") { + var blankLine = new BlankLine(); + lineStart = blankLine.parse({ + src + }, lineStart); + this.items.push(blankLine); + } + offset = Node.endOfIndent(src, lineStart); + if (offset <= lineStart + indent) { + char = src[offset]; + if (offset < lineStart + indent || char !== "]" && char !== "}") { + var msg = "Insufficient indentation in flow collection"; + this.error = new YAMLSemanticError(this, msg); + } + } + } + break; + case ",": + { + this.items.push({ + char, + offset + }); + offset += 1; + } + break; + case "#": + { + var comment = new Comment(); + offset = comment.parse({ + src + }, offset); + this.items.push(comment); + } + break; + case "?": + case ":": { + var next = src[offset + 1]; + if (next === "\n" || next === " " || next === " " || next === "," || // in-flow : after JSON-like key does not need to be followed by whitespace + char === ":" && this.prevNodeIsJsonLike()) { + this.items.push({ + char, + offset + }); + offset += 1; + break; + } + } + // fallthrough + default: { + var node = parseNode({ + atLineStart: false, + inCollection: false, + inFlow: true, + indent: -1, + lineStart, + parent: this + }, offset); + if (!node) { + this.valueRange = new Range(start, offset); + return offset; + } + this.items.push(node); + offset = Node.normalizeOffset(src, node.range.end); + } + } + offset = Node.endOfWhiteSpace(src, offset); + char = src[offset]; + } + this.valueRange = new Range(start, offset + 1); + if (char) { + this.items.push({ + char, + offset + }); + offset = Node.endOfWhiteSpace(src, offset + 1); + offset = this.parseComment(offset); + } + return offset; + } + }, { + key: "setOrigRanges", + value: function setOrigRanges(cr, offset) { + offset = _get(_getPrototypeOf(FlowCollection2.prototype), "setOrigRanges", this).call(this, cr, offset); + this.items.forEach(function(node) { + if (node instanceof Node) { + offset = node.setOrigRanges(cr, offset); + } else if (cr.length === 0) { + node.origOffset = node.offset; + } else { + var i = offset; + while (i < cr.length) { + if (cr[i] > node.offset) break; + else ++i; + } + node.origOffset = node.offset + i; + offset = i; + } + }); + return offset; + } + }, { + key: "toString", + value: function toString() { + var src = this.context.src, items = this.items, range = this.range, value2 = this.value; + if (value2 != null) return value2; + var nodes = items.filter(function(item) { + return item instanceof Node; + }); + var str = ""; + var prevEnd = range.start; + nodes.forEach(function(node) { + var prefix = src.slice(prevEnd, node.range.start); + prevEnd = node.range.end; + str += prefix + String(node); + if (str[str.length - 1] === "\n" && src[prevEnd - 1] !== "\n" && src[prevEnd] === "\n") { + prevEnd += 1; + } + }); + str += src.slice(prevEnd, range.end); + return Node.addStringTerminator(src, range.end, str); + } + }]); + return FlowCollection2; + }(Node); + QuoteDouble = function(_Node) { + _inherits(QuoteDouble2, _Node); + var _super = _createSuper(QuoteDouble2); + function QuoteDouble2() { + _classCallCheck(this, QuoteDouble2); + return _super.apply(this, arguments); + } + _createClass(QuoteDouble2, [{ + key: "strValue", + get: ( + /** + * @returns {string | { str: string, errors: YAMLSyntaxError[] }} + */ + function get() { + if (!this.valueRange || !this.context) return null; + var errors = []; + var _this$valueRange = this.valueRange, start = _this$valueRange.start, end = _this$valueRange.end; + var _this$context = this.context, indent = _this$context.indent, src = _this$context.src; + if (src[end - 1] !== '"') errors.push(new YAMLSyntaxError(this, 'Missing closing "quote')); + var str = ""; + for (var i = start + 1; i < end - 1; ++i) { + var ch = src[i]; + if (ch === "\n") { + if (Node.atDocumentBoundary(src, i + 1)) errors.push(new YAMLSemanticError(this, "Document boundary indicators are not allowed within string values")); + var _Node$foldNewline = Node.foldNewline(src, i, indent), fold = _Node$foldNewline.fold, offset = _Node$foldNewline.offset, error = _Node$foldNewline.error; + str += fold; + i = offset; + if (error) errors.push(new YAMLSemanticError(this, "Multi-line double-quoted string needs to be sufficiently indented")); + } else if (ch === "\\") { + i += 1; + switch (src[i]) { + case "0": + str += "\0"; + break; + // null character + case "a": + str += "\x07"; + break; + // bell character + case "b": + str += "\b"; + break; + // backspace + case "e": + str += "\x1B"; + break; + // escape character + case "f": + str += "\f"; + break; + // form feed + case "n": + str += "\n"; + break; + // line feed + case "r": + str += "\r"; + break; + // carriage return + case "t": + str += " "; + break; + // horizontal tab + case "v": + str += "\v"; + break; + // vertical tab + case "N": + str += "…"; + break; + // Unicode next line + case "_": + str += " "; + break; + // Unicode non-breaking space + case "L": + str += "\u2028"; + break; + // Unicode line separator + case "P": + str += "\u2029"; + break; + // Unicode paragraph separator + case " ": + str += " "; + break; + case '"': + str += '"'; + break; + case "/": + str += "/"; + break; + case "\\": + str += "\\"; + break; + case " ": + str += " "; + break; + case "x": + str += this.parseCharCode(i + 1, 2, errors); + i += 2; + break; + case "u": + str += this.parseCharCode(i + 1, 4, errors); + i += 4; + break; + case "U": + str += this.parseCharCode(i + 1, 8, errors); + i += 8; + break; + case "\n": + while (src[i + 1] === " " || src[i + 1] === " ") { + i += 1; + } + break; + default: + errors.push(new YAMLSyntaxError(this, "Invalid escape sequence ".concat(src.substr(i - 1, 2)))); + str += "\\" + src[i]; + } + } else if (ch === " " || ch === " ") { + var wsStart = i; + var next = src[i + 1]; + while (next === " " || next === " ") { + i += 1; + next = src[i + 1]; + } + if (next !== "\n") str += i > wsStart ? src.slice(wsStart, i + 1) : ch; + } else { + str += ch; + } + } + return errors.length > 0 ? { + errors, + str + } : str; + } + ) + }, { + key: "parseCharCode", + value: function parseCharCode(offset, length, errors) { + var src = this.context.src; + var cc = src.substr(offset, length); + var ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc); + var code = ok ? parseInt(cc, 16) : NaN; + if (isNaN(code)) { + errors.push(new YAMLSyntaxError(this, "Invalid escape sequence ".concat(src.substr(offset - 2, length + 2)))); + return src.substr(offset - 2, length + 2); + } + return String.fromCodePoint(code); + } + /** + * Parses a "double quoted" value from the source + * + * @param {ParseContext} context + * @param {number} start - Index of first character + * @returns {number} - Index of the character after this scalar + */ + }, { + key: "parse", + value: function parse3(context, start) { + this.context = context; + var src = context.src; + var offset = QuoteDouble2.endOfQuote(src, start + 1); + this.valueRange = new Range(start, offset); + offset = Node.endOfWhiteSpace(src, offset); + offset = this.parseComment(offset); + return offset; + } + }], [{ + key: "endOfQuote", + value: function endOfQuote(src, offset) { + var ch = src[offset]; + while (ch && ch !== '"') { + offset += ch === "\\" ? 2 : 1; + ch = src[offset]; + } + return offset + 1; + } + }]); + return QuoteDouble2; + }(Node); + QuoteSingle = function(_Node) { + _inherits(QuoteSingle2, _Node); + var _super = _createSuper(QuoteSingle2); + function QuoteSingle2() { + _classCallCheck(this, QuoteSingle2); + return _super.apply(this, arguments); + } + _createClass(QuoteSingle2, [{ + key: "strValue", + get: ( + /** + * @returns {string | { str: string, errors: YAMLSyntaxError[] }} + */ + function get() { + if (!this.valueRange || !this.context) return null; + var errors = []; + var _this$valueRange = this.valueRange, start = _this$valueRange.start, end = _this$valueRange.end; + var _this$context = this.context, indent = _this$context.indent, src = _this$context.src; + if (src[end - 1] !== "'") errors.push(new YAMLSyntaxError(this, "Missing closing 'quote")); + var str = ""; + for (var i = start + 1; i < end - 1; ++i) { + var ch = src[i]; + if (ch === "\n") { + if (Node.atDocumentBoundary(src, i + 1)) errors.push(new YAMLSemanticError(this, "Document boundary indicators are not allowed within string values")); + var _Node$foldNewline = Node.foldNewline(src, i, indent), fold = _Node$foldNewline.fold, offset = _Node$foldNewline.offset, error = _Node$foldNewline.error; + str += fold; + i = offset; + if (error) errors.push(new YAMLSemanticError(this, "Multi-line single-quoted string needs to be sufficiently indented")); + } else if (ch === "'") { + str += ch; + i += 1; + if (src[i] !== "'") errors.push(new YAMLSyntaxError(this, "Unescaped single quote? This should not happen.")); + } else if (ch === " " || ch === " ") { + var wsStart = i; + var next = src[i + 1]; + while (next === " " || next === " ") { + i += 1; + next = src[i + 1]; + } + if (next !== "\n") str += i > wsStart ? src.slice(wsStart, i + 1) : ch; + } else { + str += ch; + } + } + return errors.length > 0 ? { + errors, + str + } : str; + } + ) + /** + * Parses a 'single quoted' value from the source + * + * @param {ParseContext} context + * @param {number} start - Index of first character + * @returns {number} - Index of the character after this scalar + */ + }, { + key: "parse", + value: function parse3(context, start) { + this.context = context; + var src = context.src; + var offset = QuoteSingle2.endOfQuote(src, start + 1); + this.valueRange = new Range(start, offset); + offset = Node.endOfWhiteSpace(src, offset); + offset = this.parseComment(offset); + return offset; + } + }], [{ + key: "endOfQuote", + value: function endOfQuote(src, offset) { + var ch = src[offset]; + while (ch) { + if (ch === "'") { + if (src[offset + 1] !== "'") break; + ch = src[offset += 2]; + } else { + ch = src[offset += 1]; + } + } + return offset + 1; + } + }]); + return QuoteSingle2; + }(Node); + ParseContext = function() { + function ParseContext2() { + var _this = this; + var orig = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, atLineStart = _ref.atLineStart, inCollection = _ref.inCollection, inFlow = _ref.inFlow, indent = _ref.indent, lineStart = _ref.lineStart, parent = _ref.parent; + _classCallCheck(this, ParseContext2); + _defineProperty(this, "parseNode", function(overlay, start) { + if (Node.atDocumentBoundary(_this.src, start)) return null; + var context = new ParseContext2(_this, overlay); + var _context$parseProps = context.parseProps(start), props = _context$parseProps.props, type = _context$parseProps.type, valueStart = _context$parseProps.valueStart; + var node = createNewNode(type, props); + var offset = node.parse(context, valueStart); + node.range = new Range(start, offset); + if (offset <= start) { + node.error = new Error("Node#parse consumed no characters"); + node.error.parseEnd = offset; + node.error.source = node; + node.range.end = start + 1; + } + if (context.nodeStartsCollection(node)) { + if (!node.error && !context.atLineStart && context.parent.type === Type.DOCUMENT) { + node.error = new YAMLSyntaxError(node, "Block collection must not have preceding content here (e.g. directives-end indicator)"); + } + var collection = new Collection(node); + offset = collection.parse(new ParseContext2(context), offset); + collection.range = new Range(start, offset); + return collection; + } + return node; + }); + this.atLineStart = atLineStart != null ? atLineStart : orig.atLineStart || false; + this.inCollection = inCollection != null ? inCollection : orig.inCollection || false; + this.inFlow = inFlow != null ? inFlow : orig.inFlow || false; + this.indent = indent != null ? indent : orig.indent; + this.lineStart = lineStart != null ? lineStart : orig.lineStart; + this.parent = parent != null ? parent : orig.parent || {}; + this.root = orig.root; + this.src = orig.src; + } + _createClass(ParseContext2, [{ + key: "nodeStartsCollection", + value: function nodeStartsCollection(node) { + var inCollection = this.inCollection, inFlow = this.inFlow, src = this.src; + if (inCollection || inFlow) return false; + if (node instanceof CollectionItem) return true; + var offset = node.range.end; + if (src[offset] === "\n" || src[offset - 1] === "\n") return false; + offset = Node.endOfWhiteSpace(src, offset); + return src[offset] === ":"; + } + // Anchor and tag are before type, which determines the node implementation + // class; hence this intermediate step. + }, { + key: "parseProps", + value: function parseProps(offset) { + var inFlow = this.inFlow, parent = this.parent, src = this.src; + var props = []; + var lineHasProps = false; + offset = this.atLineStart ? Node.endOfIndent(src, offset) : Node.endOfWhiteSpace(src, offset); + var ch = src[offset]; + while (ch === Char.ANCHOR || ch === Char.COMMENT || ch === Char.TAG || ch === "\n") { + if (ch === "\n") { + var inEnd = offset; + var lineStart = void 0; + do { + lineStart = inEnd + 1; + inEnd = Node.endOfIndent(src, lineStart); + } while (src[inEnd] === "\n"); + var indentDiff = inEnd - (lineStart + this.indent); + var noIndicatorAsIndent = parent.type === Type.SEQ_ITEM && parent.context.atLineStart; + if (src[inEnd] !== "#" && !Node.nextNodeIsIndented(src[inEnd], indentDiff, !noIndicatorAsIndent)) break; + this.atLineStart = true; + this.lineStart = lineStart; + lineHasProps = false; + offset = inEnd; + } else if (ch === Char.COMMENT) { + var end = Node.endOfLine(src, offset + 1); + props.push(new Range(offset, end)); + offset = end; + } else { + var _end = Node.endOfIdentifier(src, offset + 1); + if (ch === Char.TAG && src[_end] === "," && /^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(src.slice(offset + 1, _end + 13))) { + _end = Node.endOfIdentifier(src, _end + 5); + } + props.push(new Range(offset, _end)); + lineHasProps = true; + offset = Node.endOfWhiteSpace(src, _end); + } + ch = src[offset]; + } + if (lineHasProps && ch === ":" && Node.atBlank(src, offset + 1, true)) offset -= 1; + var type = ParseContext2.parseType(src, offset, inFlow); + return { + props, + type, + valueStart: offset + }; + } + /** + * Parses a node from the source + * @param {ParseContext} overlay + * @param {number} start - Index of first non-whitespace character for the node + * @returns {?Node} - null if at a document boundary + */ + }], [{ + key: "parseType", + value: function parseType(src, offset, inFlow) { + switch (src[offset]) { + case "*": + return Type.ALIAS; + case ">": + return Type.BLOCK_FOLDED; + case "|": + return Type.BLOCK_LITERAL; + case "{": + return Type.FLOW_MAP; + case "[": + return Type.FLOW_SEQ; + case "?": + return !inFlow && Node.atBlank(src, offset + 1, true) ? Type.MAP_KEY : Type.PLAIN; + case ":": + return !inFlow && Node.atBlank(src, offset + 1, true) ? Type.MAP_VALUE : Type.PLAIN; + case "-": + return !inFlow && Node.atBlank(src, offset + 1, true) ? Type.SEQ_ITEM : Type.PLAIN; + case '"': + return Type.QUOTE_DOUBLE; + case "'": + return Type.QUOTE_SINGLE; + default: + return Type.PLAIN; + } + } + }]); + return ParseContext2; + }(); + } +}); + +// ../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/resolveSeq-492ab440.js +function addCommentBefore(str, indent, comment) { + if (!comment) return str; + var cc = comment.replace(/[\s\S]^/gm, "$&".concat(indent, "#")); + return "#".concat(cc, "\n").concat(indent).concat(str); +} +function addComment(str, indent, comment) { + return !comment ? str : comment.indexOf("\n") === -1 ? "".concat(str, " #").concat(comment) : "".concat(str, "\n") + comment.replace(/^/gm, "".concat(indent || "", "#")); +} +function toJSON(value2, arg, ctx) { + if (Array.isArray(value2)) return value2.map(function(v, i) { + return toJSON(v, String(i), ctx); + }); + if (value2 && typeof value2.toJSON === "function") { + var anchor = ctx && ctx.anchors && ctx.anchors.get(value2); + if (anchor) ctx.onCreate = function(res2) { + anchor.res = res2; + delete ctx.onCreate; + }; + var res = value2.toJSON(arg, ctx); + if (anchor && ctx.onCreate) ctx.onCreate(res); + return res; + } + if ((!ctx || !ctx.keep) && typeof value2 === "bigint") return Number(value2); + return value2; +} +function collectionFromPath(schema, path, value2) { + var v = value2; + for (var i = path.length - 1; i >= 0; --i) { + var k = path[i]; + if (Number.isInteger(k) && k >= 0) { + var a = []; + a[k] = v; + v = a; + } else { + var o = {}; + Object.defineProperty(o, k, { + value: v, + writable: true, + enumerable: true, + configurable: true + }); + v = o; + } + } + return schema.createNode(v, false); +} +function asItemIndex(key) { + var idx = key instanceof Scalar ? key.value : key; + if (idx && typeof idx === "string") idx = Number(idx); + return Number.isInteger(idx) && idx >= 0 ? idx : null; +} +function findPair(items, key) { + var k = key instanceof Scalar ? key.value : key; + var _iterator = _createForOfIteratorHelper(items), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var it = _step.value; + if (it instanceof Pair) { + if (it.key === key || it.key === k) return it; + if (it.key && it.key.value === k) return it; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return void 0; +} +function resolveScalar(str, tags2, scalarFallback) { + var _iterator = _createForOfIteratorHelper(tags2), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var _step$value = _step.value, format = _step$value.format, test = _step$value.test, resolve27 = _step$value.resolve; + if (test) { + var match = str.match(test); + if (match) { + var res = resolve27.apply(null, match); + if (!(res instanceof Scalar)) res = new Scalar(res); + if (format) res.format = format; + return res; + } + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + if (scalarFallback) str = scalarFallback(str); + return new Scalar(str); +} +function foldFlowLines(text, indent, mode, _ref) { + var indentAtStart = _ref.indentAtStart, _ref$lineWidth = _ref.lineWidth, lineWidth = _ref$lineWidth === void 0 ? 80 : _ref$lineWidth, _ref$minContentWidth = _ref.minContentWidth, minContentWidth = _ref$minContentWidth === void 0 ? 20 : _ref$minContentWidth, onFold = _ref.onFold, onOverflow = _ref.onOverflow; + if (!lineWidth || lineWidth < 0) return text; + var endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length); + if (text.length <= endStep) return text; + var folds = []; + var escapedFolds = {}; + var end = lineWidth - indent.length; + if (typeof indentAtStart === "number") { + if (indentAtStart > lineWidth - Math.max(2, minContentWidth)) folds.push(0); + else end = lineWidth - indentAtStart; + } + var split = void 0; + var prev = void 0; + var overflow = false; + var i = -1; + var escStart = -1; + var escEnd = -1; + if (mode === FOLD_BLOCK) { + i = consumeMoreIndentedLines(text, i); + if (i !== -1) end = i + endStep; + } + for (var ch; ch = text[i += 1]; ) { + if (mode === FOLD_QUOTED && ch === "\\") { + escStart = i; + switch (text[i + 1]) { + case "x": + i += 3; + break; + case "u": + i += 5; + break; + case "U": + i += 9; + break; + default: + i += 1; + } + escEnd = i; + } + if (ch === "\n") { + if (mode === FOLD_BLOCK) i = consumeMoreIndentedLines(text, i); + end = i + endStep; + split = void 0; + } else { + if (ch === " " && prev && prev !== " " && prev !== "\n" && prev !== " ") { + var next = text[i + 1]; + if (next && next !== " " && next !== "\n" && next !== " ") split = i; + } + if (i >= end) { + if (split) { + folds.push(split); + end = split + endStep; + split = void 0; + } else if (mode === FOLD_QUOTED) { + while (prev === " " || prev === " ") { + prev = ch; + ch = text[i += 1]; + overflow = true; + } + var j = i > escEnd + 1 ? i - 2 : escStart - 1; + if (escapedFolds[j]) return text; + folds.push(j); + escapedFolds[j] = true; + end = j + endStep; + split = void 0; + } else { + overflow = true; + } + } + } + prev = ch; + } + if (overflow && onOverflow) onOverflow(); + if (folds.length === 0) return text; + if (onFold) onFold(); + var res = text.slice(0, folds[0]); + for (var _i = 0; _i < folds.length; ++_i) { + var fold = folds[_i]; + var _end = folds[_i + 1] || text.length; + if (fold === 0) res = "\n".concat(indent).concat(text.slice(0, _end)); + else { + if (mode === FOLD_QUOTED && escapedFolds[fold]) res += "".concat(text[fold], "\\"); + res += "\n".concat(indent).concat(text.slice(fold + 1, _end)); + } + } + return res; +} +function lineLengthOverLimit(str, lineWidth, indentLength) { + if (!lineWidth || lineWidth < 0) return false; + var limit = lineWidth - indentLength; + var strLen = str.length; + if (strLen <= limit) return false; + for (var i = 0, start = 0; i < strLen; ++i) { + if (str[i] === "\n") { + if (i - start > limit) return true; + start = i + 1; + if (strLen - start <= limit) return false; + } + } + return true; +} +function doubleQuotedString(value2, ctx) { + var implicitKey = ctx.implicitKey; + var _strOptions$doubleQuo = strOptions.doubleQuoted, jsonEncoding = _strOptions$doubleQuo.jsonEncoding, minMultiLineLength = _strOptions$doubleQuo.minMultiLineLength; + var json2 = JSON.stringify(value2); + if (jsonEncoding) return json2; + var indent = ctx.indent || (containsDocumentMarker(value2) ? " " : ""); + var str = ""; + var start = 0; + for (var i = 0, ch = json2[i]; ch; ch = json2[++i]) { + if (ch === " " && json2[i + 1] === "\\" && json2[i + 2] === "n") { + str += json2.slice(start, i) + "\\ "; + i += 1; + start = i; + ch = "\\"; + } + if (ch === "\\") switch (json2[i + 1]) { + case "u": + { + str += json2.slice(start, i); + var code = json2.substr(i + 2, 4); + switch (code) { + case "0000": + str += "\\0"; + break; + case "0007": + str += "\\a"; + break; + case "000b": + str += "\\v"; + break; + case "001b": + str += "\\e"; + break; + case "0085": + str += "\\N"; + break; + case "00a0": + str += "\\_"; + break; + case "2028": + str += "\\L"; + break; + case "2029": + str += "\\P"; + break; + default: + if (code.substr(0, 2) === "00") str += "\\x" + code.substr(2); + else str += json2.substr(i, 6); + } + i += 5; + start = i + 1; + } + break; + case "n": + if (implicitKey || json2[i + 2] === '"' || json2.length < minMultiLineLength) { + i += 1; + } else { + str += json2.slice(start, i) + "\n\n"; + while (json2[i + 2] === "\\" && json2[i + 3] === "n" && json2[i + 4] !== '"') { + str += "\n"; + i += 2; + } + str += indent; + if (json2[i + 2] === " ") str += "\\"; + i += 1; + start = i + 1; + } + break; + default: + i += 1; + } + } + str = start ? str + json2.slice(start) : json2; + return implicitKey ? str : foldFlowLines(str, indent, FOLD_QUOTED, getFoldOptions(ctx)); +} +function singleQuotedString(value2, ctx) { + if (ctx.implicitKey) { + if (/\n/.test(value2)) return doubleQuotedString(value2, ctx); + } else { + if (/[ \t]\n|\n[ \t]/.test(value2)) return doubleQuotedString(value2, ctx); + } + var indent = ctx.indent || (containsDocumentMarker(value2) ? " " : ""); + var res = "'" + value2.replace(/'/g, "''").replace(/\n+/g, "$&\n".concat(indent)) + "'"; + return ctx.implicitKey ? res : foldFlowLines(res, indent, FOLD_FLOW, getFoldOptions(ctx)); +} +function blockString(_ref2, ctx, onComment, onChompKeep) { + var comment = _ref2.comment, type = _ref2.type, value2 = _ref2.value; + if (/\n[\t ]+$/.test(value2) || /^\s*$/.test(value2)) { + return doubleQuotedString(value2, ctx); + } + var indent = ctx.indent || (ctx.forceBlockIndent || containsDocumentMarker(value2) ? " " : ""); + var indentSize = indent ? "2" : "1"; + var literal = type === Type.BLOCK_FOLDED ? false : type === Type.BLOCK_LITERAL ? true : !lineLengthOverLimit(value2, strOptions.fold.lineWidth, indent.length); + var header = literal ? "|" : ">"; + if (!value2) return header + "\n"; + var wsStart = ""; + var wsEnd = ""; + value2 = value2.replace(/[\n\t ]*$/, function(ws) { + var n = ws.indexOf("\n"); + if (n === -1) { + header += "-"; + } else if (value2 === ws || n !== ws.length - 1) { + header += "+"; + if (onChompKeep) onChompKeep(); + } + wsEnd = ws.replace(/\n$/, ""); + return ""; + }).replace(/^[\n ]*/, function(ws) { + if (ws.indexOf(" ") !== -1) header += indentSize; + var m = ws.match(/ +$/); + if (m) { + wsStart = ws.slice(0, -m[0].length); + return m[0]; + } else { + wsStart = ws; + return ""; + } + }); + if (wsEnd) wsEnd = wsEnd.replace(/\n+(?!\n|$)/g, "$&".concat(indent)); + if (wsStart) wsStart = wsStart.replace(/\n+/g, "$&".concat(indent)); + if (comment) { + header += " #" + comment.replace(/ ?[\r\n]+/g, " "); + if (onComment) onComment(); + } + if (!value2) return "".concat(header).concat(indentSize, "\n").concat(indent).concat(wsEnd); + if (literal) { + value2 = value2.replace(/\n+/g, "$&".concat(indent)); + return "".concat(header, "\n").concat(indent).concat(wsStart).concat(value2).concat(wsEnd); + } + value2 = value2.replace(/\n+/g, "\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, "$1$2").replace(/\n+/g, "$&".concat(indent)); + var body = foldFlowLines("".concat(wsStart).concat(value2).concat(wsEnd), indent, FOLD_BLOCK, strOptions.fold); + return "".concat(header, "\n").concat(indent).concat(body); +} +function plainString(item, ctx, onComment, onChompKeep) { + var comment = item.comment, type = item.type, value2 = item.value; + var actualString = ctx.actualString, implicitKey = ctx.implicitKey, indent = ctx.indent, inFlow = ctx.inFlow; + if (implicitKey && /[\n[\]{},]/.test(value2) || inFlow && /[[\]{},]/.test(value2)) { + return doubleQuotedString(value2, ctx); + } + if (!value2 || /^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value2)) { + return implicitKey || inFlow || value2.indexOf("\n") === -1 ? value2.indexOf('"') !== -1 && value2.indexOf("'") === -1 ? singleQuotedString(value2, ctx) : doubleQuotedString(value2, ctx) : blockString(item, ctx, onComment, onChompKeep); + } + if (!implicitKey && !inFlow && type !== Type.PLAIN && value2.indexOf("\n") !== -1) { + return blockString(item, ctx, onComment, onChompKeep); + } + if (indent === "" && containsDocumentMarker(value2)) { + ctx.forceBlockIndent = true; + return blockString(item, ctx, onComment, onChompKeep); + } + var str = value2.replace(/\n+/g, "$&\n".concat(indent)); + if (actualString) { + var tags2 = ctx.doc.schema.tags; + var resolved = resolveScalar(str, tags2, tags2.scalarFallback).value; + if (typeof resolved !== "string") return doubleQuotedString(value2, ctx); + } + var body = implicitKey ? str : foldFlowLines(str, indent, FOLD_FLOW, getFoldOptions(ctx)); + if (comment && !inFlow && (body.indexOf("\n") !== -1 || comment.indexOf("\n") !== -1)) { + if (onComment) onComment(); + return addCommentBefore(body, indent, comment); + } + return body; +} +function stringifyString(item, ctx, onComment, onChompKeep) { + var defaultType = strOptions.defaultType; + var implicitKey = ctx.implicitKey, inFlow = ctx.inFlow; + var _item = item, type = _item.type, value2 = _item.value; + if (typeof value2 !== "string") { + value2 = String(value2); + item = Object.assign({}, item, { + value: value2 + }); + } + var _stringify = function _stringify2(_type) { + switch (_type) { + case Type.BLOCK_FOLDED: + case Type.BLOCK_LITERAL: + return blockString(item, ctx, onComment, onChompKeep); + case Type.QUOTE_DOUBLE: + return doubleQuotedString(value2, ctx); + case Type.QUOTE_SINGLE: + return singleQuotedString(value2, ctx); + case Type.PLAIN: + return plainString(item, ctx, onComment, onChompKeep); + default: + return null; + } + }; + if (type !== Type.QUOTE_DOUBLE && /[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(value2)) { + type = Type.QUOTE_DOUBLE; + } else if ((implicitKey || inFlow) && (type === Type.BLOCK_FOLDED || type === Type.BLOCK_LITERAL)) { + type = Type.QUOTE_DOUBLE; + } + var res = _stringify(type); + if (res === null) { + res = _stringify(defaultType); + if (res === null) throw new Error("Unsupported default string type ".concat(defaultType)); + } + return res; +} +function stringifyNumber(_ref) { + var format = _ref.format, minFractionDigits = _ref.minFractionDigits, tag = _ref.tag, value2 = _ref.value; + if (typeof value2 === "bigint") return String(value2); + if (!isFinite(value2)) return isNaN(value2) ? ".nan" : value2 < 0 ? "-.inf" : ".inf"; + var n = JSON.stringify(value2); + if (!format && minFractionDigits && (!tag || tag === "tag:yaml.org,2002:float") && /^\d/.test(n)) { + var i = n.indexOf("."); + if (i < 0) { + i = n.length; + n += "."; + } + var d = minFractionDigits - (n.length - i - 1); + while (d-- > 0) { + n += "0"; + } + } + return n; +} +function checkFlowCollectionEnd(errors, cst) { + var char, name; + switch (cst.type) { + case Type.FLOW_MAP: + char = "}"; + name = "flow map"; + break; + case Type.FLOW_SEQ: + char = "]"; + name = "flow sequence"; + break; + default: + errors.push(new YAMLSemanticError(cst, "Not a flow collection!?")); + return; + } + var lastItem; + for (var i = cst.items.length - 1; i >= 0; --i) { + var item = cst.items[i]; + if (!item || item.type !== Type.COMMENT) { + lastItem = item; + break; + } + } + if (lastItem && lastItem.char !== char) { + var msg = "Expected ".concat(name, " to end with ").concat(char); + var err; + if (typeof lastItem.offset === "number") { + err = new YAMLSemanticError(cst, msg); + err.offset = lastItem.offset + 1; + } else { + err = new YAMLSemanticError(lastItem, msg); + if (lastItem.range && lastItem.range.end) err.offset = lastItem.range.end - lastItem.range.start; + } + errors.push(err); + } +} +function checkFlowCommentSpace(errors, comment) { + var prev = comment.context.src[comment.range.start - 1]; + if (prev !== "\n" && prev !== " " && prev !== " ") { + var msg = "Comments must be separated from other tokens by white space characters"; + errors.push(new YAMLSemanticError(comment, msg)); + } +} +function getLongKeyError(source, key) { + var sk = String(key); + var k = sk.substr(0, 8) + "..." + sk.substr(-8); + return new YAMLSemanticError(source, 'The "'.concat(k, '" key is too long')); +} +function resolveComments(collection, comments) { + var _iterator = _createForOfIteratorHelper(comments), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var _step$value = _step.value, afterKey = _step$value.afterKey, before = _step$value.before, comment = _step$value.comment; + var item = collection.items[before]; + if (!item) { + if (comment !== void 0) { + if (collection.comment) collection.comment += "\n" + comment; + else collection.comment = comment; + } + } else { + if (afterKey && item.value) item = item.value; + if (comment === void 0) { + if (afterKey || !item.commentBefore) item.spaceBefore = true; + } else { + if (item.commentBefore) item.commentBefore += "\n" + comment; + else item.commentBefore = comment; + } + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } +} +function resolveString(doc, node) { + var res = node.strValue; + if (!res) return ""; + if (typeof res === "string") return res; + res.errors.forEach(function(error) { + if (!error.source) error.source = node; + doc.errors.push(error); + }); + return res.str; +} +function resolveTagHandle(doc, node) { + var _node$tag = node.tag, handle = _node$tag.handle, suffix = _node$tag.suffix; + var prefix = doc.tagPrefixes.find(function(p) { + return p.handle === handle; + }); + if (!prefix) { + var dtp = doc.getDefaults().tagPrefixes; + if (dtp) prefix = dtp.find(function(p) { + return p.handle === handle; + }); + if (!prefix) throw new YAMLSemanticError(node, "The ".concat(handle, " tag handle is non-default and was not declared.")); + } + if (!suffix) throw new YAMLSemanticError(node, "The ".concat(handle, " tag has no suffix.")); + if (handle === "!" && (doc.version || doc.options.version) === "1.0") { + if (suffix[0] === "^") { + doc.warnings.push(new YAMLWarning(node, "YAML 1.0 ^ tag expansion is not supported")); + return suffix; + } + if (/[:/]/.test(suffix)) { + var vocab = suffix.match(/^([a-z0-9-]+)\/(.*)/i); + return vocab ? "tag:".concat(vocab[1], ".yaml.org,2002:").concat(vocab[2]) : "tag:".concat(suffix); + } + } + return prefix.prefix + decodeURIComponent(suffix); +} +function resolveTagName(doc, node) { + var tag = node.tag, type = node.type; + var nonSpecific = false; + if (tag) { + var handle = tag.handle, suffix = tag.suffix, verbatim = tag.verbatim; + if (verbatim) { + if (verbatim !== "!" && verbatim !== "!!") return verbatim; + var msg = "Verbatim tags aren't resolved, so ".concat(verbatim, " is invalid."); + doc.errors.push(new YAMLSemanticError(node, msg)); + } else if (handle === "!" && !suffix) { + nonSpecific = true; + } else { + try { + return resolveTagHandle(doc, node); + } catch (error) { + doc.errors.push(error); + } + } + } + switch (type) { + case Type.BLOCK_FOLDED: + case Type.BLOCK_LITERAL: + case Type.QUOTE_DOUBLE: + case Type.QUOTE_SINGLE: + return defaultTags.STR; + case Type.FLOW_MAP: + case Type.MAP: + return defaultTags.MAP; + case Type.FLOW_SEQ: + case Type.SEQ: + return defaultTags.SEQ; + case Type.PLAIN: + return nonSpecific ? defaultTags.STR : null; + default: + return null; + } +} +function resolveByTagName(doc, node, tagName) { + var tags2 = doc.schema.tags; + var matchWithTest = []; + var _iterator = _createForOfIteratorHelper(tags2), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var tag = _step.value; + if (tag.tag === tagName) { + if (tag.test) matchWithTest.push(tag); + else { + var res = tag.resolve(doc, node); + return res instanceof Collection2 ? res : new Scalar(res); + } + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + var str = resolveString(doc, node); + if (typeof str === "string" && matchWithTest.length > 0) return resolveScalar(str, matchWithTest, tags2.scalarFallback); + return null; +} +function getFallbackTagName(_ref) { + var type = _ref.type; + switch (type) { + case Type.FLOW_MAP: + case Type.MAP: + return defaultTags.MAP; + case Type.FLOW_SEQ: + case Type.SEQ: + return defaultTags.SEQ; + default: + return defaultTags.STR; + } +} +function resolveTag(doc, node, tagName) { + try { + var res = resolveByTagName(doc, node, tagName); + if (res) { + if (tagName && node.tag) res.tag = tagName; + return res; + } + } catch (error) { + if (!error.source) error.source = node; + doc.errors.push(error); + return null; + } + try { + var fallback = getFallbackTagName(node); + if (!fallback) throw new Error("The tag ".concat(tagName, " is unavailable")); + var msg = "The tag ".concat(tagName, " is unavailable, falling back to ").concat(fallback); + doc.warnings.push(new YAMLWarning(node, msg)); + var _res = resolveByTagName(doc, node, fallback); + _res.tag = tagName; + return _res; + } catch (error) { + var refError = new YAMLReferenceError(node, error.message); + refError.stack = error.stack; + doc.errors.push(refError); + return null; + } +} +function resolveNodeProps(errors, node) { + var comments = { + before: [], + after: [] + }; + var hasAnchor = false; + var hasTag = false; + var props = isCollectionItem(node.context.parent) ? node.context.parent.props.concat(node.props) : node.props; + var _iterator = _createForOfIteratorHelper(props), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var _step$value = _step.value, start = _step$value.start, end = _step$value.end; + switch (node.context.src[start]) { + case Char.COMMENT: { + if (!node.commentHasRequiredWhitespace(start)) { + var msg = "Comments must be separated from other tokens by white space characters"; + errors.push(new YAMLSemanticError(node, msg)); + } + var header = node.header, valueRange = node.valueRange; + var cc = valueRange && (start > valueRange.start || header && start > header.start) ? comments.after : comments.before; + cc.push(node.context.src.slice(start + 1, end)); + break; + } + // Actual anchor & tag resolution is handled by schema, here we just complain + case Char.ANCHOR: + if (hasAnchor) { + var _msg = "A node can have at most one anchor"; + errors.push(new YAMLSemanticError(node, _msg)); + } + hasAnchor = true; + break; + case Char.TAG: + if (hasTag) { + var _msg2 = "A node can have at most one tag"; + errors.push(new YAMLSemanticError(node, _msg2)); + } + hasTag = true; + break; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return { + comments, + hasAnchor, + hasTag + }; +} +function resolveNodeValue(doc, node) { + var anchors = doc.anchors, errors = doc.errors, schema = doc.schema; + if (node.type === Type.ALIAS) { + var name = node.rawValue; + var src = anchors.getNode(name); + if (!src) { + var msg = "Aliased anchor not found: ".concat(name); + errors.push(new YAMLReferenceError(node, msg)); + return null; + } + var res = new Alias2(src); + anchors._cstAliases.push(res); + return res; + } + var tagName = resolveTagName(doc, node); + if (tagName) return resolveTag(doc, node, tagName); + if (node.type !== Type.PLAIN) { + var _msg3 = "Failed to resolve ".concat(node.type, " node here"); + errors.push(new YAMLSyntaxError(node, _msg3)); + return null; + } + try { + var str = resolveString(doc, node); + return resolveScalar(str, schema.tags, schema.tags.scalarFallback); + } catch (error) { + if (!error.source) error.source = node; + errors.push(error); + return null; + } +} +function resolveNode(doc, node) { + if (!node) return null; + if (node.error) doc.errors.push(node.error); + var _resolveNodeProps = resolveNodeProps(doc.errors, node), comments = _resolveNodeProps.comments, hasAnchor = _resolveNodeProps.hasAnchor, hasTag = _resolveNodeProps.hasTag; + if (hasAnchor) { + var anchors = doc.anchors; + var name = node.anchor; + var prev = anchors.getNode(name); + if (prev) anchors.map[anchors.newName(name)] = prev; + anchors.map[name] = node; + } + if (node.type === Type.ALIAS && (hasAnchor || hasTag)) { + var msg = "An alias node must not specify any properties"; + doc.errors.push(new YAMLSemanticError(node, msg)); + } + var res = resolveNodeValue(doc, node); + if (res) { + res.range = [node.range.start, node.range.end]; + if (doc.options.keepCstNodes) res.cstNode = node; + if (doc.options.keepNodeTypes) res.type = node.type; + var cb = comments.before.join("\n"); + if (cb) { + res.commentBefore = res.commentBefore ? "".concat(res.commentBefore, "\n").concat(cb) : cb; + } + var ca = comments.after.join("\n"); + if (ca) res.comment = res.comment ? "".concat(res.comment, "\n").concat(ca) : ca; + } + return node.resolved = res; +} +function resolveMap(doc, cst) { + if (cst.type !== Type.MAP && cst.type !== Type.FLOW_MAP) { + var msg = "A ".concat(cst.type, " node cannot be resolved as a mapping"); + doc.errors.push(new YAMLSyntaxError(cst, msg)); + return null; + } + var _ref = cst.type === Type.FLOW_MAP ? resolveFlowMapItems(doc, cst) : resolveBlockMapItems(doc, cst), comments = _ref.comments, items = _ref.items; + var map2 = new YAMLMap(); + map2.items = items; + resolveComments(map2, comments); + var hasCollectionKey = false; + for (var i = 0; i < items.length; ++i) { + var iKey = items[i].key; + if (iKey instanceof Collection2) hasCollectionKey = true; + if (doc.schema.merge && iKey && iKey.value === MERGE_KEY) { + items[i] = new Merge(items[i]); + var sources = items[i].value.items; + var error = null; + sources.some(function(node) { + if (node instanceof Alias2) { + var type = node.source.type; + if (type === Type.MAP || type === Type.FLOW_MAP) return false; + return error = "Merge nodes aliases can only point to maps"; + } + return error = "Merge nodes can only have Alias nodes as values"; + }); + if (error) doc.errors.push(new YAMLSemanticError(cst, error)); + } else { + for (var j = i + 1; j < items.length; ++j) { + var jKey = items[j].key; + if (iKey === jKey || iKey && jKey && Object.prototype.hasOwnProperty.call(iKey, "value") && iKey.value === jKey.value) { + var _msg = 'Map keys must be unique; "'.concat(iKey, '" is repeated'); + doc.errors.push(new YAMLSemanticError(cst, _msg)); + break; + } + } + } + } + if (hasCollectionKey && !doc.options.mapAsMap) { + var warn2 = "Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this."; + doc.warnings.push(new YAMLWarning(cst, warn2)); + } + cst.resolved = map2; + return map2; +} +function resolvePairComment(item, pair) { + if (!valueHasPairComment(item)) return; + var comment = item.getPropValue(0, Char.COMMENT, true); + var found = false; + var cb = pair.value.commentBefore; + if (cb && cb.startsWith(comment)) { + pair.value.commentBefore = cb.substr(comment.length + 1); + found = true; + } else { + var cc = pair.value.comment; + if (!item.node && cc && cc.startsWith(comment)) { + pair.value.comment = cc.substr(comment.length + 1); + found = true; + } + } + if (found) pair.comment = comment; +} +function resolveBlockMapItems(doc, cst) { + var comments = []; + var items = []; + var key = void 0; + var keyStart = null; + for (var i = 0; i < cst.items.length; ++i) { + var item = cst.items[i]; + switch (item.type) { + case Type.BLANK_LINE: + comments.push({ + afterKey: !!key, + before: items.length + }); + break; + case Type.COMMENT: + comments.push({ + afterKey: !!key, + before: items.length, + comment: item.comment + }); + break; + case Type.MAP_KEY: + if (key !== void 0) items.push(new Pair(key)); + if (item.error) doc.errors.push(item.error); + key = resolveNode(doc, item.node); + keyStart = null; + break; + case Type.MAP_VALUE: + { + if (key === void 0) key = null; + if (item.error) doc.errors.push(item.error); + if (!item.context.atLineStart && item.node && item.node.type === Type.MAP && !item.node.context.atLineStart) { + var msg = "Nested mappings are not allowed in compact mappings"; + doc.errors.push(new YAMLSemanticError(item.node, msg)); + } + var valueNode = item.node; + if (!valueNode && item.props.length > 0) { + valueNode = new PlainValue(Type.PLAIN, []); + valueNode.context = { + parent: item, + src: item.context.src + }; + var pos = item.range.start + 1; + valueNode.range = { + start: pos, + end: pos + }; + valueNode.valueRange = { + start: pos, + end: pos + }; + if (typeof item.range.origStart === "number") { + var origPos = item.range.origStart + 1; + valueNode.range.origStart = valueNode.range.origEnd = origPos; + valueNode.valueRange.origStart = valueNode.valueRange.origEnd = origPos; + } + } + var pair = new Pair(key, resolveNode(doc, valueNode)); + resolvePairComment(item, pair); + items.push(pair); + if (key && typeof keyStart === "number") { + if (item.range.start > keyStart + 1024) doc.errors.push(getLongKeyError(cst, key)); + } + key = void 0; + keyStart = null; + } + break; + default: + if (key !== void 0) items.push(new Pair(key)); + key = resolveNode(doc, item); + keyStart = item.range.start; + if (item.error) doc.errors.push(item.error); + next: for (var j = i + 1; ; ++j) { + var nextItem = cst.items[j]; + switch (nextItem && nextItem.type) { + case Type.BLANK_LINE: + case Type.COMMENT: + continue next; + case Type.MAP_VALUE: + break next; + default: { + var _msg2 = "Implicit map keys need to be followed by map values"; + doc.errors.push(new YAMLSemanticError(item, _msg2)); + break next; + } + } + } + if (item.valueRangeContainsNewline) { + var _msg3 = "Implicit map keys need to be on a single line"; + doc.errors.push(new YAMLSemanticError(item, _msg3)); + } + } + } + if (key !== void 0) items.push(new Pair(key)); + return { + comments, + items + }; +} +function resolveFlowMapItems(doc, cst) { + var comments = []; + var items = []; + var key = void 0; + var explicitKey = false; + var next = "{"; + for (var i = 0; i < cst.items.length; ++i) { + var item = cst.items[i]; + if (typeof item.char === "string") { + var char = item.char, offset = item.offset; + if (char === "?" && key === void 0 && !explicitKey) { + explicitKey = true; + next = ":"; + continue; + } + if (char === ":") { + if (key === void 0) key = null; + if (next === ":") { + next = ","; + continue; + } + } else { + if (explicitKey) { + if (key === void 0 && char !== ",") key = null; + explicitKey = false; + } + if (key !== void 0) { + items.push(new Pair(key)); + key = void 0; + if (char === ",") { + next = ":"; + continue; + } + } + } + if (char === "}") { + if (i === cst.items.length - 1) continue; + } else if (char === next) { + next = ":"; + continue; + } + var msg = "Flow map contains an unexpected ".concat(char); + var err = new YAMLSyntaxError(cst, msg); + err.offset = offset; + doc.errors.push(err); + } else if (item.type === Type.BLANK_LINE) { + comments.push({ + afterKey: !!key, + before: items.length + }); + } else if (item.type === Type.COMMENT) { + checkFlowCommentSpace(doc.errors, item); + comments.push({ + afterKey: !!key, + before: items.length, + comment: item.comment + }); + } else if (key === void 0) { + if (next === ",") doc.errors.push(new YAMLSemanticError(item, "Separator , missing in flow map")); + key = resolveNode(doc, item); + } else { + if (next !== ",") doc.errors.push(new YAMLSemanticError(item, "Indicator : missing in flow map entry")); + items.push(new Pair(key, resolveNode(doc, item))); + key = void 0; + explicitKey = false; + } + } + checkFlowCollectionEnd(doc.errors, cst); + if (key !== void 0) items.push(new Pair(key)); + return { + comments, + items + }; +} +function resolveSeq(doc, cst) { + if (cst.type !== Type.SEQ && cst.type !== Type.FLOW_SEQ) { + var msg = "A ".concat(cst.type, " node cannot be resolved as a sequence"); + doc.errors.push(new YAMLSyntaxError(cst, msg)); + return null; + } + var _ref = cst.type === Type.FLOW_SEQ ? resolveFlowSeqItems(doc, cst) : resolveBlockSeqItems(doc, cst), comments = _ref.comments, items = _ref.items; + var seq2 = new YAMLSeq(); + seq2.items = items; + resolveComments(seq2, comments); + if (!doc.options.mapAsMap && items.some(function(it) { + return it instanceof Pair && it.key instanceof Collection2; + })) { + var warn2 = "Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this."; + doc.warnings.push(new YAMLWarning(cst, warn2)); + } + cst.resolved = seq2; + return seq2; +} +function resolveBlockSeqItems(doc, cst) { + var comments = []; + var items = []; + for (var i = 0; i < cst.items.length; ++i) { + var item = cst.items[i]; + switch (item.type) { + case Type.BLANK_LINE: + comments.push({ + before: items.length + }); + break; + case Type.COMMENT: + comments.push({ + comment: item.comment, + before: items.length + }); + break; + case Type.SEQ_ITEM: + if (item.error) doc.errors.push(item.error); + items.push(resolveNode(doc, item.node)); + if (item.hasProps) { + var msg = "Sequence items cannot have tags or anchors before the - indicator"; + doc.errors.push(new YAMLSemanticError(item, msg)); + } + break; + default: + if (item.error) doc.errors.push(item.error); + doc.errors.push(new YAMLSyntaxError(item, "Unexpected ".concat(item.type, " node in sequence"))); + } + } + return { + comments, + items + }; +} +function resolveFlowSeqItems(doc, cst) { + var comments = []; + var items = []; + var explicitKey = false; + var key = void 0; + var keyStart = null; + var next = "["; + var prevItem = null; + for (var i = 0; i < cst.items.length; ++i) { + var item = cst.items[i]; + if (typeof item.char === "string") { + var char = item.char, offset = item.offset; + if (char !== ":" && (explicitKey || key !== void 0)) { + if (explicitKey && key === void 0) key = next ? items.pop() : null; + items.push(new Pair(key)); + explicitKey = false; + key = void 0; + keyStart = null; + } + if (char === next) { + next = null; + } else if (!next && char === "?") { + explicitKey = true; + } else if (next !== "[" && char === ":" && key === void 0) { + if (next === ",") { + key = items.pop(); + if (key instanceof Pair) { + var msg = "Chaining flow sequence pairs is invalid"; + var err = new YAMLSemanticError(cst, msg); + err.offset = offset; + doc.errors.push(err); + } + if (!explicitKey && typeof keyStart === "number") { + var keyEnd = item.range ? item.range.start : item.offset; + if (keyEnd > keyStart + 1024) doc.errors.push(getLongKeyError(cst, key)); + var src = prevItem.context.src; + for (var _i = keyStart; _i < keyEnd; ++_i) { + if (src[_i] === "\n") { + var _msg = "Implicit keys of flow sequence pairs need to be on a single line"; + doc.errors.push(new YAMLSemanticError(prevItem, _msg)); + break; + } + } + } + } else { + key = null; + } + keyStart = null; + explicitKey = false; + next = null; + } else if (next === "[" || char !== "]" || i < cst.items.length - 1) { + var _msg2 = "Flow sequence contains an unexpected ".concat(char); + var _err = new YAMLSyntaxError(cst, _msg2); + _err.offset = offset; + doc.errors.push(_err); + } + } else if (item.type === Type.BLANK_LINE) { + comments.push({ + before: items.length + }); + } else if (item.type === Type.COMMENT) { + checkFlowCommentSpace(doc.errors, item); + comments.push({ + comment: item.comment, + before: items.length + }); + } else { + if (next) { + var _msg3 = "Expected a ".concat(next, " in flow sequence"); + doc.errors.push(new YAMLSemanticError(item, _msg3)); + } + var value2 = resolveNode(doc, item); + if (key === void 0) { + items.push(value2); + prevItem = item; + } else { + items.push(new Pair(key, value2)); + key = void 0; + } + keyStart = item.range.start; + next = ","; + } + } + checkFlowCollectionEnd(doc.errors, cst); + if (key !== void 0) items.push(new Pair(key)); + return { + comments, + items + }; +} +var Node2, Scalar, isEmptyPath, Collection2, YAMLSeq, stringifyKey, Pair, getAliasCount, Alias2, YAMLMap, MERGE_KEY, Merge, binaryOptions, boolOptions, intOptions, nullOptions, strOptions, FOLD_FLOW, FOLD_BLOCK, FOLD_QUOTED, consumeMoreIndentedLines, getFoldOptions, containsDocumentMarker, isCollectionItem, valueHasPairComment; +var init_resolveSeq_492ab440 = __esm({ + "../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/resolveSeq-492ab440.js"() { + init_PlainValue_b8036b75(); + Node2 = function Node3() { + _classCallCheck(this, Node3); + }; + Scalar = function(_Node) { + _inherits(Scalar2, _Node); + var _super = _createSuper(Scalar2); + function Scalar2(value2) { + var _this; + _classCallCheck(this, Scalar2); + _this = _super.call(this); + _this.value = value2; + return _this; + } + _createClass(Scalar2, [{ + key: "toJSON", + value: function toJSON$1(arg, ctx) { + return ctx && ctx.keep ? this.value : toJSON(this.value, arg, ctx); + } + }, { + key: "toString", + value: function toString() { + return String(this.value); + } + }]); + return Scalar2; + }(Node2); + isEmptyPath = function isEmptyPath2(path) { + return path == null || _typeof(path) === "object" && path[Symbol.iterator]().next().done; + }; + Collection2 = function(_Node) { + _inherits(Collection3, _Node); + var _super = _createSuper(Collection3); + function Collection3(schema) { + var _this; + _classCallCheck(this, Collection3); + _this = _super.call(this); + _defineProperty(_assertThisInitialized(_this), "items", []); + _this.schema = schema; + return _this; + } + _createClass(Collection3, [{ + key: "addIn", + value: function addIn(path, value2) { + if (isEmptyPath(path)) this.add(value2); + else { + var _path = _toArray(path), key = _path[0], rest = _path.slice(1); + var node = this.get(key, true); + if (node instanceof Collection3) node.addIn(rest, value2); + else if (node === void 0 && this.schema) this.set(key, collectionFromPath(this.schema, rest, value2)); + else throw new Error("Expected YAML collection at ".concat(key, ". Remaining path: ").concat(rest)); + } + } + }, { + key: "deleteIn", + value: function deleteIn(_ref) { + var _ref2 = _toArray(_ref), key = _ref2[0], rest = _ref2.slice(1); + if (rest.length === 0) return this.delete(key); + var node = this.get(key, true); + if (node instanceof Collection3) return node.deleteIn(rest); + else throw new Error("Expected YAML collection at ".concat(key, ". Remaining path: ").concat(rest)); + } + }, { + key: "getIn", + value: function getIn(_ref3, keepScalar) { + var _ref4 = _toArray(_ref3), key = _ref4[0], rest = _ref4.slice(1); + var node = this.get(key, true); + if (rest.length === 0) return !keepScalar && node instanceof Scalar ? node.value : node; + else return node instanceof Collection3 ? node.getIn(rest, keepScalar) : void 0; + } + }, { + key: "hasAllNullValues", + value: function hasAllNullValues() { + return this.items.every(function(node) { + if (!node || node.type !== "PAIR") return false; + var n = node.value; + return n == null || n instanceof Scalar && n.value == null && !n.commentBefore && !n.comment && !n.tag; + }); + } + }, { + key: "hasIn", + value: function hasIn(_ref5) { + var _ref6 = _toArray(_ref5), key = _ref6[0], rest = _ref6.slice(1); + if (rest.length === 0) return this.has(key); + var node = this.get(key, true); + return node instanceof Collection3 ? node.hasIn(rest) : false; + } + }, { + key: "setIn", + value: function setIn(_ref7, value2) { + var _ref8 = _toArray(_ref7), key = _ref8[0], rest = _ref8.slice(1); + if (rest.length === 0) { + this.set(key, value2); + } else { + var node = this.get(key, true); + if (node instanceof Collection3) node.setIn(rest, value2); + else if (node === void 0 && this.schema) this.set(key, collectionFromPath(this.schema, rest, value2)); + else throw new Error("Expected YAML collection at ".concat(key, ". Remaining path: ").concat(rest)); + } + } + // overridden in implementations + /* istanbul ignore next */ + }, { + key: "toJSON", + value: function toJSON2() { + return null; + } + }, { + key: "toString", + value: function toString(ctx, _ref9, onComment, onChompKeep) { + var _this2 = this; + var blockItem = _ref9.blockItem, flowChars = _ref9.flowChars, isMap = _ref9.isMap, itemIndent = _ref9.itemIndent; + var _ctx = ctx, indent = _ctx.indent, indentStep = _ctx.indentStep, stringify16 = _ctx.stringify; + var inFlow = this.type === Type.FLOW_MAP || this.type === Type.FLOW_SEQ || ctx.inFlow; + if (inFlow) itemIndent += indentStep; + var allNullValues = isMap && this.hasAllNullValues(); + ctx = Object.assign({}, ctx, { + allNullValues, + indent: itemIndent, + inFlow, + type: null + }); + var chompKeep = false; + var hasItemWithNewLine = false; + var nodes = this.items.reduce(function(nodes2, item, i) { + var comment; + if (item) { + if (!chompKeep && item.spaceBefore) nodes2.push({ + type: "comment", + str: "" + }); + if (item.commentBefore) item.commentBefore.match(/^.*$/gm).forEach(function(line) { + nodes2.push({ + type: "comment", + str: "#".concat(line) + }); + }); + if (item.comment) comment = item.comment; + if (inFlow && (!chompKeep && item.spaceBefore || item.commentBefore || item.comment || item.key && (item.key.commentBefore || item.key.comment) || item.value && (item.value.commentBefore || item.value.comment))) hasItemWithNewLine = true; + } + chompKeep = false; + var str2 = stringify16(item, ctx, function() { + return comment = null; + }, function() { + return chompKeep = true; + }); + if (inFlow && !hasItemWithNewLine && str2.includes("\n")) hasItemWithNewLine = true; + if (inFlow && i < _this2.items.length - 1) str2 += ","; + str2 = addComment(str2, itemIndent, comment); + if (chompKeep && (comment || inFlow)) chompKeep = false; + nodes2.push({ + type: "item", + str: str2 + }); + return nodes2; + }, []); + var str; + if (nodes.length === 0) { + str = flowChars.start + flowChars.end; + } else if (inFlow) { + var start = flowChars.start, end = flowChars.end; + var strings = nodes.map(function(n) { + return n.str; + }); + if (hasItemWithNewLine || strings.reduce(function(sum, str2) { + return sum + str2.length + 2; + }, 2) > Collection3.maxFlowStringSingleLineLength) { + str = start; + var _iterator = _createForOfIteratorHelper(strings), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var s = _step.value; + str += s ? "\n".concat(indentStep).concat(indent).concat(s) : "\n"; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + str += "\n".concat(indent).concat(end); + } else { + str = "".concat(start, " ").concat(strings.join(" "), " ").concat(end); + } + } else { + var _strings = nodes.map(blockItem); + str = _strings.shift(); + var _iterator2 = _createForOfIteratorHelper(_strings), _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { + var _s = _step2.value; + str += _s ? "\n".concat(indent).concat(_s) : "\n"; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + if (this.comment) { + str += "\n" + this.comment.replace(/^/gm, "".concat(indent, "#")); + if (onComment) onComment(); + } else if (chompKeep && onChompKeep) onChompKeep(); + return str; + } + }]); + return Collection3; + }(Node2); + _defineProperty(Collection2, "maxFlowStringSingleLineLength", 60); + YAMLSeq = function(_Collection) { + _inherits(YAMLSeq2, _Collection); + var _super = _createSuper(YAMLSeq2); + function YAMLSeq2() { + _classCallCheck(this, YAMLSeq2); + return _super.apply(this, arguments); + } + _createClass(YAMLSeq2, [{ + key: "add", + value: function add(value2) { + this.items.push(value2); + } + }, { + key: "delete", + value: function _delete(key) { + var idx = asItemIndex(key); + if (typeof idx !== "number") return false; + var del = this.items.splice(idx, 1); + return del.length > 0; + } + }, { + key: "get", + value: function get(key, keepScalar) { + var idx = asItemIndex(key); + if (typeof idx !== "number") return void 0; + var it = this.items[idx]; + return !keepScalar && it instanceof Scalar ? it.value : it; + } + }, { + key: "has", + value: function has(key) { + var idx = asItemIndex(key); + return typeof idx === "number" && idx < this.items.length; + } + }, { + key: "set", + value: function set2(key, value2) { + var idx = asItemIndex(key); + if (typeof idx !== "number") throw new Error("Expected a valid index, not ".concat(key, ".")); + this.items[idx] = value2; + } + }, { + key: "toJSON", + value: function toJSON$1(_, ctx) { + var seq2 = []; + if (ctx && ctx.onCreate) ctx.onCreate(seq2); + var i = 0; + var _iterator = _createForOfIteratorHelper(this.items), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var item = _step.value; + seq2.push(toJSON(item, String(i++), ctx)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return seq2; + } + }, { + key: "toString", + value: function toString(ctx, onComment, onChompKeep) { + if (!ctx) return JSON.stringify(this); + return _get(_getPrototypeOf(YAMLSeq2.prototype), "toString", this).call(this, ctx, { + blockItem: function blockItem(n) { + return n.type === "comment" ? n.str : "- ".concat(n.str); + }, + flowChars: { + start: "[", + end: "]" + }, + isMap: false, + itemIndent: (ctx.indent || "") + " " + }, onComment, onChompKeep); + } + }]); + return YAMLSeq2; + }(Collection2); + stringifyKey = function stringifyKey2(key, jsKey, ctx) { + if (jsKey === null) return ""; + if (_typeof(jsKey) !== "object") return String(jsKey); + if (key instanceof Node2 && ctx && ctx.doc) return key.toString({ + anchors: /* @__PURE__ */ Object.create(null), + doc: ctx.doc, + indent: "", + indentStep: ctx.indentStep, + inFlow: true, + inStringifyKey: true, + stringify: ctx.stringify + }); + return JSON.stringify(jsKey); + }; + Pair = function(_Node) { + _inherits(Pair2, _Node); + var _super = _createSuper(Pair2); + function Pair2(key) { + var _this; + var value2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; + _classCallCheck(this, Pair2); + _this = _super.call(this); + _this.key = key; + _this.value = value2; + _this.type = Pair2.Type.PAIR; + return _this; + } + _createClass(Pair2, [{ + key: "commentBefore", + get: function get() { + return this.key instanceof Node2 ? this.key.commentBefore : void 0; + }, + set: function set2(cb) { + if (this.key == null) this.key = new Scalar(null); + if (this.key instanceof Node2) this.key.commentBefore = cb; + else { + var msg = "Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node."; + throw new Error(msg); + } + } + }, { + key: "addToJSMap", + value: function addToJSMap(ctx, map2) { + var key = toJSON(this.key, "", ctx); + if (map2 instanceof Map) { + var value2 = toJSON(this.value, key, ctx); + map2.set(key, value2); + } else if (map2 instanceof Set) { + map2.add(key); + } else { + var stringKey = stringifyKey(this.key, key, ctx); + var _value = toJSON(this.value, stringKey, ctx); + if (stringKey in map2) Object.defineProperty(map2, stringKey, { + value: _value, + writable: true, + enumerable: true, + configurable: true + }); + else map2[stringKey] = _value; + } + return map2; + } + }, { + key: "toJSON", + value: function toJSON2(_, ctx) { + var pair = ctx && ctx.mapAsMap ? /* @__PURE__ */ new Map() : {}; + return this.addToJSMap(ctx, pair); + } + }, { + key: "toString", + value: function toString(ctx, onComment, onChompKeep) { + if (!ctx || !ctx.doc) return JSON.stringify(this); + var _ctx$doc$options = ctx.doc.options, indentSize = _ctx$doc$options.indent, indentSeq = _ctx$doc$options.indentSeq, simpleKeys = _ctx$doc$options.simpleKeys; + var key = this.key, value2 = this.value; + var keyComment = key instanceof Node2 && key.comment; + if (simpleKeys) { + if (keyComment) { + throw new Error("With simple keys, key nodes cannot have comments"); + } + if (key instanceof Collection2) { + var msg = "With simple keys, collection cannot be used as a key value"; + throw new Error(msg); + } + } + var explicitKey = !simpleKeys && (!key || keyComment || (key instanceof Node2 ? key instanceof Collection2 || key.type === Type.BLOCK_FOLDED || key.type === Type.BLOCK_LITERAL : _typeof(key) === "object")); + var _ctx = ctx, doc = _ctx.doc, indent = _ctx.indent, indentStep = _ctx.indentStep, stringify16 = _ctx.stringify; + ctx = Object.assign({}, ctx, { + implicitKey: !explicitKey, + indent: indent + indentStep + }); + var chompKeep = false; + var str = stringify16(key, ctx, function() { + return keyComment = null; + }, function() { + return chompKeep = true; + }); + str = addComment(str, ctx.indent, keyComment); + if (!explicitKey && str.length > 1024) { + if (simpleKeys) throw new Error("With simple keys, single line scalar must not span more than 1024 characters"); + explicitKey = true; + } + if (ctx.allNullValues && !simpleKeys) { + if (this.comment) { + str = addComment(str, ctx.indent, this.comment); + if (onComment) onComment(); + } else if (chompKeep && !keyComment && onChompKeep) onChompKeep(); + return ctx.inFlow && !explicitKey ? str : "? ".concat(str); + } + str = explicitKey ? "? ".concat(str, "\n").concat(indent, ":") : "".concat(str, ":"); + if (this.comment) { + str = addComment(str, ctx.indent, this.comment); + if (onComment) onComment(); + } + var vcb = ""; + var valueComment = null; + if (value2 instanceof Node2) { + if (value2.spaceBefore) vcb = "\n"; + if (value2.commentBefore) { + var cs = value2.commentBefore.replace(/^/gm, "".concat(ctx.indent, "#")); + vcb += "\n".concat(cs); + } + valueComment = value2.comment; + } else if (value2 && _typeof(value2) === "object") { + value2 = doc.schema.createNode(value2, true); + } + ctx.implicitKey = false; + if (!explicitKey && !this.comment && value2 instanceof Scalar) ctx.indentAtStart = str.length + 1; + chompKeep = false; + if (!indentSeq && indentSize >= 2 && !ctx.inFlow && !explicitKey && value2 instanceof YAMLSeq && value2.type !== Type.FLOW_SEQ && !value2.tag && !doc.anchors.getName(value2)) { + ctx.indent = ctx.indent.substr(2); + } + var valueStr = stringify16(value2, ctx, function() { + return valueComment = null; + }, function() { + return chompKeep = true; + }); + var ws = " "; + if (vcb || this.comment) { + ws = "".concat(vcb, "\n").concat(ctx.indent); + } else if (!explicitKey && value2 instanceof Collection2) { + var flow = valueStr[0] === "[" || valueStr[0] === "{"; + if (!flow || valueStr.includes("\n")) ws = "\n".concat(ctx.indent); + } else if (valueStr[0] === "\n") ws = ""; + if (chompKeep && !valueComment && onChompKeep) onChompKeep(); + return addComment(str + ws + valueStr, ctx.indent, valueComment); + } + }]); + return Pair2; + }(Node2); + _defineProperty(Pair, "Type", { + PAIR: "PAIR", + MERGE_PAIR: "MERGE_PAIR" + }); + getAliasCount = function getAliasCount2(node, anchors) { + if (node instanceof Alias2) { + var anchor = anchors.get(node.source); + return anchor.count * anchor.aliasCount; + } else if (node instanceof Collection2) { + var count = 0; + var _iterator = _createForOfIteratorHelper(node.items), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var item = _step.value; + var c = getAliasCount2(item, anchors); + if (c > count) count = c; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return count; + } else if (node instanceof Pair) { + var kc = getAliasCount2(node.key, anchors); + var vc = getAliasCount2(node.value, anchors); + return Math.max(kc, vc); + } + return 1; + }; + Alias2 = function(_Node) { + _inherits(Alias3, _Node); + var _super = _createSuper(Alias3); + function Alias3(source) { + var _this; + _classCallCheck(this, Alias3); + _this = _super.call(this); + _this.source = source; + _this.type = Type.ALIAS; + return _this; + } + _createClass(Alias3, [{ + key: "tag", + set: function set2(t) { + throw new Error("Alias nodes cannot have tags"); + } + }, { + key: "toJSON", + value: function toJSON$1(arg, ctx) { + if (!ctx) return toJSON(this.source, arg, ctx); + var anchors = ctx.anchors, maxAliasCount = ctx.maxAliasCount; + var anchor = anchors.get(this.source); + if (!anchor || anchor.res === void 0) { + var msg = "This should not happen: Alias anchor was not resolved?"; + if (this.cstNode) throw new YAMLReferenceError(this.cstNode, msg); + else throw new ReferenceError(msg); + } + if (maxAliasCount >= 0) { + anchor.count += 1; + if (anchor.aliasCount === 0) anchor.aliasCount = getAliasCount(this.source, anchors); + if (anchor.count * anchor.aliasCount > maxAliasCount) { + var _msg = "Excessive alias count indicates a resource exhaustion attack"; + if (this.cstNode) throw new YAMLReferenceError(this.cstNode, _msg); + else throw new ReferenceError(_msg); + } + } + return anchor.res; + } + // Only called when stringifying an alias mapping key while constructing + // Object output. + }, { + key: "toString", + value: function toString(ctx) { + return Alias3.stringify(this, ctx); + } + }], [{ + key: "stringify", + value: function stringify16(_ref, _ref2) { + var range = _ref.range, source = _ref.source; + var anchors = _ref2.anchors, doc = _ref2.doc, implicitKey = _ref2.implicitKey, inStringifyKey = _ref2.inStringifyKey; + var anchor = Object.keys(anchors).find(function(a) { + return anchors[a] === source; + }); + if (!anchor && inStringifyKey) anchor = doc.anchors.getName(source) || doc.anchors.newName(); + if (anchor) return "*".concat(anchor).concat(implicitKey ? " " : ""); + var msg = doc.anchors.getName(source) ? "Alias node must be after source node" : "Source node not found for alias node"; + throw new Error("".concat(msg, " [").concat(range, "]")); + } + }]); + return Alias3; + }(Node2); + _defineProperty(Alias2, "default", true); + YAMLMap = function(_Collection) { + _inherits(YAMLMap2, _Collection); + var _super = _createSuper(YAMLMap2); + function YAMLMap2() { + _classCallCheck(this, YAMLMap2); + return _super.apply(this, arguments); + } + _createClass(YAMLMap2, [{ + key: "add", + value: function add(pair, overwrite) { + if (!pair) pair = new Pair(pair); + else if (!(pair instanceof Pair)) pair = new Pair(pair.key || pair, pair.value); + var prev = findPair(this.items, pair.key); + var sortEntries = this.schema && this.schema.sortMapEntries; + if (prev) { + if (overwrite) prev.value = pair.value; + else throw new Error("Key ".concat(pair.key, " already set")); + } else if (sortEntries) { + var i = this.items.findIndex(function(item) { + return sortEntries(pair, item) < 0; + }); + if (i === -1) this.items.push(pair); + else this.items.splice(i, 0, pair); + } else { + this.items.push(pair); + } + } + }, { + key: "delete", + value: function _delete(key) { + var it = findPair(this.items, key); + if (!it) return false; + var del = this.items.splice(this.items.indexOf(it), 1); + return del.length > 0; + } + }, { + key: "get", + value: function get(key, keepScalar) { + var it = findPair(this.items, key); + var node = it && it.value; + return !keepScalar && node instanceof Scalar ? node.value : node; + } + }, { + key: "has", + value: function has(key) { + return !!findPair(this.items, key); + } + }, { + key: "set", + value: function set2(key, value2) { + this.add(new Pair(key, value2), true); + } + /** + * @param {*} arg ignored + * @param {*} ctx Conversion context, originally set in Document#toJSON() + * @param {Class} Type If set, forces the returned collection type + * @returns {*} Instance of Type, Map, or Object + */ + }, { + key: "toJSON", + value: function toJSON2(_, ctx, Type2) { + var map2 = Type2 ? new Type2() : ctx && ctx.mapAsMap ? /* @__PURE__ */ new Map() : {}; + if (ctx && ctx.onCreate) ctx.onCreate(map2); + var _iterator2 = _createForOfIteratorHelper(this.items), _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { + var item = _step2.value; + item.addToJSMap(ctx, map2); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + return map2; + } + }, { + key: "toString", + value: function toString(ctx, onComment, onChompKeep) { + if (!ctx) return JSON.stringify(this); + var _iterator3 = _createForOfIteratorHelper(this.items), _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) { + var item = _step3.value; + if (!(item instanceof Pair)) throw new Error("Map items must all be pairs; found ".concat(JSON.stringify(item), " instead")); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + return _get(_getPrototypeOf(YAMLMap2.prototype), "toString", this).call(this, ctx, { + blockItem: function blockItem(n) { + return n.str; + }, + flowChars: { + start: "{", + end: "}" + }, + isMap: true, + itemIndent: ctx.indent || "" + }, onComment, onChompKeep); + } + }]); + return YAMLMap2; + }(Collection2); + MERGE_KEY = "<<"; + Merge = function(_Pair) { + _inherits(Merge2, _Pair); + var _super = _createSuper(Merge2); + function Merge2(pair) { + var _this; + _classCallCheck(this, Merge2); + if (pair instanceof Pair) { + var seq2 = pair.value; + if (!(seq2 instanceof YAMLSeq)) { + seq2 = new YAMLSeq(); + seq2.items.push(pair.value); + seq2.range = pair.value.range; + } + _this = _super.call(this, pair.key, seq2); + _this.range = pair.range; + } else { + _this = _super.call(this, new Scalar(MERGE_KEY), new YAMLSeq()); + } + _this.type = Pair.Type.MERGE_PAIR; + return _possibleConstructorReturn(_this); + } + _createClass(Merge2, [{ + key: "addToJSMap", + value: function addToJSMap(ctx, map2) { + var _iterator = _createForOfIteratorHelper(this.value.items), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var source = _step.value.source; + if (!(source instanceof YAMLMap)) throw new Error("Merge sources must be maps"); + var srcMap = source.toJSON(null, ctx, Map); + var _iterator2 = _createForOfIteratorHelper(srcMap), _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { + var _step2$value = _slicedToArray(_step2.value, 2), key = _step2$value[0], value2 = _step2$value[1]; + if (map2 instanceof Map) { + if (!map2.has(key)) map2.set(key, value2); + } else if (map2 instanceof Set) { + map2.add(key); + } else if (!Object.prototype.hasOwnProperty.call(map2, key)) { + Object.defineProperty(map2, key, { + value: value2, + writable: true, + enumerable: true, + configurable: true + }); + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return map2; + } + }, { + key: "toString", + value: function toString(ctx, onComment) { + var seq2 = this.value; + if (seq2.items.length > 1) return _get(_getPrototypeOf(Merge2.prototype), "toString", this).call(this, ctx, onComment); + this.value = seq2.items[0]; + var str = _get(_getPrototypeOf(Merge2.prototype), "toString", this).call(this, ctx, onComment); + this.value = seq2; + return str; + } + }]); + return Merge2; + }(Pair); + binaryOptions = { + defaultType: Type.BLOCK_LITERAL, + lineWidth: 76 + }; + boolOptions = { + trueStr: "true", + falseStr: "false" + }; + intOptions = { + asBigInt: false + }; + nullOptions = { + nullStr: "null" + }; + strOptions = { + defaultType: Type.PLAIN, + doubleQuoted: { + jsonEncoding: false, + minMultiLineLength: 40 + }, + fold: { + lineWidth: 80, + minContentWidth: 20 + } + }; + FOLD_FLOW = "flow"; + FOLD_BLOCK = "block"; + FOLD_QUOTED = "quoted"; + consumeMoreIndentedLines = function consumeMoreIndentedLines2(text, i) { + var ch = text[i + 1]; + while (ch === " " || ch === " ") { + do { + ch = text[i += 1]; + } while (ch && ch !== "\n"); + ch = text[i + 1]; + } + return i; + }; + getFoldOptions = function getFoldOptions2(_ref) { + var indentAtStart = _ref.indentAtStart; + return indentAtStart ? Object.assign({ + indentAtStart + }, strOptions.fold) : strOptions.fold; + }; + containsDocumentMarker = function containsDocumentMarker2(str) { + return /^(%|---|\.\.\.)/m.test(str); + }; + isCollectionItem = function isCollectionItem2(node) { + if (!node) return false; + var type = node.type; + return type === Type.MAP_KEY || type === Type.MAP_VALUE || type === Type.SEQ_ITEM; + }; + valueHasPairComment = function valueHasPairComment2(_ref2) { + var _ref2$context = _ref2.context, lineStart = _ref2$context.lineStart, node = _ref2$context.node, src = _ref2$context.src, props = _ref2.props; + if (props.length === 0) return false; + var start = props[0].start; + if (node && start > node.valueRange.start) return false; + if (src[start] !== Char.COMMENT) return false; + for (var i = lineStart; i < start; ++i) { + if (src[i] === "\n") return false; + } + return true; + }; + } +}); + +// ../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/warnings-df54cb69.js +function parsePairs(doc, cst) { + var seq2 = resolveSeq(doc, cst); + for (var i = 0; i < seq2.items.length; ++i) { + var item = seq2.items[i]; + if (item instanceof Pair) continue; + else if (item instanceof YAMLMap) { + if (item.items.length > 1) { + var msg = "Each pair must have its own sequence indicator"; + throw new YAMLSemanticError(cst, msg); + } + var pair = item.items[0] || new Pair(); + if (item.commentBefore) pair.commentBefore = pair.commentBefore ? "".concat(item.commentBefore, "\n").concat(pair.commentBefore) : item.commentBefore; + if (item.comment) pair.comment = pair.comment ? "".concat(item.comment, "\n").concat(pair.comment) : item.comment; + item = pair; + } + seq2.items[i] = item instanceof Pair ? item : new Pair(item); + } + return seq2; +} +function createPairs(schema, iterable, ctx) { + var pairs2 = new YAMLSeq(schema); + pairs2.tag = "tag:yaml.org,2002:pairs"; + var _iterator = _createForOfIteratorHelper(iterable), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var it = _step.value; + var key = void 0, value2 = void 0; + if (Array.isArray(it)) { + if (it.length === 2) { + key = it[0]; + value2 = it[1]; + } else throw new TypeError("Expected [key, value] tuple: ".concat(it)); + } else if (it && it instanceof Object) { + var keys = Object.keys(it); + if (keys.length === 1) { + key = keys[0]; + value2 = it[key]; + } else throw new TypeError("Expected { key: value } tuple: ".concat(it)); + } else { + key = it; + } + var pair = schema.createPair(key, value2, ctx); + pairs2.items.push(pair); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return pairs2; +} +function parseOMap(doc, cst) { + var pairs2 = parsePairs(doc, cst); + var seenKeys = []; + var _iterator2 = _createForOfIteratorHelper(pairs2.items), _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { + var key = _step2.value.key; + if (key instanceof Scalar) { + if (seenKeys.includes(key.value)) { + var msg = "Ordered maps must not include duplicate keys"; + throw new YAMLSemanticError(cst, msg); + } else { + seenKeys.push(key.value); + } + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + return Object.assign(new YAMLOMap(), pairs2); +} +function createOMap(schema, iterable, ctx) { + var pairs2 = createPairs(schema, iterable, ctx); + var omap2 = new YAMLOMap(); + omap2.items = pairs2.items; + return omap2; +} +function parseSet(doc, cst) { + var map2 = resolveMap(doc, cst); + if (!map2.hasAllNullValues()) throw new YAMLSemanticError(cst, "Set items must all have null values"); + return Object.assign(new YAMLSet(), map2); +} +function createSet(schema, iterable, ctx) { + var set2 = new YAMLSet(); + var _iterator = _createForOfIteratorHelper(iterable), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var value2 = _step.value; + set2.items.push(schema.createPair(value2, null, ctx)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return set2; +} +function shouldWarn(deprecation) { + var env = typeof process !== "undefined" && process.env || {}; + if (deprecation) { + if (typeof YAML_SILENCE_DEPRECATION_WARNINGS !== "undefined") return !YAML_SILENCE_DEPRECATION_WARNINGS; + return !env.YAML_SILENCE_DEPRECATION_WARNINGS; + } + if (typeof YAML_SILENCE_WARNINGS !== "undefined") return !YAML_SILENCE_WARNINGS; + return !env.YAML_SILENCE_WARNINGS; +} +function warn(warning, type) { + if (shouldWarn(false)) { + var emit = typeof process !== "undefined" && process.emitWarning; + if (emit) emit(warning, type); + else { + console.warn(type ? "".concat(type, ": ").concat(warning) : warning); + } + } +} +function warnOptionDeprecation(name, alternative) { + if (!warned[name] && shouldWarn(true)) { + warned[name] = true; + var msg = "The option '".concat(name, "' will be removed in a future release"); + msg += alternative ? ", use '".concat(alternative, "' instead.") : "."; + warn(msg, "DeprecationWarning"); + } +} +var binary, pairs, YAMLOMap, omap, YAMLSet, set, parseSexagesimal, stringifySexagesimal, intTime, floatTime, timestamp, warned; +var init_warnings_df54cb69 = __esm({ + "../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/warnings-df54cb69.js"() { + init_PlainValue_b8036b75(); + init_resolveSeq_492ab440(); + binary = { + identify: function identify(value2) { + return value2 instanceof Uint8Array; + }, + // Buffer inherits from Uint8Array + default: false, + tag: "tag:yaml.org,2002:binary", + /** + * Returns a Buffer in node and an Uint8Array in browsers + * + * To use the resulting buffer as an image, you'll want to do something like: + * + * const blob = new Blob([buffer], { type: 'image/jpeg' }) + * document.querySelector('#photo').src = URL.createObjectURL(blob) + */ + resolve: function resolve(doc, node) { + var src = resolveString(doc, node); + if (typeof Buffer === "function") { + return Buffer.from(src, "base64"); + } else if (typeof atob === "function") { + var str = atob(src.replace(/[\n\r]/g, "")); + var buffer = new Uint8Array(str.length); + for (var i = 0; i < str.length; ++i) { + buffer[i] = str.charCodeAt(i); + } + return buffer; + } else { + var msg = "This environment does not support reading binary tags; either Buffer or atob is required"; + doc.errors.push(new YAMLReferenceError(node, msg)); + return null; + } + }, + options: binaryOptions, + stringify: function stringify(_ref, ctx, onComment, onChompKeep) { + var comment = _ref.comment, type = _ref.type, value2 = _ref.value; + var src; + if (typeof Buffer === "function") { + src = value2 instanceof Buffer ? value2.toString("base64") : Buffer.from(value2.buffer).toString("base64"); + } else if (typeof btoa === "function") { + var s = ""; + for (var i = 0; i < value2.length; ++i) { + s += String.fromCharCode(value2[i]); + } + src = btoa(s); + } else { + throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required"); + } + if (!type) type = binaryOptions.defaultType; + if (type === Type.QUOTE_DOUBLE) { + value2 = src; + } else { + var lineWidth = binaryOptions.lineWidth; + var n = Math.ceil(src.length / lineWidth); + var lines = new Array(n); + for (var _i = 0, o = 0; _i < n; ++_i, o += lineWidth) { + lines[_i] = src.substr(o, lineWidth); + } + value2 = lines.join(type === Type.BLOCK_LITERAL ? "\n" : " "); + } + return stringifyString({ + comment, + type, + value: value2 + }, ctx, onComment, onChompKeep); + } + }; + pairs = { + default: false, + tag: "tag:yaml.org,2002:pairs", + resolve: parsePairs, + createNode: createPairs + }; + YAMLOMap = function(_YAMLSeq) { + _inherits(YAMLOMap2, _YAMLSeq); + var _super = _createSuper(YAMLOMap2); + function YAMLOMap2() { + var _this; + _classCallCheck(this, YAMLOMap2); + _this = _super.call(this); + _defineProperty(_assertThisInitialized(_this), "add", YAMLMap.prototype.add.bind(_assertThisInitialized(_this))); + _defineProperty(_assertThisInitialized(_this), "delete", YAMLMap.prototype.delete.bind(_assertThisInitialized(_this))); + _defineProperty(_assertThisInitialized(_this), "get", YAMLMap.prototype.get.bind(_assertThisInitialized(_this))); + _defineProperty(_assertThisInitialized(_this), "has", YAMLMap.prototype.has.bind(_assertThisInitialized(_this))); + _defineProperty(_assertThisInitialized(_this), "set", YAMLMap.prototype.set.bind(_assertThisInitialized(_this))); + _this.tag = YAMLOMap2.tag; + return _this; + } + _createClass(YAMLOMap2, [{ + key: "toJSON", + value: function toJSON$1(_, ctx) { + var map2 = /* @__PURE__ */ new Map(); + if (ctx && ctx.onCreate) ctx.onCreate(map2); + var _iterator = _createForOfIteratorHelper(this.items), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var pair = _step.value; + var key = void 0, value2 = void 0; + if (pair instanceof Pair) { + key = toJSON(pair.key, "", ctx); + value2 = toJSON(pair.value, key, ctx); + } else { + key = toJSON(pair, "", ctx); + } + if (map2.has(key)) throw new Error("Ordered maps must not include duplicate keys"); + map2.set(key, value2); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return map2; + } + }]); + return YAMLOMap2; + }(YAMLSeq); + _defineProperty(YAMLOMap, "tag", "tag:yaml.org,2002:omap"); + omap = { + identify: function identify2(value2) { + return value2 instanceof Map; + }, + nodeClass: YAMLOMap, + default: false, + tag: "tag:yaml.org,2002:omap", + resolve: parseOMap, + createNode: createOMap + }; + YAMLSet = function(_YAMLMap) { + _inherits(YAMLSet2, _YAMLMap); + var _super = _createSuper(YAMLSet2); + function YAMLSet2() { + var _this; + _classCallCheck(this, YAMLSet2); + _this = _super.call(this); + _this.tag = YAMLSet2.tag; + return _this; + } + _createClass(YAMLSet2, [{ + key: "add", + value: function add(key) { + var pair = key instanceof Pair ? key : new Pair(key); + var prev = findPair(this.items, pair.key); + if (!prev) this.items.push(pair); + } + }, { + key: "get", + value: function get(key, keepPair) { + var pair = findPair(this.items, key); + return !keepPair && pair instanceof Pair ? pair.key instanceof Scalar ? pair.key.value : pair.key : pair; + } + }, { + key: "set", + value: function set2(key, value2) { + if (typeof value2 !== "boolean") throw new Error("Expected boolean value for set(key, value) in a YAML set, not ".concat(_typeof(value2))); + var prev = findPair(this.items, key); + if (prev && !value2) { + this.items.splice(this.items.indexOf(prev), 1); + } else if (!prev && value2) { + this.items.push(new Pair(key)); + } + } + }, { + key: "toJSON", + value: function toJSON2(_, ctx) { + return _get(_getPrototypeOf(YAMLSet2.prototype), "toJSON", this).call(this, _, ctx, Set); + } + }, { + key: "toString", + value: function toString(ctx, onComment, onChompKeep) { + if (!ctx) return JSON.stringify(this); + if (this.hasAllNullValues()) return _get(_getPrototypeOf(YAMLSet2.prototype), "toString", this).call(this, ctx, onComment, onChompKeep); + else throw new Error("Set items must all have null values"); + } + }]); + return YAMLSet2; + }(YAMLMap); + _defineProperty(YAMLSet, "tag", "tag:yaml.org,2002:set"); + set = { + identify: function identify3(value2) { + return value2 instanceof Set; + }, + nodeClass: YAMLSet, + default: false, + tag: "tag:yaml.org,2002:set", + resolve: parseSet, + createNode: createSet + }; + parseSexagesimal = function parseSexagesimal2(sign, parts) { + var n = parts.split(":").reduce(function(n2, p) { + return n2 * 60 + Number(p); + }, 0); + return sign === "-" ? -n : n; + }; + stringifySexagesimal = function stringifySexagesimal2(_ref) { + var value2 = _ref.value; + if (isNaN(value2) || !isFinite(value2)) return stringifyNumber(value2); + var sign = ""; + if (value2 < 0) { + sign = "-"; + value2 = Math.abs(value2); + } + var parts = [value2 % 60]; + if (value2 < 60) { + parts.unshift(0); + } else { + value2 = Math.round((value2 - parts[0]) / 60); + parts.unshift(value2 % 60); + if (value2 >= 60) { + value2 = Math.round((value2 - parts[0]) / 60); + parts.unshift(value2); + } + } + return sign + parts.map(function(n) { + return n < 10 ? "0" + String(n) : String(n); + }).join(":").replace(/000000\d*$/, ""); + }; + intTime = { + identify: function identify4(value2) { + return typeof value2 === "number"; + }, + default: true, + tag: "tag:yaml.org,2002:int", + format: "TIME", + test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/, + resolve: function resolve2(str, sign, parts) { + return parseSexagesimal(sign, parts.replace(/_/g, "")); + }, + stringify: stringifySexagesimal + }; + floatTime = { + identify: function identify5(value2) { + return typeof value2 === "number"; + }, + default: true, + tag: "tag:yaml.org,2002:float", + format: "TIME", + test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/, + resolve: function resolve3(str, sign, parts) { + return parseSexagesimal(sign, parts.replace(/_/g, "")); + }, + stringify: stringifySexagesimal + }; + timestamp = { + identify: function identify6(value2) { + return value2 instanceof Date; + }, + default: true, + tag: "tag:yaml.org,2002:timestamp", + // If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part + // may be omitted altogether, resulting in a date format. In such a case, the time part is + // assumed to be 00:00:00Z (start of day, UTC). + test: RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"), + resolve: function resolve4(str, year, month, day, hour, minute, second, millisec, tz) { + if (millisec) millisec = (millisec + "00").substr(1, 3); + var date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec || 0); + if (tz && tz !== "Z") { + var d = parseSexagesimal(tz[0], tz.slice(1)); + if (Math.abs(d) < 30) d *= 60; + date -= 6e4 * d; + } + return new Date(date); + }, + stringify: function stringify2(_ref2) { + var value2 = _ref2.value; + return value2.toISOString().replace(/((T00:00)?:00)?\.000Z$/, ""); + } + }; + warned = {}; + } +}); + +// ../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/Schema-e94716c8.js +function createMap(schema, obj, ctx) { + var map2 = new YAMLMap(schema); + if (obj instanceof Map) { + var _iterator = _createForOfIteratorHelper(obj), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var _step$value = _slicedToArray(_step.value, 2), key = _step$value[0], value2 = _step$value[1]; + map2.items.push(schema.createPair(key, value2, ctx)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } else if (obj && _typeof(obj) === "object") { + for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) { + var _key = _Object$keys[_i]; + map2.items.push(schema.createPair(_key, obj[_key], ctx)); + } + } + if (typeof schema.sortMapEntries === "function") { + map2.items.sort(schema.sortMapEntries); + } + return map2; +} +function createSeq(schema, obj, ctx) { + var seq2 = new YAMLSeq(schema); + if (obj && obj[Symbol.iterator]) { + var _iterator = _createForOfIteratorHelper(obj), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var it = _step.value; + var v = schema.createNode(it, ctx.wrapScalars, null, ctx); + seq2.items.push(v); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + return seq2; +} +function intStringify$1(node, radix, prefix) { + var value2 = node.value; + if (intIdentify$2(value2) && value2 >= 0) return prefix + value2.toString(radix); + return stringifyNumber(node); +} +function intResolve2(sign, src, radix) { + var str = src.replace(/_/g, ""); + if (intOptions.asBigInt) { + switch (radix) { + case 2: + str = "0b".concat(str); + break; + case 8: + str = "0o".concat(str); + break; + case 16: + str = "0x".concat(str); + break; + } + var _n = BigInt(str); + return sign === "-" ? BigInt(-1) * _n : _n; + } + var n = parseInt(str, radix); + return sign === "-" ? -1 * n : n; +} +function intStringify(node, radix, prefix) { + var value2 = node.value; + if (intIdentify3(value2)) { + var str = value2.toString(radix); + return value2 < 0 ? "-" + prefix + str.substr(1) : prefix + str; + } + return stringifyNumber(node); +} +function findTagObject(value2, tagName, tags2) { + if (tagName) { + var match = tags2.filter(function(t) { + return t.tag === tagName; + }); + var tagObj = match.find(function(t) { + return !t.format; + }) || match[0]; + if (!tagObj) throw new Error("Tag ".concat(tagName, " not found")); + return tagObj; + } + return tags2.find(function(t) { + return (t.identify && t.identify(value2) || t.class && value2 instanceof t.class) && !t.format; + }); +} +function createNode4(value2, tagName, ctx) { + if (value2 instanceof Node2) return value2; + var defaultPrefix = ctx.defaultPrefix, onTagObj = ctx.onTagObj, prevObjects = ctx.prevObjects, schema = ctx.schema, wrapScalars = ctx.wrapScalars; + if (tagName && tagName.startsWith("!!")) tagName = defaultPrefix + tagName.slice(2); + var tagObj = findTagObject(value2, tagName, schema.tags); + if (!tagObj) { + if (typeof value2.toJSON === "function") value2 = value2.toJSON(); + if (!value2 || _typeof(value2) !== "object") return wrapScalars ? new Scalar(value2) : value2; + tagObj = value2 instanceof Map ? map : value2[Symbol.iterator] ? seq : map; + } + if (onTagObj) { + onTagObj(tagObj); + delete ctx.onTagObj; + } + var obj = { + value: void 0, + node: void 0 + }; + if (value2 && _typeof(value2) === "object" && prevObjects) { + var prev = prevObjects.get(value2); + if (prev) { + var alias = new Alias2(prev); + ctx.aliasNodes.push(alias); + return alias; + } + obj.value = value2; + prevObjects.set(value2, obj); + } + obj.node = tagObj.createNode ? tagObj.createNode(ctx.schema, value2, ctx) : wrapScalars ? new Scalar(value2) : value2; + if (tagName && obj.node instanceof Node2) obj.node.tag = tagName; + return obj.node; +} +function getSchemaTags(schemas2, knownTags, customTags, schemaId) { + var tags2 = schemas2[schemaId.replace(/\W/g, "")]; + if (!tags2) { + var keys = Object.keys(schemas2).map(function(key) { + return JSON.stringify(key); + }).join(", "); + throw new Error('Unknown schema "'.concat(schemaId, '"; use one of ').concat(keys)); + } + if (Array.isArray(customTags)) { + var _iterator = _createForOfIteratorHelper(customTags), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var tag = _step.value; + tags2 = tags2.concat(tag); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } else if (typeof customTags === "function") { + tags2 = customTags(tags2.slice()); + } + for (var i = 0; i < tags2.length; ++i) { + var _tag = tags2[i]; + if (typeof _tag === "string") { + var tagObj = knownTags[_tag]; + if (!tagObj) { + var _keys = Object.keys(knownTags).map(function(key) { + return JSON.stringify(key); + }).join(", "); + throw new Error('Unknown custom tag "'.concat(_tag, '"; use one of ').concat(_keys)); + } + tags2[i] = tagObj; + } + } + return tags2; +} +var map, seq, string, failsafe, intIdentify$2, intResolve$1, nullObj, boolObj, octObj, intObj, hexObj, nanObj, expObj, floatObj, core, intIdentify$1, stringifyJSON, json, boolStringify, intIdentify3, yaml11, schemas, tags, sortMapEntriesByKey, Schema; +var init_Schema_e94716c8 = __esm({ + "../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/Schema-e94716c8.js"() { + init_PlainValue_b8036b75(); + init_resolveSeq_492ab440(); + init_warnings_df54cb69(); + map = { + createNode: createMap, + default: true, + nodeClass: YAMLMap, + tag: "tag:yaml.org,2002:map", + resolve: resolveMap + }; + seq = { + createNode: createSeq, + default: true, + nodeClass: YAMLSeq, + tag: "tag:yaml.org,2002:seq", + resolve: resolveSeq + }; + string = { + identify: function identify7(value2) { + return typeof value2 === "string"; + }, + default: true, + tag: "tag:yaml.org,2002:str", + resolve: resolveString, + stringify: function stringify3(item, ctx, onComment, onChompKeep) { + ctx = Object.assign({ + actualString: true + }, ctx); + return stringifyString(item, ctx, onComment, onChompKeep); + }, + options: strOptions + }; + failsafe = [map, seq, string]; + intIdentify$2 = function intIdentify(value2) { + return typeof value2 === "bigint" || Number.isInteger(value2); + }; + intResolve$1 = function intResolve(src, part, radix) { + return intOptions.asBigInt ? BigInt(src) : parseInt(part, radix); + }; + nullObj = { + identify: function identify8(value2) { + return value2 == null; + }, + createNode: function createNode(schema, value2, ctx) { + return ctx.wrapScalars ? new Scalar(null) : null; + }, + default: true, + tag: "tag:yaml.org,2002:null", + test: /^(?:~|[Nn]ull|NULL)?$/, + resolve: function resolve5() { + return null; + }, + options: nullOptions, + stringify: function stringify4() { + return nullOptions.nullStr; + } + }; + boolObj = { + identify: function identify9(value2) { + return typeof value2 === "boolean"; + }, + default: true, + tag: "tag:yaml.org,2002:bool", + test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/, + resolve: function resolve6(str) { + return str[0] === "t" || str[0] === "T"; + }, + options: boolOptions, + stringify: function stringify5(_ref) { + var value2 = _ref.value; + return value2 ? boolOptions.trueStr : boolOptions.falseStr; + } + }; + octObj = { + identify: function identify10(value2) { + return intIdentify$2(value2) && value2 >= 0; + }, + default: true, + tag: "tag:yaml.org,2002:int", + format: "OCT", + test: /^0o([0-7]+)$/, + resolve: function resolve7(str, oct) { + return intResolve$1(str, oct, 8); + }, + options: intOptions, + stringify: function stringify6(node) { + return intStringify$1(node, 8, "0o"); + } + }; + intObj = { + identify: intIdentify$2, + default: true, + tag: "tag:yaml.org,2002:int", + test: /^[-+]?[0-9]+$/, + resolve: function resolve8(str) { + return intResolve$1(str, str, 10); + }, + options: intOptions, + stringify: stringifyNumber + }; + hexObj = { + identify: function identify11(value2) { + return intIdentify$2(value2) && value2 >= 0; + }, + default: true, + tag: "tag:yaml.org,2002:int", + format: "HEX", + test: /^0x([0-9a-fA-F]+)$/, + resolve: function resolve9(str, hex) { + return intResolve$1(str, hex, 16); + }, + options: intOptions, + stringify: function stringify7(node) { + return intStringify$1(node, 16, "0x"); + } + }; + nanObj = { + identify: function identify12(value2) { + return typeof value2 === "number"; + }, + default: true, + tag: "tag:yaml.org,2002:float", + test: /^(?:[-+]?\.inf|(\.nan))$/i, + resolve: function resolve10(str, nan) { + return nan ? NaN : str[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY; + }, + stringify: stringifyNumber + }; + expObj = { + identify: function identify13(value2) { + return typeof value2 === "number"; + }, + default: true, + tag: "tag:yaml.org,2002:float", + format: "EXP", + test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/, + resolve: function resolve11(str) { + return parseFloat(str); + }, + stringify: function stringify8(_ref2) { + var value2 = _ref2.value; + return Number(value2).toExponential(); + } + }; + floatObj = { + identify: function identify14(value2) { + return typeof value2 === "number"; + }, + default: true, + tag: "tag:yaml.org,2002:float", + test: /^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/, + resolve: function resolve12(str, frac1, frac2) { + var frac = frac1 || frac2; + var node = new Scalar(parseFloat(str)); + if (frac && frac[frac.length - 1] === "0") node.minFractionDigits = frac.length; + return node; + }, + stringify: stringifyNumber + }; + core = failsafe.concat([nullObj, boolObj, octObj, intObj, hexObj, nanObj, expObj, floatObj]); + intIdentify$1 = function intIdentify2(value2) { + return typeof value2 === "bigint" || Number.isInteger(value2); + }; + stringifyJSON = function stringifyJSON2(_ref) { + var value2 = _ref.value; + return JSON.stringify(value2); + }; + json = [map, seq, { + identify: function identify15(value2) { + return typeof value2 === "string"; + }, + default: true, + tag: "tag:yaml.org,2002:str", + resolve: resolveString, + stringify: stringifyJSON + }, { + identify: function identify16(value2) { + return value2 == null; + }, + createNode: function createNode2(schema, value2, ctx) { + return ctx.wrapScalars ? new Scalar(null) : null; + }, + default: true, + tag: "tag:yaml.org,2002:null", + test: /^null$/, + resolve: function resolve13() { + return null; + }, + stringify: stringifyJSON + }, { + identify: function identify17(value2) { + return typeof value2 === "boolean"; + }, + default: true, + tag: "tag:yaml.org,2002:bool", + test: /^true|false$/, + resolve: function resolve14(str) { + return str === "true"; + }, + stringify: stringifyJSON + }, { + identify: intIdentify$1, + default: true, + tag: "tag:yaml.org,2002:int", + test: /^-?(?:0|[1-9][0-9]*)$/, + resolve: function resolve15(str) { + return intOptions.asBigInt ? BigInt(str) : parseInt(str, 10); + }, + stringify: function stringify9(_ref2) { + var value2 = _ref2.value; + return intIdentify$1(value2) ? value2.toString() : JSON.stringify(value2); + } + }, { + identify: function identify18(value2) { + return typeof value2 === "number"; + }, + default: true, + tag: "tag:yaml.org,2002:float", + test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/, + resolve: function resolve16(str) { + return parseFloat(str); + }, + stringify: stringifyJSON + }]; + json.scalarFallback = function(str) { + throw new SyntaxError("Unresolved plain scalar ".concat(JSON.stringify(str))); + }; + boolStringify = function boolStringify2(_ref) { + var value2 = _ref.value; + return value2 ? boolOptions.trueStr : boolOptions.falseStr; + }; + intIdentify3 = function intIdentify4(value2) { + return typeof value2 === "bigint" || Number.isInteger(value2); + }; + yaml11 = failsafe.concat([{ + identify: function identify19(value2) { + return value2 == null; + }, + createNode: function createNode3(schema, value2, ctx) { + return ctx.wrapScalars ? new Scalar(null) : null; + }, + default: true, + tag: "tag:yaml.org,2002:null", + test: /^(?:~|[Nn]ull|NULL)?$/, + resolve: function resolve17() { + return null; + }, + options: nullOptions, + stringify: function stringify10() { + return nullOptions.nullStr; + } + }, { + identify: function identify20(value2) { + return typeof value2 === "boolean"; + }, + default: true, + tag: "tag:yaml.org,2002:bool", + test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/, + resolve: function resolve18() { + return true; + }, + options: boolOptions, + stringify: boolStringify + }, { + identify: function identify21(value2) { + return typeof value2 === "boolean"; + }, + default: true, + tag: "tag:yaml.org,2002:bool", + test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i, + resolve: function resolve19() { + return false; + }, + options: boolOptions, + stringify: boolStringify + }, { + identify: intIdentify3, + default: true, + tag: "tag:yaml.org,2002:int", + format: "BIN", + test: /^([-+]?)0b([0-1_]+)$/, + resolve: function resolve20(str, sign, bin) { + return intResolve2(sign, bin, 2); + }, + stringify: function stringify11(node) { + return intStringify(node, 2, "0b"); + } + }, { + identify: intIdentify3, + default: true, + tag: "tag:yaml.org,2002:int", + format: "OCT", + test: /^([-+]?)0([0-7_]+)$/, + resolve: function resolve21(str, sign, oct) { + return intResolve2(sign, oct, 8); + }, + stringify: function stringify12(node) { + return intStringify(node, 8, "0"); + } + }, { + identify: intIdentify3, + default: true, + tag: "tag:yaml.org,2002:int", + test: /^([-+]?)([0-9][0-9_]*)$/, + resolve: function resolve22(str, sign, abs) { + return intResolve2(sign, abs, 10); + }, + stringify: stringifyNumber + }, { + identify: intIdentify3, + default: true, + tag: "tag:yaml.org,2002:int", + format: "HEX", + test: /^([-+]?)0x([0-9a-fA-F_]+)$/, + resolve: function resolve23(str, sign, hex) { + return intResolve2(sign, hex, 16); + }, + stringify: function stringify13(node) { + return intStringify(node, 16, "0x"); + } + }, { + identify: function identify22(value2) { + return typeof value2 === "number"; + }, + default: true, + tag: "tag:yaml.org,2002:float", + test: /^(?:[-+]?\.inf|(\.nan))$/i, + resolve: function resolve24(str, nan) { + return nan ? NaN : str[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY; + }, + stringify: stringifyNumber + }, { + identify: function identify23(value2) { + return typeof value2 === "number"; + }, + default: true, + tag: "tag:yaml.org,2002:float", + format: "EXP", + test: /^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/, + resolve: function resolve25(str) { + return parseFloat(str.replace(/_/g, "")); + }, + stringify: function stringify14(_ref2) { + var value2 = _ref2.value; + return Number(value2).toExponential(); + } + }, { + identify: function identify24(value2) { + return typeof value2 === "number"; + }, + default: true, + tag: "tag:yaml.org,2002:float", + test: /^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/, + resolve: function resolve26(str, frac) { + var node = new Scalar(parseFloat(str.replace(/_/g, ""))); + if (frac) { + var f = frac.replace(/_/g, ""); + if (f[f.length - 1] === "0") node.minFractionDigits = f.length; + } + return node; + }, + stringify: stringifyNumber + }], binary, omap, pairs, set, intTime, floatTime, timestamp); + schemas = { + core, + failsafe, + json, + yaml11 + }; + tags = { + binary, + bool: boolObj, + float: floatObj, + floatExp: expObj, + floatNaN: nanObj, + floatTime, + int: intObj, + intHex: hexObj, + intOct: octObj, + intTime, + map, + null: nullObj, + omap, + pairs, + seq, + set, + timestamp + }; + sortMapEntriesByKey = function sortMapEntriesByKey2(a, b) { + return a.key < b.key ? -1 : a.key > b.key ? 1 : 0; + }; + Schema = function() { + function Schema2(_ref) { + var customTags = _ref.customTags, merge = _ref.merge, schema = _ref.schema, sortMapEntries = _ref.sortMapEntries, deprecatedCustomTags = _ref.tags; + _classCallCheck(this, Schema2); + this.merge = !!merge; + this.name = schema; + this.sortMapEntries = sortMapEntries === true ? sortMapEntriesByKey : sortMapEntries || null; + if (!customTags && deprecatedCustomTags) warnOptionDeprecation("tags", "customTags"); + this.tags = getSchemaTags(schemas, tags, customTags || deprecatedCustomTags, schema); + } + _createClass(Schema2, [{ + key: "createNode", + value: function createNode$1(value2, wrapScalars, tagName, ctx) { + var baseCtx = { + defaultPrefix: Schema2.defaultPrefix, + schema: this, + wrapScalars + }; + var createCtx = ctx ? Object.assign(ctx, baseCtx) : baseCtx; + return createNode4(value2, tagName, createCtx); + } + }, { + key: "createPair", + value: function createPair(key, value2, ctx) { + if (!ctx) ctx = { + wrapScalars: true + }; + var k = this.createNode(key, ctx.wrapScalars, null, ctx); + var v = this.createNode(value2, ctx.wrapScalars, null, ctx); + return new Pair(k, v); + } + }]); + return Schema2; + }(); + _defineProperty(Schema, "defaultPrefix", defaultTagPrefix); + _defineProperty(Schema, "defaultTags", defaultTags); + } +}); + +// ../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/index.js +var dist_exports = {}; +__export(dist_exports, { + YAML: () => YAML +}); +function stringifyTag(doc, tag) { + if ((doc.version || doc.options.version) === "1.0") { + var priv = tag.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/); + if (priv) return "!" + priv[1]; + var vocab = tag.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/); + return vocab ? "!".concat(vocab[1], "/").concat(vocab[2]) : "!".concat(tag.replace(/^tag:/, "")); + } + var p = doc.tagPrefixes.find(function(p2) { + return tag.indexOf(p2.prefix) === 0; + }); + if (!p) { + var dtp = doc.getDefaults().tagPrefixes; + p = dtp && dtp.find(function(p2) { + return tag.indexOf(p2.prefix) === 0; + }); + } + if (!p) return tag[0] === "!" ? tag : "!<".concat(tag, ">"); + var suffix = tag.substr(p.prefix.length).replace(/[!,[\]{}]/g, function(ch) { + return { + "!": "%21", + ",": "%2C", + "[": "%5B", + "]": "%5D", + "{": "%7B", + "}": "%7D" + }[ch]; + }); + return p.handle + suffix; +} +function getTagObject(tags2, item) { + if (item instanceof Alias2) return Alias2; + if (item.tag) { + var match = tags2.filter(function(t) { + return t.tag === item.tag; + }); + if (match.length > 0) return match.find(function(t) { + return t.format === item.format; + }) || match[0]; + } + var tagObj, obj; + if (item instanceof Scalar) { + obj = item.value; + var _match = tags2.filter(function(t) { + return t.identify && t.identify(obj) || t.class && obj instanceof t.class; + }); + tagObj = _match.find(function(t) { + return t.format === item.format; + }) || _match.find(function(t) { + return !t.format; + }); + } else { + obj = item; + tagObj = tags2.find(function(t) { + return t.nodeClass && obj instanceof t.nodeClass; + }); + } + if (!tagObj) { + var name = obj && obj.constructor ? obj.constructor.name : _typeof(obj); + throw new Error("Tag not resolved for ".concat(name, " value")); + } + return tagObj; +} +function stringifyProps(node, tagObj, _ref) { + var anchors = _ref.anchors, doc = _ref.doc; + var props = []; + var anchor = doc.anchors.getName(node); + if (anchor) { + anchors[anchor] = node; + props.push("&".concat(anchor)); + } + if (node.tag) { + props.push(stringifyTag(doc, node.tag)); + } else if (!tagObj.default) { + props.push(stringifyTag(doc, tagObj.tag)); + } + return props.join(" "); +} +function stringify$1(item, ctx, onComment, onChompKeep) { + var _ctx$doc = ctx.doc, anchors = _ctx$doc.anchors, schema = _ctx$doc.schema; + var tagObj; + if (!(item instanceof Node2)) { + var createCtx = { + aliasNodes: [], + onTagObj: function onTagObj(o) { + return tagObj = o; + }, + prevObjects: /* @__PURE__ */ new Map() + }; + item = schema.createNode(item, true, null, createCtx); + var _iterator = _createForOfIteratorHelper(createCtx.aliasNodes), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var alias = _step.value; + alias.source = alias.source.node; + var name = anchors.getName(alias.source); + if (!name) { + name = anchors.newName(); + anchors.map[name] = alias.source; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + if (item instanceof Pair) return item.toString(ctx, onComment, onChompKeep); + if (!tagObj) tagObj = getTagObject(schema.tags, item); + var props = stringifyProps(item, tagObj, ctx); + if (props.length > 0) ctx.indentAtStart = (ctx.indentAtStart || 0) + props.length + 1; + var str = typeof tagObj.stringify === "function" ? tagObj.stringify(item, ctx, onComment, onChompKeep) : item instanceof Scalar ? stringifyString(item, ctx, onComment, onChompKeep) : item.toString(ctx, onComment, onChompKeep); + if (!props) return str; + return item instanceof Scalar || str[0] === "{" || str[0] === "[" ? "".concat(props, " ").concat(str) : "".concat(props, "\n").concat(ctx.indent).concat(str); +} +function parseContents(doc, contents) { + var comments = { + before: [], + after: [] + }; + var body = void 0; + var spaceBefore = false; + var _iterator = _createForOfIteratorHelper(contents), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var node = _step.value; + if (node.valueRange) { + if (body !== void 0) { + var msg = "Document contains trailing content not separated by a ... or --- line"; + doc.errors.push(new YAMLSyntaxError(node, msg)); + break; + } + var res = resolveNode(doc, node); + if (spaceBefore) { + res.spaceBefore = true; + spaceBefore = false; + } + body = res; + } else if (node.comment !== null) { + var cc = body === void 0 ? comments.before : comments.after; + cc.push(node.comment); + } else if (node.type === Type.BLANK_LINE) { + spaceBefore = true; + if (body === void 0 && comments.before.length > 0 && !doc.commentBefore) { + doc.commentBefore = comments.before.join("\n"); + comments.before = []; + } + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + doc.contents = body || null; + if (!body) { + doc.comment = comments.before.concat(comments.after).join("\n") || null; + } else { + var cb = comments.before.join("\n"); + if (cb) { + var cbNode = body instanceof Collection2 && body.items[0] ? body.items[0] : body; + cbNode.commentBefore = cbNode.commentBefore ? "".concat(cb, "\n").concat(cbNode.commentBefore) : cb; + } + doc.comment = comments.after.join("\n") || null; + } +} +function resolveTagDirective(_ref, directive) { + var tagPrefixes = _ref.tagPrefixes; + var _directive$parameters = _slicedToArray(directive.parameters, 2), handle = _directive$parameters[0], prefix = _directive$parameters[1]; + if (!handle || !prefix) { + var msg = "Insufficient parameters given for %TAG directive"; + throw new YAMLSemanticError(directive, msg); + } + if (tagPrefixes.some(function(p) { + return p.handle === handle; + })) { + var _msg = "The %TAG directive must only be given at most once per handle in the same document."; + throw new YAMLSemanticError(directive, _msg); + } + return { + handle, + prefix + }; +} +function resolveYamlDirective(doc, directive) { + var _directive$parameters2 = _slicedToArray(directive.parameters, 1), version = _directive$parameters2[0]; + if (directive.name === "YAML:1.0") version = "1.0"; + if (!version) { + var msg = "Insufficient parameters given for %YAML directive"; + throw new YAMLSemanticError(directive, msg); + } + if (!documentOptions[version]) { + var v0 = doc.version || doc.options.version; + var _msg2 = "Document will be parsed as YAML ".concat(v0, " rather than YAML ").concat(version); + doc.warnings.push(new YAMLWarning(directive, _msg2)); + } + return version; +} +function parseDirectives(doc, directives, prevDoc) { + var directiveComments = []; + var hasDirectives = false; + var _iterator = _createForOfIteratorHelper(directives), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var directive = _step.value; + var comment = directive.comment, name = directive.name; + switch (name) { + case "TAG": + try { + doc.tagPrefixes.push(resolveTagDirective(doc, directive)); + } catch (error) { + doc.errors.push(error); + } + hasDirectives = true; + break; + case "YAML": + case "YAML:1.0": + if (doc.version) { + var msg = "The %YAML directive must only be given at most once per document."; + doc.errors.push(new YAMLSemanticError(directive, msg)); + } + try { + doc.version = resolveYamlDirective(doc, directive); + } catch (error) { + doc.errors.push(error); + } + hasDirectives = true; + break; + default: + if (name) { + var _msg3 = "YAML only supports %TAG and %YAML directives, and not %".concat(name); + doc.warnings.push(new YAMLWarning(directive, _msg3)); + } + } + if (comment) directiveComments.push(comment); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + if (prevDoc && !hasDirectives && "1.1" === (doc.version || prevDoc.version || doc.options.version)) { + var copyTagPrefix = function copyTagPrefix2(_ref2) { + var handle = _ref2.handle, prefix = _ref2.prefix; + return { + handle, + prefix + }; + }; + doc.tagPrefixes = prevDoc.tagPrefixes.map(copyTagPrefix); + doc.version = prevDoc.version; + } + doc.commentBefore = directiveComments.join("\n") || null; +} +function assertCollection(contents) { + if (contents instanceof Collection2) return true; + throw new Error("Expected a YAML collection as document contents"); +} +function createNode5(value2) { + var wrapScalars = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; + var tag = arguments.length > 2 ? arguments[2] : void 0; + if (tag === void 0 && typeof wrapScalars === "string") { + tag = wrapScalars; + wrapScalars = true; + } + var options = Object.assign({}, Document$1.defaults[defaultOptions.version], defaultOptions); + var schema = new Schema(options); + return schema.createNode(value2, wrapScalars, tag); +} +function parseAllDocuments(src, options) { + var stream = []; + var prev; + var _iterator = _createForOfIteratorHelper(parse(src)), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var cstDoc = _step.value; + var doc = new Document2(options); + doc.parse(cstDoc, prev); + stream.push(doc); + prev = doc; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return stream; +} +function parseDocument(src, options) { + var cst = parse(src); + var doc = new Document2(options).parse(cst[0]); + if (cst.length > 1) { + var errMsg = "Source contains multiple documents; please use YAML.parseAllDocuments()"; + doc.errors.unshift(new YAMLSemanticError(cst[1], errMsg)); + } + return doc; +} +function parse2(src, options) { + var doc = parseDocument(src, options); + doc.warnings.forEach(function(warning) { + return warn(warning); + }); + if (doc.errors.length > 0) throw doc.errors[0]; + return doc.toJSON(); +} +function stringify15(value2, options) { + var doc = new Document2(options); + doc.contents = value2; + return String(doc); +} +var defaultOptions, scalarOptions, documentOptions, Anchors, visit, listTagNames, Document$1, Document2, YAML; +var init_dist = __esm({ + "../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/index.js"() { + init_PlainValue_b8036b75(); + init_parse_cst(); + init_resolveSeq_492ab440(); + init_Schema_e94716c8(); + init_warnings_df54cb69(); + defaultOptions = { + anchorPrefix: "a", + customTags: null, + indent: 2, + indentSeq: true, + keepCstNodes: false, + keepNodeTypes: true, + keepBlobsInJSON: true, + mapAsMap: false, + maxAliasCount: 100, + prettyErrors: false, + // TODO Set true in v2 + simpleKeys: false, + version: "1.2" + }; + scalarOptions = { + get binary() { + return binaryOptions; + }, + set binary(opt) { + Object.assign(binaryOptions, opt); + }, + get bool() { + return boolOptions; + }, + set bool(opt) { + Object.assign(boolOptions, opt); + }, + get int() { + return intOptions; + }, + set int(opt) { + Object.assign(intOptions, opt); + }, + get null() { + return nullOptions; + }, + set null(opt) { + Object.assign(nullOptions, opt); + }, + get str() { + return strOptions; + }, + set str(opt) { + Object.assign(strOptions, opt); + } + }; + documentOptions = { + "1.0": { + schema: "yaml-1.1", + merge: true, + tagPrefixes: [{ + handle: "!", + prefix: defaultTagPrefix + }, { + handle: "!!", + prefix: "tag:private.yaml.org,2002:" + }] + }, + 1.1: { + schema: "yaml-1.1", + merge: true, + tagPrefixes: [{ + handle: "!", + prefix: "!" + }, { + handle: "!!", + prefix: defaultTagPrefix + }] + }, + 1.2: { + schema: "core", + merge: false, + tagPrefixes: [{ + handle: "!", + prefix: "!" + }, { + handle: "!!", + prefix: defaultTagPrefix + }] + } + }; + Anchors = function() { + function Anchors2(prefix) { + _classCallCheck(this, Anchors2); + _defineProperty(this, "map", /* @__PURE__ */ Object.create(null)); + this.prefix = prefix; + } + _createClass(Anchors2, [{ + key: "createAlias", + value: function createAlias(node, name) { + this.setAnchor(node, name); + return new Alias2(node); + } + }, { + key: "createMergePair", + value: function createMergePair() { + var _this = this; + var merge = new Merge(); + for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) { + sources[_key] = arguments[_key]; + } + merge.value.items = sources.map(function(s) { + if (s instanceof Alias2) { + if (s.source instanceof YAMLMap) return s; + } else if (s instanceof YAMLMap) { + return _this.createAlias(s); + } + throw new Error("Merge sources must be Map nodes or their Aliases"); + }); + return merge; + } + }, { + key: "getName", + value: function getName(node) { + var map2 = this.map; + return Object.keys(map2).find(function(a) { + return map2[a] === node; + }); + } + }, { + key: "getNames", + value: function getNames() { + return Object.keys(this.map); + } + }, { + key: "getNode", + value: function getNode(name) { + return this.map[name]; + } + }, { + key: "newName", + value: function newName(prefix) { + if (!prefix) prefix = this.prefix; + var names = Object.keys(this.map); + for (var i = 1; true; ++i) { + var name = "".concat(prefix).concat(i); + if (!names.includes(name)) return name; + } + } + // During parsing, map & aliases contain CST nodes + }, { + key: "resolveNodes", + value: function resolveNodes() { + var map2 = this.map, _cstAliases = this._cstAliases; + Object.keys(map2).forEach(function(a) { + map2[a] = map2[a].resolved; + }); + _cstAliases.forEach(function(a) { + a.source = a.source.resolved; + }); + delete this._cstAliases; + } + }, { + key: "setAnchor", + value: function setAnchor(node, name) { + if (node != null && !Anchors2.validAnchorNode(node)) { + throw new Error("Anchors may only be set for Scalar, Seq and Map nodes"); + } + if (name && /[\x00-\x19\s,[\]{}]/.test(name)) { + throw new Error("Anchor names must not contain whitespace or control characters"); + } + var map2 = this.map; + var prev = node && Object.keys(map2).find(function(a) { + return map2[a] === node; + }); + if (prev) { + if (!name) { + return prev; + } else if (prev !== name) { + delete map2[prev]; + map2[name] = node; + } + } else { + if (!name) { + if (!node) return null; + name = this.newName(); + } + map2[name] = node; + } + return name; + } + }], [{ + key: "validAnchorNode", + value: function validAnchorNode(node) { + return node instanceof Scalar || node instanceof YAMLSeq || node instanceof YAMLMap; + } + }]); + return Anchors2; + }(); + visit = function visit2(node, tags2) { + if (node && _typeof(node) === "object") { + var tag = node.tag; + if (node instanceof Collection2) { + if (tag) tags2[tag] = true; + node.items.forEach(function(n) { + return visit2(n, tags2); + }); + } else if (node instanceof Pair) { + visit2(node.key, tags2); + visit2(node.value, tags2); + } else if (node instanceof Scalar) { + if (tag) tags2[tag] = true; + } + } + return tags2; + }; + listTagNames = function listTagNames2(node) { + return Object.keys(visit(node, {})); + }; + Document$1 = function() { + function Document3(options) { + _classCallCheck(this, Document3); + this.anchors = new Anchors(options.anchorPrefix); + this.commentBefore = null; + this.comment = null; + this.contents = null; + this.directivesEndMarker = null; + this.errors = []; + this.options = options; + this.schema = null; + this.tagPrefixes = []; + this.version = null; + this.warnings = []; + } + _createClass(Document3, [{ + key: "add", + value: function add(value2) { + assertCollection(this.contents); + return this.contents.add(value2); + } + }, { + key: "addIn", + value: function addIn(path, value2) { + assertCollection(this.contents); + this.contents.addIn(path, value2); + } + }, { + key: "delete", + value: function _delete(key) { + assertCollection(this.contents); + return this.contents.delete(key); + } + }, { + key: "deleteIn", + value: function deleteIn(path) { + if (isEmptyPath(path)) { + if (this.contents == null) return false; + this.contents = null; + return true; + } + assertCollection(this.contents); + return this.contents.deleteIn(path); + } + }, { + key: "getDefaults", + value: function getDefaults() { + return Document3.defaults[this.version] || Document3.defaults[this.options.version] || {}; + } + }, { + key: "get", + value: function get(key, keepScalar) { + return this.contents instanceof Collection2 ? this.contents.get(key, keepScalar) : void 0; + } + }, { + key: "getIn", + value: function getIn(path, keepScalar) { + if (isEmptyPath(path)) return !keepScalar && this.contents instanceof Scalar ? this.contents.value : this.contents; + return this.contents instanceof Collection2 ? this.contents.getIn(path, keepScalar) : void 0; + } + }, { + key: "has", + value: function has(key) { + return this.contents instanceof Collection2 ? this.contents.has(key) : false; + } + }, { + key: "hasIn", + value: function hasIn(path) { + if (isEmptyPath(path)) return this.contents !== void 0; + return this.contents instanceof Collection2 ? this.contents.hasIn(path) : false; + } + }, { + key: "set", + value: function set2(key, value2) { + assertCollection(this.contents); + this.contents.set(key, value2); + } + }, { + key: "setIn", + value: function setIn(path, value2) { + if (isEmptyPath(path)) this.contents = value2; + else { + assertCollection(this.contents); + this.contents.setIn(path, value2); + } + } + }, { + key: "setSchema", + value: function setSchema(id, customTags) { + if (!id && !customTags && this.schema) return; + if (typeof id === "number") id = id.toFixed(1); + if (id === "1.0" || id === "1.1" || id === "1.2") { + if (this.version) this.version = id; + else this.options.version = id; + delete this.options.schema; + } else if (id && typeof id === "string") { + this.options.schema = id; + } + if (Array.isArray(customTags)) this.options.customTags = customTags; + var opt = Object.assign({}, this.getDefaults(), this.options); + this.schema = new Schema(opt); + } + }, { + key: "parse", + value: function parse3(node, prevDoc) { + if (this.options.keepCstNodes) this.cstNode = node; + if (this.options.keepNodeTypes) this.type = "DOCUMENT"; + var _node$directives = node.directives, directives = _node$directives === void 0 ? [] : _node$directives, _node$contents = node.contents, contents = _node$contents === void 0 ? [] : _node$contents, directivesEndMarker = node.directivesEndMarker, error = node.error, valueRange = node.valueRange; + if (error) { + if (!error.source) error.source = this; + this.errors.push(error); + } + parseDirectives(this, directives, prevDoc); + if (directivesEndMarker) this.directivesEndMarker = true; + this.range = valueRange ? [valueRange.start, valueRange.end] : null; + this.setSchema(); + this.anchors._cstAliases = []; + parseContents(this, contents); + this.anchors.resolveNodes(); + if (this.options.prettyErrors) { + var _iterator = _createForOfIteratorHelper(this.errors), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var _error = _step.value; + if (_error instanceof YAMLError) _error.makePretty(); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + var _iterator2 = _createForOfIteratorHelper(this.warnings), _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { + var warn2 = _step2.value; + if (warn2 instanceof YAMLError) warn2.makePretty(); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + return this; + } + }, { + key: "listNonDefaultTags", + value: function listNonDefaultTags() { + return listTagNames(this.contents).filter(function(t) { + return t.indexOf(Schema.defaultPrefix) !== 0; + }); + } + }, { + key: "setTagPrefix", + value: function setTagPrefix(handle, prefix) { + if (handle[0] !== "!" || handle[handle.length - 1] !== "!") throw new Error("Handle must start and end with !"); + if (prefix) { + var prev = this.tagPrefixes.find(function(p) { + return p.handle === handle; + }); + if (prev) prev.prefix = prefix; + else this.tagPrefixes.push({ + handle, + prefix + }); + } else { + this.tagPrefixes = this.tagPrefixes.filter(function(p) { + return p.handle !== handle; + }); + } + } + }, { + key: "toJSON", + value: function toJSON$1(arg, onAnchor) { + var _this = this; + var _this$options = this.options, keepBlobsInJSON = _this$options.keepBlobsInJSON, mapAsMap = _this$options.mapAsMap, maxAliasCount = _this$options.maxAliasCount; + var keep = keepBlobsInJSON && (typeof arg !== "string" || !(this.contents instanceof Scalar)); + var ctx = { + doc: this, + indentStep: " ", + keep, + mapAsMap: keep && !!mapAsMap, + maxAliasCount, + stringify: stringify$1 + // Requiring directly in Pair would create circular dependencies + }; + var anchorNames = Object.keys(this.anchors.map); + if (anchorNames.length > 0) ctx.anchors = new Map(anchorNames.map(function(name) { + return [_this.anchors.map[name], { + alias: [], + aliasCount: 0, + count: 1 + }]; + })); + var res = toJSON(this.contents, arg, ctx); + if (typeof onAnchor === "function" && ctx.anchors) { + var _iterator3 = _createForOfIteratorHelper(ctx.anchors.values()), _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) { + var _step3$value = _step3.value, count = _step3$value.count, _res = _step3$value.res; + onAnchor(_res, count); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + return res; + } + }, { + key: "toString", + value: function toString() { + if (this.errors.length > 0) throw new Error("Document with errors cannot be stringified"); + var indentSize = this.options.indent; + if (!Number.isInteger(indentSize) || indentSize <= 0) { + var s = JSON.stringify(indentSize); + throw new Error('"indent" option must be a positive integer, not '.concat(s)); + } + this.setSchema(); + var lines = []; + var hasDirectives = false; + if (this.version) { + var vd = "%YAML 1.2"; + if (this.schema.name === "yaml-1.1") { + if (this.version === "1.0") vd = "%YAML:1.0"; + else if (this.version === "1.1") vd = "%YAML 1.1"; + } + lines.push(vd); + hasDirectives = true; + } + var tagNames = this.listNonDefaultTags(); + this.tagPrefixes.forEach(function(_ref) { + var handle = _ref.handle, prefix = _ref.prefix; + if (tagNames.some(function(t) { + return t.indexOf(prefix) === 0; + })) { + lines.push("%TAG ".concat(handle, " ").concat(prefix)); + hasDirectives = true; + } + }); + if (hasDirectives || this.directivesEndMarker) lines.push("---"); + if (this.commentBefore) { + if (hasDirectives || !this.directivesEndMarker) lines.unshift(""); + lines.unshift(this.commentBefore.replace(/^/gm, "#")); + } + var ctx = { + anchors: /* @__PURE__ */ Object.create(null), + doc: this, + indent: "", + indentStep: " ".repeat(indentSize), + stringify: stringify$1 + // Requiring directly in nodes would create circular dependencies + }; + var chompKeep = false; + var contentComment = null; + if (this.contents) { + if (this.contents instanceof Node2) { + if (this.contents.spaceBefore && (hasDirectives || this.directivesEndMarker)) lines.push(""); + if (this.contents.commentBefore) lines.push(this.contents.commentBefore.replace(/^/gm, "#")); + ctx.forceBlockIndent = !!this.comment; + contentComment = this.contents.comment; + } + var onChompKeep = contentComment ? null : function() { + return chompKeep = true; + }; + var body = stringify$1(this.contents, ctx, function() { + return contentComment = null; + }, onChompKeep); + lines.push(addComment(body, "", contentComment)); + } else if (this.contents !== void 0) { + lines.push(stringify$1(this.contents, ctx)); + } + if (this.comment) { + if ((!chompKeep || contentComment) && lines[lines.length - 1] !== "") lines.push(""); + lines.push(this.comment.replace(/^/gm, "#")); + } + return lines.join("\n") + "\n"; + } + }]); + return Document3; + }(); + _defineProperty(Document$1, "defaults", documentOptions); + Document2 = function(_YAMLDocument) { + _inherits(Document3, _YAMLDocument); + var _super = _createSuper(Document3); + function Document3(options) { + _classCallCheck(this, Document3); + return _super.call(this, Object.assign({}, defaultOptions, options)); + } + return Document3; + }(Document$1); + YAML = { + createNode: createNode5, + defaultOptions, + Document: Document2, + parse: parse2, + parseAllDocuments, + parseCST: parse, + parseDocument, + scalarOptions, + stringify: stringify15 + }; + } +}); + +// ../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/index.js +var require_browser = __commonJS({ + "../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/index.js"(exports, module) { + module.exports = (init_dist(), __toCommonJS(dist_exports)).YAML; + } +}); + +// ../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/loaders.js +var require_loaders = __commonJS({ + "../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/loaders.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.loaders = void 0; + var importFresh; + var loadJs = function loadJs2(filepath) { + if (importFresh === void 0) { + importFresh = require_import_fresh(); + } + const result = importFresh(filepath); + return result; + }; + var parseJson; + var loadJson = function loadJson2(filepath, content) { + if (parseJson === void 0) { + parseJson = require_parse_json(); + } + try { + const result = parseJson(content); + return result; + } catch (error) { + error.message = `JSON Error in ${filepath}: +${error.message}`; + throw error; + } + }; + var yaml; + var loadYaml = function loadYaml2(filepath, content) { + if (yaml === void 0) { + yaml = require_browser(); + } + try { + const result = yaml.parse(content, { + prettyErrors: true + }); + return result; + } catch (error) { + error.message = `YAML Error in ${filepath}: +${error.message}`; + throw error; + } + }; + var loaders = { + loadJs, + loadJson, + loadYaml + }; + exports.loaders = loaders; + } +}); + +// ../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/getPropertyByPath.js +var require_getPropertyByPath = __commonJS({ + "../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/getPropertyByPath.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.getPropertyByPath = getPropertyByPath; + function getPropertyByPath(source, path) { + if (typeof path === "string" && Object.prototype.hasOwnProperty.call(source, path)) { + return source[path]; + } + const parsedPath = typeof path === "string" ? path.split(".") : path; + return parsedPath.reduce((previous, key) => { + if (previous === void 0) { + return previous; + } + return previous[key]; + }, source); + } + } +}); + +// ../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/ExplorerBase.js +var require_ExplorerBase = __commonJS({ + "../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/ExplorerBase.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.ExplorerBase = void 0; + exports.getExtensionDescription = getExtensionDescription; + var _path = _interopRequireDefault(require_path()); + var _loaders = require_loaders(); + var _getPropertyByPath = require_getPropertyByPath(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + var ExplorerBase = class { + constructor(options) { + if (options.cache === true) { + this.loadCache = /* @__PURE__ */ new Map(); + this.searchCache = /* @__PURE__ */ new Map(); + } + this.config = options; + this.validateConfig(); + } + clearLoadCache() { + if (this.loadCache) { + this.loadCache.clear(); + } + } + clearSearchCache() { + if (this.searchCache) { + this.searchCache.clear(); + } + } + clearCaches() { + this.clearLoadCache(); + this.clearSearchCache(); + } + validateConfig() { + const config = this.config; + config.searchPlaces.forEach((place) => { + const loaderKey = _path.default.extname(place) || "noExt"; + const loader = config.loaders[loaderKey]; + if (!loader) { + throw new Error(`No loader specified for ${getExtensionDescription(place)}, so searchPlaces item "${place}" is invalid`); + } + if (typeof loader !== "function") { + throw new Error(`loader for ${getExtensionDescription(place)} is not a function (type provided: "${typeof loader}"), so searchPlaces item "${place}" is invalid`); + } + }); + } + shouldSearchStopWithResult(result) { + if (result === null) return false; + if (result.isEmpty && this.config.ignoreEmptySearchPlaces) return false; + return true; + } + nextDirectoryToSearch(currentDir, currentResult) { + if (this.shouldSearchStopWithResult(currentResult)) { + return null; + } + const nextDir = nextDirUp(currentDir); + if (nextDir === currentDir || currentDir === this.config.stopDir) { + return null; + } + return nextDir; + } + loadPackageProp(filepath, content) { + const parsedContent = _loaders.loaders.loadJson(filepath, content); + const packagePropValue = (0, _getPropertyByPath.getPropertyByPath)(parsedContent, this.config.packageProp); + return packagePropValue || null; + } + getLoaderEntryForFile(filepath) { + if (_path.default.basename(filepath) === "package.json") { + const loader2 = this.loadPackageProp.bind(this); + return loader2; + } + const loaderKey = _path.default.extname(filepath) || "noExt"; + const loader = this.config.loaders[loaderKey]; + if (!loader) { + throw new Error(`No loader specified for ${getExtensionDescription(filepath)}`); + } + return loader; + } + loadedContentToCosmiconfigResult(filepath, loadedContent) { + if (loadedContent === null) { + return null; + } + if (loadedContent === void 0) { + return { + filepath, + config: void 0, + isEmpty: true + }; + } + return { + config: loadedContent, + filepath + }; + } + validateFilePath(filepath) { + if (!filepath) { + throw new Error("load must pass a non-empty string"); + } + } + }; + exports.ExplorerBase = ExplorerBase; + function nextDirUp(dir) { + return _path.default.dirname(dir); + } + function getExtensionDescription(filepath) { + const ext = _path.default.extname(filepath); + return ext ? `extension "${ext}"` : "files without extensions"; + } + } +}); + +// ../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/readFile.js +var require_readFile = __commonJS({ + "../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/readFile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.readFile = readFile; + exports.readFileSync = readFileSync; + var _fs = _interopRequireDefault(require_fs()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + async function fsReadFileAsync(pathname, encoding) { + return new Promise((resolve27, reject) => { + _fs.default.readFile(pathname, encoding, (error, contents) => { + if (error) { + reject(error); + return; + } + resolve27(contents); + }); + }); + } + async function readFile(filepath, options = {}) { + const throwNotFound = options.throwNotFound === true; + try { + const content = await fsReadFileAsync(filepath, "utf8"); + return content; + } catch (error) { + if (throwNotFound === false && (error.code === "ENOENT" || error.code === "EISDIR")) { + return null; + } + throw error; + } + } + function readFileSync(filepath, options = {}) { + const throwNotFound = options.throwNotFound === true; + try { + const content = _fs.default.readFileSync(filepath, "utf8"); + return content; + } catch (error) { + if (throwNotFound === false && (error.code === "ENOENT" || error.code === "EISDIR")) { + return null; + } + throw error; + } + } + } +}); + +// ../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/cacheWrapper.js +var require_cacheWrapper = __commonJS({ + "../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/cacheWrapper.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.cacheWrapper = cacheWrapper; + exports.cacheWrapperSync = cacheWrapperSync; + async function cacheWrapper(cache, key, fn) { + const cached = cache.get(key); + if (cached !== void 0) { + return cached; + } + const result = await fn(); + cache.set(key, result); + return result; + } + function cacheWrapperSync(cache, key, fn) { + const cached = cache.get(key); + if (cached !== void 0) { + return cached; + } + const result = fn(); + cache.set(key, result); + return result; + } + } +}); + +// ../../.yarn/cache/path-type-npm-4.0.0-10d47fc86a-666f6973f3.zip/node_modules/path-type/index.js +var require_path_type = __commonJS({ + "../../.yarn/cache/path-type-npm-4.0.0-10d47fc86a-666f6973f3.zip/node_modules/path-type/index.js"(exports) { + "use strict"; + var { promisify } = require_util2(); + var fs = require_fs(); + async function isType(fsStatType, statsMethodName, filePath) { + if (typeof filePath !== "string") { + throw new TypeError(`Expected a string, got ${typeof filePath}`); + } + try { + const stats = await promisify(fs[fsStatType])(filePath); + return stats[statsMethodName](); + } catch (error) { + if (error.code === "ENOENT") { + return false; + } + throw error; + } + } + function isTypeSync(fsStatType, statsMethodName, filePath) { + if (typeof filePath !== "string") { + throw new TypeError(`Expected a string, got ${typeof filePath}`); + } + try { + return fs[fsStatType](filePath)[statsMethodName](); + } catch (error) { + if (error.code === "ENOENT") { + return false; + } + throw error; + } + } + exports.isFile = isType.bind(null, "stat", "isFile"); + exports.isDirectory = isType.bind(null, "stat", "isDirectory"); + exports.isSymlink = isType.bind(null, "lstat", "isSymbolicLink"); + exports.isFileSync = isTypeSync.bind(null, "statSync", "isFile"); + exports.isDirectorySync = isTypeSync.bind(null, "statSync", "isDirectory"); + exports.isSymlinkSync = isTypeSync.bind(null, "lstatSync", "isSymbolicLink"); + } +}); + +// ../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/getDirectory.js +var require_getDirectory = __commonJS({ + "../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/getDirectory.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.getDirectory = getDirectory; + exports.getDirectorySync = getDirectorySync; + var _path = _interopRequireDefault(require_path()); + var _pathType = require_path_type(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + async function getDirectory(filepath) { + const filePathIsDirectory = await (0, _pathType.isDirectory)(filepath); + if (filePathIsDirectory === true) { + return filepath; + } + const directory = _path.default.dirname(filepath); + return directory; + } + function getDirectorySync(filepath) { + const filePathIsDirectory = (0, _pathType.isDirectorySync)(filepath); + if (filePathIsDirectory === true) { + return filepath; + } + const directory = _path.default.dirname(filepath); + return directory; + } + } +}); + +// ../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/Explorer.js +var require_Explorer = __commonJS({ + "../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/Explorer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.Explorer = void 0; + var _path = _interopRequireDefault(require_path()); + var _ExplorerBase = require_ExplorerBase(); + var _readFile = require_readFile(); + var _cacheWrapper = require_cacheWrapper(); + var _getDirectory = require_getDirectory(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + var Explorer = class extends _ExplorerBase.ExplorerBase { + constructor(options) { + super(options); + } + async search(searchFrom = process.cwd()) { + const startDirectory = await (0, _getDirectory.getDirectory)(searchFrom); + const result = await this.searchFromDirectory(startDirectory); + return result; + } + async searchFromDirectory(dir) { + const absoluteDir = _path.default.resolve(process.cwd(), dir); + const run = async () => { + const result = await this.searchDirectory(absoluteDir); + const nextDir = this.nextDirectoryToSearch(absoluteDir, result); + if (nextDir) { + return this.searchFromDirectory(nextDir); + } + const transformResult = await this.config.transform(result); + return transformResult; + }; + if (this.searchCache) { + return (0, _cacheWrapper.cacheWrapper)(this.searchCache, absoluteDir, run); + } + return run(); + } + async searchDirectory(dir) { + for await (const place of this.config.searchPlaces) { + const placeResult = await this.loadSearchPlace(dir, place); + if (this.shouldSearchStopWithResult(placeResult) === true) { + return placeResult; + } + } + return null; + } + async loadSearchPlace(dir, place) { + const filepath = _path.default.join(dir, place); + const fileContents = await (0, _readFile.readFile)(filepath); + const result = await this.createCosmiconfigResult(filepath, fileContents); + return result; + } + async loadFileContent(filepath, content) { + if (content === null) { + return null; + } + if (content.trim() === "") { + return void 0; + } + const loader = this.getLoaderEntryForFile(filepath); + const loaderResult = await loader(filepath, content); + return loaderResult; + } + async createCosmiconfigResult(filepath, content) { + const fileContent = await this.loadFileContent(filepath, content); + const result = this.loadedContentToCosmiconfigResult(filepath, fileContent); + return result; + } + async load(filepath) { + this.validateFilePath(filepath); + const absoluteFilePath = _path.default.resolve(process.cwd(), filepath); + const runLoad = async () => { + const fileContents = await (0, _readFile.readFile)(absoluteFilePath, { + throwNotFound: true + }); + const result = await this.createCosmiconfigResult(absoluteFilePath, fileContents); + const transformResult = await this.config.transform(result); + return transformResult; + }; + if (this.loadCache) { + return (0, _cacheWrapper.cacheWrapper)(this.loadCache, absoluteFilePath, runLoad); + } + return runLoad(); + } + }; + exports.Explorer = Explorer; + } +}); + +// ../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/ExplorerSync.js +var require_ExplorerSync = __commonJS({ + "../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/ExplorerSync.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.ExplorerSync = void 0; + var _path = _interopRequireDefault(require_path()); + var _ExplorerBase = require_ExplorerBase(); + var _readFile = require_readFile(); + var _cacheWrapper = require_cacheWrapper(); + var _getDirectory = require_getDirectory(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + var ExplorerSync = class extends _ExplorerBase.ExplorerBase { + constructor(options) { + super(options); + } + searchSync(searchFrom = process.cwd()) { + const startDirectory = (0, _getDirectory.getDirectorySync)(searchFrom); + const result = this.searchFromDirectorySync(startDirectory); + return result; + } + searchFromDirectorySync(dir) { + const absoluteDir = _path.default.resolve(process.cwd(), dir); + const run = () => { + const result = this.searchDirectorySync(absoluteDir); + const nextDir = this.nextDirectoryToSearch(absoluteDir, result); + if (nextDir) { + return this.searchFromDirectorySync(nextDir); + } + const transformResult = this.config.transform(result); + return transformResult; + }; + if (this.searchCache) { + return (0, _cacheWrapper.cacheWrapperSync)(this.searchCache, absoluteDir, run); + } + return run(); + } + searchDirectorySync(dir) { + for (const place of this.config.searchPlaces) { + const placeResult = this.loadSearchPlaceSync(dir, place); + if (this.shouldSearchStopWithResult(placeResult) === true) { + return placeResult; + } + } + return null; + } + loadSearchPlaceSync(dir, place) { + const filepath = _path.default.join(dir, place); + const content = (0, _readFile.readFileSync)(filepath); + const result = this.createCosmiconfigResultSync(filepath, content); + return result; + } + loadFileContentSync(filepath, content) { + if (content === null) { + return null; + } + if (content.trim() === "") { + return void 0; + } + const loader = this.getLoaderEntryForFile(filepath); + const loaderResult = loader(filepath, content); + return loaderResult; + } + createCosmiconfigResultSync(filepath, content) { + const fileContent = this.loadFileContentSync(filepath, content); + const result = this.loadedContentToCosmiconfigResult(filepath, fileContent); + return result; + } + loadSync(filepath) { + this.validateFilePath(filepath); + const absoluteFilePath = _path.default.resolve(process.cwd(), filepath); + const runLoadSync = () => { + const content = (0, _readFile.readFileSync)(absoluteFilePath, { + throwNotFound: true + }); + const cosmiconfigResult = this.createCosmiconfigResultSync(absoluteFilePath, content); + const transformResult = this.config.transform(cosmiconfigResult); + return transformResult; + }; + if (this.loadCache) { + return (0, _cacheWrapper.cacheWrapperSync)(this.loadCache, absoluteFilePath, runLoadSync); + } + return runLoadSync(); + } + }; + exports.ExplorerSync = ExplorerSync; + } +}); + +// ../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/types.js +var require_types = __commonJS({ + "../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + } +}); + +// ../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/index.js +var require_dist = __commonJS({ + "../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.cosmiconfig = cosmiconfig; + exports.cosmiconfigSync = cosmiconfigSync; + exports.defaultLoaders = void 0; + var _os = _interopRequireDefault(require_os()); + var _Explorer = require_Explorer(); + var _ExplorerSync = require_ExplorerSync(); + var _loaders = require_loaders(); + var _types = require_types(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + function cosmiconfig(moduleName, options = {}) { + const normalizedOptions = normalizeOptions(moduleName, options); + const explorer = new _Explorer.Explorer(normalizedOptions); + return { + search: explorer.search.bind(explorer), + load: explorer.load.bind(explorer), + clearLoadCache: explorer.clearLoadCache.bind(explorer), + clearSearchCache: explorer.clearSearchCache.bind(explorer), + clearCaches: explorer.clearCaches.bind(explorer) + }; + } + function cosmiconfigSync(moduleName, options = {}) { + const normalizedOptions = normalizeOptions(moduleName, options); + const explorerSync = new _ExplorerSync.ExplorerSync(normalizedOptions); + return { + search: explorerSync.searchSync.bind(explorerSync), + load: explorerSync.loadSync.bind(explorerSync), + clearLoadCache: explorerSync.clearLoadCache.bind(explorerSync), + clearSearchCache: explorerSync.clearSearchCache.bind(explorerSync), + clearCaches: explorerSync.clearCaches.bind(explorerSync) + }; + } + var defaultLoaders = Object.freeze({ + ".cjs": _loaders.loaders.loadJs, + ".js": _loaders.loaders.loadJs, + ".json": _loaders.loaders.loadJson, + ".yaml": _loaders.loaders.loadYaml, + ".yml": _loaders.loaders.loadYaml, + noExt: _loaders.loaders.loadYaml + }); + exports.defaultLoaders = defaultLoaders; + var identity = function identity2(x) { + return x; + }; + function normalizeOptions(moduleName, options) { + const defaults = { + packageProp: moduleName, + searchPlaces: ["package.json", `.${moduleName}rc`, `.${moduleName}rc.json`, `.${moduleName}rc.yaml`, `.${moduleName}rc.yml`, `.${moduleName}rc.js`, `.${moduleName}rc.cjs`, `.config/${moduleName}rc`, `.config/${moduleName}rc.json`, `.config/${moduleName}rc.yaml`, `.config/${moduleName}rc.yml`, `.config/${moduleName}rc.js`, `.config/${moduleName}rc.cjs`, `${moduleName}.config.js`, `${moduleName}.config.cjs`], + ignoreEmptySearchPlaces: true, + stopDir: _os.default.homedir(), + cache: true, + transform: identity, + loaders: defaultLoaders + }; + const normalizedOptions = { + ...defaults, + ...options, + loaders: { + ...defaults.loaders, + ...options.loaders + } + }; + return normalizedOptions; + } + } +}); + +// ../../.yarn/cache/babel-plugin-macros-npm-3.1.0-320e781f4e-c6dfb15de9.zip/node_modules/babel-plugin-macros/dist/index.js +var require_dist2 = __commonJS({ + "../../.yarn/cache/babel-plugin-macros-npm-3.1.0-320e781f4e-c6dfb15de9.zip/node_modules/babel-plugin-macros/dist/index.js"(exports, module) { + "use strict"; + var p = require_path(); + var resolve27 = require_resolve(); + var macrosRegex = /[./]macro(\.c?js)?$/; + var testMacrosRegex = (v) => macrosRegex.test(v); + var MacroError = class extends Error { + constructor(message) { + super(message); + this.name = "MacroError"; + if (typeof Error.captureStackTrace === "function") { + Error.captureStackTrace(this, this.constructor); + } else if (!this.stack) { + this.stack = new Error(message).stack; + } + } + }; + var _configExplorer = null; + function getConfigExplorer() { + return _configExplorer = _configExplorer || // Lazy load cosmiconfig since it is a relatively large bundle + require_dist().cosmiconfigSync("babel-plugin-macros", { + searchPlaces: ["package.json", ".babel-plugin-macrosrc", ".babel-plugin-macrosrc.json", ".babel-plugin-macrosrc.yaml", ".babel-plugin-macrosrc.yml", ".babel-plugin-macrosrc.js", "babel-plugin-macros.config.js"], + packageProp: "babelMacros" + }); + } + function createMacro2(macro, options = {}) { + if (options.configName === "options") { + throw new Error(`You cannot use the configName "options". It is reserved for babel-plugin-macros.`); + } + macroWrapper.isBabelMacro = true; + macroWrapper.options = options; + return macroWrapper; + function macroWrapper(args) { + const { + source, + isBabelMacrosCall + } = args; + if (!isBabelMacrosCall) { + throw new MacroError(`The macro you imported from "${source}" is being executed outside the context of compilation with babel-plugin-macros. This indicates that you don't have the babel plugin "babel-plugin-macros" configured correctly. Please see the documentation for how to configure babel-plugin-macros properly: https://github.com/kentcdodds/babel-plugin-macros/blob/master/other/docs/user.md`); + } + return macro(args); + } + } + function nodeResolvePath(source, basedir) { + return resolve27.sync(source, { + basedir, + extensions: [".js", ".ts", ".tsx", ".mjs", ".cjs", ".jsx"], + // This is here to support the package being globally installed + // read more: https://github.com/kentcdodds/babel-plugin-macros/pull/138 + paths: [p.resolve(__dirname, "../../")] + }); + } + function macrosPlugin(babel, { + require: _require = __require, + resolvePath = nodeResolvePath, + isMacrosName = testMacrosRegex, + ...options + } = {}) { + function interopRequire(path) { + const o = _require(path); + return o && o.__esModule && o.default ? o.default : o; + } + return { + name: "macros", + visitor: { + Program(progPath, state) { + progPath.traverse({ + ImportDeclaration(path) { + const isMacros = looksLike(path, { + node: { + source: { + value: (v) => isMacrosName(v) + } + } + }); + if (!isMacros) { + return; + } + const imports = path.node.specifiers.map((s) => ({ + localName: s.local.name, + importedName: s.type === "ImportDefaultSpecifier" ? "default" : s.imported.name + })); + const source = path.node.source.value; + const result = applyMacros({ + path, + imports, + source, + state, + babel, + interopRequire, + resolvePath, + options + }); + if (!result || !result.keepImports) { + path.remove(); + } + }, + VariableDeclaration(path) { + const isMacros = (child) => looksLike(child, { + node: { + init: { + callee: { + type: "Identifier", + name: "require" + }, + arguments: (args) => args.length === 1 && isMacrosName(args[0].value) + } + } + }); + path.get("declarations").filter(isMacros).forEach((child) => { + const imports = child.node.id.name ? [{ + localName: child.node.id.name, + importedName: "default" + }] : child.node.id.properties.map((property) => ({ + localName: property.value.name, + importedName: property.key.name + })); + const call = child.get("init"); + const source = call.node.arguments[0].value; + const result = applyMacros({ + path: call, + imports, + source, + state, + babel, + interopRequire, + resolvePath, + options + }); + if (!result || !result.keepImports) { + child.remove(); + } + }); + } + }); + } + } + }; + } + function applyMacros({ + path, + imports, + source, + state, + babel, + interopRequire, + resolvePath, + options + }) { + const { + file: { + opts: { + filename = "" + } + } + } = state; + let hasReferences = false; + const referencePathsByImportName = imports.reduce((byName, { + importedName, + localName + }) => { + const binding = path.scope.getBinding(localName); + byName[importedName] = binding.referencePaths; + hasReferences = hasReferences || Boolean(byName[importedName].length); + return byName; + }, {}); + const isRelative = source.indexOf(".") === 0; + const requirePath = resolvePath(source, p.dirname(getFullFilename(filename))); + const macro = interopRequire(requirePath); + if (!macro.isBabelMacro) { + throw new Error(`The macro imported from "${source}" must be wrapped in "createMacro" which you can get from "babel-plugin-macros". Please refer to the documentation to see how to do this properly: https://github.com/kentcdodds/babel-plugin-macros/blob/master/other/docs/author.md#writing-a-macro`); + } + const config = getConfig(macro, filename, source, options); + let result; + try { + state.file.scope.path.traverse({ + Identifier() { + } + }); + result = macro({ + references: referencePathsByImportName, + source, + state, + babel, + config, + isBabelMacrosCall: true + }); + } catch (error) { + if (error.name === "MacroError") { + throw error; + } + error.message = `${source}: ${error.message}`; + if (!isRelative) { + error.message = `${error.message} Learn more: https://www.npmjs.com/package/${source.replace( + // remove everything after package name + // @org/package/macro -> @org/package + // package/macro -> package + /^((?:@[^/]+\/)?[^/]+).*/, + "$1" + )}`; + } + throw error; + } + return result; + } + function getConfigFromFile(configName, filename) { + try { + const loaded = getConfigExplorer().search(filename); + if (loaded) { + return { + options: loaded.config[configName], + path: loaded.filepath + }; + } + } catch (e) { + return { + error: e + }; + } + return {}; + } + function getConfigFromOptions(configName, options) { + if (options.hasOwnProperty(configName)) { + if (options[configName] && typeof options[configName] !== "object") { + console.error(`The macro plugin options' ${configName} property was not an object or null.`); + } else { + return { + options: options[configName] + }; + } + } + return {}; + } + function getConfig(macro, filename, source, options) { + const { + configName + } = macro.options; + if (configName) { + const fileConfig = getConfigFromFile(configName, filename); + const optionsConfig = getConfigFromOptions(configName, options); + if (optionsConfig.options === void 0 && fileConfig.options === void 0 && fileConfig.error !== void 0) { + console.error(`There was an error trying to load the config "${configName}" for the macro imported from "${source}. Please see the error thrown for more information.`); + throw fileConfig.error; + } + if (fileConfig.options !== void 0 && optionsConfig.options !== void 0 && typeof fileConfig.options !== "object") { + throw new Error(`${fileConfig.path} specified a ${configName} config of type ${typeof optionsConfig.options}, but the the macros plugin's options.${configName} did contain an object. Both configs must contain objects for their options to be mergeable.`); + } + return { + ...optionsConfig.options, + ...fileConfig.options + }; + } + return void 0; + } + function getFullFilename(filename) { + if (p.isAbsolute(filename)) { + return filename; + } + return p.join(process.cwd(), filename); + } + function looksLike(a, b) { + return a && b && Object.keys(b).every((bKey) => { + const bVal = b[bKey]; + const aVal = a[bKey]; + if (typeof bVal === "function") { + return bVal(aVal); + } + return isPrimitive(bVal) ? bVal === aVal : looksLike(aVal, bVal); + }); + } + function isPrimitive(val) { + return val == null || /^[sbn]/.test(typeof val); + } + module.exports = macrosPlugin; + Object.assign(module.exports, { + createMacro: createMacro2, + MacroError + }); + } +}); + +// ../../.yarn/cache/@emotion-babel-plugin-npm-11.13.5-ca65815e43-8ccbfec7de.zip/node_modules/@emotion/babel-plugin/dist/emotion-babel-plugin.esm.js +var emotion_babel_plugin_esm_exports = {}; +__export(emotion_babel_plugin_esm_exports, { + default: () => index, + macros: () => macros +}); +function getLabel(identifierName, labelFormat, filename) { + if (!identifierName) return null; + var sanitizedName = sanitizeLabelPart(identifierName); + if (!labelFormat) { + return sanitizedName; + } + if (typeof labelFormat === "function") { + return labelFormat({ + name: sanitizedName, + path: filename + }); + } + var parsedPath = import_path.default.parse(filename); + var localDirname = import_path.default.basename(parsedPath.dir); + var localFilename = parsedPath.name; + if (localFilename === "index") { + localFilename = localDirname; + } + return labelFormat.replace(/\[local\]/gi, sanitizedName).replace(/\[filename\]/gi, sanitizeLabelPart(localFilename)).replace(/\[dirname\]/gi, sanitizeLabelPart(localDirname)); +} +function getLabelFromPath(path, state, t) { + return getLabel(getIdentifierName(path, t), state.opts.labelFormat, state.file.opts.filename); +} +function getDeclaratorName(path, t) { + var parent = path.findParent(function(p) { + return p.isVariableDeclarator() || p.isAssignmentExpression() || p.isFunctionDeclaration() || p.isFunctionExpression() || p.isArrowFunctionExpression() || p.isObjectProperty() || p.isObjectMethod(); + }); + if (!parent) { + return ""; + } + if (parent.isVariableDeclarator()) { + if (t.isIdentifier(parent.node.id)) { + return parent.node.id.name; + } + return ""; + } + if (parent.isAssignmentExpression()) { + var left = parent.node.left; + if (t.isIdentifier(left)) { + return left.name; + } + if (t.isMemberExpression(left)) { + var memberExpression = left; + var name = ""; + while (true) { + if (!t.isIdentifier(memberExpression.property)) { + return ""; + } + name = "" + memberExpression.property.name + (name ? "-" + name : ""); + if (t.isIdentifier(memberExpression.object)) { + return memberExpression.object.name + "-" + name; + } + if (!t.isMemberExpression(memberExpression.object)) { + return ""; + } + memberExpression = memberExpression.object; + } + } + return ""; + } + if (parent.isFunctionDeclaration()) { + return parent.node.id.name || ""; + } + if (parent.isFunctionExpression()) { + if (parent.node.id) { + return parent.node.id.name || ""; + } + return getDeclaratorName(parent, t); + } + if (parent.isArrowFunctionExpression()) { + return getDeclaratorName(parent, t); + } + var objPropertyLikeName = getObjPropertyLikeName(parent, t); + if (objPropertyLikeName) { + return objPropertyLikeName; + } + var variableDeclarator = parent.findParent(function(p) { + return p.isVariableDeclarator(); + }); + if (!variableDeclarator || !variableDeclarator.get("id").isIdentifier()) { + return ""; + } + return variableDeclarator.node.id.name; +} +function getIdentifierName(path, t) { + var objPropertyLikeName = getObjPropertyLikeName(path.parentPath, t); + if (objPropertyLikeName) { + return objPropertyLikeName; + } + var classOrClassPropertyParent = path.findParent(function(p) { + return t.isClassProperty(p) || t.isClass(p); + }); + if (classOrClassPropertyParent) { + if (t.isClassProperty(classOrClassPropertyParent) && classOrClassPropertyParent.node.computed === false && t.isIdentifier(classOrClassPropertyParent.node.key)) { + return classOrClassPropertyParent.node.key.name; + } + if (t.isClass(classOrClassPropertyParent) && classOrClassPropertyParent.node.id) { + return t.isIdentifier(classOrClassPropertyParent.node.id) ? classOrClassPropertyParent.node.id.name : ""; + } + } + var declaratorName = getDeclaratorName(path, t); + if (declaratorName.charAt(0) === "_") { + return ""; + } + return declaratorName; +} +function getGeneratorOpts(file) { + return file.opts.generatorOpts ? file.opts.generatorOpts : file.opts; +} +function makeSourceMapGenerator(file) { + var generatorOpts = getGeneratorOpts(file); + var filename = generatorOpts.sourceFileName; + var generator = new import_source_map.SourceMapGenerator({ + file: filename, + sourceRoot: generatorOpts.sourceRoot + }); + generator.setSourceContent(filename, file.code); + return generator; +} +function getSourceMap(offset, state) { + var generator = makeSourceMapGenerator(state.file); + var generatorOpts = getGeneratorOpts(state.file); + if (generatorOpts.sourceFileName && generatorOpts.sourceFileName !== "unknown") { + generator.addMapping({ + generated: { + line: 1, + column: 0 + }, + source: generatorOpts.sourceFileName, + original: offset + }); + return import_convert_source_map.default.fromObject(generator).toComment({ + multiline: true + }); + } + return ""; +} +function getTargetClassName(state, t) { + if (state.emotionTargetClassNameCount === void 0) { + state.emotionTargetClassNameCount = 0; + } + var hasFilepath = state.file.opts.filename && state.file.opts.filename !== "unknown"; + var filename = hasFilepath ? state.file.opts.filename : ""; + var moduleName = ""; + var rootPath = filename; + try { + rootPath = getPackageRootPath(filename); + moduleName = unsafeRequire(rootPath + "/package.json").name; + } catch (err) { + } + var finalPath = filename === rootPath ? "root" : filename.slice(rootPath.length); + var positionInFile = state.emotionTargetClassNameCount++; + var stuffToHash = [moduleName]; + if (finalPath) { + stuffToHash.push(normalizePath(finalPath)); + } else { + stuffToHash.push(state.file.code); + } + var stableClassName = "e" + hashArray(stuffToHash) + positionInFile; + return stableClassName; +} +function simplifyObject(node, t) { + var finalString = ""; + for (var i = 0; i < node.properties.length; i++) { + var _ref; + var property = node.properties[i]; + if (!t.isObjectProperty(property) || property.computed || !t.isIdentifier(property.key) && !t.isStringLiteral(property.key) || !t.isStringLiteral(property.value) && !t.isNumericLiteral(property.value) && !t.isObjectExpression(property.value)) { + return node; + } + var key = property.key.name || property.key.value; + if (key === "styles") { + return node; + } + if (t.isObjectExpression(property.value)) { + var simplifiedChild = simplifyObject(property.value, t); + if (!t.isStringLiteral(simplifiedChild)) { + return node; + } + finalString += key + "{" + simplifiedChild.value + "}"; + continue; + } + var value2 = property.value.value; + finalString += serializeStyles([(_ref = {}, _ref[key] = value2, _ref)]).styles; + } + return t.stringLiteral(finalString); +} +function getDynamicMatches(str) { + var re = /xxx(\d+):xxx/gm; + var match; + var matches = []; + while ((match = re.exec(str)) !== null) { + if (match !== null) { + matches.push({ + value: match[0], + p1: parseInt(match[1], 10), + index: match.index + }); + } + } + return matches; +} +function replacePlaceholdersWithExpressions(str, expressions, t) { + var matches = getDynamicMatches(str); + if (matches.length === 0) { + if (str === "") { + return []; + } + return [t.stringLiteral(str)]; + } + var strings = []; + var finalExpressions = []; + var cursor = 0; + matches.forEach(function(_ref, i) { + var value2 = _ref.value, p1 = _ref.p1, index2 = _ref.index; + var preMatch = str.substring(cursor, index2); + cursor = cursor + preMatch.length + value2.length; + if (!preMatch && i === 0) { + strings.push(t.stringLiteral("")); + } else { + strings.push(t.stringLiteral(preMatch)); + } + finalExpressions.push(expressions[p1]); + if (i === matches.length - 1) { + strings.push(t.stringLiteral(str.substring(index2 + value2.length))); + } + }); + return interleave(strings, finalExpressions).filter(function(node) { + return node.value !== ""; + }); +} +function createRawStringFromTemplateLiteral(quasi) { + var strs = quasi.quasis.map(function(x) { + return x.value.cooked; + }); + var src = strs.reduce(function(arr, str, i) { + arr.push(str); + if (i !== strs.length - 1) { + arr.push("xxx" + i + ":xxx"); + } + return arr; + }, []).join("").trim(); + return src; +} +function minify(path, t) { + var quasi = path.node.quasi; + var raw = createRawStringFromTemplateLiteral(quasi); + var minified = stringifyTree(toInputTree(compile(raw), [])); + var expressions = replacePlaceholdersWithExpressions(minified, quasi.expressions || [], t); + path.replaceWith(t.callExpression(path.node.tag, expressions)); +} +function getTypeScriptMakeTemplateObjectPath(path) { + if (path.node.arguments.length === 0) { + return null; + } + var firstArgPath = path.get("arguments")[0]; + if (firstArgPath.isLogicalExpression() && firstArgPath.get("left").isIdentifier() && firstArgPath.get("right").isAssignmentExpression() && firstArgPath.get("right.right").isCallExpression() && firstArgPath.get("right.right.callee").isIdentifier() && firstArgPath.node.right.right.callee.name.includes("makeTemplateObject") && firstArgPath.node.right.right.arguments.length === 2) { + return firstArgPath.get("right.right"); + } + return null; +} +function isTaggedTemplateTranspiledByBabel(path) { + if (path.node.arguments.length === 0) { + return false; + } + var firstArgPath = path.get("arguments")[0]; + if (!firstArgPath.isCallExpression() || !firstArgPath.get("callee").isIdentifier()) { + return false; + } + var calleeName = firstArgPath.node.callee.name; + if (!calleeName.includes("templateObject")) { + return false; + } + var bindingPath = path.scope.getBinding(calleeName).path; + if (!bindingPath.isFunction()) { + return false; + } + var functionBody = bindingPath.get("body.body"); + if (!functionBody[0].isVariableDeclaration()) { + return false; + } + var declarationInit = functionBody[0].get("declarations")[0].get("init"); + if (!declarationInit.isCallExpression()) { + return false; + } + var declarationInitArguments = declarationInit.get("arguments"); + if (declarationInitArguments.length === 0 || declarationInitArguments.length > 2 || declarationInitArguments.some(function(argPath) { + return !argPath.isArrayExpression(); + })) { + return false; + } + return true; +} +function createNodeEnvConditional(t, production, development) { + return t.conditionalExpression(t.binaryExpression("===", t.memberExpression(t.memberExpression(t.identifier("process"), t.identifier("env")), t.identifier("NODE_ENV")), t.stringLiteral("production")), production, development); +} +function addImport(state, importSource, importedSpecifier, nameHint) { + var cacheKey = ["import", importSource, importedSpecifier].join(":"); + if (state[cacheKey] === void 0) { + var importIdentifier; + if (importedSpecifier === "default") { + importIdentifier = (0, import_helper_module_imports.addDefault)(state.file.path, importSource, { + nameHint + }); + } else { + importIdentifier = (0, import_helper_module_imports.addNamed)(state.file.path, importedSpecifier, importSource, { + nameHint + }); + } + state[cacheKey] = importIdentifier.name; + } + return { + type: "Identifier", + name: state[cacheKey] + }; +} +function createTransformerMacro(transformers2, _ref) { + var importSource = _ref.importSource; + var macro = (0, import_babel_plugin_macros.createMacro)(function(_ref2) { + var path = _ref2.path, source = _ref2.source, references = _ref2.references, state = _ref2.state, babel = _ref2.babel, isEmotionCall = _ref2.isEmotionCall; + if (!path) { + path = state.file.scope.path.get("body").find(function(p) { + return p.isImportDeclaration() && p.node.source.value === source; + }); + } + if (/\/macro$/.test(source)) { + path.get("source").replaceWith(babel.types.stringLiteral(source.replace(/\/macro$/, ""))); + } + if (!isEmotionCall) { + state.emotionSourceMap = true; + } + Object.keys(references).forEach(function(importSpecifierName) { + if (transformers2[importSpecifierName]) { + references[importSpecifierName].reverse().forEach(function(reference) { + var options; + var transformer; + if (Array.isArray(transformers2[importSpecifierName])) { + transformer = transformers2[importSpecifierName][0]; + options = transformers2[importSpecifierName][1]; + } else { + transformer = transformers2[importSpecifierName]; + options = {}; + } + transformer({ + state, + babel, + path, + importSource, + importSpecifierName, + options, + reference + }); + }); + } + }); + return { + keepImports: true + }; + }); + macro.transformers = transformers2; + return macro; +} +function index(babel, options) { + if (options.autoLabel !== void 0 && !AUTO_LABEL_VALUES.includes(options.autoLabel)) { + throw new Error("The 'autoLabel' option must be undefined, or one of the following: " + AUTO_LABEL_VALUES.map(function(s) { + return '"' + s + '"'; + }).join(", ")); + } + var t = babel.types; + return { + name: "@emotion", + // https://github.com/babel/babel/blob/0c97749e0fe8ad845b902e0b23a24b308b0bf05d/packages/babel-plugin-syntax-jsx/src/index.ts#L9-L18 + manipulateOptions: function manipulateOptions(opts, parserOpts) { + var plugins = parserOpts.plugins; + if (plugins.some(function(p) { + var plugin = Array.isArray(p) ? p[0] : p; + return plugin === "typescript" || plugin === "jsx"; + })) { + return; + } + plugins.push("jsx"); + }, + visitor: { + ImportDeclaration: function ImportDeclaration(path, state) { + var macro = state.pluginMacros[path.node.source.value]; + if (macro === void 0) { + return; + } + if (t.isImportNamespaceSpecifier(path.node.specifiers[0])) { + return; + } + var imports = path.node.specifiers.map(function(s) { + return { + localName: s.local.name, + importedName: s.type === "ImportDefaultSpecifier" ? "default" : s.imported.name + }; + }); + var shouldExit = false; + var hasReferences = false; + var referencePathsByImportName = imports.reduce(function(byName, _ref) { + var importedName = _ref.importedName, localName = _ref.localName; + var binding = path.scope.getBinding(localName); + if (!binding) { + shouldExit = true; + return byName; + } + byName[importedName] = binding.referencePaths; + hasReferences = hasReferences || Boolean(byName[importedName].length); + return byName; + }, {}); + if (!hasReferences || shouldExit) { + return; + } + state.file.scope.path.traverse({ + Identifier: function Identifier() { + } + }); + macro({ + path, + references: referencePathsByImportName, + state, + babel, + isEmotionCall: true, + isBabelMacrosCall: true + }); + }, + Program: function Program(path, state) { + var macros2 = {}; + var jsxReactImports = [{ + importSource: "@emotion/react", + "export": "jsx", + cssExport: "css" + }]; + state.jsxReactImport = jsxReactImports[0]; + Object.keys(state.opts.importMap || {}).forEach(function(importSource) { + var value2 = state.opts.importMap[importSource]; + var transformers2 = {}; + Object.keys(value2).forEach(function(localExportName) { + var _value$localExportNam = value2[localExportName], canonicalImport = _value$localExportNam.canonicalImport, options2 = _objectWithoutPropertiesLoose(_value$localExportNam, _excluded); + var packageName = canonicalImport[0], exportName = canonicalImport[1]; + if (packageName === "@emotion/react" && exportName === "jsx") { + jsxReactImports.push({ + importSource, + "export": localExportName, + cssExport: getCssExport("jsx", importSource, value2) + }); + return; + } + var packageTransformers = transformersSource[packageName]; + if (packageTransformers === void 0) { + throw new Error("There is no transformer for the export '" + exportName + "' in '" + packageName + "'"); + } + var extraOptions; + if (packageName === "@emotion/react" && exportName === "Global") { + extraOptions = { + cssExport: getCssExport("Global", importSource, value2) + }; + } else if (packageName === "@emotion/styled" && exportName === "default") { + extraOptions = { + styledBaseImport: void 0 + }; + } + var _ref2 = Array.isArray(packageTransformers[exportName]) ? packageTransformers[exportName] : [packageTransformers[exportName]], exportTransformer = _ref2[0], defaultOptions2 = _ref2[1]; + transformers2[localExportName] = [exportTransformer, _extends({}, defaultOptions2, extraOptions, options2)]; + }); + macros2[importSource] = createTransformerMacro(transformers2, { + importSource + }); + }); + state.pluginMacros = _extends({ + "@emotion/styled": webStyledMacro, + "@emotion/react": coreMacro, + "@emotion/primitives": primitivesStyledMacro, + "@emotion/native": nativeStyledMacro, + "@emotion/css": vanillaEmotionMacro + }, macros2); + var _loop = function _loop2() { + var node = _step.value; + if (t.isImportDeclaration(node)) { + var jsxReactImport = jsxReactImports.find(function(thing) { + return node.source.value === thing.importSource && node.specifiers.some(function(x) { + return t.isImportSpecifier(x) && x.imported.name === thing["export"]; + }); + }); + if (jsxReactImport) { + state.jsxReactImport = jsxReactImport; + return "break"; + } + } + }; + for (var _iterator = _createForOfIteratorHelperLoose(path.node.body), _step; !(_step = _iterator()).done; ) { + var _ret = _loop(); + if (_ret === "break") break; + } + if (state.opts.cssPropOptimization === false) { + state.transformCssProp = false; + } else { + state.transformCssProp = true; + } + if (state.opts.sourceMap === false) { + state.emotionSourceMap = false; + } else { + state.emotionSourceMap = true; + } + }, + JSXAttribute: function JSXAttribute(path, state) { + if (path.node.name.name !== "css" || !state.transformCssProp) { + return; + } + if (t.isJSXExpressionContainer(path.node.value)) { + if (t.isArrayExpression(path.node.value.expression)) { + transformCsslessArrayExpression({ + state, + babel, + path + }); + } else if (t.isObjectExpression(path.node.value.expression)) { + transformCsslessObjectExpression({ + state, + babel, + path, + cssImport: state.jsxReactImport + }); + } + } + }, + CallExpression: { + exit: function exit(path, state) { + try { + if (path.node.callee && path.node.callee.property && path.node.callee.property.name === "withComponent") { + switch (path.node.arguments.length) { + case 1: + case 2: { + path.node.arguments[1] = getStyledOptions(t, path, state); + } + } + } + } catch (e) { + throw path.buildCodeFrameError(e); + } + } + } + } + }; +} +var import_path, import_source_map, import_convert_source_map, import_find_root, import_escape_string_regexp, import_helper_module_imports, import_babel_plugin_macros, invalidClassNameCharacters, sanitizeLabelPart, getObjPropertyLikeName, hashArray, unsafeRequire, getPackageRootPath, separator, normalizePath, haveSameLocation, isAutoInsertedRule, toInputTree, stringifyTree, interleave, appendStringReturningExpressionToArguments, joinStringLiterals, CSS_OBJECT_STRINGIFIED_ERROR, transformExpressionWithStyles, getKnownProperties, createObjectSpreadLike, getStyledOptions, isAlreadyTranspiled, createEmotionTransformer, transformers$1, createEmotionMacro, getReferencedSpecifier, styledTransformer, createStyledMacro, transformCssCallExpression, transformCsslessArrayExpression, transformCsslessObjectExpression, cssTransformer, globalTransformer, transformers, coreMacro, _excluded, getCssExport, webStyledMacro, nativeStyledMacro, primitivesStyledMacro, vanillaEmotionMacro, transformersSource, macros, AUTO_LABEL_VALUES; +var init_emotion_babel_plugin_esm = __esm({ + "../../.yarn/cache/@emotion-babel-plugin-npm-11.13.5-ca65815e43-8ccbfec7de.zip/node_modules/@emotion/babel-plugin/dist/emotion-babel-plugin.esm.js"() { + init_createForOfIteratorHelperLoose(); + init_extends(); + init_objectWithoutPropertiesLoose(); + import_path = __toESM(require_path()); + import_source_map = __toESM(require_source_map()); + import_convert_source_map = __toESM(require_convert_source_map()); + import_find_root = __toESM(require_find_root()); + init_emotion_memoize_esm(); + init_emotion_hash_esm(); + import_escape_string_regexp = __toESM(require_escape_string_regexp()); + init_emotion_serialize_development_esm(); + init_stylis(); + import_helper_module_imports = __toESM(require_lib4()); + import_babel_plugin_macros = __toESM(require_dist2()); + invalidClassNameCharacters = /[!"#$%&'()*+,./:;<=>?@[\]^`|}~{]/g; + sanitizeLabelPart = function sanitizeLabelPart2(labelPart) { + return labelPart.trim().replace(invalidClassNameCharacters, "-"); + }; + getObjPropertyLikeName = function getObjPropertyLikeName2(path, t) { + if (!t.isObjectProperty(path) && !t.isObjectMethod(path) || path.node.computed) { + return null; + } + if (t.isIdentifier(path.node.key)) { + return path.node.key.name; + } + if (t.isStringLiteral(path.node.key)) { + return path.node.key.value.replace(/\s+/g, "-"); + } + return null; + }; + hashArray = function hashArray2(arr) { + return murmur2(arr.join("")); + }; + unsafeRequire = __require; + getPackageRootPath = memoize(function(filename) { + return (0, import_find_root.default)(filename); + }); + separator = new RegExp((0, import_escape_string_regexp.default)(import_path.default.sep), "g"); + normalizePath = function normalizePath2(path) { + return import_path.default.normalize(path).replace(separator, "/"); + }; + haveSameLocation = function haveSameLocation2(element1, element2) { + return element1.line === element2.line && element1.column === element2.column; + }; + isAutoInsertedRule = function isAutoInsertedRule2(element) { + return element.type === "rule" && element.parent && haveSameLocation(element, element.parent); + }; + toInputTree = function toInputTree2(elements, tree) { + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + var parent = element.parent, children = element.children; + if (!parent) { + tree.push(element); + } else if (!isAutoInsertedRule(element)) { + parent.children.push(element); + } + if (Array.isArray(children)) { + element.children = []; + toInputTree2(children, tree); + } + } + return tree; + }; + stringifyTree = function stringifyTree2(elements) { + return elements.map(function(element) { + switch (element.type) { + case "import": + case "decl": + return element.value; + case "comm": + return element.props === "/" && element.value.includes("@") ? element.value : ""; + case "rule": + return element.value.replace(/&\f/g, "&") + "{" + stringifyTree2(element.children) + "}"; + default: { + return element.value + "{" + stringifyTree2(element.children) + "}"; + } + } + }).join(""); + }; + interleave = function interleave2(strings, interpolations) { + return interpolations.reduce(function(array, interp, i) { + return array.concat([interp], strings[i + 1]); + }, [strings[0]]); + }; + appendStringReturningExpressionToArguments = function appendStringReturningExpressionToArguments2(t, path, expression) { + var lastIndex = path.node.arguments.length - 1; + var last = path.node.arguments[lastIndex]; + if (t.isStringLiteral(last)) { + if (typeof expression === "string") { + path.node.arguments[lastIndex].value += expression; + } else { + path.node.arguments[lastIndex] = t.binaryExpression("+", last, expression); + } + } else { + var makeTemplateObjectCallPath = getTypeScriptMakeTemplateObjectPath(path); + if (makeTemplateObjectCallPath) { + makeTemplateObjectCallPath.get("arguments").forEach(function(argPath) { + var elements = argPath.get("elements"); + var lastElement = elements[elements.length - 1]; + if (typeof expression === "string") { + lastElement.replaceWith(t.stringLiteral(lastElement.node.value + expression)); + } else { + lastElement.replaceWith(t.binaryExpression("+", lastElement.node, t.cloneNode(expression))); + } + }); + } else if (!isTaggedTemplateTranspiledByBabel(path)) { + if (typeof expression === "string") { + path.node.arguments.push(t.stringLiteral(expression)); + } else { + path.node.arguments.push(expression); + } + } + } + }; + joinStringLiterals = function joinStringLiterals2(expressions, t) { + return expressions.reduce(function(finalExpressions, currentExpression, i) { + if (!t.isStringLiteral(currentExpression)) { + finalExpressions.push(currentExpression); + } else if (t.isStringLiteral(finalExpressions[finalExpressions.length - 1])) { + finalExpressions[finalExpressions.length - 1].value += currentExpression.value; + } else { + finalExpressions.push(currentExpression); + } + return finalExpressions; + }, []); + }; + CSS_OBJECT_STRINGIFIED_ERROR = "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; + transformExpressionWithStyles = function transformExpressionWithStyles2(_ref) { + var babel = _ref.babel, state = _ref.state, path = _ref.path, shouldLabel = _ref.shouldLabel, _ref$sourceMap = _ref.sourceMap, sourceMap = _ref$sourceMap === void 0 ? "" : _ref$sourceMap; + var autoLabel = state.opts.autoLabel || "dev-only"; + var t = babel.types; + if (t.isTaggedTemplateExpression(path)) { + if (!sourceMap && state.emotionSourceMap && path.node.quasi.loc !== void 0) { + sourceMap = getSourceMap(path.node.quasi.loc.start, state); + } + minify(path, t); + } + if (t.isCallExpression(path)) { + var canAppendStrings = path.node.arguments.every(function(arg) { + return arg.type !== "SpreadElement"; + }); + path.get("arguments").forEach(function(node) { + if (t.isObjectExpression(node)) { + node.replaceWith(simplifyObject(node.node, t)); + } + }); + path.node.arguments = joinStringLiterals(path.node.arguments, t); + if (!sourceMap && canAppendStrings && state.emotionSourceMap && path.node.loc !== void 0) { + sourceMap = getSourceMap(path.node.loc.start, state); + } + var label = shouldLabel && autoLabel !== "never" ? getLabelFromPath(path, state, t) : null; + if (path.node.arguments.length === 1 && t.isStringLiteral(path.node.arguments[0])) { + var cssString = path.node.arguments[0].value.replace(/;$/, ""); + var res = serializeStyles(["" + cssString + (label && autoLabel === "always" ? ";label:" + label + ";" : "")]); + var prodNode = t.objectExpression([t.objectProperty(t.identifier("name"), t.stringLiteral(res.name)), t.objectProperty(t.identifier("styles"), t.stringLiteral(res.styles))]); + if (!state.emotionStringifiedCssId) { + var uid = state.file.scope.generateUidIdentifier("__EMOTION_STRINGIFIED_CSS_ERROR__"); + state.emotionStringifiedCssId = uid; + var cssObjectToString = t.functionDeclaration(uid, [], t.blockStatement([t.returnStatement(t.stringLiteral(CSS_OBJECT_STRINGIFIED_ERROR))])); + cssObjectToString._compact = true; + state.file.path.unshiftContainer("body", [cssObjectToString]); + } + if (label && autoLabel === "dev-only") { + res = serializeStyles([cssString + ";label:" + label + ";"]); + } + var devNode = t.objectExpression([t.objectProperty(t.identifier("name"), t.stringLiteral(res.name)), t.objectProperty(t.identifier("styles"), t.stringLiteral(res.styles + sourceMap)), t.objectProperty(t.identifier("toString"), t.cloneNode(state.emotionStringifiedCssId))].filter(Boolean)); + return createNodeEnvConditional(t, prodNode, devNode); + } + if (canAppendStrings && label) { + var labelString = ";label:" + label + ";"; + switch (autoLabel) { + case "dev-only": { + var labelConditional = createNodeEnvConditional(t, t.stringLiteral(""), t.stringLiteral(labelString)); + appendStringReturningExpressionToArguments(t, path, labelConditional); + break; + } + case "always": + appendStringReturningExpressionToArguments(t, path, labelString); + break; + } + } + if (sourceMap) { + var sourceMapConditional = createNodeEnvConditional(t, t.stringLiteral(""), t.stringLiteral(sourceMap)); + appendStringReturningExpressionToArguments(t, path, sourceMapConditional); + } + } + }; + getKnownProperties = function getKnownProperties2(t, node) { + return new Set(node.properties.filter(function(n) { + return t.isObjectProperty(n) && !n.computed; + }).map(function(n) { + return t.isIdentifier(n.key) ? n.key.name : n.key.value; + })); + }; + createObjectSpreadLike = function createObjectSpreadLike2(t, file) { + for (var _len = arguments.length, objs = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + objs[_key - 2] = arguments[_key]; + } + return t.callExpression(file.addHelper("extends"), [t.objectExpression([])].concat(objs)); + }; + getStyledOptions = function getStyledOptions2(t, path, state) { + var autoLabel = state.opts.autoLabel || "dev-only"; + var args = path.node.arguments; + var optionsArgument = args.length >= 2 ? args[1] : null; + var prodProperties = []; + var devProperties = null; + var knownProperties = optionsArgument && t.isObjectExpression(optionsArgument) ? getKnownProperties(t, optionsArgument) : /* @__PURE__ */ new Set(); + if (!knownProperties.has("target")) { + prodProperties.push(t.objectProperty(t.identifier("target"), t.stringLiteral(getTargetClassName(state)))); + } + var label = autoLabel !== "never" && !knownProperties.has("label") ? getLabelFromPath(path, state, t) : null; + if (label) { + var labelNode = t.objectProperty(t.identifier("label"), t.stringLiteral(label)); + switch (autoLabel) { + case "always": + prodProperties.push(labelNode); + break; + case "dev-only": + devProperties = [labelNode]; + break; + } + } + if (optionsArgument) { + if (t.isConditionalExpression(optionsArgument) && t.isBinaryExpression(optionsArgument.test) && t.buildMatchMemberExpression("process.env.NODE_ENV")(optionsArgument.test.left)) { + return optionsArgument; + } + if (!t.isObjectExpression(optionsArgument)) { + var prodNode = createObjectSpreadLike(t, state.file, t.objectExpression(prodProperties), optionsArgument); + return devProperties ? createNodeEnvConditional(t, prodNode, t.cloneNode(createObjectSpreadLike(t, state.file, t.objectExpression(prodProperties.concat(devProperties)), optionsArgument))) : prodNode; + } + prodProperties.unshift.apply(prodProperties, optionsArgument.properties); + } + return devProperties ? createNodeEnvConditional(t, t.objectExpression(prodProperties), t.cloneNode(t.objectExpression(prodProperties.concat(devProperties)))) : t.objectExpression(prodProperties); + }; + isAlreadyTranspiled = function isAlreadyTranspiled2(path) { + if (!path.isCallExpression()) { + return false; + } + var firstArgPath = path.get("arguments.0"); + if (!firstArgPath) { + return false; + } + if (!firstArgPath.isConditionalExpression()) { + return false; + } + var alternatePath = firstArgPath.get("alternate"); + if (!alternatePath.isObjectExpression()) { + return false; + } + var properties = new Set(alternatePath.get("properties").map(function(p) { + return p.node.key.name; + })); + return ["name", "styles"].every(function(p) { + return properties.has(p); + }); + }; + createEmotionTransformer = function createEmotionTransformer2(isPure) { + return function(_ref) { + var state = _ref.state, babel = _ref.babel; + _ref.importSource; + var reference = _ref.reference; + _ref.importSpecifierName; + var path = reference.parentPath; + if (isAlreadyTranspiled(path)) { + return; + } + if (isPure) { + path.addComment("leading", "#__PURE__"); + } + var node = transformExpressionWithStyles({ + babel, + state, + path, + shouldLabel: true + }); + if (node) { + path.node.arguments[0] = node; + } + }; + }; + transformers$1 = { + css: createEmotionTransformer(true), + injectGlobal: createEmotionTransformer(false), + keyframes: createEmotionTransformer(true) + }; + createEmotionMacro = function createEmotionMacro2(importSource) { + return createTransformerMacro(transformers$1, { + importSource + }); + }; + getReferencedSpecifier = function getReferencedSpecifier2(path, specifierName) { + var specifiers = path.get("specifiers"); + return specifierName === "default" ? specifiers.find(function(p) { + return p.isImportDefaultSpecifier(); + }) : specifiers.find(function(p) { + return p.node.local.name === specifierName; + }); + }; + styledTransformer = function styledTransformer2(_ref) { + var state = _ref.state, babel = _ref.babel, path = _ref.path, importSource = _ref.importSource, reference = _ref.reference, importSpecifierName = _ref.importSpecifierName, _ref$options = _ref.options, styledBaseImport = _ref$options.styledBaseImport, isWeb = _ref$options.isWeb; + var t = babel.types; + var getStyledIdentifier = function getStyledIdentifier2() { + if (!styledBaseImport || styledBaseImport[0] === importSource && styledBaseImport[1] === importSpecifierName) { + return t.cloneNode(reference.node); + } + if (path.node) { + var referencedSpecifier = getReferencedSpecifier(path, importSpecifierName); + if (referencedSpecifier) { + referencedSpecifier.remove(); + } + if (!path.get("specifiers").length) { + path.remove(); + } + } + var baseImportSource = styledBaseImport[0], baseSpecifierName = styledBaseImport[1]; + return addImport(state, baseImportSource, baseSpecifierName, "styled"); + }; + var createStyledComponentPath = null; + if (t.isMemberExpression(reference.parent) && reference.parent.computed === false) { + if ( + // checks if the first character is lowercase + // becasue we don't want to transform the member expression if + // it's in primitives/native + reference.parent.property.name.charCodeAt(0) > 96 + ) { + reference.parentPath.replaceWith(t.callExpression(getStyledIdentifier(), [t.stringLiteral(reference.parent.property.name)])); + } else { + reference.replaceWith(getStyledIdentifier()); + } + createStyledComponentPath = reference.parentPath; + } else if (reference.parentPath && t.isCallExpression(reference.parentPath) && reference.parent.callee === reference.node) { + reference.replaceWith(getStyledIdentifier()); + createStyledComponentPath = reference.parentPath; + } + if (!createStyledComponentPath) { + return; + } + var styledCallLikeWithStylesPath = createStyledComponentPath.parentPath; + var node = transformExpressionWithStyles({ + path: styledCallLikeWithStylesPath, + state, + babel, + shouldLabel: false + }); + if (node && isWeb) { + styledCallLikeWithStylesPath.node.arguments[0] = node; + } + styledCallLikeWithStylesPath.addComment("leading", "#__PURE__"); + if (isWeb) { + createStyledComponentPath.node.arguments[1] = getStyledOptions(t, createStyledComponentPath, state); + } + }; + createStyledMacro = function createStyledMacro2(_ref2) { + var importSource = _ref2.importSource, _ref2$originalImportS = _ref2.originalImportSource, originalImportSource = _ref2$originalImportS === void 0 ? importSource : _ref2$originalImportS, _ref2$baseImportName = _ref2.baseImportName, baseImportName = _ref2$baseImportName === void 0 ? "default" : _ref2$baseImportName, isWeb = _ref2.isWeb; + return createTransformerMacro({ + "default": [styledTransformer, { + styledBaseImport: [importSource, baseImportName], + isWeb + }] + }, { + importSource: originalImportSource + }); + }; + transformCssCallExpression = function transformCssCallExpression2(_ref) { + var state = _ref.state, babel = _ref.babel, path = _ref.path, sourceMap = _ref.sourceMap, _ref$annotateAsPure = _ref.annotateAsPure, annotateAsPure = _ref$annotateAsPure === void 0 ? true : _ref$annotateAsPure; + var node = transformExpressionWithStyles({ + babel, + state, + path, + shouldLabel: true, + sourceMap + }); + if (node) { + path.replaceWith(node); + path.hoist(); + } else if (annotateAsPure && path.isCallExpression()) { + path.addComment("leading", "#__PURE__"); + } + }; + transformCsslessArrayExpression = function transformCsslessArrayExpression2(_ref2) { + var state = _ref2.state, babel = _ref2.babel, path = _ref2.path; + var t = babel.types; + var expressionPath = path.get("value.expression"); + var sourceMap = state.emotionSourceMap && path.node.loc !== void 0 ? getSourceMap(path.node.loc.start, state) : ""; + expressionPath.replaceWith(t.callExpression( + // the name of this identifier doesn't really matter at all + // it'll never appear in generated code + t.identifier("___shouldNeverAppearCSS"), + path.node.value.expression.elements + )); + transformCssCallExpression({ + babel, + state, + path: expressionPath, + sourceMap, + annotateAsPure: false + }); + if (t.isCallExpression(expressionPath)) { + expressionPath.replaceWith(t.arrayExpression(expressionPath.node.arguments)); + } + }; + transformCsslessObjectExpression = function transformCsslessObjectExpression2(_ref3) { + var state = _ref3.state, babel = _ref3.babel, path = _ref3.path, cssImport = _ref3.cssImport; + var t = babel.types; + var expressionPath = path.get("value.expression"); + var sourceMap = state.emotionSourceMap && path.node.loc !== void 0 ? getSourceMap(path.node.loc.start, state) : ""; + expressionPath.replaceWith(t.callExpression( + // the name of this identifier doesn't really matter at all + // it'll never appear in generated code + t.identifier("___shouldNeverAppearCSS"), + [path.node.value.expression] + )); + transformCssCallExpression({ + babel, + state, + path: expressionPath, + sourceMap + }); + if (t.isCallExpression(expressionPath)) { + expressionPath.get("callee").replaceWith(addImport(state, cssImport.importSource, cssImport.cssExport, "css")); + } + }; + cssTransformer = function cssTransformer2(_ref4) { + var state = _ref4.state, babel = _ref4.babel, reference = _ref4.reference; + transformCssCallExpression({ + babel, + state, + path: reference.parentPath + }); + }; + globalTransformer = function globalTransformer2(_ref5) { + var state = _ref5.state, babel = _ref5.babel, reference = _ref5.reference, importSource = _ref5.importSource, options = _ref5.options; + var t = babel.types; + if (!t.isJSXIdentifier(reference.node) || !t.isJSXOpeningElement(reference.parentPath.node)) { + return; + } + var stylesPropPath = reference.parentPath.get("attributes").find(function(p) { + return t.isJSXAttribute(p.node) && p.node.name.name === "styles"; + }); + if (!stylesPropPath) { + return; + } + if (t.isJSXExpressionContainer(stylesPropPath.node.value)) { + if (t.isArrayExpression(stylesPropPath.node.value.expression)) { + transformCsslessArrayExpression({ + state, + babel, + path: stylesPropPath + }); + } else if (t.isObjectExpression(stylesPropPath.node.value.expression)) { + transformCsslessObjectExpression({ + state, + babel, + path: stylesPropPath, + cssImport: options.cssExport !== void 0 ? { + importSource, + cssExport: options.cssExport + } : { + importSource: "@emotion/react", + cssExport: "css" + } + }); + } + } + }; + transformers = { + // this is an empty function because this transformer is never called + // we don't run any transforms on `jsx` directly + // instead we use it as a hint to enable css prop optimization + jsx: function jsx() { + }, + css: cssTransformer, + Global: globalTransformer + }; + coreMacro = createTransformerMacro(transformers, { + importSource: "@emotion/react" + }); + _excluded = ["canonicalImport"]; + getCssExport = function getCssExport2(reexported, importSource, mapping) { + var cssExport = Object.keys(mapping).find(function(localExportName) { + var _mapping$localExportN = mapping[localExportName].canonicalImport, packageName = _mapping$localExportN[0], exportName = _mapping$localExportN[1]; + return packageName === "@emotion/react" && exportName === "css"; + }); + if (!cssExport) { + throw new Error("You have specified that '" + importSource + "' re-exports '" + reexported + "' from '@emotion/react' but it doesn't also re-export 'css' from '@emotion/react', 'css' is necessary for certain optimisations, please re-export it from '" + importSource + "'"); + } + return cssExport; + }; + webStyledMacro = createStyledMacro({ + importSource: "@emotion/styled/base", + originalImportSource: "@emotion/styled", + isWeb: true + }); + nativeStyledMacro = createStyledMacro({ + importSource: "@emotion/native", + originalImportSource: "@emotion/native", + isWeb: false + }); + primitivesStyledMacro = createStyledMacro({ + importSource: "@emotion/primitives", + originalImportSource: "@emotion/primitives", + isWeb: false + }); + vanillaEmotionMacro = createEmotionMacro("@emotion/css"); + transformersSource = { + "@emotion/css": transformers$1, + "@emotion/react": transformers, + "@emotion/styled": { + "default": [styledTransformer, { + styledBaseImport: ["@emotion/styled/base", "default"], + isWeb: true + }] + }, + "@emotion/primitives": { + "default": [styledTransformer, { + isWeb: false + }] + }, + "@emotion/native": { + "default": [styledTransformer, { + isWeb: false + }] + } + }; + macros = { + core: coreMacro, + nativeStyled: nativeStyledMacro, + primitivesStyled: primitivesStyledMacro, + webStyled: webStyledMacro, + vanillaEmotion: vanillaEmotionMacro + }; + AUTO_LABEL_VALUES = ["dev-only", "never", "always"]; + } +}); + +// ../../.yarn/__virtual__/@emotion-styled-virtual-2965579ce9/0/cache/@emotion-styled-npm-11.14.0-36f2daa0c9-20aa5c488e.zip/node_modules/@emotion/styled/macro.js +var require_macro = __commonJS({ + "../../.yarn/__virtual__/@emotion-styled-virtual-2965579ce9/0/cache/@emotion-styled-npm-11.14.0-36f2daa0c9-20aa5c488e.zip/node_modules/@emotion/styled/macro.js"(exports, module) { + module.exports = (init_emotion_babel_plugin_esm(), __toCommonJS(emotion_babel_plugin_esm_exports)).macros.webStyled; + } +}); +export default require_macro(); +//# sourceMappingURL=@emotion_styled_macro.js.map diff --git a/packages/user/.vite/deps/@emotion_styled_macro.js.map b/packages/user/.vite/deps/@emotion_styled_macro.js.map new file mode 100644 index 0000000..27bdb1d --- /dev/null +++ b/packages/user/.vite/deps/@emotion_styled_macro.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js", "../../../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js", "../../../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js", "../../../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js", "browser-external:path", "../../../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/base64.js", "../../../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/base64-vlq.js", "../../../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/util.js", "../../../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/array-set.js", "../../../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/mapping-list.js", "../../../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/source-map-generator.js", "../../../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/binary-search.js", "../../../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/quick-sort.js", "../../../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/source-map-consumer.js", "../../../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/lib/source-node.js", "../../../../.yarn/cache/source-map-npm-0.5.7-7c3f035429-904e767bb9.zip/node_modules/source-map/source-map.js", "browser-external:fs", "../../../../.yarn/cache/convert-source-map-npm-1.9.0-e294555f4b-281da55454.zip/node_modules/convert-source-map/index.js", "../../../../.yarn/cache/find-root-npm-1.1.0-a16a94005f-1abc7f3bf2.zip/node_modules/find-root/index.js", "../../../../.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-9497d4dd30.zip/node_modules/escape-string-regexp/index.js", "browser-external:assert", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/utils/shallowEqual.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/utils/deprecationWarning.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/generated/index.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/matchesPattern.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/buildMatchMemberExpression.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/react/isReactComponent.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/react/isCompatTag.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/isType.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/isPlaceholderType.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/is.ts", "../../../../.yarn/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-4fc6f83017.zip/node_modules/@babel/helper-validator-identifier/src/identifier.ts", "../../../../.yarn/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-4fc6f83017.zip/node_modules/@babel/helper-validator-identifier/src/keyword.ts", "../../../../.yarn/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-4fc6f83017.zip/node_modules/@babel/helper-validator-identifier/src/index.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/isValidIdentifier.ts", "../../../../.yarn/cache/@babel-helper-string-parser-npm-7.25.9-eade578078-7244b45d8e.zip/node_modules/@babel/helper-string-parser/src/index.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/constants/index.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/definitions/utils.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/definitions/core.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/definitions/flow.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/definitions/jsx.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/definitions/placeholders.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/definitions/misc.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/definitions/experimental.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/definitions/typescript.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/definitions/deprecated-aliases.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/definitions/index.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/validate.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/builders/generated/index.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/utils/react/cleanJSXElementLiteralChild.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/builders/react/buildChildren.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/isNode.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/asserts/assertNode.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/asserts/generated/index.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/builders/flow/createTypeAnnotationBasedOnTypeof.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/modifications/flow/removeTypeDuplicates.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/builders/flow/createFlowUnionType.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/modifications/typescript/removeTypeDuplicates.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/builders/typescript/createTSUnionType.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/builders/generated/uppercase.js", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/builders/productions.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/clone/cloneNode.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/clone/clone.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/clone/cloneDeep.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/clone/cloneDeepWithoutLoc.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/clone/cloneWithoutLoc.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/comments/addComments.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/comments/addComment.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/utils/inherit.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/comments/inheritInnerComments.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/comments/inheritLeadingComments.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/comments/inheritTrailingComments.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/comments/inheritsComments.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/comments/removeComments.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/constants/generated/index.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/converters/toBlock.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/converters/ensureBlock.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/converters/toIdentifier.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/converters/toBindingIdentifierName.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/converters/toComputedKey.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/converters/toExpression.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/traverse/traverseFast.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/modifications/removeProperties.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/modifications/removePropertiesDeep.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/converters/toKeyAlias.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/converters/toStatement.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/converters/valueToNode.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/modifications/appendToMemberExpression.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/modifications/inherits.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/modifications/prependToMemberExpression.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/retrievers/getAssignmentIdentifiers.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/retrievers/getBindingIdentifiers.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/retrievers/getOuterBindingIdentifiers.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/retrievers/getFunctionName.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/traverse/traverse.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/isBinding.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/isLet.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/isBlockScoped.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/isImmutable.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/isNodesEquivalent.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/isReferenced.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/isScope.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/isSpecifierDefault.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/isValidES3Identifier.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/validators/isVar.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/converters/gatherSequenceExpressions.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/converters/toSequenceExpression.ts", "../../../../.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-966c5242c5.zip/node_modules/@babel/types/src/index.ts", "../../../../.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-078d3c2b45.zip/node_modules/@babel/helper-module-imports/src/import-builder.ts", "../../../../.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-078d3c2b45.zip/node_modules/@babel/helper-module-imports/src/is-module.ts", "../../../../.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-078d3c2b45.zip/node_modules/@babel/helper-module-imports/src/import-injector.ts", "../../../../.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-078d3c2b45.zip/node_modules/@babel/helper-module-imports/src/index.ts", "browser-external:os", "../../../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/homedir.js", "../../../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/caller.js", "../../../../.yarn/cache/path-parse-npm-1.0.7-09564527b7-11ce261f9d.zip/node_modules/path-parse/index.js", "../../../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/node-modules-paths.js", "browser-external:module", "../../../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/normalize-options.js", "../../../../.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-d8680ee1e5.zip/node_modules/function-bind/implementation.js", "../../../../.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-d8680ee1e5.zip/node_modules/function-bind/index.js", "../../../../.yarn/cache/hasown-npm-2.0.2-80fe6c9901-3769d43470.zip/node_modules/hasown/index.js", "../../../../.yarn/cache/is-core-module-npm-2.15.1-34c73a6cbd-53432f10c6.zip/node_modules/is-core-module/core.json", "../../../../.yarn/cache/is-core-module-npm-2.15.1-34c73a6cbd-53432f10c6.zip/node_modules/is-core-module/index.js", "../../../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/async.js", "../../../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/core.json", "../../../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/core.js", "../../../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/is-core.js", "../../../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/lib/sync.js", "../../../../.yarn/cache/resolve-patch-4254c24959-0446f02443.zip/node_modules/resolve/index.js", "../../../../.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-8408eec31a.zip/node_modules/resolve-from/index.js", "../../../../.yarn/cache/callsites-npm-3.1.0-268f989910-fff9227740.zip/node_modules/callsites/index.js", "../../../../.yarn/cache/parent-module-npm-1.0.1-1fae11b095-c63d6e8000.zip/node_modules/parent-module/index.js", "../../../../.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-7f882953aa.zip/node_modules/import-fresh/index.js", "browser-external:util", "../../../../.yarn/cache/is-arrayish-npm-0.2.1-23927dfb15-e7fb686a73.zip/node_modules/is-arrayish/index.js", "../../../../.yarn/cache/error-ex-npm-1.3.2-5654f80c0f-ba827f8936.zip/node_modules/error-ex/index.js", "../../../../.yarn/cache/json-parse-even-better-errors-npm-2.3.1-144d62256e-140932564c.zip/node_modules/json-parse-even-better-errors/index.js", "../../../../.yarn/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-3da6ee62d4.zip/node_modules/lines-and-columns/build/index.js", "../../../../.yarn/cache/picocolors-npm-1.1.1-4fede47cf1-e2e3e8170a.zip/node_modules/picocolors/picocolors.browser.js", "../../../../.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-e248708d37.zip/node_modules/js-tokens/index.js", "../../../../.yarn/cache/@babel-code-frame-npm-7.26.2-4902b56813-7d79621a68.zip/node_modules/@babel/code-frame/src/defs.ts", "../../../../.yarn/cache/@babel-code-frame-npm-7.26.2-4902b56813-7d79621a68.zip/node_modules/@babel/code-frame/src/highlight.ts", "../../../../.yarn/cache/@babel-code-frame-npm-7.26.2-4902b56813-7d79621a68.zip/node_modules/@babel/code-frame/src/index.ts", "../../../../.yarn/cache/parse-json-npm-5.2.0-00a63b1199-77947f2253.zip/node_modules/parse-json/index.js", "../../../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/PlainValue-b8036b75.js", "../../../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/parse-cst.js", "../../../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/resolveSeq-492ab440.js", "../../../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/warnings-df54cb69.js", "../../../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/Schema-e94716c8.js", "../../../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/dist/index.js", "../../../../.yarn/cache/yaml-npm-1.10.2-0e780aebdf-5c28b9eb7a.zip/node_modules/yaml/browser/index.js", "../../../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/src/loaders.ts", "../../../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/src/getPropertyByPath.ts", "../../../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/src/ExplorerBase.ts", "../../../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/src/readFile.ts", "../../../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/src/cacheWrapper.ts", "../../../../.yarn/cache/path-type-npm-4.0.0-10d47fc86a-666f6973f3.zip/node_modules/path-type/index.js", "../../../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/src/getDirectory.ts", "../../../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/src/Explorer.ts", "../../../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/src/ExplorerSync.ts", "../../../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/dist/types.js", "../../../../.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-b923ff6af5.zip/node_modules/cosmiconfig/src/index.ts", "../../../../.yarn/cache/babel-plugin-macros-npm-3.1.0-320e781f4e-c6dfb15de9.zip/node_modules/babel-plugin-macros/dist/index.js", "../../../../.yarn/cache/@emotion-babel-plugin-npm-11.13.5-ca65815e43-8ccbfec7de.zip/node_modules/@emotion/babel-plugin/dist/emotion-babel-plugin.esm.js", "../../../../.yarn/__virtual__/@emotion-styled-virtual-2965579ce9/0/cache/@emotion-styled-npm-11.14.0-36f2daa0c9-20aa5c488e.zip/node_modules/@emotion/styled/macro.js"], + "sourcesContent": ["function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };", "import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };", "import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nfunction _createForOfIteratorHelperLoose(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (t) return (t = t.call(r)).next.bind(t);\n if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n t && (r = t);\n var o = 0;\n return function () {\n return o >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[o++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _createForOfIteratorHelperLoose as default };", "function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };", "module.exports = Object.create(new Proxy({}, {\n get(_, key) {\n if (\n key !== '__esModule' &&\n key !== '__proto__' &&\n key !== 'constructor' &&\n key !== 'splice'\n ) {\n console.warn(`Module \"path\" has been externalized for browser compatibility. Cannot access \"path.${key}\" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`)\n }\n }\n}))", "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n", "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n", "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.]*)(?::(\\d+))?(\\S*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nfunction normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n\n var parts = path.split(/\\/+/);\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n}\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = mappingA.source - mappingB.source;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return mappingA.name - mappingB.name;\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = mappingA.source - mappingB.source;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return mappingA.name - mappingB.name;\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n", "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\nvar hasNativeMap = typeof Map !== \"undefined\";\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = hasNativeMap ? new Map() : Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n if (hasNativeMap) {\n this._set.set(aStr, idx);\n } else {\n this._set[sStr] = idx;\n }\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n if (hasNativeMap) {\n return this._set.has(aStr);\n } else {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n }\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n if (hasNativeMap) {\n var idx = this._set.get(aStr);\n if (idx >= 0) {\n return idx;\n }\n } else {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n }\n\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n", "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n var lineA = mappingA.generatedLine;\n var lineB = mappingB.generatedLine;\n var columnA = mappingA.generatedColumn;\n var columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n function MappingList_forEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n};\n\nexports.MappingList = MappingList;\n", "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, 'file', null);\n this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {\n var sourceRoot = aSourceMapConsumer.sourceRoot;\n var generator = new SourceMapGenerator({\n file: aSourceMapConsumer.file,\n sourceRoot: sourceRoot\n });\n aSourceMapConsumer.eachMapping(function (mapping) {\n var newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n function SourceMapGenerator_addMapping(aArgs) {\n var generated = util.getArg(aArgs, 'generated');\n var original = util.getArg(aArgs, 'original', null);\n var source = util.getArg(aArgs, 'source', null);\n var name = util.getArg(aArgs, 'name', null);\n\n if (!this._skipValidation) {\n this._validateMapping(generated, original, source, name);\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source: source,\n name: name\n });\n };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n var source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n var sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n var sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n var newSources = new ArraySet();\n var newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function (mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n var original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source)\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n var source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n var name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n sourceFile = util.join(aSourceMapPath, sourceFile);\n }\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n this.setSourceContent(sourceFile, content);\n }\n }, this);\n };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n aName) {\n // When aOriginal is truthy but has empty values for .line and .column,\n // it is most likely a programmer error. In this case we throw a very\n // specific error message to try to guide them the right way.\n // For example: https://github.com/Polymer/polymer-bundler/pull/519\n if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {\n throw new Error(\n 'original.line and original.column are not numbers -- you probably meant to omit ' +\n 'the original mapping entirely and only map the generated position. If so, pass ' +\n 'null for the original mapping instead of an object with empty or null values.'\n );\n }\n\n if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n return;\n }\n else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n return;\n }\n else {\n throw new Error('Invalid mapping: ' + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n }));\n }\n };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n function SourceMapGenerator_serializeMappings() {\n var previousGeneratedColumn = 0;\n var previousGeneratedLine = 1;\n var previousOriginalColumn = 0;\n var previousOriginalLine = 0;\n var previousName = 0;\n var previousSource = 0;\n var result = '';\n var next;\n var mapping;\n var nameIdx;\n var sourceIdx;\n\n var mappings = this._mappings.toArray();\n for (var i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = ''\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n while (mapping.generatedLine !== previousGeneratedLine) {\n next += ';';\n previousGeneratedLine++;\n }\n }\n else {\n if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += ',';\n }\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function (source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n var key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n function SourceMapGenerator_toJSON() {\n var map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n function SourceMapGenerator_toString() {\n return JSON.stringify(this.toJSON());\n };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n", "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n // This function terminates when one of the following is true:\n //\n // 1. We find the exact element we are looking for.\n //\n // 2. We did not find the exact element, but we can return the index of\n // the next-closest element.\n //\n // 3. We did not find the exact element, and there is no next-closest\n // element than the one we are searching for, so we return -1.\n var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n var cmp = aCompare(aNeedle, aHaystack[mid], true);\n if (cmp === 0) {\n // Found the element we are looking for.\n return mid;\n }\n else if (cmp > 0) {\n // Our needle is greater than aHaystack[mid].\n if (aHigh - mid > 1) {\n // The element is in the upper half.\n return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // The exact needle element was not found in this haystack. Determine if\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return aHigh < aHaystack.length ? aHigh : -1;\n } else {\n return mid;\n }\n }\n else {\n // Our needle is less than aHaystack[mid].\n if (mid - aLow > 1) {\n // The element is in the lower half.\n return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return mid;\n } else {\n return aLow < 0 ? -1 : aLow;\n }\n }\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n * array and returns -1, 0, or 1 depending on whether the needle is less\n * than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n if (aHaystack.length === 0) {\n return -1;\n }\n\n var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n if (index < 0) {\n return -1;\n }\n\n // We have found either the exact element, or the next-closest element than\n // the one we are searching for. However, there may be more than one such\n // element. Make sure we always return the smallest of these.\n while (index - 1 >= 0) {\n if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n break;\n }\n --index;\n }\n\n return index;\n};\n", "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n// It turns out that some (most?) JavaScript engines don't self-host\n// `Array.prototype.sort`. This makes sense because C++ will likely remain\n// faster than JS when doing raw CPU-intensive sorting. However, when using a\n// custom comparator function, calling back and forth between the VM's C++ and\n// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n// worse generated code for the comparator function than would be optimal. In\n// fact, when sorting with a comparator, these costs outweigh the benefits of\n// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n// a ~3500ms mean speed-up in `bench/bench.html`.\n\n/**\n * Swap the elements indexed by `x` and `y` in the array `ary`.\n *\n * @param {Array} ary\n * The array.\n * @param {Number} x\n * The index of the first item.\n * @param {Number} y\n * The index of the second item.\n */\nfunction swap(ary, x, y) {\n var temp = ary[x];\n ary[x] = ary[y];\n ary[y] = temp;\n}\n\n/**\n * Returns a random integer within the range `low .. high` inclusive.\n *\n * @param {Number} low\n * The lower bound on the range.\n * @param {Number} high\n * The upper bound on the range.\n */\nfunction randomIntInRange(low, high) {\n return Math.round(low + (Math.random() * (high - low)));\n}\n\n/**\n * The Quick Sort algorithm.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n * @param {Number} p\n * Start index of the array\n * @param {Number} r\n * End index of the array\n */\nfunction doQuickSort(ary, comparator, p, r) {\n // If our lower bound is less than our upper bound, we (1) partition the\n // array into two pieces and (2) recurse on each half. If it is not, this is\n // the empty array and our base case.\n\n if (p < r) {\n // (1) Partitioning.\n //\n // The partitioning chooses a pivot between `p` and `r` and moves all\n // elements that are less than or equal to the pivot to the before it, and\n // all the elements that are greater than it after it. The effect is that\n // once partition is done, the pivot is in the exact place it will be when\n // the array is put in sorted order, and it will not need to be moved\n // again. This runs in O(n) time.\n\n // Always choose a random pivot so that an input array which is reverse\n // sorted does not cause O(n^2) running time.\n var pivotIndex = randomIntInRange(p, r);\n var i = p - 1;\n\n swap(ary, pivotIndex, r);\n var pivot = ary[r];\n\n // Immediately after `j` is incremented in this loop, the following hold\n // true:\n //\n // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n //\n // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n for (var j = p; j < r; j++) {\n if (comparator(ary[j], pivot) <= 0) {\n i += 1;\n swap(ary, i, j);\n }\n }\n\n swap(ary, i + 1, j);\n var q = i + 1;\n\n // (2) Recurse on each half.\n\n doQuickSort(ary, comparator, p, q - 1);\n doQuickSort(ary, comparator, q + 1, r);\n }\n}\n\n/**\n * Sort the given array in-place with the given comparator function.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n */\nexports.quickSort = function (ary, comparator) {\n doQuickSort(ary, comparator, 0, ary.length - 1);\n};\n", "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar binarySearch = require('./binary-search');\nvar ArraySet = require('./array-set').ArraySet;\nvar base64VLQ = require('./base64-vlq');\nvar quickSort = require('./quick-sort').quickSort;\n\nfunction SourceMapConsumer(aSourceMap) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = JSON.parse(aSourceMap.replace(/^\\)\\]\\}'/, ''));\n }\n\n return sourceMap.sections != null\n ? new IndexedSourceMapConsumer(sourceMap)\n : new BasicSourceMapConsumer(sourceMap);\n}\n\nSourceMapConsumer.fromSourceMap = function(aSourceMap) {\n return BasicSourceMapConsumer.fromSourceMap(aSourceMap);\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\n\n// `__generatedMappings` and `__originalMappings` are arrays that hold the\n// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n// are lazily instantiated, accessed via the `_generatedMappings` and\n// `_originalMappings` getters respectively, and we only parse the mappings\n// and create these arrays once queried for a source location. We jump through\n// these hoops because there can be many thousands of mappings, and parsing\n// them is expensive, so we only want to do it if we must.\n//\n// Each object in the arrays is of the form:\n//\n// {\n// generatedLine: The line number in the generated code,\n// generatedColumn: The column number in the generated code,\n// source: The path to the original source file that generated this\n// chunk of code,\n// originalLine: The line number in the original source that\n// corresponds to this chunk of generated code,\n// originalColumn: The column number in the original source that\n// corresponds to this chunk of generated code,\n// name: The name of the original symbol which generated this chunk of\n// code.\n// }\n//\n// All properties except for `generatedLine` and `generatedColumn` can be\n// `null`.\n//\n// `_generatedMappings` is ordered by the generated positions.\n//\n// `_originalMappings` is ordered by the original positions.\n\nSourceMapConsumer.prototype.__generatedMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n get: function () {\n if (!this.__generatedMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__generatedMappings;\n }\n});\n\nSourceMapConsumer.prototype.__originalMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n get: function () {\n if (!this.__originalMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__originalMappings;\n }\n});\n\nSourceMapConsumer.prototype._charIsMappingSeparator =\n function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n var c = aStr.charAt(index);\n return c === \";\" || c === \",\";\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n };\n\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\n/**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n * The function that is called with each mapping.\n * @param Object aContext\n * Optional. If specified, this object will be the value of `this` every\n * time that `aCallback` is called.\n * @param aOrder\n * Either `SourceMapConsumer.GENERATED_ORDER` or\n * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n * iterate over the mappings sorted by the generated file's line/column\n * order or the original's source/line/column order, respectively. Defaults to\n * `SourceMapConsumer.GENERATED_ORDER`.\n */\nSourceMapConsumer.prototype.eachMapping =\n function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n var context = aContext || null;\n var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n var mappings;\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n mappings = this._generatedMappings;\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n mappings = this._originalMappings;\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n var sourceRoot = this.sourceRoot;\n mappings.map(function (mapping) {\n var source = mapping.source === null ? null : this._sources.at(mapping.source);\n if (source != null && sourceRoot != null) {\n source = util.join(sourceRoot, source);\n }\n return {\n source: source,\n generatedLine: mapping.generatedLine,\n generatedColumn: mapping.generatedColumn,\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: mapping.name === null ? null : this._names.at(mapping.name)\n };\n }, this).forEach(aCallback, context);\n };\n\n/**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source.\n * - column: Optional. the column number in the original source.\n *\n * and an array of objects is returned, each with the following properties:\n *\n * - line: The line number in the generated source, or null.\n * - column: The column number in the generated source, or null.\n */\nSourceMapConsumer.prototype.allGeneratedPositionsFor =\n function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n var line = util.getArg(aArgs, 'line');\n\n // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n // returns the index of the closest mapping less than the needle. By\n // setting needle.originalColumn to 0, we thus find the last mapping for\n // the given line, provided such a mapping exists.\n var needle = {\n source: util.getArg(aArgs, 'source'),\n originalLine: line,\n originalColumn: util.getArg(aArgs, 'column', 0)\n };\n\n if (this.sourceRoot != null) {\n needle.source = util.relative(this.sourceRoot, needle.source);\n }\n if (!this._sources.has(needle.source)) {\n return [];\n }\n needle.source = this._sources.indexOf(needle.source);\n\n var mappings = [];\n\n var index = this._findMapping(needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n binarySearch.LEAST_UPPER_BOUND);\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (aArgs.column === undefined) {\n var originalLine = mapping.originalLine;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we found. Since\n // mappings are sorted, this is guaranteed to find all mappings for\n // the line we found.\n while (mapping && mapping.originalLine === originalLine) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n } else {\n var originalColumn = mapping.originalColumn;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we were searching for.\n // Since mappings are sorted, this is guaranteed to find all mappings for\n // the line we are searching for.\n while (mapping &&\n mapping.originalLine === line &&\n mapping.originalColumn == originalColumn) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n }\n }\n\n return mappings;\n };\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The only parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - sources: An array of URLs to the original source files.\n * - names: An array of identifiers which can be referrenced by individual mappings.\n * - sourceRoot: Optional. The URL root from which all sources are relative.\n * - sourcesContent: Optional. An array of contents of the original source files.\n * - mappings: A string of base64 VLQs which contain the actual mappings.\n * - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n * {\n * version : 3,\n * file: \"out.js\",\n * sourceRoot : \"\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AA,AB;;ABCDE;\"\n * }\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nfunction BasicSourceMapConsumer(aSourceMap) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = JSON.parse(aSourceMap.replace(/^\\)\\]\\}'/, ''));\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sources = util.getArg(sourceMap, 'sources');\n // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n // requires the array) to play nice here.\n var names = util.getArg(sourceMap, 'names', []);\n var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n var mappings = util.getArg(sourceMap, 'mappings');\n var file = util.getArg(sourceMap, 'file', null);\n\n // Once again, Sass deviates from the spec and supplies the version as a\n // string rather than a number, so we use loose equality checking here.\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n sources = sources\n .map(String)\n // Some source maps produce relative source paths like \"./foo.js\" instead of\n // \"foo.js\". Normalize these first so that future comparisons will succeed.\n // See bugzil.la/1090768.\n .map(util.normalize)\n // Always ensure that absolute sources are internally stored relative to\n // the source root, if the source root is absolute. Not doing this would\n // be particularly problematic when the source root is a prefix of the\n // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n .map(function (source) {\n return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n ? util.relative(sourceRoot, source)\n : source;\n });\n\n // Pass `true` below to allow duplicate names and sources. While source maps\n // are intended to be compressed and deduplicated, the TypeScript compiler\n // sometimes generates source maps with duplicates in them. See Github issue\n // #72 and bugzil.la/889492.\n this._names = ArraySet.fromArray(names.map(String), true);\n this._sources = ArraySet.fromArray(sources, true);\n\n this.sourceRoot = sourceRoot;\n this.sourcesContent = sourcesContent;\n this._mappings = mappings;\n this.file = file;\n}\n\nBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n/**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n * The source map that will be consumed.\n * @returns BasicSourceMapConsumer\n */\nBasicSourceMapConsumer.fromSourceMap =\n function SourceMapConsumer_fromSourceMap(aSourceMap) {\n var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n smc.sourceRoot = aSourceMap._sourceRoot;\n smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n smc.sourceRoot);\n smc.file = aSourceMap._file;\n\n // Because we are modifying the entries (by converting string sources and\n // names to indices into the sources and names ArraySets), we have to make\n // a copy of the entry or else bad things happen. Shared mutable state\n // strikes again! See github issue #191.\n\n var generatedMappings = aSourceMap._mappings.toArray().slice();\n var destGeneratedMappings = smc.__generatedMappings = [];\n var destOriginalMappings = smc.__originalMappings = [];\n\n for (var i = 0, length = generatedMappings.length; i < length; i++) {\n var srcMapping = generatedMappings[i];\n var destMapping = new Mapping;\n destMapping.generatedLine = srcMapping.generatedLine;\n destMapping.generatedColumn = srcMapping.generatedColumn;\n\n if (srcMapping.source) {\n destMapping.source = sources.indexOf(srcMapping.source);\n destMapping.originalLine = srcMapping.originalLine;\n destMapping.originalColumn = srcMapping.originalColumn;\n\n if (srcMapping.name) {\n destMapping.name = names.indexOf(srcMapping.name);\n }\n\n destOriginalMappings.push(destMapping);\n }\n\n destGeneratedMappings.push(destMapping);\n }\n\n quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n return smc;\n };\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nBasicSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n get: function () {\n return this._sources.toArray().map(function (s) {\n return this.sourceRoot != null ? util.join(this.sourceRoot, s) : s;\n }, this);\n }\n});\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n this.generatedLine = 0;\n this.generatedColumn = 0;\n this.source = null;\n this.originalLine = null;\n this.originalColumn = null;\n this.name = null;\n}\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nBasicSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n var generatedLine = 1;\n var previousGeneratedColumn = 0;\n var previousOriginalLine = 0;\n var previousOriginalColumn = 0;\n var previousSource = 0;\n var previousName = 0;\n var length = aStr.length;\n var index = 0;\n var cachedSegments = {};\n var temp = {};\n var originalMappings = [];\n var generatedMappings = [];\n var mapping, str, segment, end, value;\n\n while (index < length) {\n if (aStr.charAt(index) === ';') {\n generatedLine++;\n index++;\n previousGeneratedColumn = 0;\n }\n else if (aStr.charAt(index) === ',') {\n index++;\n }\n else {\n mapping = new Mapping();\n mapping.generatedLine = generatedLine;\n\n // Because each offset is encoded relative to the previous one,\n // many segments often have the same encoding. We can exploit this\n // fact by caching the parsed variable length fields of each segment,\n // allowing us to avoid a second parse if we encounter the same\n // segment again.\n for (end = index; end < length; end++) {\n if (this._charIsMappingSeparator(aStr, end)) {\n break;\n }\n }\n str = aStr.slice(index, end);\n\n segment = cachedSegments[str];\n if (segment) {\n index += str.length;\n } else {\n segment = [];\n while (index < end) {\n base64VLQ.decode(aStr, index, temp);\n value = temp.value;\n index = temp.rest;\n segment.push(value);\n }\n\n if (segment.length === 2) {\n throw new Error('Found a source, but no line and column');\n }\n\n if (segment.length === 3) {\n throw new Error('Found a source and line, but no column');\n }\n\n cachedSegments[str] = segment;\n }\n\n // Generated column.\n mapping.generatedColumn = previousGeneratedColumn + segment[0];\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (segment.length > 1) {\n // Original source.\n mapping.source = previousSource + segment[1];\n previousSource += segment[1];\n\n // Original line.\n mapping.originalLine = previousOriginalLine + segment[2];\n previousOriginalLine = mapping.originalLine;\n // Lines are stored 0-based\n mapping.originalLine += 1;\n\n // Original column.\n mapping.originalColumn = previousOriginalColumn + segment[3];\n previousOriginalColumn = mapping.originalColumn;\n\n if (segment.length > 4) {\n // Original name.\n mapping.name = previousName + segment[4];\n previousName += segment[4];\n }\n }\n\n generatedMappings.push(mapping);\n if (typeof mapping.originalLine === 'number') {\n originalMappings.push(mapping);\n }\n }\n }\n\n quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n this.__generatedMappings = generatedMappings;\n\n quickSort(originalMappings, util.compareByOriginalPositions);\n this.__originalMappings = originalMappings;\n };\n\n/**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\nBasicSourceMapConsumer.prototype._findMapping =\n function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n aColumnName, aComparator, aBias) {\n // To return the position we are searching for, we must first find the\n // mapping for the given position and then return the opposite position it\n // points to. Because the mappings are sorted, we can use binary search to\n // find the best mapping.\n\n if (aNeedle[aLineName] <= 0) {\n throw new TypeError('Line must be greater than or equal to 1, got '\n + aNeedle[aLineName]);\n }\n if (aNeedle[aColumnName] < 0) {\n throw new TypeError('Column must be greater than or equal to 0, got '\n + aNeedle[aColumnName]);\n }\n\n return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n };\n\n/**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\nBasicSourceMapConsumer.prototype.computeColumnSpans =\n function SourceMapConsumer_computeColumnSpans() {\n for (var index = 0; index < this._generatedMappings.length; ++index) {\n var mapping = this._generatedMappings[index];\n\n // Mappings do not contain a field for the last generated columnt. We\n // can come up with an optimistic estimate, however, by assuming that\n // mappings are contiguous (i.e. given two consecutive mappings, the\n // first mapping ends where the second one starts).\n if (index + 1 < this._generatedMappings.length) {\n var nextMapping = this._generatedMappings[index + 1];\n\n if (mapping.generatedLine === nextMapping.generatedLine) {\n mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n continue;\n }\n }\n\n // The last mapping for each line spans the entire line.\n mapping.lastGeneratedColumn = Infinity;\n }\n };\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source.\n * - column: The column number in the generated source.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null.\n * - column: The column number in the original source, or null.\n * - name: The original identifier, or null.\n */\nBasicSourceMapConsumer.prototype.originalPositionFor =\n function SourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._generatedMappings,\n \"generatedLine\",\n \"generatedColumn\",\n util.compareByGeneratedPositionsDeflated,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._generatedMappings[index];\n\n if (mapping.generatedLine === needle.generatedLine) {\n var source = util.getArg(mapping, 'source', null);\n if (source !== null) {\n source = this._sources.at(source);\n if (this.sourceRoot != null) {\n source = util.join(this.sourceRoot, source);\n }\n }\n var name = util.getArg(mapping, 'name', null);\n if (name !== null) {\n name = this._names.at(name);\n }\n return {\n source: source,\n line: util.getArg(mapping, 'originalLine', null),\n column: util.getArg(mapping, 'originalColumn', null),\n name: name\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n function BasicSourceMapConsumer_hasContentsOfAllSources() {\n if (!this.sourcesContent) {\n return false;\n }\n return this.sourcesContent.length >= this._sources.size() &&\n !this.sourcesContent.some(function (sc) { return sc == null; });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nBasicSourceMapConsumer.prototype.sourceContentFor =\n function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n if (!this.sourcesContent) {\n return null;\n }\n\n if (this.sourceRoot != null) {\n aSource = util.relative(this.sourceRoot, aSource);\n }\n\n if (this._sources.has(aSource)) {\n return this.sourcesContent[this._sources.indexOf(aSource)];\n }\n\n var url;\n if (this.sourceRoot != null\n && (url = util.urlParse(this.sourceRoot))) {\n // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n // many users. We can help them out when they expect file:// URIs to\n // behave like it would if they were running a local HTTP server. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n var fileUriAbsPath = aSource.replace(/^file:\\/\\//, \"\");\n if (url.scheme == \"file\"\n && this._sources.has(fileUriAbsPath)) {\n return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n }\n\n if ((!url.path || url.path == \"/\")\n && this._sources.has(\"/\" + aSource)) {\n return this.sourcesContent[this._sources.indexOf(\"/\" + aSource)];\n }\n }\n\n // This function is used recursively from\n // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n // don't want to throw if we can't find the source - we just want to\n // return null, so we provide a flag to exit gracefully.\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source.\n * - column: The column number in the original source.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null.\n * - column: The column number in the generated source, or null.\n */\nBasicSourceMapConsumer.prototype.generatedPositionFor =\n function SourceMapConsumer_generatedPositionFor(aArgs) {\n var source = util.getArg(aArgs, 'source');\n if (this.sourceRoot != null) {\n source = util.relative(this.sourceRoot, source);\n }\n if (!this._sources.has(source)) {\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n source = this._sources.indexOf(source);\n\n var needle = {\n source: source,\n originalLine: util.getArg(aArgs, 'line'),\n originalColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (mapping.source === needle.source) {\n return {\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n };\n }\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n };\n\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The only parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - file: Optional. The generated file this source map is associated with.\n * - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n * - offset: The offset into the original specified at which this section\n * begins to apply, defined as an object with a \"line\" and \"column\"\n * field.\n * - map: A source map definition. This source map could also be indexed,\n * but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n * {\n * version : 3,\n * file: \"app.js\",\n * sections: [{\n * offset: {line:100, column:10},\n * map: {\n * version : 3,\n * file: \"section.js\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AAAA,E;;ABCDE;\"\n * }\n * }],\n * }\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nfunction IndexedSourceMapConsumer(aSourceMap) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = JSON.parse(aSourceMap.replace(/^\\)\\]\\}'/, ''));\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sections = util.getArg(sourceMap, 'sections');\n\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n this._sources = new ArraySet();\n this._names = new ArraySet();\n\n var lastOffset = {\n line: -1,\n column: 0\n };\n this._sections = sections.map(function (s) {\n if (s.url) {\n // The url field will require support for asynchronicity.\n // See https://github.com/mozilla/source-map/issues/16\n throw new Error('Support for url field in sections not implemented.');\n }\n var offset = util.getArg(s, 'offset');\n var offsetLine = util.getArg(offset, 'line');\n var offsetColumn = util.getArg(offset, 'column');\n\n if (offsetLine < lastOffset.line ||\n (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n throw new Error('Section offsets must be ordered and non-overlapping.');\n }\n lastOffset = offset;\n\n return {\n generatedOffset: {\n // The offset fields are 0-based, but we use 1-based indices when\n // encoding/decoding from VLQ.\n generatedLine: offsetLine + 1,\n generatedColumn: offsetColumn + 1\n },\n consumer: new SourceMapConsumer(util.getArg(s, 'map'))\n }\n });\n}\n\nIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nIndexedSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n get: function () {\n var sources = [];\n for (var i = 0; i < this._sections.length; i++) {\n for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n sources.push(this._sections[i].consumer.sources[j]);\n }\n }\n return sources;\n }\n});\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source.\n * - column: The column number in the generated source.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null.\n * - column: The column number in the original source, or null.\n * - name: The original identifier, or null.\n */\nIndexedSourceMapConsumer.prototype.originalPositionFor =\n function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n // Find the section containing the generated position we're trying to map\n // to an original position.\n var sectionIndex = binarySearch.search(needle, this._sections,\n function(needle, section) {\n var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n if (cmp) {\n return cmp;\n }\n\n return (needle.generatedColumn -\n section.generatedOffset.generatedColumn);\n });\n var section = this._sections[sectionIndex];\n\n if (!section) {\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n return section.consumer.originalPositionFor({\n line: needle.generatedLine -\n (section.generatedOffset.generatedLine - 1),\n column: needle.generatedColumn -\n (section.generatedOffset.generatedLine === needle.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n bias: aArgs.bias\n });\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n return this._sections.every(function (s) {\n return s.consumer.hasContentsOfAllSources();\n });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nIndexedSourceMapConsumer.prototype.sourceContentFor =\n function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n var content = section.consumer.sourceContentFor(aSource, true);\n if (content) {\n return content;\n }\n }\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source.\n * - column: The column number in the original source.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null.\n * - column: The column number in the generated source, or null.\n */\nIndexedSourceMapConsumer.prototype.generatedPositionFor =\n function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n // Only consider this section if the requested source is in the list of\n // sources of the consumer.\n if (section.consumer.sources.indexOf(util.getArg(aArgs, 'source')) === -1) {\n continue;\n }\n var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n if (generatedPosition) {\n var ret = {\n line: generatedPosition.line +\n (section.generatedOffset.generatedLine - 1),\n column: generatedPosition.column +\n (section.generatedOffset.generatedLine === generatedPosition.line\n ? section.generatedOffset.generatedColumn - 1\n : 0)\n };\n return ret;\n }\n }\n\n return {\n line: null,\n column: null\n };\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nIndexedSourceMapConsumer.prototype._parseMappings =\n function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n this.__generatedMappings = [];\n this.__originalMappings = [];\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n var sectionMappings = section.consumer._generatedMappings;\n for (var j = 0; j < sectionMappings.length; j++) {\n var mapping = sectionMappings[j];\n\n var source = section.consumer._sources.at(mapping.source);\n if (section.consumer.sourceRoot !== null) {\n source = util.join(section.consumer.sourceRoot, source);\n }\n this._sources.add(source);\n source = this._sources.indexOf(source);\n\n var name = section.consumer._names.at(mapping.name);\n this._names.add(name);\n name = this._names.indexOf(name);\n\n // The mappings coming from the consumer for the section have\n // generated positions relative to the start of the section, so we\n // need to offset them to be relative to the start of the concatenated\n // generated file.\n var adjustedMapping = {\n source: source,\n generatedLine: mapping.generatedLine +\n (section.generatedOffset.generatedLine - 1),\n generatedColumn: mapping.generatedColumn +\n (section.generatedOffset.generatedLine === mapping.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: name\n };\n\n this.__generatedMappings.push(adjustedMapping);\n if (typeof adjustedMapping.originalLine === 'number') {\n this.__originalMappings.push(adjustedMapping);\n }\n }\n }\n\n quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n quickSort(this.__originalMappings, util.compareByOriginalPositions);\n };\n\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n", "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;\nvar util = require('./util');\n\n// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n// operating systems these days (capturing the result).\nvar REGEX_NEWLINE = /(\\r?\\n)/;\n\n// Newline character code for charCodeAt() comparisons\nvar NEWLINE_CODE = 10;\n\n// Private symbol for identifying `SourceNode`s when multiple versions of\n// the source-map library are loaded. This MUST NOT CHANGE across\n// versions!\nvar isSourceNode = \"$$$isSourceNode$$$\";\n\n/**\n * SourceNodes provide a way to abstract over interpolating/concatenating\n * snippets of generated JavaScript source code while maintaining the line and\n * column information associated with the original source code.\n *\n * @param aLine The original line number.\n * @param aColumn The original column number.\n * @param aSource The original source's filename.\n * @param aChunks Optional. An array of strings which are snippets of\n * generated JS, or other SourceNodes.\n * @param aName The original identifier.\n */\nfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n this.children = [];\n this.sourceContents = {};\n this.line = aLine == null ? null : aLine;\n this.column = aColumn == null ? null : aColumn;\n this.source = aSource == null ? null : aSource;\n this.name = aName == null ? null : aName;\n this[isSourceNode] = true;\n if (aChunks != null) this.add(aChunks);\n}\n\n/**\n * Creates a SourceNode from generated code and a SourceMapConsumer.\n *\n * @param aGeneratedCode The generated code\n * @param aSourceMapConsumer The SourceMap for the generated code\n * @param aRelativePath Optional. The path that relative sources in the\n * SourceMapConsumer should be relative to.\n */\nSourceNode.fromStringWithSourceMap =\n function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n // The SourceNode we want to fill with the generated code\n // and the SourceMap\n var node = new SourceNode();\n\n // All even indices of this array are one line of the generated code,\n // while all odd indices are the newlines between two adjacent lines\n // (since `REGEX_NEWLINE` captures its match).\n // Processed fragments are accessed by calling `shiftNextLine`.\n var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n var remainingLinesIndex = 0;\n var shiftNextLine = function() {\n var lineContents = getNextLine();\n // The last line of a file might not have a newline.\n var newLine = getNextLine() || \"\";\n return lineContents + newLine;\n\n function getNextLine() {\n return remainingLinesIndex < remainingLines.length ?\n remainingLines[remainingLinesIndex++] : undefined;\n }\n };\n\n // We need to remember the position of \"remainingLines\"\n var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\n // The generate SourceNodes we need a code range.\n // To extract it current and last mapping is used.\n // Here we store the last mapping.\n var lastMapping = null;\n\n aSourceMapConsumer.eachMapping(function (mapping) {\n if (lastMapping !== null) {\n // We add the code from \"lastMapping\" to \"mapping\":\n // First check if there is a new line in between.\n if (lastGeneratedLine < mapping.generatedLine) {\n // Associate first line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n lastGeneratedLine++;\n lastGeneratedColumn = 0;\n // The remaining code is added without mapping\n } else {\n // There is no new line in between.\n // Associate the code between \"lastGeneratedColumn\" and\n // \"mapping.generatedColumn\" with \"lastMapping\"\n var nextLine = remainingLines[remainingLinesIndex];\n var code = nextLine.substr(0, mapping.generatedColumn -\n lastGeneratedColumn);\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n lastGeneratedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n addMappingWithCode(lastMapping, code);\n // No more remaining code, continue\n lastMapping = mapping;\n return;\n }\n }\n // We add the generated code until the first mapping\n // to the SourceNode without any mapping.\n // Each line is added as separate string.\n while (lastGeneratedLine < mapping.generatedLine) {\n node.add(shiftNextLine());\n lastGeneratedLine++;\n }\n if (lastGeneratedColumn < mapping.generatedColumn) {\n var nextLine = remainingLines[remainingLinesIndex];\n node.add(nextLine.substr(0, mapping.generatedColumn));\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n }\n lastMapping = mapping;\n }, this);\n // We have processed all mappings.\n if (remainingLinesIndex < remainingLines.length) {\n if (lastMapping) {\n // Associate the remaining code in the current line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n }\n // and add the remaining lines without any mapping\n node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n }\n\n // Copy sourcesContent into SourceNode\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aRelativePath != null) {\n sourceFile = util.join(aRelativePath, sourceFile);\n }\n node.setSourceContent(sourceFile, content);\n }\n });\n\n return node;\n\n function addMappingWithCode(mapping, code) {\n if (mapping === null || mapping.source === undefined) {\n node.add(code);\n } else {\n var source = aRelativePath\n ? util.join(aRelativePath, mapping.source)\n : mapping.source;\n node.add(new SourceNode(mapping.originalLine,\n mapping.originalColumn,\n source,\n code,\n mapping.name));\n }\n }\n };\n\n/**\n * Add a chunk of generated JS to this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.add = function SourceNode_add(aChunk) {\n if (Array.isArray(aChunk)) {\n aChunk.forEach(function (chunk) {\n this.add(chunk);\n }, this);\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n if (aChunk) {\n this.children.push(aChunk);\n }\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Add a chunk of generated JS to the beginning of this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n if (Array.isArray(aChunk)) {\n for (var i = aChunk.length-1; i >= 0; i--) {\n this.prepend(aChunk[i]);\n }\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n this.children.unshift(aChunk);\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Walk over the tree of JS snippets in this node and its children. The\n * walking function is called once for each snippet of JS and is passed that\n * snippet and the its original associated source's line/column location.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n var chunk;\n for (var i = 0, len = this.children.length; i < len; i++) {\n chunk = this.children[i];\n if (chunk[isSourceNode]) {\n chunk.walk(aFn);\n }\n else {\n if (chunk !== '') {\n aFn(chunk, { source: this.source,\n line: this.line,\n column: this.column,\n name: this.name });\n }\n }\n }\n};\n\n/**\n * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n * each of `this.children`.\n *\n * @param aSep The separator.\n */\nSourceNode.prototype.join = function SourceNode_join(aSep) {\n var newChildren;\n var i;\n var len = this.children.length;\n if (len > 0) {\n newChildren = [];\n for (i = 0; i < len-1; i++) {\n newChildren.push(this.children[i]);\n newChildren.push(aSep);\n }\n newChildren.push(this.children[i]);\n this.children = newChildren;\n }\n return this;\n};\n\n/**\n * Call String.prototype.replace on the very right-most source snippet. Useful\n * for trimming whitespace from the end of a source node, etc.\n *\n * @param aPattern The pattern to replace.\n * @param aReplacement The thing to replace the pattern with.\n */\nSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n var lastChild = this.children[this.children.length - 1];\n if (lastChild[isSourceNode]) {\n lastChild.replaceRight(aPattern, aReplacement);\n }\n else if (typeof lastChild === 'string') {\n this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n }\n else {\n this.children.push(''.replace(aPattern, aReplacement));\n }\n return this;\n};\n\n/**\n * Set the source content for a source file. This will be added to the SourceMapGenerator\n * in the sourcesContent field.\n *\n * @param aSourceFile The filename of the source file\n * @param aSourceContent The content of the source file\n */\nSourceNode.prototype.setSourceContent =\n function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n };\n\n/**\n * Walk over the tree of SourceNodes. The walking function is called for each\n * source file content and is passed the filename and source content.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walkSourceContents =\n function SourceNode_walkSourceContents(aFn) {\n for (var i = 0, len = this.children.length; i < len; i++) {\n if (this.children[i][isSourceNode]) {\n this.children[i].walkSourceContents(aFn);\n }\n }\n\n var sources = Object.keys(this.sourceContents);\n for (var i = 0, len = sources.length; i < len; i++) {\n aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n }\n };\n\n/**\n * Return the string representation of this source node. Walks over the tree\n * and concatenates all the various snippets together to one string.\n */\nSourceNode.prototype.toString = function SourceNode_toString() {\n var str = \"\";\n this.walk(function (chunk) {\n str += chunk;\n });\n return str;\n};\n\n/**\n * Returns the string representation of this source node along with a source\n * map.\n */\nSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n var generated = {\n code: \"\",\n line: 1,\n column: 0\n };\n var map = new SourceMapGenerator(aArgs);\n var sourceMappingActive = false;\n var lastOriginalSource = null;\n var lastOriginalLine = null;\n var lastOriginalColumn = null;\n var lastOriginalName = null;\n this.walk(function (chunk, original) {\n generated.code += chunk;\n if (original.source !== null\n && original.line !== null\n && original.column !== null) {\n if(lastOriginalSource !== original.source\n || lastOriginalLine !== original.line\n || lastOriginalColumn !== original.column\n || lastOriginalName !== original.name) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n lastOriginalSource = original.source;\n lastOriginalLine = original.line;\n lastOriginalColumn = original.column;\n lastOriginalName = original.name;\n sourceMappingActive = true;\n } else if (sourceMappingActive) {\n map.addMapping({\n generated: {\n line: generated.line,\n column: generated.column\n }\n });\n lastOriginalSource = null;\n sourceMappingActive = false;\n }\n for (var idx = 0, length = chunk.length; idx < length; idx++) {\n if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n generated.line++;\n generated.column = 0;\n // Mappings end at eol\n if (idx + 1 === length) {\n lastOriginalSource = null;\n sourceMappingActive = false;\n } else if (sourceMappingActive) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n } else {\n generated.column++;\n }\n }\n });\n this.walkSourceContents(function (sourceFile, sourceContent) {\n map.setSourceContent(sourceFile, sourceContent);\n });\n\n return { code: generated.code, map: map };\n};\n\nexports.SourceNode = SourceNode;\n", "/*\n * Copyright 2009-2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE.txt or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\nexports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;\nexports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;\nexports.SourceNode = require('./lib/source-node').SourceNode;\n", "module.exports = Object.create(new Proxy({}, {\n get(_, key) {\n if (\n key !== '__esModule' &&\n key !== '__proto__' &&\n key !== 'constructor' &&\n key !== 'splice'\n ) {\n console.warn(`Module \"fs\" has been externalized for browser compatibility. Cannot access \"fs.${key}\" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`)\n }\n }\n}))", "'use strict';\nvar fs = require('fs');\nvar path = require('path');\n\nObject.defineProperty(exports, 'commentRegex', {\n get: function getCommentRegex () {\n return /^\\s*\\/(?:\\/|\\*)[@#]\\s+sourceMappingURL=data:(?:application|text)\\/json;(?:charset[:=]\\S+?;)?base64,(?:.*)$/mg;\n }\n});\n\nObject.defineProperty(exports, 'mapFileCommentRegex', {\n get: function getMapFileCommentRegex () {\n // Matches sourceMappingURL in either // or /* comment styles.\n return /(?:\\/\\/[@#][ \\t]+sourceMappingURL=([^\\s'\"`]+?)[ \\t]*$)|(?:\\/\\*[@#][ \\t]+sourceMappingURL=([^\\*]+?)[ \\t]*(?:\\*\\/){1}[ \\t]*$)/mg;\n }\n});\n\nvar decodeBase64;\nif (typeof Buffer !== 'undefined') {\n if (typeof Buffer.from === 'function') {\n decodeBase64 = decodeBase64WithBufferFrom;\n } else {\n decodeBase64 = decodeBase64WithNewBuffer;\n }\n} else {\n decodeBase64 = decodeBase64WithAtob;\n}\n\nfunction decodeBase64WithBufferFrom(base64) {\n return Buffer.from(base64, 'base64').toString();\n}\n\nfunction decodeBase64WithNewBuffer(base64) {\n if (typeof value === 'number') {\n throw new TypeError('The value to decode must not be of type number.');\n }\n return new Buffer(base64, 'base64').toString();\n}\n\nfunction decodeBase64WithAtob(base64) {\n return decodeURIComponent(escape(atob(base64)));\n}\n\nfunction stripComment(sm) {\n return sm.split(',').pop();\n}\n\nfunction readFromFileMap(sm, dir) {\n // NOTE: this will only work on the server since it attempts to read the map file\n\n var r = exports.mapFileCommentRegex.exec(sm);\n\n // for some odd reason //# .. captures in 1 and /* .. */ in 2\n var filename = r[1] || r[2];\n var filepath = path.resolve(dir, filename);\n\n try {\n return fs.readFileSync(filepath, 'utf8');\n } catch (e) {\n throw new Error('An error occurred while trying to read the map file at ' + filepath + '\\n' + e);\n }\n}\n\nfunction Converter (sm, opts) {\n opts = opts || {};\n\n if (opts.isFileComment) sm = readFromFileMap(sm, opts.commentFileDir);\n if (opts.hasComment) sm = stripComment(sm);\n if (opts.isEncoded) sm = decodeBase64(sm);\n if (opts.isJSON || opts.isEncoded) sm = JSON.parse(sm);\n\n this.sourcemap = sm;\n}\n\nConverter.prototype.toJSON = function (space) {\n return JSON.stringify(this.sourcemap, null, space);\n};\n\nif (typeof Buffer !== 'undefined') {\n if (typeof Buffer.from === 'function') {\n Converter.prototype.toBase64 = encodeBase64WithBufferFrom;\n } else {\n Converter.prototype.toBase64 = encodeBase64WithNewBuffer;\n }\n} else {\n Converter.prototype.toBase64 = encodeBase64WithBtoa;\n}\n\nfunction encodeBase64WithBufferFrom() {\n var json = this.toJSON();\n return Buffer.from(json, 'utf8').toString('base64');\n}\n\nfunction encodeBase64WithNewBuffer() {\n var json = this.toJSON();\n if (typeof json === 'number') {\n throw new TypeError('The json to encode must not be of type number.');\n }\n return new Buffer(json, 'utf8').toString('base64');\n}\n\nfunction encodeBase64WithBtoa() {\n var json = this.toJSON();\n return btoa(unescape(encodeURIComponent(json)));\n}\n\nConverter.prototype.toComment = function (options) {\n var base64 = this.toBase64();\n var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n return options && options.multiline ? '/*# ' + data + ' */' : '//# ' + data;\n};\n\n// returns copy instead of original\nConverter.prototype.toObject = function () {\n return JSON.parse(this.toJSON());\n};\n\nConverter.prototype.addProperty = function (key, value) {\n if (this.sourcemap.hasOwnProperty(key)) throw new Error('property \"' + key + '\" already exists on the sourcemap, use set property instead');\n return this.setProperty(key, value);\n};\n\nConverter.prototype.setProperty = function (key, value) {\n this.sourcemap[key] = value;\n return this;\n};\n\nConverter.prototype.getProperty = function (key) {\n return this.sourcemap[key];\n};\n\nexports.fromObject = function (obj) {\n return new Converter(obj);\n};\n\nexports.fromJSON = function (json) {\n return new Converter(json, { isJSON: true });\n};\n\nexports.fromBase64 = function (base64) {\n return new Converter(base64, { isEncoded: true });\n};\n\nexports.fromComment = function (comment) {\n comment = comment\n .replace(/^\\/\\*/g, '//')\n .replace(/\\*\\/$/g, '');\n\n return new Converter(comment, { isEncoded: true, hasComment: true });\n};\n\nexports.fromMapFileComment = function (comment, dir) {\n return new Converter(comment, { commentFileDir: dir, isFileComment: true, isJSON: true });\n};\n\n// Finds last sourcemap comment in file or returns null if none was found\nexports.fromSource = function (content) {\n var m = content.match(exports.commentRegex);\n return m ? exports.fromComment(m.pop()) : null;\n};\n\n// Finds last sourcemap comment in file or returns null if none was found\nexports.fromMapFileSource = function (content, dir) {\n var m = content.match(exports.mapFileCommentRegex);\n return m ? exports.fromMapFileComment(m.pop(), dir) : null;\n};\n\nexports.removeComments = function (src) {\n return src.replace(exports.commentRegex, '');\n};\n\nexports.removeMapFileComments = function (src) {\n return src.replace(exports.mapFileCommentRegex, '');\n};\n\nexports.generateMapFileComment = function (file, options) {\n var data = 'sourceMappingURL=' + file;\n return options && options.multiline ? '/*# ' + data + ' */' : '//# ' + data;\n};\n", "var path = require('path')\nvar fs = require('fs')\n\nfunction defaultCheck (dir) {\n return fs.existsSync(path.join(dir, 'package.json'))\n}\n\nfunction findRoot (start, check) {\n start = start || module.parent.filename\n check = check || defaultCheck\n\n if (typeof start === 'string') {\n if (start[start.length - 1] !== path.sep) {\n start += path.sep\n }\n start = start.split(path.sep)\n }\n if (!start.length) {\n throw new Error('package.json not found in path')\n }\n start.pop()\n var dir = start.join(path.sep)\n try {\n if (check(dir)) {\n return dir\n }\n } catch (e) {}\n return findRoot(start, check)\n}\n\nmodule.exports = findRoot\n", "'use strict';\n\nmodule.exports = string => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a \\unnnn escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n};\n", "module.exports = Object.create(new Proxy({}, {\n get(_, key) {\n if (\n key !== '__esModule' &&\n key !== '__proto__' &&\n key !== 'constructor' &&\n key !== 'splice'\n ) {\n console.warn(`Module \"assert\" has been externalized for browser compatibility. Cannot access \"assert.${key}\" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`)\n }\n }\n}))", "export default function shallowEqual(\n actual: object,\n expected: T,\n): actual is T {\n const keys = Object.keys(expected) as (keyof T)[];\n\n for (const key of keys) {\n if (\n // @ts-expect-error maybe we should check whether key exists first\n actual[key] !== expected[key]\n ) {\n return false;\n }\n }\n\n return true;\n}\n", "const warnings = new Set();\n\nexport default function deprecationWarning(\n oldName: string,\n newName: string,\n prefix: string = \"\",\n) {\n if (warnings.has(oldName)) return;\n warnings.add(oldName);\n\n const { internal, trace } = captureShortStackTrace(1, 2);\n if (internal) {\n // If usage comes from an internal package, there is no point in warning because\n // 1. The new version of the package will already use the new API\n // 2. When the deprecation will become an error (in a future major version), users\n // will have to update every package anyway.\n return;\n }\n console.warn(\n `${prefix}\\`${oldName}\\` has been deprecated, please migrate to \\`${newName}\\`\\n${trace}`,\n );\n}\n\nfunction captureShortStackTrace(skip: number, length: number) {\n const { stackTraceLimit, prepareStackTrace } = Error;\n let stackTrace: NodeJS.CallSite[];\n // We add 1 to also take into account this function.\n Error.stackTraceLimit = 1 + skip + length;\n Error.prepareStackTrace = function (err, stack) {\n stackTrace = stack;\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n new Error().stack;\n Error.stackTraceLimit = stackTraceLimit;\n Error.prepareStackTrace = prepareStackTrace;\n\n if (!stackTrace) return { internal: false, trace: \"\" };\n\n const shortStackTrace = stackTrace.slice(1 + skip, 1 + skip + length);\n return {\n internal: /[\\\\/]@babel[\\\\/]/.test(shortStackTrace[1].getFileName()),\n trace: shortStackTrace.map(frame => ` at ${frame}`).join(\"\\n\"),\n };\n}\n", "/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate run 'make build'\n */\n\n/* eslint-disable no-fallthrough */\n\nimport shallowEqual from \"../../utils/shallowEqual.ts\";\nimport type * as t from \"../../index.ts\";\nimport deprecationWarning from \"../../utils/deprecationWarning.ts\";\n\ntype Opts = Partial<{\n [Prop in keyof Obj]: Obj[Prop] extends t.Node\n ? t.Node\n : Obj[Prop] extends t.Node[]\n ? t.Node[]\n : Obj[Prop];\n}>;\n\nexport function isArrayExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ArrayExpression {\n if (!node) return false;\n\n if (node.type !== \"ArrayExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isAssignmentExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.AssignmentExpression {\n if (!node) return false;\n\n if (node.type !== \"AssignmentExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isBinaryExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.BinaryExpression {\n if (!node) return false;\n\n if (node.type !== \"BinaryExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isInterpreterDirective(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.InterpreterDirective {\n if (!node) return false;\n\n if (node.type !== \"InterpreterDirective\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDirective(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Directive {\n if (!node) return false;\n\n if (node.type !== \"Directive\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDirectiveLiteral(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DirectiveLiteral {\n if (!node) return false;\n\n if (node.type !== \"DirectiveLiteral\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isBlockStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.BlockStatement {\n if (!node) return false;\n\n if (node.type !== \"BlockStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isBreakStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.BreakStatement {\n if (!node) return false;\n\n if (node.type !== \"BreakStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isCallExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.CallExpression {\n if (!node) return false;\n\n if (node.type !== \"CallExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isCatchClause(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.CatchClause {\n if (!node) return false;\n\n if (node.type !== \"CatchClause\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isConditionalExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ConditionalExpression {\n if (!node) return false;\n\n if (node.type !== \"ConditionalExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isContinueStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ContinueStatement {\n if (!node) return false;\n\n if (node.type !== \"ContinueStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDebuggerStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DebuggerStatement {\n if (!node) return false;\n\n if (node.type !== \"DebuggerStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDoWhileStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DoWhileStatement {\n if (!node) return false;\n\n if (node.type !== \"DoWhileStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isEmptyStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.EmptyStatement {\n if (!node) return false;\n\n if (node.type !== \"EmptyStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isExpressionStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ExpressionStatement {\n if (!node) return false;\n\n if (node.type !== \"ExpressionStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isFile(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.File {\n if (!node) return false;\n\n if (node.type !== \"File\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isForInStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ForInStatement {\n if (!node) return false;\n\n if (node.type !== \"ForInStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isForStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ForStatement {\n if (!node) return false;\n\n if (node.type !== \"ForStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isFunctionDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.FunctionDeclaration {\n if (!node) return false;\n\n if (node.type !== \"FunctionDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isFunctionExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.FunctionExpression {\n if (!node) return false;\n\n if (node.type !== \"FunctionExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isIdentifier(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Identifier {\n if (!node) return false;\n\n if (node.type !== \"Identifier\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isIfStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.IfStatement {\n if (!node) return false;\n\n if (node.type !== \"IfStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isLabeledStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.LabeledStatement {\n if (!node) return false;\n\n if (node.type !== \"LabeledStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isStringLiteral(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.StringLiteral {\n if (!node) return false;\n\n if (node.type !== \"StringLiteral\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isNumericLiteral(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.NumericLiteral {\n if (!node) return false;\n\n if (node.type !== \"NumericLiteral\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isNullLiteral(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.NullLiteral {\n if (!node) return false;\n\n if (node.type !== \"NullLiteral\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isBooleanLiteral(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.BooleanLiteral {\n if (!node) return false;\n\n if (node.type !== \"BooleanLiteral\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isRegExpLiteral(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.RegExpLiteral {\n if (!node) return false;\n\n if (node.type !== \"RegExpLiteral\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isLogicalExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.LogicalExpression {\n if (!node) return false;\n\n if (node.type !== \"LogicalExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isMemberExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.MemberExpression {\n if (!node) return false;\n\n if (node.type !== \"MemberExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isNewExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.NewExpression {\n if (!node) return false;\n\n if (node.type !== \"NewExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isProgram(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Program {\n if (!node) return false;\n\n if (node.type !== \"Program\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ObjectExpression {\n if (!node) return false;\n\n if (node.type !== \"ObjectExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectMethod(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ObjectMethod {\n if (!node) return false;\n\n if (node.type !== \"ObjectMethod\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectProperty(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ObjectProperty {\n if (!node) return false;\n\n if (node.type !== \"ObjectProperty\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isRestElement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.RestElement {\n if (!node) return false;\n\n if (node.type !== \"RestElement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isReturnStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ReturnStatement {\n if (!node) return false;\n\n if (node.type !== \"ReturnStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isSequenceExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.SequenceExpression {\n if (!node) return false;\n\n if (node.type !== \"SequenceExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isParenthesizedExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ParenthesizedExpression {\n if (!node) return false;\n\n if (node.type !== \"ParenthesizedExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isSwitchCase(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.SwitchCase {\n if (!node) return false;\n\n if (node.type !== \"SwitchCase\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isSwitchStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.SwitchStatement {\n if (!node) return false;\n\n if (node.type !== \"SwitchStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isThisExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ThisExpression {\n if (!node) return false;\n\n if (node.type !== \"ThisExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isThrowStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ThrowStatement {\n if (!node) return false;\n\n if (node.type !== \"ThrowStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTryStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TryStatement {\n if (!node) return false;\n\n if (node.type !== \"TryStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isUnaryExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.UnaryExpression {\n if (!node) return false;\n\n if (node.type !== \"UnaryExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isUpdateExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.UpdateExpression {\n if (!node) return false;\n\n if (node.type !== \"UpdateExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isVariableDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.VariableDeclaration {\n if (!node) return false;\n\n if (node.type !== \"VariableDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isVariableDeclarator(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.VariableDeclarator {\n if (!node) return false;\n\n if (node.type !== \"VariableDeclarator\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isWhileStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.WhileStatement {\n if (!node) return false;\n\n if (node.type !== \"WhileStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isWithStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.WithStatement {\n if (!node) return false;\n\n if (node.type !== \"WithStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isAssignmentPattern(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.AssignmentPattern {\n if (!node) return false;\n\n if (node.type !== \"AssignmentPattern\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isArrayPattern(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ArrayPattern {\n if (!node) return false;\n\n if (node.type !== \"ArrayPattern\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isArrowFunctionExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ArrowFunctionExpression {\n if (!node) return false;\n\n if (node.type !== \"ArrowFunctionExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isClassBody(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ClassBody {\n if (!node) return false;\n\n if (node.type !== \"ClassBody\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isClassExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ClassExpression {\n if (!node) return false;\n\n if (node.type !== \"ClassExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isClassDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ClassDeclaration {\n if (!node) return false;\n\n if (node.type !== \"ClassDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isExportAllDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ExportAllDeclaration {\n if (!node) return false;\n\n if (node.type !== \"ExportAllDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isExportDefaultDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ExportDefaultDeclaration {\n if (!node) return false;\n\n if (node.type !== \"ExportDefaultDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isExportNamedDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ExportNamedDeclaration {\n if (!node) return false;\n\n if (node.type !== \"ExportNamedDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isExportSpecifier(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ExportSpecifier {\n if (!node) return false;\n\n if (node.type !== \"ExportSpecifier\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isForOfStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ForOfStatement {\n if (!node) return false;\n\n if (node.type !== \"ForOfStatement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isImportDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ImportDeclaration {\n if (!node) return false;\n\n if (node.type !== \"ImportDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isImportDefaultSpecifier(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ImportDefaultSpecifier {\n if (!node) return false;\n\n if (node.type !== \"ImportDefaultSpecifier\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isImportNamespaceSpecifier(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ImportNamespaceSpecifier {\n if (!node) return false;\n\n if (node.type !== \"ImportNamespaceSpecifier\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isImportSpecifier(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ImportSpecifier {\n if (!node) return false;\n\n if (node.type !== \"ImportSpecifier\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isImportExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ImportExpression {\n if (!node) return false;\n\n if (node.type !== \"ImportExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isMetaProperty(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.MetaProperty {\n if (!node) return false;\n\n if (node.type !== \"MetaProperty\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isClassMethod(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ClassMethod {\n if (!node) return false;\n\n if (node.type !== \"ClassMethod\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectPattern(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ObjectPattern {\n if (!node) return false;\n\n if (node.type !== \"ObjectPattern\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isSpreadElement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.SpreadElement {\n if (!node) return false;\n\n if (node.type !== \"SpreadElement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isSuper(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Super {\n if (!node) return false;\n\n if (node.type !== \"Super\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTaggedTemplateExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TaggedTemplateExpression {\n if (!node) return false;\n\n if (node.type !== \"TaggedTemplateExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTemplateElement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TemplateElement {\n if (!node) return false;\n\n if (node.type !== \"TemplateElement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTemplateLiteral(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TemplateLiteral {\n if (!node) return false;\n\n if (node.type !== \"TemplateLiteral\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isYieldExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.YieldExpression {\n if (!node) return false;\n\n if (node.type !== \"YieldExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isAwaitExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.AwaitExpression {\n if (!node) return false;\n\n if (node.type !== \"AwaitExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isImport(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Import {\n if (!node) return false;\n\n if (node.type !== \"Import\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isBigIntLiteral(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.BigIntLiteral {\n if (!node) return false;\n\n if (node.type !== \"BigIntLiteral\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isExportNamespaceSpecifier(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ExportNamespaceSpecifier {\n if (!node) return false;\n\n if (node.type !== \"ExportNamespaceSpecifier\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isOptionalMemberExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.OptionalMemberExpression {\n if (!node) return false;\n\n if (node.type !== \"OptionalMemberExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isOptionalCallExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.OptionalCallExpression {\n if (!node) return false;\n\n if (node.type !== \"OptionalCallExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isClassProperty(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ClassProperty {\n if (!node) return false;\n\n if (node.type !== \"ClassProperty\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isClassAccessorProperty(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ClassAccessorProperty {\n if (!node) return false;\n\n if (node.type !== \"ClassAccessorProperty\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isClassPrivateProperty(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ClassPrivateProperty {\n if (!node) return false;\n\n if (node.type !== \"ClassPrivateProperty\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isClassPrivateMethod(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ClassPrivateMethod {\n if (!node) return false;\n\n if (node.type !== \"ClassPrivateMethod\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isPrivateName(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.PrivateName {\n if (!node) return false;\n\n if (node.type !== \"PrivateName\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isStaticBlock(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.StaticBlock {\n if (!node) return false;\n\n if (node.type !== \"StaticBlock\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isAnyTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.AnyTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"AnyTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isArrayTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ArrayTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"ArrayTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isBooleanTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.BooleanTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"BooleanTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isBooleanLiteralTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.BooleanLiteralTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"BooleanLiteralTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isNullLiteralTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.NullLiteralTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"NullLiteralTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isClassImplements(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ClassImplements {\n if (!node) return false;\n\n if (node.type !== \"ClassImplements\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareClass(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DeclareClass {\n if (!node) return false;\n\n if (node.type !== \"DeclareClass\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareFunction(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DeclareFunction {\n if (!node) return false;\n\n if (node.type !== \"DeclareFunction\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareInterface(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DeclareInterface {\n if (!node) return false;\n\n if (node.type !== \"DeclareInterface\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareModule(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DeclareModule {\n if (!node) return false;\n\n if (node.type !== \"DeclareModule\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareModuleExports(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DeclareModuleExports {\n if (!node) return false;\n\n if (node.type !== \"DeclareModuleExports\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareTypeAlias(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DeclareTypeAlias {\n if (!node) return false;\n\n if (node.type !== \"DeclareTypeAlias\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareOpaqueType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DeclareOpaqueType {\n if (!node) return false;\n\n if (node.type !== \"DeclareOpaqueType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareVariable(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DeclareVariable {\n if (!node) return false;\n\n if (node.type !== \"DeclareVariable\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareExportDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DeclareExportDeclaration {\n if (!node) return false;\n\n if (node.type !== \"DeclareExportDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareExportAllDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DeclareExportAllDeclaration {\n if (!node) return false;\n\n if (node.type !== \"DeclareExportAllDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclaredPredicate(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DeclaredPredicate {\n if (!node) return false;\n\n if (node.type !== \"DeclaredPredicate\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isExistsTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ExistsTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"ExistsTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isFunctionTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.FunctionTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"FunctionTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isFunctionTypeParam(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.FunctionTypeParam {\n if (!node) return false;\n\n if (node.type !== \"FunctionTypeParam\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isGenericTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.GenericTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"GenericTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isInferredPredicate(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.InferredPredicate {\n if (!node) return false;\n\n if (node.type !== \"InferredPredicate\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isInterfaceExtends(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.InterfaceExtends {\n if (!node) return false;\n\n if (node.type !== \"InterfaceExtends\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isInterfaceDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.InterfaceDeclaration {\n if (!node) return false;\n\n if (node.type !== \"InterfaceDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isInterfaceTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.InterfaceTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"InterfaceTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isIntersectionTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.IntersectionTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"IntersectionTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isMixedTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.MixedTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"MixedTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isEmptyTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.EmptyTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"EmptyTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isNullableTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.NullableTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"NullableTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isNumberLiteralTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.NumberLiteralTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"NumberLiteralTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isNumberTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.NumberTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"NumberTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ObjectTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"ObjectTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectTypeInternalSlot(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ObjectTypeInternalSlot {\n if (!node) return false;\n\n if (node.type !== \"ObjectTypeInternalSlot\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectTypeCallProperty(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ObjectTypeCallProperty {\n if (!node) return false;\n\n if (node.type !== \"ObjectTypeCallProperty\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectTypeIndexer(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ObjectTypeIndexer {\n if (!node) return false;\n\n if (node.type !== \"ObjectTypeIndexer\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectTypeProperty(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ObjectTypeProperty {\n if (!node) return false;\n\n if (node.type !== \"ObjectTypeProperty\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectTypeSpreadProperty(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ObjectTypeSpreadProperty {\n if (!node) return false;\n\n if (node.type !== \"ObjectTypeSpreadProperty\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isOpaqueType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.OpaqueType {\n if (!node) return false;\n\n if (node.type !== \"OpaqueType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isQualifiedTypeIdentifier(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.QualifiedTypeIdentifier {\n if (!node) return false;\n\n if (node.type !== \"QualifiedTypeIdentifier\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isStringLiteralTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.StringLiteralTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"StringLiteralTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isStringTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.StringTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"StringTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isSymbolTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.SymbolTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"SymbolTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isThisTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ThisTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"ThisTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTupleTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TupleTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"TupleTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeofTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TypeofTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"TypeofTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeAlias(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TypeAlias {\n if (!node) return false;\n\n if (node.type !== \"TypeAlias\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"TypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeCastExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TypeCastExpression {\n if (!node) return false;\n\n if (node.type !== \"TypeCastExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeParameter(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TypeParameter {\n if (!node) return false;\n\n if (node.type !== \"TypeParameter\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeParameterDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TypeParameterDeclaration {\n if (!node) return false;\n\n if (node.type !== \"TypeParameterDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeParameterInstantiation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TypeParameterInstantiation {\n if (!node) return false;\n\n if (node.type !== \"TypeParameterInstantiation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isUnionTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.UnionTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"UnionTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isVariance(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Variance {\n if (!node) return false;\n\n if (node.type !== \"Variance\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isVoidTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.VoidTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"VoidTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.EnumDeclaration {\n if (!node) return false;\n\n if (node.type !== \"EnumDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumBooleanBody(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.EnumBooleanBody {\n if (!node) return false;\n\n if (node.type !== \"EnumBooleanBody\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumNumberBody(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.EnumNumberBody {\n if (!node) return false;\n\n if (node.type !== \"EnumNumberBody\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumStringBody(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.EnumStringBody {\n if (!node) return false;\n\n if (node.type !== \"EnumStringBody\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumSymbolBody(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.EnumSymbolBody {\n if (!node) return false;\n\n if (node.type !== \"EnumSymbolBody\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumBooleanMember(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.EnumBooleanMember {\n if (!node) return false;\n\n if (node.type !== \"EnumBooleanMember\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumNumberMember(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.EnumNumberMember {\n if (!node) return false;\n\n if (node.type !== \"EnumNumberMember\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumStringMember(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.EnumStringMember {\n if (!node) return false;\n\n if (node.type !== \"EnumStringMember\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumDefaultedMember(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.EnumDefaultedMember {\n if (!node) return false;\n\n if (node.type !== \"EnumDefaultedMember\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isIndexedAccessType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.IndexedAccessType {\n if (!node) return false;\n\n if (node.type !== \"IndexedAccessType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isOptionalIndexedAccessType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.OptionalIndexedAccessType {\n if (!node) return false;\n\n if (node.type !== \"OptionalIndexedAccessType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXAttribute(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXAttribute {\n if (!node) return false;\n\n if (node.type !== \"JSXAttribute\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXClosingElement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXClosingElement {\n if (!node) return false;\n\n if (node.type !== \"JSXClosingElement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXElement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXElement {\n if (!node) return false;\n\n if (node.type !== \"JSXElement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXEmptyExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXEmptyExpression {\n if (!node) return false;\n\n if (node.type !== \"JSXEmptyExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXExpressionContainer(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXExpressionContainer {\n if (!node) return false;\n\n if (node.type !== \"JSXExpressionContainer\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXSpreadChild(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXSpreadChild {\n if (!node) return false;\n\n if (node.type !== \"JSXSpreadChild\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXIdentifier(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXIdentifier {\n if (!node) return false;\n\n if (node.type !== \"JSXIdentifier\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXMemberExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXMemberExpression {\n if (!node) return false;\n\n if (node.type !== \"JSXMemberExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXNamespacedName(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXNamespacedName {\n if (!node) return false;\n\n if (node.type !== \"JSXNamespacedName\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXOpeningElement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXOpeningElement {\n if (!node) return false;\n\n if (node.type !== \"JSXOpeningElement\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXSpreadAttribute(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXSpreadAttribute {\n if (!node) return false;\n\n if (node.type !== \"JSXSpreadAttribute\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXText(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXText {\n if (!node) return false;\n\n if (node.type !== \"JSXText\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXFragment(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXFragment {\n if (!node) return false;\n\n if (node.type !== \"JSXFragment\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXOpeningFragment(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXOpeningFragment {\n if (!node) return false;\n\n if (node.type !== \"JSXOpeningFragment\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXClosingFragment(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSXClosingFragment {\n if (!node) return false;\n\n if (node.type !== \"JSXClosingFragment\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isNoop(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Noop {\n if (!node) return false;\n\n if (node.type !== \"Noop\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isPlaceholder(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Placeholder {\n if (!node) return false;\n\n if (node.type !== \"Placeholder\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isV8IntrinsicIdentifier(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.V8IntrinsicIdentifier {\n if (!node) return false;\n\n if (node.type !== \"V8IntrinsicIdentifier\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isArgumentPlaceholder(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ArgumentPlaceholder {\n if (!node) return false;\n\n if (node.type !== \"ArgumentPlaceholder\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isBindExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.BindExpression {\n if (!node) return false;\n\n if (node.type !== \"BindExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isImportAttribute(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ImportAttribute {\n if (!node) return false;\n\n if (node.type !== \"ImportAttribute\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDecorator(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Decorator {\n if (!node) return false;\n\n if (node.type !== \"Decorator\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDoExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DoExpression {\n if (!node) return false;\n\n if (node.type !== \"DoExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isExportDefaultSpecifier(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ExportDefaultSpecifier {\n if (!node) return false;\n\n if (node.type !== \"ExportDefaultSpecifier\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isRecordExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.RecordExpression {\n if (!node) return false;\n\n if (node.type !== \"RecordExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTupleExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TupleExpression {\n if (!node) return false;\n\n if (node.type !== \"TupleExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDecimalLiteral(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.DecimalLiteral {\n if (!node) return false;\n\n if (node.type !== \"DecimalLiteral\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isModuleExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ModuleExpression {\n if (!node) return false;\n\n if (node.type !== \"ModuleExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTopicReference(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TopicReference {\n if (!node) return false;\n\n if (node.type !== \"TopicReference\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isPipelineTopicExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.PipelineTopicExpression {\n if (!node) return false;\n\n if (node.type !== \"PipelineTopicExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isPipelineBareFunction(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.PipelineBareFunction {\n if (!node) return false;\n\n if (node.type !== \"PipelineBareFunction\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isPipelinePrimaryTopicReference(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.PipelinePrimaryTopicReference {\n if (!node) return false;\n\n if (node.type !== \"PipelinePrimaryTopicReference\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSParameterProperty(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSParameterProperty {\n if (!node) return false;\n\n if (node.type !== \"TSParameterProperty\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSDeclareFunction(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSDeclareFunction {\n if (!node) return false;\n\n if (node.type !== \"TSDeclareFunction\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSDeclareMethod(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSDeclareMethod {\n if (!node) return false;\n\n if (node.type !== \"TSDeclareMethod\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSQualifiedName(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSQualifiedName {\n if (!node) return false;\n\n if (node.type !== \"TSQualifiedName\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSCallSignatureDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSCallSignatureDeclaration {\n if (!node) return false;\n\n if (node.type !== \"TSCallSignatureDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSConstructSignatureDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSConstructSignatureDeclaration {\n if (!node) return false;\n\n if (node.type !== \"TSConstructSignatureDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSPropertySignature(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSPropertySignature {\n if (!node) return false;\n\n if (node.type !== \"TSPropertySignature\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSMethodSignature(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSMethodSignature {\n if (!node) return false;\n\n if (node.type !== \"TSMethodSignature\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSIndexSignature(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSIndexSignature {\n if (!node) return false;\n\n if (node.type !== \"TSIndexSignature\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSAnyKeyword(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSAnyKeyword {\n if (!node) return false;\n\n if (node.type !== \"TSAnyKeyword\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSBooleanKeyword(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSBooleanKeyword {\n if (!node) return false;\n\n if (node.type !== \"TSBooleanKeyword\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSBigIntKeyword(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSBigIntKeyword {\n if (!node) return false;\n\n if (node.type !== \"TSBigIntKeyword\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSIntrinsicKeyword(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSIntrinsicKeyword {\n if (!node) return false;\n\n if (node.type !== \"TSIntrinsicKeyword\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSNeverKeyword(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSNeverKeyword {\n if (!node) return false;\n\n if (node.type !== \"TSNeverKeyword\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSNullKeyword(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSNullKeyword {\n if (!node) return false;\n\n if (node.type !== \"TSNullKeyword\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSNumberKeyword(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSNumberKeyword {\n if (!node) return false;\n\n if (node.type !== \"TSNumberKeyword\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSObjectKeyword(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSObjectKeyword {\n if (!node) return false;\n\n if (node.type !== \"TSObjectKeyword\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSStringKeyword(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSStringKeyword {\n if (!node) return false;\n\n if (node.type !== \"TSStringKeyword\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSSymbolKeyword(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSSymbolKeyword {\n if (!node) return false;\n\n if (node.type !== \"TSSymbolKeyword\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSUndefinedKeyword(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSUndefinedKeyword {\n if (!node) return false;\n\n if (node.type !== \"TSUndefinedKeyword\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSUnknownKeyword(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSUnknownKeyword {\n if (!node) return false;\n\n if (node.type !== \"TSUnknownKeyword\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSVoidKeyword(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSVoidKeyword {\n if (!node) return false;\n\n if (node.type !== \"TSVoidKeyword\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSThisType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSThisType {\n if (!node) return false;\n\n if (node.type !== \"TSThisType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSFunctionType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSFunctionType {\n if (!node) return false;\n\n if (node.type !== \"TSFunctionType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSConstructorType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSConstructorType {\n if (!node) return false;\n\n if (node.type !== \"TSConstructorType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeReference(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSTypeReference {\n if (!node) return false;\n\n if (node.type !== \"TSTypeReference\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypePredicate(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSTypePredicate {\n if (!node) return false;\n\n if (node.type !== \"TSTypePredicate\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeQuery(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSTypeQuery {\n if (!node) return false;\n\n if (node.type !== \"TSTypeQuery\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeLiteral(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSTypeLiteral {\n if (!node) return false;\n\n if (node.type !== \"TSTypeLiteral\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSArrayType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSArrayType {\n if (!node) return false;\n\n if (node.type !== \"TSArrayType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTupleType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSTupleType {\n if (!node) return false;\n\n if (node.type !== \"TSTupleType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSOptionalType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSOptionalType {\n if (!node) return false;\n\n if (node.type !== \"TSOptionalType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSRestType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSRestType {\n if (!node) return false;\n\n if (node.type !== \"TSRestType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSNamedTupleMember(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSNamedTupleMember {\n if (!node) return false;\n\n if (node.type !== \"TSNamedTupleMember\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSUnionType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSUnionType {\n if (!node) return false;\n\n if (node.type !== \"TSUnionType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSIntersectionType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSIntersectionType {\n if (!node) return false;\n\n if (node.type !== \"TSIntersectionType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSConditionalType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSConditionalType {\n if (!node) return false;\n\n if (node.type !== \"TSConditionalType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSInferType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSInferType {\n if (!node) return false;\n\n if (node.type !== \"TSInferType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSParenthesizedType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSParenthesizedType {\n if (!node) return false;\n\n if (node.type !== \"TSParenthesizedType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeOperator(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSTypeOperator {\n if (!node) return false;\n\n if (node.type !== \"TSTypeOperator\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSIndexedAccessType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSIndexedAccessType {\n if (!node) return false;\n\n if (node.type !== \"TSIndexedAccessType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSMappedType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSMappedType {\n if (!node) return false;\n\n if (node.type !== \"TSMappedType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSLiteralType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSLiteralType {\n if (!node) return false;\n\n if (node.type !== \"TSLiteralType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSExpressionWithTypeArguments(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSExpressionWithTypeArguments {\n if (!node) return false;\n\n if (node.type !== \"TSExpressionWithTypeArguments\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSInterfaceDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSInterfaceDeclaration {\n if (!node) return false;\n\n if (node.type !== \"TSInterfaceDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSInterfaceBody(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSInterfaceBody {\n if (!node) return false;\n\n if (node.type !== \"TSInterfaceBody\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeAliasDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSTypeAliasDeclaration {\n if (!node) return false;\n\n if (node.type !== \"TSTypeAliasDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSInstantiationExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSInstantiationExpression {\n if (!node) return false;\n\n if (node.type !== \"TSInstantiationExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSAsExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSAsExpression {\n if (!node) return false;\n\n if (node.type !== \"TSAsExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSSatisfiesExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSSatisfiesExpression {\n if (!node) return false;\n\n if (node.type !== \"TSSatisfiesExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeAssertion(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSTypeAssertion {\n if (!node) return false;\n\n if (node.type !== \"TSTypeAssertion\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSEnumDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSEnumDeclaration {\n if (!node) return false;\n\n if (node.type !== \"TSEnumDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSEnumMember(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSEnumMember {\n if (!node) return false;\n\n if (node.type !== \"TSEnumMember\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSModuleDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSModuleDeclaration {\n if (!node) return false;\n\n if (node.type !== \"TSModuleDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSModuleBlock(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSModuleBlock {\n if (!node) return false;\n\n if (node.type !== \"TSModuleBlock\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSImportType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSImportType {\n if (!node) return false;\n\n if (node.type !== \"TSImportType\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSImportEqualsDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSImportEqualsDeclaration {\n if (!node) return false;\n\n if (node.type !== \"TSImportEqualsDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSExternalModuleReference(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSExternalModuleReference {\n if (!node) return false;\n\n if (node.type !== \"TSExternalModuleReference\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSNonNullExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSNonNullExpression {\n if (!node) return false;\n\n if (node.type !== \"TSNonNullExpression\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSExportAssignment(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSExportAssignment {\n if (!node) return false;\n\n if (node.type !== \"TSExportAssignment\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSNamespaceExportDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSNamespaceExportDeclaration {\n if (!node) return false;\n\n if (node.type !== \"TSNamespaceExportDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSTypeAnnotation {\n if (!node) return false;\n\n if (node.type !== \"TSTypeAnnotation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeParameterInstantiation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSTypeParameterInstantiation {\n if (!node) return false;\n\n if (node.type !== \"TSTypeParameterInstantiation\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeParameterDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSTypeParameterDeclaration {\n if (!node) return false;\n\n if (node.type !== \"TSTypeParameterDeclaration\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeParameter(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSTypeParameter {\n if (!node) return false;\n\n if (node.type !== \"TSTypeParameter\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isStandardized(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Standardized {\n if (!node) return false;\n\n switch (node.type) {\n case \"ArrayExpression\":\n case \"AssignmentExpression\":\n case \"BinaryExpression\":\n case \"InterpreterDirective\":\n case \"Directive\":\n case \"DirectiveLiteral\":\n case \"BlockStatement\":\n case \"BreakStatement\":\n case \"CallExpression\":\n case \"CatchClause\":\n case \"ConditionalExpression\":\n case \"ContinueStatement\":\n case \"DebuggerStatement\":\n case \"DoWhileStatement\":\n case \"EmptyStatement\":\n case \"ExpressionStatement\":\n case \"File\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"Identifier\":\n case \"IfStatement\":\n case \"LabeledStatement\":\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"RegExpLiteral\":\n case \"LogicalExpression\":\n case \"MemberExpression\":\n case \"NewExpression\":\n case \"Program\":\n case \"ObjectExpression\":\n case \"ObjectMethod\":\n case \"ObjectProperty\":\n case \"RestElement\":\n case \"ReturnStatement\":\n case \"SequenceExpression\":\n case \"ParenthesizedExpression\":\n case \"SwitchCase\":\n case \"SwitchStatement\":\n case \"ThisExpression\":\n case \"ThrowStatement\":\n case \"TryStatement\":\n case \"UnaryExpression\":\n case \"UpdateExpression\":\n case \"VariableDeclaration\":\n case \"VariableDeclarator\":\n case \"WhileStatement\":\n case \"WithStatement\":\n case \"AssignmentPattern\":\n case \"ArrayPattern\":\n case \"ArrowFunctionExpression\":\n case \"ClassBody\":\n case \"ClassExpression\":\n case \"ClassDeclaration\":\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n case \"ExportSpecifier\":\n case \"ForOfStatement\":\n case \"ImportDeclaration\":\n case \"ImportDefaultSpecifier\":\n case \"ImportNamespaceSpecifier\":\n case \"ImportSpecifier\":\n case \"ImportExpression\":\n case \"MetaProperty\":\n case \"ClassMethod\":\n case \"ObjectPattern\":\n case \"SpreadElement\":\n case \"Super\":\n case \"TaggedTemplateExpression\":\n case \"TemplateElement\":\n case \"TemplateLiteral\":\n case \"YieldExpression\":\n case \"AwaitExpression\":\n case \"Import\":\n case \"BigIntLiteral\":\n case \"ExportNamespaceSpecifier\":\n case \"OptionalMemberExpression\":\n case \"OptionalCallExpression\":\n case \"ClassProperty\":\n case \"ClassAccessorProperty\":\n case \"ClassPrivateProperty\":\n case \"ClassPrivateMethod\":\n case \"PrivateName\":\n case \"StaticBlock\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Identifier\":\n case \"StringLiteral\":\n case \"BlockStatement\":\n case \"ClassBody\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isExpression(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Expression {\n if (!node) return false;\n\n switch (node.type) {\n case \"ArrayExpression\":\n case \"AssignmentExpression\":\n case \"BinaryExpression\":\n case \"CallExpression\":\n case \"ConditionalExpression\":\n case \"FunctionExpression\":\n case \"Identifier\":\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"RegExpLiteral\":\n case \"LogicalExpression\":\n case \"MemberExpression\":\n case \"NewExpression\":\n case \"ObjectExpression\":\n case \"SequenceExpression\":\n case \"ParenthesizedExpression\":\n case \"ThisExpression\":\n case \"UnaryExpression\":\n case \"UpdateExpression\":\n case \"ArrowFunctionExpression\":\n case \"ClassExpression\":\n case \"ImportExpression\":\n case \"MetaProperty\":\n case \"Super\":\n case \"TaggedTemplateExpression\":\n case \"TemplateLiteral\":\n case \"YieldExpression\":\n case \"AwaitExpression\":\n case \"Import\":\n case \"BigIntLiteral\":\n case \"OptionalMemberExpression\":\n case \"OptionalCallExpression\":\n case \"TypeCastExpression\":\n case \"JSXElement\":\n case \"JSXFragment\":\n case \"BindExpression\":\n case \"DoExpression\":\n case \"RecordExpression\":\n case \"TupleExpression\":\n case \"DecimalLiteral\":\n case \"ModuleExpression\":\n case \"TopicReference\":\n case \"PipelineTopicExpression\":\n case \"PipelineBareFunction\":\n case \"PipelinePrimaryTopicReference\":\n case \"TSInstantiationExpression\":\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSTypeAssertion\":\n case \"TSNonNullExpression\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Expression\":\n case \"Identifier\":\n case \"StringLiteral\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isBinary(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Binary {\n if (!node) return false;\n\n switch (node.type) {\n case \"BinaryExpression\":\n case \"LogicalExpression\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isScopable(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Scopable {\n if (!node) return false;\n\n switch (node.type) {\n case \"BlockStatement\":\n case \"CatchClause\":\n case \"DoWhileStatement\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"Program\":\n case \"ObjectMethod\":\n case \"SwitchStatement\":\n case \"WhileStatement\":\n case \"ArrowFunctionExpression\":\n case \"ClassExpression\":\n case \"ClassDeclaration\":\n case \"ForOfStatement\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"StaticBlock\":\n case \"TSModuleBlock\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"BlockStatement\") break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isBlockParent(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.BlockParent {\n if (!node) return false;\n\n switch (node.type) {\n case \"BlockStatement\":\n case \"CatchClause\":\n case \"DoWhileStatement\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"Program\":\n case \"ObjectMethod\":\n case \"SwitchStatement\":\n case \"WhileStatement\":\n case \"ArrowFunctionExpression\":\n case \"ForOfStatement\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"StaticBlock\":\n case \"TSModuleBlock\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"BlockStatement\") break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isBlock(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Block {\n if (!node) return false;\n\n switch (node.type) {\n case \"BlockStatement\":\n case \"Program\":\n case \"TSModuleBlock\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"BlockStatement\") break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Statement {\n if (!node) return false;\n\n switch (node.type) {\n case \"BlockStatement\":\n case \"BreakStatement\":\n case \"ContinueStatement\":\n case \"DebuggerStatement\":\n case \"DoWhileStatement\":\n case \"EmptyStatement\":\n case \"ExpressionStatement\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"FunctionDeclaration\":\n case \"IfStatement\":\n case \"LabeledStatement\":\n case \"ReturnStatement\":\n case \"SwitchStatement\":\n case \"ThrowStatement\":\n case \"TryStatement\":\n case \"VariableDeclaration\":\n case \"WhileStatement\":\n case \"WithStatement\":\n case \"ClassDeclaration\":\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n case \"ForOfStatement\":\n case \"ImportDeclaration\":\n case \"DeclareClass\":\n case \"DeclareFunction\":\n case \"DeclareInterface\":\n case \"DeclareModule\":\n case \"DeclareModuleExports\":\n case \"DeclareTypeAlias\":\n case \"DeclareOpaqueType\":\n case \"DeclareVariable\":\n case \"DeclareExportDeclaration\":\n case \"DeclareExportAllDeclaration\":\n case \"InterfaceDeclaration\":\n case \"OpaqueType\":\n case \"TypeAlias\":\n case \"EnumDeclaration\":\n case \"TSDeclareFunction\":\n case \"TSInterfaceDeclaration\":\n case \"TSTypeAliasDeclaration\":\n case \"TSEnumDeclaration\":\n case \"TSModuleDeclaration\":\n case \"TSImportEqualsDeclaration\":\n case \"TSExportAssignment\":\n case \"TSNamespaceExportDeclaration\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Statement\":\n case \"Declaration\":\n case \"BlockStatement\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTerminatorless(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Terminatorless {\n if (!node) return false;\n\n switch (node.type) {\n case \"BreakStatement\":\n case \"ContinueStatement\":\n case \"ReturnStatement\":\n case \"ThrowStatement\":\n case \"YieldExpression\":\n case \"AwaitExpression\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isCompletionStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.CompletionStatement {\n if (!node) return false;\n\n switch (node.type) {\n case \"BreakStatement\":\n case \"ContinueStatement\":\n case \"ReturnStatement\":\n case \"ThrowStatement\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isConditional(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Conditional {\n if (!node) return false;\n\n switch (node.type) {\n case \"ConditionalExpression\":\n case \"IfStatement\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isLoop(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Loop {\n if (!node) return false;\n\n switch (node.type) {\n case \"DoWhileStatement\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"WhileStatement\":\n case \"ForOfStatement\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isWhile(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.While {\n if (!node) return false;\n\n switch (node.type) {\n case \"DoWhileStatement\":\n case \"WhileStatement\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isExpressionWrapper(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ExpressionWrapper {\n if (!node) return false;\n\n switch (node.type) {\n case \"ExpressionStatement\":\n case \"ParenthesizedExpression\":\n case \"TypeCastExpression\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isFor(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.For {\n if (!node) return false;\n\n switch (node.type) {\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"ForOfStatement\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isForXStatement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ForXStatement {\n if (!node) return false;\n\n switch (node.type) {\n case \"ForInStatement\":\n case \"ForOfStatement\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isFunction(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Function {\n if (!node) return false;\n\n switch (node.type) {\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"ObjectMethod\":\n case \"ArrowFunctionExpression\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isFunctionParent(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.FunctionParent {\n if (!node) return false;\n\n switch (node.type) {\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"ObjectMethod\":\n case \"ArrowFunctionExpression\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"StaticBlock\":\n case \"TSModuleBlock\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isPureish(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Pureish {\n if (!node) return false;\n\n switch (node.type) {\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"RegExpLiteral\":\n case \"ArrowFunctionExpression\":\n case \"BigIntLiteral\":\n case \"DecimalLiteral\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"StringLiteral\") break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Declaration {\n if (!node) return false;\n\n switch (node.type) {\n case \"FunctionDeclaration\":\n case \"VariableDeclaration\":\n case \"ClassDeclaration\":\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n case \"ImportDeclaration\":\n case \"DeclareClass\":\n case \"DeclareFunction\":\n case \"DeclareInterface\":\n case \"DeclareModule\":\n case \"DeclareModuleExports\":\n case \"DeclareTypeAlias\":\n case \"DeclareOpaqueType\":\n case \"DeclareVariable\":\n case \"DeclareExportDeclaration\":\n case \"DeclareExportAllDeclaration\":\n case \"InterfaceDeclaration\":\n case \"OpaqueType\":\n case \"TypeAlias\":\n case \"EnumDeclaration\":\n case \"TSDeclareFunction\":\n case \"TSInterfaceDeclaration\":\n case \"TSTypeAliasDeclaration\":\n case \"TSEnumDeclaration\":\n case \"TSModuleDeclaration\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"Declaration\") break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isPatternLike(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.PatternLike {\n if (!node) return false;\n\n switch (node.type) {\n case \"Identifier\":\n case \"RestElement\":\n case \"AssignmentPattern\":\n case \"ArrayPattern\":\n case \"ObjectPattern\":\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSTypeAssertion\":\n case \"TSNonNullExpression\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Pattern\":\n case \"Identifier\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isLVal(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.LVal {\n if (!node) return false;\n\n switch (node.type) {\n case \"Identifier\":\n case \"MemberExpression\":\n case \"RestElement\":\n case \"AssignmentPattern\":\n case \"ArrayPattern\":\n case \"ObjectPattern\":\n case \"TSParameterProperty\":\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSTypeAssertion\":\n case \"TSNonNullExpression\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Pattern\":\n case \"Identifier\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSEntityName(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSEntityName {\n if (!node) return false;\n\n switch (node.type) {\n case \"Identifier\":\n case \"TSQualifiedName\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"Identifier\") break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isLiteral(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Literal {\n if (!node) return false;\n\n switch (node.type) {\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"RegExpLiteral\":\n case \"TemplateLiteral\":\n case \"BigIntLiteral\":\n case \"DecimalLiteral\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"StringLiteral\") break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isImmutable(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Immutable {\n if (!node) return false;\n\n switch (node.type) {\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"BigIntLiteral\":\n case \"JSXAttribute\":\n case \"JSXClosingElement\":\n case \"JSXElement\":\n case \"JSXExpressionContainer\":\n case \"JSXSpreadChild\":\n case \"JSXOpeningElement\":\n case \"JSXText\":\n case \"JSXFragment\":\n case \"JSXOpeningFragment\":\n case \"JSXClosingFragment\":\n case \"DecimalLiteral\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"StringLiteral\") break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isUserWhitespacable(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.UserWhitespacable {\n if (!node) return false;\n\n switch (node.type) {\n case \"ObjectMethod\":\n case \"ObjectProperty\":\n case \"ObjectTypeInternalSlot\":\n case \"ObjectTypeCallProperty\":\n case \"ObjectTypeIndexer\":\n case \"ObjectTypeProperty\":\n case \"ObjectTypeSpreadProperty\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isMethod(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Method {\n if (!node) return false;\n\n switch (node.type) {\n case \"ObjectMethod\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectMember(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ObjectMember {\n if (!node) return false;\n\n switch (node.type) {\n case \"ObjectMethod\":\n case \"ObjectProperty\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isProperty(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Property {\n if (!node) return false;\n\n switch (node.type) {\n case \"ObjectProperty\":\n case \"ClassProperty\":\n case \"ClassAccessorProperty\":\n case \"ClassPrivateProperty\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isUnaryLike(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.UnaryLike {\n if (!node) return false;\n\n switch (node.type) {\n case \"UnaryExpression\":\n case \"SpreadElement\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isPattern(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Pattern {\n if (!node) return false;\n\n switch (node.type) {\n case \"AssignmentPattern\":\n case \"ArrayPattern\":\n case \"ObjectPattern\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"Pattern\") break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isClass(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Class {\n if (!node) return false;\n\n switch (node.type) {\n case \"ClassExpression\":\n case \"ClassDeclaration\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isImportOrExportDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ImportOrExportDeclaration {\n if (!node) return false;\n\n switch (node.type) {\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n case \"ImportDeclaration\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isExportDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ExportDeclaration {\n if (!node) return false;\n\n switch (node.type) {\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isModuleSpecifier(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ModuleSpecifier {\n if (!node) return false;\n\n switch (node.type) {\n case \"ExportSpecifier\":\n case \"ImportDefaultSpecifier\":\n case \"ImportNamespaceSpecifier\":\n case \"ImportSpecifier\":\n case \"ExportNamespaceSpecifier\":\n case \"ExportDefaultSpecifier\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isAccessor(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Accessor {\n if (!node) return false;\n\n switch (node.type) {\n case \"ClassAccessorProperty\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isPrivate(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Private {\n if (!node) return false;\n\n switch (node.type) {\n case \"ClassPrivateProperty\":\n case \"ClassPrivateMethod\":\n case \"PrivateName\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isFlow(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Flow {\n if (!node) return false;\n\n switch (node.type) {\n case \"AnyTypeAnnotation\":\n case \"ArrayTypeAnnotation\":\n case \"BooleanTypeAnnotation\":\n case \"BooleanLiteralTypeAnnotation\":\n case \"NullLiteralTypeAnnotation\":\n case \"ClassImplements\":\n case \"DeclareClass\":\n case \"DeclareFunction\":\n case \"DeclareInterface\":\n case \"DeclareModule\":\n case \"DeclareModuleExports\":\n case \"DeclareTypeAlias\":\n case \"DeclareOpaqueType\":\n case \"DeclareVariable\":\n case \"DeclareExportDeclaration\":\n case \"DeclareExportAllDeclaration\":\n case \"DeclaredPredicate\":\n case \"ExistsTypeAnnotation\":\n case \"FunctionTypeAnnotation\":\n case \"FunctionTypeParam\":\n case \"GenericTypeAnnotation\":\n case \"InferredPredicate\":\n case \"InterfaceExtends\":\n case \"InterfaceDeclaration\":\n case \"InterfaceTypeAnnotation\":\n case \"IntersectionTypeAnnotation\":\n case \"MixedTypeAnnotation\":\n case \"EmptyTypeAnnotation\":\n case \"NullableTypeAnnotation\":\n case \"NumberLiteralTypeAnnotation\":\n case \"NumberTypeAnnotation\":\n case \"ObjectTypeAnnotation\":\n case \"ObjectTypeInternalSlot\":\n case \"ObjectTypeCallProperty\":\n case \"ObjectTypeIndexer\":\n case \"ObjectTypeProperty\":\n case \"ObjectTypeSpreadProperty\":\n case \"OpaqueType\":\n case \"QualifiedTypeIdentifier\":\n case \"StringLiteralTypeAnnotation\":\n case \"StringTypeAnnotation\":\n case \"SymbolTypeAnnotation\":\n case \"ThisTypeAnnotation\":\n case \"TupleTypeAnnotation\":\n case \"TypeofTypeAnnotation\":\n case \"TypeAlias\":\n case \"TypeAnnotation\":\n case \"TypeCastExpression\":\n case \"TypeParameter\":\n case \"TypeParameterDeclaration\":\n case \"TypeParameterInstantiation\":\n case \"UnionTypeAnnotation\":\n case \"Variance\":\n case \"VoidTypeAnnotation\":\n case \"EnumDeclaration\":\n case \"EnumBooleanBody\":\n case \"EnumNumberBody\":\n case \"EnumStringBody\":\n case \"EnumSymbolBody\":\n case \"EnumBooleanMember\":\n case \"EnumNumberMember\":\n case \"EnumStringMember\":\n case \"EnumDefaultedMember\":\n case \"IndexedAccessType\":\n case \"OptionalIndexedAccessType\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isFlowType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.FlowType {\n if (!node) return false;\n\n switch (node.type) {\n case \"AnyTypeAnnotation\":\n case \"ArrayTypeAnnotation\":\n case \"BooleanTypeAnnotation\":\n case \"BooleanLiteralTypeAnnotation\":\n case \"NullLiteralTypeAnnotation\":\n case \"ExistsTypeAnnotation\":\n case \"FunctionTypeAnnotation\":\n case \"GenericTypeAnnotation\":\n case \"InterfaceTypeAnnotation\":\n case \"IntersectionTypeAnnotation\":\n case \"MixedTypeAnnotation\":\n case \"EmptyTypeAnnotation\":\n case \"NullableTypeAnnotation\":\n case \"NumberLiteralTypeAnnotation\":\n case \"NumberTypeAnnotation\":\n case \"ObjectTypeAnnotation\":\n case \"StringLiteralTypeAnnotation\":\n case \"StringTypeAnnotation\":\n case \"SymbolTypeAnnotation\":\n case \"ThisTypeAnnotation\":\n case \"TupleTypeAnnotation\":\n case \"TypeofTypeAnnotation\":\n case \"UnionTypeAnnotation\":\n case \"VoidTypeAnnotation\":\n case \"IndexedAccessType\":\n case \"OptionalIndexedAccessType\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isFlowBaseAnnotation(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.FlowBaseAnnotation {\n if (!node) return false;\n\n switch (node.type) {\n case \"AnyTypeAnnotation\":\n case \"BooleanTypeAnnotation\":\n case \"NullLiteralTypeAnnotation\":\n case \"MixedTypeAnnotation\":\n case \"EmptyTypeAnnotation\":\n case \"NumberTypeAnnotation\":\n case \"StringTypeAnnotation\":\n case \"SymbolTypeAnnotation\":\n case \"ThisTypeAnnotation\":\n case \"VoidTypeAnnotation\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isFlowDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.FlowDeclaration {\n if (!node) return false;\n\n switch (node.type) {\n case \"DeclareClass\":\n case \"DeclareFunction\":\n case \"DeclareInterface\":\n case \"DeclareModule\":\n case \"DeclareModuleExports\":\n case \"DeclareTypeAlias\":\n case \"DeclareOpaqueType\":\n case \"DeclareVariable\":\n case \"DeclareExportDeclaration\":\n case \"DeclareExportAllDeclaration\":\n case \"InterfaceDeclaration\":\n case \"OpaqueType\":\n case \"TypeAlias\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isFlowPredicate(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.FlowPredicate {\n if (!node) return false;\n\n switch (node.type) {\n case \"DeclaredPredicate\":\n case \"InferredPredicate\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumBody(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.EnumBody {\n if (!node) return false;\n\n switch (node.type) {\n case \"EnumBooleanBody\":\n case \"EnumNumberBody\":\n case \"EnumStringBody\":\n case \"EnumSymbolBody\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumMember(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.EnumMember {\n if (!node) return false;\n\n switch (node.type) {\n case \"EnumBooleanMember\":\n case \"EnumNumberMember\":\n case \"EnumStringMember\":\n case \"EnumDefaultedMember\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isJSX(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.JSX {\n if (!node) return false;\n\n switch (node.type) {\n case \"JSXAttribute\":\n case \"JSXClosingElement\":\n case \"JSXElement\":\n case \"JSXEmptyExpression\":\n case \"JSXExpressionContainer\":\n case \"JSXSpreadChild\":\n case \"JSXIdentifier\":\n case \"JSXMemberExpression\":\n case \"JSXNamespacedName\":\n case \"JSXOpeningElement\":\n case \"JSXSpreadAttribute\":\n case \"JSXText\":\n case \"JSXFragment\":\n case \"JSXOpeningFragment\":\n case \"JSXClosingFragment\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isMiscellaneous(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.Miscellaneous {\n if (!node) return false;\n\n switch (node.type) {\n case \"Noop\":\n case \"Placeholder\":\n case \"V8IntrinsicIdentifier\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeScript(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TypeScript {\n if (!node) return false;\n\n switch (node.type) {\n case \"TSParameterProperty\":\n case \"TSDeclareFunction\":\n case \"TSDeclareMethod\":\n case \"TSQualifiedName\":\n case \"TSCallSignatureDeclaration\":\n case \"TSConstructSignatureDeclaration\":\n case \"TSPropertySignature\":\n case \"TSMethodSignature\":\n case \"TSIndexSignature\":\n case \"TSAnyKeyword\":\n case \"TSBooleanKeyword\":\n case \"TSBigIntKeyword\":\n case \"TSIntrinsicKeyword\":\n case \"TSNeverKeyword\":\n case \"TSNullKeyword\":\n case \"TSNumberKeyword\":\n case \"TSObjectKeyword\":\n case \"TSStringKeyword\":\n case \"TSSymbolKeyword\":\n case \"TSUndefinedKeyword\":\n case \"TSUnknownKeyword\":\n case \"TSVoidKeyword\":\n case \"TSThisType\":\n case \"TSFunctionType\":\n case \"TSConstructorType\":\n case \"TSTypeReference\":\n case \"TSTypePredicate\":\n case \"TSTypeQuery\":\n case \"TSTypeLiteral\":\n case \"TSArrayType\":\n case \"TSTupleType\":\n case \"TSOptionalType\":\n case \"TSRestType\":\n case \"TSNamedTupleMember\":\n case \"TSUnionType\":\n case \"TSIntersectionType\":\n case \"TSConditionalType\":\n case \"TSInferType\":\n case \"TSParenthesizedType\":\n case \"TSTypeOperator\":\n case \"TSIndexedAccessType\":\n case \"TSMappedType\":\n case \"TSLiteralType\":\n case \"TSExpressionWithTypeArguments\":\n case \"TSInterfaceDeclaration\":\n case \"TSInterfaceBody\":\n case \"TSTypeAliasDeclaration\":\n case \"TSInstantiationExpression\":\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSTypeAssertion\":\n case \"TSEnumDeclaration\":\n case \"TSEnumMember\":\n case \"TSModuleDeclaration\":\n case \"TSModuleBlock\":\n case \"TSImportType\":\n case \"TSImportEqualsDeclaration\":\n case \"TSExternalModuleReference\":\n case \"TSNonNullExpression\":\n case \"TSExportAssignment\":\n case \"TSNamespaceExportDeclaration\":\n case \"TSTypeAnnotation\":\n case \"TSTypeParameterInstantiation\":\n case \"TSTypeParameterDeclaration\":\n case \"TSTypeParameter\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeElement(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSTypeElement {\n if (!node) return false;\n\n switch (node.type) {\n case \"TSCallSignatureDeclaration\":\n case \"TSConstructSignatureDeclaration\":\n case \"TSPropertySignature\":\n case \"TSMethodSignature\":\n case \"TSIndexSignature\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSType {\n if (!node) return false;\n\n switch (node.type) {\n case \"TSAnyKeyword\":\n case \"TSBooleanKeyword\":\n case \"TSBigIntKeyword\":\n case \"TSIntrinsicKeyword\":\n case \"TSNeverKeyword\":\n case \"TSNullKeyword\":\n case \"TSNumberKeyword\":\n case \"TSObjectKeyword\":\n case \"TSStringKeyword\":\n case \"TSSymbolKeyword\":\n case \"TSUndefinedKeyword\":\n case \"TSUnknownKeyword\":\n case \"TSVoidKeyword\":\n case \"TSThisType\":\n case \"TSFunctionType\":\n case \"TSConstructorType\":\n case \"TSTypeReference\":\n case \"TSTypePredicate\":\n case \"TSTypeQuery\":\n case \"TSTypeLiteral\":\n case \"TSArrayType\":\n case \"TSTupleType\":\n case \"TSOptionalType\":\n case \"TSRestType\":\n case \"TSUnionType\":\n case \"TSIntersectionType\":\n case \"TSConditionalType\":\n case \"TSInferType\":\n case \"TSParenthesizedType\":\n case \"TSTypeOperator\":\n case \"TSIndexedAccessType\":\n case \"TSMappedType\":\n case \"TSLiteralType\":\n case \"TSExpressionWithTypeArguments\":\n case \"TSImportType\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\nexport function isTSBaseType(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.TSBaseType {\n if (!node) return false;\n\n switch (node.type) {\n case \"TSAnyKeyword\":\n case \"TSBooleanKeyword\":\n case \"TSBigIntKeyword\":\n case \"TSIntrinsicKeyword\":\n case \"TSNeverKeyword\":\n case \"TSNullKeyword\":\n case \"TSNumberKeyword\":\n case \"TSObjectKeyword\":\n case \"TSStringKeyword\":\n case \"TSSymbolKeyword\":\n case \"TSUndefinedKeyword\":\n case \"TSUnknownKeyword\":\n case \"TSVoidKeyword\":\n case \"TSThisType\":\n case \"TSLiteralType\":\n break;\n default:\n return false;\n }\n\n return opts == null || shallowEqual(node, opts);\n}\n/**\n * @deprecated Use `isNumericLiteral`\n */\nexport function isNumberLiteral(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): boolean {\n deprecationWarning(\"isNumberLiteral\", \"isNumericLiteral\");\n if (!node) return false;\n\n if (node.type !== \"NumberLiteral\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\n/**\n * @deprecated Use `isRegExpLiteral`\n */\nexport function isRegexLiteral(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): boolean {\n deprecationWarning(\"isRegexLiteral\", \"isRegExpLiteral\");\n if (!node) return false;\n\n if (node.type !== \"RegexLiteral\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\n/**\n * @deprecated Use `isRestElement`\n */\nexport function isRestProperty(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): boolean {\n deprecationWarning(\"isRestProperty\", \"isRestElement\");\n if (!node) return false;\n\n if (node.type !== \"RestProperty\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\n/**\n * @deprecated Use `isSpreadElement`\n */\nexport function isSpreadProperty(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): boolean {\n deprecationWarning(\"isSpreadProperty\", \"isSpreadElement\");\n if (!node) return false;\n\n if (node.type !== \"SpreadProperty\") return false;\n\n return opts == null || shallowEqual(node, opts);\n}\n/**\n * @deprecated Use `isImportOrExportDeclaration`\n */\nexport function isModuleDeclaration(\n node: t.Node | null | undefined,\n opts?: Opts | null,\n): node is t.ImportOrExportDeclaration {\n deprecationWarning(\"isModuleDeclaration\", \"isImportOrExportDeclaration\");\n return isImportOrExportDeclaration(node, opts);\n}\n", "import {\n isIdentifier,\n isMemberExpression,\n isStringLiteral,\n isThisExpression,\n} from \"./generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Determines whether or not the input node `member` matches the\n * input `match`.\n *\n * For example, given the match `React.createClass` it would match the\n * parsed nodes of `React.createClass` and `React[\"createClass\"]`.\n */\nexport default function matchesPattern(\n member: t.Node | null | undefined,\n match: string | string[],\n allowPartial?: boolean,\n): boolean {\n // not a member expression\n if (!isMemberExpression(member)) return false;\n\n const parts = Array.isArray(match) ? match : match.split(\".\");\n const nodes = [];\n\n let node;\n for (node = member; isMemberExpression(node); node = node.object) {\n nodes.push(node.property);\n }\n nodes.push(node);\n\n if (nodes.length < parts.length) return false;\n if (!allowPartial && nodes.length > parts.length) return false;\n\n for (let i = 0, j = nodes.length - 1; i < parts.length; i++, j--) {\n const node = nodes[j];\n let value;\n if (isIdentifier(node)) {\n value = node.name;\n } else if (isStringLiteral(node)) {\n value = node.value;\n } else if (isThisExpression(node)) {\n value = \"this\";\n } else {\n return false;\n }\n\n if (parts[i] !== value) return false;\n }\n\n return true;\n}\n", "import matchesPattern from \"./matchesPattern.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Build a function that when called will return whether or not the\n * input `node` `MemberExpression` matches the input `match`.\n *\n * For example, given the match `React.createClass` it would match the\n * parsed nodes of `React.createClass` and `React[\"createClass\"]`.\n */\nexport default function buildMatchMemberExpression(\n match: string,\n allowPartial?: boolean,\n) {\n const parts = match.split(\".\");\n\n return (member: t.Node) => matchesPattern(member, parts, allowPartial);\n}\n", "import buildMatchMemberExpression from \"../buildMatchMemberExpression.ts\";\n\nconst isReactComponent = buildMatchMemberExpression(\"React.Component\");\n\nexport default isReactComponent;\n", "export default function isCompatTag(tagName?: string): boolean {\n // Must start with a lowercase ASCII letter\n return !!tagName && /^[a-z]/.test(tagName);\n}\n", "import { FLIPPED_ALIAS_KEYS, ALIAS_KEYS } from \"../definitions/index.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default function isType(\n nodeType: string,\n targetType: T,\n): nodeType is T;\n\nexport default function isType(\n nodeType: string | null | undefined,\n targetType: string,\n): boolean;\n\n/**\n * Test if a `nodeType` is a `targetType` or if `targetType` is an alias of `nodeType`.\n */\nexport default function isType(nodeType: string, targetType: string): boolean {\n if (nodeType === targetType) return true;\n\n // If nodeType is nullish, it can't be an alias of targetType.\n if (nodeType == null) return false;\n\n // This is a fast-path. If the test above failed, but an alias key is found, then the\n // targetType was a primary node type, so there's no need to check the aliases.\n // @ts-expect-error targetType may not index ALIAS_KEYS\n if (ALIAS_KEYS[targetType]) return false;\n\n const aliases: Array | undefined = FLIPPED_ALIAS_KEYS[targetType];\n if (aliases) {\n if (aliases[0] === nodeType) return true;\n\n for (const alias of aliases) {\n if (nodeType === alias) return true;\n }\n }\n\n return false;\n}\n", "import { PLACEHOLDERS_ALIAS } from \"../definitions/index.ts\";\n\n/**\n * Test if a `placeholderType` is a `targetType` or if `targetType` is an alias of `placeholderType`.\n */\nexport default function isPlaceholderType(\n placeholderType: string,\n targetType: string,\n): boolean {\n if (placeholderType === targetType) return true;\n\n const aliases: Array | undefined =\n PLACEHOLDERS_ALIAS[placeholderType];\n if (aliases) {\n for (const alias of aliases) {\n if (targetType === alias) return true;\n }\n }\n\n return false;\n}\n", "import shallowEqual from \"../utils/shallowEqual.ts\";\nimport isType from \"./isType.ts\";\nimport isPlaceholderType from \"./isPlaceholderType.ts\";\nimport { FLIPPED_ALIAS_KEYS } from \"../definitions/index.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default function is(\n type: T,\n node: t.Node | null | undefined,\n opts?: undefined,\n): node is Extract;\n\nexport default function is<\n T extends t.Node[\"type\"],\n P extends Extract,\n>(type: T, n: t.Node | null | undefined, required: Partial

): n is P;\n\nexport default function is

(\n type: string,\n node: t.Node | null | undefined,\n opts: Partial

,\n): node is P;\n\nexport default function is(\n type: string,\n node: t.Node | null | undefined,\n opts?: Partial,\n): node is t.Node;\n/**\n * Returns whether `node` is of given `type`.\n *\n * For better performance, use this instead of `is[Type]` when `type` is unknown.\n */\nexport default function is(\n type: string,\n node: t.Node | null | undefined,\n opts?: Partial,\n): node is t.Node {\n if (!node) return false;\n\n const matches = isType(node.type, type);\n if (!matches) {\n if (!opts && node.type === \"Placeholder\" && type in FLIPPED_ALIAS_KEYS) {\n // We can only return true if the placeholder doesn't replace a real node,\n // but it replaces a category of nodes (an alias).\n //\n // t.is(\"Identifier\", node) gives some guarantees about node's shape, so we\n // can't say that Placeholder(expectedNode: \"Identifier\") is an identifier\n // because it doesn't have the same properties.\n // On the other hand, t.is(\"Expression\", node) doesn't say anything about\n // the shape of node because Expression can be many different nodes: we can,\n // and should, safely report expression placeholders as Expressions.\n return isPlaceholderType(node.expectedNode, type);\n }\n return false;\n }\n\n if (opts === undefined) {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n}\n", "// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\n// ## Character categories\n\n// Big ugly regular expressions that match characters in the\n// whitespace, identifier, and identifier-start categories. These\n// are only applied when a character is found to actually have a\n// code point between 0x80 and 0xffff.\n// Generated by `scripts/generate-identifier-regex.cjs`.\n\n/* prettier-ignore */\nlet nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088e\\u08a0-\\u08c9\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c8a\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7cd\\ua7d0\\ua7d1\\ua7d3\\ua7d5-\\ua7dc\\ua7f2-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\n/* prettier-ignore */\nlet nonASCIIidentifierChars = \"\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0897-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0cf3\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ece\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1ace\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\u30fb\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\\uff65\";\n\nconst nonASCIIidentifierStart = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + \"]\",\n);\nconst nonASCIIidentifier = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\",\n);\n\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\n\n// These are a run-length and offset-encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by `scripts/generate-identifier-regex.cjs`.\n/* prettier-ignore */\nconst astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191];\n/* prettier-ignore */\nconst astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239];\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code: number, set: readonly number[]): boolean {\n let pos = 0x10000;\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n return false;\n}\n\n// Test whether a given character code starts an identifier.\n\nexport function isIdentifierStart(code: number): boolean {\n if (code < charCodes.uppercaseA) return code === charCodes.dollarSign;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return (\n code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code))\n );\n }\n return isInAstralSet(code, astralIdentifierStartCodes);\n}\n\n// Test whether a given character is part of an identifier.\n\nexport function isIdentifierChar(code: number): boolean {\n if (code < charCodes.digit0) return code === charCodes.dollarSign;\n if (code < charCodes.colon) return true;\n if (code < charCodes.uppercaseA) return false;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n return (\n isInAstralSet(code, astralIdentifierStartCodes) ||\n isInAstralSet(code, astralIdentifierCodes)\n );\n}\n\n// Test whether a given string is a valid identifier name\n\nexport function isIdentifierName(name: string): boolean {\n let isFirst = true;\n for (let i = 0; i < name.length; i++) {\n // The implementation is based on\n // https://source.chromium.org/chromium/chromium/src/+/master:v8/src/builtins/builtins-string-gen.cc;l=1455;drc=221e331b49dfefadbc6fa40b0c68e6f97606d0b3;bpv=0;bpt=1\n // We reimplement `codePointAt` because `codePointAt` is a V8 builtin which is not inlined by TurboFan (as of M91)\n // since `name` is mostly ASCII, an inlined `charCodeAt` wins here\n let cp = name.charCodeAt(i);\n if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {\n const trail = name.charCodeAt(++i);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n if (isFirst) {\n isFirst = false;\n if (!isIdentifierStart(cp)) {\n return false;\n }\n } else if (!isIdentifierChar(cp)) {\n return false;\n }\n }\n return !isFirst;\n}\n", "const reservedWords = {\n keyword: [\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\",\n ],\n strict: [\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\",\n ],\n strictBind: [\"eval\", \"arguments\"],\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\n\n/**\n * Checks if word is a reserved word in non-strict mode\n */\nexport function isReservedWord(word: string, inModule: boolean): boolean {\n return (inModule && word === \"await\") || word === \"enum\";\n}\n\n/**\n * Checks if word is a reserved word in non-binding strict mode\n *\n * Includes non-strict reserved words\n */\nexport function isStrictReservedWord(word: string, inModule: boolean): boolean {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode, but it is allowed as\n * a normal identifier.\n */\nexport function isStrictBindOnlyReservedWord(word: string): boolean {\n return reservedWordsStrictBindSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode\n *\n * Includes non-strict reserved words and non-binding strict reserved words\n */\nexport function isStrictBindReservedWord(\n word: string,\n inModule: boolean,\n): boolean {\n return (\n isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word)\n );\n}\n\nexport function isKeyword(word: string): boolean {\n return keywords.has(word);\n}\n", "export {\n isIdentifierName,\n isIdentifierChar,\n isIdentifierStart,\n} from \"./identifier.ts\";\nexport {\n isReservedWord,\n isStrictBindOnlyReservedWord,\n isStrictBindReservedWord,\n isStrictReservedWord,\n isKeyword,\n} from \"./keyword.ts\";\n", "import {\n isIdentifierName,\n isStrictReservedWord,\n isKeyword,\n} from \"@babel/helper-validator-identifier\";\n\n/**\n * Check if the input `name` is a valid identifier name\n * and isn't a reserved word.\n */\nexport default function isValidIdentifier(\n name: string,\n reserved: boolean = true,\n): boolean {\n if (typeof name !== \"string\") return false;\n\n if (reserved) {\n // \"await\" is invalid in module, valid in script; better be safe (see #4952)\n if (isKeyword(name) || isStrictReservedWord(name, true)) {\n return false;\n }\n }\n\n return isIdentifierName(name);\n}\n", "// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\n// The following character codes are forbidden from being\n// an immediate sibling of NumericLiteralSeparator _\nconst forbiddenNumericSeparatorSiblings = {\n decBinOct: new Set([\n charCodes.dot,\n charCodes.uppercaseB,\n charCodes.uppercaseE,\n charCodes.uppercaseO,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseB,\n charCodes.lowercaseE,\n charCodes.lowercaseO,\n ]),\n hex: new Set([\n charCodes.dot,\n charCodes.uppercaseX,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseX,\n ]),\n};\n\nconst isAllowedNumericSeparatorSibling = {\n // 0 - 1\n bin: (ch: number) => ch === charCodes.digit0 || ch === charCodes.digit1,\n\n // 0 - 7\n oct: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit7,\n\n // 0 - 9\n dec: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit9,\n\n // 0 - 9, A - F, a - f,\n hex: (ch: number) =>\n (ch >= charCodes.digit0 && ch <= charCodes.digit9) ||\n (ch >= charCodes.uppercaseA && ch <= charCodes.uppercaseF) ||\n (ch >= charCodes.lowercaseA && ch <= charCodes.lowercaseF),\n};\n\nexport type StringContentsErrorHandlers = EscapedCharErrorHandlers & {\n unterminated(\n initialPos: number,\n initialLineStart: number,\n initialCurLine: number,\n ): void;\n};\n\nexport function readStringContents(\n type: \"single\" | \"double\" | \"template\",\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n errors: StringContentsErrorHandlers,\n) {\n const initialPos = pos;\n const initialLineStart = lineStart;\n const initialCurLine = curLine;\n\n let out = \"\";\n let firstInvalidLoc = null;\n let chunkStart = pos;\n const { length } = input;\n for (;;) {\n if (pos >= length) {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n out += input.slice(chunkStart, pos);\n break;\n }\n const ch = input.charCodeAt(pos);\n if (isStringEnd(type, ch, input, pos)) {\n out += input.slice(chunkStart, pos);\n break;\n }\n if (ch === charCodes.backslash) {\n out += input.slice(chunkStart, pos);\n const res = readEscapedChar(\n input,\n pos,\n lineStart,\n curLine,\n type === \"template\",\n errors,\n );\n if (res.ch === null && !firstInvalidLoc) {\n firstInvalidLoc = { pos, lineStart, curLine };\n } else {\n out += res.ch;\n }\n ({ pos, lineStart, curLine } = res);\n chunkStart = pos;\n } else if (\n ch === charCodes.lineSeparator ||\n ch === charCodes.paragraphSeparator\n ) {\n ++pos;\n ++curLine;\n lineStart = pos;\n } else if (ch === charCodes.lineFeed || ch === charCodes.carriageReturn) {\n if (type === \"template\") {\n out += input.slice(chunkStart, pos) + \"\\n\";\n ++pos;\n if (\n ch === charCodes.carriageReturn &&\n input.charCodeAt(pos) === charCodes.lineFeed\n ) {\n ++pos;\n }\n ++curLine;\n chunkStart = lineStart = pos;\n } else {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n }\n } else {\n ++pos;\n }\n }\n return process.env.BABEL_8_BREAKING\n ? { pos, str: out, firstInvalidLoc, lineStart, curLine }\n : {\n pos,\n str: out,\n firstInvalidLoc,\n lineStart,\n curLine,\n containsInvalid: !!firstInvalidLoc,\n };\n}\n\nfunction isStringEnd(\n type: \"single\" | \"double\" | \"template\",\n ch: number,\n input: string,\n pos: number,\n) {\n if (type === \"template\") {\n return (\n ch === charCodes.graveAccent ||\n (ch === charCodes.dollarSign &&\n input.charCodeAt(pos + 1) === charCodes.leftCurlyBrace)\n );\n }\n return (\n ch === (type === \"double\" ? charCodes.quotationMark : charCodes.apostrophe)\n );\n}\n\ntype EscapedCharErrorHandlers = HexCharErrorHandlers &\n CodePointErrorHandlers & {\n strictNumericEscape(pos: number, lineStart: number, curLine: number): void;\n };\n\nfunction readEscapedChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n inTemplate: boolean,\n errors: EscapedCharErrorHandlers,\n) {\n const throwOnInvalid = !inTemplate;\n pos++; // skip '\\'\n\n const res = (ch: string | null) => ({ pos, ch, lineStart, curLine });\n\n const ch = input.charCodeAt(pos++);\n switch (ch) {\n case charCodes.lowercaseN:\n return res(\"\\n\");\n case charCodes.lowercaseR:\n return res(\"\\r\");\n case charCodes.lowercaseX: {\n let code;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 2,\n false,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCharCode(code));\n }\n case charCodes.lowercaseU: {\n let code;\n ({ code, pos } = readCodePoint(\n input,\n pos,\n lineStart,\n curLine,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCodePoint(code));\n }\n case charCodes.lowercaseT:\n return res(\"\\t\");\n case charCodes.lowercaseB:\n return res(\"\\b\");\n case charCodes.lowercaseV:\n return res(\"\\u000b\");\n case charCodes.lowercaseF:\n return res(\"\\f\");\n case charCodes.carriageReturn:\n if (input.charCodeAt(pos) === charCodes.lineFeed) {\n ++pos;\n }\n // fall through\n case charCodes.lineFeed:\n lineStart = pos;\n ++curLine;\n // fall through\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n return res(\"\");\n case charCodes.digit8:\n case charCodes.digit9:\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(pos - 1, lineStart, curLine);\n }\n // fall through\n default:\n if (ch >= charCodes.digit0 && ch <= charCodes.digit7) {\n const startPos = pos - 1;\n const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2));\n\n let octalStr = match[0];\n\n let octal = parseInt(octalStr, 8);\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1);\n octal = parseInt(octalStr, 8);\n }\n pos += octalStr.length - 1;\n const next = input.charCodeAt(pos);\n if (\n octalStr !== \"0\" ||\n next === charCodes.digit8 ||\n next === charCodes.digit9\n ) {\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(startPos, lineStart, curLine);\n }\n }\n\n return res(String.fromCharCode(octal));\n }\n\n return res(String.fromCharCode(ch));\n }\n}\n\ntype HexCharErrorHandlers = IntErrorHandlers & {\n invalidEscapeSequence(pos: number, lineStart: number, curLine: number): void;\n};\n\n// Used to read character escape sequences ('\\x', '\\u').\nfunction readHexChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n len: number,\n forceLen: boolean,\n throwOnInvalid: boolean,\n errors: HexCharErrorHandlers,\n) {\n const initialPos = pos;\n let n;\n ({ n, pos } = readInt(\n input,\n pos,\n lineStart,\n curLine,\n 16,\n len,\n forceLen,\n false,\n errors,\n /* bailOnError */ !throwOnInvalid,\n ));\n if (n === null) {\n if (throwOnInvalid) {\n errors.invalidEscapeSequence(initialPos, lineStart, curLine);\n } else {\n pos = initialPos - 1;\n }\n }\n return { code: n, pos };\n}\n\nexport type IntErrorHandlers = {\n numericSeparatorInEscapeSequence(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n unexpectedNumericSeparator(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n // It can return \"true\" to indicate that the error was handled\n // and the int parsing should continue.\n invalidDigit(\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n ): boolean;\n};\n\nexport function readInt(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n len: number | undefined,\n forceLen: boolean,\n allowNumSeparator: boolean | \"bail\",\n errors: IntErrorHandlers,\n bailOnError: boolean,\n) {\n const start = pos;\n const forbiddenSiblings =\n radix === 16\n ? forbiddenNumericSeparatorSiblings.hex\n : forbiddenNumericSeparatorSiblings.decBinOct;\n const isAllowedSibling =\n radix === 16\n ? isAllowedNumericSeparatorSibling.hex\n : radix === 10\n ? isAllowedNumericSeparatorSibling.dec\n : radix === 8\n ? isAllowedNumericSeparatorSibling.oct\n : isAllowedNumericSeparatorSibling.bin;\n\n let invalid = false;\n let total = 0;\n\n for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n const code = input.charCodeAt(pos);\n let val;\n\n if (code === charCodes.underscore && allowNumSeparator !== \"bail\") {\n const prev = input.charCodeAt(pos - 1);\n const next = input.charCodeAt(pos + 1);\n\n if (!allowNumSeparator) {\n if (bailOnError) return { n: null, pos };\n errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);\n } else if (\n Number.isNaN(next) ||\n !isAllowedSibling(next) ||\n forbiddenSiblings.has(prev) ||\n forbiddenSiblings.has(next)\n ) {\n if (bailOnError) return { n: null, pos };\n errors.unexpectedNumericSeparator(pos, lineStart, curLine);\n }\n\n // Ignore this _ character\n ++pos;\n continue;\n }\n\n if (code >= charCodes.lowercaseA) {\n val = code - charCodes.lowercaseA + charCodes.lineFeed;\n } else if (code >= charCodes.uppercaseA) {\n val = code - charCodes.uppercaseA + charCodes.lineFeed;\n } else if (charCodes.isDigit(code)) {\n val = code - charCodes.digit0; // 0-9\n } else {\n val = Infinity;\n }\n if (val >= radix) {\n // If we found a digit which is too big, errors.invalidDigit can return true to avoid\n // breaking the loop (this is used for error recovery).\n if (val <= 9 && bailOnError) {\n return { n: null, pos };\n } else if (\n val <= 9 &&\n errors.invalidDigit(pos, lineStart, curLine, radix)\n ) {\n val = 0;\n } else if (forceLen) {\n val = 0;\n invalid = true;\n } else {\n break;\n }\n }\n ++pos;\n total = total * radix + val;\n }\n if (pos === start || (len != null && pos - start !== len) || invalid) {\n return { n: null, pos };\n }\n\n return { n: total, pos };\n}\n\nexport type CodePointErrorHandlers = HexCharErrorHandlers & {\n invalidCodePoint(pos: number, lineStart: number, curLine: number): void;\n};\n\nexport function readCodePoint(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n throwOnInvalid: boolean,\n errors: CodePointErrorHandlers,\n) {\n const ch = input.charCodeAt(pos);\n let code;\n\n if (ch === charCodes.leftCurlyBrace) {\n ++pos;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n input.indexOf(\"}\", pos) - pos,\n true,\n throwOnInvalid,\n errors,\n ));\n ++pos;\n if (code !== null && code > 0x10ffff) {\n if (throwOnInvalid) {\n errors.invalidCodePoint(pos, lineStart, curLine);\n } else {\n return { code: null, pos };\n }\n }\n } else {\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 4,\n false,\n throwOnInvalid,\n errors,\n ));\n }\n return { code, pos };\n}\n", "export const STATEMENT_OR_BLOCK_KEYS = [\"consequent\", \"body\", \"alternate\"];\nexport const FLATTENABLE_KEYS = [\"body\", \"expressions\"];\nexport const FOR_INIT_KEYS = [\"left\", \"init\"];\nexport const COMMENT_KEYS = [\n \"leadingComments\",\n \"trailingComments\",\n \"innerComments\",\n] as const;\n\nexport const LOGICAL_OPERATORS = [\"||\", \"&&\", \"??\"];\nexport const UPDATE_OPERATORS = [\"++\", \"--\"];\n\nexport const BOOLEAN_NUMBER_BINARY_OPERATORS = [\">\", \"<\", \">=\", \"<=\"];\nexport const EQUALITY_BINARY_OPERATORS = [\"==\", \"===\", \"!=\", \"!==\"];\nexport const COMPARISON_BINARY_OPERATORS = [\n ...EQUALITY_BINARY_OPERATORS,\n \"in\",\n \"instanceof\",\n];\nexport const BOOLEAN_BINARY_OPERATORS = [\n ...COMPARISON_BINARY_OPERATORS,\n ...BOOLEAN_NUMBER_BINARY_OPERATORS,\n];\nexport const NUMBER_BINARY_OPERATORS = [\n \"-\",\n \"/\",\n \"%\",\n \"*\",\n \"**\",\n \"&\",\n \"|\",\n \">>\",\n \">>>\",\n \"<<\",\n \"^\",\n];\nexport const BINARY_OPERATORS = [\n \"+\",\n ...NUMBER_BINARY_OPERATORS,\n ...BOOLEAN_BINARY_OPERATORS,\n \"|>\",\n];\n\nexport const ASSIGNMENT_OPERATORS = [\n \"=\",\n \"+=\",\n ...NUMBER_BINARY_OPERATORS.map(op => op + \"=\"),\n ...LOGICAL_OPERATORS.map(op => op + \"=\"),\n];\n\nexport const BOOLEAN_UNARY_OPERATORS = [\"delete\", \"!\"];\nexport const NUMBER_UNARY_OPERATORS = [\"+\", \"-\", \"~\"];\nexport const STRING_UNARY_OPERATORS = [\"typeof\"];\nexport const UNARY_OPERATORS = [\n \"void\",\n \"throw\",\n ...BOOLEAN_UNARY_OPERATORS,\n ...NUMBER_UNARY_OPERATORS,\n ...STRING_UNARY_OPERATORS,\n];\n\nexport const INHERIT_KEYS = {\n optional: [\"typeAnnotation\", \"typeParameters\", \"returnType\"],\n force: [\"start\", \"loc\", \"end\"],\n} as const;\n\nexport const BLOCK_SCOPED_SYMBOL = Symbol.for(\"var used to be block scoped\");\nexport const NOT_LOCAL_BINDING = Symbol.for(\n \"should not be considered a local binding\",\n);\n", "import is from \"../validators/is.ts\";\nimport { validateField, validateChild } from \"../validators/validate.ts\";\nimport type * as t from \"../index.ts\";\n\nexport const VISITOR_KEYS: Record = {};\nexport const ALIAS_KEYS: Partial> =\n {};\nexport const FLIPPED_ALIAS_KEYS: Record = {};\nexport const NODE_FIELDS: Record = {};\nexport const BUILDER_KEYS: Record = {};\nexport const DEPRECATED_KEYS: Record = {};\nexport const NODE_PARENT_VALIDATIONS: Record = {};\n\nfunction getType(val: any) {\n if (Array.isArray(val)) {\n return \"array\";\n } else if (val === null) {\n return \"null\";\n } else {\n return typeof val;\n }\n}\n\ntype NodeTypesWithoutComment = t.Node[\"type\"] | keyof t.Aliases;\n\ntype NodeTypes = NodeTypesWithoutComment | t.Comment[\"type\"];\n\ntype PrimitiveTypes = ReturnType;\n\ntype FieldDefinitions = {\n [x: string]: FieldOptions;\n};\n\ntype DefineTypeOpts = {\n fields?: FieldDefinitions;\n visitor?: Array;\n aliases?: Array;\n builder?: Array;\n inherits?: NodeTypes;\n deprecatedAlias?: string;\n validate?: Validator;\n};\n\nexport type Validator = (\n | { type: PrimitiveTypes }\n | { each: Validator }\n | { chainOf: Validator[] }\n | { oneOf: any[] }\n | { oneOfNodeTypes: NodeTypes[] }\n | { oneOfNodeOrValueTypes: (NodeTypes | PrimitiveTypes)[] }\n | { shapeOf: { [x: string]: FieldOptions } }\n | object\n) &\n ((node: t.Node, key: string, val: any) => void);\n\nexport type FieldOptions = {\n default?: string | number | boolean | [];\n optional?: boolean;\n deprecated?: boolean;\n validate?: Validator;\n};\n\nexport function validate(validate: Validator): FieldOptions {\n return { validate };\n}\n\nexport function validateType(...typeNames: NodeTypes[]) {\n return validate(assertNodeType(...typeNames));\n}\n\nexport function validateOptional(validate: Validator): FieldOptions {\n return { validate, optional: true };\n}\n\nexport function validateOptionalType(...typeNames: NodeTypes[]): FieldOptions {\n return { validate: assertNodeType(...typeNames), optional: true };\n}\n\nexport function arrayOf(elementType: Validator): Validator {\n return chain(assertValueType(\"array\"), assertEach(elementType));\n}\n\nexport function arrayOfType(...typeNames: NodeTypes[]) {\n return arrayOf(assertNodeType(...typeNames));\n}\n\nexport function validateArrayOfType(...typeNames: NodeTypes[]) {\n return validate(arrayOfType(...typeNames));\n}\n\nexport function assertEach(callback: Validator): Validator {\n const childValidator = process.env.BABEL_TYPES_8_BREAKING\n ? validateChild\n : () => {};\n\n function validator(node: t.Node, key: string, val: any) {\n if (!Array.isArray(val)) return;\n\n for (let i = 0; i < val.length; i++) {\n const subkey = `${key}[${i}]`;\n const v = val[i];\n callback(node, subkey, v);\n childValidator(node, subkey, v);\n }\n }\n validator.each = callback;\n return validator;\n}\n\nexport function assertOneOf(...values: Array): Validator {\n function validate(node: any, key: string, val: any) {\n if (!values.includes(val)) {\n throw new TypeError(\n `Property ${key} expected value to be one of ${JSON.stringify(\n values,\n )} but got ${JSON.stringify(val)}`,\n );\n }\n }\n\n validate.oneOf = values;\n\n return validate;\n}\n\nexport function assertNodeType(...types: NodeTypes[]): Validator {\n function validate(node: t.Node, key: string, val: any) {\n for (const type of types) {\n if (is(type, val)) {\n validateChild(node, key, val);\n return;\n }\n }\n\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected node to be of a type ${JSON.stringify(\n types,\n )} but instead got ${JSON.stringify(val?.type)}`,\n );\n }\n\n validate.oneOfNodeTypes = types;\n\n return validate;\n}\n\nexport function assertNodeOrValueType(\n ...types: (NodeTypes | PrimitiveTypes)[]\n): Validator {\n function validate(node: t.Node, key: string, val: any) {\n for (const type of types) {\n if (getType(val) === type || is(type, val)) {\n validateChild(node, key, val);\n return;\n }\n }\n\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected node to be of a type ${JSON.stringify(\n types,\n )} but instead got ${JSON.stringify(val?.type)}`,\n );\n }\n\n validate.oneOfNodeOrValueTypes = types;\n\n return validate;\n}\n\nexport function assertValueType(type: PrimitiveTypes): Validator {\n function validate(node: t.Node, key: string, val: any) {\n const valid = getType(val) === type;\n\n if (!valid) {\n throw new TypeError(\n `Property ${key} expected type of ${type} but got ${getType(val)}`,\n );\n }\n }\n\n validate.type = type;\n\n return validate;\n}\n\nexport function assertShape(shape: { [x: string]: FieldOptions }): Validator {\n function validate(node: t.Node, key: string, val: any) {\n const errors = [];\n for (const property of Object.keys(shape)) {\n try {\n validateField(node, property, val[property], shape[property]);\n } catch (error) {\n if (error instanceof TypeError) {\n errors.push(error.message);\n continue;\n }\n throw error;\n }\n }\n if (errors.length) {\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected to have the following:\\n${errors.join(\"\\n\")}`,\n );\n }\n }\n\n validate.shapeOf = shape;\n\n return validate;\n}\n\nexport function assertOptionalChainStart(): Validator {\n function validate(node: t.Node) {\n let current = node;\n while (node) {\n const { type } = current;\n if (type === \"OptionalCallExpression\") {\n if (current.optional) return;\n current = current.callee;\n continue;\n }\n\n if (type === \"OptionalMemberExpression\") {\n if (current.optional) return;\n current = current.object;\n continue;\n }\n\n break;\n }\n\n throw new TypeError(\n `Non-optional ${node.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${current?.type}`,\n );\n }\n\n return validate;\n}\n\nexport function chain(...fns: Array): Validator {\n function validate(...args: Parameters) {\n for (const fn of fns) {\n fn(...args);\n }\n }\n validate.chainOf = fns;\n\n if (\n fns.length >= 2 &&\n \"type\" in fns[0] &&\n fns[0].type === \"array\" &&\n !(\"each\" in fns[1])\n ) {\n throw new Error(\n `An assertValueType(\"array\") validator can only be followed by an assertEach(...) validator.`,\n );\n }\n\n return validate;\n}\n\nconst validTypeOpts = new Set([\n \"aliases\",\n \"builder\",\n \"deprecatedAlias\",\n \"fields\",\n \"inherits\",\n \"visitor\",\n \"validate\",\n]);\nconst validFieldKeys = new Set([\n \"default\",\n \"optional\",\n \"deprecated\",\n \"validate\",\n]);\n\nconst store = {} as Record;\n\n// Wraps defineType to ensure these aliases are included.\nexport function defineAliasedType(...aliases: string[]) {\n return (type: string, opts: DefineTypeOpts = {}) => {\n let defined = opts.aliases;\n if (!defined) {\n if (opts.inherits) defined = store[opts.inherits].aliases?.slice();\n defined ??= [];\n opts.aliases = defined;\n }\n const additional = aliases.filter(a => !defined.includes(a));\n defined.unshift(...additional);\n defineType(type, opts);\n };\n}\n\nexport default function defineType(type: string, opts: DefineTypeOpts = {}) {\n const inherits = (opts.inherits && store[opts.inherits]) || {};\n\n let fields = opts.fields;\n if (!fields) {\n fields = {};\n if (inherits.fields) {\n const keys = Object.getOwnPropertyNames(inherits.fields);\n for (const key of keys) {\n const field = inherits.fields[key];\n const def = field.default;\n if (\n Array.isArray(def) ? def.length > 0 : def && typeof def === \"object\"\n ) {\n throw new Error(\n \"field defaults can only be primitives or empty arrays currently\",\n );\n }\n fields[key] = {\n default: Array.isArray(def) ? [] : def,\n optional: field.optional,\n deprecated: field.deprecated,\n validate: field.validate,\n };\n }\n }\n }\n\n const visitor: Array = opts.visitor || inherits.visitor || [];\n const aliases: Array = opts.aliases || inherits.aliases || [];\n const builder: Array =\n opts.builder || inherits.builder || opts.visitor || [];\n\n for (const k of Object.keys(opts)) {\n if (!validTypeOpts.has(k)) {\n throw new Error(`Unknown type option \"${k}\" on ${type}`);\n }\n }\n\n if (opts.deprecatedAlias) {\n DEPRECATED_KEYS[opts.deprecatedAlias] = type as NodeTypesWithoutComment;\n }\n\n // ensure all field keys are represented in `fields`\n for (const key of visitor.concat(builder)) {\n fields[key] = fields[key] || {};\n }\n\n for (const key of Object.keys(fields)) {\n const field = fields[key];\n\n if (field.default !== undefined && !builder.includes(key)) {\n field.optional = true;\n }\n if (field.default === undefined) {\n field.default = null;\n } else if (!field.validate && field.default != null) {\n field.validate = assertValueType(getType(field.default));\n }\n\n for (const k of Object.keys(field)) {\n if (!validFieldKeys.has(k)) {\n throw new Error(`Unknown field key \"${k}\" on ${type}.${key}`);\n }\n }\n }\n\n VISITOR_KEYS[type] = opts.visitor = visitor;\n BUILDER_KEYS[type] = opts.builder = builder;\n NODE_FIELDS[type] = opts.fields = fields;\n ALIAS_KEYS[type as NodeTypesWithoutComment] = opts.aliases = aliases;\n aliases.forEach(alias => {\n FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || [];\n FLIPPED_ALIAS_KEYS[alias].push(type as NodeTypesWithoutComment);\n });\n\n if (opts.validate) {\n NODE_PARENT_VALIDATIONS[type] = opts.validate;\n }\n\n store[type] = opts;\n}\n", "import is from \"../validators/is.ts\";\nimport isValidIdentifier from \"../validators/isValidIdentifier.ts\";\nimport { isKeyword, isReservedWord } from \"@babel/helper-validator-identifier\";\nimport type * as t from \"../index.ts\";\nimport { readStringContents } from \"@babel/helper-string-parser\";\n\nimport {\n BINARY_OPERATORS,\n LOGICAL_OPERATORS,\n ASSIGNMENT_OPERATORS,\n UNARY_OPERATORS,\n UPDATE_OPERATORS,\n} from \"../constants/index.ts\";\n\nimport {\n defineAliasedType,\n assertShape,\n assertOptionalChainStart,\n assertValueType,\n assertNodeType,\n assertNodeOrValueType,\n assertEach,\n chain,\n assertOneOf,\n validateOptional,\n type Validator,\n arrayOf,\n arrayOfType,\n validateArrayOfType,\n validateType,\n} from \"./utils.ts\";\n\nconst defineType = defineAliasedType(\"Standardized\");\n\ndefineType(\"ArrayExpression\", {\n fields: {\n elements: {\n validate: arrayOf(\n assertNodeOrValueType(\"null\", \"Expression\", \"SpreadElement\"),\n ),\n default:\n !process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? []\n : undefined,\n },\n },\n visitor: [\"elements\"],\n aliases: [\"Expression\"],\n});\n\ndefineType(\"AssignmentExpression\", {\n fields: {\n operator: {\n validate:\n !process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? assertValueType(\"string\")\n : Object.assign(\n (function () {\n const identifier = assertOneOf(...ASSIGNMENT_OPERATORS);\n const pattern = assertOneOf(\"=\");\n\n return function (node: t.AssignmentExpression, key, val) {\n const validator = is(\"Pattern\", node.left)\n ? pattern\n : identifier;\n validator(node, key, val);\n } as Validator;\n })(),\n { type: \"string\" },\n ),\n },\n left: {\n validate:\n !process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? assertNodeType(\"LVal\", \"OptionalMemberExpression\")\n : assertNodeType(\n \"Identifier\",\n \"MemberExpression\",\n \"OptionalMemberExpression\",\n \"ArrayPattern\",\n \"ObjectPattern\",\n \"TSAsExpression\",\n \"TSSatisfiesExpression\",\n \"TSTypeAssertion\",\n \"TSNonNullExpression\",\n ),\n },\n right: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n builder: [\"operator\", \"left\", \"right\"],\n visitor: [\"left\", \"right\"],\n aliases: [\"Expression\"],\n});\n\ndefineType(\"BinaryExpression\", {\n builder: [\"operator\", \"left\", \"right\"],\n fields: {\n operator: {\n validate: assertOneOf(...BINARY_OPERATORS),\n },\n left: {\n validate: (function () {\n const expression = assertNodeType(\"Expression\");\n const inOp = assertNodeType(\"Expression\", \"PrivateName\");\n\n const validator: Validator = Object.assign(\n function (node: t.BinaryExpression, key, val) {\n const validator = node.operator === \"in\" ? inOp : expression;\n validator(node, key, val);\n } as Validator,\n // todo(ts): can be discriminated union by `operator` property\n { oneOfNodeTypes: [\"Expression\", \"PrivateName\"] },\n );\n return validator;\n })(),\n },\n right: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n visitor: [\"left\", \"right\"],\n aliases: [\"Binary\", \"Expression\"],\n});\n\ndefineType(\"InterpreterDirective\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n});\n\ndefineType(\"Directive\", {\n visitor: [\"value\"],\n fields: {\n value: {\n validate: assertNodeType(\"DirectiveLiteral\"),\n },\n },\n});\n\ndefineType(\"DirectiveLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n});\n\ndefineType(\"BlockStatement\", {\n builder: [\"body\", \"directives\"],\n visitor: [\"directives\", \"body\"],\n fields: {\n directives: {\n validate: arrayOfType(\"Directive\"),\n default: [],\n },\n body: validateArrayOfType(\"Statement\"),\n },\n aliases: [\"Scopable\", \"BlockParent\", \"Block\", \"Statement\"],\n});\n\ndefineType(\"BreakStatement\", {\n visitor: [\"label\"],\n fields: {\n label: {\n validate: assertNodeType(\"Identifier\"),\n optional: true,\n },\n },\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"],\n});\n\ndefineType(\"CallExpression\", {\n visitor: [\"callee\", \"arguments\", \"typeParameters\", \"typeArguments\"],\n builder: [\"callee\", \"arguments\"],\n aliases: [\"Expression\"],\n fields: {\n callee: {\n validate: assertNodeType(\"Expression\", \"Super\", \"V8IntrinsicIdentifier\"),\n },\n arguments: validateArrayOfType(\n \"Expression\",\n \"SpreadElement\",\n \"ArgumentPlaceholder\",\n ),\n ...(!process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? {\n optional: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n }\n : {}),\n typeArguments: {\n validate: assertNodeType(\"TypeParameterInstantiation\"),\n optional: true,\n },\n typeParameters: {\n validate: assertNodeType(\"TSTypeParameterInstantiation\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"CatchClause\", {\n visitor: [\"param\", \"body\"],\n fields: {\n param: {\n validate: assertNodeType(\"Identifier\", \"ArrayPattern\", \"ObjectPattern\"),\n optional: true,\n },\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n },\n aliases: [\"Scopable\", \"BlockParent\"],\n});\n\ndefineType(\"ConditionalExpression\", {\n visitor: [\"test\", \"consequent\", \"alternate\"],\n fields: {\n test: {\n validate: assertNodeType(\"Expression\"),\n },\n consequent: {\n validate: assertNodeType(\"Expression\"),\n },\n alternate: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n aliases: [\"Expression\", \"Conditional\"],\n});\n\ndefineType(\"ContinueStatement\", {\n visitor: [\"label\"],\n fields: {\n label: {\n validate: assertNodeType(\"Identifier\"),\n optional: true,\n },\n },\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"],\n});\n\ndefineType(\"DebuggerStatement\", {\n aliases: [\"Statement\"],\n});\n\ndefineType(\"DoWhileStatement\", {\n builder: [\"test\", \"body\"],\n visitor: [\"body\", \"test\"],\n fields: {\n test: {\n validate: assertNodeType(\"Expression\"),\n },\n body: {\n validate: assertNodeType(\"Statement\"),\n },\n },\n aliases: [\"Statement\", \"BlockParent\", \"Loop\", \"While\", \"Scopable\"],\n});\n\ndefineType(\"EmptyStatement\", {\n aliases: [\"Statement\"],\n});\n\ndefineType(\"ExpressionStatement\", {\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n aliases: [\"Statement\", \"ExpressionWrapper\"],\n});\n\ndefineType(\"File\", {\n builder: [\"program\", \"comments\", \"tokens\"],\n visitor: [\"program\"],\n fields: {\n program: {\n validate: assertNodeType(\"Program\"),\n },\n comments: {\n validate:\n !process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? Object.assign(() => {}, {\n each: { oneOfNodeTypes: [\"CommentBlock\", \"CommentLine\"] },\n })\n : assertEach(assertNodeType(\"CommentBlock\", \"CommentLine\")),\n optional: true,\n },\n tokens: {\n // todo(ts): add Token type\n validate: assertEach(Object.assign(() => {}, { type: \"any\" })),\n optional: true,\n },\n },\n});\n\ndefineType(\"ForInStatement\", {\n visitor: [\"left\", \"right\", \"body\"],\n aliases: [\n \"Scopable\",\n \"Statement\",\n \"For\",\n \"BlockParent\",\n \"Loop\",\n \"ForXStatement\",\n ],\n fields: {\n left: {\n validate:\n !process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? assertNodeType(\"VariableDeclaration\", \"LVal\")\n : assertNodeType(\n \"VariableDeclaration\",\n \"Identifier\",\n \"MemberExpression\",\n \"ArrayPattern\",\n \"ObjectPattern\",\n \"TSAsExpression\",\n \"TSSatisfiesExpression\",\n \"TSTypeAssertion\",\n \"TSNonNullExpression\",\n ),\n },\n right: {\n validate: assertNodeType(\"Expression\"),\n },\n body: {\n validate: assertNodeType(\"Statement\"),\n },\n },\n});\n\ndefineType(\"ForStatement\", {\n visitor: [\"init\", \"test\", \"update\", \"body\"],\n aliases: [\"Scopable\", \"Statement\", \"For\", \"BlockParent\", \"Loop\"],\n fields: {\n init: {\n validate: assertNodeType(\"VariableDeclaration\", \"Expression\"),\n optional: true,\n },\n test: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n update: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n body: {\n validate: assertNodeType(\"Statement\"),\n },\n },\n});\n\nexport const functionCommon = () => ({\n params: validateArrayOfType(\"Identifier\", \"Pattern\", \"RestElement\"),\n generator: {\n default: false,\n },\n async: {\n default: false,\n },\n});\n\nexport const functionTypeAnnotationCommon = () => ({\n returnType: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TypeAnnotation\", \"TSTypeAnnotation\")\n : assertNodeType(\n \"TypeAnnotation\",\n \"TSTypeAnnotation\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n typeParameters: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TypeParameterDeclaration\", \"TSTypeParameterDeclaration\")\n : assertNodeType(\n \"TypeParameterDeclaration\",\n \"TSTypeParameterDeclaration\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n});\n\nexport const functionDeclarationCommon = () => ({\n ...functionCommon(),\n declare: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n id: {\n validate: assertNodeType(\"Identifier\"),\n optional: true, // May be null for `export default function`\n },\n});\n\ndefineType(\"FunctionDeclaration\", {\n builder: [\"id\", \"params\", \"body\", \"generator\", \"async\"],\n visitor: [\"id\", \"typeParameters\", \"params\", \"returnType\", \"body\"],\n fields: {\n ...functionDeclarationCommon(),\n ...functionTypeAnnotationCommon(),\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n predicate: {\n validate: assertNodeType(\"DeclaredPredicate\", \"InferredPredicate\"),\n optional: true,\n },\n },\n aliases: [\n \"Scopable\",\n \"Function\",\n \"BlockParent\",\n \"FunctionParent\",\n \"Statement\",\n \"Pureish\",\n \"Declaration\",\n ],\n validate:\n !process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? undefined\n : (function () {\n const identifier = assertNodeType(\"Identifier\");\n\n return function (parent, key, node) {\n if (!is(\"ExportDefaultDeclaration\", parent)) {\n identifier(node, \"id\", node.id);\n }\n };\n })(),\n});\n\ndefineType(\"FunctionExpression\", {\n inherits: \"FunctionDeclaration\",\n aliases: [\n \"Scopable\",\n \"Function\",\n \"BlockParent\",\n \"FunctionParent\",\n \"Expression\",\n \"Pureish\",\n ],\n fields: {\n ...functionCommon(),\n ...functionTypeAnnotationCommon(),\n id: {\n validate: assertNodeType(\"Identifier\"),\n optional: true,\n },\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n predicate: {\n validate: assertNodeType(\"DeclaredPredicate\", \"InferredPredicate\"),\n optional: true,\n },\n },\n});\n\nexport const patternLikeCommon = () => ({\n typeAnnotation: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TypeAnnotation\", \"TSTypeAnnotation\")\n : assertNodeType(\n \"TypeAnnotation\",\n \"TSTypeAnnotation\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n optional: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n decorators: {\n validate: arrayOfType(\"Decorator\"),\n optional: true,\n },\n});\n\ndefineType(\"Identifier\", {\n builder: [\"name\"],\n visitor: [\"typeAnnotation\", \"decorators\" /* for legacy param decorators */],\n aliases: [\"Expression\", \"PatternLike\", \"LVal\", \"TSEntityName\"],\n fields: {\n ...patternLikeCommon(),\n name: {\n validate:\n process.env.BABEL_8_BREAKING || process.env.BABEL_TYPES_8_BREAKING\n ? chain(\n assertValueType(\"string\"),\n Object.assign(\n function (node, key, val) {\n if (!isValidIdentifier(val, false)) {\n throw new TypeError(\n `\"${val}\" is not a valid identifier name`,\n );\n }\n } as Validator,\n { type: \"string\" },\n ),\n )\n : assertValueType(\"string\"),\n },\n },\n validate:\n process.env.BABEL_8_BREAKING || process.env.BABEL_TYPES_8_BREAKING\n ? function (parent, key, node) {\n const match = /\\.(\\w+)$/.exec(key);\n if (!match) return;\n\n const [, parentKey] = match;\n const nonComp = { computed: false };\n\n // We can't check if `parent.property === node`, because nodes are validated\n // before replacing them in the AST.\n if (parentKey === \"property\") {\n if (is(\"MemberExpression\", parent, nonComp)) return;\n if (is(\"OptionalMemberExpression\", parent, nonComp)) return;\n } else if (parentKey === \"key\") {\n if (is(\"Property\", parent, nonComp)) return;\n if (is(\"Method\", parent, nonComp)) return;\n } else if (parentKey === \"exported\") {\n if (is(\"ExportSpecifier\", parent)) return;\n } else if (parentKey === \"imported\") {\n if (is(\"ImportSpecifier\", parent, { imported: node })) return;\n } else if (parentKey === \"meta\") {\n if (is(\"MetaProperty\", parent, { meta: node })) return;\n }\n\n if (\n // Ideally we should call isStrictReservedWord if this node is a descendant\n // of a block in strict mode. Also, we should pass the inModule option so\n // we can disable \"await\" in module.\n (isKeyword(node.name) || isReservedWord(node.name, false)) &&\n // Even if \"this\" is a keyword, we are using the Identifier\n // node to represent it.\n node.name !== \"this\"\n ) {\n throw new TypeError(`\"${node.name}\" is not a valid identifier`);\n }\n }\n : undefined,\n});\n\ndefineType(\"IfStatement\", {\n visitor: [\"test\", \"consequent\", \"alternate\"],\n aliases: [\"Statement\", \"Conditional\"],\n fields: {\n test: {\n validate: assertNodeType(\"Expression\"),\n },\n consequent: {\n validate: assertNodeType(\"Statement\"),\n },\n alternate: {\n optional: true,\n validate: assertNodeType(\"Statement\"),\n },\n },\n});\n\ndefineType(\"LabeledStatement\", {\n visitor: [\"label\", \"body\"],\n aliases: [\"Statement\"],\n fields: {\n label: {\n validate: assertNodeType(\"Identifier\"),\n },\n body: {\n validate: assertNodeType(\"Statement\"),\n },\n },\n});\n\ndefineType(\"StringLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"],\n});\n\ndefineType(\"NumericLiteral\", {\n builder: [\"value\"],\n deprecatedAlias: \"NumberLiteral\",\n fields: {\n value: {\n validate: chain(\n assertValueType(\"number\"),\n Object.assign(\n function (node, key, val) {\n if (1 / val < 0 || !Number.isFinite(val)) {\n const error = new Error(\n \"NumericLiterals must be non-negative finite numbers. \" +\n `You can use t.valueToNode(${val}) instead.`,\n );\n if (process.env.BABEL_8_BREAKING) {\n // TODO(@nicolo-ribaudo) Fix regenerator to not pass negative\n // numbers here.\n if (!IS_STANDALONE) {\n if (!new Error().stack.includes(\"regenerator\")) {\n throw error;\n }\n }\n } else {\n // TODO: Enable this warning once regenerator is fixed.\n // https://github.com/facebook/regenerator/pull/680\n // console.warn(error);\n }\n }\n } satisfies Validator,\n { type: \"number\" },\n ),\n ),\n },\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"],\n});\n\ndefineType(\"NullLiteral\", {\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"],\n});\n\ndefineType(\"BooleanLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"boolean\"),\n },\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"],\n});\n\ndefineType(\"RegExpLiteral\", {\n builder: [\"pattern\", \"flags\"],\n deprecatedAlias: \"RegexLiteral\",\n aliases: [\"Expression\", \"Pureish\", \"Literal\"],\n fields: {\n pattern: {\n validate: assertValueType(\"string\"),\n },\n flags: {\n validate:\n process.env.BABEL_8_BREAKING || process.env.BABEL_TYPES_8_BREAKING\n ? chain(\n assertValueType(\"string\"),\n Object.assign(\n function (node, key, val) {\n const invalid = /[^gimsuy]/.exec(val);\n if (invalid) {\n throw new TypeError(\n `\"${invalid[0]}\" is not a valid RegExp flag`,\n );\n }\n } as Validator,\n { type: \"string\" },\n ),\n )\n : assertValueType(\"string\"),\n default: \"\",\n },\n },\n});\n\ndefineType(\"LogicalExpression\", {\n builder: [\"operator\", \"left\", \"right\"],\n visitor: [\"left\", \"right\"],\n aliases: [\"Binary\", \"Expression\"],\n fields: {\n operator: {\n validate: assertOneOf(...LOGICAL_OPERATORS),\n },\n left: {\n validate: assertNodeType(\"Expression\"),\n },\n right: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"MemberExpression\", {\n builder: [\n \"object\",\n \"property\",\n \"computed\",\n ...(!process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? [\"optional\"]\n : []),\n ],\n visitor: [\"object\", \"property\"],\n aliases: [\"Expression\", \"LVal\"],\n fields: {\n object: {\n validate: assertNodeType(\"Expression\", \"Super\"),\n },\n property: {\n validate: (function () {\n const normal = assertNodeType(\"Identifier\", \"PrivateName\");\n const computed = assertNodeType(\"Expression\");\n\n const validator: Validator = function (\n node: t.MemberExpression,\n key,\n val,\n ) {\n const validator: Validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n // @ts-expect-error todo(ts): can be discriminated union by `computed` property\n validator.oneOfNodeTypes = [\"Expression\", \"Identifier\", \"PrivateName\"];\n return validator;\n })(),\n },\n computed: {\n default: false,\n },\n ...(!process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? {\n optional: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n }\n : {}),\n },\n});\n\ndefineType(\"NewExpression\", { inherits: \"CallExpression\" });\n\ndefineType(\"Program\", {\n // Note: We explicitly leave 'interpreter' out here because it is\n // conceptually comment-like, and Babel does not traverse comments either.\n visitor: [\"directives\", \"body\"],\n builder: [\"body\", \"directives\", \"sourceType\", \"interpreter\"],\n fields: {\n sourceType: {\n validate: assertOneOf(\"script\", \"module\"),\n default: \"script\",\n },\n interpreter: {\n validate: assertNodeType(\"InterpreterDirective\"),\n default: null,\n optional: true,\n },\n directives: {\n validate: arrayOfType(\"Directive\"),\n default: [],\n },\n body: validateArrayOfType(\"Statement\"),\n },\n aliases: [\"Scopable\", \"BlockParent\", \"Block\"],\n});\n\ndefineType(\"ObjectExpression\", {\n visitor: [\"properties\"],\n aliases: [\"Expression\"],\n fields: {\n properties: validateArrayOfType(\n \"ObjectMethod\",\n \"ObjectProperty\",\n \"SpreadElement\",\n ),\n },\n});\n\ndefineType(\"ObjectMethod\", {\n builder: [\"kind\", \"key\", \"params\", \"body\", \"computed\", \"generator\", \"async\"],\n visitor: [\n \"decorators\",\n \"key\",\n \"typeParameters\",\n \"params\",\n \"returnType\",\n \"body\",\n ],\n fields: {\n ...functionCommon(),\n ...functionTypeAnnotationCommon(),\n kind: {\n validate: assertOneOf(\"method\", \"get\", \"set\"),\n ...(!process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? { default: \"method\" }\n : {}),\n },\n computed: {\n default: false,\n },\n key: {\n validate: (function () {\n const normal = assertNodeType(\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n );\n const computed = assertNodeType(\"Expression\");\n\n const validator: Validator = function (node: t.ObjectMethod, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n // @ts-expect-error todo(ts): can be discriminated union by `computed` property\n validator.oneOfNodeTypes = [\n \"Expression\",\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n ];\n return validator;\n })(),\n },\n decorators: {\n validate: arrayOfType(\"Decorator\"),\n optional: true,\n },\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n },\n aliases: [\n \"UserWhitespacable\",\n \"Function\",\n \"Scopable\",\n \"BlockParent\",\n \"FunctionParent\",\n \"Method\",\n \"ObjectMember\",\n ],\n});\n\ndefineType(\"ObjectProperty\", {\n builder: [\n \"key\",\n \"value\",\n \"computed\",\n \"shorthand\",\n ...(!process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? [\"decorators\"]\n : []),\n ],\n fields: {\n computed: {\n default: false,\n },\n key: {\n validate: (function () {\n const normal = process.env.BABEL_8_BREAKING\n ? assertNodeType(\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n \"PrivateName\",\n )\n : assertNodeType(\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"DecimalLiteral\",\n \"PrivateName\",\n );\n const computed = assertNodeType(\"Expression\");\n\n const validator: Validator = Object.assign(\n function (node: t.ObjectProperty, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n } as Validator,\n {\n // todo(ts): can be discriminated union by `computed` property\n oneOfNodeTypes: process.env.BABEL_8_BREAKING\n ? [\n \"Expression\",\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n \"PrivateName\",\n ]\n : [\n \"Expression\",\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n \"DecimalLiteral\",\n \"PrivateName\",\n ],\n },\n );\n return validator;\n })(),\n },\n value: {\n // Value may be PatternLike if this is an AssignmentProperty\n // https://github.com/babel/babylon/issues/434\n validate: assertNodeType(\"Expression\", \"PatternLike\"),\n },\n shorthand: {\n validate:\n process.env.BABEL_8_BREAKING || process.env.BABEL_TYPES_8_BREAKING\n ? chain(\n assertValueType(\"boolean\"),\n Object.assign(\n function (node: t.ObjectProperty, key, shorthand) {\n if (!shorthand) return;\n\n if (node.computed) {\n throw new TypeError(\n \"Property shorthand of ObjectProperty cannot be true if computed is true\",\n );\n }\n\n if (!is(\"Identifier\", node.key)) {\n throw new TypeError(\n \"Property shorthand of ObjectProperty cannot be true if key is not an Identifier\",\n );\n }\n } as Validator,\n { type: \"boolean\" },\n ),\n )\n : assertValueType(\"boolean\"),\n default: false,\n },\n decorators: {\n validate: arrayOfType(\"Decorator\"),\n optional: true,\n },\n },\n visitor: [\"key\", \"value\", \"decorators\"],\n aliases: [\"UserWhitespacable\", \"Property\", \"ObjectMember\"],\n validate:\n !process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? undefined\n : (function () {\n const pattern = assertNodeType(\n \"Identifier\",\n \"Pattern\",\n \"TSAsExpression\",\n \"TSSatisfiesExpression\",\n \"TSNonNullExpression\",\n \"TSTypeAssertion\",\n );\n const expression = assertNodeType(\"Expression\");\n\n return function (parent, key, node) {\n const validator = is(\"ObjectPattern\", parent)\n ? pattern\n : expression;\n validator(node, \"value\", node.value);\n };\n })(),\n});\n\ndefineType(\"RestElement\", {\n visitor: [\"argument\", \"typeAnnotation\"],\n builder: [\"argument\"],\n aliases: [\"LVal\", \"PatternLike\"],\n deprecatedAlias: \"RestProperty\",\n fields: {\n ...patternLikeCommon(),\n argument: {\n validate:\n !process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? assertNodeType(\"LVal\")\n : assertNodeType(\n \"Identifier\",\n \"ArrayPattern\",\n \"ObjectPattern\",\n \"MemberExpression\",\n \"TSAsExpression\",\n \"TSSatisfiesExpression\",\n \"TSTypeAssertion\",\n \"TSNonNullExpression\",\n ),\n },\n },\n validate:\n process.env.BABEL_8_BREAKING || process.env.BABEL_TYPES_8_BREAKING\n ? function (parent: t.ArrayPattern | t.ObjectPattern, key) {\n const match = /(\\w+)\\[(\\d+)\\]/.exec(key);\n if (!match) throw new Error(\"Internal Babel error: malformed key.\");\n\n const [, listKey, index] = match as unknown as [\n string,\n keyof typeof parent,\n string,\n ];\n if ((parent[listKey] as t.Node[]).length > +index + 1) {\n throw new TypeError(\n `RestElement must be last element of ${listKey}`,\n );\n }\n }\n : undefined,\n});\n\ndefineType(\"ReturnStatement\", {\n visitor: [\"argument\"],\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"],\n fields: {\n argument: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"SequenceExpression\", {\n visitor: [\"expressions\"],\n fields: {\n expressions: validateArrayOfType(\"Expression\"),\n },\n aliases: [\"Expression\"],\n});\n\ndefineType(\"ParenthesizedExpression\", {\n visitor: [\"expression\"],\n aliases: [\"Expression\", \"ExpressionWrapper\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"SwitchCase\", {\n visitor: [\"test\", \"consequent\"],\n fields: {\n test: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n consequent: validateArrayOfType(\"Statement\"),\n },\n});\n\ndefineType(\"SwitchStatement\", {\n visitor: [\"discriminant\", \"cases\"],\n aliases: [\"Statement\", \"BlockParent\", \"Scopable\"],\n fields: {\n discriminant: {\n validate: assertNodeType(\"Expression\"),\n },\n cases: validateArrayOfType(\"SwitchCase\"),\n },\n});\n\ndefineType(\"ThisExpression\", {\n aliases: [\"Expression\"],\n});\n\ndefineType(\"ThrowStatement\", {\n visitor: [\"argument\"],\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"],\n fields: {\n argument: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"TryStatement\", {\n visitor: [\"block\", \"handler\", \"finalizer\"],\n aliases: [\"Statement\"],\n fields: {\n block: {\n validate:\n process.env.BABEL_8_BREAKING || process.env.BABEL_TYPES_8_BREAKING\n ? chain(\n assertNodeType(\"BlockStatement\"),\n Object.assign(\n function (node: t.TryStatement) {\n // This validator isn't put at the top level because we can run it\n // even if this node doesn't have a parent.\n\n if (!node.handler && !node.finalizer) {\n throw new TypeError(\n \"TryStatement expects either a handler or finalizer, or both\",\n );\n }\n } as Validator,\n { oneOfNodeTypes: [\"BlockStatement\"] },\n ),\n )\n : assertNodeType(\"BlockStatement\"),\n },\n handler: {\n optional: true,\n validate: assertNodeType(\"CatchClause\"),\n },\n finalizer: {\n optional: true,\n validate: assertNodeType(\"BlockStatement\"),\n },\n },\n});\n\ndefineType(\"UnaryExpression\", {\n builder: [\"operator\", \"argument\", \"prefix\"],\n fields: {\n prefix: {\n default: true,\n },\n argument: {\n validate: assertNodeType(\"Expression\"),\n },\n operator: {\n validate: assertOneOf(...UNARY_OPERATORS),\n },\n },\n visitor: [\"argument\"],\n aliases: [\"UnaryLike\", \"Expression\"],\n});\n\ndefineType(\"UpdateExpression\", {\n builder: [\"operator\", \"argument\", \"prefix\"],\n fields: {\n prefix: {\n default: false,\n },\n argument: {\n validate:\n !process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? assertNodeType(\"Expression\")\n : assertNodeType(\"Identifier\", \"MemberExpression\"),\n },\n operator: {\n validate: assertOneOf(...UPDATE_OPERATORS),\n },\n },\n visitor: [\"argument\"],\n aliases: [\"Expression\"],\n});\n\ndefineType(\"VariableDeclaration\", {\n builder: [\"kind\", \"declarations\"],\n visitor: [\"declarations\"],\n aliases: [\"Statement\", \"Declaration\"],\n fields: {\n declare: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n kind: {\n validate: assertOneOf(\n \"var\",\n \"let\",\n \"const\",\n // https://github.com/tc39/proposal-explicit-resource-management\n \"using\",\n // https://github.com/tc39/proposal-async-explicit-resource-management\n \"await using\",\n ),\n },\n declarations: validateArrayOfType(\"VariableDeclarator\"),\n },\n validate:\n process.env.BABEL_8_BREAKING || process.env.BABEL_TYPES_8_BREAKING\n ? (() => {\n const withoutInit = assertNodeType(\"Identifier\");\n\n return function (parent, key, node: t.VariableDeclaration) {\n if (is(\"ForXStatement\", parent, { left: node })) {\n if (node.declarations.length !== 1) {\n throw new TypeError(\n `Exactly one VariableDeclarator is required in the VariableDeclaration of a ${parent.type}`,\n );\n }\n } else {\n node.declarations.forEach(decl => {\n if (!decl.init) withoutInit(decl, \"id\", decl.id);\n });\n }\n };\n })()\n : undefined,\n});\n\ndefineType(\"VariableDeclarator\", {\n visitor: [\"id\", \"init\"],\n fields: {\n id: {\n validate:\n !process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? assertNodeType(\"LVal\")\n : assertNodeType(\"Identifier\", \"ArrayPattern\", \"ObjectPattern\"),\n },\n definite: {\n optional: true,\n validate: assertValueType(\"boolean\"),\n },\n init: {\n optional: true,\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"WhileStatement\", {\n visitor: [\"test\", \"body\"],\n aliases: [\"Statement\", \"BlockParent\", \"Loop\", \"While\", \"Scopable\"],\n fields: {\n test: {\n validate: assertNodeType(\"Expression\"),\n },\n body: {\n validate: assertNodeType(\"Statement\"),\n },\n },\n});\n\ndefineType(\"WithStatement\", {\n visitor: [\"object\", \"body\"],\n aliases: [\"Statement\"],\n fields: {\n object: {\n validate: assertNodeType(\"Expression\"),\n },\n body: {\n validate: assertNodeType(\"Statement\"),\n },\n },\n});\n\n// --- ES2015 ---\ndefineType(\"AssignmentPattern\", {\n visitor: [\"left\", \"right\", \"decorators\" /* for legacy param decorators */],\n builder: [\"left\", \"right\"],\n aliases: [\"Pattern\", \"PatternLike\", \"LVal\"],\n fields: {\n ...patternLikeCommon(),\n left: {\n validate: assertNodeType(\n \"Identifier\",\n \"ObjectPattern\",\n \"ArrayPattern\",\n \"MemberExpression\",\n \"TSAsExpression\",\n \"TSSatisfiesExpression\",\n \"TSTypeAssertion\",\n \"TSNonNullExpression\",\n ),\n },\n right: {\n validate: assertNodeType(\"Expression\"),\n },\n // For TypeScript\n decorators: {\n validate: arrayOfType(\"Decorator\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ArrayPattern\", {\n visitor: [\"elements\", \"typeAnnotation\"],\n builder: [\"elements\"],\n aliases: [\"Pattern\", \"PatternLike\", \"LVal\"],\n fields: {\n ...patternLikeCommon(),\n elements: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeOrValueType(\"null\", \"PatternLike\", \"LVal\")),\n ),\n },\n },\n});\n\ndefineType(\"ArrowFunctionExpression\", {\n builder: [\"params\", \"body\", \"async\"],\n visitor: [\"typeParameters\", \"params\", \"returnType\", \"body\"],\n aliases: [\n \"Scopable\",\n \"Function\",\n \"BlockParent\",\n \"FunctionParent\",\n \"Expression\",\n \"Pureish\",\n ],\n fields: {\n ...functionCommon(),\n ...functionTypeAnnotationCommon(),\n expression: {\n // https://github.com/babel/babylon/issues/505\n validate: assertValueType(\"boolean\"),\n },\n body: {\n validate: assertNodeType(\"BlockStatement\", \"Expression\"),\n },\n predicate: {\n validate: assertNodeType(\"DeclaredPredicate\", \"InferredPredicate\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ClassBody\", {\n visitor: [\"body\"],\n fields: {\n body: validateArrayOfType(\n \"ClassMethod\",\n \"ClassPrivateMethod\",\n \"ClassProperty\",\n \"ClassPrivateProperty\",\n \"ClassAccessorProperty\",\n \"TSDeclareMethod\",\n \"TSIndexSignature\",\n \"StaticBlock\",\n ),\n },\n});\n\ndefineType(\"ClassExpression\", {\n builder: [\"id\", \"superClass\", \"body\", \"decorators\"],\n visitor: [\n \"decorators\",\n \"id\",\n \"typeParameters\",\n \"superClass\",\n \"superTypeParameters\",\n \"mixins\",\n \"implements\",\n \"body\",\n ],\n aliases: [\"Scopable\", \"Class\", \"Expression\"],\n fields: {\n id: {\n validate: assertNodeType(\"Identifier\"),\n optional: true,\n },\n typeParameters: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\n \"TypeParameterDeclaration\",\n \"TSTypeParameterDeclaration\",\n )\n : assertNodeType(\n \"TypeParameterDeclaration\",\n \"TSTypeParameterDeclaration\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n body: {\n validate: assertNodeType(\"ClassBody\"),\n },\n superClass: {\n optional: true,\n validate: assertNodeType(\"Expression\"),\n },\n superTypeParameters: {\n validate: assertNodeType(\n \"TypeParameterInstantiation\",\n \"TSTypeParameterInstantiation\",\n ),\n optional: true,\n },\n implements: {\n validate: arrayOfType(\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n process.env.BABEL_8_BREAKING\n ? \"TSClassImplements\"\n : \"TSExpressionWithTypeArguments\",\n \"ClassImplements\",\n ),\n optional: true,\n },\n decorators: {\n validate: arrayOfType(\"Decorator\"),\n optional: true,\n },\n mixins: {\n validate: assertNodeType(\"InterfaceExtends\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ClassDeclaration\", {\n inherits: \"ClassExpression\",\n aliases: [\"Scopable\", \"Class\", \"Statement\", \"Declaration\"],\n fields: {\n id: {\n validate: assertNodeType(\"Identifier\"),\n // The id may be omitted if this is the child of an\n // ExportDefaultDeclaration.\n optional: true,\n },\n typeParameters: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\n \"TypeParameterDeclaration\",\n \"TSTypeParameterDeclaration\",\n )\n : assertNodeType(\n \"TypeParameterDeclaration\",\n \"TSTypeParameterDeclaration\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n body: {\n validate: assertNodeType(\"ClassBody\"),\n },\n superClass: {\n optional: true,\n validate: assertNodeType(\"Expression\"),\n },\n superTypeParameters: {\n validate: assertNodeType(\n \"TypeParameterInstantiation\",\n \"TSTypeParameterInstantiation\",\n ),\n optional: true,\n },\n implements: {\n validate: arrayOfType(\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n process.env.BABEL_8_BREAKING\n ? \"TSClassImplements\"\n : \"TSExpressionWithTypeArguments\",\n \"ClassImplements\",\n ),\n optional: true,\n },\n decorators: {\n validate: arrayOfType(\"Decorator\"),\n optional: true,\n },\n mixins: {\n validate: assertNodeType(\"InterfaceExtends\"),\n optional: true,\n },\n declare: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n abstract: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n },\n validate:\n !process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? undefined\n : (function () {\n const identifier = assertNodeType(\"Identifier\");\n return function (parent, key, node) {\n if (!is(\"ExportDefaultDeclaration\", parent)) {\n identifier(node, \"id\", node.id);\n }\n };\n })(),\n});\n\nexport const importAttributes = {\n attributes: {\n optional: true,\n validate: arrayOfType(\"ImportAttribute\"),\n },\n assertions: {\n deprecated: true,\n optional: true,\n validate: arrayOfType(\"ImportAttribute\"),\n },\n};\n\ndefineType(\"ExportAllDeclaration\", {\n builder: [\"source\"],\n visitor: [\"source\", \"attributes\", \"assertions\"],\n aliases: [\n \"Statement\",\n \"Declaration\",\n \"ImportOrExportDeclaration\",\n \"ExportDeclaration\",\n ],\n fields: {\n source: {\n validate: assertNodeType(\"StringLiteral\"),\n },\n exportKind: validateOptional(assertOneOf(\"type\", \"value\")),\n ...importAttributes,\n },\n});\n\ndefineType(\"ExportDefaultDeclaration\", {\n visitor: [\"declaration\"],\n aliases: [\n \"Statement\",\n \"Declaration\",\n \"ImportOrExportDeclaration\",\n \"ExportDeclaration\",\n ],\n fields: {\n declaration: validateType(\n \"TSDeclareFunction\",\n \"FunctionDeclaration\",\n \"ClassDeclaration\",\n \"Expression\",\n ),\n exportKind: validateOptional(assertOneOf(\"value\")),\n },\n});\n\ndefineType(\"ExportNamedDeclaration\", {\n builder: [\"declaration\", \"specifiers\", \"source\"],\n visitor: process.env\n ? [\"declaration\", \"specifiers\", \"source\", \"attributes\"]\n : [\"declaration\", \"specifiers\", \"source\", \"attributes\", \"assertions\"],\n aliases: [\n \"Statement\",\n \"Declaration\",\n \"ImportOrExportDeclaration\",\n \"ExportDeclaration\",\n ],\n fields: {\n declaration: {\n optional: true,\n validate:\n process.env.BABEL_8_BREAKING || process.env.BABEL_TYPES_8_BREAKING\n ? chain(\n assertNodeType(\"Declaration\"),\n Object.assign(\n function (node: t.ExportNamedDeclaration, key, val) {\n // This validator isn't put at the top level because we can run it\n // even if this node doesn't have a parent.\n\n if (val && node.specifiers.length) {\n throw new TypeError(\n \"Only declaration or specifiers is allowed on ExportNamedDeclaration\",\n );\n }\n\n // This validator isn't put at the top level because we can run it\n // even if this node doesn't have a parent.\n\n if (val && node.source) {\n throw new TypeError(\n \"Cannot export a declaration from a source\",\n );\n }\n } as Validator,\n { oneOfNodeTypes: [\"Declaration\"] },\n ),\n )\n : assertNodeType(\"Declaration\"),\n },\n ...importAttributes,\n specifiers: {\n default: [],\n validate: arrayOf(\n (function () {\n const sourced = assertNodeType(\n \"ExportSpecifier\",\n \"ExportDefaultSpecifier\",\n \"ExportNamespaceSpecifier\",\n );\n const sourceless = assertNodeType(\"ExportSpecifier\");\n\n if (\n !process.env.BABEL_8_BREAKING &&\n !process.env.BABEL_TYPES_8_BREAKING\n )\n return sourced;\n\n return Object.assign(\n function (node: t.ExportNamedDeclaration, key, val) {\n const validator = node.source ? sourced : sourceless;\n validator(node, key, val);\n } as Validator,\n {\n oneOfNodeTypes: [\n \"ExportSpecifier\",\n \"ExportDefaultSpecifier\",\n \"ExportNamespaceSpecifier\",\n ],\n },\n );\n })(),\n ),\n },\n source: {\n validate: assertNodeType(\"StringLiteral\"),\n optional: true,\n },\n exportKind: validateOptional(assertOneOf(\"type\", \"value\")),\n },\n});\n\ndefineType(\"ExportSpecifier\", {\n visitor: [\"local\", \"exported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: assertNodeType(\"Identifier\"),\n },\n exported: {\n validate: assertNodeType(\"Identifier\", \"StringLiteral\"),\n },\n exportKind: {\n // And TypeScript's \"export { type foo } from\"\n validate: assertOneOf(\"type\", \"value\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ForOfStatement\", {\n visitor: [\"left\", \"right\", \"body\"],\n builder: [\"left\", \"right\", \"body\", \"await\"],\n aliases: [\n \"Scopable\",\n \"Statement\",\n \"For\",\n \"BlockParent\",\n \"Loop\",\n \"ForXStatement\",\n ],\n fields: {\n left: {\n validate: (function () {\n if (\n !process.env.BABEL_8_BREAKING &&\n !process.env.BABEL_TYPES_8_BREAKING\n ) {\n return assertNodeType(\"VariableDeclaration\", \"LVal\");\n }\n\n const declaration = assertNodeType(\"VariableDeclaration\");\n const lval = assertNodeType(\n \"Identifier\",\n \"MemberExpression\",\n \"ArrayPattern\",\n \"ObjectPattern\",\n \"TSAsExpression\",\n \"TSSatisfiesExpression\",\n \"TSTypeAssertion\",\n \"TSNonNullExpression\",\n );\n\n return Object.assign(\n function (node, key, val) {\n if (is(\"VariableDeclaration\", val)) {\n declaration(node, key, val);\n } else {\n lval(node, key, val);\n }\n } as Validator,\n {\n oneOfNodeTypes: [\n \"VariableDeclaration\",\n \"Identifier\",\n \"MemberExpression\",\n \"ArrayPattern\",\n \"ObjectPattern\",\n \"TSAsExpression\",\n \"TSSatisfiesExpression\",\n \"TSTypeAssertion\",\n \"TSNonNullExpression\",\n ],\n },\n );\n })(),\n },\n right: {\n validate: assertNodeType(\"Expression\"),\n },\n body: {\n validate: assertNodeType(\"Statement\"),\n },\n await: {\n default: false,\n },\n },\n});\n\ndefineType(\"ImportDeclaration\", {\n builder: [\"specifiers\", \"source\"],\n visitor: process.env.BABEL_8_BREAKING\n ? [\"specifiers\", \"source\", \"attributes\"]\n : [\"specifiers\", \"source\", \"attributes\", \"assertions\"],\n aliases: [\"Statement\", \"Declaration\", \"ImportOrExportDeclaration\"],\n fields: {\n ...importAttributes,\n module: {\n optional: true,\n validate: assertValueType(\"boolean\"),\n },\n phase: {\n default: null,\n validate: assertOneOf(\"source\", \"defer\"),\n },\n specifiers: validateArrayOfType(\n \"ImportSpecifier\",\n \"ImportDefaultSpecifier\",\n \"ImportNamespaceSpecifier\",\n ),\n source: {\n validate: assertNodeType(\"StringLiteral\"),\n },\n importKind: {\n // Handle TypeScript/Flowtype's extension \"import type foo from\"\n // TypeScript doesn't support typeof\n validate: assertOneOf(\"type\", \"typeof\", \"value\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ImportDefaultSpecifier\", {\n visitor: [\"local\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: assertNodeType(\"Identifier\"),\n },\n },\n});\n\ndefineType(\"ImportNamespaceSpecifier\", {\n visitor: [\"local\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: assertNodeType(\"Identifier\"),\n },\n },\n});\n\ndefineType(\"ImportSpecifier\", {\n visitor: [\"imported\", \"local\"],\n builder: [\"local\", \"imported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: assertNodeType(\"Identifier\"),\n },\n imported: {\n validate: assertNodeType(\"Identifier\", \"StringLiteral\"),\n },\n importKind: {\n // Handle Flowtype's extension \"import {typeof foo} from\"\n // And TypeScript's \"import { type foo } from\"\n validate: assertOneOf(\"type\", \"typeof\", \"value\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ImportExpression\", {\n visitor: [\"source\", \"options\"],\n aliases: [\"Expression\"],\n fields: {\n phase: {\n default: null,\n validate: assertOneOf(\"source\", \"defer\"),\n },\n source: {\n validate: assertNodeType(\"Expression\"),\n },\n options: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"MetaProperty\", {\n visitor: [\"meta\", \"property\"],\n aliases: [\"Expression\"],\n fields: {\n meta: {\n validate:\n process.env.BABEL_8_BREAKING || process.env.BABEL_TYPES_8_BREAKING\n ? chain(\n assertNodeType(\"Identifier\"),\n Object.assign(\n function (node: t.MetaProperty, key, val) {\n let property;\n switch (val.name) {\n case \"function\":\n property = \"sent\";\n break;\n case \"new\":\n property = \"target\";\n break;\n case \"import\":\n property = \"meta\";\n break;\n }\n if (!is(\"Identifier\", node.property, { name: property })) {\n throw new TypeError(\"Unrecognised MetaProperty\");\n }\n } as Validator,\n { oneOfNodeTypes: [\"Identifier\"] },\n ),\n )\n : assertNodeType(\"Identifier\"),\n },\n property: {\n validate: assertNodeType(\"Identifier\"),\n },\n },\n});\n\nexport const classMethodOrPropertyCommon = () => ({\n abstract: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n accessibility: {\n validate: assertOneOf(\"public\", \"private\", \"protected\"),\n optional: true,\n },\n static: {\n default: false,\n },\n override: {\n default: false,\n },\n computed: {\n default: false,\n },\n optional: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n key: {\n validate: chain(\n (function () {\n const normal = assertNodeType(\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n );\n const computed = assertNodeType(\"Expression\");\n\n return function (node: any, key: string, val: any) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n })(),\n assertNodeType(\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n \"Expression\",\n ),\n ),\n },\n});\n\nexport const classMethodOrDeclareMethodCommon = () => ({\n ...functionCommon(),\n ...classMethodOrPropertyCommon(),\n params: validateArrayOfType(\n \"Identifier\",\n \"Pattern\",\n \"RestElement\",\n \"TSParameterProperty\",\n ),\n kind: {\n validate: assertOneOf(\"get\", \"set\", \"method\", \"constructor\"),\n default: \"method\",\n },\n access: {\n validate: chain(\n assertValueType(\"string\"),\n assertOneOf(\"public\", \"private\", \"protected\"),\n ),\n optional: true,\n },\n decorators: {\n validate: arrayOfType(\"Decorator\"),\n optional: true,\n },\n});\n\ndefineType(\"ClassMethod\", {\n aliases: [\"Function\", \"Scopable\", \"BlockParent\", \"FunctionParent\", \"Method\"],\n builder: [\n \"kind\",\n \"key\",\n \"params\",\n \"body\",\n \"computed\",\n \"static\",\n \"generator\",\n \"async\",\n ],\n visitor: [\n \"decorators\",\n \"key\",\n \"typeParameters\",\n \"params\",\n \"returnType\",\n \"body\",\n ],\n fields: {\n ...classMethodOrDeclareMethodCommon(),\n ...functionTypeAnnotationCommon(),\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n },\n});\n\ndefineType(\"ObjectPattern\", {\n visitor: [\n \"properties\",\n \"typeAnnotation\",\n \"decorators\" /* for legacy param decorators */,\n ],\n builder: [\"properties\"],\n aliases: [\"Pattern\", \"PatternLike\", \"LVal\"],\n fields: {\n ...patternLikeCommon(),\n properties: validateArrayOfType(\"RestElement\", \"ObjectProperty\"),\n },\n});\n\ndefineType(\"SpreadElement\", {\n visitor: [\"argument\"],\n aliases: [\"UnaryLike\"],\n deprecatedAlias: \"SpreadProperty\",\n fields: {\n argument: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\n \"Super\",\n process.env.BABEL_8_BREAKING\n ? undefined\n : {\n aliases: [\"Expression\"],\n },\n);\n\ndefineType(\"TaggedTemplateExpression\", {\n visitor: [\"tag\", \"typeParameters\", \"quasi\"],\n builder: [\"tag\", \"quasi\"],\n aliases: [\"Expression\"],\n fields: {\n tag: {\n validate: assertNodeType(\"Expression\"),\n },\n quasi: {\n validate: assertNodeType(\"TemplateLiteral\"),\n },\n typeParameters: {\n validate: assertNodeType(\n \"TypeParameterInstantiation\",\n \"TSTypeParameterInstantiation\",\n ),\n optional: true,\n },\n },\n});\n\ndefineType(\"TemplateElement\", {\n builder: [\"value\", \"tail\"],\n fields: {\n value: {\n validate: chain(\n assertShape({\n raw: {\n validate: assertValueType(\"string\"),\n },\n cooked: {\n validate: assertValueType(\"string\"),\n optional: true,\n },\n }),\n function templateElementCookedValidator(node: t.TemplateElement) {\n const raw = node.value.raw;\n\n let unterminatedCalled = false;\n\n const error = () => {\n // unreachable\n throw new Error(\"Internal @babel/types error.\");\n };\n const { str, firstInvalidLoc } = readStringContents(\n \"template\",\n raw,\n 0,\n 0,\n 0,\n {\n unterminated() {\n unterminatedCalled = true;\n },\n strictNumericEscape: error,\n invalidEscapeSequence: error,\n numericSeparatorInEscapeSequence: error,\n unexpectedNumericSeparator: error,\n invalidDigit: error,\n invalidCodePoint: error,\n },\n );\n if (!unterminatedCalled) throw new Error(\"Invalid raw\");\n\n node.value.cooked = firstInvalidLoc ? null : str;\n },\n ),\n },\n tail: {\n default: false,\n },\n },\n});\n\ndefineType(\"TemplateLiteral\", {\n visitor: [\"quasis\", \"expressions\"],\n aliases: [\"Expression\", \"Literal\"],\n fields: {\n quasis: validateArrayOfType(\"TemplateElement\"),\n expressions: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(\n assertNodeType(\n \"Expression\",\n // For TypeScript template literal types\n \"TSType\",\n ),\n ),\n function (node: t.TemplateLiteral, key, val) {\n if (node.quasis.length !== val.length + 1) {\n throw new TypeError(\n `Number of ${\n node.type\n } quasis should be exactly one more than the number of expressions.\\nExpected ${\n val.length + 1\n } quasis but got ${node.quasis.length}`,\n );\n }\n } as Validator,\n ),\n },\n },\n});\n\ndefineType(\"YieldExpression\", {\n builder: [\"argument\", \"delegate\"],\n visitor: [\"argument\"],\n aliases: [\"Expression\", \"Terminatorless\"],\n fields: {\n delegate: {\n validate:\n process.env.BABEL_8_BREAKING || process.env.BABEL_TYPES_8_BREAKING\n ? chain(\n assertValueType(\"boolean\"),\n Object.assign(\n function (node: t.YieldExpression, key, val) {\n if (val && !node.argument) {\n throw new TypeError(\n \"Property delegate of YieldExpression cannot be true if there is no argument\",\n );\n }\n } as Validator,\n { type: \"boolean\" },\n ),\n )\n : assertValueType(\"boolean\"),\n default: false,\n },\n argument: {\n optional: true,\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\n// --- ES2017 ---\ndefineType(\"AwaitExpression\", {\n builder: [\"argument\"],\n visitor: [\"argument\"],\n aliases: [\"Expression\", \"Terminatorless\"],\n fields: {\n argument: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\n// --- ES2019 ---\ndefineType(\"Import\", {\n aliases: [\"Expression\"],\n});\n\n// --- ES2020 ---\ndefineType(\"BigIntLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"],\n});\n\ndefineType(\"ExportNamespaceSpecifier\", {\n visitor: [\"exported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n exported: {\n validate: assertNodeType(\"Identifier\"),\n },\n },\n});\n\ndefineType(\"OptionalMemberExpression\", {\n builder: [\"object\", \"property\", \"computed\", \"optional\"],\n visitor: [\"object\", \"property\"],\n aliases: [\"Expression\"],\n fields: {\n object: {\n validate: assertNodeType(\"Expression\"),\n },\n property: {\n validate: (function () {\n const normal = assertNodeType(\"Identifier\");\n const computed = assertNodeType(\"Expression\");\n\n const validator: Validator = Object.assign(\n function (node: t.OptionalMemberExpression, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n } as Validator,\n // todo(ts): can be discriminated union by `computed` property\n { oneOfNodeTypes: [\"Expression\", \"Identifier\"] },\n );\n return validator;\n })(),\n },\n computed: {\n default: false,\n },\n optional: {\n validate:\n !process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? assertValueType(\"boolean\")\n : chain(assertValueType(\"boolean\"), assertOptionalChainStart()),\n },\n },\n});\n\ndefineType(\"OptionalCallExpression\", {\n visitor: [\"callee\", \"arguments\", \"typeParameters\", \"typeArguments\"],\n builder: [\"callee\", \"arguments\", \"optional\"],\n aliases: [\"Expression\"],\n fields: {\n callee: {\n validate: assertNodeType(\"Expression\"),\n },\n arguments: validateArrayOfType(\n \"Expression\",\n \"SpreadElement\",\n \"ArgumentPlaceholder\",\n ),\n optional: {\n validate:\n !process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? assertValueType(\"boolean\")\n : chain(assertValueType(\"boolean\"), assertOptionalChainStart()),\n },\n typeArguments: {\n validate: assertNodeType(\"TypeParameterInstantiation\"),\n optional: true,\n },\n typeParameters: {\n validate: assertNodeType(\"TSTypeParameterInstantiation\"),\n optional: true,\n },\n },\n});\n\n// --- ES2022 ---\ndefineType(\"ClassProperty\", {\n visitor: [\"decorators\", \"key\", \"typeAnnotation\", \"value\"],\n builder: [\n \"key\",\n \"value\",\n \"typeAnnotation\",\n \"decorators\",\n \"computed\",\n \"static\",\n ],\n aliases: [\"Property\"],\n fields: {\n ...classMethodOrPropertyCommon(),\n value: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n definite: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n typeAnnotation: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TypeAnnotation\", \"TSTypeAnnotation\")\n : assertNodeType(\n \"TypeAnnotation\",\n \"TSTypeAnnotation\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n decorators: {\n validate: arrayOfType(\"Decorator\"),\n optional: true,\n },\n readonly: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n declare: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n variance: {\n validate: assertNodeType(\"Variance\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ClassAccessorProperty\", {\n visitor: [\"decorators\", \"key\", \"typeAnnotation\", \"value\"],\n builder: [\n \"key\",\n \"value\",\n \"typeAnnotation\",\n \"decorators\",\n \"computed\",\n \"static\",\n ],\n aliases: [\"Property\", \"Accessor\"],\n fields: {\n ...classMethodOrPropertyCommon(),\n key: {\n validate: chain(\n (function () {\n const normal = assertNodeType(\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n \"PrivateName\",\n );\n const computed = assertNodeType(\"Expression\");\n\n return function (node: any, key: string, val: any) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n })(),\n assertNodeType(\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n \"Expression\",\n \"PrivateName\",\n ),\n ),\n },\n value: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n definite: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n typeAnnotation: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TypeAnnotation\", \"TSTypeAnnotation\")\n : assertNodeType(\n \"TypeAnnotation\",\n \"TSTypeAnnotation\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n decorators: {\n validate: arrayOfType(\"Decorator\"),\n optional: true,\n },\n readonly: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n declare: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n variance: {\n validate: assertNodeType(\"Variance\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ClassPrivateProperty\", {\n visitor: [\"decorators\", \"key\", \"typeAnnotation\", \"value\"],\n builder: [\"key\", \"value\", \"decorators\", \"static\"],\n aliases: [\"Property\", \"Private\"],\n fields: {\n key: {\n validate: assertNodeType(\"PrivateName\"),\n },\n value: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n typeAnnotation: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TypeAnnotation\", \"TSTypeAnnotation\")\n : assertNodeType(\n \"TypeAnnotation\",\n \"TSTypeAnnotation\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n decorators: {\n validate: arrayOfType(\"Decorator\"),\n optional: true,\n },\n static: {\n validate: assertValueType(\"boolean\"),\n default: false,\n },\n readonly: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n definite: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n variance: {\n validate: assertNodeType(\"Variance\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ClassPrivateMethod\", {\n builder: [\"kind\", \"key\", \"params\", \"body\", \"static\"],\n visitor: [\n \"decorators\",\n \"key\",\n \"typeParameters\",\n \"params\",\n \"returnType\",\n \"body\",\n ],\n aliases: [\n \"Function\",\n \"Scopable\",\n \"BlockParent\",\n \"FunctionParent\",\n \"Method\",\n \"Private\",\n ],\n fields: {\n ...classMethodOrDeclareMethodCommon(),\n ...functionTypeAnnotationCommon(),\n kind: {\n validate: assertOneOf(\"get\", \"set\", \"method\"),\n default: \"method\",\n },\n key: {\n validate: assertNodeType(\"PrivateName\"),\n },\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n },\n});\n\ndefineType(\"PrivateName\", {\n visitor: [\"id\"],\n aliases: [\"Private\"],\n fields: {\n id: {\n validate: assertNodeType(\"Identifier\"),\n },\n },\n});\n\ndefineType(\"StaticBlock\", {\n visitor: [\"body\"],\n fields: {\n body: validateArrayOfType(\"Statement\"),\n },\n aliases: [\"Scopable\", \"BlockParent\", \"FunctionParent\"],\n});\n", "import { importAttributes } from \"./core.ts\";\nimport {\n defineAliasedType,\n arrayOfType,\n assertOneOf,\n assertValueType,\n validate,\n validateArrayOfType,\n validateOptional,\n validateOptionalType,\n validateType,\n} from \"./utils.ts\";\n\nconst defineType = defineAliasedType(\"Flow\");\n\nconst defineInterfaceishType = (\n name: \"DeclareClass\" | \"DeclareInterface\" | \"InterfaceDeclaration\",\n) => {\n const isDeclareClass = name === \"DeclareClass\";\n\n defineType(name, {\n builder: [\"id\", \"typeParameters\", \"extends\", \"body\"],\n visitor: [\n \"id\",\n \"typeParameters\",\n \"extends\",\n ...(isDeclareClass ? [\"mixins\", \"implements\"] : []),\n \"body\",\n ],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n extends: validateOptional(arrayOfType(\"InterfaceExtends\")),\n ...(isDeclareClass\n ? {\n mixins: validateOptional(arrayOfType(\"InterfaceExtends\")),\n implements: validateOptional(arrayOfType(\"ClassImplements\")),\n }\n : {}),\n body: validateType(\"ObjectTypeAnnotation\"),\n },\n });\n};\n\ndefineType(\"AnyTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ArrayTypeAnnotation\", {\n visitor: [\"elementType\"],\n aliases: [\"FlowType\"],\n fields: {\n elementType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"BooleanTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"BooleanLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"NullLiteralTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ClassImplements\", {\n visitor: [\"id\", \"typeParameters\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineInterfaceishType(\"DeclareClass\");\n\ndefineType(\"DeclareFunction\", {\n visitor: [\"id\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n predicate: validateOptionalType(\"DeclaredPredicate\"),\n },\n});\n\ndefineInterfaceishType(\"DeclareInterface\");\n\ndefineType(\"DeclareModule\", {\n builder: [\"id\", \"body\", \"kind\"],\n visitor: [\"id\", \"body\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\", \"StringLiteral\"),\n body: validateType(\"BlockStatement\"),\n kind: validateOptional(assertOneOf(\"CommonJS\", \"ES\")),\n },\n});\n\ndefineType(\"DeclareModuleExports\", {\n visitor: [\"typeAnnotation\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n typeAnnotation: validateType(\"TypeAnnotation\"),\n },\n});\n\ndefineType(\"DeclareTypeAlias\", {\n visitor: [\"id\", \"typeParameters\", \"right\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n right: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"DeclareOpaqueType\", {\n visitor: [\"id\", \"typeParameters\", \"supertype\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n supertype: validateOptionalType(\"FlowType\"),\n impltype: validateOptionalType(\"FlowType\"),\n },\n});\n\ndefineType(\"DeclareVariable\", {\n visitor: [\"id\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n },\n});\n\ndefineType(\"DeclareExportDeclaration\", {\n visitor: [\"declaration\", \"specifiers\", \"source\", \"attributes\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n declaration: validateOptionalType(\"Flow\"),\n specifiers: validateOptional(\n arrayOfType(\"ExportSpecifier\", \"ExportNamespaceSpecifier\"),\n ),\n source: validateOptionalType(\"StringLiteral\"),\n default: validateOptional(assertValueType(\"boolean\")),\n ...importAttributes,\n },\n});\n\ndefineType(\"DeclareExportAllDeclaration\", {\n visitor: [\"source\", \"attributes\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n source: validateType(\"StringLiteral\"),\n exportKind: validateOptional(assertOneOf(\"type\", \"value\")),\n ...importAttributes,\n },\n});\n\ndefineType(\"DeclaredPredicate\", {\n visitor: [\"value\"],\n aliases: [\"FlowPredicate\"],\n fields: {\n value: validateType(\"Flow\"),\n },\n});\n\ndefineType(\"ExistsTypeAnnotation\", {\n aliases: [\"FlowType\"],\n});\n\ndefineType(\"FunctionTypeAnnotation\", {\n visitor: [\"typeParameters\", \"params\", \"rest\", \"returnType\"],\n aliases: [\"FlowType\"],\n fields: {\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n params: validateArrayOfType(\"FunctionTypeParam\"),\n rest: validateOptionalType(\"FunctionTypeParam\"),\n this: validateOptionalType(\"FunctionTypeParam\"),\n returnType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"FunctionTypeParam\", {\n visitor: [\"name\", \"typeAnnotation\"],\n fields: {\n name: validateOptionalType(\"Identifier\"),\n typeAnnotation: validateType(\"FlowType\"),\n optional: validateOptional(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"GenericTypeAnnotation\", {\n visitor: [\"id\", \"typeParameters\"],\n aliases: [\"FlowType\"],\n fields: {\n id: validateType(\"Identifier\", \"QualifiedTypeIdentifier\"),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"InferredPredicate\", {\n aliases: [\"FlowPredicate\"],\n});\n\ndefineType(\"InterfaceExtends\", {\n visitor: [\"id\", \"typeParameters\"],\n fields: {\n id: validateType(\"Identifier\", \"QualifiedTypeIdentifier\"),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineInterfaceishType(\"InterfaceDeclaration\");\n\ndefineType(\"InterfaceTypeAnnotation\", {\n visitor: [\"extends\", \"body\"],\n aliases: [\"FlowType\"],\n fields: {\n extends: validateOptional(arrayOfType(\"InterfaceExtends\")),\n body: validateType(\"ObjectTypeAnnotation\"),\n },\n});\n\ndefineType(\"IntersectionTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"MixedTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"EmptyTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"NullableTypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n aliases: [\"FlowType\"],\n fields: {\n typeAnnotation: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"NumberLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"number\")),\n },\n});\n\ndefineType(\"NumberTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ObjectTypeAnnotation\", {\n visitor: [\"properties\", \"indexers\", \"callProperties\", \"internalSlots\"],\n aliases: [\"FlowType\"],\n builder: [\n \"properties\",\n \"indexers\",\n \"callProperties\",\n \"internalSlots\",\n \"exact\",\n ],\n fields: {\n properties: validate(\n arrayOfType(\"ObjectTypeProperty\", \"ObjectTypeSpreadProperty\"),\n ),\n indexers: {\n validate: arrayOfType(\"ObjectTypeIndexer\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n callProperties: {\n validate: arrayOfType(\"ObjectTypeCallProperty\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n internalSlots: {\n validate: arrayOfType(\"ObjectTypeInternalSlot\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n exact: {\n validate: assertValueType(\"boolean\"),\n default: false,\n },\n // If the inexact flag is present then this is an object type, and not a\n // declare class, declare interface, or interface. If it is true, the\n // object uses ... to express that it is inexact.\n inexact: validateOptional(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeInternalSlot\", {\n visitor: [\"id\", \"value\"],\n builder: [\"id\", \"value\", \"optional\", \"static\", \"method\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n id: validateType(\"Identifier\"),\n value: validateType(\"FlowType\"),\n optional: validate(assertValueType(\"boolean\")),\n static: validate(assertValueType(\"boolean\")),\n method: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeCallProperty\", {\n visitor: [\"value\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n value: validateType(\"FlowType\"),\n static: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeIndexer\", {\n visitor: [\"variance\", \"id\", \"key\", \"value\"],\n builder: [\"id\", \"key\", \"value\", \"variance\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n id: validateOptionalType(\"Identifier\"),\n key: validateType(\"FlowType\"),\n value: validateType(\"FlowType\"),\n static: validate(assertValueType(\"boolean\")),\n variance: validateOptionalType(\"Variance\"),\n },\n});\n\ndefineType(\"ObjectTypeProperty\", {\n visitor: [\"key\", \"value\", \"variance\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n key: validateType(\"Identifier\", \"StringLiteral\"),\n value: validateType(\"FlowType\"),\n kind: validate(assertOneOf(\"init\", \"get\", \"set\")),\n static: validate(assertValueType(\"boolean\")),\n proto: validate(assertValueType(\"boolean\")),\n optional: validate(assertValueType(\"boolean\")),\n variance: validateOptionalType(\"Variance\"),\n method: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeSpreadProperty\", {\n visitor: [\"argument\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n argument: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"OpaqueType\", {\n visitor: [\"id\", \"typeParameters\", \"supertype\", \"impltype\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n supertype: validateOptionalType(\"FlowType\"),\n impltype: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"QualifiedTypeIdentifier\", {\n visitor: [\"qualification\", \"id\"],\n builder: [\"id\", \"qualification\"],\n fields: {\n id: validateType(\"Identifier\"),\n qualification: validateType(\"Identifier\", \"QualifiedTypeIdentifier\"),\n },\n});\n\ndefineType(\"StringLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"string\")),\n },\n});\n\ndefineType(\"StringTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"SymbolTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ThisTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"TupleTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"TypeofTypeAnnotation\", {\n visitor: [\"argument\"],\n aliases: [\"FlowType\"],\n fields: {\n argument: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeAlias\", {\n visitor: [\"id\", \"typeParameters\", \"right\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n right: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeCastExpression\", {\n visitor: [\"expression\", \"typeAnnotation\"],\n aliases: [\"ExpressionWrapper\", \"Expression\"],\n fields: {\n expression: validateType(\"Expression\"),\n typeAnnotation: validateType(\"TypeAnnotation\"),\n },\n});\n\ndefineType(\"TypeParameter\", {\n visitor: [\"bound\", \"default\", \"variance\"],\n fields: {\n name: validate(assertValueType(\"string\")),\n bound: validateOptionalType(\"TypeAnnotation\"),\n default: validateOptionalType(\"FlowType\"),\n variance: validateOptionalType(\"Variance\"),\n },\n});\n\ndefineType(\"TypeParameterDeclaration\", {\n visitor: [\"params\"],\n fields: {\n params: validate(arrayOfType(\"TypeParameter\")),\n },\n});\n\ndefineType(\"TypeParameterInstantiation\", {\n visitor: [\"params\"],\n fields: {\n params: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"UnionTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"Variance\", {\n builder: [\"kind\"],\n fields: {\n kind: validate(assertOneOf(\"minus\", \"plus\")),\n },\n});\n\ndefineType(\"VoidTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\n// Enums\ndefineType(\"EnumDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"body\"],\n fields: {\n id: validateType(\"Identifier\"),\n body: validateType(\n \"EnumBooleanBody\",\n \"EnumNumberBody\",\n \"EnumStringBody\",\n \"EnumSymbolBody\",\n ),\n },\n});\n\ndefineType(\"EnumBooleanBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType(\"EnumBooleanMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumNumberBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType(\"EnumNumberMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumStringBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType(\"EnumStringMember\", \"EnumDefaultedMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumSymbolBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n members: validateArrayOfType(\"EnumDefaultedMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumBooleanMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"BooleanLiteral\"),\n },\n});\n\ndefineType(\"EnumNumberMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"NumericLiteral\"),\n },\n});\n\ndefineType(\"EnumStringMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"StringLiteral\"),\n },\n});\n\ndefineType(\"EnumDefaultedMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\"],\n fields: {\n id: validateType(\"Identifier\"),\n },\n});\n\ndefineType(\"IndexedAccessType\", {\n visitor: [\"objectType\", \"indexType\"],\n aliases: [\"FlowType\"],\n fields: {\n objectType: validateType(\"FlowType\"),\n indexType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"OptionalIndexedAccessType\", {\n visitor: [\"objectType\", \"indexType\"],\n aliases: [\"FlowType\"],\n fields: {\n objectType: validateType(\"FlowType\"),\n indexType: validateType(\"FlowType\"),\n optional: validate(assertValueType(\"boolean\")),\n },\n});\n", "import {\n defineAliasedType,\n assertNodeType,\n assertValueType,\n validateArrayOfType,\n} from \"./utils.ts\";\n\nconst defineType = defineAliasedType(\"JSX\");\n\ndefineType(\"JSXAttribute\", {\n visitor: [\"name\", \"value\"],\n aliases: [\"Immutable\"],\n fields: {\n name: {\n validate: assertNodeType(\"JSXIdentifier\", \"JSXNamespacedName\"),\n },\n value: {\n optional: true,\n validate: assertNodeType(\n \"JSXElement\",\n \"JSXFragment\",\n \"StringLiteral\",\n \"JSXExpressionContainer\",\n ),\n },\n },\n});\n\ndefineType(\"JSXClosingElement\", {\n visitor: [\"name\"],\n aliases: [\"Immutable\"],\n fields: {\n name: {\n validate: assertNodeType(\n \"JSXIdentifier\",\n \"JSXMemberExpression\",\n \"JSXNamespacedName\",\n ),\n },\n },\n});\n\ndefineType(\"JSXElement\", {\n builder: process.env.BABEL_8_BREAKING\n ? [\"openingElement\", \"closingElement\", \"children\"]\n : [\"openingElement\", \"closingElement\", \"children\", \"selfClosing\"],\n visitor: [\"openingElement\", \"children\", \"closingElement\"],\n aliases: [\"Immutable\", \"Expression\"],\n fields: {\n openingElement: {\n validate: assertNodeType(\"JSXOpeningElement\"),\n },\n closingElement: {\n optional: true,\n validate: assertNodeType(\"JSXClosingElement\"),\n },\n children: validateArrayOfType(\n \"JSXText\",\n \"JSXExpressionContainer\",\n \"JSXSpreadChild\",\n \"JSXElement\",\n \"JSXFragment\",\n ),\n ...(process.env.BABEL_8_BREAKING\n ? {}\n : {\n selfClosing: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n }),\n },\n});\n\ndefineType(\"JSXEmptyExpression\", {});\n\ndefineType(\"JSXExpressionContainer\", {\n visitor: [\"expression\"],\n aliases: [\"Immutable\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\", \"JSXEmptyExpression\"),\n },\n },\n});\n\ndefineType(\"JSXSpreadChild\", {\n visitor: [\"expression\"],\n aliases: [\"Immutable\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"JSXIdentifier\", {\n builder: [\"name\"],\n fields: {\n name: {\n validate: assertValueType(\"string\"),\n },\n },\n});\n\ndefineType(\"JSXMemberExpression\", {\n visitor: [\"object\", \"property\"],\n fields: {\n object: {\n validate: assertNodeType(\"JSXMemberExpression\", \"JSXIdentifier\"),\n },\n property: {\n validate: assertNodeType(\"JSXIdentifier\"),\n },\n },\n});\n\ndefineType(\"JSXNamespacedName\", {\n visitor: [\"namespace\", \"name\"],\n fields: {\n namespace: {\n validate: assertNodeType(\"JSXIdentifier\"),\n },\n name: {\n validate: assertNodeType(\"JSXIdentifier\"),\n },\n },\n});\n\ndefineType(\"JSXOpeningElement\", {\n builder: [\"name\", \"attributes\", \"selfClosing\"],\n visitor: [\"name\", \"attributes\"],\n aliases: [\"Immutable\"],\n fields: {\n name: {\n validate: assertNodeType(\n \"JSXIdentifier\",\n \"JSXMemberExpression\",\n \"JSXNamespacedName\",\n ),\n },\n selfClosing: {\n default: false,\n },\n attributes: validateArrayOfType(\"JSXAttribute\", \"JSXSpreadAttribute\"),\n typeParameters: {\n validate: assertNodeType(\n \"TypeParameterInstantiation\",\n \"TSTypeParameterInstantiation\",\n ),\n optional: true,\n },\n },\n});\n\ndefineType(\"JSXSpreadAttribute\", {\n visitor: [\"argument\"],\n fields: {\n argument: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"JSXText\", {\n aliases: [\"Immutable\"],\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n});\n\ndefineType(\"JSXFragment\", {\n builder: [\"openingFragment\", \"closingFragment\", \"children\"],\n visitor: [\"openingFragment\", \"children\", \"closingFragment\"],\n aliases: [\"Immutable\", \"Expression\"],\n fields: {\n openingFragment: {\n validate: assertNodeType(\"JSXOpeningFragment\"),\n },\n closingFragment: {\n validate: assertNodeType(\"JSXClosingFragment\"),\n },\n children: validateArrayOfType(\n \"JSXText\",\n \"JSXExpressionContainer\",\n \"JSXSpreadChild\",\n \"JSXElement\",\n \"JSXFragment\",\n ),\n },\n});\n\ndefineType(\"JSXOpeningFragment\", {\n aliases: [\"Immutable\"],\n});\n\ndefineType(\"JSXClosingFragment\", {\n aliases: [\"Immutable\"],\n});\n", "import { ALIAS_KEYS } from \"./utils.ts\";\n\nexport const PLACEHOLDERS = [\n \"Identifier\",\n \"StringLiteral\",\n \"Expression\",\n \"Statement\",\n \"Declaration\",\n \"BlockStatement\",\n \"ClassBody\",\n \"Pattern\",\n] as const;\n\nexport const PLACEHOLDERS_ALIAS: Record = {\n Declaration: [\"Statement\"],\n Pattern: [\"PatternLike\", \"LVal\"],\n};\n\nfor (const type of PLACEHOLDERS) {\n const alias = ALIAS_KEYS[type];\n if (alias?.length) PLACEHOLDERS_ALIAS[type] = alias;\n}\n\nexport const PLACEHOLDERS_FLIPPED_ALIAS: Record = {};\n\nObject.keys(PLACEHOLDERS_ALIAS).forEach(type => {\n PLACEHOLDERS_ALIAS[type].forEach(alias => {\n if (!Object.hasOwn(PLACEHOLDERS_FLIPPED_ALIAS, alias)) {\n PLACEHOLDERS_FLIPPED_ALIAS[alias] = [];\n }\n PLACEHOLDERS_FLIPPED_ALIAS[alias].push(type);\n });\n});\n", "import {\n defineAliasedType,\n assertNodeType,\n assertOneOf,\n assertValueType,\n} from \"./utils.ts\";\nimport { PLACEHOLDERS } from \"./placeholders.ts\";\nimport { patternLikeCommon } from \"./core.ts\";\n\nconst defineType = defineAliasedType(\"Miscellaneous\");\n\nif (!process.env.BABEL_8_BREAKING) {\n defineType(\"Noop\", {\n visitor: [],\n });\n}\n\ndefineType(\"Placeholder\", {\n visitor: [],\n builder: [\"expectedNode\", \"name\"],\n // aliases: [], defined in placeholders.js\n fields: {\n name: {\n validate: assertNodeType(\"Identifier\"),\n },\n expectedNode: {\n validate: assertOneOf(...PLACEHOLDERS),\n },\n ...patternLikeCommon(),\n },\n});\n\ndefineType(\"V8IntrinsicIdentifier\", {\n builder: [\"name\"],\n fields: {\n name: {\n validate: assertValueType(\"string\"),\n },\n },\n});\n", "import defineType, {\n arrayOfType,\n assertNodeType,\n assertValueType,\n validateArrayOfType,\n} from \"./utils.ts\";\n\ndefineType(\"ArgumentPlaceholder\", {});\n\ndefineType(\"BindExpression\", {\n visitor: [\"object\", \"callee\"],\n aliases: [\"Expression\"],\n fields:\n !process.env.BABEL_8_BREAKING && !process.env.BABEL_TYPES_8_BREAKING\n ? {\n object: {\n validate: Object.assign(() => {}, {\n oneOfNodeTypes: [\"Expression\"],\n }),\n },\n callee: {\n validate: Object.assign(() => {}, {\n oneOfNodeTypes: [\"Expression\"],\n }),\n },\n }\n : {\n object: {\n validate: assertNodeType(\"Expression\"),\n },\n callee: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"ImportAttribute\", {\n visitor: [\"key\", \"value\"],\n fields: {\n key: {\n validate: assertNodeType(\"Identifier\", \"StringLiteral\"),\n },\n value: {\n validate: assertNodeType(\"StringLiteral\"),\n },\n },\n});\n\ndefineType(\"Decorator\", {\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"DoExpression\", {\n visitor: [\"body\"],\n builder: [\"body\", \"async\"],\n aliases: [\"Expression\"],\n fields: {\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n async: {\n validate: assertValueType(\"boolean\"),\n default: false,\n },\n },\n});\n\ndefineType(\"ExportDefaultSpecifier\", {\n visitor: [\"exported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n exported: {\n validate: assertNodeType(\"Identifier\"),\n },\n },\n});\n\ndefineType(\"RecordExpression\", {\n visitor: [\"properties\"],\n aliases: [\"Expression\"],\n fields: {\n properties: validateArrayOfType(\"ObjectProperty\", \"SpreadElement\"),\n },\n});\n\ndefineType(\"TupleExpression\", {\n fields: {\n elements: {\n validate: arrayOfType(\"Expression\", \"SpreadElement\"),\n default: [],\n },\n },\n visitor: [\"elements\"],\n aliases: [\"Expression\"],\n});\n\nif (!process.env.BABEL_8_BREAKING) {\n defineType(\"DecimalLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"],\n });\n}\n\n// https://github.com/tc39/proposal-js-module-blocks\ndefineType(\"ModuleExpression\", {\n visitor: [\"body\"],\n fields: {\n body: {\n validate: assertNodeType(\"Program\"),\n },\n },\n aliases: [\"Expression\"],\n});\n\n// https://github.com/tc39/proposal-pipeline-operator\n// https://github.com/js-choi/proposal-hack-pipes\ndefineType(\"TopicReference\", {\n aliases: [\"Expression\"],\n});\n\n// https://github.com/tc39/proposal-pipeline-operator\n// https://github.com/js-choi/proposal-smart-pipes\ndefineType(\"PipelineTopicExpression\", {\n builder: [\"expression\"],\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n aliases: [\"Expression\"],\n});\n\ndefineType(\"PipelineBareFunction\", {\n builder: [\"callee\"],\n visitor: [\"callee\"],\n fields: {\n callee: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n aliases: [\"Expression\"],\n});\n\ndefineType(\"PipelinePrimaryTopicReference\", {\n aliases: [\"Expression\"],\n});\n", "import {\n defineAliasedType,\n arrayOfType,\n assertNodeType,\n assertOneOf,\n assertValueType,\n validate,\n validateArrayOfType,\n validateOptional,\n validateOptionalType,\n validateType,\n} from \"./utils.ts\";\nimport {\n functionDeclarationCommon,\n classMethodOrDeclareMethodCommon,\n} from \"./core.ts\";\nimport is from \"../validators/is.ts\";\n\nconst defineType = defineAliasedType(\"TypeScript\");\n\nconst bool = assertValueType(\"boolean\");\n\nconst tSFunctionTypeAnnotationCommon = () => ({\n returnType: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TSTypeAnnotation\")\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n assertNodeType(\"TSTypeAnnotation\", \"Noop\"),\n optional: true,\n },\n typeParameters: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TSTypeParameterDeclaration\")\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n assertNodeType(\"TSTypeParameterDeclaration\", \"Noop\"),\n optional: true,\n },\n});\n\ndefineType(\"TSParameterProperty\", {\n aliases: [\"LVal\"], // TODO: This isn't usable in general as an LVal. Should have a \"Parameter\" alias.\n visitor: [\"parameter\"],\n fields: {\n accessibility: {\n validate: assertOneOf(\"public\", \"private\", \"protected\"),\n optional: true,\n },\n readonly: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n parameter: {\n validate: assertNodeType(\"Identifier\", \"AssignmentPattern\"),\n },\n override: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n decorators: {\n validate: arrayOfType(\"Decorator\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"TSDeclareFunction\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"params\", \"returnType\"],\n fields: {\n ...functionDeclarationCommon(),\n ...tSFunctionTypeAnnotationCommon(),\n },\n});\n\ndefineType(\"TSDeclareMethod\", {\n visitor: [\"decorators\", \"key\", \"typeParameters\", \"params\", \"returnType\"],\n fields: {\n ...classMethodOrDeclareMethodCommon(),\n ...tSFunctionTypeAnnotationCommon(),\n },\n});\n\ndefineType(\"TSQualifiedName\", {\n aliases: [\"TSEntityName\"],\n visitor: [\"left\", \"right\"],\n fields: {\n left: validateType(\"TSEntityName\"),\n right: validateType(\"Identifier\"),\n },\n});\n\nconst signatureDeclarationCommon = () => ({\n typeParameters: validateOptionalType(\"TSTypeParameterDeclaration\"),\n [process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\"]: validateArrayOfType(\n \"ArrayPattern\",\n \"Identifier\",\n \"ObjectPattern\",\n \"RestElement\",\n ),\n [process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\"]:\n validateOptionalType(\"TSTypeAnnotation\"),\n});\n\nconst callConstructSignatureDeclaration = {\n aliases: [\"TSTypeElement\"],\n visitor: [\n \"typeParameters\",\n process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\",\n process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\",\n ],\n fields: signatureDeclarationCommon(),\n};\n\ndefineType(\"TSCallSignatureDeclaration\", callConstructSignatureDeclaration);\ndefineType(\n \"TSConstructSignatureDeclaration\",\n callConstructSignatureDeclaration,\n);\n\nconst namedTypeElementCommon = () => ({\n key: validateType(\"Expression\"),\n computed: { default: false },\n optional: validateOptional(bool),\n});\n\ndefineType(\"TSPropertySignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\"key\", \"typeAnnotation\"],\n fields: {\n ...namedTypeElementCommon(),\n readonly: validateOptional(bool),\n typeAnnotation: validateOptionalType(\"TSTypeAnnotation\"),\n kind: {\n validate: assertOneOf(\"get\", \"set\"),\n },\n },\n});\n\ndefineType(\"TSMethodSignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\n \"key\",\n \"typeParameters\",\n process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\",\n process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\",\n ],\n fields: {\n ...signatureDeclarationCommon(),\n ...namedTypeElementCommon(),\n kind: {\n validate: assertOneOf(\"method\", \"get\", \"set\"),\n },\n },\n});\n\ndefineType(\"TSIndexSignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\"parameters\", \"typeAnnotation\"],\n fields: {\n readonly: validateOptional(bool),\n static: validateOptional(bool),\n parameters: validateArrayOfType(\"Identifier\"), // Length must be 1\n typeAnnotation: validateOptionalType(\"TSTypeAnnotation\"),\n },\n});\n\nconst tsKeywordTypes = [\n \"TSAnyKeyword\",\n \"TSBooleanKeyword\",\n \"TSBigIntKeyword\",\n \"TSIntrinsicKeyword\",\n \"TSNeverKeyword\",\n \"TSNullKeyword\",\n \"TSNumberKeyword\",\n \"TSObjectKeyword\",\n \"TSStringKeyword\",\n \"TSSymbolKeyword\",\n \"TSUndefinedKeyword\",\n \"TSUnknownKeyword\",\n \"TSVoidKeyword\",\n] as const;\n\nfor (const type of tsKeywordTypes) {\n defineType(type, {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [],\n fields: {},\n });\n}\n\ndefineType(\"TSThisType\", {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [],\n fields: {},\n});\n\nconst fnOrCtrBase = {\n aliases: [\"TSType\"],\n visitor: [\n \"typeParameters\",\n process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\",\n process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\",\n ],\n};\n\ndefineType(\"TSFunctionType\", {\n ...fnOrCtrBase,\n fields: signatureDeclarationCommon(),\n});\ndefineType(\"TSConstructorType\", {\n ...fnOrCtrBase,\n fields: {\n ...signatureDeclarationCommon(),\n abstract: validateOptional(bool),\n },\n});\n\ndefineType(\"TSTypeReference\", {\n aliases: [\"TSType\"],\n visitor: [\"typeName\", \"typeParameters\"],\n fields: {\n typeName: validateType(\"TSEntityName\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSTypePredicate\", {\n aliases: [\"TSType\"],\n visitor: [\"parameterName\", \"typeAnnotation\"],\n builder: [\"parameterName\", \"typeAnnotation\", \"asserts\"],\n fields: {\n parameterName: validateType(\"Identifier\", \"TSThisType\"),\n typeAnnotation: validateOptionalType(\"TSTypeAnnotation\"),\n asserts: validateOptional(bool),\n },\n});\n\ndefineType(\"TSTypeQuery\", {\n aliases: [\"TSType\"],\n visitor: [\"exprName\", \"typeParameters\"],\n fields: {\n exprName: validateType(\"TSEntityName\", \"TSImportType\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSTypeLiteral\", {\n aliases: [\"TSType\"],\n visitor: [\"members\"],\n fields: {\n members: validateArrayOfType(\"TSTypeElement\"),\n },\n});\n\ndefineType(\"TSArrayType\", {\n aliases: [\"TSType\"],\n visitor: [\"elementType\"],\n fields: {\n elementType: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSTupleType\", {\n aliases: [\"TSType\"],\n visitor: [\"elementTypes\"],\n fields: {\n elementTypes: validateArrayOfType(\"TSType\", \"TSNamedTupleMember\"),\n },\n});\n\ndefineType(\"TSOptionalType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSRestType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSNamedTupleMember\", {\n visitor: [\"label\", \"elementType\"],\n builder: [\"label\", \"elementType\", \"optional\"],\n fields: {\n label: validateType(\"Identifier\"),\n optional: {\n validate: bool,\n default: false,\n },\n elementType: validateType(\"TSType\"),\n },\n});\n\nconst unionOrIntersection = {\n aliases: [\"TSType\"],\n visitor: [\"types\"],\n fields: {\n types: validateArrayOfType(\"TSType\"),\n },\n};\n\ndefineType(\"TSUnionType\", unionOrIntersection);\ndefineType(\"TSIntersectionType\", unionOrIntersection);\n\ndefineType(\"TSConditionalType\", {\n aliases: [\"TSType\"],\n visitor: [\"checkType\", \"extendsType\", \"trueType\", \"falseType\"],\n fields: {\n checkType: validateType(\"TSType\"),\n extendsType: validateType(\"TSType\"),\n trueType: validateType(\"TSType\"),\n falseType: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSInferType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeParameter\"],\n fields: {\n typeParameter: validateType(\"TSTypeParameter\"),\n },\n});\n\ndefineType(\"TSParenthesizedType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSTypeOperator\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n operator: validate(assertValueType(\"string\")),\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSIndexedAccessType\", {\n aliases: [\"TSType\"],\n visitor: [\"objectType\", \"indexType\"],\n fields: {\n objectType: validateType(\"TSType\"),\n indexType: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSMappedType\", {\n aliases: [\"TSType\"],\n visitor: process.env.BABEL_8_BREAKING\n ? [\"key\", \"constraint\", \"nameType\", \"typeAnnotation\"]\n : [\"typeParameter\", \"nameType\", \"typeAnnotation\"],\n builder: process.env.BABEL_8_BREAKING\n ? [\"key\", \"constraint\", \"nameType\", \"typeAnnotation\"]\n : [\"typeParameter\", \"typeAnnotation\", \"nameType\"],\n fields: {\n ...(process.env.BABEL_8_BREAKING\n ? {\n key: validateType(\"Identifier\"),\n constraint: validateType(\"TSType\"),\n }\n : {\n typeParameter: validateType(\"TSTypeParameter\"),\n }),\n readonly: validateOptional(assertOneOf(true, false, \"+\", \"-\")),\n optional: validateOptional(assertOneOf(true, false, \"+\", \"-\")),\n typeAnnotation: validateOptionalType(\"TSType\"),\n nameType: validateOptionalType(\"TSType\"),\n },\n});\n\ndefineType(\"TSLiteralType\", {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [\"literal\"],\n fields: {\n literal: {\n validate: (function () {\n const unaryExpression = assertNodeType(\n \"NumericLiteral\",\n \"BigIntLiteral\",\n );\n const unaryOperator = assertOneOf(\"-\");\n\n const literal = assertNodeType(\n \"NumericLiteral\",\n \"StringLiteral\",\n \"BooleanLiteral\",\n \"BigIntLiteral\",\n \"TemplateLiteral\",\n );\n function validator(parent: any, key: string, node: any) {\n // type A = -1 | 1;\n if (is(\"UnaryExpression\", node)) {\n // check operator first\n unaryOperator(node, \"operator\", node.operator);\n unaryExpression(node, \"argument\", node.argument);\n } else {\n // type A = 'foo' | 'bar' | false | 1;\n literal(parent, key, node);\n }\n }\n\n validator.oneOfNodeTypes = [\n \"NumericLiteral\",\n \"StringLiteral\",\n \"BooleanLiteral\",\n \"BigIntLiteral\",\n \"TemplateLiteral\",\n \"UnaryExpression\",\n ];\n\n return validator;\n })(),\n },\n },\n});\n\nconst expressionWithTypeArguments = {\n aliases: [\"TSType\"],\n visitor: [\"expression\", \"typeParameters\"],\n fields: {\n expression: validateType(\"TSEntityName\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n};\n\nif (process.env.BABEL_8_BREAKING) {\n defineType(\"TSClassImplements\", expressionWithTypeArguments);\n defineType(\"TSInterfaceHeritage\", expressionWithTypeArguments);\n} else {\n defineType(\"TSExpressionWithTypeArguments\", expressionWithTypeArguments);\n}\n\ndefineType(\"TSInterfaceDeclaration\", {\n // \"Statement\" alias prevents a semicolon from appearing after it in an export declaration.\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"extends\", \"body\"],\n fields: {\n declare: validateOptional(bool),\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TSTypeParameterDeclaration\"),\n extends: validateOptional(\n arrayOfType(\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n process.env.BABEL_8_BREAKING\n ? \"TSClassImplements\"\n : \"TSExpressionWithTypeArguments\",\n ),\n ),\n body: validateType(\"TSInterfaceBody\"),\n },\n});\n\ndefineType(\"TSInterfaceBody\", {\n visitor: [\"body\"],\n fields: {\n body: validateArrayOfType(\"TSTypeElement\"),\n },\n});\n\ndefineType(\"TSTypeAliasDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"typeAnnotation\"],\n fields: {\n declare: validateOptional(bool),\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TSTypeParameterDeclaration\"),\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSInstantiationExpression\", {\n aliases: [\"Expression\"],\n visitor: [\"expression\", \"typeParameters\"],\n fields: {\n expression: validateType(\"Expression\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\nconst TSTypeExpression = {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"expression\", \"typeAnnotation\"],\n fields: {\n expression: validateType(\"Expression\"),\n typeAnnotation: validateType(\"TSType\"),\n },\n};\n\ndefineType(\"TSAsExpression\", TSTypeExpression);\ndefineType(\"TSSatisfiesExpression\", TSTypeExpression);\n\ndefineType(\"TSTypeAssertion\", {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"typeAnnotation\", \"expression\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n expression: validateType(\"Expression\"),\n },\n});\n\ndefineType(\"TSEnumDeclaration\", {\n // \"Statement\" alias prevents a semicolon from appearing after it in an export declaration.\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"members\"],\n fields: {\n declare: validateOptional(bool),\n const: validateOptional(bool),\n id: validateType(\"Identifier\"),\n members: validateArrayOfType(\"TSEnumMember\"),\n initializer: validateOptionalType(\"Expression\"),\n },\n});\n\ndefineType(\"TSEnumMember\", {\n visitor: [\"id\", \"initializer\"],\n fields: {\n id: validateType(\"Identifier\", \"StringLiteral\"),\n initializer: validateOptionalType(\"Expression\"),\n },\n});\n\ndefineType(\"TSModuleDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"body\"],\n fields: {\n kind: {\n validate: assertOneOf(\"global\", \"module\", \"namespace\"),\n },\n declare: validateOptional(bool),\n ...(!process.env.BABEL_8_BREAKING && { global: validateOptional(bool) }),\n id: process.env.BABEL_8_BREAKING\n ? validateType(\"TSEntityName\", \"StringLiteral\")\n : validateType(\"Identifier\", \"StringLiteral\"),\n body: process.env.BABEL_8_BREAKING\n ? validateType(\"TSModuleBlock\")\n : validateType(\"TSModuleBlock\", \"TSModuleDeclaration\"),\n },\n});\n\ndefineType(\"TSModuleBlock\", {\n aliases: [\"Scopable\", \"Block\", \"BlockParent\", \"FunctionParent\"],\n visitor: [\"body\"],\n fields: {\n body: validateArrayOfType(\"Statement\"),\n },\n});\n\ndefineType(\"TSImportType\", {\n aliases: [\"TSType\"],\n visitor: [\"argument\", \"qualifier\", \"typeParameters\"],\n fields: {\n argument: validateType(\"StringLiteral\"),\n qualifier: validateOptionalType(\"TSEntityName\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n options: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"TSImportEqualsDeclaration\", {\n aliases: [\"Statement\"],\n visitor: [\"id\", \"moduleReference\"],\n fields: {\n isExport: validate(bool),\n id: validateType(\"Identifier\"),\n moduleReference: validateType(\"TSEntityName\", \"TSExternalModuleReference\"),\n importKind: {\n validate: assertOneOf(\"type\", \"value\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"TSExternalModuleReference\", {\n visitor: [\"expression\"],\n fields: {\n expression: validateType(\"StringLiteral\"),\n },\n});\n\ndefineType(\"TSNonNullExpression\", {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"expression\"],\n fields: {\n expression: validateType(\"Expression\"),\n },\n});\n\ndefineType(\"TSExportAssignment\", {\n aliases: [\"Statement\"],\n visitor: [\"expression\"],\n fields: {\n expression: validateType(\"Expression\"),\n },\n});\n\ndefineType(\"TSNamespaceExportDeclaration\", {\n aliases: [\"Statement\"],\n visitor: [\"id\"],\n fields: {\n id: validateType(\"Identifier\"),\n },\n});\n\ndefineType(\"TSTypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: {\n validate: assertNodeType(\"TSType\"),\n },\n },\n});\n\ndefineType(\"TSTypeParameterInstantiation\", {\n visitor: [\"params\"],\n fields: {\n params: validateArrayOfType(\"TSType\"),\n },\n});\n\ndefineType(\"TSTypeParameterDeclaration\", {\n visitor: [\"params\"],\n fields: {\n params: validateArrayOfType(\"TSTypeParameter\"),\n },\n});\n\ndefineType(\"TSTypeParameter\", {\n builder: [\"constraint\", \"default\", \"name\"],\n visitor: [\"constraint\", \"default\"],\n fields: {\n name: {\n validate: !process.env.BABEL_8_BREAKING\n ? assertValueType(\"string\")\n : assertNodeType(\"Identifier\"),\n },\n in: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n out: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n const: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n constraint: {\n validate: assertNodeType(\"TSType\"),\n optional: true,\n },\n default: {\n validate: assertNodeType(\"TSType\"),\n optional: true,\n },\n },\n});\n", "export const DEPRECATED_ALIASES = {\n ModuleDeclaration: \"ImportOrExportDeclaration\",\n};\n", "import \"./core.ts\";\nimport \"./flow.ts\";\nimport \"./jsx.ts\";\nimport \"./misc.ts\";\nimport \"./experimental.ts\";\nimport \"./typescript.ts\";\nimport {\n VISITOR_KEYS,\n ALIAS_KEYS,\n FLIPPED_ALIAS_KEYS,\n NODE_FIELDS,\n BUILDER_KEYS,\n DEPRECATED_KEYS,\n NODE_PARENT_VALIDATIONS,\n} from \"./utils.ts\";\nimport {\n PLACEHOLDERS,\n PLACEHOLDERS_ALIAS,\n PLACEHOLDERS_FLIPPED_ALIAS,\n} from \"./placeholders.ts\";\nimport { DEPRECATED_ALIASES } from \"./deprecated-aliases.ts\";\n\n(\n Object.keys(DEPRECATED_ALIASES) as (keyof typeof DEPRECATED_ALIASES)[]\n).forEach(deprecatedAlias => {\n FLIPPED_ALIAS_KEYS[deprecatedAlias] =\n FLIPPED_ALIAS_KEYS[DEPRECATED_ALIASES[deprecatedAlias]];\n});\n\nconst TYPES: Array = [].concat(\n Object.keys(VISITOR_KEYS),\n Object.keys(FLIPPED_ALIAS_KEYS),\n Object.keys(DEPRECATED_KEYS),\n);\n\nexport {\n VISITOR_KEYS,\n ALIAS_KEYS,\n FLIPPED_ALIAS_KEYS,\n NODE_FIELDS,\n BUILDER_KEYS,\n DEPRECATED_ALIASES,\n DEPRECATED_KEYS,\n NODE_PARENT_VALIDATIONS,\n PLACEHOLDERS,\n PLACEHOLDERS_ALIAS,\n PLACEHOLDERS_FLIPPED_ALIAS,\n TYPES,\n};\n\nexport type { FieldOptions } from \"./utils.ts\";\n", "import {\n NODE_FIELDS,\n NODE_PARENT_VALIDATIONS,\n type FieldOptions,\n} from \"../definitions/index.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default function validate(\n node: t.Node | undefined | null,\n key: string,\n val: unknown,\n): void {\n if (!node) return;\n\n const fields = NODE_FIELDS[node.type];\n if (!fields) return;\n\n const field = fields[key];\n validateField(node, key, val, field);\n validateChild(node, key, val);\n}\n\nexport function validateInternal(\n field: FieldOptions,\n node: t.Node | undefined | null,\n key: string,\n val: unknown,\n maybeNode?: 1,\n): void {\n if (!field?.validate) return;\n if (field.optional && val == null) return;\n\n field.validate(node, key, val);\n\n if (maybeNode) {\n const type = (val as t.Node).type;\n if (type == null) return;\n NODE_PARENT_VALIDATIONS[type]?.(node, key, val);\n }\n}\n\nexport function validateField(\n node: t.Node | undefined | null,\n key: string,\n val: unknown,\n field: FieldOptions | undefined | null,\n): void {\n if (!field?.validate) return;\n if (field.optional && val == null) return;\n\n field.validate(node, key, val);\n}\n\nexport function validateChild(\n node: t.Node | undefined | null,\n key: string,\n val?: unknown,\n) {\n const type = (val as t.Node)?.type;\n if (type == null) return;\n NODE_PARENT_VALIDATIONS[type]?.(node, key, val);\n}\n", "/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate run 'make build'\n */\nimport * as _validate from \"../../validators/validate.ts\";\nimport type * as t from \"../../index.ts\";\nimport deprecationWarning from \"../../utils/deprecationWarning.ts\";\nimport * as utils from \"../../definitions/utils.ts\";\n\nconst { validateInternal: validate } = _validate;\nconst { NODE_FIELDS } = utils;\n\nexport function arrayExpression(\n elements: Array = [],\n): t.ArrayExpression {\n const node: t.ArrayExpression = {\n type: \"ArrayExpression\",\n elements,\n };\n const defs = NODE_FIELDS.ArrayExpression;\n validate(defs.elements, node, \"elements\", elements, 1);\n return node;\n}\nexport function assignmentExpression(\n operator: string,\n left: t.LVal | t.OptionalMemberExpression,\n right: t.Expression,\n): t.AssignmentExpression {\n const node: t.AssignmentExpression = {\n type: \"AssignmentExpression\",\n operator,\n left,\n right,\n };\n const defs = NODE_FIELDS.AssignmentExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nexport function binaryExpression(\n operator:\n | \"+\"\n | \"-\"\n | \"/\"\n | \"%\"\n | \"*\"\n | \"**\"\n | \"&\"\n | \"|\"\n | \">>\"\n | \">>>\"\n | \"<<\"\n | \"^\"\n | \"==\"\n | \"===\"\n | \"!=\"\n | \"!==\"\n | \"in\"\n | \"instanceof\"\n | \">\"\n | \"<\"\n | \">=\"\n | \"<=\"\n | \"|>\",\n left: t.Expression | t.PrivateName,\n right: t.Expression,\n): t.BinaryExpression {\n const node: t.BinaryExpression = {\n type: \"BinaryExpression\",\n operator,\n left,\n right,\n };\n const defs = NODE_FIELDS.BinaryExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nexport function interpreterDirective(value: string): t.InterpreterDirective {\n const node: t.InterpreterDirective = {\n type: \"InterpreterDirective\",\n value,\n };\n const defs = NODE_FIELDS.InterpreterDirective;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nexport function directive(value: t.DirectiveLiteral): t.Directive {\n const node: t.Directive = {\n type: \"Directive\",\n value,\n };\n const defs = NODE_FIELDS.Directive;\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nexport function directiveLiteral(value: string): t.DirectiveLiteral {\n const node: t.DirectiveLiteral = {\n type: \"DirectiveLiteral\",\n value,\n };\n const defs = NODE_FIELDS.DirectiveLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nexport function blockStatement(\n body: Array,\n directives: Array = [],\n): t.BlockStatement {\n const node: t.BlockStatement = {\n type: \"BlockStatement\",\n body,\n directives,\n };\n const defs = NODE_FIELDS.BlockStatement;\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.directives, node, \"directives\", directives, 1);\n return node;\n}\nexport function breakStatement(\n label: t.Identifier | null = null,\n): t.BreakStatement {\n const node: t.BreakStatement = {\n type: \"BreakStatement\",\n label,\n };\n const defs = NODE_FIELDS.BreakStatement;\n validate(defs.label, node, \"label\", label, 1);\n return node;\n}\nexport function callExpression(\n callee: t.Expression | t.Super | t.V8IntrinsicIdentifier,\n _arguments: Array,\n): t.CallExpression {\n const node: t.CallExpression = {\n type: \"CallExpression\",\n callee,\n arguments: _arguments,\n };\n const defs = NODE_FIELDS.CallExpression;\n validate(defs.callee, node, \"callee\", callee, 1);\n validate(defs.arguments, node, \"arguments\", _arguments, 1);\n return node;\n}\nexport function catchClause(\n param:\n | t.Identifier\n | t.ArrayPattern\n | t.ObjectPattern\n | null\n | undefined = null,\n body: t.BlockStatement,\n): t.CatchClause {\n const node: t.CatchClause = {\n type: \"CatchClause\",\n param,\n body,\n };\n const defs = NODE_FIELDS.CatchClause;\n validate(defs.param, node, \"param\", param, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function conditionalExpression(\n test: t.Expression,\n consequent: t.Expression,\n alternate: t.Expression,\n): t.ConditionalExpression {\n const node: t.ConditionalExpression = {\n type: \"ConditionalExpression\",\n test,\n consequent,\n alternate,\n };\n const defs = NODE_FIELDS.ConditionalExpression;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.consequent, node, \"consequent\", consequent, 1);\n validate(defs.alternate, node, \"alternate\", alternate, 1);\n return node;\n}\nexport function continueStatement(\n label: t.Identifier | null = null,\n): t.ContinueStatement {\n const node: t.ContinueStatement = {\n type: \"ContinueStatement\",\n label,\n };\n const defs = NODE_FIELDS.ContinueStatement;\n validate(defs.label, node, \"label\", label, 1);\n return node;\n}\nexport function debuggerStatement(): t.DebuggerStatement {\n return {\n type: \"DebuggerStatement\",\n };\n}\nexport function doWhileStatement(\n test: t.Expression,\n body: t.Statement,\n): t.DoWhileStatement {\n const node: t.DoWhileStatement = {\n type: \"DoWhileStatement\",\n test,\n body,\n };\n const defs = NODE_FIELDS.DoWhileStatement;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function emptyStatement(): t.EmptyStatement {\n return {\n type: \"EmptyStatement\",\n };\n}\nexport function expressionStatement(\n expression: t.Expression,\n): t.ExpressionStatement {\n const node: t.ExpressionStatement = {\n type: \"ExpressionStatement\",\n expression,\n };\n const defs = NODE_FIELDS.ExpressionStatement;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nexport function file(\n program: t.Program,\n comments: Array | null = null,\n tokens: Array | null = null,\n): t.File {\n const node: t.File = {\n type: \"File\",\n program,\n comments,\n tokens,\n };\n const defs = NODE_FIELDS.File;\n validate(defs.program, node, \"program\", program, 1);\n validate(defs.comments, node, \"comments\", comments, 1);\n validate(defs.tokens, node, \"tokens\", tokens);\n return node;\n}\nexport function forInStatement(\n left: t.VariableDeclaration | t.LVal,\n right: t.Expression,\n body: t.Statement,\n): t.ForInStatement {\n const node: t.ForInStatement = {\n type: \"ForInStatement\",\n left,\n right,\n body,\n };\n const defs = NODE_FIELDS.ForInStatement;\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function forStatement(\n init: t.VariableDeclaration | t.Expression | null | undefined = null,\n test: t.Expression | null | undefined = null,\n update: t.Expression | null | undefined = null,\n body: t.Statement,\n): t.ForStatement {\n const node: t.ForStatement = {\n type: \"ForStatement\",\n init,\n test,\n update,\n body,\n };\n const defs = NODE_FIELDS.ForStatement;\n validate(defs.init, node, \"init\", init, 1);\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.update, node, \"update\", update, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function functionDeclaration(\n id: t.Identifier | null | undefined = null,\n params: Array,\n body: t.BlockStatement,\n generator: boolean = false,\n async: boolean = false,\n): t.FunctionDeclaration {\n const node: t.FunctionDeclaration = {\n type: \"FunctionDeclaration\",\n id,\n params,\n body,\n generator,\n async,\n };\n const defs = NODE_FIELDS.FunctionDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.generator, node, \"generator\", generator);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nexport function functionExpression(\n id: t.Identifier | null | undefined = null,\n params: Array,\n body: t.BlockStatement,\n generator: boolean = false,\n async: boolean = false,\n): t.FunctionExpression {\n const node: t.FunctionExpression = {\n type: \"FunctionExpression\",\n id,\n params,\n body,\n generator,\n async,\n };\n const defs = NODE_FIELDS.FunctionExpression;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.generator, node, \"generator\", generator);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nexport function identifier(name: string): t.Identifier {\n const node: t.Identifier = {\n type: \"Identifier\",\n name,\n };\n const defs = NODE_FIELDS.Identifier;\n validate(defs.name, node, \"name\", name);\n return node;\n}\nexport function ifStatement(\n test: t.Expression,\n consequent: t.Statement,\n alternate: t.Statement | null = null,\n): t.IfStatement {\n const node: t.IfStatement = {\n type: \"IfStatement\",\n test,\n consequent,\n alternate,\n };\n const defs = NODE_FIELDS.IfStatement;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.consequent, node, \"consequent\", consequent, 1);\n validate(defs.alternate, node, \"alternate\", alternate, 1);\n return node;\n}\nexport function labeledStatement(\n label: t.Identifier,\n body: t.Statement,\n): t.LabeledStatement {\n const node: t.LabeledStatement = {\n type: \"LabeledStatement\",\n label,\n body,\n };\n const defs = NODE_FIELDS.LabeledStatement;\n validate(defs.label, node, \"label\", label, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function stringLiteral(value: string): t.StringLiteral {\n const node: t.StringLiteral = {\n type: \"StringLiteral\",\n value,\n };\n const defs = NODE_FIELDS.StringLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nexport function numericLiteral(value: number): t.NumericLiteral {\n const node: t.NumericLiteral = {\n type: \"NumericLiteral\",\n value,\n };\n const defs = NODE_FIELDS.NumericLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nexport function nullLiteral(): t.NullLiteral {\n return {\n type: \"NullLiteral\",\n };\n}\nexport function booleanLiteral(value: boolean): t.BooleanLiteral {\n const node: t.BooleanLiteral = {\n type: \"BooleanLiteral\",\n value,\n };\n const defs = NODE_FIELDS.BooleanLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nexport function regExpLiteral(\n pattern: string,\n flags: string = \"\",\n): t.RegExpLiteral {\n const node: t.RegExpLiteral = {\n type: \"RegExpLiteral\",\n pattern,\n flags,\n };\n const defs = NODE_FIELDS.RegExpLiteral;\n validate(defs.pattern, node, \"pattern\", pattern);\n validate(defs.flags, node, \"flags\", flags);\n return node;\n}\nexport function logicalExpression(\n operator: \"||\" | \"&&\" | \"??\",\n left: t.Expression,\n right: t.Expression,\n): t.LogicalExpression {\n const node: t.LogicalExpression = {\n type: \"LogicalExpression\",\n operator,\n left,\n right,\n };\n const defs = NODE_FIELDS.LogicalExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nexport function memberExpression(\n object: t.Expression | t.Super,\n property: t.Expression | t.Identifier | t.PrivateName,\n computed: boolean = false,\n optional: boolean | null = null,\n): t.MemberExpression {\n const node: t.MemberExpression = {\n type: \"MemberExpression\",\n object,\n property,\n computed,\n optional,\n };\n const defs = NODE_FIELDS.MemberExpression;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.property, node, \"property\", property, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.optional, node, \"optional\", optional);\n return node;\n}\nexport function newExpression(\n callee: t.Expression | t.Super | t.V8IntrinsicIdentifier,\n _arguments: Array,\n): t.NewExpression {\n const node: t.NewExpression = {\n type: \"NewExpression\",\n callee,\n arguments: _arguments,\n };\n const defs = NODE_FIELDS.NewExpression;\n validate(defs.callee, node, \"callee\", callee, 1);\n validate(defs.arguments, node, \"arguments\", _arguments, 1);\n return node;\n}\nexport function program(\n body: Array,\n directives: Array = [],\n sourceType: \"script\" | \"module\" = \"script\",\n interpreter: t.InterpreterDirective | null = null,\n): t.Program {\n const node: t.Program = {\n type: \"Program\",\n body,\n directives,\n sourceType,\n interpreter,\n };\n const defs = NODE_FIELDS.Program;\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.directives, node, \"directives\", directives, 1);\n validate(defs.sourceType, node, \"sourceType\", sourceType);\n validate(defs.interpreter, node, \"interpreter\", interpreter, 1);\n return node;\n}\nexport function objectExpression(\n properties: Array,\n): t.ObjectExpression {\n const node: t.ObjectExpression = {\n type: \"ObjectExpression\",\n properties,\n };\n const defs = NODE_FIELDS.ObjectExpression;\n validate(defs.properties, node, \"properties\", properties, 1);\n return node;\n}\nexport function objectMethod(\n kind: \"method\" | \"get\" | \"set\" | undefined = \"method\",\n key:\n | t.Expression\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral,\n params: Array,\n body: t.BlockStatement,\n computed: boolean = false,\n generator: boolean = false,\n async: boolean = false,\n): t.ObjectMethod {\n const node: t.ObjectMethod = {\n type: \"ObjectMethod\",\n kind,\n key,\n params,\n body,\n computed,\n generator,\n async,\n };\n const defs = NODE_FIELDS.ObjectMethod;\n validate(defs.kind, node, \"kind\", kind);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.generator, node, \"generator\", generator);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nexport function objectProperty(\n key:\n | t.Expression\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral\n | t.DecimalLiteral\n | t.PrivateName,\n value: t.Expression | t.PatternLike,\n computed: boolean = false,\n shorthand: boolean = false,\n decorators: Array | null = null,\n): t.ObjectProperty {\n const node: t.ObjectProperty = {\n type: \"ObjectProperty\",\n key,\n value,\n computed,\n shorthand,\n decorators,\n };\n const defs = NODE_FIELDS.ObjectProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.shorthand, node, \"shorthand\", shorthand);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n return node;\n}\nexport function restElement(argument: t.LVal): t.RestElement {\n const node: t.RestElement = {\n type: \"RestElement\",\n argument,\n };\n const defs = NODE_FIELDS.RestElement;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nexport function returnStatement(\n argument: t.Expression | null = null,\n): t.ReturnStatement {\n const node: t.ReturnStatement = {\n type: \"ReturnStatement\",\n argument,\n };\n const defs = NODE_FIELDS.ReturnStatement;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nexport function sequenceExpression(\n expressions: Array,\n): t.SequenceExpression {\n const node: t.SequenceExpression = {\n type: \"SequenceExpression\",\n expressions,\n };\n const defs = NODE_FIELDS.SequenceExpression;\n validate(defs.expressions, node, \"expressions\", expressions, 1);\n return node;\n}\nexport function parenthesizedExpression(\n expression: t.Expression,\n): t.ParenthesizedExpression {\n const node: t.ParenthesizedExpression = {\n type: \"ParenthesizedExpression\",\n expression,\n };\n const defs = NODE_FIELDS.ParenthesizedExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nexport function switchCase(\n test: t.Expression | null | undefined = null,\n consequent: Array,\n): t.SwitchCase {\n const node: t.SwitchCase = {\n type: \"SwitchCase\",\n test,\n consequent,\n };\n const defs = NODE_FIELDS.SwitchCase;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.consequent, node, \"consequent\", consequent, 1);\n return node;\n}\nexport function switchStatement(\n discriminant: t.Expression,\n cases: Array,\n): t.SwitchStatement {\n const node: t.SwitchStatement = {\n type: \"SwitchStatement\",\n discriminant,\n cases,\n };\n const defs = NODE_FIELDS.SwitchStatement;\n validate(defs.discriminant, node, \"discriminant\", discriminant, 1);\n validate(defs.cases, node, \"cases\", cases, 1);\n return node;\n}\nexport function thisExpression(): t.ThisExpression {\n return {\n type: \"ThisExpression\",\n };\n}\nexport function throwStatement(argument: t.Expression): t.ThrowStatement {\n const node: t.ThrowStatement = {\n type: \"ThrowStatement\",\n argument,\n };\n const defs = NODE_FIELDS.ThrowStatement;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nexport function tryStatement(\n block: t.BlockStatement,\n handler: t.CatchClause | null = null,\n finalizer: t.BlockStatement | null = null,\n): t.TryStatement {\n const node: t.TryStatement = {\n type: \"TryStatement\",\n block,\n handler,\n finalizer,\n };\n const defs = NODE_FIELDS.TryStatement;\n validate(defs.block, node, \"block\", block, 1);\n validate(defs.handler, node, \"handler\", handler, 1);\n validate(defs.finalizer, node, \"finalizer\", finalizer, 1);\n return node;\n}\nexport function unaryExpression(\n operator: \"void\" | \"throw\" | \"delete\" | \"!\" | \"+\" | \"-\" | \"~\" | \"typeof\",\n argument: t.Expression,\n prefix: boolean = true,\n): t.UnaryExpression {\n const node: t.UnaryExpression = {\n type: \"UnaryExpression\",\n operator,\n argument,\n prefix,\n };\n const defs = NODE_FIELDS.UnaryExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.argument, node, \"argument\", argument, 1);\n validate(defs.prefix, node, \"prefix\", prefix);\n return node;\n}\nexport function updateExpression(\n operator: \"++\" | \"--\",\n argument: t.Expression,\n prefix: boolean = false,\n): t.UpdateExpression {\n const node: t.UpdateExpression = {\n type: \"UpdateExpression\",\n operator,\n argument,\n prefix,\n };\n const defs = NODE_FIELDS.UpdateExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.argument, node, \"argument\", argument, 1);\n validate(defs.prefix, node, \"prefix\", prefix);\n return node;\n}\nexport function variableDeclaration(\n kind: \"var\" | \"let\" | \"const\" | \"using\" | \"await using\",\n declarations: Array,\n): t.VariableDeclaration {\n const node: t.VariableDeclaration = {\n type: \"VariableDeclaration\",\n kind,\n declarations,\n };\n const defs = NODE_FIELDS.VariableDeclaration;\n validate(defs.kind, node, \"kind\", kind);\n validate(defs.declarations, node, \"declarations\", declarations, 1);\n return node;\n}\nexport function variableDeclarator(\n id: t.LVal,\n init: t.Expression | null = null,\n): t.VariableDeclarator {\n const node: t.VariableDeclarator = {\n type: \"VariableDeclarator\",\n id,\n init,\n };\n const defs = NODE_FIELDS.VariableDeclarator;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.init, node, \"init\", init, 1);\n return node;\n}\nexport function whileStatement(\n test: t.Expression,\n body: t.Statement,\n): t.WhileStatement {\n const node: t.WhileStatement = {\n type: \"WhileStatement\",\n test,\n body,\n };\n const defs = NODE_FIELDS.WhileStatement;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function withStatement(\n object: t.Expression,\n body: t.Statement,\n): t.WithStatement {\n const node: t.WithStatement = {\n type: \"WithStatement\",\n object,\n body,\n };\n const defs = NODE_FIELDS.WithStatement;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function assignmentPattern(\n left:\n | t.Identifier\n | t.ObjectPattern\n | t.ArrayPattern\n | t.MemberExpression\n | t.TSAsExpression\n | t.TSSatisfiesExpression\n | t.TSTypeAssertion\n | t.TSNonNullExpression,\n right: t.Expression,\n): t.AssignmentPattern {\n const node: t.AssignmentPattern = {\n type: \"AssignmentPattern\",\n left,\n right,\n };\n const defs = NODE_FIELDS.AssignmentPattern;\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nexport function arrayPattern(\n elements: Array,\n): t.ArrayPattern {\n const node: t.ArrayPattern = {\n type: \"ArrayPattern\",\n elements,\n };\n const defs = NODE_FIELDS.ArrayPattern;\n validate(defs.elements, node, \"elements\", elements, 1);\n return node;\n}\nexport function arrowFunctionExpression(\n params: Array,\n body: t.BlockStatement | t.Expression,\n async: boolean = false,\n): t.ArrowFunctionExpression {\n const node: t.ArrowFunctionExpression = {\n type: \"ArrowFunctionExpression\",\n params,\n body,\n async,\n expression: null,\n };\n const defs = NODE_FIELDS.ArrowFunctionExpression;\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nexport function classBody(\n body: Array<\n | t.ClassMethod\n | t.ClassPrivateMethod\n | t.ClassProperty\n | t.ClassPrivateProperty\n | t.ClassAccessorProperty\n | t.TSDeclareMethod\n | t.TSIndexSignature\n | t.StaticBlock\n >,\n): t.ClassBody {\n const node: t.ClassBody = {\n type: \"ClassBody\",\n body,\n };\n const defs = NODE_FIELDS.ClassBody;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function classExpression(\n id: t.Identifier | null | undefined = null,\n superClass: t.Expression | null | undefined = null,\n body: t.ClassBody,\n decorators: Array | null = null,\n): t.ClassExpression {\n const node: t.ClassExpression = {\n type: \"ClassExpression\",\n id,\n superClass,\n body,\n decorators,\n };\n const defs = NODE_FIELDS.ClassExpression;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.superClass, node, \"superClass\", superClass, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n return node;\n}\nexport function classDeclaration(\n id: t.Identifier | null | undefined = null,\n superClass: t.Expression | null | undefined = null,\n body: t.ClassBody,\n decorators: Array | null = null,\n): t.ClassDeclaration {\n const node: t.ClassDeclaration = {\n type: \"ClassDeclaration\",\n id,\n superClass,\n body,\n decorators,\n };\n const defs = NODE_FIELDS.ClassDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.superClass, node, \"superClass\", superClass, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n return node;\n}\nexport function exportAllDeclaration(\n source: t.StringLiteral,\n): t.ExportAllDeclaration {\n const node: t.ExportAllDeclaration = {\n type: \"ExportAllDeclaration\",\n source,\n };\n const defs = NODE_FIELDS.ExportAllDeclaration;\n validate(defs.source, node, \"source\", source, 1);\n return node;\n}\nexport function exportDefaultDeclaration(\n declaration:\n | t.TSDeclareFunction\n | t.FunctionDeclaration\n | t.ClassDeclaration\n | t.Expression,\n): t.ExportDefaultDeclaration {\n const node: t.ExportDefaultDeclaration = {\n type: \"ExportDefaultDeclaration\",\n declaration,\n };\n const defs = NODE_FIELDS.ExportDefaultDeclaration;\n validate(defs.declaration, node, \"declaration\", declaration, 1);\n return node;\n}\nexport function exportNamedDeclaration(\n declaration: t.Declaration | null = null,\n specifiers: Array<\n t.ExportSpecifier | t.ExportDefaultSpecifier | t.ExportNamespaceSpecifier\n > = [],\n source: t.StringLiteral | null = null,\n): t.ExportNamedDeclaration {\n const node: t.ExportNamedDeclaration = {\n type: \"ExportNamedDeclaration\",\n declaration,\n specifiers,\n source,\n };\n const defs = NODE_FIELDS.ExportNamedDeclaration;\n validate(defs.declaration, node, \"declaration\", declaration, 1);\n validate(defs.specifiers, node, \"specifiers\", specifiers, 1);\n validate(defs.source, node, \"source\", source, 1);\n return node;\n}\nexport function exportSpecifier(\n local: t.Identifier,\n exported: t.Identifier | t.StringLiteral,\n): t.ExportSpecifier {\n const node: t.ExportSpecifier = {\n type: \"ExportSpecifier\",\n local,\n exported,\n };\n const defs = NODE_FIELDS.ExportSpecifier;\n validate(defs.local, node, \"local\", local, 1);\n validate(defs.exported, node, \"exported\", exported, 1);\n return node;\n}\nexport function forOfStatement(\n left: t.VariableDeclaration | t.LVal,\n right: t.Expression,\n body: t.Statement,\n _await: boolean = false,\n): t.ForOfStatement {\n const node: t.ForOfStatement = {\n type: \"ForOfStatement\",\n left,\n right,\n body,\n await: _await,\n };\n const defs = NODE_FIELDS.ForOfStatement;\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.await, node, \"await\", _await);\n return node;\n}\nexport function importDeclaration(\n specifiers: Array<\n t.ImportSpecifier | t.ImportDefaultSpecifier | t.ImportNamespaceSpecifier\n >,\n source: t.StringLiteral,\n): t.ImportDeclaration {\n const node: t.ImportDeclaration = {\n type: \"ImportDeclaration\",\n specifiers,\n source,\n };\n const defs = NODE_FIELDS.ImportDeclaration;\n validate(defs.specifiers, node, \"specifiers\", specifiers, 1);\n validate(defs.source, node, \"source\", source, 1);\n return node;\n}\nexport function importDefaultSpecifier(\n local: t.Identifier,\n): t.ImportDefaultSpecifier {\n const node: t.ImportDefaultSpecifier = {\n type: \"ImportDefaultSpecifier\",\n local,\n };\n const defs = NODE_FIELDS.ImportDefaultSpecifier;\n validate(defs.local, node, \"local\", local, 1);\n return node;\n}\nexport function importNamespaceSpecifier(\n local: t.Identifier,\n): t.ImportNamespaceSpecifier {\n const node: t.ImportNamespaceSpecifier = {\n type: \"ImportNamespaceSpecifier\",\n local,\n };\n const defs = NODE_FIELDS.ImportNamespaceSpecifier;\n validate(defs.local, node, \"local\", local, 1);\n return node;\n}\nexport function importSpecifier(\n local: t.Identifier,\n imported: t.Identifier | t.StringLiteral,\n): t.ImportSpecifier {\n const node: t.ImportSpecifier = {\n type: \"ImportSpecifier\",\n local,\n imported,\n };\n const defs = NODE_FIELDS.ImportSpecifier;\n validate(defs.local, node, \"local\", local, 1);\n validate(defs.imported, node, \"imported\", imported, 1);\n return node;\n}\nexport function importExpression(\n source: t.Expression,\n options: t.Expression | null = null,\n): t.ImportExpression {\n const node: t.ImportExpression = {\n type: \"ImportExpression\",\n source,\n options,\n };\n const defs = NODE_FIELDS.ImportExpression;\n validate(defs.source, node, \"source\", source, 1);\n validate(defs.options, node, \"options\", options, 1);\n return node;\n}\nexport function metaProperty(\n meta: t.Identifier,\n property: t.Identifier,\n): t.MetaProperty {\n const node: t.MetaProperty = {\n type: \"MetaProperty\",\n meta,\n property,\n };\n const defs = NODE_FIELDS.MetaProperty;\n validate(defs.meta, node, \"meta\", meta, 1);\n validate(defs.property, node, \"property\", property, 1);\n return node;\n}\nexport function classMethod(\n kind: \"get\" | \"set\" | \"method\" | \"constructor\" | undefined = \"method\",\n key:\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral\n | t.Expression,\n params: Array<\n t.Identifier | t.Pattern | t.RestElement | t.TSParameterProperty\n >,\n body: t.BlockStatement,\n computed: boolean = false,\n _static: boolean = false,\n generator: boolean = false,\n async: boolean = false,\n): t.ClassMethod {\n const node: t.ClassMethod = {\n type: \"ClassMethod\",\n kind,\n key,\n params,\n body,\n computed,\n static: _static,\n generator,\n async,\n };\n const defs = NODE_FIELDS.ClassMethod;\n validate(defs.kind, node, \"kind\", kind);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.static, node, \"static\", _static);\n validate(defs.generator, node, \"generator\", generator);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nexport function objectPattern(\n properties: Array,\n): t.ObjectPattern {\n const node: t.ObjectPattern = {\n type: \"ObjectPattern\",\n properties,\n };\n const defs = NODE_FIELDS.ObjectPattern;\n validate(defs.properties, node, \"properties\", properties, 1);\n return node;\n}\nexport function spreadElement(argument: t.Expression): t.SpreadElement {\n const node: t.SpreadElement = {\n type: \"SpreadElement\",\n argument,\n };\n const defs = NODE_FIELDS.SpreadElement;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction _super(): t.Super {\n return {\n type: \"Super\",\n };\n}\nexport { _super as super };\nexport function taggedTemplateExpression(\n tag: t.Expression,\n quasi: t.TemplateLiteral,\n): t.TaggedTemplateExpression {\n const node: t.TaggedTemplateExpression = {\n type: \"TaggedTemplateExpression\",\n tag,\n quasi,\n };\n const defs = NODE_FIELDS.TaggedTemplateExpression;\n validate(defs.tag, node, \"tag\", tag, 1);\n validate(defs.quasi, node, \"quasi\", quasi, 1);\n return node;\n}\nexport function templateElement(\n value: { raw: string; cooked?: string },\n tail: boolean = false,\n): t.TemplateElement {\n const node: t.TemplateElement = {\n type: \"TemplateElement\",\n value,\n tail,\n };\n const defs = NODE_FIELDS.TemplateElement;\n validate(defs.value, node, \"value\", value);\n validate(defs.tail, node, \"tail\", tail);\n return node;\n}\nexport function templateLiteral(\n quasis: Array,\n expressions: Array,\n): t.TemplateLiteral {\n const node: t.TemplateLiteral = {\n type: \"TemplateLiteral\",\n quasis,\n expressions,\n };\n const defs = NODE_FIELDS.TemplateLiteral;\n validate(defs.quasis, node, \"quasis\", quasis, 1);\n validate(defs.expressions, node, \"expressions\", expressions, 1);\n return node;\n}\nexport function yieldExpression(\n argument: t.Expression | null = null,\n delegate: boolean = false,\n): t.YieldExpression {\n const node: t.YieldExpression = {\n type: \"YieldExpression\",\n argument,\n delegate,\n };\n const defs = NODE_FIELDS.YieldExpression;\n validate(defs.argument, node, \"argument\", argument, 1);\n validate(defs.delegate, node, \"delegate\", delegate);\n return node;\n}\nexport function awaitExpression(argument: t.Expression): t.AwaitExpression {\n const node: t.AwaitExpression = {\n type: \"AwaitExpression\",\n argument,\n };\n const defs = NODE_FIELDS.AwaitExpression;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction _import(): t.Import {\n return {\n type: \"Import\",\n };\n}\nexport { _import as import };\nexport function bigIntLiteral(value: string): t.BigIntLiteral {\n const node: t.BigIntLiteral = {\n type: \"BigIntLiteral\",\n value,\n };\n const defs = NODE_FIELDS.BigIntLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nexport function exportNamespaceSpecifier(\n exported: t.Identifier,\n): t.ExportNamespaceSpecifier {\n const node: t.ExportNamespaceSpecifier = {\n type: \"ExportNamespaceSpecifier\",\n exported,\n };\n const defs = NODE_FIELDS.ExportNamespaceSpecifier;\n validate(defs.exported, node, \"exported\", exported, 1);\n return node;\n}\nexport function optionalMemberExpression(\n object: t.Expression,\n property: t.Expression | t.Identifier,\n computed: boolean | undefined = false,\n optional: boolean,\n): t.OptionalMemberExpression {\n const node: t.OptionalMemberExpression = {\n type: \"OptionalMemberExpression\",\n object,\n property,\n computed,\n optional,\n };\n const defs = NODE_FIELDS.OptionalMemberExpression;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.property, node, \"property\", property, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.optional, node, \"optional\", optional);\n return node;\n}\nexport function optionalCallExpression(\n callee: t.Expression,\n _arguments: Array,\n optional: boolean,\n): t.OptionalCallExpression {\n const node: t.OptionalCallExpression = {\n type: \"OptionalCallExpression\",\n callee,\n arguments: _arguments,\n optional,\n };\n const defs = NODE_FIELDS.OptionalCallExpression;\n validate(defs.callee, node, \"callee\", callee, 1);\n validate(defs.arguments, node, \"arguments\", _arguments, 1);\n validate(defs.optional, node, \"optional\", optional);\n return node;\n}\nexport function classProperty(\n key:\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral\n | t.Expression,\n value: t.Expression | null = null,\n typeAnnotation: t.TypeAnnotation | t.TSTypeAnnotation | t.Noop | null = null,\n decorators: Array | null = null,\n computed: boolean = false,\n _static: boolean = false,\n): t.ClassProperty {\n const node: t.ClassProperty = {\n type: \"ClassProperty\",\n key,\n value,\n typeAnnotation,\n decorators,\n computed,\n static: _static,\n };\n const defs = NODE_FIELDS.ClassProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.static, node, \"static\", _static);\n return node;\n}\nexport function classAccessorProperty(\n key:\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral\n | t.Expression\n | t.PrivateName,\n value: t.Expression | null = null,\n typeAnnotation: t.TypeAnnotation | t.TSTypeAnnotation | t.Noop | null = null,\n decorators: Array | null = null,\n computed: boolean = false,\n _static: boolean = false,\n): t.ClassAccessorProperty {\n const node: t.ClassAccessorProperty = {\n type: \"ClassAccessorProperty\",\n key,\n value,\n typeAnnotation,\n decorators,\n computed,\n static: _static,\n };\n const defs = NODE_FIELDS.ClassAccessorProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.static, node, \"static\", _static);\n return node;\n}\nexport function classPrivateProperty(\n key: t.PrivateName,\n value: t.Expression | null = null,\n decorators: Array | null = null,\n _static: boolean = false,\n): t.ClassPrivateProperty {\n const node: t.ClassPrivateProperty = {\n type: \"ClassPrivateProperty\",\n key,\n value,\n decorators,\n static: _static,\n };\n const defs = NODE_FIELDS.ClassPrivateProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n validate(defs.static, node, \"static\", _static);\n return node;\n}\nexport function classPrivateMethod(\n kind: \"get\" | \"set\" | \"method\" | undefined = \"method\",\n key: t.PrivateName,\n params: Array<\n t.Identifier | t.Pattern | t.RestElement | t.TSParameterProperty\n >,\n body: t.BlockStatement,\n _static: boolean = false,\n): t.ClassPrivateMethod {\n const node: t.ClassPrivateMethod = {\n type: \"ClassPrivateMethod\",\n kind,\n key,\n params,\n body,\n static: _static,\n };\n const defs = NODE_FIELDS.ClassPrivateMethod;\n validate(defs.kind, node, \"kind\", kind);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.static, node, \"static\", _static);\n return node;\n}\nexport function privateName(id: t.Identifier): t.PrivateName {\n const node: t.PrivateName = {\n type: \"PrivateName\",\n id,\n };\n const defs = NODE_FIELDS.PrivateName;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nexport function staticBlock(body: Array): t.StaticBlock {\n const node: t.StaticBlock = {\n type: \"StaticBlock\",\n body,\n };\n const defs = NODE_FIELDS.StaticBlock;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function anyTypeAnnotation(): t.AnyTypeAnnotation {\n return {\n type: \"AnyTypeAnnotation\",\n };\n}\nexport function arrayTypeAnnotation(\n elementType: t.FlowType,\n): t.ArrayTypeAnnotation {\n const node: t.ArrayTypeAnnotation = {\n type: \"ArrayTypeAnnotation\",\n elementType,\n };\n const defs = NODE_FIELDS.ArrayTypeAnnotation;\n validate(defs.elementType, node, \"elementType\", elementType, 1);\n return node;\n}\nexport function booleanTypeAnnotation(): t.BooleanTypeAnnotation {\n return {\n type: \"BooleanTypeAnnotation\",\n };\n}\nexport function booleanLiteralTypeAnnotation(\n value: boolean,\n): t.BooleanLiteralTypeAnnotation {\n const node: t.BooleanLiteralTypeAnnotation = {\n type: \"BooleanLiteralTypeAnnotation\",\n value,\n };\n const defs = NODE_FIELDS.BooleanLiteralTypeAnnotation;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nexport function nullLiteralTypeAnnotation(): t.NullLiteralTypeAnnotation {\n return {\n type: \"NullLiteralTypeAnnotation\",\n };\n}\nexport function classImplements(\n id: t.Identifier,\n typeParameters: t.TypeParameterInstantiation | null = null,\n): t.ClassImplements {\n const node: t.ClassImplements = {\n type: \"ClassImplements\",\n id,\n typeParameters,\n };\n const defs = NODE_FIELDS.ClassImplements;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nexport function declareClass(\n id: t.Identifier,\n typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n _extends: Array | null | undefined = null,\n body: t.ObjectTypeAnnotation,\n): t.DeclareClass {\n const node: t.DeclareClass = {\n type: \"DeclareClass\",\n id,\n typeParameters,\n extends: _extends,\n body,\n };\n const defs = NODE_FIELDS.DeclareClass;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function declareFunction(id: t.Identifier): t.DeclareFunction {\n const node: t.DeclareFunction = {\n type: \"DeclareFunction\",\n id,\n };\n const defs = NODE_FIELDS.DeclareFunction;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nexport function declareInterface(\n id: t.Identifier,\n typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n _extends: Array | null | undefined = null,\n body: t.ObjectTypeAnnotation,\n): t.DeclareInterface {\n const node: t.DeclareInterface = {\n type: \"DeclareInterface\",\n id,\n typeParameters,\n extends: _extends,\n body,\n };\n const defs = NODE_FIELDS.DeclareInterface;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function declareModule(\n id: t.Identifier | t.StringLiteral,\n body: t.BlockStatement,\n kind: \"CommonJS\" | \"ES\" | null = null,\n): t.DeclareModule {\n const node: t.DeclareModule = {\n type: \"DeclareModule\",\n id,\n body,\n kind,\n };\n const defs = NODE_FIELDS.DeclareModule;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.kind, node, \"kind\", kind);\n return node;\n}\nexport function declareModuleExports(\n typeAnnotation: t.TypeAnnotation,\n): t.DeclareModuleExports {\n const node: t.DeclareModuleExports = {\n type: \"DeclareModuleExports\",\n typeAnnotation,\n };\n const defs = NODE_FIELDS.DeclareModuleExports;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport function declareTypeAlias(\n id: t.Identifier,\n typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n right: t.FlowType,\n): t.DeclareTypeAlias {\n const node: t.DeclareTypeAlias = {\n type: \"DeclareTypeAlias\",\n id,\n typeParameters,\n right,\n };\n const defs = NODE_FIELDS.DeclareTypeAlias;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nexport function declareOpaqueType(\n id: t.Identifier,\n typeParameters: t.TypeParameterDeclaration | null = null,\n supertype: t.FlowType | null = null,\n): t.DeclareOpaqueType {\n const node: t.DeclareOpaqueType = {\n type: \"DeclareOpaqueType\",\n id,\n typeParameters,\n supertype,\n };\n const defs = NODE_FIELDS.DeclareOpaqueType;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.supertype, node, \"supertype\", supertype, 1);\n return node;\n}\nexport function declareVariable(id: t.Identifier): t.DeclareVariable {\n const node: t.DeclareVariable = {\n type: \"DeclareVariable\",\n id,\n };\n const defs = NODE_FIELDS.DeclareVariable;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nexport function declareExportDeclaration(\n declaration: t.Flow | null = null,\n specifiers: Array<\n t.ExportSpecifier | t.ExportNamespaceSpecifier\n > | null = null,\n source: t.StringLiteral | null = null,\n attributes: Array | null = null,\n): t.DeclareExportDeclaration {\n const node: t.DeclareExportDeclaration = {\n type: \"DeclareExportDeclaration\",\n declaration,\n specifiers,\n source,\n attributes,\n };\n const defs = NODE_FIELDS.DeclareExportDeclaration;\n validate(defs.declaration, node, \"declaration\", declaration, 1);\n validate(defs.specifiers, node, \"specifiers\", specifiers, 1);\n validate(defs.source, node, \"source\", source, 1);\n validate(defs.attributes, node, \"attributes\", attributes, 1);\n return node;\n}\nexport function declareExportAllDeclaration(\n source: t.StringLiteral,\n attributes: Array | null = null,\n): t.DeclareExportAllDeclaration {\n const node: t.DeclareExportAllDeclaration = {\n type: \"DeclareExportAllDeclaration\",\n source,\n attributes,\n };\n const defs = NODE_FIELDS.DeclareExportAllDeclaration;\n validate(defs.source, node, \"source\", source, 1);\n validate(defs.attributes, node, \"attributes\", attributes, 1);\n return node;\n}\nexport function declaredPredicate(value: t.Flow): t.DeclaredPredicate {\n const node: t.DeclaredPredicate = {\n type: \"DeclaredPredicate\",\n value,\n };\n const defs = NODE_FIELDS.DeclaredPredicate;\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nexport function existsTypeAnnotation(): t.ExistsTypeAnnotation {\n return {\n type: \"ExistsTypeAnnotation\",\n };\n}\nexport function functionTypeAnnotation(\n typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n params: Array,\n rest: t.FunctionTypeParam | null | undefined = null,\n returnType: t.FlowType,\n): t.FunctionTypeAnnotation {\n const node: t.FunctionTypeAnnotation = {\n type: \"FunctionTypeAnnotation\",\n typeParameters,\n params,\n rest,\n returnType,\n };\n const defs = NODE_FIELDS.FunctionTypeAnnotation;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.rest, node, \"rest\", rest, 1);\n validate(defs.returnType, node, \"returnType\", returnType, 1);\n return node;\n}\nexport function functionTypeParam(\n name: t.Identifier | null | undefined = null,\n typeAnnotation: t.FlowType,\n): t.FunctionTypeParam {\n const node: t.FunctionTypeParam = {\n type: \"FunctionTypeParam\",\n name,\n typeAnnotation,\n };\n const defs = NODE_FIELDS.FunctionTypeParam;\n validate(defs.name, node, \"name\", name, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport function genericTypeAnnotation(\n id: t.Identifier | t.QualifiedTypeIdentifier,\n typeParameters: t.TypeParameterInstantiation | null = null,\n): t.GenericTypeAnnotation {\n const node: t.GenericTypeAnnotation = {\n type: \"GenericTypeAnnotation\",\n id,\n typeParameters,\n };\n const defs = NODE_FIELDS.GenericTypeAnnotation;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nexport function inferredPredicate(): t.InferredPredicate {\n return {\n type: \"InferredPredicate\",\n };\n}\nexport function interfaceExtends(\n id: t.Identifier | t.QualifiedTypeIdentifier,\n typeParameters: t.TypeParameterInstantiation | null = null,\n): t.InterfaceExtends {\n const node: t.InterfaceExtends = {\n type: \"InterfaceExtends\",\n id,\n typeParameters,\n };\n const defs = NODE_FIELDS.InterfaceExtends;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nexport function interfaceDeclaration(\n id: t.Identifier,\n typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n _extends: Array | null | undefined = null,\n body: t.ObjectTypeAnnotation,\n): t.InterfaceDeclaration {\n const node: t.InterfaceDeclaration = {\n type: \"InterfaceDeclaration\",\n id,\n typeParameters,\n extends: _extends,\n body,\n };\n const defs = NODE_FIELDS.InterfaceDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function interfaceTypeAnnotation(\n _extends: Array | null | undefined = null,\n body: t.ObjectTypeAnnotation,\n): t.InterfaceTypeAnnotation {\n const node: t.InterfaceTypeAnnotation = {\n type: \"InterfaceTypeAnnotation\",\n extends: _extends,\n body,\n };\n const defs = NODE_FIELDS.InterfaceTypeAnnotation;\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function intersectionTypeAnnotation(\n types: Array,\n): t.IntersectionTypeAnnotation {\n const node: t.IntersectionTypeAnnotation = {\n type: \"IntersectionTypeAnnotation\",\n types,\n };\n const defs = NODE_FIELDS.IntersectionTypeAnnotation;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nexport function mixedTypeAnnotation(): t.MixedTypeAnnotation {\n return {\n type: \"MixedTypeAnnotation\",\n };\n}\nexport function emptyTypeAnnotation(): t.EmptyTypeAnnotation {\n return {\n type: \"EmptyTypeAnnotation\",\n };\n}\nexport function nullableTypeAnnotation(\n typeAnnotation: t.FlowType,\n): t.NullableTypeAnnotation {\n const node: t.NullableTypeAnnotation = {\n type: \"NullableTypeAnnotation\",\n typeAnnotation,\n };\n const defs = NODE_FIELDS.NullableTypeAnnotation;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport function numberLiteralTypeAnnotation(\n value: number,\n): t.NumberLiteralTypeAnnotation {\n const node: t.NumberLiteralTypeAnnotation = {\n type: \"NumberLiteralTypeAnnotation\",\n value,\n };\n const defs = NODE_FIELDS.NumberLiteralTypeAnnotation;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nexport function numberTypeAnnotation(): t.NumberTypeAnnotation {\n return {\n type: \"NumberTypeAnnotation\",\n };\n}\nexport function objectTypeAnnotation(\n properties: Array,\n indexers: Array = [],\n callProperties: Array = [],\n internalSlots: Array = [],\n exact: boolean = false,\n): t.ObjectTypeAnnotation {\n const node: t.ObjectTypeAnnotation = {\n type: \"ObjectTypeAnnotation\",\n properties,\n indexers,\n callProperties,\n internalSlots,\n exact,\n };\n const defs = NODE_FIELDS.ObjectTypeAnnotation;\n validate(defs.properties, node, \"properties\", properties, 1);\n validate(defs.indexers, node, \"indexers\", indexers, 1);\n validate(defs.callProperties, node, \"callProperties\", callProperties, 1);\n validate(defs.internalSlots, node, \"internalSlots\", internalSlots, 1);\n validate(defs.exact, node, \"exact\", exact);\n return node;\n}\nexport function objectTypeInternalSlot(\n id: t.Identifier,\n value: t.FlowType,\n optional: boolean,\n _static: boolean,\n method: boolean,\n): t.ObjectTypeInternalSlot {\n const node: t.ObjectTypeInternalSlot = {\n type: \"ObjectTypeInternalSlot\",\n id,\n value,\n optional,\n static: _static,\n method,\n };\n const defs = NODE_FIELDS.ObjectTypeInternalSlot;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.optional, node, \"optional\", optional);\n validate(defs.static, node, \"static\", _static);\n validate(defs.method, node, \"method\", method);\n return node;\n}\nexport function objectTypeCallProperty(\n value: t.FlowType,\n): t.ObjectTypeCallProperty {\n const node: t.ObjectTypeCallProperty = {\n type: \"ObjectTypeCallProperty\",\n value,\n static: null,\n };\n const defs = NODE_FIELDS.ObjectTypeCallProperty;\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nexport function objectTypeIndexer(\n id: t.Identifier | null | undefined = null,\n key: t.FlowType,\n value: t.FlowType,\n variance: t.Variance | null = null,\n): t.ObjectTypeIndexer {\n const node: t.ObjectTypeIndexer = {\n type: \"ObjectTypeIndexer\",\n id,\n key,\n value,\n variance,\n static: null,\n };\n const defs = NODE_FIELDS.ObjectTypeIndexer;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.variance, node, \"variance\", variance, 1);\n return node;\n}\nexport function objectTypeProperty(\n key: t.Identifier | t.StringLiteral,\n value: t.FlowType,\n variance: t.Variance | null = null,\n): t.ObjectTypeProperty {\n const node: t.ObjectTypeProperty = {\n type: \"ObjectTypeProperty\",\n key,\n value,\n variance,\n kind: null,\n method: null,\n optional: null,\n proto: null,\n static: null,\n };\n const defs = NODE_FIELDS.ObjectTypeProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.variance, node, \"variance\", variance, 1);\n return node;\n}\nexport function objectTypeSpreadProperty(\n argument: t.FlowType,\n): t.ObjectTypeSpreadProperty {\n const node: t.ObjectTypeSpreadProperty = {\n type: \"ObjectTypeSpreadProperty\",\n argument,\n };\n const defs = NODE_FIELDS.ObjectTypeSpreadProperty;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nexport function opaqueType(\n id: t.Identifier,\n typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n supertype: t.FlowType | null | undefined = null,\n impltype: t.FlowType,\n): t.OpaqueType {\n const node: t.OpaqueType = {\n type: \"OpaqueType\",\n id,\n typeParameters,\n supertype,\n impltype,\n };\n const defs = NODE_FIELDS.OpaqueType;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.supertype, node, \"supertype\", supertype, 1);\n validate(defs.impltype, node, \"impltype\", impltype, 1);\n return node;\n}\nexport function qualifiedTypeIdentifier(\n id: t.Identifier,\n qualification: t.Identifier | t.QualifiedTypeIdentifier,\n): t.QualifiedTypeIdentifier {\n const node: t.QualifiedTypeIdentifier = {\n type: \"QualifiedTypeIdentifier\",\n id,\n qualification,\n };\n const defs = NODE_FIELDS.QualifiedTypeIdentifier;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.qualification, node, \"qualification\", qualification, 1);\n return node;\n}\nexport function stringLiteralTypeAnnotation(\n value: string,\n): t.StringLiteralTypeAnnotation {\n const node: t.StringLiteralTypeAnnotation = {\n type: \"StringLiteralTypeAnnotation\",\n value,\n };\n const defs = NODE_FIELDS.StringLiteralTypeAnnotation;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nexport function stringTypeAnnotation(): t.StringTypeAnnotation {\n return {\n type: \"StringTypeAnnotation\",\n };\n}\nexport function symbolTypeAnnotation(): t.SymbolTypeAnnotation {\n return {\n type: \"SymbolTypeAnnotation\",\n };\n}\nexport function thisTypeAnnotation(): t.ThisTypeAnnotation {\n return {\n type: \"ThisTypeAnnotation\",\n };\n}\nexport function tupleTypeAnnotation(\n types: Array,\n): t.TupleTypeAnnotation {\n const node: t.TupleTypeAnnotation = {\n type: \"TupleTypeAnnotation\",\n types,\n };\n const defs = NODE_FIELDS.TupleTypeAnnotation;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nexport function typeofTypeAnnotation(\n argument: t.FlowType,\n): t.TypeofTypeAnnotation {\n const node: t.TypeofTypeAnnotation = {\n type: \"TypeofTypeAnnotation\",\n argument,\n };\n const defs = NODE_FIELDS.TypeofTypeAnnotation;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nexport function typeAlias(\n id: t.Identifier,\n typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n right: t.FlowType,\n): t.TypeAlias {\n const node: t.TypeAlias = {\n type: \"TypeAlias\",\n id,\n typeParameters,\n right,\n };\n const defs = NODE_FIELDS.TypeAlias;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nexport function typeAnnotation(typeAnnotation: t.FlowType): t.TypeAnnotation {\n const node: t.TypeAnnotation = {\n type: \"TypeAnnotation\",\n typeAnnotation,\n };\n const defs = NODE_FIELDS.TypeAnnotation;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport function typeCastExpression(\n expression: t.Expression,\n typeAnnotation: t.TypeAnnotation,\n): t.TypeCastExpression {\n const node: t.TypeCastExpression = {\n type: \"TypeCastExpression\",\n expression,\n typeAnnotation,\n };\n const defs = NODE_FIELDS.TypeCastExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport function typeParameter(\n bound: t.TypeAnnotation | null = null,\n _default: t.FlowType | null = null,\n variance: t.Variance | null = null,\n): t.TypeParameter {\n const node: t.TypeParameter = {\n type: \"TypeParameter\",\n bound,\n default: _default,\n variance,\n name: null,\n };\n const defs = NODE_FIELDS.TypeParameter;\n validate(defs.bound, node, \"bound\", bound, 1);\n validate(defs.default, node, \"default\", _default, 1);\n validate(defs.variance, node, \"variance\", variance, 1);\n return node;\n}\nexport function typeParameterDeclaration(\n params: Array,\n): t.TypeParameterDeclaration {\n const node: t.TypeParameterDeclaration = {\n type: \"TypeParameterDeclaration\",\n params,\n };\n const defs = NODE_FIELDS.TypeParameterDeclaration;\n validate(defs.params, node, \"params\", params, 1);\n return node;\n}\nexport function typeParameterInstantiation(\n params: Array,\n): t.TypeParameterInstantiation {\n const node: t.TypeParameterInstantiation = {\n type: \"TypeParameterInstantiation\",\n params,\n };\n const defs = NODE_FIELDS.TypeParameterInstantiation;\n validate(defs.params, node, \"params\", params, 1);\n return node;\n}\nexport function unionTypeAnnotation(\n types: Array,\n): t.UnionTypeAnnotation {\n const node: t.UnionTypeAnnotation = {\n type: \"UnionTypeAnnotation\",\n types,\n };\n const defs = NODE_FIELDS.UnionTypeAnnotation;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nexport function variance(kind: \"minus\" | \"plus\"): t.Variance {\n const node: t.Variance = {\n type: \"Variance\",\n kind,\n };\n const defs = NODE_FIELDS.Variance;\n validate(defs.kind, node, \"kind\", kind);\n return node;\n}\nexport function voidTypeAnnotation(): t.VoidTypeAnnotation {\n return {\n type: \"VoidTypeAnnotation\",\n };\n}\nexport function enumDeclaration(\n id: t.Identifier,\n body:\n | t.EnumBooleanBody\n | t.EnumNumberBody\n | t.EnumStringBody\n | t.EnumSymbolBody,\n): t.EnumDeclaration {\n const node: t.EnumDeclaration = {\n type: \"EnumDeclaration\",\n id,\n body,\n };\n const defs = NODE_FIELDS.EnumDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function enumBooleanBody(\n members: Array,\n): t.EnumBooleanBody {\n const node: t.EnumBooleanBody = {\n type: \"EnumBooleanBody\",\n members,\n explicitType: null,\n hasUnknownMembers: null,\n };\n const defs = NODE_FIELDS.EnumBooleanBody;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nexport function enumNumberBody(\n members: Array,\n): t.EnumNumberBody {\n const node: t.EnumNumberBody = {\n type: \"EnumNumberBody\",\n members,\n explicitType: null,\n hasUnknownMembers: null,\n };\n const defs = NODE_FIELDS.EnumNumberBody;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nexport function enumStringBody(\n members: Array,\n): t.EnumStringBody {\n const node: t.EnumStringBody = {\n type: \"EnumStringBody\",\n members,\n explicitType: null,\n hasUnknownMembers: null,\n };\n const defs = NODE_FIELDS.EnumStringBody;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nexport function enumSymbolBody(\n members: Array,\n): t.EnumSymbolBody {\n const node: t.EnumSymbolBody = {\n type: \"EnumSymbolBody\",\n members,\n hasUnknownMembers: null,\n };\n const defs = NODE_FIELDS.EnumSymbolBody;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nexport function enumBooleanMember(id: t.Identifier): t.EnumBooleanMember {\n const node: t.EnumBooleanMember = {\n type: \"EnumBooleanMember\",\n id,\n init: null,\n };\n const defs = NODE_FIELDS.EnumBooleanMember;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nexport function enumNumberMember(\n id: t.Identifier,\n init: t.NumericLiteral,\n): t.EnumNumberMember {\n const node: t.EnumNumberMember = {\n type: \"EnumNumberMember\",\n id,\n init,\n };\n const defs = NODE_FIELDS.EnumNumberMember;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.init, node, \"init\", init, 1);\n return node;\n}\nexport function enumStringMember(\n id: t.Identifier,\n init: t.StringLiteral,\n): t.EnumStringMember {\n const node: t.EnumStringMember = {\n type: \"EnumStringMember\",\n id,\n init,\n };\n const defs = NODE_FIELDS.EnumStringMember;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.init, node, \"init\", init, 1);\n return node;\n}\nexport function enumDefaultedMember(id: t.Identifier): t.EnumDefaultedMember {\n const node: t.EnumDefaultedMember = {\n type: \"EnumDefaultedMember\",\n id,\n };\n const defs = NODE_FIELDS.EnumDefaultedMember;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nexport function indexedAccessType(\n objectType: t.FlowType,\n indexType: t.FlowType,\n): t.IndexedAccessType {\n const node: t.IndexedAccessType = {\n type: \"IndexedAccessType\",\n objectType,\n indexType,\n };\n const defs = NODE_FIELDS.IndexedAccessType;\n validate(defs.objectType, node, \"objectType\", objectType, 1);\n validate(defs.indexType, node, \"indexType\", indexType, 1);\n return node;\n}\nexport function optionalIndexedAccessType(\n objectType: t.FlowType,\n indexType: t.FlowType,\n): t.OptionalIndexedAccessType {\n const node: t.OptionalIndexedAccessType = {\n type: \"OptionalIndexedAccessType\",\n objectType,\n indexType,\n optional: null,\n };\n const defs = NODE_FIELDS.OptionalIndexedAccessType;\n validate(defs.objectType, node, \"objectType\", objectType, 1);\n validate(defs.indexType, node, \"indexType\", indexType, 1);\n return node;\n}\nexport function jsxAttribute(\n name: t.JSXIdentifier | t.JSXNamespacedName,\n value:\n | t.JSXElement\n | t.JSXFragment\n | t.StringLiteral\n | t.JSXExpressionContainer\n | null = null,\n): t.JSXAttribute {\n const node: t.JSXAttribute = {\n type: \"JSXAttribute\",\n name,\n value,\n };\n const defs = NODE_FIELDS.JSXAttribute;\n validate(defs.name, node, \"name\", name, 1);\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nexport { jsxAttribute as jSXAttribute };\nexport function jsxClosingElement(\n name: t.JSXIdentifier | t.JSXMemberExpression | t.JSXNamespacedName,\n): t.JSXClosingElement {\n const node: t.JSXClosingElement = {\n type: \"JSXClosingElement\",\n name,\n };\n const defs = NODE_FIELDS.JSXClosingElement;\n validate(defs.name, node, \"name\", name, 1);\n return node;\n}\nexport { jsxClosingElement as jSXClosingElement };\nexport function jsxElement(\n openingElement: t.JSXOpeningElement,\n closingElement: t.JSXClosingElement | null | undefined = null,\n children: Array<\n | t.JSXText\n | t.JSXExpressionContainer\n | t.JSXSpreadChild\n | t.JSXElement\n | t.JSXFragment\n >,\n selfClosing: boolean | null = null,\n): t.JSXElement {\n const node: t.JSXElement = {\n type: \"JSXElement\",\n openingElement,\n closingElement,\n children,\n selfClosing,\n };\n const defs = NODE_FIELDS.JSXElement;\n validate(defs.openingElement, node, \"openingElement\", openingElement, 1);\n validate(defs.closingElement, node, \"closingElement\", closingElement, 1);\n validate(defs.children, node, \"children\", children, 1);\n validate(defs.selfClosing, node, \"selfClosing\", selfClosing);\n return node;\n}\nexport { jsxElement as jSXElement };\nexport function jsxEmptyExpression(): t.JSXEmptyExpression {\n return {\n type: \"JSXEmptyExpression\",\n };\n}\nexport { jsxEmptyExpression as jSXEmptyExpression };\nexport function jsxExpressionContainer(\n expression: t.Expression | t.JSXEmptyExpression,\n): t.JSXExpressionContainer {\n const node: t.JSXExpressionContainer = {\n type: \"JSXExpressionContainer\",\n expression,\n };\n const defs = NODE_FIELDS.JSXExpressionContainer;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nexport { jsxExpressionContainer as jSXExpressionContainer };\nexport function jsxSpreadChild(expression: t.Expression): t.JSXSpreadChild {\n const node: t.JSXSpreadChild = {\n type: \"JSXSpreadChild\",\n expression,\n };\n const defs = NODE_FIELDS.JSXSpreadChild;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nexport { jsxSpreadChild as jSXSpreadChild };\nexport function jsxIdentifier(name: string): t.JSXIdentifier {\n const node: t.JSXIdentifier = {\n type: \"JSXIdentifier\",\n name,\n };\n const defs = NODE_FIELDS.JSXIdentifier;\n validate(defs.name, node, \"name\", name);\n return node;\n}\nexport { jsxIdentifier as jSXIdentifier };\nexport function jsxMemberExpression(\n object: t.JSXMemberExpression | t.JSXIdentifier,\n property: t.JSXIdentifier,\n): t.JSXMemberExpression {\n const node: t.JSXMemberExpression = {\n type: \"JSXMemberExpression\",\n object,\n property,\n };\n const defs = NODE_FIELDS.JSXMemberExpression;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.property, node, \"property\", property, 1);\n return node;\n}\nexport { jsxMemberExpression as jSXMemberExpression };\nexport function jsxNamespacedName(\n namespace: t.JSXIdentifier,\n name: t.JSXIdentifier,\n): t.JSXNamespacedName {\n const node: t.JSXNamespacedName = {\n type: \"JSXNamespacedName\",\n namespace,\n name,\n };\n const defs = NODE_FIELDS.JSXNamespacedName;\n validate(defs.namespace, node, \"namespace\", namespace, 1);\n validate(defs.name, node, \"name\", name, 1);\n return node;\n}\nexport { jsxNamespacedName as jSXNamespacedName };\nexport function jsxOpeningElement(\n name: t.JSXIdentifier | t.JSXMemberExpression | t.JSXNamespacedName,\n attributes: Array,\n selfClosing: boolean = false,\n): t.JSXOpeningElement {\n const node: t.JSXOpeningElement = {\n type: \"JSXOpeningElement\",\n name,\n attributes,\n selfClosing,\n };\n const defs = NODE_FIELDS.JSXOpeningElement;\n validate(defs.name, node, \"name\", name, 1);\n validate(defs.attributes, node, \"attributes\", attributes, 1);\n validate(defs.selfClosing, node, \"selfClosing\", selfClosing);\n return node;\n}\nexport { jsxOpeningElement as jSXOpeningElement };\nexport function jsxSpreadAttribute(\n argument: t.Expression,\n): t.JSXSpreadAttribute {\n const node: t.JSXSpreadAttribute = {\n type: \"JSXSpreadAttribute\",\n argument,\n };\n const defs = NODE_FIELDS.JSXSpreadAttribute;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nexport { jsxSpreadAttribute as jSXSpreadAttribute };\nexport function jsxText(value: string): t.JSXText {\n const node: t.JSXText = {\n type: \"JSXText\",\n value,\n };\n const defs = NODE_FIELDS.JSXText;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nexport { jsxText as jSXText };\nexport function jsxFragment(\n openingFragment: t.JSXOpeningFragment,\n closingFragment: t.JSXClosingFragment,\n children: Array<\n | t.JSXText\n | t.JSXExpressionContainer\n | t.JSXSpreadChild\n | t.JSXElement\n | t.JSXFragment\n >,\n): t.JSXFragment {\n const node: t.JSXFragment = {\n type: \"JSXFragment\",\n openingFragment,\n closingFragment,\n children,\n };\n const defs = NODE_FIELDS.JSXFragment;\n validate(defs.openingFragment, node, \"openingFragment\", openingFragment, 1);\n validate(defs.closingFragment, node, \"closingFragment\", closingFragment, 1);\n validate(defs.children, node, \"children\", children, 1);\n return node;\n}\nexport { jsxFragment as jSXFragment };\nexport function jsxOpeningFragment(): t.JSXOpeningFragment {\n return {\n type: \"JSXOpeningFragment\",\n };\n}\nexport { jsxOpeningFragment as jSXOpeningFragment };\nexport function jsxClosingFragment(): t.JSXClosingFragment {\n return {\n type: \"JSXClosingFragment\",\n };\n}\nexport { jsxClosingFragment as jSXClosingFragment };\nexport function noop(): t.Noop {\n return {\n type: \"Noop\",\n };\n}\nexport function placeholder(\n expectedNode:\n | \"Identifier\"\n | \"StringLiteral\"\n | \"Expression\"\n | \"Statement\"\n | \"Declaration\"\n | \"BlockStatement\"\n | \"ClassBody\"\n | \"Pattern\",\n name: t.Identifier,\n): t.Placeholder {\n const node: t.Placeholder = {\n type: \"Placeholder\",\n expectedNode,\n name,\n };\n const defs = NODE_FIELDS.Placeholder;\n validate(defs.expectedNode, node, \"expectedNode\", expectedNode);\n validate(defs.name, node, \"name\", name, 1);\n return node;\n}\nexport function v8IntrinsicIdentifier(name: string): t.V8IntrinsicIdentifier {\n const node: t.V8IntrinsicIdentifier = {\n type: \"V8IntrinsicIdentifier\",\n name,\n };\n const defs = NODE_FIELDS.V8IntrinsicIdentifier;\n validate(defs.name, node, \"name\", name);\n return node;\n}\nexport function argumentPlaceholder(): t.ArgumentPlaceholder {\n return {\n type: \"ArgumentPlaceholder\",\n };\n}\nexport function bindExpression(\n object: t.Expression,\n callee: t.Expression,\n): t.BindExpression {\n const node: t.BindExpression = {\n type: \"BindExpression\",\n object,\n callee,\n };\n const defs = NODE_FIELDS.BindExpression;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.callee, node, \"callee\", callee, 1);\n return node;\n}\nexport function importAttribute(\n key: t.Identifier | t.StringLiteral,\n value: t.StringLiteral,\n): t.ImportAttribute {\n const node: t.ImportAttribute = {\n type: \"ImportAttribute\",\n key,\n value,\n };\n const defs = NODE_FIELDS.ImportAttribute;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nexport function decorator(expression: t.Expression): t.Decorator {\n const node: t.Decorator = {\n type: \"Decorator\",\n expression,\n };\n const defs = NODE_FIELDS.Decorator;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nexport function doExpression(\n body: t.BlockStatement,\n async: boolean = false,\n): t.DoExpression {\n const node: t.DoExpression = {\n type: \"DoExpression\",\n body,\n async,\n };\n const defs = NODE_FIELDS.DoExpression;\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nexport function exportDefaultSpecifier(\n exported: t.Identifier,\n): t.ExportDefaultSpecifier {\n const node: t.ExportDefaultSpecifier = {\n type: \"ExportDefaultSpecifier\",\n exported,\n };\n const defs = NODE_FIELDS.ExportDefaultSpecifier;\n validate(defs.exported, node, \"exported\", exported, 1);\n return node;\n}\nexport function recordExpression(\n properties: Array,\n): t.RecordExpression {\n const node: t.RecordExpression = {\n type: \"RecordExpression\",\n properties,\n };\n const defs = NODE_FIELDS.RecordExpression;\n validate(defs.properties, node, \"properties\", properties, 1);\n return node;\n}\nexport function tupleExpression(\n elements: Array = [],\n): t.TupleExpression {\n const node: t.TupleExpression = {\n type: \"TupleExpression\",\n elements,\n };\n const defs = NODE_FIELDS.TupleExpression;\n validate(defs.elements, node, \"elements\", elements, 1);\n return node;\n}\nexport function decimalLiteral(value: string): t.DecimalLiteral {\n const node: t.DecimalLiteral = {\n type: \"DecimalLiteral\",\n value,\n };\n const defs = NODE_FIELDS.DecimalLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nexport function moduleExpression(body: t.Program): t.ModuleExpression {\n const node: t.ModuleExpression = {\n type: \"ModuleExpression\",\n body,\n };\n const defs = NODE_FIELDS.ModuleExpression;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport function topicReference(): t.TopicReference {\n return {\n type: \"TopicReference\",\n };\n}\nexport function pipelineTopicExpression(\n expression: t.Expression,\n): t.PipelineTopicExpression {\n const node: t.PipelineTopicExpression = {\n type: \"PipelineTopicExpression\",\n expression,\n };\n const defs = NODE_FIELDS.PipelineTopicExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nexport function pipelineBareFunction(\n callee: t.Expression,\n): t.PipelineBareFunction {\n const node: t.PipelineBareFunction = {\n type: \"PipelineBareFunction\",\n callee,\n };\n const defs = NODE_FIELDS.PipelineBareFunction;\n validate(defs.callee, node, \"callee\", callee, 1);\n return node;\n}\nexport function pipelinePrimaryTopicReference(): t.PipelinePrimaryTopicReference {\n return {\n type: \"PipelinePrimaryTopicReference\",\n };\n}\nexport function tsParameterProperty(\n parameter: t.Identifier | t.AssignmentPattern,\n): t.TSParameterProperty {\n const node: t.TSParameterProperty = {\n type: \"TSParameterProperty\",\n parameter,\n };\n const defs = NODE_FIELDS.TSParameterProperty;\n validate(defs.parameter, node, \"parameter\", parameter, 1);\n return node;\n}\nexport { tsParameterProperty as tSParameterProperty };\nexport function tsDeclareFunction(\n id: t.Identifier | null | undefined = null,\n typeParameters:\n | t.TSTypeParameterDeclaration\n | t.Noop\n | null\n | undefined = null,\n params: Array,\n returnType: t.TSTypeAnnotation | t.Noop | null = null,\n): t.TSDeclareFunction {\n const node: t.TSDeclareFunction = {\n type: \"TSDeclareFunction\",\n id,\n typeParameters,\n params,\n returnType,\n };\n const defs = NODE_FIELDS.TSDeclareFunction;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.returnType, node, \"returnType\", returnType, 1);\n return node;\n}\nexport { tsDeclareFunction as tSDeclareFunction };\nexport function tsDeclareMethod(\n decorators: Array | null | undefined = null,\n key:\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral\n | t.Expression,\n typeParameters:\n | t.TSTypeParameterDeclaration\n | t.Noop\n | null\n | undefined = null,\n params: Array<\n t.Identifier | t.Pattern | t.RestElement | t.TSParameterProperty\n >,\n returnType: t.TSTypeAnnotation | t.Noop | null = null,\n): t.TSDeclareMethod {\n const node: t.TSDeclareMethod = {\n type: \"TSDeclareMethod\",\n decorators,\n key,\n typeParameters,\n params,\n returnType,\n };\n const defs = NODE_FIELDS.TSDeclareMethod;\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.returnType, node, \"returnType\", returnType, 1);\n return node;\n}\nexport { tsDeclareMethod as tSDeclareMethod };\nexport function tsQualifiedName(\n left: t.TSEntityName,\n right: t.Identifier,\n): t.TSQualifiedName {\n const node: t.TSQualifiedName = {\n type: \"TSQualifiedName\",\n left,\n right,\n };\n const defs = NODE_FIELDS.TSQualifiedName;\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nexport { tsQualifiedName as tSQualifiedName };\nexport function tsCallSignatureDeclaration(\n typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n parameters: Array<\n t.ArrayPattern | t.Identifier | t.ObjectPattern | t.RestElement\n >,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSCallSignatureDeclaration {\n const node: t.TSCallSignatureDeclaration = {\n type: \"TSCallSignatureDeclaration\",\n typeParameters,\n parameters,\n typeAnnotation,\n };\n const defs = NODE_FIELDS.TSCallSignatureDeclaration;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsCallSignatureDeclaration as tSCallSignatureDeclaration };\nexport function tsConstructSignatureDeclaration(\n typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n parameters: Array<\n t.ArrayPattern | t.Identifier | t.ObjectPattern | t.RestElement\n >,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSConstructSignatureDeclaration {\n const node: t.TSConstructSignatureDeclaration = {\n type: \"TSConstructSignatureDeclaration\",\n typeParameters,\n parameters,\n typeAnnotation,\n };\n const defs = NODE_FIELDS.TSConstructSignatureDeclaration;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsConstructSignatureDeclaration as tSConstructSignatureDeclaration };\nexport function tsPropertySignature(\n key: t.Expression,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSPropertySignature {\n const node: t.TSPropertySignature = {\n type: \"TSPropertySignature\",\n key,\n typeAnnotation,\n kind: null,\n };\n const defs = NODE_FIELDS.TSPropertySignature;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsPropertySignature as tSPropertySignature };\nexport function tsMethodSignature(\n key: t.Expression,\n typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n parameters: Array<\n t.ArrayPattern | t.Identifier | t.ObjectPattern | t.RestElement\n >,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSMethodSignature {\n const node: t.TSMethodSignature = {\n type: \"TSMethodSignature\",\n key,\n typeParameters,\n parameters,\n typeAnnotation,\n kind: null,\n };\n const defs = NODE_FIELDS.TSMethodSignature;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsMethodSignature as tSMethodSignature };\nexport function tsIndexSignature(\n parameters: Array,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSIndexSignature {\n const node: t.TSIndexSignature = {\n type: \"TSIndexSignature\",\n parameters,\n typeAnnotation,\n };\n const defs = NODE_FIELDS.TSIndexSignature;\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsIndexSignature as tSIndexSignature };\nexport function tsAnyKeyword(): t.TSAnyKeyword {\n return {\n type: \"TSAnyKeyword\",\n };\n}\nexport { tsAnyKeyword as tSAnyKeyword };\nexport function tsBooleanKeyword(): t.TSBooleanKeyword {\n return {\n type: \"TSBooleanKeyword\",\n };\n}\nexport { tsBooleanKeyword as tSBooleanKeyword };\nexport function tsBigIntKeyword(): t.TSBigIntKeyword {\n return {\n type: \"TSBigIntKeyword\",\n };\n}\nexport { tsBigIntKeyword as tSBigIntKeyword };\nexport function tsIntrinsicKeyword(): t.TSIntrinsicKeyword {\n return {\n type: \"TSIntrinsicKeyword\",\n };\n}\nexport { tsIntrinsicKeyword as tSIntrinsicKeyword };\nexport function tsNeverKeyword(): t.TSNeverKeyword {\n return {\n type: \"TSNeverKeyword\",\n };\n}\nexport { tsNeverKeyword as tSNeverKeyword };\nexport function tsNullKeyword(): t.TSNullKeyword {\n return {\n type: \"TSNullKeyword\",\n };\n}\nexport { tsNullKeyword as tSNullKeyword };\nexport function tsNumberKeyword(): t.TSNumberKeyword {\n return {\n type: \"TSNumberKeyword\",\n };\n}\nexport { tsNumberKeyword as tSNumberKeyword };\nexport function tsObjectKeyword(): t.TSObjectKeyword {\n return {\n type: \"TSObjectKeyword\",\n };\n}\nexport { tsObjectKeyword as tSObjectKeyword };\nexport function tsStringKeyword(): t.TSStringKeyword {\n return {\n type: \"TSStringKeyword\",\n };\n}\nexport { tsStringKeyword as tSStringKeyword };\nexport function tsSymbolKeyword(): t.TSSymbolKeyword {\n return {\n type: \"TSSymbolKeyword\",\n };\n}\nexport { tsSymbolKeyword as tSSymbolKeyword };\nexport function tsUndefinedKeyword(): t.TSUndefinedKeyword {\n return {\n type: \"TSUndefinedKeyword\",\n };\n}\nexport { tsUndefinedKeyword as tSUndefinedKeyword };\nexport function tsUnknownKeyword(): t.TSUnknownKeyword {\n return {\n type: \"TSUnknownKeyword\",\n };\n}\nexport { tsUnknownKeyword as tSUnknownKeyword };\nexport function tsVoidKeyword(): t.TSVoidKeyword {\n return {\n type: \"TSVoidKeyword\",\n };\n}\nexport { tsVoidKeyword as tSVoidKeyword };\nexport function tsThisType(): t.TSThisType {\n return {\n type: \"TSThisType\",\n };\n}\nexport { tsThisType as tSThisType };\nexport function tsFunctionType(\n typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n parameters: Array<\n t.ArrayPattern | t.Identifier | t.ObjectPattern | t.RestElement\n >,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSFunctionType {\n const node: t.TSFunctionType = {\n type: \"TSFunctionType\",\n typeParameters,\n parameters,\n typeAnnotation,\n };\n const defs = NODE_FIELDS.TSFunctionType;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsFunctionType as tSFunctionType };\nexport function tsConstructorType(\n typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n parameters: Array<\n t.ArrayPattern | t.Identifier | t.ObjectPattern | t.RestElement\n >,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSConstructorType {\n const node: t.TSConstructorType = {\n type: \"TSConstructorType\",\n typeParameters,\n parameters,\n typeAnnotation,\n };\n const defs = NODE_FIELDS.TSConstructorType;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsConstructorType as tSConstructorType };\nexport function tsTypeReference(\n typeName: t.TSEntityName,\n typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSTypeReference {\n const node: t.TSTypeReference = {\n type: \"TSTypeReference\",\n typeName,\n typeParameters,\n };\n const defs = NODE_FIELDS.TSTypeReference;\n validate(defs.typeName, node, \"typeName\", typeName, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nexport { tsTypeReference as tSTypeReference };\nexport function tsTypePredicate(\n parameterName: t.Identifier | t.TSThisType,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n asserts: boolean | null = null,\n): t.TSTypePredicate {\n const node: t.TSTypePredicate = {\n type: \"TSTypePredicate\",\n parameterName,\n typeAnnotation,\n asserts,\n };\n const defs = NODE_FIELDS.TSTypePredicate;\n validate(defs.parameterName, node, \"parameterName\", parameterName, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.asserts, node, \"asserts\", asserts);\n return node;\n}\nexport { tsTypePredicate as tSTypePredicate };\nexport function tsTypeQuery(\n exprName: t.TSEntityName | t.TSImportType,\n typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSTypeQuery {\n const node: t.TSTypeQuery = {\n type: \"TSTypeQuery\",\n exprName,\n typeParameters,\n };\n const defs = NODE_FIELDS.TSTypeQuery;\n validate(defs.exprName, node, \"exprName\", exprName, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nexport { tsTypeQuery as tSTypeQuery };\nexport function tsTypeLiteral(\n members: Array,\n): t.TSTypeLiteral {\n const node: t.TSTypeLiteral = {\n type: \"TSTypeLiteral\",\n members,\n };\n const defs = NODE_FIELDS.TSTypeLiteral;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nexport { tsTypeLiteral as tSTypeLiteral };\nexport function tsArrayType(elementType: t.TSType): t.TSArrayType {\n const node: t.TSArrayType = {\n type: \"TSArrayType\",\n elementType,\n };\n const defs = NODE_FIELDS.TSArrayType;\n validate(defs.elementType, node, \"elementType\", elementType, 1);\n return node;\n}\nexport { tsArrayType as tSArrayType };\nexport function tsTupleType(\n elementTypes: Array,\n): t.TSTupleType {\n const node: t.TSTupleType = {\n type: \"TSTupleType\",\n elementTypes,\n };\n const defs = NODE_FIELDS.TSTupleType;\n validate(defs.elementTypes, node, \"elementTypes\", elementTypes, 1);\n return node;\n}\nexport { tsTupleType as tSTupleType };\nexport function tsOptionalType(typeAnnotation: t.TSType): t.TSOptionalType {\n const node: t.TSOptionalType = {\n type: \"TSOptionalType\",\n typeAnnotation,\n };\n const defs = NODE_FIELDS.TSOptionalType;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsOptionalType as tSOptionalType };\nexport function tsRestType(typeAnnotation: t.TSType): t.TSRestType {\n const node: t.TSRestType = {\n type: \"TSRestType\",\n typeAnnotation,\n };\n const defs = NODE_FIELDS.TSRestType;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsRestType as tSRestType };\nexport function tsNamedTupleMember(\n label: t.Identifier,\n elementType: t.TSType,\n optional: boolean = false,\n): t.TSNamedTupleMember {\n const node: t.TSNamedTupleMember = {\n type: \"TSNamedTupleMember\",\n label,\n elementType,\n optional,\n };\n const defs = NODE_FIELDS.TSNamedTupleMember;\n validate(defs.label, node, \"label\", label, 1);\n validate(defs.elementType, node, \"elementType\", elementType, 1);\n validate(defs.optional, node, \"optional\", optional);\n return node;\n}\nexport { tsNamedTupleMember as tSNamedTupleMember };\nexport function tsUnionType(types: Array): t.TSUnionType {\n const node: t.TSUnionType = {\n type: \"TSUnionType\",\n types,\n };\n const defs = NODE_FIELDS.TSUnionType;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nexport { tsUnionType as tSUnionType };\nexport function tsIntersectionType(\n types: Array,\n): t.TSIntersectionType {\n const node: t.TSIntersectionType = {\n type: \"TSIntersectionType\",\n types,\n };\n const defs = NODE_FIELDS.TSIntersectionType;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nexport { tsIntersectionType as tSIntersectionType };\nexport function tsConditionalType(\n checkType: t.TSType,\n extendsType: t.TSType,\n trueType: t.TSType,\n falseType: t.TSType,\n): t.TSConditionalType {\n const node: t.TSConditionalType = {\n type: \"TSConditionalType\",\n checkType,\n extendsType,\n trueType,\n falseType,\n };\n const defs = NODE_FIELDS.TSConditionalType;\n validate(defs.checkType, node, \"checkType\", checkType, 1);\n validate(defs.extendsType, node, \"extendsType\", extendsType, 1);\n validate(defs.trueType, node, \"trueType\", trueType, 1);\n validate(defs.falseType, node, \"falseType\", falseType, 1);\n return node;\n}\nexport { tsConditionalType as tSConditionalType };\nexport function tsInferType(typeParameter: t.TSTypeParameter): t.TSInferType {\n const node: t.TSInferType = {\n type: \"TSInferType\",\n typeParameter,\n };\n const defs = NODE_FIELDS.TSInferType;\n validate(defs.typeParameter, node, \"typeParameter\", typeParameter, 1);\n return node;\n}\nexport { tsInferType as tSInferType };\nexport function tsParenthesizedType(\n typeAnnotation: t.TSType,\n): t.TSParenthesizedType {\n const node: t.TSParenthesizedType = {\n type: \"TSParenthesizedType\",\n typeAnnotation,\n };\n const defs = NODE_FIELDS.TSParenthesizedType;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsParenthesizedType as tSParenthesizedType };\nexport function tsTypeOperator(typeAnnotation: t.TSType): t.TSTypeOperator {\n const node: t.TSTypeOperator = {\n type: \"TSTypeOperator\",\n typeAnnotation,\n operator: null,\n };\n const defs = NODE_FIELDS.TSTypeOperator;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsTypeOperator as tSTypeOperator };\nexport function tsIndexedAccessType(\n objectType: t.TSType,\n indexType: t.TSType,\n): t.TSIndexedAccessType {\n const node: t.TSIndexedAccessType = {\n type: \"TSIndexedAccessType\",\n objectType,\n indexType,\n };\n const defs = NODE_FIELDS.TSIndexedAccessType;\n validate(defs.objectType, node, \"objectType\", objectType, 1);\n validate(defs.indexType, node, \"indexType\", indexType, 1);\n return node;\n}\nexport { tsIndexedAccessType as tSIndexedAccessType };\nexport function tsMappedType(\n typeParameter: t.TSTypeParameter,\n typeAnnotation: t.TSType | null = null,\n nameType: t.TSType | null = null,\n): t.TSMappedType {\n const node: t.TSMappedType = {\n type: \"TSMappedType\",\n typeParameter,\n typeAnnotation,\n nameType,\n };\n const defs = NODE_FIELDS.TSMappedType;\n validate(defs.typeParameter, node, \"typeParameter\", typeParameter, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.nameType, node, \"nameType\", nameType, 1);\n return node;\n}\nexport { tsMappedType as tSMappedType };\nexport function tsLiteralType(\n literal:\n | t.NumericLiteral\n | t.StringLiteral\n | t.BooleanLiteral\n | t.BigIntLiteral\n | t.TemplateLiteral\n | t.UnaryExpression,\n): t.TSLiteralType {\n const node: t.TSLiteralType = {\n type: \"TSLiteralType\",\n literal,\n };\n const defs = NODE_FIELDS.TSLiteralType;\n validate(defs.literal, node, \"literal\", literal, 1);\n return node;\n}\nexport { tsLiteralType as tSLiteralType };\nexport function tsExpressionWithTypeArguments(\n expression: t.TSEntityName,\n typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSExpressionWithTypeArguments {\n const node: t.TSExpressionWithTypeArguments = {\n type: \"TSExpressionWithTypeArguments\",\n expression,\n typeParameters,\n };\n const defs = NODE_FIELDS.TSExpressionWithTypeArguments;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nexport { tsExpressionWithTypeArguments as tSExpressionWithTypeArguments };\nexport function tsInterfaceDeclaration(\n id: t.Identifier,\n typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n _extends: Array | null | undefined = null,\n body: t.TSInterfaceBody,\n): t.TSInterfaceDeclaration {\n const node: t.TSInterfaceDeclaration = {\n type: \"TSInterfaceDeclaration\",\n id,\n typeParameters,\n extends: _extends,\n body,\n };\n const defs = NODE_FIELDS.TSInterfaceDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport { tsInterfaceDeclaration as tSInterfaceDeclaration };\nexport function tsInterfaceBody(\n body: Array,\n): t.TSInterfaceBody {\n const node: t.TSInterfaceBody = {\n type: \"TSInterfaceBody\",\n body,\n };\n const defs = NODE_FIELDS.TSInterfaceBody;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport { tsInterfaceBody as tSInterfaceBody };\nexport function tsTypeAliasDeclaration(\n id: t.Identifier,\n typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n typeAnnotation: t.TSType,\n): t.TSTypeAliasDeclaration {\n const node: t.TSTypeAliasDeclaration = {\n type: \"TSTypeAliasDeclaration\",\n id,\n typeParameters,\n typeAnnotation,\n };\n const defs = NODE_FIELDS.TSTypeAliasDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsTypeAliasDeclaration as tSTypeAliasDeclaration };\nexport function tsInstantiationExpression(\n expression: t.Expression,\n typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSInstantiationExpression {\n const node: t.TSInstantiationExpression = {\n type: \"TSInstantiationExpression\",\n expression,\n typeParameters,\n };\n const defs = NODE_FIELDS.TSInstantiationExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nexport { tsInstantiationExpression as tSInstantiationExpression };\nexport function tsAsExpression(\n expression: t.Expression,\n typeAnnotation: t.TSType,\n): t.TSAsExpression {\n const node: t.TSAsExpression = {\n type: \"TSAsExpression\",\n expression,\n typeAnnotation,\n };\n const defs = NODE_FIELDS.TSAsExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsAsExpression as tSAsExpression };\nexport function tsSatisfiesExpression(\n expression: t.Expression,\n typeAnnotation: t.TSType,\n): t.TSSatisfiesExpression {\n const node: t.TSSatisfiesExpression = {\n type: \"TSSatisfiesExpression\",\n expression,\n typeAnnotation,\n };\n const defs = NODE_FIELDS.TSSatisfiesExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsSatisfiesExpression as tSSatisfiesExpression };\nexport function tsTypeAssertion(\n typeAnnotation: t.TSType,\n expression: t.Expression,\n): t.TSTypeAssertion {\n const node: t.TSTypeAssertion = {\n type: \"TSTypeAssertion\",\n typeAnnotation,\n expression,\n };\n const defs = NODE_FIELDS.TSTypeAssertion;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nexport { tsTypeAssertion as tSTypeAssertion };\nexport function tsEnumDeclaration(\n id: t.Identifier,\n members: Array,\n): t.TSEnumDeclaration {\n const node: t.TSEnumDeclaration = {\n type: \"TSEnumDeclaration\",\n id,\n members,\n };\n const defs = NODE_FIELDS.TSEnumDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nexport { tsEnumDeclaration as tSEnumDeclaration };\nexport function tsEnumMember(\n id: t.Identifier | t.StringLiteral,\n initializer: t.Expression | null = null,\n): t.TSEnumMember {\n const node: t.TSEnumMember = {\n type: \"TSEnumMember\",\n id,\n initializer,\n };\n const defs = NODE_FIELDS.TSEnumMember;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.initializer, node, \"initializer\", initializer, 1);\n return node;\n}\nexport { tsEnumMember as tSEnumMember };\nexport function tsModuleDeclaration(\n id: t.Identifier | t.StringLiteral,\n body: t.TSModuleBlock | t.TSModuleDeclaration,\n): t.TSModuleDeclaration {\n const node: t.TSModuleDeclaration = {\n type: \"TSModuleDeclaration\",\n id,\n body,\n kind: null,\n };\n const defs = NODE_FIELDS.TSModuleDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport { tsModuleDeclaration as tSModuleDeclaration };\nexport function tsModuleBlock(body: Array): t.TSModuleBlock {\n const node: t.TSModuleBlock = {\n type: \"TSModuleBlock\",\n body,\n };\n const defs = NODE_FIELDS.TSModuleBlock;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nexport { tsModuleBlock as tSModuleBlock };\nexport function tsImportType(\n argument: t.StringLiteral,\n qualifier: t.TSEntityName | null = null,\n typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSImportType {\n const node: t.TSImportType = {\n type: \"TSImportType\",\n argument,\n qualifier,\n typeParameters,\n };\n const defs = NODE_FIELDS.TSImportType;\n validate(defs.argument, node, \"argument\", argument, 1);\n validate(defs.qualifier, node, \"qualifier\", qualifier, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nexport { tsImportType as tSImportType };\nexport function tsImportEqualsDeclaration(\n id: t.Identifier,\n moduleReference: t.TSEntityName | t.TSExternalModuleReference,\n): t.TSImportEqualsDeclaration {\n const node: t.TSImportEqualsDeclaration = {\n type: \"TSImportEqualsDeclaration\",\n id,\n moduleReference,\n isExport: null,\n };\n const defs = NODE_FIELDS.TSImportEqualsDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.moduleReference, node, \"moduleReference\", moduleReference, 1);\n return node;\n}\nexport { tsImportEqualsDeclaration as tSImportEqualsDeclaration };\nexport function tsExternalModuleReference(\n expression: t.StringLiteral,\n): t.TSExternalModuleReference {\n const node: t.TSExternalModuleReference = {\n type: \"TSExternalModuleReference\",\n expression,\n };\n const defs = NODE_FIELDS.TSExternalModuleReference;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nexport { tsExternalModuleReference as tSExternalModuleReference };\nexport function tsNonNullExpression(\n expression: t.Expression,\n): t.TSNonNullExpression {\n const node: t.TSNonNullExpression = {\n type: \"TSNonNullExpression\",\n expression,\n };\n const defs = NODE_FIELDS.TSNonNullExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nexport { tsNonNullExpression as tSNonNullExpression };\nexport function tsExportAssignment(\n expression: t.Expression,\n): t.TSExportAssignment {\n const node: t.TSExportAssignment = {\n type: \"TSExportAssignment\",\n expression,\n };\n const defs = NODE_FIELDS.TSExportAssignment;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nexport { tsExportAssignment as tSExportAssignment };\nexport function tsNamespaceExportDeclaration(\n id: t.Identifier,\n): t.TSNamespaceExportDeclaration {\n const node: t.TSNamespaceExportDeclaration = {\n type: \"TSNamespaceExportDeclaration\",\n id,\n };\n const defs = NODE_FIELDS.TSNamespaceExportDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nexport { tsNamespaceExportDeclaration as tSNamespaceExportDeclaration };\nexport function tsTypeAnnotation(typeAnnotation: t.TSType): t.TSTypeAnnotation {\n const node: t.TSTypeAnnotation = {\n type: \"TSTypeAnnotation\",\n typeAnnotation,\n };\n const defs = NODE_FIELDS.TSTypeAnnotation;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nexport { tsTypeAnnotation as tSTypeAnnotation };\nexport function tsTypeParameterInstantiation(\n params: Array,\n): t.TSTypeParameterInstantiation {\n const node: t.TSTypeParameterInstantiation = {\n type: \"TSTypeParameterInstantiation\",\n params,\n };\n const defs = NODE_FIELDS.TSTypeParameterInstantiation;\n validate(defs.params, node, \"params\", params, 1);\n return node;\n}\nexport { tsTypeParameterInstantiation as tSTypeParameterInstantiation };\nexport function tsTypeParameterDeclaration(\n params: Array,\n): t.TSTypeParameterDeclaration {\n const node: t.TSTypeParameterDeclaration = {\n type: \"TSTypeParameterDeclaration\",\n params,\n };\n const defs = NODE_FIELDS.TSTypeParameterDeclaration;\n validate(defs.params, node, \"params\", params, 1);\n return node;\n}\nexport { tsTypeParameterDeclaration as tSTypeParameterDeclaration };\nexport function tsTypeParameter(\n constraint: t.TSType | null | undefined = null,\n _default: t.TSType | null | undefined = null,\n name: string,\n): t.TSTypeParameter {\n const node: t.TSTypeParameter = {\n type: \"TSTypeParameter\",\n constraint,\n default: _default,\n name,\n };\n const defs = NODE_FIELDS.TSTypeParameter;\n validate(defs.constraint, node, \"constraint\", constraint, 1);\n validate(defs.default, node, \"default\", _default, 1);\n validate(defs.name, node, \"name\", name);\n return node;\n}\nexport { tsTypeParameter as tSTypeParameter };\n/** @deprecated */\nfunction NumberLiteral(value: number) {\n deprecationWarning(\"NumberLiteral\", \"NumericLiteral\", \"The node type \");\n return numericLiteral(value);\n}\nexport { NumberLiteral as numberLiteral };\n/** @deprecated */\nfunction RegexLiteral(pattern: string, flags: string = \"\") {\n deprecationWarning(\"RegexLiteral\", \"RegExpLiteral\", \"The node type \");\n return regExpLiteral(pattern, flags);\n}\nexport { RegexLiteral as regexLiteral };\n/** @deprecated */\nfunction RestProperty(argument: t.LVal) {\n deprecationWarning(\"RestProperty\", \"RestElement\", \"The node type \");\n return restElement(argument);\n}\nexport { RestProperty as restProperty };\n/** @deprecated */\nfunction SpreadProperty(argument: t.Expression) {\n deprecationWarning(\"SpreadProperty\", \"SpreadElement\", \"The node type \");\n return spreadElement(argument);\n}\nexport { SpreadProperty as spreadProperty };\n", "import { stringLiteral } from \"../../builders/generated/index.ts\";\nimport type * as t from \"../../index.ts\";\nimport { inherits } from \"../../index.ts\";\n\nexport default function cleanJSXElementLiteralChild(\n child: t.JSXText,\n args: Array,\n) {\n const lines = child.value.split(/\\r\\n|\\n|\\r/);\n\n let lastNonEmptyLine = 0;\n\n for (let i = 0; i < lines.length; i++) {\n if (/[^ \\t]/.exec(lines[i])) {\n lastNonEmptyLine = i;\n }\n }\n\n let str = \"\";\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n\n const isFirstLine = i === 0;\n const isLastLine = i === lines.length - 1;\n const isLastNonEmptyLine = i === lastNonEmptyLine;\n\n // replace rendered whitespace tabs with spaces\n let trimmedLine = line.replace(/\\t/g, \" \");\n\n // trim whitespace touching a newline\n if (!isFirstLine) {\n trimmedLine = trimmedLine.replace(/^ +/, \"\");\n }\n\n // trim whitespace touching an endline\n if (!isLastLine) {\n trimmedLine = trimmedLine.replace(/ +$/, \"\");\n }\n\n if (trimmedLine) {\n if (!isLastNonEmptyLine) {\n trimmedLine += \" \";\n }\n\n str += trimmedLine;\n }\n }\n\n if (str) args.push(inherits(stringLiteral(str), child));\n}\n", "import {\n isJSXText,\n isJSXExpressionContainer,\n isJSXEmptyExpression,\n} from \"../../validators/generated/index.ts\";\nimport cleanJSXElementLiteralChild from \"../../utils/react/cleanJSXElementLiteralChild.ts\";\nimport type * as t from \"../../index.ts\";\n\ntype ReturnedChild =\n | t.JSXSpreadChild\n | t.JSXElement\n | t.JSXFragment\n | t.Expression;\n\nexport default function buildChildren(\n node: t.JSXElement | t.JSXFragment,\n): ReturnedChild[] {\n const elements = [];\n\n for (let i = 0; i < node.children.length; i++) {\n let child: any = node.children[i];\n\n if (isJSXText(child)) {\n cleanJSXElementLiteralChild(child, elements);\n continue;\n }\n\n if (isJSXExpressionContainer(child)) child = child.expression;\n if (isJSXEmptyExpression(child)) continue;\n\n elements.push(child);\n }\n\n return elements;\n}\n", "import { VISITOR_KEYS } from \"../definitions/index.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default function isNode(node: any): node is t.Node {\n return !!(node && VISITOR_KEYS[node.type]);\n}\n", "import isNode from \"../validators/isNode.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default function assertNode(node?: any): asserts node is t.Node {\n if (!isNode(node)) {\n const type = node?.type ?? JSON.stringify(node);\n throw new TypeError(`Not a valid node of type \"${type}\"`);\n }\n}\n", "/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate run 'make build'\n */\nimport is from \"../../validators/is.ts\";\nimport type * as t from \"../../index.ts\";\nimport deprecationWarning from \"../../utils/deprecationWarning.ts\";\n\nfunction assert(type: string, node: any, opts?: any): void {\n if (!is(type, node, opts)) {\n throw new Error(\n `Expected type \"${type}\" with option ${JSON.stringify(opts)}, ` +\n `but instead got \"${node.type}\".`,\n );\n }\n}\n\nexport function assertArrayExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ArrayExpression {\n assert(\"ArrayExpression\", node, opts);\n}\nexport function assertAssignmentExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.AssignmentExpression {\n assert(\"AssignmentExpression\", node, opts);\n}\nexport function assertBinaryExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BinaryExpression {\n assert(\"BinaryExpression\", node, opts);\n}\nexport function assertInterpreterDirective(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.InterpreterDirective {\n assert(\"InterpreterDirective\", node, opts);\n}\nexport function assertDirective(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Directive {\n assert(\"Directive\", node, opts);\n}\nexport function assertDirectiveLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DirectiveLiteral {\n assert(\"DirectiveLiteral\", node, opts);\n}\nexport function assertBlockStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BlockStatement {\n assert(\"BlockStatement\", node, opts);\n}\nexport function assertBreakStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BreakStatement {\n assert(\"BreakStatement\", node, opts);\n}\nexport function assertCallExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.CallExpression {\n assert(\"CallExpression\", node, opts);\n}\nexport function assertCatchClause(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.CatchClause {\n assert(\"CatchClause\", node, opts);\n}\nexport function assertConditionalExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ConditionalExpression {\n assert(\"ConditionalExpression\", node, opts);\n}\nexport function assertContinueStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ContinueStatement {\n assert(\"ContinueStatement\", node, opts);\n}\nexport function assertDebuggerStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DebuggerStatement {\n assert(\"DebuggerStatement\", node, opts);\n}\nexport function assertDoWhileStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DoWhileStatement {\n assert(\"DoWhileStatement\", node, opts);\n}\nexport function assertEmptyStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EmptyStatement {\n assert(\"EmptyStatement\", node, opts);\n}\nexport function assertExpressionStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExpressionStatement {\n assert(\"ExpressionStatement\", node, opts);\n}\nexport function assertFile(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.File {\n assert(\"File\", node, opts);\n}\nexport function assertForInStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ForInStatement {\n assert(\"ForInStatement\", node, opts);\n}\nexport function assertForStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ForStatement {\n assert(\"ForStatement\", node, opts);\n}\nexport function assertFunctionDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FunctionDeclaration {\n assert(\"FunctionDeclaration\", node, opts);\n}\nexport function assertFunctionExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FunctionExpression {\n assert(\"FunctionExpression\", node, opts);\n}\nexport function assertIdentifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Identifier {\n assert(\"Identifier\", node, opts);\n}\nexport function assertIfStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.IfStatement {\n assert(\"IfStatement\", node, opts);\n}\nexport function assertLabeledStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.LabeledStatement {\n assert(\"LabeledStatement\", node, opts);\n}\nexport function assertStringLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.StringLiteral {\n assert(\"StringLiteral\", node, opts);\n}\nexport function assertNumericLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.NumericLiteral {\n assert(\"NumericLiteral\", node, opts);\n}\nexport function assertNullLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.NullLiteral {\n assert(\"NullLiteral\", node, opts);\n}\nexport function assertBooleanLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BooleanLiteral {\n assert(\"BooleanLiteral\", node, opts);\n}\nexport function assertRegExpLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.RegExpLiteral {\n assert(\"RegExpLiteral\", node, opts);\n}\nexport function assertLogicalExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.LogicalExpression {\n assert(\"LogicalExpression\", node, opts);\n}\nexport function assertMemberExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.MemberExpression {\n assert(\"MemberExpression\", node, opts);\n}\nexport function assertNewExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.NewExpression {\n assert(\"NewExpression\", node, opts);\n}\nexport function assertProgram(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Program {\n assert(\"Program\", node, opts);\n}\nexport function assertObjectExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectExpression {\n assert(\"ObjectExpression\", node, opts);\n}\nexport function assertObjectMethod(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectMethod {\n assert(\"ObjectMethod\", node, opts);\n}\nexport function assertObjectProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectProperty {\n assert(\"ObjectProperty\", node, opts);\n}\nexport function assertRestElement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.RestElement {\n assert(\"RestElement\", node, opts);\n}\nexport function assertReturnStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ReturnStatement {\n assert(\"ReturnStatement\", node, opts);\n}\nexport function assertSequenceExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.SequenceExpression {\n assert(\"SequenceExpression\", node, opts);\n}\nexport function assertParenthesizedExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ParenthesizedExpression {\n assert(\"ParenthesizedExpression\", node, opts);\n}\nexport function assertSwitchCase(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.SwitchCase {\n assert(\"SwitchCase\", node, opts);\n}\nexport function assertSwitchStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.SwitchStatement {\n assert(\"SwitchStatement\", node, opts);\n}\nexport function assertThisExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ThisExpression {\n assert(\"ThisExpression\", node, opts);\n}\nexport function assertThrowStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ThrowStatement {\n assert(\"ThrowStatement\", node, opts);\n}\nexport function assertTryStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TryStatement {\n assert(\"TryStatement\", node, opts);\n}\nexport function assertUnaryExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.UnaryExpression {\n assert(\"UnaryExpression\", node, opts);\n}\nexport function assertUpdateExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.UpdateExpression {\n assert(\"UpdateExpression\", node, opts);\n}\nexport function assertVariableDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.VariableDeclaration {\n assert(\"VariableDeclaration\", node, opts);\n}\nexport function assertVariableDeclarator(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.VariableDeclarator {\n assert(\"VariableDeclarator\", node, opts);\n}\nexport function assertWhileStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.WhileStatement {\n assert(\"WhileStatement\", node, opts);\n}\nexport function assertWithStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.WithStatement {\n assert(\"WithStatement\", node, opts);\n}\nexport function assertAssignmentPattern(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.AssignmentPattern {\n assert(\"AssignmentPattern\", node, opts);\n}\nexport function assertArrayPattern(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ArrayPattern {\n assert(\"ArrayPattern\", node, opts);\n}\nexport function assertArrowFunctionExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ArrowFunctionExpression {\n assert(\"ArrowFunctionExpression\", node, opts);\n}\nexport function assertClassBody(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassBody {\n assert(\"ClassBody\", node, opts);\n}\nexport function assertClassExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassExpression {\n assert(\"ClassExpression\", node, opts);\n}\nexport function assertClassDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassDeclaration {\n assert(\"ClassDeclaration\", node, opts);\n}\nexport function assertExportAllDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExportAllDeclaration {\n assert(\"ExportAllDeclaration\", node, opts);\n}\nexport function assertExportDefaultDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExportDefaultDeclaration {\n assert(\"ExportDefaultDeclaration\", node, opts);\n}\nexport function assertExportNamedDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExportNamedDeclaration {\n assert(\"ExportNamedDeclaration\", node, opts);\n}\nexport function assertExportSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExportSpecifier {\n assert(\"ExportSpecifier\", node, opts);\n}\nexport function assertForOfStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ForOfStatement {\n assert(\"ForOfStatement\", node, opts);\n}\nexport function assertImportDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ImportDeclaration {\n assert(\"ImportDeclaration\", node, opts);\n}\nexport function assertImportDefaultSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ImportDefaultSpecifier {\n assert(\"ImportDefaultSpecifier\", node, opts);\n}\nexport function assertImportNamespaceSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ImportNamespaceSpecifier {\n assert(\"ImportNamespaceSpecifier\", node, opts);\n}\nexport function assertImportSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ImportSpecifier {\n assert(\"ImportSpecifier\", node, opts);\n}\nexport function assertImportExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ImportExpression {\n assert(\"ImportExpression\", node, opts);\n}\nexport function assertMetaProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.MetaProperty {\n assert(\"MetaProperty\", node, opts);\n}\nexport function assertClassMethod(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassMethod {\n assert(\"ClassMethod\", node, opts);\n}\nexport function assertObjectPattern(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectPattern {\n assert(\"ObjectPattern\", node, opts);\n}\nexport function assertSpreadElement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.SpreadElement {\n assert(\"SpreadElement\", node, opts);\n}\nexport function assertSuper(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Super {\n assert(\"Super\", node, opts);\n}\nexport function assertTaggedTemplateExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TaggedTemplateExpression {\n assert(\"TaggedTemplateExpression\", node, opts);\n}\nexport function assertTemplateElement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TemplateElement {\n assert(\"TemplateElement\", node, opts);\n}\nexport function assertTemplateLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TemplateLiteral {\n assert(\"TemplateLiteral\", node, opts);\n}\nexport function assertYieldExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.YieldExpression {\n assert(\"YieldExpression\", node, opts);\n}\nexport function assertAwaitExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.AwaitExpression {\n assert(\"AwaitExpression\", node, opts);\n}\nexport function assertImport(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Import {\n assert(\"Import\", node, opts);\n}\nexport function assertBigIntLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BigIntLiteral {\n assert(\"BigIntLiteral\", node, opts);\n}\nexport function assertExportNamespaceSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExportNamespaceSpecifier {\n assert(\"ExportNamespaceSpecifier\", node, opts);\n}\nexport function assertOptionalMemberExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.OptionalMemberExpression {\n assert(\"OptionalMemberExpression\", node, opts);\n}\nexport function assertOptionalCallExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.OptionalCallExpression {\n assert(\"OptionalCallExpression\", node, opts);\n}\nexport function assertClassProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassProperty {\n assert(\"ClassProperty\", node, opts);\n}\nexport function assertClassAccessorProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassAccessorProperty {\n assert(\"ClassAccessorProperty\", node, opts);\n}\nexport function assertClassPrivateProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassPrivateProperty {\n assert(\"ClassPrivateProperty\", node, opts);\n}\nexport function assertClassPrivateMethod(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassPrivateMethod {\n assert(\"ClassPrivateMethod\", node, opts);\n}\nexport function assertPrivateName(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.PrivateName {\n assert(\"PrivateName\", node, opts);\n}\nexport function assertStaticBlock(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.StaticBlock {\n assert(\"StaticBlock\", node, opts);\n}\nexport function assertAnyTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.AnyTypeAnnotation {\n assert(\"AnyTypeAnnotation\", node, opts);\n}\nexport function assertArrayTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ArrayTypeAnnotation {\n assert(\"ArrayTypeAnnotation\", node, opts);\n}\nexport function assertBooleanTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BooleanTypeAnnotation {\n assert(\"BooleanTypeAnnotation\", node, opts);\n}\nexport function assertBooleanLiteralTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BooleanLiteralTypeAnnotation {\n assert(\"BooleanLiteralTypeAnnotation\", node, opts);\n}\nexport function assertNullLiteralTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.NullLiteralTypeAnnotation {\n assert(\"NullLiteralTypeAnnotation\", node, opts);\n}\nexport function assertClassImplements(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassImplements {\n assert(\"ClassImplements\", node, opts);\n}\nexport function assertDeclareClass(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareClass {\n assert(\"DeclareClass\", node, opts);\n}\nexport function assertDeclareFunction(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareFunction {\n assert(\"DeclareFunction\", node, opts);\n}\nexport function assertDeclareInterface(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareInterface {\n assert(\"DeclareInterface\", node, opts);\n}\nexport function assertDeclareModule(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareModule {\n assert(\"DeclareModule\", node, opts);\n}\nexport function assertDeclareModuleExports(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareModuleExports {\n assert(\"DeclareModuleExports\", node, opts);\n}\nexport function assertDeclareTypeAlias(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareTypeAlias {\n assert(\"DeclareTypeAlias\", node, opts);\n}\nexport function assertDeclareOpaqueType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareOpaqueType {\n assert(\"DeclareOpaqueType\", node, opts);\n}\nexport function assertDeclareVariable(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareVariable {\n assert(\"DeclareVariable\", node, opts);\n}\nexport function assertDeclareExportDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareExportDeclaration {\n assert(\"DeclareExportDeclaration\", node, opts);\n}\nexport function assertDeclareExportAllDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareExportAllDeclaration {\n assert(\"DeclareExportAllDeclaration\", node, opts);\n}\nexport function assertDeclaredPredicate(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclaredPredicate {\n assert(\"DeclaredPredicate\", node, opts);\n}\nexport function assertExistsTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExistsTypeAnnotation {\n assert(\"ExistsTypeAnnotation\", node, opts);\n}\nexport function assertFunctionTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FunctionTypeAnnotation {\n assert(\"FunctionTypeAnnotation\", node, opts);\n}\nexport function assertFunctionTypeParam(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FunctionTypeParam {\n assert(\"FunctionTypeParam\", node, opts);\n}\nexport function assertGenericTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.GenericTypeAnnotation {\n assert(\"GenericTypeAnnotation\", node, opts);\n}\nexport function assertInferredPredicate(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.InferredPredicate {\n assert(\"InferredPredicate\", node, opts);\n}\nexport function assertInterfaceExtends(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.InterfaceExtends {\n assert(\"InterfaceExtends\", node, opts);\n}\nexport function assertInterfaceDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.InterfaceDeclaration {\n assert(\"InterfaceDeclaration\", node, opts);\n}\nexport function assertInterfaceTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.InterfaceTypeAnnotation {\n assert(\"InterfaceTypeAnnotation\", node, opts);\n}\nexport function assertIntersectionTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.IntersectionTypeAnnotation {\n assert(\"IntersectionTypeAnnotation\", node, opts);\n}\nexport function assertMixedTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.MixedTypeAnnotation {\n assert(\"MixedTypeAnnotation\", node, opts);\n}\nexport function assertEmptyTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EmptyTypeAnnotation {\n assert(\"EmptyTypeAnnotation\", node, opts);\n}\nexport function assertNullableTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.NullableTypeAnnotation {\n assert(\"NullableTypeAnnotation\", node, opts);\n}\nexport function assertNumberLiteralTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.NumberLiteralTypeAnnotation {\n assert(\"NumberLiteralTypeAnnotation\", node, opts);\n}\nexport function assertNumberTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.NumberTypeAnnotation {\n assert(\"NumberTypeAnnotation\", node, opts);\n}\nexport function assertObjectTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectTypeAnnotation {\n assert(\"ObjectTypeAnnotation\", node, opts);\n}\nexport function assertObjectTypeInternalSlot(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectTypeInternalSlot {\n assert(\"ObjectTypeInternalSlot\", node, opts);\n}\nexport function assertObjectTypeCallProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectTypeCallProperty {\n assert(\"ObjectTypeCallProperty\", node, opts);\n}\nexport function assertObjectTypeIndexer(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectTypeIndexer {\n assert(\"ObjectTypeIndexer\", node, opts);\n}\nexport function assertObjectTypeProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectTypeProperty {\n assert(\"ObjectTypeProperty\", node, opts);\n}\nexport function assertObjectTypeSpreadProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectTypeSpreadProperty {\n assert(\"ObjectTypeSpreadProperty\", node, opts);\n}\nexport function assertOpaqueType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.OpaqueType {\n assert(\"OpaqueType\", node, opts);\n}\nexport function assertQualifiedTypeIdentifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.QualifiedTypeIdentifier {\n assert(\"QualifiedTypeIdentifier\", node, opts);\n}\nexport function assertStringLiteralTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.StringLiteralTypeAnnotation {\n assert(\"StringLiteralTypeAnnotation\", node, opts);\n}\nexport function assertStringTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.StringTypeAnnotation {\n assert(\"StringTypeAnnotation\", node, opts);\n}\nexport function assertSymbolTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.SymbolTypeAnnotation {\n assert(\"SymbolTypeAnnotation\", node, opts);\n}\nexport function assertThisTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ThisTypeAnnotation {\n assert(\"ThisTypeAnnotation\", node, opts);\n}\nexport function assertTupleTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TupleTypeAnnotation {\n assert(\"TupleTypeAnnotation\", node, opts);\n}\nexport function assertTypeofTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeofTypeAnnotation {\n assert(\"TypeofTypeAnnotation\", node, opts);\n}\nexport function assertTypeAlias(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeAlias {\n assert(\"TypeAlias\", node, opts);\n}\nexport function assertTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeAnnotation {\n assert(\"TypeAnnotation\", node, opts);\n}\nexport function assertTypeCastExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeCastExpression {\n assert(\"TypeCastExpression\", node, opts);\n}\nexport function assertTypeParameter(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeParameter {\n assert(\"TypeParameter\", node, opts);\n}\nexport function assertTypeParameterDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeParameterDeclaration {\n assert(\"TypeParameterDeclaration\", node, opts);\n}\nexport function assertTypeParameterInstantiation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeParameterInstantiation {\n assert(\"TypeParameterInstantiation\", node, opts);\n}\nexport function assertUnionTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.UnionTypeAnnotation {\n assert(\"UnionTypeAnnotation\", node, opts);\n}\nexport function assertVariance(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Variance {\n assert(\"Variance\", node, opts);\n}\nexport function assertVoidTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.VoidTypeAnnotation {\n assert(\"VoidTypeAnnotation\", node, opts);\n}\nexport function assertEnumDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumDeclaration {\n assert(\"EnumDeclaration\", node, opts);\n}\nexport function assertEnumBooleanBody(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumBooleanBody {\n assert(\"EnumBooleanBody\", node, opts);\n}\nexport function assertEnumNumberBody(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumNumberBody {\n assert(\"EnumNumberBody\", node, opts);\n}\nexport function assertEnumStringBody(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumStringBody {\n assert(\"EnumStringBody\", node, opts);\n}\nexport function assertEnumSymbolBody(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumSymbolBody {\n assert(\"EnumSymbolBody\", node, opts);\n}\nexport function assertEnumBooleanMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumBooleanMember {\n assert(\"EnumBooleanMember\", node, opts);\n}\nexport function assertEnumNumberMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumNumberMember {\n assert(\"EnumNumberMember\", node, opts);\n}\nexport function assertEnumStringMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumStringMember {\n assert(\"EnumStringMember\", node, opts);\n}\nexport function assertEnumDefaultedMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumDefaultedMember {\n assert(\"EnumDefaultedMember\", node, opts);\n}\nexport function assertIndexedAccessType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.IndexedAccessType {\n assert(\"IndexedAccessType\", node, opts);\n}\nexport function assertOptionalIndexedAccessType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.OptionalIndexedAccessType {\n assert(\"OptionalIndexedAccessType\", node, opts);\n}\nexport function assertJSXAttribute(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXAttribute {\n assert(\"JSXAttribute\", node, opts);\n}\nexport function assertJSXClosingElement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXClosingElement {\n assert(\"JSXClosingElement\", node, opts);\n}\nexport function assertJSXElement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXElement {\n assert(\"JSXElement\", node, opts);\n}\nexport function assertJSXEmptyExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXEmptyExpression {\n assert(\"JSXEmptyExpression\", node, opts);\n}\nexport function assertJSXExpressionContainer(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXExpressionContainer {\n assert(\"JSXExpressionContainer\", node, opts);\n}\nexport function assertJSXSpreadChild(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXSpreadChild {\n assert(\"JSXSpreadChild\", node, opts);\n}\nexport function assertJSXIdentifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXIdentifier {\n assert(\"JSXIdentifier\", node, opts);\n}\nexport function assertJSXMemberExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXMemberExpression {\n assert(\"JSXMemberExpression\", node, opts);\n}\nexport function assertJSXNamespacedName(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXNamespacedName {\n assert(\"JSXNamespacedName\", node, opts);\n}\nexport function assertJSXOpeningElement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXOpeningElement {\n assert(\"JSXOpeningElement\", node, opts);\n}\nexport function assertJSXSpreadAttribute(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXSpreadAttribute {\n assert(\"JSXSpreadAttribute\", node, opts);\n}\nexport function assertJSXText(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXText {\n assert(\"JSXText\", node, opts);\n}\nexport function assertJSXFragment(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXFragment {\n assert(\"JSXFragment\", node, opts);\n}\nexport function assertJSXOpeningFragment(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXOpeningFragment {\n assert(\"JSXOpeningFragment\", node, opts);\n}\nexport function assertJSXClosingFragment(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXClosingFragment {\n assert(\"JSXClosingFragment\", node, opts);\n}\nexport function assertNoop(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Noop {\n assert(\"Noop\", node, opts);\n}\nexport function assertPlaceholder(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Placeholder {\n assert(\"Placeholder\", node, opts);\n}\nexport function assertV8IntrinsicIdentifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.V8IntrinsicIdentifier {\n assert(\"V8IntrinsicIdentifier\", node, opts);\n}\nexport function assertArgumentPlaceholder(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ArgumentPlaceholder {\n assert(\"ArgumentPlaceholder\", node, opts);\n}\nexport function assertBindExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BindExpression {\n assert(\"BindExpression\", node, opts);\n}\nexport function assertImportAttribute(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ImportAttribute {\n assert(\"ImportAttribute\", node, opts);\n}\nexport function assertDecorator(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Decorator {\n assert(\"Decorator\", node, opts);\n}\nexport function assertDoExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DoExpression {\n assert(\"DoExpression\", node, opts);\n}\nexport function assertExportDefaultSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExportDefaultSpecifier {\n assert(\"ExportDefaultSpecifier\", node, opts);\n}\nexport function assertRecordExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.RecordExpression {\n assert(\"RecordExpression\", node, opts);\n}\nexport function assertTupleExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TupleExpression {\n assert(\"TupleExpression\", node, opts);\n}\nexport function assertDecimalLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DecimalLiteral {\n assert(\"DecimalLiteral\", node, opts);\n}\nexport function assertModuleExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ModuleExpression {\n assert(\"ModuleExpression\", node, opts);\n}\nexport function assertTopicReference(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TopicReference {\n assert(\"TopicReference\", node, opts);\n}\nexport function assertPipelineTopicExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.PipelineTopicExpression {\n assert(\"PipelineTopicExpression\", node, opts);\n}\nexport function assertPipelineBareFunction(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.PipelineBareFunction {\n assert(\"PipelineBareFunction\", node, opts);\n}\nexport function assertPipelinePrimaryTopicReference(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.PipelinePrimaryTopicReference {\n assert(\"PipelinePrimaryTopicReference\", node, opts);\n}\nexport function assertTSParameterProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSParameterProperty {\n assert(\"TSParameterProperty\", node, opts);\n}\nexport function assertTSDeclareFunction(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSDeclareFunction {\n assert(\"TSDeclareFunction\", node, opts);\n}\nexport function assertTSDeclareMethod(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSDeclareMethod {\n assert(\"TSDeclareMethod\", node, opts);\n}\nexport function assertTSQualifiedName(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSQualifiedName {\n assert(\"TSQualifiedName\", node, opts);\n}\nexport function assertTSCallSignatureDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSCallSignatureDeclaration {\n assert(\"TSCallSignatureDeclaration\", node, opts);\n}\nexport function assertTSConstructSignatureDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSConstructSignatureDeclaration {\n assert(\"TSConstructSignatureDeclaration\", node, opts);\n}\nexport function assertTSPropertySignature(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSPropertySignature {\n assert(\"TSPropertySignature\", node, opts);\n}\nexport function assertTSMethodSignature(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSMethodSignature {\n assert(\"TSMethodSignature\", node, opts);\n}\nexport function assertTSIndexSignature(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSIndexSignature {\n assert(\"TSIndexSignature\", node, opts);\n}\nexport function assertTSAnyKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSAnyKeyword {\n assert(\"TSAnyKeyword\", node, opts);\n}\nexport function assertTSBooleanKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSBooleanKeyword {\n assert(\"TSBooleanKeyword\", node, opts);\n}\nexport function assertTSBigIntKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSBigIntKeyword {\n assert(\"TSBigIntKeyword\", node, opts);\n}\nexport function assertTSIntrinsicKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSIntrinsicKeyword {\n assert(\"TSIntrinsicKeyword\", node, opts);\n}\nexport function assertTSNeverKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSNeverKeyword {\n assert(\"TSNeverKeyword\", node, opts);\n}\nexport function assertTSNullKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSNullKeyword {\n assert(\"TSNullKeyword\", node, opts);\n}\nexport function assertTSNumberKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSNumberKeyword {\n assert(\"TSNumberKeyword\", node, opts);\n}\nexport function assertTSObjectKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSObjectKeyword {\n assert(\"TSObjectKeyword\", node, opts);\n}\nexport function assertTSStringKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSStringKeyword {\n assert(\"TSStringKeyword\", node, opts);\n}\nexport function assertTSSymbolKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSSymbolKeyword {\n assert(\"TSSymbolKeyword\", node, opts);\n}\nexport function assertTSUndefinedKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSUndefinedKeyword {\n assert(\"TSUndefinedKeyword\", node, opts);\n}\nexport function assertTSUnknownKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSUnknownKeyword {\n assert(\"TSUnknownKeyword\", node, opts);\n}\nexport function assertTSVoidKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSVoidKeyword {\n assert(\"TSVoidKeyword\", node, opts);\n}\nexport function assertTSThisType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSThisType {\n assert(\"TSThisType\", node, opts);\n}\nexport function assertTSFunctionType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSFunctionType {\n assert(\"TSFunctionType\", node, opts);\n}\nexport function assertTSConstructorType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSConstructorType {\n assert(\"TSConstructorType\", node, opts);\n}\nexport function assertTSTypeReference(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeReference {\n assert(\"TSTypeReference\", node, opts);\n}\nexport function assertTSTypePredicate(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypePredicate {\n assert(\"TSTypePredicate\", node, opts);\n}\nexport function assertTSTypeQuery(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeQuery {\n assert(\"TSTypeQuery\", node, opts);\n}\nexport function assertTSTypeLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeLiteral {\n assert(\"TSTypeLiteral\", node, opts);\n}\nexport function assertTSArrayType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSArrayType {\n assert(\"TSArrayType\", node, opts);\n}\nexport function assertTSTupleType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTupleType {\n assert(\"TSTupleType\", node, opts);\n}\nexport function assertTSOptionalType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSOptionalType {\n assert(\"TSOptionalType\", node, opts);\n}\nexport function assertTSRestType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSRestType {\n assert(\"TSRestType\", node, opts);\n}\nexport function assertTSNamedTupleMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSNamedTupleMember {\n assert(\"TSNamedTupleMember\", node, opts);\n}\nexport function assertTSUnionType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSUnionType {\n assert(\"TSUnionType\", node, opts);\n}\nexport function assertTSIntersectionType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSIntersectionType {\n assert(\"TSIntersectionType\", node, opts);\n}\nexport function assertTSConditionalType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSConditionalType {\n assert(\"TSConditionalType\", node, opts);\n}\nexport function assertTSInferType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSInferType {\n assert(\"TSInferType\", node, opts);\n}\nexport function assertTSParenthesizedType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSParenthesizedType {\n assert(\"TSParenthesizedType\", node, opts);\n}\nexport function assertTSTypeOperator(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeOperator {\n assert(\"TSTypeOperator\", node, opts);\n}\nexport function assertTSIndexedAccessType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSIndexedAccessType {\n assert(\"TSIndexedAccessType\", node, opts);\n}\nexport function assertTSMappedType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSMappedType {\n assert(\"TSMappedType\", node, opts);\n}\nexport function assertTSLiteralType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSLiteralType {\n assert(\"TSLiteralType\", node, opts);\n}\nexport function assertTSExpressionWithTypeArguments(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSExpressionWithTypeArguments {\n assert(\"TSExpressionWithTypeArguments\", node, opts);\n}\nexport function assertTSInterfaceDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSInterfaceDeclaration {\n assert(\"TSInterfaceDeclaration\", node, opts);\n}\nexport function assertTSInterfaceBody(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSInterfaceBody {\n assert(\"TSInterfaceBody\", node, opts);\n}\nexport function assertTSTypeAliasDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeAliasDeclaration {\n assert(\"TSTypeAliasDeclaration\", node, opts);\n}\nexport function assertTSInstantiationExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSInstantiationExpression {\n assert(\"TSInstantiationExpression\", node, opts);\n}\nexport function assertTSAsExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSAsExpression {\n assert(\"TSAsExpression\", node, opts);\n}\nexport function assertTSSatisfiesExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSSatisfiesExpression {\n assert(\"TSSatisfiesExpression\", node, opts);\n}\nexport function assertTSTypeAssertion(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeAssertion {\n assert(\"TSTypeAssertion\", node, opts);\n}\nexport function assertTSEnumDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSEnumDeclaration {\n assert(\"TSEnumDeclaration\", node, opts);\n}\nexport function assertTSEnumMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSEnumMember {\n assert(\"TSEnumMember\", node, opts);\n}\nexport function assertTSModuleDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSModuleDeclaration {\n assert(\"TSModuleDeclaration\", node, opts);\n}\nexport function assertTSModuleBlock(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSModuleBlock {\n assert(\"TSModuleBlock\", node, opts);\n}\nexport function assertTSImportType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSImportType {\n assert(\"TSImportType\", node, opts);\n}\nexport function assertTSImportEqualsDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSImportEqualsDeclaration {\n assert(\"TSImportEqualsDeclaration\", node, opts);\n}\nexport function assertTSExternalModuleReference(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSExternalModuleReference {\n assert(\"TSExternalModuleReference\", node, opts);\n}\nexport function assertTSNonNullExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSNonNullExpression {\n assert(\"TSNonNullExpression\", node, opts);\n}\nexport function assertTSExportAssignment(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSExportAssignment {\n assert(\"TSExportAssignment\", node, opts);\n}\nexport function assertTSNamespaceExportDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSNamespaceExportDeclaration {\n assert(\"TSNamespaceExportDeclaration\", node, opts);\n}\nexport function assertTSTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeAnnotation {\n assert(\"TSTypeAnnotation\", node, opts);\n}\nexport function assertTSTypeParameterInstantiation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeParameterInstantiation {\n assert(\"TSTypeParameterInstantiation\", node, opts);\n}\nexport function assertTSTypeParameterDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeParameterDeclaration {\n assert(\"TSTypeParameterDeclaration\", node, opts);\n}\nexport function assertTSTypeParameter(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeParameter {\n assert(\"TSTypeParameter\", node, opts);\n}\nexport function assertStandardized(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Standardized {\n assert(\"Standardized\", node, opts);\n}\nexport function assertExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Expression {\n assert(\"Expression\", node, opts);\n}\nexport function assertBinary(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Binary {\n assert(\"Binary\", node, opts);\n}\nexport function assertScopable(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Scopable {\n assert(\"Scopable\", node, opts);\n}\nexport function assertBlockParent(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BlockParent {\n assert(\"BlockParent\", node, opts);\n}\nexport function assertBlock(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Block {\n assert(\"Block\", node, opts);\n}\nexport function assertStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Statement {\n assert(\"Statement\", node, opts);\n}\nexport function assertTerminatorless(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Terminatorless {\n assert(\"Terminatorless\", node, opts);\n}\nexport function assertCompletionStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.CompletionStatement {\n assert(\"CompletionStatement\", node, opts);\n}\nexport function assertConditional(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Conditional {\n assert(\"Conditional\", node, opts);\n}\nexport function assertLoop(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Loop {\n assert(\"Loop\", node, opts);\n}\nexport function assertWhile(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.While {\n assert(\"While\", node, opts);\n}\nexport function assertExpressionWrapper(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExpressionWrapper {\n assert(\"ExpressionWrapper\", node, opts);\n}\nexport function assertFor(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.For {\n assert(\"For\", node, opts);\n}\nexport function assertForXStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ForXStatement {\n assert(\"ForXStatement\", node, opts);\n}\nexport function assertFunction(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Function {\n assert(\"Function\", node, opts);\n}\nexport function assertFunctionParent(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FunctionParent {\n assert(\"FunctionParent\", node, opts);\n}\nexport function assertPureish(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Pureish {\n assert(\"Pureish\", node, opts);\n}\nexport function assertDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Declaration {\n assert(\"Declaration\", node, opts);\n}\nexport function assertPatternLike(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.PatternLike {\n assert(\"PatternLike\", node, opts);\n}\nexport function assertLVal(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.LVal {\n assert(\"LVal\", node, opts);\n}\nexport function assertTSEntityName(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSEntityName {\n assert(\"TSEntityName\", node, opts);\n}\nexport function assertLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Literal {\n assert(\"Literal\", node, opts);\n}\nexport function assertImmutable(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Immutable {\n assert(\"Immutable\", node, opts);\n}\nexport function assertUserWhitespacable(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.UserWhitespacable {\n assert(\"UserWhitespacable\", node, opts);\n}\nexport function assertMethod(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Method {\n assert(\"Method\", node, opts);\n}\nexport function assertObjectMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectMember {\n assert(\"ObjectMember\", node, opts);\n}\nexport function assertProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Property {\n assert(\"Property\", node, opts);\n}\nexport function assertUnaryLike(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.UnaryLike {\n assert(\"UnaryLike\", node, opts);\n}\nexport function assertPattern(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Pattern {\n assert(\"Pattern\", node, opts);\n}\nexport function assertClass(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Class {\n assert(\"Class\", node, opts);\n}\nexport function assertImportOrExportDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ImportOrExportDeclaration {\n assert(\"ImportOrExportDeclaration\", node, opts);\n}\nexport function assertExportDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExportDeclaration {\n assert(\"ExportDeclaration\", node, opts);\n}\nexport function assertModuleSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ModuleSpecifier {\n assert(\"ModuleSpecifier\", node, opts);\n}\nexport function assertAccessor(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Accessor {\n assert(\"Accessor\", node, opts);\n}\nexport function assertPrivate(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Private {\n assert(\"Private\", node, opts);\n}\nexport function assertFlow(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Flow {\n assert(\"Flow\", node, opts);\n}\nexport function assertFlowType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FlowType {\n assert(\"FlowType\", node, opts);\n}\nexport function assertFlowBaseAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FlowBaseAnnotation {\n assert(\"FlowBaseAnnotation\", node, opts);\n}\nexport function assertFlowDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FlowDeclaration {\n assert(\"FlowDeclaration\", node, opts);\n}\nexport function assertFlowPredicate(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FlowPredicate {\n assert(\"FlowPredicate\", node, opts);\n}\nexport function assertEnumBody(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumBody {\n assert(\"EnumBody\", node, opts);\n}\nexport function assertEnumMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumMember {\n assert(\"EnumMember\", node, opts);\n}\nexport function assertJSX(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSX {\n assert(\"JSX\", node, opts);\n}\nexport function assertMiscellaneous(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Miscellaneous {\n assert(\"Miscellaneous\", node, opts);\n}\nexport function assertTypeScript(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeScript {\n assert(\"TypeScript\", node, opts);\n}\nexport function assertTSTypeElement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeElement {\n assert(\"TSTypeElement\", node, opts);\n}\nexport function assertTSType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSType {\n assert(\"TSType\", node, opts);\n}\nexport function assertTSBaseType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSBaseType {\n assert(\"TSBaseType\", node, opts);\n}\nexport function assertNumberLiteral(node: any, opts: any): void {\n deprecationWarning(\"assertNumberLiteral\", \"assertNumericLiteral\");\n assert(\"NumberLiteral\", node, opts);\n}\nexport function assertRegexLiteral(node: any, opts: any): void {\n deprecationWarning(\"assertRegexLiteral\", \"assertRegExpLiteral\");\n assert(\"RegexLiteral\", node, opts);\n}\nexport function assertRestProperty(node: any, opts: any): void {\n deprecationWarning(\"assertRestProperty\", \"assertRestElement\");\n assert(\"RestProperty\", node, opts);\n}\nexport function assertSpreadProperty(node: any, opts: any): void {\n deprecationWarning(\"assertSpreadProperty\", \"assertSpreadElement\");\n assert(\"SpreadProperty\", node, opts);\n}\nexport function assertModuleDeclaration(node: any, opts: any): void {\n deprecationWarning(\n \"assertModuleDeclaration\",\n \"assertImportOrExportDeclaration\",\n );\n assert(\"ModuleDeclaration\", node, opts);\n}\n", "import {\n anyTypeAnnotation,\n stringTypeAnnotation,\n numberTypeAnnotation,\n voidTypeAnnotation,\n booleanTypeAnnotation,\n genericTypeAnnotation,\n identifier,\n} from \"../generated/index.ts\";\nimport type * as t from \"../../index.ts\";\n\nexport default createTypeAnnotationBasedOnTypeof as {\n (type: \"string\"): t.StringTypeAnnotation;\n (type: \"number\"): t.NumberTypeAnnotation;\n (type: \"undefined\"): t.VoidTypeAnnotation;\n (type: \"boolean\"): t.BooleanTypeAnnotation;\n (type: \"function\"): t.GenericTypeAnnotation;\n (type: \"object\"): t.GenericTypeAnnotation;\n (type: \"symbol\"): t.GenericTypeAnnotation;\n (type: \"bigint\"): t.AnyTypeAnnotation;\n};\n\n/**\n * Create a type annotation based on typeof expression.\n */\nfunction createTypeAnnotationBasedOnTypeof(type: string): t.FlowType {\n switch (type) {\n case \"string\":\n return stringTypeAnnotation();\n case \"number\":\n return numberTypeAnnotation();\n case \"undefined\":\n return voidTypeAnnotation();\n case \"boolean\":\n return booleanTypeAnnotation();\n case \"function\":\n return genericTypeAnnotation(identifier(\"Function\"));\n case \"object\":\n return genericTypeAnnotation(identifier(\"Object\"));\n case \"symbol\":\n return genericTypeAnnotation(identifier(\"Symbol\"));\n case \"bigint\":\n // todo: use BigInt annotation when Flow supports BigInt\n // https://github.com/facebook/flow/issues/6639\n return anyTypeAnnotation();\n }\n throw new Error(\"Invalid typeof value: \" + type);\n}\n", "import {\n isAnyTypeAnnotation,\n isGenericTypeAnnotation,\n isUnionTypeAnnotation,\n isFlowBaseAnnotation,\n isIdentifier,\n} from \"../../validators/generated/index.ts\";\nimport type * as t from \"../../index.ts\";\n\nfunction getQualifiedName(node: t.GenericTypeAnnotation[\"id\"]): string {\n return isIdentifier(node)\n ? node.name\n : `${node.id.name}.${getQualifiedName(node.qualification)}`;\n}\n\n/**\n * Dedupe type annotations.\n */\nexport default function removeTypeDuplicates(\n nodesIn: ReadonlyArray,\n): t.FlowType[] {\n const nodes = Array.from(nodesIn);\n\n const generics = new Map();\n const bases = new Map();\n\n // store union type groups to circular references\n const typeGroups = new Set();\n\n const types: t.FlowType[] = [];\n\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (!node) continue;\n\n // detect duplicates\n if (types.includes(node)) {\n continue;\n }\n\n // this type matches anything\n if (isAnyTypeAnnotation(node)) {\n return [node];\n }\n\n if (isFlowBaseAnnotation(node)) {\n bases.set(node.type, node);\n continue;\n }\n\n if (isUnionTypeAnnotation(node)) {\n if (!typeGroups.has(node.types)) {\n nodes.push(...node.types);\n typeGroups.add(node.types);\n }\n continue;\n }\n\n // find a matching generic type and merge and deduplicate the type parameters\n if (isGenericTypeAnnotation(node)) {\n const name = getQualifiedName(node.id);\n\n if (generics.has(name)) {\n let existing: t.Flow = generics.get(name);\n if (existing.typeParameters) {\n if (node.typeParameters) {\n existing.typeParameters.params.push(...node.typeParameters.params);\n existing.typeParameters.params = removeTypeDuplicates(\n existing.typeParameters.params,\n );\n }\n } else {\n existing = node.typeParameters;\n }\n } else {\n generics.set(name, node);\n }\n\n continue;\n }\n\n types.push(node);\n }\n\n // add back in bases\n for (const [, baseType] of bases) {\n types.push(baseType);\n }\n\n // add back in generics\n for (const [, genericName] of generics) {\n types.push(genericName);\n }\n\n return types;\n}\n", "import { unionTypeAnnotation } from \"../generated/index.ts\";\nimport removeTypeDuplicates from \"../../modifications/flow/removeTypeDuplicates.ts\";\nimport type * as t from \"../../index.ts\";\n\n/**\n * Takes an array of `types` and flattens them, removing duplicates and\n * returns a `UnionTypeAnnotation` node containing them.\n */\nexport default function createFlowUnionType(\n types: [T] | Array,\n): T | t.UnionTypeAnnotation {\n const flattened = removeTypeDuplicates(types);\n\n if (flattened.length === 1) {\n return flattened[0] as T;\n } else {\n return unionTypeAnnotation(flattened);\n }\n}\n", "import {\n isIdentifier,\n isTSAnyKeyword,\n isTSTypeReference,\n isTSUnionType,\n isTSBaseType,\n} from \"../../validators/generated/index.ts\";\nimport type * as t from \"../../index.ts\";\n\nfunction getQualifiedName(node: t.TSTypeReference[\"typeName\"]): string {\n return isIdentifier(node)\n ? node.name\n : `${node.right.name}.${getQualifiedName(node.left)}`;\n}\n\n/**\n * Dedupe type annotations.\n */\nexport default function removeTypeDuplicates(\n nodesIn: ReadonlyArray,\n): Array {\n const nodes = Array.from(nodesIn);\n\n const generics = new Map();\n const bases = new Map();\n\n // store union type groups to circular references\n const typeGroups = new Set();\n\n const types: t.TSType[] = [];\n\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (!node) continue;\n\n // detect duplicates\n if (types.includes(node)) {\n continue;\n }\n\n // this type matches anything\n if (isTSAnyKeyword(node)) {\n return [node];\n }\n\n // Analogue of FlowBaseAnnotation\n if (isTSBaseType(node)) {\n bases.set(node.type, node);\n continue;\n }\n\n if (isTSUnionType(node)) {\n if (!typeGroups.has(node.types)) {\n nodes.push(...node.types);\n typeGroups.add(node.types);\n }\n continue;\n }\n\n // todo: support merging tuples: number[]\n if (isTSTypeReference(node) && node.typeParameters) {\n const name = getQualifiedName(node.typeName);\n\n if (generics.has(name)) {\n let existing: t.TypeScript = generics.get(name);\n if (existing.typeParameters) {\n if (node.typeParameters) {\n existing.typeParameters.params.push(...node.typeParameters.params);\n existing.typeParameters.params = removeTypeDuplicates(\n existing.typeParameters.params,\n );\n }\n } else {\n existing = node.typeParameters;\n }\n } else {\n generics.set(name, node);\n }\n\n continue;\n }\n\n types.push(node);\n }\n\n // add back in bases\n for (const [, baseType] of bases) {\n types.push(baseType);\n }\n\n // add back in generics\n for (const [, genericName] of generics) {\n types.push(genericName);\n }\n\n return types;\n}\n", "import { tsUnionType } from \"../generated/index.ts\";\nimport removeTypeDuplicates from \"../../modifications/typescript/removeTypeDuplicates.ts\";\nimport { isTSTypeAnnotation } from \"../../validators/generated/index.ts\";\nimport type * as t from \"../../index.ts\";\n\n/**\n * Takes an array of `types` and flattens them, removing duplicates and\n * returns a `UnionTypeAnnotation` node containing them.\n */\nexport default function createTSUnionType(\n typeAnnotations: Array,\n): t.TSType {\n const types = typeAnnotations.map(type => {\n return isTSTypeAnnotation(type) ? type.typeAnnotation : type;\n });\n const flattened = removeTypeDuplicates(types);\n\n if (flattened.length === 1) {\n return flattened[0];\n } else {\n return tsUnionType(flattened);\n }\n}\n", "/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate run 'make build'\n */\n\n/**\n * This file is written in JavaScript and not TypeScript because uppercase builders\n * conflict with AST types. TypeScript reads the uppercase.d.ts file instead.\n */\n\nexport {\n arrayExpression as ArrayExpression,\n assignmentExpression as AssignmentExpression,\n binaryExpression as BinaryExpression,\n interpreterDirective as InterpreterDirective,\n directive as Directive,\n directiveLiteral as DirectiveLiteral,\n blockStatement as BlockStatement,\n breakStatement as BreakStatement,\n callExpression as CallExpression,\n catchClause as CatchClause,\n conditionalExpression as ConditionalExpression,\n continueStatement as ContinueStatement,\n debuggerStatement as DebuggerStatement,\n doWhileStatement as DoWhileStatement,\n emptyStatement as EmptyStatement,\n expressionStatement as ExpressionStatement,\n file as File,\n forInStatement as ForInStatement,\n forStatement as ForStatement,\n functionDeclaration as FunctionDeclaration,\n functionExpression as FunctionExpression,\n identifier as Identifier,\n ifStatement as IfStatement,\n labeledStatement as LabeledStatement,\n stringLiteral as StringLiteral,\n numericLiteral as NumericLiteral,\n nullLiteral as NullLiteral,\n booleanLiteral as BooleanLiteral,\n regExpLiteral as RegExpLiteral,\n logicalExpression as LogicalExpression,\n memberExpression as MemberExpression,\n newExpression as NewExpression,\n program as Program,\n objectExpression as ObjectExpression,\n objectMethod as ObjectMethod,\n objectProperty as ObjectProperty,\n restElement as RestElement,\n returnStatement as ReturnStatement,\n sequenceExpression as SequenceExpression,\n parenthesizedExpression as ParenthesizedExpression,\n switchCase as SwitchCase,\n switchStatement as SwitchStatement,\n thisExpression as ThisExpression,\n throwStatement as ThrowStatement,\n tryStatement as TryStatement,\n unaryExpression as UnaryExpression,\n updateExpression as UpdateExpression,\n variableDeclaration as VariableDeclaration,\n variableDeclarator as VariableDeclarator,\n whileStatement as WhileStatement,\n withStatement as WithStatement,\n assignmentPattern as AssignmentPattern,\n arrayPattern as ArrayPattern,\n arrowFunctionExpression as ArrowFunctionExpression,\n classBody as ClassBody,\n classExpression as ClassExpression,\n classDeclaration as ClassDeclaration,\n exportAllDeclaration as ExportAllDeclaration,\n exportDefaultDeclaration as ExportDefaultDeclaration,\n exportNamedDeclaration as ExportNamedDeclaration,\n exportSpecifier as ExportSpecifier,\n forOfStatement as ForOfStatement,\n importDeclaration as ImportDeclaration,\n importDefaultSpecifier as ImportDefaultSpecifier,\n importNamespaceSpecifier as ImportNamespaceSpecifier,\n importSpecifier as ImportSpecifier,\n importExpression as ImportExpression,\n metaProperty as MetaProperty,\n classMethod as ClassMethod,\n objectPattern as ObjectPattern,\n spreadElement as SpreadElement,\n super as Super,\n taggedTemplateExpression as TaggedTemplateExpression,\n templateElement as TemplateElement,\n templateLiteral as TemplateLiteral,\n yieldExpression as YieldExpression,\n awaitExpression as AwaitExpression,\n import as Import,\n bigIntLiteral as BigIntLiteral,\n exportNamespaceSpecifier as ExportNamespaceSpecifier,\n optionalMemberExpression as OptionalMemberExpression,\n optionalCallExpression as OptionalCallExpression,\n classProperty as ClassProperty,\n classAccessorProperty as ClassAccessorProperty,\n classPrivateProperty as ClassPrivateProperty,\n classPrivateMethod as ClassPrivateMethod,\n privateName as PrivateName,\n staticBlock as StaticBlock,\n anyTypeAnnotation as AnyTypeAnnotation,\n arrayTypeAnnotation as ArrayTypeAnnotation,\n booleanTypeAnnotation as BooleanTypeAnnotation,\n booleanLiteralTypeAnnotation as BooleanLiteralTypeAnnotation,\n nullLiteralTypeAnnotation as NullLiteralTypeAnnotation,\n classImplements as ClassImplements,\n declareClass as DeclareClass,\n declareFunction as DeclareFunction,\n declareInterface as DeclareInterface,\n declareModule as DeclareModule,\n declareModuleExports as DeclareModuleExports,\n declareTypeAlias as DeclareTypeAlias,\n declareOpaqueType as DeclareOpaqueType,\n declareVariable as DeclareVariable,\n declareExportDeclaration as DeclareExportDeclaration,\n declareExportAllDeclaration as DeclareExportAllDeclaration,\n declaredPredicate as DeclaredPredicate,\n existsTypeAnnotation as ExistsTypeAnnotation,\n functionTypeAnnotation as FunctionTypeAnnotation,\n functionTypeParam as FunctionTypeParam,\n genericTypeAnnotation as GenericTypeAnnotation,\n inferredPredicate as InferredPredicate,\n interfaceExtends as InterfaceExtends,\n interfaceDeclaration as InterfaceDeclaration,\n interfaceTypeAnnotation as InterfaceTypeAnnotation,\n intersectionTypeAnnotation as IntersectionTypeAnnotation,\n mixedTypeAnnotation as MixedTypeAnnotation,\n emptyTypeAnnotation as EmptyTypeAnnotation,\n nullableTypeAnnotation as NullableTypeAnnotation,\n numberLiteralTypeAnnotation as NumberLiteralTypeAnnotation,\n numberTypeAnnotation as NumberTypeAnnotation,\n objectTypeAnnotation as ObjectTypeAnnotation,\n objectTypeInternalSlot as ObjectTypeInternalSlot,\n objectTypeCallProperty as ObjectTypeCallProperty,\n objectTypeIndexer as ObjectTypeIndexer,\n objectTypeProperty as ObjectTypeProperty,\n objectTypeSpreadProperty as ObjectTypeSpreadProperty,\n opaqueType as OpaqueType,\n qualifiedTypeIdentifier as QualifiedTypeIdentifier,\n stringLiteralTypeAnnotation as StringLiteralTypeAnnotation,\n stringTypeAnnotation as StringTypeAnnotation,\n symbolTypeAnnotation as SymbolTypeAnnotation,\n thisTypeAnnotation as ThisTypeAnnotation,\n tupleTypeAnnotation as TupleTypeAnnotation,\n typeofTypeAnnotation as TypeofTypeAnnotation,\n typeAlias as TypeAlias,\n typeAnnotation as TypeAnnotation,\n typeCastExpression as TypeCastExpression,\n typeParameter as TypeParameter,\n typeParameterDeclaration as TypeParameterDeclaration,\n typeParameterInstantiation as TypeParameterInstantiation,\n unionTypeAnnotation as UnionTypeAnnotation,\n variance as Variance,\n voidTypeAnnotation as VoidTypeAnnotation,\n enumDeclaration as EnumDeclaration,\n enumBooleanBody as EnumBooleanBody,\n enumNumberBody as EnumNumberBody,\n enumStringBody as EnumStringBody,\n enumSymbolBody as EnumSymbolBody,\n enumBooleanMember as EnumBooleanMember,\n enumNumberMember as EnumNumberMember,\n enumStringMember as EnumStringMember,\n enumDefaultedMember as EnumDefaultedMember,\n indexedAccessType as IndexedAccessType,\n optionalIndexedAccessType as OptionalIndexedAccessType,\n jsxAttribute as JSXAttribute,\n jsxClosingElement as JSXClosingElement,\n jsxElement as JSXElement,\n jsxEmptyExpression as JSXEmptyExpression,\n jsxExpressionContainer as JSXExpressionContainer,\n jsxSpreadChild as JSXSpreadChild,\n jsxIdentifier as JSXIdentifier,\n jsxMemberExpression as JSXMemberExpression,\n jsxNamespacedName as JSXNamespacedName,\n jsxOpeningElement as JSXOpeningElement,\n jsxSpreadAttribute as JSXSpreadAttribute,\n jsxText as JSXText,\n jsxFragment as JSXFragment,\n jsxOpeningFragment as JSXOpeningFragment,\n jsxClosingFragment as JSXClosingFragment,\n noop as Noop,\n placeholder as Placeholder,\n v8IntrinsicIdentifier as V8IntrinsicIdentifier,\n argumentPlaceholder as ArgumentPlaceholder,\n bindExpression as BindExpression,\n importAttribute as ImportAttribute,\n decorator as Decorator,\n doExpression as DoExpression,\n exportDefaultSpecifier as ExportDefaultSpecifier,\n recordExpression as RecordExpression,\n tupleExpression as TupleExpression,\n decimalLiteral as DecimalLiteral,\n moduleExpression as ModuleExpression,\n topicReference as TopicReference,\n pipelineTopicExpression as PipelineTopicExpression,\n pipelineBareFunction as PipelineBareFunction,\n pipelinePrimaryTopicReference as PipelinePrimaryTopicReference,\n tsParameterProperty as TSParameterProperty,\n tsDeclareFunction as TSDeclareFunction,\n tsDeclareMethod as TSDeclareMethod,\n tsQualifiedName as TSQualifiedName,\n tsCallSignatureDeclaration as TSCallSignatureDeclaration,\n tsConstructSignatureDeclaration as TSConstructSignatureDeclaration,\n tsPropertySignature as TSPropertySignature,\n tsMethodSignature as TSMethodSignature,\n tsIndexSignature as TSIndexSignature,\n tsAnyKeyword as TSAnyKeyword,\n tsBooleanKeyword as TSBooleanKeyword,\n tsBigIntKeyword as TSBigIntKeyword,\n tsIntrinsicKeyword as TSIntrinsicKeyword,\n tsNeverKeyword as TSNeverKeyword,\n tsNullKeyword as TSNullKeyword,\n tsNumberKeyword as TSNumberKeyword,\n tsObjectKeyword as TSObjectKeyword,\n tsStringKeyword as TSStringKeyword,\n tsSymbolKeyword as TSSymbolKeyword,\n tsUndefinedKeyword as TSUndefinedKeyword,\n tsUnknownKeyword as TSUnknownKeyword,\n tsVoidKeyword as TSVoidKeyword,\n tsThisType as TSThisType,\n tsFunctionType as TSFunctionType,\n tsConstructorType as TSConstructorType,\n tsTypeReference as TSTypeReference,\n tsTypePredicate as TSTypePredicate,\n tsTypeQuery as TSTypeQuery,\n tsTypeLiteral as TSTypeLiteral,\n tsArrayType as TSArrayType,\n tsTupleType as TSTupleType,\n tsOptionalType as TSOptionalType,\n tsRestType as TSRestType,\n tsNamedTupleMember as TSNamedTupleMember,\n tsUnionType as TSUnionType,\n tsIntersectionType as TSIntersectionType,\n tsConditionalType as TSConditionalType,\n tsInferType as TSInferType,\n tsParenthesizedType as TSParenthesizedType,\n tsTypeOperator as TSTypeOperator,\n tsIndexedAccessType as TSIndexedAccessType,\n tsMappedType as TSMappedType,\n tsLiteralType as TSLiteralType,\n tsExpressionWithTypeArguments as TSExpressionWithTypeArguments,\n tsInterfaceDeclaration as TSInterfaceDeclaration,\n tsInterfaceBody as TSInterfaceBody,\n tsTypeAliasDeclaration as TSTypeAliasDeclaration,\n tsInstantiationExpression as TSInstantiationExpression,\n tsAsExpression as TSAsExpression,\n tsSatisfiesExpression as TSSatisfiesExpression,\n tsTypeAssertion as TSTypeAssertion,\n tsEnumDeclaration as TSEnumDeclaration,\n tsEnumMember as TSEnumMember,\n tsModuleDeclaration as TSModuleDeclaration,\n tsModuleBlock as TSModuleBlock,\n tsImportType as TSImportType,\n tsImportEqualsDeclaration as TSImportEqualsDeclaration,\n tsExternalModuleReference as TSExternalModuleReference,\n tsNonNullExpression as TSNonNullExpression,\n tsExportAssignment as TSExportAssignment,\n tsNamespaceExportDeclaration as TSNamespaceExportDeclaration,\n tsTypeAnnotation as TSTypeAnnotation,\n tsTypeParameterInstantiation as TSTypeParameterInstantiation,\n tsTypeParameterDeclaration as TSTypeParameterDeclaration,\n tsTypeParameter as TSTypeParameter,\n numberLiteral as NumberLiteral,\n regexLiteral as RegexLiteral,\n restProperty as RestProperty,\n spreadProperty as SpreadProperty,\n} from \"./index.ts\";\n", "import { numericLiteral, unaryExpression } from \"./generated/index.ts\";\n\nexport function buildUndefinedNode() {\n return unaryExpression(\"void\", numericLiteral(0), true);\n}\n", "import { NODE_FIELDS } from \"../definitions/index.ts\";\nimport type * as t from \"../index.ts\";\nimport { isFile, isIdentifier } from \"../validators/generated/index.ts\";\n\nconst { hasOwn } = process.env.BABEL_8_BREAKING\n ? Object\n : { hasOwn: Function.call.bind(Object.prototype.hasOwnProperty) };\n\ntype CommentCache = Map;\n\n// This function will never be called for comments, only for real nodes.\nfunction cloneIfNode(\n obj: t.Node | undefined | null,\n deep: boolean,\n withoutLoc: boolean,\n commentsCache: CommentCache,\n) {\n if (obj && typeof obj.type === \"string\") {\n return cloneNodeInternal(obj, deep, withoutLoc, commentsCache);\n }\n\n return obj;\n}\n\nfunction cloneIfNodeOrArray(\n obj: t.Node | undefined | null | (t.Node | undefined | null)[],\n deep: boolean,\n withoutLoc: boolean,\n commentsCache: CommentCache,\n) {\n if (Array.isArray(obj)) {\n return obj.map(node => cloneIfNode(node, deep, withoutLoc, commentsCache));\n }\n return cloneIfNode(obj, deep, withoutLoc, commentsCache);\n}\n\n/**\n * Create a clone of a `node` including only properties belonging to the node.\n * If the second parameter is `false`, cloneNode performs a shallow clone.\n * If the third parameter is true, the cloned nodes exclude location properties.\n */\nexport default function cloneNode(\n node: T,\n deep: boolean = true,\n withoutLoc: boolean = false,\n): T {\n return cloneNodeInternal(node, deep, withoutLoc, new Map());\n}\n\nfunction cloneNodeInternal(\n node: T,\n deep: boolean = true,\n withoutLoc: boolean = false,\n commentsCache: CommentCache,\n): T {\n if (!node) return node;\n\n const { type } = node;\n const newNode: any = { type: node.type };\n\n // Special-case identifiers since they are the most cloned nodes.\n if (isIdentifier(node)) {\n newNode.name = node.name;\n\n if (hasOwn(node, \"optional\") && typeof node.optional === \"boolean\") {\n newNode.optional = node.optional;\n }\n\n if (hasOwn(node, \"typeAnnotation\")) {\n newNode.typeAnnotation = deep\n ? cloneIfNodeOrArray(\n node.typeAnnotation,\n true,\n withoutLoc,\n commentsCache,\n )\n : node.typeAnnotation;\n }\n\n if (hasOwn(node, \"decorators\")) {\n newNode.decorators = deep\n ? cloneIfNodeOrArray(node.decorators, true, withoutLoc, commentsCache)\n : node.decorators;\n }\n } else if (!hasOwn(NODE_FIELDS, type)) {\n throw new Error(`Unknown node type: \"${type}\"`);\n } else {\n for (const field of Object.keys(NODE_FIELDS[type])) {\n if (hasOwn(node, field)) {\n if (deep) {\n newNode[field] =\n isFile(node) && field === \"comments\"\n ? maybeCloneComments(\n node.comments,\n deep,\n withoutLoc,\n commentsCache,\n )\n : cloneIfNodeOrArray(\n // @ts-expect-error node[field] has been guarded by has check\n node[field],\n true,\n withoutLoc,\n commentsCache,\n );\n } else {\n newNode[field] =\n // @ts-expect-error node[field] has been guarded by has check\n node[field];\n }\n }\n }\n }\n\n if (hasOwn(node, \"loc\")) {\n if (withoutLoc) {\n newNode.loc = null;\n } else {\n newNode.loc = node.loc;\n }\n }\n if (hasOwn(node, \"leadingComments\")) {\n newNode.leadingComments = maybeCloneComments(\n node.leadingComments,\n deep,\n withoutLoc,\n commentsCache,\n );\n }\n if (hasOwn(node, \"innerComments\")) {\n newNode.innerComments = maybeCloneComments(\n node.innerComments,\n deep,\n withoutLoc,\n commentsCache,\n );\n }\n if (hasOwn(node, \"trailingComments\")) {\n newNode.trailingComments = maybeCloneComments(\n node.trailingComments,\n deep,\n withoutLoc,\n commentsCache,\n );\n }\n if (hasOwn(node, \"extra\")) {\n newNode.extra = {\n ...node.extra,\n };\n }\n\n return newNode;\n}\n\nfunction maybeCloneComments(\n comments: ReadonlyArray | null,\n deep: boolean,\n withoutLoc: boolean,\n commentsCache: Map,\n): ReadonlyArray | null {\n if (!comments || !deep) {\n return comments;\n }\n return comments.map(comment => {\n const cache = commentsCache.get(comment);\n if (cache) return cache;\n\n const { type, value, loc } = comment;\n\n const ret = { type, value, loc } as T;\n if (withoutLoc) {\n ret.loc = null;\n }\n\n commentsCache.set(comment, ret);\n\n return ret;\n });\n}\n", "import cloneNode from \"./cloneNode.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Create a shallow clone of a `node`, including only\n * properties belonging to the node.\n * @deprecated Use t.cloneNode instead.\n */\nexport default function clone(node: T): T {\n return cloneNode(node, /* deep */ false);\n}\n", "import cloneNode from \"./cloneNode.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Create a deep clone of a `node` and all of it's child nodes\n * including only properties belonging to the node.\n * @deprecated Use t.cloneNode instead.\n */\nexport default function cloneDeep(node: T): T {\n return cloneNode(node);\n}\n", "import cloneNode from \"./cloneNode.ts\";\nimport type * as t from \"../index.ts\";\n/**\n * Create a deep clone of a `node` and all of it's child nodes\n * including only properties belonging to the node.\n * excluding `_private` and location properties.\n */\nexport default function cloneDeepWithoutLoc(node: T): T {\n return cloneNode(node, /* deep */ true, /* withoutLoc */ true);\n}\n", "import cloneNode from \"./cloneNode.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Create a shallow clone of a `node` excluding `_private` and location properties.\n */\nexport default function cloneWithoutLoc(node: T): T {\n return cloneNode(node, /* deep */ false, /* withoutLoc */ true);\n}\n", "import type * as t from \"../index.ts\";\n\n/**\n * Add comments of certain type to a node.\n */\nexport default function addComments(\n node: T,\n type: t.CommentTypeShorthand,\n comments: Array,\n): T {\n if (!comments || !node) return node;\n\n const key = `${type}Comments` as const;\n\n if (node[key]) {\n if (type === \"leading\") {\n node[key] = comments.concat(node[key]);\n } else {\n node[key].push(...comments);\n }\n } else {\n node[key] = comments;\n }\n\n return node;\n}\n", "import addComments from \"./addComments.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Add comment of certain type to a node.\n */\nexport default function addComment(\n node: T,\n type: t.CommentTypeShorthand,\n content: string,\n line?: boolean,\n): T {\n return addComments(node, type, [\n {\n type: line ? \"CommentLine\" : \"CommentBlock\",\n value: content,\n } as t.Comment,\n ]);\n}\n", "import type * as t from \"../index.ts\";\n\nexport default function inherit<\n C extends t.Node | undefined,\n P extends t.Node | undefined,\n>(key: keyof C & keyof P, child: C, parent: P): void {\n if (child && parent) {\n // @ts-expect-error Could further refine key definitions\n child[key] = Array.from(\n new Set([].concat(child[key], parent[key]).filter(Boolean)),\n );\n }\n}\n", "import inherit from \"../utils/inherit.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default function inheritInnerComments(\n child: t.Node,\n parent: t.Node,\n): void {\n inherit(\"innerComments\", child, parent);\n}\n", "import inherit from \"../utils/inherit.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default function inheritLeadingComments(\n child: t.Node,\n parent: t.Node,\n): void {\n inherit(\"leadingComments\", child, parent);\n}\n", "import inherit from \"../utils/inherit.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default function inheritTrailingComments(\n child: t.Node,\n parent: t.Node,\n): void {\n inherit(\"trailingComments\", child, parent);\n}\n", "import inheritTrailingComments from \"./inheritTrailingComments.ts\";\nimport inheritLeadingComments from \"./inheritLeadingComments.ts\";\nimport inheritInnerComments from \"./inheritInnerComments.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Inherit all unique comments from `parent` node to `child` node.\n */\nexport default function inheritsComments(\n child: T,\n parent: t.Node,\n): T {\n inheritTrailingComments(child, parent);\n inheritLeadingComments(child, parent);\n inheritInnerComments(child, parent);\n\n return child;\n}\n", "import { COMMENT_KEYS } from \"../constants/index.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Remove comment properties from a node.\n */\nexport default function removeComments(node: T): T {\n COMMENT_KEYS.forEach(key => {\n node[key] = null;\n });\n\n return node;\n}\n", "/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate run 'make build'\n */\nimport { FLIPPED_ALIAS_KEYS } from \"../../definitions/index.ts\";\n\nexport const STANDARDIZED_TYPES = FLIPPED_ALIAS_KEYS[\"Standardized\"];\nexport const EXPRESSION_TYPES = FLIPPED_ALIAS_KEYS[\"Expression\"];\nexport const BINARY_TYPES = FLIPPED_ALIAS_KEYS[\"Binary\"];\nexport const SCOPABLE_TYPES = FLIPPED_ALIAS_KEYS[\"Scopable\"];\nexport const BLOCKPARENT_TYPES = FLIPPED_ALIAS_KEYS[\"BlockParent\"];\nexport const BLOCK_TYPES = FLIPPED_ALIAS_KEYS[\"Block\"];\nexport const STATEMENT_TYPES = FLIPPED_ALIAS_KEYS[\"Statement\"];\nexport const TERMINATORLESS_TYPES = FLIPPED_ALIAS_KEYS[\"Terminatorless\"];\nexport const COMPLETIONSTATEMENT_TYPES =\n FLIPPED_ALIAS_KEYS[\"CompletionStatement\"];\nexport const CONDITIONAL_TYPES = FLIPPED_ALIAS_KEYS[\"Conditional\"];\nexport const LOOP_TYPES = FLIPPED_ALIAS_KEYS[\"Loop\"];\nexport const WHILE_TYPES = FLIPPED_ALIAS_KEYS[\"While\"];\nexport const EXPRESSIONWRAPPER_TYPES = FLIPPED_ALIAS_KEYS[\"ExpressionWrapper\"];\nexport const FOR_TYPES = FLIPPED_ALIAS_KEYS[\"For\"];\nexport const FORXSTATEMENT_TYPES = FLIPPED_ALIAS_KEYS[\"ForXStatement\"];\nexport const FUNCTION_TYPES = FLIPPED_ALIAS_KEYS[\"Function\"];\nexport const FUNCTIONPARENT_TYPES = FLIPPED_ALIAS_KEYS[\"FunctionParent\"];\nexport const PUREISH_TYPES = FLIPPED_ALIAS_KEYS[\"Pureish\"];\nexport const DECLARATION_TYPES = FLIPPED_ALIAS_KEYS[\"Declaration\"];\nexport const PATTERNLIKE_TYPES = FLIPPED_ALIAS_KEYS[\"PatternLike\"];\nexport const LVAL_TYPES = FLIPPED_ALIAS_KEYS[\"LVal\"];\nexport const TSENTITYNAME_TYPES = FLIPPED_ALIAS_KEYS[\"TSEntityName\"];\nexport const LITERAL_TYPES = FLIPPED_ALIAS_KEYS[\"Literal\"];\nexport const IMMUTABLE_TYPES = FLIPPED_ALIAS_KEYS[\"Immutable\"];\nexport const USERWHITESPACABLE_TYPES = FLIPPED_ALIAS_KEYS[\"UserWhitespacable\"];\nexport const METHOD_TYPES = FLIPPED_ALIAS_KEYS[\"Method\"];\nexport const OBJECTMEMBER_TYPES = FLIPPED_ALIAS_KEYS[\"ObjectMember\"];\nexport const PROPERTY_TYPES = FLIPPED_ALIAS_KEYS[\"Property\"];\nexport const UNARYLIKE_TYPES = FLIPPED_ALIAS_KEYS[\"UnaryLike\"];\nexport const PATTERN_TYPES = FLIPPED_ALIAS_KEYS[\"Pattern\"];\nexport const CLASS_TYPES = FLIPPED_ALIAS_KEYS[\"Class\"];\nexport const IMPORTOREXPORTDECLARATION_TYPES =\n FLIPPED_ALIAS_KEYS[\"ImportOrExportDeclaration\"];\nexport const EXPORTDECLARATION_TYPES = FLIPPED_ALIAS_KEYS[\"ExportDeclaration\"];\nexport const MODULESPECIFIER_TYPES = FLIPPED_ALIAS_KEYS[\"ModuleSpecifier\"];\nexport const ACCESSOR_TYPES = FLIPPED_ALIAS_KEYS[\"Accessor\"];\nexport const PRIVATE_TYPES = FLIPPED_ALIAS_KEYS[\"Private\"];\nexport const FLOW_TYPES = FLIPPED_ALIAS_KEYS[\"Flow\"];\nexport const FLOWTYPE_TYPES = FLIPPED_ALIAS_KEYS[\"FlowType\"];\nexport const FLOWBASEANNOTATION_TYPES =\n FLIPPED_ALIAS_KEYS[\"FlowBaseAnnotation\"];\nexport const FLOWDECLARATION_TYPES = FLIPPED_ALIAS_KEYS[\"FlowDeclaration\"];\nexport const FLOWPREDICATE_TYPES = FLIPPED_ALIAS_KEYS[\"FlowPredicate\"];\nexport const ENUMBODY_TYPES = FLIPPED_ALIAS_KEYS[\"EnumBody\"];\nexport const ENUMMEMBER_TYPES = FLIPPED_ALIAS_KEYS[\"EnumMember\"];\nexport const JSX_TYPES = FLIPPED_ALIAS_KEYS[\"JSX\"];\nexport const MISCELLANEOUS_TYPES = FLIPPED_ALIAS_KEYS[\"Miscellaneous\"];\nexport const TYPESCRIPT_TYPES = FLIPPED_ALIAS_KEYS[\"TypeScript\"];\nexport const TSTYPEELEMENT_TYPES = FLIPPED_ALIAS_KEYS[\"TSTypeElement\"];\nexport const TSTYPE_TYPES = FLIPPED_ALIAS_KEYS[\"TSType\"];\nexport const TSBASETYPE_TYPES = FLIPPED_ALIAS_KEYS[\"TSBaseType\"];\n/**\n * @deprecated migrate to IMPORTOREXPORTDECLARATION_TYPES.\n */\nexport const MODULEDECLARATION_TYPES = IMPORTOREXPORTDECLARATION_TYPES;\n", "import {\n isBlockStatement,\n isFunction,\n isEmptyStatement,\n isStatement,\n} from \"../validators/generated/index.ts\";\nimport {\n returnStatement,\n expressionStatement,\n blockStatement,\n} from \"../builders/generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default function toBlock(\n node: t.Statement | t.Expression,\n parent?: t.Node,\n): t.BlockStatement {\n if (isBlockStatement(node)) {\n return node;\n }\n\n let blockNodes: t.Statement[] = [];\n\n if (isEmptyStatement(node)) {\n blockNodes = [];\n } else {\n if (!isStatement(node)) {\n if (isFunction(parent)) {\n node = returnStatement(node);\n } else {\n node = expressionStatement(node);\n }\n }\n\n blockNodes = [node];\n }\n\n return blockStatement(blockNodes);\n}\n", "import toBlock from \"./toBlock.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Ensure the `key` (defaults to \"body\") of a `node` is a block.\n * Casting it to a block if it is not.\n *\n * Returns the BlockStatement\n */\nexport default function ensureBlock(\n node: t.Node,\n key: string = \"body\",\n): t.BlockStatement {\n // @ts-expect-error Fixme: key may not exist in node, consider remove key = \"body\"\n const result = toBlock(node[key], node);\n // @ts-expect-error Fixme: key may not exist in node, consider remove key = \"body\"\n node[key] = result;\n return result;\n}\n", "import isValidIdentifier from \"../validators/isValidIdentifier.ts\";\nimport { isIdentifierChar } from \"@babel/helper-validator-identifier\";\n\nexport default function toIdentifier(input: string): string {\n input = input + \"\";\n\n // replace all non-valid identifiers with dashes\n let name = \"\";\n for (const c of input) {\n name += isIdentifierChar(c.codePointAt(0)) ? c : \"-\";\n }\n\n // remove all dashes and numbers from start of name\n name = name.replace(/^[-0-9]+/, \"\");\n\n // camel case\n name = name.replace(/[-\\s]+(.)?/g, function (match, c) {\n return c ? c.toUpperCase() : \"\";\n });\n\n if (!isValidIdentifier(name)) {\n name = `_${name}`;\n }\n\n return name || \"_\";\n}\n", "import toIdentifier from \"./toIdentifier.ts\";\n\nexport default function toBindingIdentifierName(name: string): string {\n name = toIdentifier(name);\n if (name === \"eval\" || name === \"arguments\") name = \"_\" + name;\n\n return name;\n}\n", "import { isIdentifier } from \"../validators/generated/index.ts\";\nimport { stringLiteral } from \"../builders/generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default function toComputedKey(\n node:\n | t.ObjectMember\n | t.ObjectProperty\n | t.ClassMethod\n | t.ClassProperty\n | t.ClassAccessorProperty\n | t.MemberExpression\n | t.OptionalMemberExpression,\n // @ts-expect-error todo(flow->ts): maybe check the type of node before accessing .key and .property\n key: t.Expression | t.PrivateName = node.key || node.property,\n) {\n if (!node.computed && isIdentifier(key)) key = stringLiteral(key.name);\n\n return key;\n}\n", "import {\n isExpression,\n isFunction,\n isClass,\n isExpressionStatement,\n} from \"../validators/generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default toExpression as {\n (node: t.Function): t.FunctionExpression;\n (node: t.Class): t.ClassExpression;\n (\n node: t.ExpressionStatement | t.Expression | t.Class | t.Function,\n ): t.Expression;\n};\n\nfunction toExpression(\n node: t.ExpressionStatement | t.Expression | t.Class | t.Function,\n): t.Expression {\n if (isExpressionStatement(node)) {\n node = node.expression;\n }\n\n // return unmodified node\n // important for things like ArrowFunctions where\n // type change from ArrowFunction to FunctionExpression\n // produces bugs like -> `()=>a` to `function () a`\n // without generating a BlockStatement for it\n // ref: https://github.com/babel/babili/issues/130\n if (isExpression(node)) {\n return node;\n }\n\n // convert all classes and functions\n // ClassDeclaration -> ClassExpression\n // FunctionDeclaration, ObjectMethod, ClassMethod -> FunctionExpression\n if (isClass(node)) {\n // @ts-expect-error todo(flow->ts): avoid type unsafe mutations\n node.type = \"ClassExpression\";\n } else if (isFunction(node)) {\n // @ts-expect-error todo(flow->ts): avoid type unsafe mutations\n node.type = \"FunctionExpression\";\n }\n\n // if it's still not an expression\n if (!isExpression(node)) {\n throw new Error(`cannot turn ${node.type} to an expression`);\n }\n\n return node;\n}\n", "import { VISITOR_KEYS } from \"../definitions/index.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * A prefix AST traversal implementation meant for simple searching\n * and processing.\n */\nexport default function traverseFast(\n node: t.Node | null | undefined,\n enter: (node: t.Node, opts?: Options) => void,\n opts?: Options,\n): void {\n if (!node) return;\n\n const keys = VISITOR_KEYS[node.type];\n if (!keys) return;\n\n opts = opts || ({} as Options);\n enter(node, opts);\n\n for (const key of keys) {\n const subNode: t.Node | undefined | null =\n // @ts-expect-error key must present in node\n node[key];\n\n if (Array.isArray(subNode)) {\n for (const node of subNode) {\n traverseFast(node, enter, opts);\n }\n } else {\n traverseFast(subNode, enter, opts);\n }\n }\n}\n", "import { COMMENT_KEYS } from \"../constants/index.ts\";\nimport type * as t from \"../index.ts\";\n\nconst CLEAR_KEYS = [\n \"tokens\", // only exist in t.File\n \"start\",\n \"end\",\n \"loc\",\n // Fixme: should be extra.raw / extra.rawValue?\n \"raw\",\n \"rawValue\",\n] as const;\n\nconst CLEAR_KEYS_PLUS_COMMENTS = [\n ...COMMENT_KEYS,\n \"comments\",\n ...CLEAR_KEYS,\n] as const;\n\nexport type Options = { preserveComments?: boolean };\n/**\n * Remove all of the _* properties from a node along with the additional metadata\n * properties like location data and raw token data.\n */\nexport default function removeProperties(\n node: t.Node,\n opts: Options = {},\n): void {\n const map = opts.preserveComments ? CLEAR_KEYS : CLEAR_KEYS_PLUS_COMMENTS;\n for (const key of map) {\n // @ts-expect-error tokens only exist in t.File\n if (node[key] != null) node[key] = undefined;\n }\n\n for (const key of Object.keys(node)) {\n // @ts-expect-error string can not index node\n if (key[0] === \"_\" && node[key] != null) node[key] = undefined;\n }\n\n const symbols: Array = Object.getOwnPropertySymbols(node);\n for (const sym of symbols) {\n // @ts-expect-error Fixme: document symbol properties\n node[sym] = null;\n }\n}\n", "import traverseFast from \"../traverse/traverseFast.ts\";\nimport removeProperties from \"./removeProperties.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default function removePropertiesDeep(\n tree: T,\n opts?: { preserveComments: boolean } | null,\n): T {\n traverseFast(tree, removeProperties, opts);\n\n return tree;\n}\n", "import {\n isIdentifier,\n isStringLiteral,\n} from \"../validators/generated/index.ts\";\nimport cloneNode from \"../clone/cloneNode.ts\";\nimport removePropertiesDeep from \"../modifications/removePropertiesDeep.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default function toKeyAlias(\n node: t.Method | t.Property,\n key: t.Node = node.key,\n): string {\n let alias;\n\n // @ts-expect-error todo(flow->ts): maybe add node type check before checking `.kind`\n if (node.kind === \"method\") {\n return toKeyAlias.increment() + \"\";\n } else if (isIdentifier(key)) {\n alias = key.name;\n } else if (isStringLiteral(key)) {\n alias = JSON.stringify(key.value);\n } else {\n alias = JSON.stringify(removePropertiesDeep(cloneNode(key)));\n }\n\n // @ts-expect-error todo(flow->ts): maybe add node type check before checking `.computed`\n if (node.computed) {\n alias = `[${alias}]`;\n }\n\n // @ts-expect-error todo(flow->ts): maybe add node type check before checking `.static`\n if (node.static) {\n alias = `static:${alias}`;\n }\n\n return alias;\n}\n\ntoKeyAlias.uid = 0;\n\ntoKeyAlias.increment = function () {\n if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) {\n return (toKeyAlias.uid = 0);\n } else {\n return toKeyAlias.uid++;\n }\n};\n", "import {\n isStatement,\n isFunction,\n isClass,\n isAssignmentExpression,\n} from \"../validators/generated/index.ts\";\nimport { expressionStatement } from \"../builders/generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default toStatement as {\n (node: t.AssignmentExpression, ignore?: boolean): t.ExpressionStatement;\n\n (node: T, ignore: false): T;\n (node: T, ignore?: boolean): T | false;\n\n (node: t.Class, ignore: false): t.ClassDeclaration;\n (node: t.Class, ignore?: boolean): t.ClassDeclaration | false;\n\n (node: t.Function, ignore: false): t.FunctionDeclaration;\n (node: t.Function, ignore?: boolean): t.FunctionDeclaration | false;\n\n (node: t.Node, ignore: false): t.Statement;\n (node: t.Node, ignore?: boolean): t.Statement | false;\n};\n\nfunction toStatement(node: t.Node, ignore?: boolean): t.Statement | false {\n if (isStatement(node)) {\n return node;\n }\n\n let mustHaveId = false;\n let newType;\n\n if (isClass(node)) {\n mustHaveId = true;\n newType = \"ClassDeclaration\" as const;\n } else if (isFunction(node)) {\n mustHaveId = true;\n newType = \"FunctionDeclaration\" as const;\n } else if (isAssignmentExpression(node)) {\n return expressionStatement(node);\n }\n\n // @ts-expect-error todo(flow->ts): node.id might be missing\n if (mustHaveId && !node.id) {\n newType = false;\n }\n\n if (!newType) {\n if (ignore) {\n return false;\n } else {\n throw new Error(`cannot turn ${node.type} to a statement`);\n }\n }\n\n // @ts-expect-error manipulating node.type\n node.type = newType;\n\n // @ts-expect-error todo(flow->ts) refactor to avoid type unsafe mutations like reassigning node type above\n return node;\n}\n", "import isValidIdentifier from \"../validators/isValidIdentifier.ts\";\nimport {\n identifier,\n booleanLiteral,\n nullLiteral,\n stringLiteral,\n numericLiteral,\n regExpLiteral,\n arrayExpression,\n objectProperty,\n objectExpression,\n unaryExpression,\n binaryExpression,\n} from \"../builders/generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default valueToNode as {\n (value: undefined): t.Identifier; // TODO: This should return \"void 0\"\n (value: boolean): t.BooleanLiteral;\n (value: null): t.NullLiteral;\n (value: string): t.StringLiteral;\n // Infinities and NaN need to use a BinaryExpression; negative values must be wrapped in UnaryExpression\n (value: number): t.NumericLiteral | t.BinaryExpression | t.UnaryExpression;\n (value: RegExp): t.RegExpLiteral;\n (value: ReadonlyArray): t.ArrayExpression;\n\n // this throws with objects that are not plain objects,\n // or if there are non-valueToNode-able values\n (value: object): t.ObjectExpression;\n\n (value: unknown): t.Expression;\n};\n\n// @ts-expect-error: Object.prototype.toString must return a string\nconst objectToString: (value: unknown) => string = Function.call.bind(\n Object.prototype.toString,\n);\n\nfunction isRegExp(value: unknown): value is RegExp {\n return objectToString(value) === \"[object RegExp]\";\n}\n\nfunction isPlainObject(value: unknown): value is object {\n if (\n typeof value !== \"object\" ||\n value === null ||\n Object.prototype.toString.call(value) !== \"[object Object]\"\n ) {\n return false;\n }\n const proto = Object.getPrototypeOf(value);\n // Object.prototype's __proto__ is null. Every other class's __proto__.__proto__ is\n // not null by default. We cannot check if proto === Object.prototype because it\n // could come from another realm.\n return proto === null || Object.getPrototypeOf(proto) === null;\n}\n\nfunction valueToNode(value: unknown): t.Expression {\n // undefined\n if (value === undefined) {\n return identifier(\"undefined\");\n }\n\n // boolean\n if (value === true || value === false) {\n return booleanLiteral(value);\n }\n\n // null\n if (value === null) {\n return nullLiteral();\n }\n\n // strings\n if (typeof value === \"string\") {\n return stringLiteral(value);\n }\n\n // numbers\n if (typeof value === \"number\") {\n let result;\n if (Number.isFinite(value)) {\n result = numericLiteral(Math.abs(value));\n } else {\n let numerator;\n if (Number.isNaN(value)) {\n // NaN\n numerator = numericLiteral(0);\n } else {\n // Infinity / -Infinity\n numerator = numericLiteral(1);\n }\n\n result = binaryExpression(\"/\", numerator, numericLiteral(0));\n }\n\n if (value < 0 || Object.is(value, -0)) {\n result = unaryExpression(\"-\", result);\n }\n\n return result;\n }\n\n // regexes\n if (isRegExp(value)) {\n const pattern = value.source;\n const flags = /\\/([a-z]*)$/.exec(value.toString())[1];\n return regExpLiteral(pattern, flags);\n }\n\n // array\n if (Array.isArray(value)) {\n return arrayExpression(value.map(valueToNode));\n }\n\n // object\n if (isPlainObject(value)) {\n const props = [];\n for (const key of Object.keys(value)) {\n let nodeKey;\n if (isValidIdentifier(key)) {\n nodeKey = identifier(key);\n } else {\n nodeKey = stringLiteral(key);\n }\n props.push(\n objectProperty(\n nodeKey,\n valueToNode(\n // @ts-expect-error key must present in value\n value[key],\n ),\n ),\n );\n }\n return objectExpression(props);\n }\n\n throw new Error(\"don't know how to turn this value into a node\");\n}\n", "import { memberExpression } from \"../builders/generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Append a node to a member expression.\n */\nexport default function appendToMemberExpression(\n member: t.MemberExpression,\n append: t.MemberExpression[\"property\"],\n computed: boolean = false,\n): t.MemberExpression {\n member.object = memberExpression(\n member.object,\n member.property,\n member.computed,\n );\n member.property = append;\n member.computed = !!computed;\n\n return member;\n}\n", "import { INHERIT_KEYS } from \"../constants/index.ts\";\nimport inheritsComments from \"../comments/inheritsComments.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Inherit all contextual properties from `parent` node to `child` node.\n */\nexport default function inherits(\n child: T,\n parent: t.Node | null | undefined,\n): T {\n if (!child || !parent) return child;\n\n // optionally inherit specific properties if not null\n for (const key of INHERIT_KEYS.optional) {\n // @ts-expect-error Fixme: refine parent types\n if (child[key] == null) {\n // @ts-expect-error Fixme: refine parent types\n child[key] = parent[key];\n }\n }\n\n // force inherit \"private\" properties\n for (const key of Object.keys(parent)) {\n if (key[0] === \"_\" && key !== \"__clone\") {\n // @ts-expect-error Fixme: refine parent types\n child[key] = parent[key];\n }\n }\n\n // force inherit select properties\n for (const key of INHERIT_KEYS.force) {\n // @ts-expect-error Fixme: refine parent types\n child[key] = parent[key];\n }\n\n inheritsComments(child, parent);\n\n return child;\n}\n", "import { memberExpression } from \"../builders/generated/index.ts\";\nimport { isSuper } from \"../index.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Prepend a node to a member expression.\n */\nexport default function prependToMemberExpression<\n T extends Pick,\n>(member: T, prepend: t.MemberExpression[\"object\"]): T {\n if (isSuper(member.object)) {\n throw new Error(\n \"Cannot prepend node to super property access (`super.foo`).\",\n );\n }\n member.object = memberExpression(prepend, member.object);\n\n return member;\n}\n", "import type * as t from \"../index.ts\";\n\n/**\n * For the given node, generate a map from assignment id names to the identifier node.\n * Unlike getBindingIdentifiers, this function does not handle declarations and imports.\n * @param node the assignment expression or forXstatement\n * @returns an object map\n * @see getBindingIdentifiers\n */\nexport default function getAssignmentIdentifiers(\n node: t.Node | t.Node[],\n): Record {\n // null represents holes in an array pattern\n const search: (t.Node | null)[] = [].concat(node);\n const ids = Object.create(null);\n\n while (search.length) {\n const id = search.pop();\n if (!id) continue;\n\n switch (id.type) {\n case \"ArrayPattern\":\n search.push(...id.elements);\n break;\n\n case \"AssignmentExpression\":\n case \"AssignmentPattern\":\n case \"ForInStatement\":\n case \"ForOfStatement\":\n search.push(id.left);\n break;\n\n case \"ObjectPattern\":\n search.push(...id.properties);\n break;\n\n case \"ObjectProperty\":\n search.push(id.value);\n break;\n\n case \"RestElement\":\n case \"UpdateExpression\":\n search.push(id.argument);\n break;\n\n case \"UnaryExpression\":\n if (id.operator === \"delete\") {\n search.push(id.argument);\n }\n break;\n\n case \"Identifier\":\n ids[id.name] = id;\n break;\n\n default:\n break;\n }\n }\n\n return ids;\n}\n", "import {\n isExportDeclaration,\n isIdentifier,\n isClassExpression,\n isDeclaration,\n isFunctionDeclaration,\n isFunctionExpression,\n isExportAllDeclaration,\n isAssignmentExpression,\n isUnaryExpression,\n isUpdateExpression,\n} from \"../validators/generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\nexport { getBindingIdentifiers as default };\n\nfunction getBindingIdentifiers(\n node: t.Node,\n duplicates: true,\n outerOnly?: boolean,\n newBindingsOnly?: boolean,\n): Record>;\n\nfunction getBindingIdentifiers(\n node: t.Node,\n duplicates?: false,\n outerOnly?: boolean,\n newBindingsOnly?: boolean,\n): Record;\n\nfunction getBindingIdentifiers(\n node: t.Node,\n duplicates?: boolean,\n outerOnly?: boolean,\n newBindingsOnly?: boolean,\n): Record | Record>;\n\n/**\n * Return a list of binding identifiers associated with the input `node`.\n */\nfunction getBindingIdentifiers(\n node: t.Node,\n duplicates?: boolean,\n outerOnly?: boolean,\n newBindingsOnly?: boolean,\n): Record | Record> {\n const search: t.Node[] = [].concat(node);\n const ids = Object.create(null);\n\n while (search.length) {\n const id = search.shift();\n if (!id) continue;\n\n if (\n newBindingsOnly &&\n // These nodes do not introduce _new_ bindings, but they are included\n // in getBindingIdentifiers.keys for backwards compatibility.\n // TODO(@nicolo-ribaudo): Check if we can remove them from .keys in a\n // backward-compatible way, and if not what we need to do to remove them\n // in Babel 8.\n (isAssignmentExpression(id) ||\n isUnaryExpression(id) ||\n isUpdateExpression(id))\n ) {\n continue;\n }\n\n if (isIdentifier(id)) {\n if (duplicates) {\n const _ids = (ids[id.name] = ids[id.name] || []);\n _ids.push(id);\n } else {\n ids[id.name] = id;\n }\n continue;\n }\n\n if (isExportDeclaration(id) && !isExportAllDeclaration(id)) {\n if (isDeclaration(id.declaration)) {\n search.push(id.declaration);\n }\n continue;\n }\n\n if (outerOnly) {\n if (isFunctionDeclaration(id)) {\n search.push(id.id);\n continue;\n }\n\n if (\n isFunctionExpression(id) ||\n (process.env.BABEL_8_BREAKING && isClassExpression(id))\n ) {\n continue;\n }\n }\n\n const keys = getBindingIdentifiers.keys[id.type];\n\n if (keys) {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const nodes =\n // @ts-expect-error key must present in id\n id[key] as t.Node[] | t.Node | undefined | null;\n if (nodes) {\n if (Array.isArray(nodes)) {\n search.push(...nodes);\n } else {\n search.push(nodes);\n }\n }\n }\n }\n }\n return ids;\n}\n\n/**\n * Mapping of types to their identifier keys.\n */\ntype KeysMap = {\n [N in t.Node as N[\"type\"]]?: (keyof N)[];\n};\n\nconst keys: KeysMap = {\n DeclareClass: [\"id\"],\n DeclareFunction: [\"id\"],\n DeclareModule: [\"id\"],\n DeclareVariable: [\"id\"],\n DeclareInterface: [\"id\"],\n DeclareTypeAlias: [\"id\"],\n DeclareOpaqueType: [\"id\"],\n InterfaceDeclaration: [\"id\"],\n TypeAlias: [\"id\"],\n OpaqueType: [\"id\"],\n\n CatchClause: [\"param\"],\n LabeledStatement: [\"label\"],\n UnaryExpression: [\"argument\"],\n AssignmentExpression: [\"left\"],\n\n ImportSpecifier: [\"local\"],\n ImportNamespaceSpecifier: [\"local\"],\n ImportDefaultSpecifier: [\"local\"],\n ImportDeclaration: [\"specifiers\"],\n\n ExportSpecifier: [\"exported\"],\n ExportNamespaceSpecifier: [\"exported\"],\n ExportDefaultSpecifier: [\"exported\"],\n\n FunctionDeclaration: [\"id\", \"params\"],\n FunctionExpression: [\"id\", \"params\"],\n ArrowFunctionExpression: [\"params\"],\n ObjectMethod: [\"params\"],\n ClassMethod: [\"params\"],\n ClassPrivateMethod: [\"params\"],\n\n ForInStatement: [\"left\"],\n ForOfStatement: [\"left\"],\n\n ClassDeclaration: [\"id\"],\n ClassExpression: [\"id\"],\n\n RestElement: [\"argument\"],\n UpdateExpression: [\"argument\"],\n\n ObjectProperty: [\"value\"],\n\n AssignmentPattern: [\"left\"],\n ArrayPattern: [\"elements\"],\n ObjectPattern: [\"properties\"],\n\n VariableDeclaration: [\"declarations\"],\n VariableDeclarator: [\"id\"],\n};\n\ngetBindingIdentifiers.keys = keys;\n", "import getBindingIdentifiers from \"./getBindingIdentifiers.ts\";\nimport type * as t from \"../index.ts\";\n\nexport default getOuterBindingIdentifiers as {\n (node: t.Node, duplicates: true): Record>;\n (node: t.Node, duplicates?: false): Record;\n (\n node: t.Node,\n duplicates?: boolean,\n ): Record | Record>;\n};\n\nfunction getOuterBindingIdentifiers(\n node: t.Node,\n duplicates: boolean,\n): Record | Record> {\n return getBindingIdentifiers(node, duplicates, true);\n}\n", "import type * as t from \"../index.ts\";\n\nimport {\n isAssignmentExpression,\n isClassMethod,\n isIdentifier,\n isLiteral,\n isNullLiteral,\n isObjectMethod,\n isObjectProperty,\n isPrivateName,\n isRegExpLiteral,\n isTemplateLiteral,\n isVariableDeclarator,\n} from \"../validators/generated/index.ts\";\n\nfunction getNameFromLiteralId(id: t.Literal): string {\n if (isNullLiteral(id)) {\n return \"null\";\n }\n\n if (isRegExpLiteral(id)) {\n return `/${id.pattern}/${id.flags}`;\n }\n\n if (isTemplateLiteral(id)) {\n return id.quasis.map(quasi => quasi.value.raw).join(\"\");\n }\n\n if (id.value !== undefined) {\n return String(id.value);\n }\n\n return null;\n}\n\nfunction getObjectMemberKey(\n node: t.ObjectProperty | t.ObjectMethod | t.ClassProperty | t.ClassMethod,\n): t.Expression | t.PrivateName {\n if (!node.computed || isLiteral(node.key)) {\n return node.key;\n }\n}\n\ntype GetFunctionNameResult = {\n name: string;\n originalNode: t.Node;\n} | null;\n\nexport default function getFunctionName(\n node: t.ObjectMethod | t.ClassMethod,\n): GetFunctionNameResult;\nexport default function getFunctionName(\n node: t.Function | t.Class,\n parent: t.Node,\n): GetFunctionNameResult;\nexport default function getFunctionName(\n node: t.Function | t.Class,\n parent?: t.Node,\n): GetFunctionNameResult {\n if (\"id\" in node && node.id) {\n return {\n name: node.id.name,\n originalNode: node.id,\n };\n }\n\n let prefix = \"\";\n\n let id;\n if (isObjectProperty(parent, { value: node })) {\n // { foo: () => {} };\n id = getObjectMemberKey(parent);\n } else if (isObjectMethod(node) || isClassMethod(node)) {\n // { foo() {} };\n id = getObjectMemberKey(node);\n if (node.kind === \"get\") prefix = \"get \";\n else if (node.kind === \"set\") prefix = \"set \";\n } else if (isVariableDeclarator(parent, { init: node })) {\n // let foo = function () {};\n id = parent.id;\n } else if (isAssignmentExpression(parent, { operator: \"=\", right: node })) {\n // foo = function () {};\n id = parent.left;\n }\n\n if (!id) return null;\n\n const name = isLiteral(id)\n ? getNameFromLiteralId(id)\n : isIdentifier(id)\n ? id.name\n : isPrivateName(id)\n ? id.id.name\n : null;\n if (name == null) return null;\n\n return { name: prefix + name, originalNode: id };\n}\n", "import { VISITOR_KEYS } from \"../definitions/index.ts\";\nimport type * as t from \"../index.ts\";\n\nexport type TraversalAncestors = Array<{\n node: t.Node;\n key: string;\n index?: number;\n}>;\n\nexport type TraversalHandler = (\n this: undefined,\n node: t.Node,\n parent: TraversalAncestors,\n state: T,\n) => void;\n\nexport type TraversalHandlers = {\n enter?: TraversalHandler;\n exit?: TraversalHandler;\n};\n\n/**\n * A general AST traversal with both prefix and postfix handlers, and a\n * state object. Exposes ancestry data to each handler so that more complex\n * AST data can be taken into account.\n */\nexport default function traverse(\n node: t.Node,\n handlers: TraversalHandler | TraversalHandlers,\n state?: T,\n): void {\n if (typeof handlers === \"function\") {\n handlers = { enter: handlers };\n }\n\n const { enter, exit } = handlers;\n\n traverseSimpleImpl(node, enter, exit, state, []);\n}\n\nfunction traverseSimpleImpl(\n node: any,\n enter: Function | undefined,\n exit: Function | undefined,\n state: T | undefined,\n ancestors: TraversalAncestors,\n) {\n const keys = VISITOR_KEYS[node.type];\n if (!keys) return;\n\n if (enter) enter(node, ancestors, state);\n\n for (const key of keys) {\n const subNode = node[key];\n\n if (Array.isArray(subNode)) {\n for (let i = 0; i < subNode.length; i++) {\n const child = subNode[i];\n if (!child) continue;\n\n ancestors.push({\n node,\n key,\n index: i,\n });\n\n traverseSimpleImpl(child, enter, exit, state, ancestors);\n\n ancestors.pop();\n }\n } else if (subNode) {\n ancestors.push({\n node,\n key,\n });\n\n traverseSimpleImpl(subNode, enter, exit, state, ancestors);\n\n ancestors.pop();\n }\n }\n\n if (exit) exit(node, ancestors, state);\n}\n", "import getBindingIdentifiers from \"../retrievers/getBindingIdentifiers.ts\";\nimport type * as t from \"../index.ts\";\n/**\n * Check if the input `node` is a binding identifier.\n */\nexport default function isBinding(\n node: t.Node,\n parent: t.Node,\n grandparent?: t.Node,\n): boolean {\n if (\n grandparent &&\n node.type === \"Identifier\" &&\n parent.type === \"ObjectProperty\" &&\n grandparent.type === \"ObjectExpression\"\n ) {\n // We need to special-case this, because getBindingIdentifiers\n // has an ObjectProperty->value entry for destructuring patterns.\n return false;\n }\n\n const keys = getBindingIdentifiers.keys[parent.type];\n if (keys) {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const val =\n // @ts-expect-error key must present in parent\n parent[key];\n if (Array.isArray(val)) {\n if (val.includes(node)) return true;\n } else {\n if (val === node) return true;\n }\n }\n }\n\n return false;\n}\n", "import { isVariableDeclaration } from \"./generated/index.ts\";\nimport { BLOCK_SCOPED_SYMBOL } from \"../constants/index.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Check if the input `node` is a `let` variable declaration.\n */\nexport default function isLet(node: t.Node): boolean {\n return (\n isVariableDeclaration(node) &&\n (node.kind !== \"var\" ||\n // @ts-expect-error Fixme: document private properties\n node[BLOCK_SCOPED_SYMBOL])\n );\n}\n", "import {\n isClassDeclaration,\n isFunctionDeclaration,\n} from \"./generated/index.ts\";\nimport isLet from \"./isLet.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Check if the input `node` is block scoped.\n */\nexport default function isBlockScoped(node: t.Node): boolean {\n return isFunctionDeclaration(node) || isClassDeclaration(node) || isLet(node);\n}\n", "import isType from \"./isType.ts\";\nimport { isIdentifier } from \"./generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Check if the input `node` is definitely immutable.\n */\nexport default function isImmutable(node: t.Node): boolean {\n if (isType(node.type, \"Immutable\")) return true;\n\n if (isIdentifier(node)) {\n if (node.name === \"undefined\") {\n // immutable!\n return true;\n } else {\n // no idea...\n return false;\n }\n }\n\n return false;\n}\n", "import { NODE_FIELDS, VISITOR_KEYS } from \"../definitions/index.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Check if two nodes are equivalent\n */\nexport default function isNodesEquivalent>(\n a: T,\n b: any,\n): b is T {\n if (\n typeof a !== \"object\" ||\n typeof b !== \"object\" ||\n a == null ||\n b == null\n ) {\n return a === b;\n }\n\n if (a.type !== b.type) {\n return false;\n }\n\n const fields = Object.keys(NODE_FIELDS[a.type] || a.type);\n const visitorKeys = VISITOR_KEYS[a.type];\n\n for (const field of fields) {\n const val_a =\n // @ts-expect-error field must present in a\n a[field];\n const val_b = b[field];\n if (typeof val_a !== typeof val_b) {\n return false;\n }\n if (val_a == null && val_b == null) {\n continue;\n } else if (val_a == null || val_b == null) {\n return false;\n }\n\n if (Array.isArray(val_a)) {\n if (!Array.isArray(val_b)) {\n return false;\n }\n if (val_a.length !== val_b.length) {\n return false;\n }\n\n for (let i = 0; i < val_a.length; i++) {\n if (!isNodesEquivalent(val_a[i], val_b[i])) {\n return false;\n }\n }\n continue;\n }\n\n if (typeof val_a === \"object\" && !visitorKeys?.includes(field)) {\n for (const key of Object.keys(val_a)) {\n if (val_a[key] !== val_b[key]) {\n return false;\n }\n }\n continue;\n }\n\n if (!isNodesEquivalent(val_a, val_b)) {\n return false;\n }\n }\n\n return true;\n}\n", "import type * as t from \"../index.ts\";\n\n/**\n * Check if the input `node` is a reference to a bound variable.\n */\nexport default function isReferenced(\n node: t.Node,\n parent: t.Node,\n grandparent?: t.Node,\n): boolean {\n switch (parent.type) {\n // yes: PARENT[NODE]\n // yes: NODE.child\n // no: parent.NODE\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n if (parent.property === node) {\n return !!parent.computed;\n }\n return parent.object === node;\n\n case \"JSXMemberExpression\":\n return parent.object === node;\n // no: let NODE = init;\n // yes: let id = NODE;\n case \"VariableDeclarator\":\n return parent.init === node;\n\n // yes: () => NODE\n // no: (NODE) => {}\n case \"ArrowFunctionExpression\":\n return parent.body === node;\n\n // no: class { #NODE; }\n // no: class { get #NODE() {} }\n // no: class { #NODE() {} }\n // no: class { fn() { return this.#NODE; } }\n case \"PrivateName\":\n return false;\n\n // no: class { NODE() {} }\n // yes: class { [NODE]() {} }\n // no: class { foo(NODE) {} }\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"ObjectMethod\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return false;\n\n // yes: { [NODE]: \"\" }\n // no: { NODE: \"\" }\n // depends: { NODE }\n // depends: { key: NODE }\n case \"ObjectProperty\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n // parent.value === node\n return !grandparent || grandparent.type !== \"ObjectPattern\";\n // no: class { NODE = value; }\n // yes: class { [NODE] = value; }\n // yes: class { key = NODE; }\n case \"ClassProperty\":\n case \"ClassAccessorProperty\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return true;\n case \"ClassPrivateProperty\":\n return parent.key !== node;\n\n // no: class NODE {}\n // yes: class Foo extends NODE {}\n case \"ClassDeclaration\":\n case \"ClassExpression\":\n return parent.superClass === node;\n\n // yes: left = NODE;\n // no: NODE = right;\n case \"AssignmentExpression\":\n return parent.right === node;\n\n // no: [NODE = foo] = [];\n // yes: [foo = NODE] = [];\n case \"AssignmentPattern\":\n return parent.right === node;\n\n // no: NODE: for (;;) {}\n case \"LabeledStatement\":\n return false;\n\n // no: try {} catch (NODE) {}\n case \"CatchClause\":\n return false;\n\n // no: function foo(...NODE) {}\n case \"RestElement\":\n return false;\n\n case \"BreakStatement\":\n case \"ContinueStatement\":\n return false;\n\n // no: function NODE() {}\n // no: function foo(NODE) {}\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n return false;\n\n // no: export NODE from \"foo\";\n // no: export * as NODE from \"foo\";\n case \"ExportNamespaceSpecifier\":\n case \"ExportDefaultSpecifier\":\n return false;\n\n // no: export { foo as NODE };\n // yes: export { NODE as foo };\n // no: export { NODE as foo } from \"foo\";\n case \"ExportSpecifier\":\n // @ts-expect-error todo(flow->ts): Property 'source' does not exist on type 'AnyTypeAnnotation'.\n if (grandparent?.source) {\n return false;\n }\n return parent.local === node;\n\n // no: import NODE from \"foo\";\n // no: import * as NODE from \"foo\";\n // no: import { NODE as foo } from \"foo\";\n // no: import { foo as NODE } from \"foo\";\n // no: import NODE from \"bar\";\n case \"ImportDefaultSpecifier\":\n case \"ImportNamespaceSpecifier\":\n case \"ImportSpecifier\":\n return false;\n\n // no: import \"foo\" assert { NODE: \"json\" }\n case \"ImportAttribute\":\n return false;\n\n // no:

\n case \"JSXAttribute\":\n return false;\n\n // no: [NODE] = [];\n // no: ({ NODE }) = [];\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n return false;\n\n // no: new.NODE\n // no: NODE.target\n case \"MetaProperty\":\n return false;\n\n // yes: type X = { someProperty: NODE }\n // no: type X = { NODE: OtherType }\n case \"ObjectTypeProperty\":\n return parent.key !== node;\n\n // yes: enum X { Foo = NODE }\n // no: enum X { NODE }\n case \"TSEnumMember\":\n return parent.id !== node;\n\n // yes: { [NODE]: value }\n // no: { NODE: value }\n case \"TSPropertySignature\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n\n return true;\n }\n\n return true;\n}\n", "import {\n isFunction,\n isCatchClause,\n isBlockStatement,\n isScopable,\n isPattern,\n} from \"./generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Check if the input `node` is a scope.\n */\nexport default function isScope(node: t.Node, parent: t.Node): boolean {\n // If a BlockStatement is an immediate descendent of a Function/CatchClause, it must be in the body.\n // Hence we skipped the parentKey === \"params\" check\n if (isBlockStatement(node) && (isFunction(parent) || isCatchClause(parent))) {\n return false;\n }\n\n // If a Pattern is an immediate descendent of a Function/CatchClause, it must be in the params.\n // Hence we skipped the parentKey === \"params\" check\n if (isPattern(node) && (isFunction(parent) || isCatchClause(parent))) {\n return true;\n }\n\n return isScopable(node);\n}\n", "import { isIdentifier, isImportDefaultSpecifier } from \"./generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Check if the input `specifier` is a `default` import or export.\n */\nexport default function isSpecifierDefault(\n specifier: t.ModuleSpecifier,\n): boolean {\n return (\n isImportDefaultSpecifier(specifier) ||\n // @ts-expect-error todo(flow->ts): stricter type for specifier\n isIdentifier(specifier.imported || specifier.exported, {\n name: \"default\",\n })\n );\n}\n", "import isValidIdentifier from \"./isValidIdentifier.ts\";\n\nconst RESERVED_WORDS_ES3_ONLY: Set = new Set([\n \"abstract\",\n \"boolean\",\n \"byte\",\n \"char\",\n \"double\",\n \"enum\",\n \"final\",\n \"float\",\n \"goto\",\n \"implements\",\n \"int\",\n \"interface\",\n \"long\",\n \"native\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"short\",\n \"static\",\n \"synchronized\",\n \"throws\",\n \"transient\",\n \"volatile\",\n]);\n\n/**\n * Check if the input `name` is a valid identifier name according to the ES3 specification.\n *\n * Additional ES3 reserved words are\n */\nexport default function isValidES3Identifier(name: string): boolean {\n return isValidIdentifier(name) && !RESERVED_WORDS_ES3_ONLY.has(name);\n}\n", "import { isVariableDeclaration } from \"./generated/index.ts\";\nimport { BLOCK_SCOPED_SYMBOL } from \"../constants/index.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Check if the input `node` is a variable declaration.\n */\nexport default function isVar(node: t.Node): boolean {\n return (\n isVariableDeclaration(node, { kind: \"var\" }) &&\n !(\n // @ts-expect-error document private properties\n node[BLOCK_SCOPED_SYMBOL]\n )\n );\n}\n", "// TODO(Babel 8) Remove this file\nif (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Internal Babel error: This file should only be loaded in Babel 7\",\n );\n}\n\nimport getBindingIdentifiers from \"../retrievers/getBindingIdentifiers.ts\";\nimport {\n isExpression,\n isExpressionStatement,\n isVariableDeclaration,\n isIfStatement,\n isBlockStatement,\n isEmptyStatement,\n} from \"../validators/generated/index.ts\";\nimport {\n sequenceExpression,\n assignmentExpression,\n conditionalExpression,\n} from \"../builders/generated/index.ts\";\nimport { buildUndefinedNode } from \"../builders/productions.ts\";\nimport cloneNode from \"../clone/cloneNode.ts\";\nimport type * as t from \"../index.ts\";\n\nexport type DeclarationInfo = {\n kind: t.VariableDeclaration[\"kind\"];\n id: t.Identifier;\n};\n\nexport default function gatherSequenceExpressions(\n nodes: ReadonlyArray,\n declars: Array,\n) {\n const exprs: t.Expression[] = [];\n let ensureLastUndefined = true;\n\n for (const node of nodes) {\n // if we encounter emptyStatement before a non-emptyStatement\n // we want to disregard that\n if (!isEmptyStatement(node)) {\n ensureLastUndefined = false;\n }\n\n if (isExpression(node)) {\n exprs.push(node);\n } else if (isExpressionStatement(node)) {\n exprs.push(node.expression);\n } else if (isVariableDeclaration(node)) {\n if (node.kind !== \"var\") return; // bailed\n\n for (const declar of node.declarations) {\n const bindings = getBindingIdentifiers(declar);\n for (const key of Object.keys(bindings)) {\n declars.push({\n kind: node.kind,\n id: cloneNode(bindings[key]),\n });\n }\n\n if (declar.init) {\n exprs.push(assignmentExpression(\"=\", declar.id, declar.init));\n }\n }\n\n ensureLastUndefined = true;\n } else if (isIfStatement(node)) {\n const consequent = node.consequent\n ? gatherSequenceExpressions([node.consequent], declars)\n : buildUndefinedNode();\n const alternate = node.alternate\n ? gatherSequenceExpressions([node.alternate], declars)\n : buildUndefinedNode();\n if (!consequent || !alternate) return; // bailed\n\n exprs.push(conditionalExpression(node.test, consequent, alternate));\n } else if (isBlockStatement(node)) {\n const body = gatherSequenceExpressions(node.body, declars);\n if (!body) return; // bailed\n\n exprs.push(body);\n } else if (isEmptyStatement(node)) {\n // empty statement so ensure the last item is undefined if we're last\n // checks if emptyStatement is first\n if (nodes.indexOf(node) === 0) {\n ensureLastUndefined = true;\n }\n } else {\n // bailed, we can't turn this statement into an expression\n return;\n }\n }\n\n if (ensureLastUndefined) {\n exprs.push(buildUndefinedNode());\n }\n\n if (exprs.length === 1) {\n return exprs[0];\n } else {\n return sequenceExpression(exprs);\n }\n}\n", "// TODO(Babel 8) Remove this file\nif (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Internal Babel error: This file should only be loaded in Babel 7\",\n );\n}\n\nimport gatherSequenceExpressions from \"./gatherSequenceExpressions.ts\";\nimport type * as t from \"../index.ts\";\nimport type { DeclarationInfo } from \"./gatherSequenceExpressions.ts\";\n\n/**\n * Turn an array of statement `nodes` into a `SequenceExpression`.\n *\n * Variable declarations are turned into simple assignments and their\n * declarations hoisted to the top of the current scope.\n *\n * Expression statements are just resolved to their expression.\n */\nexport default function toSequenceExpression(\n nodes: ReadonlyArray,\n scope: any,\n): t.SequenceExpression | undefined {\n if (!nodes?.length) return;\n\n const declars: DeclarationInfo[] = [];\n const result = gatherSequenceExpressions(nodes, declars);\n if (!result) return;\n\n for (const declar of declars) {\n scope.push(declar);\n }\n\n // @ts-expect-error fixme: gatherSequenceExpressions will return an Expression when there are only one element\n return result;\n}\n", "import isReactComponent from \"./validators/react/isReactComponent.ts\";\nimport isCompatTag from \"./validators/react/isCompatTag.ts\";\nimport buildChildren from \"./builders/react/buildChildren.ts\";\n\n// asserts\nexport { default as assertNode } from \"./asserts/assertNode.ts\";\nexport * from \"./asserts/generated/index.ts\";\n\n// builders\nexport { default as createTypeAnnotationBasedOnTypeof } from \"./builders/flow/createTypeAnnotationBasedOnTypeof.ts\";\n/** @deprecated use createFlowUnionType instead */\nexport { default as createUnionTypeAnnotation } from \"./builders/flow/createFlowUnionType.ts\";\nexport { default as createFlowUnionType } from \"./builders/flow/createFlowUnionType.ts\";\nexport { default as createTSUnionType } from \"./builders/typescript/createTSUnionType.ts\";\nexport * from \"./builders/generated/index.ts\";\n\nexport * from \"./builders/generated/uppercase.js\";\nexport * from \"./builders/productions.ts\";\n\n// clone\nexport { default as cloneNode } from \"./clone/cloneNode.ts\";\nexport { default as clone } from \"./clone/clone.ts\";\nexport { default as cloneDeep } from \"./clone/cloneDeep.ts\";\nexport { default as cloneDeepWithoutLoc } from \"./clone/cloneDeepWithoutLoc.ts\";\nexport { default as cloneWithoutLoc } from \"./clone/cloneWithoutLoc.ts\";\n\n// comments\nexport { default as addComment } from \"./comments/addComment.ts\";\nexport { default as addComments } from \"./comments/addComments.ts\";\nexport { default as inheritInnerComments } from \"./comments/inheritInnerComments.ts\";\nexport { default as inheritLeadingComments } from \"./comments/inheritLeadingComments.ts\";\nexport { default as inheritsComments } from \"./comments/inheritsComments.ts\";\nexport { default as inheritTrailingComments } from \"./comments/inheritTrailingComments.ts\";\nexport { default as removeComments } from \"./comments/removeComments.ts\";\n\n// constants\nexport * from \"./constants/generated/index.ts\";\nexport * from \"./constants/index.ts\";\n\n// converters\nexport { default as ensureBlock } from \"./converters/ensureBlock.ts\";\nexport { default as toBindingIdentifierName } from \"./converters/toBindingIdentifierName.ts\";\nexport { default as toBlock } from \"./converters/toBlock.ts\";\nexport { default as toComputedKey } from \"./converters/toComputedKey.ts\";\nexport { default as toExpression } from \"./converters/toExpression.ts\";\nexport { default as toIdentifier } from \"./converters/toIdentifier.ts\";\nexport { default as toKeyAlias } from \"./converters/toKeyAlias.ts\";\nexport { default as toStatement } from \"./converters/toStatement.ts\";\nexport { default as valueToNode } from \"./converters/valueToNode.ts\";\n\n// definitions\nexport * from \"./definitions/index.ts\";\n\n// modifications\nexport { default as appendToMemberExpression } from \"./modifications/appendToMemberExpression.ts\";\nexport { default as inherits } from \"./modifications/inherits.ts\";\nexport { default as prependToMemberExpression } from \"./modifications/prependToMemberExpression.ts\";\nexport {\n default as removeProperties,\n type Options as RemovePropertiesOptions,\n} from \"./modifications/removeProperties.ts\";\nexport { default as removePropertiesDeep } from \"./modifications/removePropertiesDeep.ts\";\nexport { default as removeTypeDuplicates } from \"./modifications/flow/removeTypeDuplicates.ts\";\n\n// retrievers\nexport { default as getAssignmentIdentifiers } from \"./retrievers/getAssignmentIdentifiers.ts\";\nexport { default as getBindingIdentifiers } from \"./retrievers/getBindingIdentifiers.ts\";\nexport { default as getOuterBindingIdentifiers } from \"./retrievers/getOuterBindingIdentifiers.ts\";\nexport { default as getFunctionName } from \"./retrievers/getFunctionName.ts\";\n\n// traverse\nexport { default as traverse } from \"./traverse/traverse.ts\";\nexport * from \"./traverse/traverse.ts\";\nexport { default as traverseFast } from \"./traverse/traverseFast.ts\";\n\n// utils\nexport { default as shallowEqual } from \"./utils/shallowEqual.ts\";\n\n// validators\nexport { default as is } from \"./validators/is.ts\";\nexport { default as isBinding } from \"./validators/isBinding.ts\";\nexport { default as isBlockScoped } from \"./validators/isBlockScoped.ts\";\nexport { default as isImmutable } from \"./validators/isImmutable.ts\";\nexport { default as isLet } from \"./validators/isLet.ts\";\nexport { default as isNode } from \"./validators/isNode.ts\";\nexport { default as isNodesEquivalent } from \"./validators/isNodesEquivalent.ts\";\nexport { default as isPlaceholderType } from \"./validators/isPlaceholderType.ts\";\nexport { default as isReferenced } from \"./validators/isReferenced.ts\";\nexport { default as isScope } from \"./validators/isScope.ts\";\nexport { default as isSpecifierDefault } from \"./validators/isSpecifierDefault.ts\";\nexport { default as isType } from \"./validators/isType.ts\";\nexport { default as isValidES3Identifier } from \"./validators/isValidES3Identifier.ts\";\nexport { default as isValidIdentifier } from \"./validators/isValidIdentifier.ts\";\nexport { default as isVar } from \"./validators/isVar.ts\";\nexport { default as matchesPattern } from \"./validators/matchesPattern.ts\";\nexport { default as validate } from \"./validators/validate.ts\";\nexport { default as buildMatchMemberExpression } from \"./validators/buildMatchMemberExpression.ts\";\nexport * from \"./validators/generated/index.ts\";\n\n// react\nexport const react = {\n isReactComponent,\n isCompatTag,\n buildChildren,\n};\n\nexport type * from \"./ast-types/generated/index.ts\";\n\n// this is used by @babel/traverse to warn about deprecated visitors\nexport { default as __internal__deprecationWarning } from \"./utils/deprecationWarning.ts\";\n\nif (!process.env.BABEL_8_BREAKING && !USE_ESM && !IS_STANDALONE) {\n // eslint-disable-next-line no-restricted-globals\n exports.toSequenceExpression =\n // eslint-disable-next-line no-restricted-globals\n require(\"./converters/toSequenceExpression.js\").default;\n}\n\nif (!process.env.BABEL_8_BREAKING && process.env.BABEL_TYPES_8_BREAKING) {\n console.warn(\n \"BABEL_TYPES_8_BREAKING is not supported anymore. Use the latest Babel 8.0.0 pre-release instead!\",\n );\n}\n", "import assert from \"assert\";\nimport {\n callExpression,\n cloneNode,\n expressionStatement,\n identifier,\n importDeclaration,\n importDefaultSpecifier,\n importNamespaceSpecifier,\n importSpecifier,\n memberExpression,\n stringLiteral,\n variableDeclaration,\n variableDeclarator,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { Scope, HubInterface } from \"@babel/traverse\";\n\n/**\n * A class to track and accumulate mutations to the AST that will eventually\n * output a new require/import statement list.\n */\nexport default class ImportBuilder {\n private _statements: t.Statement[] = [];\n private _resultName: t.Identifier | t.MemberExpression = null;\n\n declare _scope: Scope;\n declare _hub: HubInterface;\n private _importedSource: string;\n\n constructor(importedSource: string, scope: Scope, hub: HubInterface) {\n this._scope = scope;\n this._hub = hub;\n this._importedSource = importedSource;\n }\n\n done() {\n return {\n statements: this._statements,\n resultName: this._resultName,\n };\n }\n\n import() {\n this._statements.push(\n importDeclaration([], stringLiteral(this._importedSource)),\n );\n return this;\n }\n\n require() {\n this._statements.push(\n expressionStatement(\n callExpression(identifier(\"require\"), [\n stringLiteral(this._importedSource),\n ]),\n ),\n );\n return this;\n }\n\n namespace(name = \"namespace\") {\n const local = this._scope.generateUidIdentifier(name);\n\n const statement = this._statements[this._statements.length - 1];\n assert(statement.type === \"ImportDeclaration\");\n assert(statement.specifiers.length === 0);\n statement.specifiers = [importNamespaceSpecifier(local)];\n this._resultName = cloneNode(local);\n return this;\n }\n default(name: string) {\n const id = this._scope.generateUidIdentifier(name);\n const statement = this._statements[this._statements.length - 1];\n assert(statement.type === \"ImportDeclaration\");\n assert(statement.specifiers.length === 0);\n statement.specifiers = [importDefaultSpecifier(id)];\n this._resultName = cloneNode(id);\n return this;\n }\n named(name: string, importName: string) {\n if (importName === \"default\") return this.default(name);\n\n const id = this._scope.generateUidIdentifier(name);\n const statement = this._statements[this._statements.length - 1];\n assert(statement.type === \"ImportDeclaration\");\n assert(statement.specifiers.length === 0);\n statement.specifiers = [importSpecifier(id, identifier(importName))];\n this._resultName = cloneNode(id);\n return this;\n }\n\n var(name: string) {\n const id = this._scope.generateUidIdentifier(name);\n let statement = this._statements[this._statements.length - 1];\n if (statement.type !== \"ExpressionStatement\") {\n assert(this._resultName);\n statement = expressionStatement(this._resultName);\n this._statements.push(statement);\n }\n this._statements[this._statements.length - 1] = variableDeclaration(\"var\", [\n variableDeclarator(id, statement.expression),\n ]);\n this._resultName = cloneNode(id);\n return this;\n }\n\n defaultInterop() {\n return this._interop(this._hub.addHelper(\"interopRequireDefault\"));\n }\n wildcardInterop() {\n return this._interop(this._hub.addHelper(\"interopRequireWildcard\"));\n }\n\n _interop(callee: t.Expression) {\n const statement = this._statements[this._statements.length - 1];\n if (statement.type === \"ExpressionStatement\") {\n statement.expression = callExpression(callee, [statement.expression]);\n } else if (statement.type === \"VariableDeclaration\") {\n assert(statement.declarations.length === 1);\n statement.declarations[0].init = callExpression(callee, [\n statement.declarations[0].init,\n ]);\n } else {\n assert.fail(\"Unexpected type.\");\n }\n return this;\n }\n\n prop(name: string) {\n const statement = this._statements[this._statements.length - 1];\n if (statement.type === \"ExpressionStatement\") {\n statement.expression = memberExpression(\n statement.expression,\n identifier(name),\n );\n } else if (statement.type === \"VariableDeclaration\") {\n assert(statement.declarations.length === 1);\n statement.declarations[0].init = memberExpression(\n statement.declarations[0].init,\n identifier(name),\n );\n } else {\n assert.fail(\"Unexpected type:\" + statement.type);\n }\n return this;\n }\n\n read(name: string) {\n this._resultName = memberExpression(this._resultName, identifier(name));\n }\n}\n", "import type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\n/**\n * A small utility to check if a file qualifies as a module.\n */\nexport default function isModule(path: NodePath) {\n return path.node.sourceType === \"module\";\n}\n", "import assert from \"assert\";\nimport {\n identifier,\n importSpecifier,\n numericLiteral,\n sequenceExpression,\n isImportDeclaration,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { NodePath, Scope, HubInterface } from \"@babel/traverse\";\n\nimport ImportBuilder from \"./import-builder.ts\";\nimport isModule from \"./is-module.ts\";\n\nexport type ImportOptions = {\n /**\n * The module being referenced.\n */\n importedSource: string | null;\n /**\n * The type of module being imported:\n *\n * * 'es6' - An ES6 module.\n * * 'commonjs' - A CommonJS module. (Default)\n */\n importedType: \"es6\" | \"commonjs\";\n /**\n * The type of interop behavior for namespace/default/named when loading\n * CommonJS modules.\n *\n * ## 'babel' (Default)\n *\n * Load using Babel's interop.\n *\n * If '.__esModule' is true, treat as 'compiled', else:\n *\n * * Namespace: A copy of the module.exports with .default\n * populated by the module.exports object.\n * * Default: The module.exports value.\n * * Named: The .named property of module.exports.\n *\n * The 'ensureLiveReference' has no effect on the liveness of these.\n *\n * ## 'compiled'\n *\n * Assume the module is ES6 compiled to CommonJS. Useful to avoid injecting\n * interop logic if you are confident that the module is a certain format.\n *\n * * Namespace: The root module.exports object.\n * * Default: The .default property of the namespace.\n * * Named: The .named property of the namespace.\n *\n * Will return erroneous results if the imported module is _not_ compiled\n * from ES6 with Babel.\n *\n * ## 'uncompiled'\n *\n * Assume the module is _not_ ES6 compiled to CommonJS. Used a simplified\n * access pattern that doesn't require additional function calls.\n *\n * Will return erroneous results if the imported module _is_ compiled\n * from ES6 with Babel.\n *\n * * Namespace: The module.exports object.\n * * Default: The module.exports object.\n * * Named: The .named property of module.exports.\n */\n importedInterop: \"babel\" | \"node\" | \"compiled\" | \"uncompiled\";\n /**\n * The type of CommonJS interop included in the environment that will be\n * loading the output code.\n *\n * * 'babel' - CommonJS modules load with Babel's interop. (Default)\n * * 'node' - CommonJS modules load with Node's interop.\n *\n * See descriptions in 'importedInterop' for more details.\n */\n importingInterop: \"babel\" | \"node\";\n /**\n * Define whether we explicitly care that the import be a live reference.\n * Only applies when importing default and named imports, not the namespace.\n *\n * * true - Force imported values to be live references.\n * * false - No particular requirements. Keeps the code simplest. (Default)\n */\n ensureLiveReference: boolean;\n /**\n * Define if we explicitly care that the result not be a property reference.\n *\n * * true - Force calls to exclude context. Useful if the value is going to\n * be used as function callee.\n * * false - No particular requirements for context of the access. (Default)\n */\n ensureNoContext: boolean;\n /**\n * Define whether the import should be loaded before or after the existing imports.\n * \"after\" is only allowed inside ECMAScript modules, since it's not possible to\n * reliably pick the location _after_ require() calls but _before_ other code in CJS.\n */\n importPosition: \"before\" | \"after\";\n\n nameHint?: string;\n blockHoist?: number;\n};\n\n/**\n * A general helper classes add imports via transforms. See README for usage.\n */\nexport default class ImportInjector {\n /**\n * The path used for manipulation.\n */\n declare _programPath: NodePath;\n\n /**\n * The scope used to generate unique variable names.\n */\n declare _programScope: Scope;\n\n /**\n * The file used to inject helpers and resolve paths.\n */\n declare _hub: HubInterface;\n\n /**\n * The default options to use with this instance when imports are added.\n */\n _defaultOpts: ImportOptions = {\n importedSource: null,\n importedType: \"commonjs\",\n importedInterop: \"babel\",\n importingInterop: \"babel\",\n ensureLiveReference: false,\n ensureNoContext: false,\n importPosition: \"before\",\n };\n\n constructor(\n path: NodePath,\n importedSource?: string,\n opts?: Partial,\n ) {\n const programPath = path.find(p => p.isProgram()) as NodePath;\n\n this._programPath = programPath;\n this._programScope = programPath.scope;\n this._hub = programPath.hub;\n\n this._defaultOpts = this._applyDefaults(importedSource, opts, true);\n }\n\n addDefault(importedSourceIn: string, opts: Partial) {\n return this.addNamed(\"default\", importedSourceIn, opts);\n }\n\n addNamed(\n importName: string,\n importedSourceIn: string,\n opts: Partial,\n ) {\n assert(typeof importName === \"string\");\n\n return this._generateImport(\n this._applyDefaults(importedSourceIn, opts),\n importName,\n );\n }\n\n addNamespace(importedSourceIn: string, opts: Partial) {\n return this._generateImport(\n this._applyDefaults(importedSourceIn, opts),\n null,\n );\n }\n\n addSideEffect(importedSourceIn: string, opts: Partial) {\n return this._generateImport(\n this._applyDefaults(importedSourceIn, opts),\n void 0,\n );\n }\n\n _applyDefaults(\n importedSource: string | Partial,\n opts: Partial | undefined,\n isInit = false,\n ) {\n let newOpts: ImportOptions;\n if (typeof importedSource === \"string\") {\n newOpts = { ...this._defaultOpts, importedSource, ...opts };\n } else {\n assert(!opts, \"Unexpected secondary arguments.\");\n newOpts = { ...this._defaultOpts, ...importedSource };\n }\n\n if (!isInit && opts) {\n if (opts.nameHint !== undefined) newOpts.nameHint = opts.nameHint;\n if (opts.blockHoist !== undefined) newOpts.blockHoist = opts.blockHoist;\n }\n return newOpts;\n }\n\n _generateImport(\n opts: Partial,\n importName: string | null | undefined,\n ) {\n const isDefault = importName === \"default\";\n const isNamed = !!importName && !isDefault;\n const isNamespace = importName === null;\n\n const {\n importedSource,\n importedType,\n importedInterop,\n importingInterop,\n ensureLiveReference,\n ensureNoContext,\n nameHint,\n importPosition,\n\n // Not meant for public usage. Allows code that absolutely must control\n // ordering to set a specific hoist value on the import nodes.\n // This is ignored when \"importPosition\" is \"after\".\n blockHoist,\n } = opts;\n\n // Provide a hint for generateUidIdentifier for the local variable name\n // to use for the import, if the code will generate a simple assignment\n // to a variable.\n let name = nameHint || importName;\n\n const isMod = isModule(this._programPath);\n const isModuleForNode = isMod && importingInterop === \"node\";\n const isModuleForBabel = isMod && importingInterop === \"babel\";\n\n if (importPosition === \"after\" && !isMod) {\n throw new Error(`\"importPosition\": \"after\" is only supported in modules`);\n }\n\n const builder = new ImportBuilder(\n importedSource,\n this._programScope,\n this._hub,\n );\n\n if (importedType === \"es6\") {\n if (!isModuleForNode && !isModuleForBabel) {\n throw new Error(\"Cannot import an ES6 module from CommonJS\");\n }\n\n // import * as namespace from ''; namespace\n // import def from ''; def\n // import { named } from ''; named\n builder.import();\n if (isNamespace) {\n builder.namespace(nameHint || importedSource);\n } else if (isDefault || isNamed) {\n builder.named(name, importName);\n }\n } else if (importedType !== \"commonjs\") {\n throw new Error(`Unexpected interopType \"${importedType}\"`);\n } else if (importedInterop === \"babel\") {\n if (isModuleForNode) {\n // import _tmp from ''; var namespace = interopRequireWildcard(_tmp); namespace\n // import _tmp from ''; var def = interopRequireDefault(_tmp).default; def\n // import _tmp from ''; _tmp.named\n name = name !== \"default\" ? name : importedSource;\n const es6Default = `${importedSource}$es6Default`;\n\n builder.import();\n if (isNamespace) {\n builder\n .default(es6Default)\n .var(name || importedSource)\n .wildcardInterop();\n } else if (isDefault) {\n if (ensureLiveReference) {\n builder\n .default(es6Default)\n .var(name || importedSource)\n .defaultInterop()\n .read(\"default\");\n } else {\n builder\n .default(es6Default)\n .var(name)\n .defaultInterop()\n .prop(importName);\n }\n } else if (isNamed) {\n builder.default(es6Default).read(importName);\n }\n } else if (isModuleForBabel) {\n // import * as namespace from ''; namespace\n // import def from ''; def\n // import { named } from ''; named\n builder.import();\n if (isNamespace) {\n builder.namespace(name || importedSource);\n } else if (isDefault || isNamed) {\n builder.named(name, importName);\n }\n } else {\n // var namespace = interopRequireWildcard(require(''));\n // var def = interopRequireDefault(require('')).default; def\n // var named = require('').named; named\n builder.require();\n if (isNamespace) {\n builder.var(name || importedSource).wildcardInterop();\n } else if ((isDefault || isNamed) && ensureLiveReference) {\n if (isDefault) {\n name = name !== \"default\" ? name : importedSource;\n builder.var(name).read(importName);\n builder.defaultInterop();\n } else {\n builder.var(importedSource).read(importName);\n }\n } else if (isDefault) {\n builder.var(name).defaultInterop().prop(importName);\n } else if (isNamed) {\n builder.var(name).prop(importName);\n }\n }\n } else if (importedInterop === \"compiled\") {\n if (isModuleForNode) {\n // import namespace from ''; namespace\n // import namespace from ''; namespace.default\n // import namespace from ''; namespace.named\n\n builder.import();\n if (isNamespace) {\n builder.default(name || importedSource);\n } else if (isDefault || isNamed) {\n builder.default(importedSource).read(name);\n }\n } else if (isModuleForBabel) {\n // import * as namespace from ''; namespace\n // import def from ''; def\n // import { named } from ''; named\n // Note: These lookups will break if the module has no __esModule set,\n // hence the warning that 'compiled' will not work on standard CommonJS.\n\n builder.import();\n if (isNamespace) {\n builder.namespace(name || importedSource);\n } else if (isDefault || isNamed) {\n builder.named(name, importName);\n }\n } else {\n // var namespace = require(''); namespace\n // var namespace = require(''); namespace.default\n // var namespace = require(''); namespace.named\n // var named = require('').named;\n builder.require();\n if (isNamespace) {\n builder.var(name || importedSource);\n } else if (isDefault || isNamed) {\n if (ensureLiveReference) {\n builder.var(importedSource).read(name);\n } else {\n builder.prop(importName).var(name);\n }\n }\n }\n } else if (importedInterop === \"uncompiled\") {\n if (isDefault && ensureLiveReference) {\n throw new Error(\"No live reference for commonjs default\");\n }\n\n if (isModuleForNode) {\n // import namespace from ''; namespace\n // import def from ''; def;\n // import namespace from ''; namespace.named\n builder.import();\n if (isNamespace) {\n builder.default(name || importedSource);\n } else if (isDefault) {\n builder.default(name);\n } else if (isNamed) {\n builder.default(importedSource).read(name);\n }\n } else if (isModuleForBabel) {\n // import namespace from '';\n // import def from '';\n // import { named } from ''; named;\n // Note: These lookups will break if the module has __esModule set,\n // hence the warning that 'uncompiled' will not work on ES6 transpiled\n // to CommonJS.\n\n builder.import();\n if (isNamespace) {\n builder.default(name || importedSource);\n } else if (isDefault) {\n builder.default(name);\n } else if (isNamed) {\n builder.named(name, importName);\n }\n } else {\n // var namespace = require(''); namespace\n // var def = require(''); def\n // var namespace = require(''); namespace.named\n // var named = require('').named;\n builder.require();\n if (isNamespace) {\n builder.var(name || importedSource);\n } else if (isDefault) {\n builder.var(name);\n } else if (isNamed) {\n if (ensureLiveReference) {\n builder.var(importedSource).read(name);\n } else {\n builder.var(name).prop(importName);\n }\n }\n }\n } else {\n throw new Error(`Unknown importedInterop \"${importedInterop}\".`);\n }\n\n const { statements, resultName } = builder.done();\n\n this._insertStatements(statements, importPosition, blockHoist);\n\n if (\n (isDefault || isNamed) &&\n ensureNoContext &&\n resultName.type !== \"Identifier\"\n ) {\n return sequenceExpression([numericLiteral(0), resultName]);\n }\n return resultName;\n }\n\n _insertStatements(\n statements: t.Statement[],\n importPosition = \"before\",\n blockHoist = 3,\n ) {\n if (importPosition === \"after\") {\n if (this._insertStatementsAfter(statements)) return;\n } else {\n if (this._insertStatementsBefore(statements, blockHoist)) return;\n }\n\n this._programPath.unshiftContainer(\"body\", statements);\n }\n\n _insertStatementsBefore(statements: t.Statement[], blockHoist: number) {\n if (\n statements.length === 1 &&\n isImportDeclaration(statements[0]) &&\n isValueImport(statements[0])\n ) {\n const firstImportDecl = this._programPath\n .get(\"body\")\n .find((p): p is NodePath => {\n return p.isImportDeclaration() && isValueImport(p.node);\n });\n\n if (\n firstImportDecl?.node.source.value === statements[0].source.value &&\n maybeAppendImportSpecifiers(firstImportDecl.node, statements[0])\n ) {\n return true;\n }\n }\n\n statements.forEach(node => {\n // @ts-expect-error handle _blockHoist\n node._blockHoist = blockHoist;\n });\n\n const targetPath = this._programPath.get(\"body\").find(p => {\n // @ts-expect-error todo(flow->ts): avoid mutations\n const val = p.node._blockHoist;\n return Number.isFinite(val) && val < 4;\n });\n\n if (targetPath) {\n targetPath.insertBefore(statements);\n return true;\n }\n\n return false;\n }\n\n _insertStatementsAfter(statements: t.Statement[]): boolean {\n const statementsSet = new Set(statements);\n const importDeclarations: Map = new Map();\n\n for (const statement of statements) {\n if (isImportDeclaration(statement) && isValueImport(statement)) {\n const source = statement.source.value;\n if (!importDeclarations.has(source)) importDeclarations.set(source, []);\n importDeclarations.get(source).push(statement);\n }\n }\n\n let lastImportPath = null;\n for (const bodyStmt of this._programPath.get(\"body\")) {\n if (bodyStmt.isImportDeclaration() && isValueImport(bodyStmt.node)) {\n lastImportPath = bodyStmt;\n\n const source = bodyStmt.node.source.value;\n const newImports = importDeclarations.get(source);\n if (!newImports) continue;\n\n for (const decl of newImports) {\n if (!statementsSet.has(decl)) continue;\n if (maybeAppendImportSpecifiers(bodyStmt.node, decl)) {\n statementsSet.delete(decl);\n }\n }\n }\n }\n\n if (statementsSet.size === 0) return true;\n\n if (lastImportPath) lastImportPath.insertAfter(Array.from(statementsSet));\n\n return !!lastImportPath;\n }\n}\n\nfunction isValueImport(node: t.ImportDeclaration) {\n return node.importKind !== \"type\" && node.importKind !== \"typeof\";\n}\n\nfunction hasNamespaceImport(node: t.ImportDeclaration) {\n return (\n (node.specifiers.length === 1 &&\n node.specifiers[0].type === \"ImportNamespaceSpecifier\") ||\n (node.specifiers.length === 2 &&\n node.specifiers[1].type === \"ImportNamespaceSpecifier\")\n );\n}\n\nfunction hasDefaultImport(node: t.ImportDeclaration) {\n return (\n node.specifiers.length > 0 &&\n node.specifiers[0].type === \"ImportDefaultSpecifier\"\n );\n}\n\nfunction maybeAppendImportSpecifiers(\n target: t.ImportDeclaration,\n source: t.ImportDeclaration,\n): boolean {\n if (!target.specifiers.length) {\n target.specifiers = source.specifiers;\n return true;\n }\n if (!source.specifiers.length) return true;\n\n if (hasNamespaceImport(target) || hasNamespaceImport(source)) return false;\n\n if (hasDefaultImport(source)) {\n if (hasDefaultImport(target)) {\n source.specifiers[0] = importSpecifier(\n source.specifiers[0].local,\n identifier(\"default\"),\n );\n } else {\n target.specifiers.unshift(source.specifiers.shift());\n }\n }\n\n target.specifiers.push(...source.specifiers);\n\n return true;\n}\n", "import ImportInjector, { type ImportOptions } from \"./import-injector.ts\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\nexport { ImportInjector };\n\nexport { default as isModule } from \"./is-module.ts\";\n\nexport function addDefault(\n path: NodePath,\n importedSource: string,\n opts?: Partial,\n) {\n return new ImportInjector(path).addDefault(importedSource, opts);\n}\n\nfunction addNamed(\n path: NodePath,\n name: string,\n importedSource: string,\n opts?: Omit<\n Partial,\n \"ensureLiveReference\" | \"ensureNoContext\"\n >,\n): t.Identifier;\nfunction addNamed(\n path: NodePath,\n name: string,\n importedSource: string,\n opts?: Omit, \"ensureLiveReference\"> & {\n ensureLiveReference: true;\n },\n): t.MemberExpression;\nfunction addNamed(\n path: NodePath,\n name: string,\n importedSource: string,\n opts?: Omit, \"ensureNoContext\"> & {\n ensureNoContext: true;\n },\n): t.SequenceExpression;\n/**\n * add a named import to the program path of given path\n *\n * @export\n * @param {NodePath} path The starting path to find a program path\n * @param {string} name The name of the generated binding. Babel will prefix it with `_`\n * @param {string} importedSource The source of the import\n * @param {Partial} [opts]\n * @returns {t.Identifier | t.MemberExpression | t.SequenceExpression} If opts.ensureNoContext is true, returns a SequenceExpression,\n * else if opts.ensureLiveReference is true, returns a MemberExpression, else returns an Identifier\n */\nfunction addNamed(\n path: NodePath,\n name: string,\n importedSource: string,\n opts?: Partial,\n) {\n return new ImportInjector(path).addNamed(name, importedSource, opts);\n}\nexport { addNamed };\n\nexport function addNamespace(\n path: NodePath,\n importedSource: string,\n opts?: Partial,\n) {\n return new ImportInjector(path).addNamespace(importedSource, opts);\n}\n\nexport function addSideEffect(\n path: NodePath,\n importedSource: string,\n opts?: Partial,\n) {\n return new ImportInjector(path).addSideEffect(importedSource, opts);\n}\n", "module.exports = Object.create(new Proxy({}, {\n get(_, key) {\n if (\n key !== '__esModule' &&\n key !== '__proto__' &&\n key !== 'constructor' &&\n key !== 'splice'\n ) {\n console.warn(`Module \"os\" has been externalized for browser compatibility. Cannot access \"os.${key}\" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`)\n }\n }\n}))", "'use strict';\n\nvar os = require('os');\n\n// adapted from https://github.com/sindresorhus/os-homedir/blob/11e089f4754db38bb535e5a8416320c4446e8cfd/index.js\n\nmodule.exports = os.homedir || function homedir() {\n var home = process.env.HOME;\n var user = process.env.LOGNAME || process.env.USER || process.env.LNAME || process.env.USERNAME;\n\n if (process.platform === 'win32') {\n return process.env.USERPROFILE || process.env.HOMEDRIVE + process.env.HOMEPATH || home || null;\n }\n\n if (process.platform === 'darwin') {\n return home || (user ? '/Users/' + user : null);\n }\n\n if (process.platform === 'linux') {\n return home || (process.getuid() === 0 ? '/root' : (user ? '/home/' + user : null)); // eslint-disable-line no-extra-parens\n }\n\n return home || null;\n};\n", "module.exports = function () {\n // see https://code.google.com/p/v8/wiki/JavaScriptStackTraceApi\n var origPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = function (_, stack) { return stack; };\n var stack = (new Error()).stack;\n Error.prepareStackTrace = origPrepareStackTrace;\n return stack[2].getFileName();\n};\n", "'use strict';\n\nvar isWindows = process.platform === 'win32';\n\n// Regex to split a windows path into into [dir, root, basename, name, ext]\nvar splitWindowsRe =\n /^(((?:[a-zA-Z]:|[\\\\\\/]{2}[^\\\\\\/]+[\\\\\\/]+[^\\\\\\/]+)?[\\\\\\/]?)(?:[^\\\\\\/]*[\\\\\\/])*)((\\.{1,2}|[^\\\\\\/]+?|)(\\.[^.\\/\\\\]*|))[\\\\\\/]*$/;\n\nvar win32 = {};\n\nfunction win32SplitPath(filename) {\n return splitWindowsRe.exec(filename).slice(1);\n}\n\nwin32.parse = function(pathString) {\n if (typeof pathString !== 'string') {\n throw new TypeError(\n \"Parameter 'pathString' must be a string, not \" + typeof pathString\n );\n }\n var allParts = win32SplitPath(pathString);\n if (!allParts || allParts.length !== 5) {\n throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n }\n return {\n root: allParts[1],\n dir: allParts[0] === allParts[1] ? allParts[0] : allParts[0].slice(0, -1),\n base: allParts[2],\n ext: allParts[4],\n name: allParts[3]\n };\n};\n\n\n\n// Split a filename into [dir, root, basename, name, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n /^((\\/?)(?:[^\\/]*\\/)*)((\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))[\\/]*$/;\nvar posix = {};\n\n\nfunction posixSplitPath(filename) {\n return splitPathRe.exec(filename).slice(1);\n}\n\n\nposix.parse = function(pathString) {\n if (typeof pathString !== 'string') {\n throw new TypeError(\n \"Parameter 'pathString' must be a string, not \" + typeof pathString\n );\n }\n var allParts = posixSplitPath(pathString);\n if (!allParts || allParts.length !== 5) {\n throw new TypeError(\"Invalid path '\" + pathString + \"'\");\n }\n \n return {\n root: allParts[1],\n dir: allParts[0].slice(0, -1),\n base: allParts[2],\n ext: allParts[4],\n name: allParts[3],\n };\n};\n\n\nif (isWindows)\n module.exports = win32.parse;\nelse /* posix */\n module.exports = posix.parse;\n\nmodule.exports.posix = posix.parse;\nmodule.exports.win32 = win32.parse;\n", "var path = require('path');\nvar parse = path.parse || require('path-parse'); // eslint-disable-line global-require\n\nvar getNodeModulesDirs = function getNodeModulesDirs(absoluteStart, modules) {\n var prefix = '/';\n if ((/^([A-Za-z]:)/).test(absoluteStart)) {\n prefix = '';\n } else if ((/^\\\\\\\\/).test(absoluteStart)) {\n prefix = '\\\\\\\\';\n }\n\n var paths = [absoluteStart];\n var parsed = parse(absoluteStart);\n while (parsed.dir !== paths[paths.length - 1]) {\n paths.push(parsed.dir);\n parsed = parse(parsed.dir);\n }\n\n return paths.reduce(function (dirs, aPath) {\n return dirs.concat(modules.map(function (moduleDir) {\n return path.resolve(prefix, aPath, moduleDir);\n }));\n }, []);\n};\n\nmodule.exports = function nodeModulesPaths(start, opts, request) {\n var modules = opts && opts.moduleDirectory\n ? [].concat(opts.moduleDirectory)\n : ['node_modules'];\n\n if (opts && typeof opts.paths === 'function') {\n return opts.paths(\n request,\n start,\n function () { return getNodeModulesDirs(start, modules); },\n opts\n );\n }\n\n var dirs = getNodeModulesDirs(start, modules);\n return opts && opts.paths ? dirs.concat(opts.paths) : dirs;\n};\n", "module.exports = Object.create(new Proxy({}, {\n get(_, key) {\n if (\n key !== '__esModule' &&\n key !== '__proto__' &&\n key !== 'constructor' &&\n key !== 'splice'\n ) {\n console.warn(`Module \"module\" has been externalized for browser compatibility. Cannot access \"module.${key}\" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`)\n }\n }\n}))", "// Info: this file has been generated by Yarn with the approval of the\n// `resolve` maintainers. Bugs caused by a code located here should be\n// opened against the Yarn repository.\n\nconst path = require(`path`);\n\nmodule.exports = function (_, opts) {\n opts = opts || {};\n\n if (opts.forceNodeResolution || !process.versions.pnp)\n return opts;\n\n // It would be nice if we could throw, but that would break the transparent\n // compatibility with packages that use `resolve` today (such as Gulp). Since\n // it's the whole point of this patch, we don't.\n //\n // if (opts.packageIterator || opts.paths)\n // throw new Error(`The \"packageIterator\" and \"paths\" options cannot be used in PnP environments. Set \"forceNodeResolution: true\" if absolutely needed, or branch on process.versions.pnp otherwise.`);\n\n const {findPnpApi} = require(`module`);\n\n const runPnpResolution = (request, basedir) => {\n // Extract the name of the package being requested (1=package name, 2=internal path)\n const parts = request.match(/^((?:@[^/]+\\/)?[^/]+)(\\/.*)?/);\n if (!parts)\n throw new Error(`Assertion failed: Expected the \"resolve\" package to call the \"paths\" callback with package names only (got \"${request}\")`);\n\n // Make sure that basedir ends with a slash\n if (basedir.charAt(basedir.length - 1) !== `/`)\n basedir = path.join(basedir, `/`);\n\n const api = findPnpApi(basedir);\n if (api === null)\n return undefined;\n\n // This is guaranteed to return the path to the \"package.json\" file from the given package\n let manifestPath;\n try {\n manifestPath = api.resolveToUnqualified(`${parts[1]}/package.json`, basedir, {considerBuiltins: false});\n } catch (err) {\n return null;\n }\n\n if (manifestPath === null)\n throw new Error(`Assertion failed: The resolution thinks that \"${parts[1]}\" is a Node builtin`);\n\n // Strip the package.json to get the package folder\n const packagePath = path.dirname(manifestPath);\n\n // Attach the internal path to the resolved package directory\n const unqualifiedPath = typeof parts[2] !== `undefined`\n ? path.join(packagePath, parts[2])\n : packagePath;\n\n return {packagePath, unqualifiedPath};\n };\n\n const runPnpResolutionOnArray = (request, paths) => {\n for (let i = 0; i < paths.length; i++) {\n const resolution = runPnpResolution(request, paths[i]);\n if (resolution || i === paths.length - 1) {\n return resolution;\n }\n }\n\n return null;\n };\n\n const originalPaths = Array.isArray(opts.paths) ? opts.paths : [];\n\n const packageIterator = (request, basedir, getCandidates, opts) => {\n const pathsToTest = [basedir].concat(originalPaths);\n const resolution = runPnpResolutionOnArray(request, pathsToTest);\n if (resolution == null)\n return getCandidates();\n\n return [resolution.unqualifiedPath];\n };\n\n const paths = (request, basedir, getNodeModulePaths, opts) => {\n const pathsToTest = [basedir].concat(originalPaths);\n const resolution = runPnpResolutionOnArray(request, pathsToTest);\n if (resolution == null)\n return getNodeModulePaths().concat(originalPaths);\n\n // Stip the local named folder\n let nodeModules = path.dirname(resolution.packagePath);\n\n // Strip the scope named folder if needed\n if (request.match(/^@[^/]+\\//))\n nodeModules = path.dirname(nodeModules);\n\n return [nodeModules];\n };\n\n // We need to keep track whether we're in `packageIterator` or not so that\n // the code is compatible with both `resolve` 1.9+ and `resolve` 1.15+\n let isInsideIterator = false;\n\n if (!opts.__skipPackageIterator) {\n opts.packageIterator = function (request, basedir, getCandidates, opts) {\n isInsideIterator = true;\n try {\n return packageIterator(request, basedir, getCandidates, opts);\n } finally {\n isInsideIterator = false;\n }\n };\n }\n\n opts.paths = function (request, basedir, getNodeModulePaths, opts) {\n if (isInsideIterator)\n return getNodeModulePaths().concat(originalPaths);\n\n return paths(request, basedir, getNodeModulePaths, opts);\n };\n\n return opts;\n};\n", "'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n", "'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n", "'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n", "{\n\t\"assert\": true,\n\t\"node:assert\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"assert/strict\": \">= 15\",\n\t\"node:assert/strict\": \">= 16\",\n\t\"async_hooks\": \">= 8\",\n\t\"node:async_hooks\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"buffer_ieee754\": \">= 0.5 && < 0.9.7\",\n\t\"buffer\": true,\n\t\"node:buffer\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"child_process\": true,\n\t\"node:child_process\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"cluster\": \">= 0.5\",\n\t\"node:cluster\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"console\": true,\n\t\"node:console\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"constants\": true,\n\t\"node:constants\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"crypto\": true,\n\t\"node:crypto\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_debug_agent\": \">= 1 && < 8\",\n\t\"_debugger\": \"< 8\",\n\t\"dgram\": true,\n\t\"node:dgram\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"diagnostics_channel\": [\">= 14.17 && < 15\", \">= 15.1\"],\n\t\"node:diagnostics_channel\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"dns\": true,\n\t\"node:dns\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"dns/promises\": \">= 15\",\n\t\"node:dns/promises\": \">= 16\",\n\t\"domain\": \">= 0.7.12\",\n\t\"node:domain\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"events\": true,\n\t\"node:events\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"freelist\": \"< 6\",\n\t\"fs\": true,\n\t\"node:fs\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"fs/promises\": [\">= 10 && < 10.1\", \">= 14\"],\n\t\"node:fs/promises\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_agent\": \">= 0.11.1\",\n\t\"node:_http_agent\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_client\": \">= 0.11.1\",\n\t\"node:_http_client\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_common\": \">= 0.11.1\",\n\t\"node:_http_common\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_incoming\": \">= 0.11.1\",\n\t\"node:_http_incoming\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_outgoing\": \">= 0.11.1\",\n\t\"node:_http_outgoing\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_server\": \">= 0.11.1\",\n\t\"node:_http_server\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"http\": true,\n\t\"node:http\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"http2\": \">= 8.8\",\n\t\"node:http2\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"https\": true,\n\t\"node:https\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"inspector\": \">= 8\",\n\t\"node:inspector\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"inspector/promises\": [\">= 19\"],\n\t\"node:inspector/promises\": [\">= 19\"],\n\t\"_linklist\": \"< 8\",\n\t\"module\": true,\n\t\"node:module\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"net\": true,\n\t\"node:net\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"node-inspect/lib/_inspect\": \">= 7.6 && < 12\",\n\t\"node-inspect/lib/internal/inspect_client\": \">= 7.6 && < 12\",\n\t\"node-inspect/lib/internal/inspect_repl\": \">= 7.6 && < 12\",\n\t\"os\": true,\n\t\"node:os\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"path\": true,\n\t\"node:path\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"path/posix\": \">= 15.3\",\n\t\"node:path/posix\": \">= 16\",\n\t\"path/win32\": \">= 15.3\",\n\t\"node:path/win32\": \">= 16\",\n\t\"perf_hooks\": \">= 8.5\",\n\t\"node:perf_hooks\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"process\": \">= 1\",\n\t\"node:process\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"punycode\": \">= 0.5\",\n\t\"node:punycode\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"querystring\": true,\n\t\"node:querystring\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"readline\": true,\n\t\"node:readline\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"readline/promises\": \">= 17\",\n\t\"node:readline/promises\": \">= 17\",\n\t\"repl\": true,\n\t\"node:repl\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"node:sea\": [\">= 20.12 && < 21\", \">= 21.7\"],\n\t\"smalloc\": \">= 0.11.5 && < 3\",\n\t\"_stream_duplex\": \">= 0.9.4\",\n\t\"node:_stream_duplex\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_transform\": \">= 0.9.4\",\n\t\"node:_stream_transform\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_wrap\": \">= 1.4.1\",\n\t\"node:_stream_wrap\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_passthrough\": \">= 0.9.4\",\n\t\"node:_stream_passthrough\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_readable\": \">= 0.9.4\",\n\t\"node:_stream_readable\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_writable\": \">= 0.9.4\",\n\t\"node:_stream_writable\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"stream\": true,\n\t\"node:stream\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"stream/consumers\": \">= 16.7\",\n\t\"node:stream/consumers\": \">= 16.7\",\n\t\"stream/promises\": \">= 15\",\n\t\"node:stream/promises\": \">= 16\",\n\t\"stream/web\": \">= 16.5\",\n\t\"node:stream/web\": \">= 16.5\",\n\t\"string_decoder\": true,\n\t\"node:string_decoder\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"sys\": [\">= 0.4 && < 0.7\", \">= 0.8\"],\n\t\"node:sys\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"test/reporters\": \">= 19.9 && < 20.2\",\n\t\"node:test/reporters\": [\">= 18.17 && < 19\", \">= 19.9\", \">= 20\"],\n\t\"test/mock_loader\": \">= 22.3 && < 22.7\",\n\t\"node:test/mock_loader\": \">= 22.3 && < 22.7\",\n\t\"node:test\": [\">= 16.17 && < 17\", \">= 18\"],\n\t\"timers\": true,\n\t\"node:timers\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"timers/promises\": \">= 15\",\n\t\"node:timers/promises\": \">= 16\",\n\t\"_tls_common\": \">= 0.11.13\",\n\t\"node:_tls_common\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_tls_legacy\": \">= 0.11.3 && < 10\",\n\t\"_tls_wrap\": \">= 0.11.3\",\n\t\"node:_tls_wrap\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"tls\": true,\n\t\"node:tls\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"trace_events\": \">= 10\",\n\t\"node:trace_events\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"tty\": true,\n\t\"node:tty\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"url\": true,\n\t\"node:url\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"util\": true,\n\t\"node:util\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"util/types\": \">= 15.3\",\n\t\"node:util/types\": \">= 16\",\n\t\"v8/tools/arguments\": \">= 10 && < 12\",\n\t\"v8/tools/codemap\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/consarray\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/csvparser\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/logreader\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/profile_view\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/splaytree\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8\": \">= 1\",\n\t\"node:v8\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"vm\": true,\n\t\"node:vm\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"wasi\": [\">= 13.4 && < 13.5\", \">= 18.17 && < 19\", \">= 20\"],\n\t\"node:wasi\": [\">= 18.17 && < 19\", \">= 20\"],\n\t\"worker_threads\": \">= 11.7\",\n\t\"node:worker_threads\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"zlib\": \">= 0.5\",\n\t\"node:zlib\": [\">= 14.18 && < 15\", \">= 16\"]\n}\n", "'use strict';\n\nvar hasOwn = require('hasown');\n\nfunction specifierIncluded(current, specifier) {\n\tvar nodeParts = current.split('.');\n\tvar parts = specifier.split(' ');\n\tvar op = parts.length > 1 ? parts[0] : '=';\n\tvar versionParts = (parts.length > 1 ? parts[1] : parts[0]).split('.');\n\n\tfor (var i = 0; i < 3; ++i) {\n\t\tvar cur = parseInt(nodeParts[i] || 0, 10);\n\t\tvar ver = parseInt(versionParts[i] || 0, 10);\n\t\tif (cur === ver) {\n\t\t\tcontinue; // eslint-disable-line no-restricted-syntax, no-continue\n\t\t}\n\t\tif (op === '<') {\n\t\t\treturn cur < ver;\n\t\t}\n\t\tif (op === '>=') {\n\t\t\treturn cur >= ver;\n\t\t}\n\t\treturn false;\n\t}\n\treturn op === '>=';\n}\n\nfunction matchesRange(current, range) {\n\tvar specifiers = range.split(/ ?&& ?/);\n\tif (specifiers.length === 0) {\n\t\treturn false;\n\t}\n\tfor (var i = 0; i < specifiers.length; ++i) {\n\t\tif (!specifierIncluded(current, specifiers[i])) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\nfunction versionIncluded(nodeVersion, specifierValue) {\n\tif (typeof specifierValue === 'boolean') {\n\t\treturn specifierValue;\n\t}\n\n\tvar current = typeof nodeVersion === 'undefined'\n\t\t? process.versions && process.versions.node\n\t\t: nodeVersion;\n\n\tif (typeof current !== 'string') {\n\t\tthrow new TypeError(typeof nodeVersion === 'undefined' ? 'Unable to determine current node version' : 'If provided, a valid node version is required');\n\t}\n\n\tif (specifierValue && typeof specifierValue === 'object') {\n\t\tfor (var i = 0; i < specifierValue.length; ++i) {\n\t\t\tif (matchesRange(current, specifierValue[i])) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\treturn matchesRange(current, specifierValue);\n}\n\nvar data = require('./core.json');\n\nmodule.exports = function isCore(x, nodeVersion) {\n\treturn hasOwn(data, x) && versionIncluded(nodeVersion, data[x]);\n};\n", "var fs = require('fs');\nvar getHomedir = require('./homedir');\nvar path = require('path');\nvar caller = require('./caller');\nvar nodeModulesPaths = require('./node-modules-paths');\nvar normalizeOptions = require('./normalize-options');\nvar isCore = require('is-core-module');\n\nvar realpathFS = process.platform !== 'win32' && fs.realpath && typeof fs.realpath.native === 'function' ? fs.realpath.native : fs.realpath;\n\nvar homedir = getHomedir();\nvar defaultPaths = function () {\n return [\n path.join(homedir, '.node_modules'),\n path.join(homedir, '.node_libraries')\n ];\n};\n\nvar defaultIsFile = function isFile(file, cb) {\n fs.stat(file, function (err, stat) {\n if (!err) {\n return cb(null, stat.isFile() || stat.isFIFO());\n }\n if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);\n return cb(err);\n });\n};\n\nvar defaultIsDir = function isDirectory(dir, cb) {\n fs.stat(dir, function (err, stat) {\n if (!err) {\n return cb(null, stat.isDirectory());\n }\n if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);\n return cb(err);\n });\n};\n\nvar defaultRealpath = function realpath(x, cb) {\n realpathFS(x, function (realpathErr, realPath) {\n if (realpathErr && realpathErr.code !== 'ENOENT') cb(realpathErr);\n else cb(null, realpathErr ? x : realPath);\n });\n};\n\nvar maybeRealpath = function maybeRealpath(realpath, x, opts, cb) {\n if (opts && opts.preserveSymlinks === false) {\n realpath(x, cb);\n } else {\n cb(null, x);\n }\n};\n\nvar defaultReadPackage = function defaultReadPackage(readFile, pkgfile, cb) {\n readFile(pkgfile, function (readFileErr, body) {\n if (readFileErr) cb(readFileErr);\n else {\n try {\n var pkg = JSON.parse(body);\n cb(null, pkg);\n } catch (jsonErr) {\n cb(null);\n }\n }\n });\n};\n\nvar getPackageCandidates = function getPackageCandidates(x, start, opts) {\n var dirs = nodeModulesPaths(start, opts, x);\n for (var i = 0; i < dirs.length; i++) {\n dirs[i] = path.join(dirs[i], x);\n }\n return dirs;\n};\n\nmodule.exports = function resolve(x, options, callback) {\n var cb = callback;\n var opts = options;\n if (typeof options === 'function') {\n cb = opts;\n opts = {};\n }\n if (typeof x !== 'string') {\n var err = new TypeError('Path must be a string.');\n return process.nextTick(function () {\n cb(err);\n });\n }\n\n opts = normalizeOptions(x, opts);\n\n var isFile = opts.isFile || defaultIsFile;\n var isDirectory = opts.isDirectory || defaultIsDir;\n var readFile = opts.readFile || fs.readFile;\n var realpath = opts.realpath || defaultRealpath;\n var readPackage = opts.readPackage || defaultReadPackage;\n if (opts.readFile && opts.readPackage) {\n var conflictErr = new TypeError('`readFile` and `readPackage` are mutually exclusive.');\n return process.nextTick(function () {\n cb(conflictErr);\n });\n }\n var packageIterator = opts.packageIterator;\n\n var extensions = opts.extensions || ['.js'];\n var includeCoreModules = opts.includeCoreModules !== false;\n var basedir = opts.basedir || path.dirname(caller());\n var parent = opts.filename || basedir;\n\n opts.paths = opts.paths || defaultPaths();\n\n // ensure that `basedir` is an absolute path at this point, resolving against the process' current working directory\n var absoluteStart = path.resolve(basedir);\n\n maybeRealpath(\n realpath,\n absoluteStart,\n opts,\n function (err, realStart) {\n if (err) cb(err);\n else init(realStart);\n }\n );\n\n var res;\n function init(basedir) {\n if ((/^(?:\\.\\.?(?:\\/|$)|\\/|([A-Za-z]:)?[/\\\\])/).test(x)) {\n res = path.resolve(basedir, x);\n if (x === '.' || x === '..' || x.slice(-1) === '/') res += '/';\n if ((/\\/$/).test(x) && res === basedir) {\n loadAsDirectory(res, opts.package, onfile);\n } else loadAsFile(res, opts.package, onfile);\n } else if (includeCoreModules && isCore(x)) {\n return cb(null, x);\n } else loadNodeModules(x, basedir, function (err, n, pkg) {\n if (err) cb(err);\n else if (n) {\n return maybeRealpath(realpath, n, opts, function (err, realN) {\n if (err) {\n cb(err);\n } else {\n cb(null, realN, pkg);\n }\n });\n } else {\n var moduleError = new Error(\"Cannot find module '\" + x + \"' from '\" + parent + \"'\");\n moduleError.code = 'MODULE_NOT_FOUND';\n cb(moduleError);\n }\n });\n }\n\n function onfile(err, m, pkg) {\n if (err) cb(err);\n else if (m) cb(null, m, pkg);\n else loadAsDirectory(res, function (err, d, pkg) {\n if (err) cb(err);\n else if (d) {\n maybeRealpath(realpath, d, opts, function (err, realD) {\n if (err) {\n cb(err);\n } else {\n cb(null, realD, pkg);\n }\n });\n } else {\n var moduleError = new Error(\"Cannot find module '\" + x + \"' from '\" + parent + \"'\");\n moduleError.code = 'MODULE_NOT_FOUND';\n cb(moduleError);\n }\n });\n }\n\n function loadAsFile(x, thePackage, callback) {\n var loadAsFilePackage = thePackage;\n var cb = callback;\n if (typeof loadAsFilePackage === 'function') {\n cb = loadAsFilePackage;\n loadAsFilePackage = undefined;\n }\n\n var exts = [''].concat(extensions);\n load(exts, x, loadAsFilePackage);\n\n function load(exts, x, loadPackage) {\n if (exts.length === 0) return cb(null, undefined, loadPackage);\n var file = x + exts[0];\n\n var pkg = loadPackage;\n if (pkg) onpkg(null, pkg);\n else loadpkg(path.dirname(file), onpkg);\n\n function onpkg(err, pkg_, dir) {\n pkg = pkg_;\n if (err) return cb(err);\n if (dir && pkg && opts.pathFilter) {\n var rfile = path.relative(dir, file);\n var rel = rfile.slice(0, rfile.length - exts[0].length);\n var r = opts.pathFilter(pkg, x, rel);\n if (r) return load(\n [''].concat(extensions.slice()),\n path.resolve(dir, r),\n pkg\n );\n }\n isFile(file, onex);\n }\n function onex(err, ex) {\n if (err) return cb(err);\n if (ex) return cb(null, file, pkg);\n load(exts.slice(1), x, pkg);\n }\n }\n }\n\n function loadpkg(dir, cb) {\n if (dir === '' || dir === '/') return cb(null);\n if (process.platform === 'win32' && (/^\\w:[/\\\\]*$/).test(dir)) {\n return cb(null);\n }\n if ((/[/\\\\]node_modules[/\\\\]*$/).test(dir)) return cb(null);\n\n maybeRealpath(realpath, dir, opts, function (unwrapErr, pkgdir) {\n if (unwrapErr) return loadpkg(path.dirname(dir), cb);\n var pkgfile = path.join(pkgdir, 'package.json');\n isFile(pkgfile, function (err, ex) {\n // on err, ex is false\n if (!ex) return loadpkg(path.dirname(dir), cb);\n\n readPackage(readFile, pkgfile, function (err, pkgParam) {\n if (err) cb(err);\n\n var pkg = pkgParam;\n\n if (pkg && opts.packageFilter) {\n pkg = opts.packageFilter(pkg, pkgfile);\n }\n cb(null, pkg, dir);\n });\n });\n });\n }\n\n function loadAsDirectory(x, loadAsDirectoryPackage, callback) {\n var cb = callback;\n var fpkg = loadAsDirectoryPackage;\n if (typeof fpkg === 'function') {\n cb = fpkg;\n fpkg = opts.package;\n }\n\n maybeRealpath(realpath, x, opts, function (unwrapErr, pkgdir) {\n if (unwrapErr) return cb(unwrapErr);\n var pkgfile = path.join(pkgdir, 'package.json');\n isFile(pkgfile, function (err, ex) {\n if (err) return cb(err);\n if (!ex) return loadAsFile(path.join(x, 'index'), fpkg, cb);\n\n readPackage(readFile, pkgfile, function (err, pkgParam) {\n if (err) return cb(err);\n\n var pkg = pkgParam;\n\n if (pkg && opts.packageFilter) {\n pkg = opts.packageFilter(pkg, pkgfile);\n }\n\n if (pkg && pkg.main) {\n if (typeof pkg.main !== 'string') {\n var mainError = new TypeError('package “' + pkg.name + '” `main` must be a string');\n mainError.code = 'INVALID_PACKAGE_MAIN';\n return cb(mainError);\n }\n if (pkg.main === '.' || pkg.main === './') {\n pkg.main = 'index';\n }\n loadAsFile(path.resolve(x, pkg.main), pkg, function (err, m, pkg) {\n if (err) return cb(err);\n if (m) return cb(null, m, pkg);\n if (!pkg) return loadAsFile(path.join(x, 'index'), pkg, cb);\n\n var dir = path.resolve(x, pkg.main);\n loadAsDirectory(dir, pkg, function (err, n, pkg) {\n if (err) return cb(err);\n if (n) return cb(null, n, pkg);\n loadAsFile(path.join(x, 'index'), pkg, cb);\n });\n });\n return;\n }\n\n loadAsFile(path.join(x, '/index'), pkg, cb);\n });\n });\n });\n }\n\n function processDirs(cb, dirs) {\n if (dirs.length === 0) return cb(null, undefined);\n var dir = dirs[0];\n\n isDirectory(path.dirname(dir), isdir);\n\n function isdir(err, isdir) {\n if (err) return cb(err);\n if (!isdir) return processDirs(cb, dirs.slice(1));\n loadAsFile(dir, opts.package, onfile);\n }\n\n function onfile(err, m, pkg) {\n if (err) return cb(err);\n if (m) return cb(null, m, pkg);\n loadAsDirectory(dir, opts.package, ondir);\n }\n\n function ondir(err, n, pkg) {\n if (err) return cb(err);\n if (n) return cb(null, n, pkg);\n processDirs(cb, dirs.slice(1));\n }\n }\n function loadNodeModules(x, start, cb) {\n var thunk = function () { return getPackageCandidates(x, start, opts); };\n processDirs(\n cb,\n packageIterator ? packageIterator(x, start, thunk, opts) : thunk()\n );\n }\n};\n", "{\n\t\"assert\": true,\n\t\"node:assert\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"assert/strict\": \">= 15\",\n\t\"node:assert/strict\": \">= 16\",\n\t\"async_hooks\": \">= 8\",\n\t\"node:async_hooks\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"buffer_ieee754\": \">= 0.5 && < 0.9.7\",\n\t\"buffer\": true,\n\t\"node:buffer\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"child_process\": true,\n\t\"node:child_process\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"cluster\": \">= 0.5\",\n\t\"node:cluster\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"console\": true,\n\t\"node:console\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"constants\": true,\n\t\"node:constants\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"crypto\": true,\n\t\"node:crypto\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_debug_agent\": \">= 1 && < 8\",\n\t\"_debugger\": \"< 8\",\n\t\"dgram\": true,\n\t\"node:dgram\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"diagnostics_channel\": [\">= 14.17 && < 15\", \">= 15.1\"],\n\t\"node:diagnostics_channel\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"dns\": true,\n\t\"node:dns\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"dns/promises\": \">= 15\",\n\t\"node:dns/promises\": \">= 16\",\n\t\"domain\": \">= 0.7.12\",\n\t\"node:domain\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"events\": true,\n\t\"node:events\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"freelist\": \"< 6\",\n\t\"fs\": true,\n\t\"node:fs\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"fs/promises\": [\">= 10 && < 10.1\", \">= 14\"],\n\t\"node:fs/promises\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_agent\": \">= 0.11.1\",\n\t\"node:_http_agent\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_client\": \">= 0.11.1\",\n\t\"node:_http_client\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_common\": \">= 0.11.1\",\n\t\"node:_http_common\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_incoming\": \">= 0.11.1\",\n\t\"node:_http_incoming\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_outgoing\": \">= 0.11.1\",\n\t\"node:_http_outgoing\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_http_server\": \">= 0.11.1\",\n\t\"node:_http_server\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"http\": true,\n\t\"node:http\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"http2\": \">= 8.8\",\n\t\"node:http2\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"https\": true,\n\t\"node:https\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"inspector\": \">= 8\",\n\t\"node:inspector\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"inspector/promises\": [\">= 19\"],\n\t\"node:inspector/promises\": [\">= 19\"],\n\t\"_linklist\": \"< 8\",\n\t\"module\": true,\n\t\"node:module\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"net\": true,\n\t\"node:net\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"node-inspect/lib/_inspect\": \">= 7.6 && < 12\",\n\t\"node-inspect/lib/internal/inspect_client\": \">= 7.6 && < 12\",\n\t\"node-inspect/lib/internal/inspect_repl\": \">= 7.6 && < 12\",\n\t\"os\": true,\n\t\"node:os\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"path\": true,\n\t\"node:path\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"path/posix\": \">= 15.3\",\n\t\"node:path/posix\": \">= 16\",\n\t\"path/win32\": \">= 15.3\",\n\t\"node:path/win32\": \">= 16\",\n\t\"perf_hooks\": \">= 8.5\",\n\t\"node:perf_hooks\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"process\": \">= 1\",\n\t\"node:process\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"punycode\": \">= 0.5\",\n\t\"node:punycode\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"querystring\": true,\n\t\"node:querystring\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"readline\": true,\n\t\"node:readline\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"readline/promises\": \">= 17\",\n\t\"node:readline/promises\": \">= 17\",\n\t\"repl\": true,\n\t\"node:repl\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"smalloc\": \">= 0.11.5 && < 3\",\n\t\"_stream_duplex\": \">= 0.9.4\",\n\t\"node:_stream_duplex\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_transform\": \">= 0.9.4\",\n\t\"node:_stream_transform\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_wrap\": \">= 1.4.1\",\n\t\"node:_stream_wrap\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_passthrough\": \">= 0.9.4\",\n\t\"node:_stream_passthrough\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_readable\": \">= 0.9.4\",\n\t\"node:_stream_readable\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_stream_writable\": \">= 0.9.4\",\n\t\"node:_stream_writable\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"stream\": true,\n\t\"node:stream\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"stream/consumers\": \">= 16.7\",\n\t\"node:stream/consumers\": \">= 16.7\",\n\t\"stream/promises\": \">= 15\",\n\t\"node:stream/promises\": \">= 16\",\n\t\"stream/web\": \">= 16.5\",\n\t\"node:stream/web\": \">= 16.5\",\n\t\"string_decoder\": true,\n\t\"node:string_decoder\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"sys\": [\">= 0.4 && < 0.7\", \">= 0.8\"],\n\t\"node:sys\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"test/reporters\": \">= 19.9 && < 20.2\",\n\t\"node:test/reporters\": [\">= 18.17 && < 19\", \">= 19.9\", \">= 20\"],\n\t\"node:test\": [\">= 16.17 && < 17\", \">= 18\"],\n\t\"timers\": true,\n\t\"node:timers\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"timers/promises\": \">= 15\",\n\t\"node:timers/promises\": \">= 16\",\n\t\"_tls_common\": \">= 0.11.13\",\n\t\"node:_tls_common\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"_tls_legacy\": \">= 0.11.3 && < 10\",\n\t\"_tls_wrap\": \">= 0.11.3\",\n\t\"node:_tls_wrap\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"tls\": true,\n\t\"node:tls\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"trace_events\": \">= 10\",\n\t\"node:trace_events\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"tty\": true,\n\t\"node:tty\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"url\": true,\n\t\"node:url\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"util\": true,\n\t\"node:util\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"util/types\": \">= 15.3\",\n\t\"node:util/types\": \">= 16\",\n\t\"v8/tools/arguments\": \">= 10 && < 12\",\n\t\"v8/tools/codemap\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/consarray\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/csvparser\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/logreader\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/profile_view\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8/tools/splaytree\": [\">= 4.4 && < 5\", \">= 5.2 && < 12\"],\n\t\"v8\": \">= 1\",\n\t\"node:v8\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"vm\": true,\n\t\"node:vm\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"wasi\": [\">= 13.4 && < 13.5\", \">= 18.17 && < 19\", \">= 20\"],\n\t\"node:wasi\": [\">= 18.17 && < 19\", \">= 20\"],\n\t\"worker_threads\": \">= 11.7\",\n\t\"node:worker_threads\": [\">= 14.18 && < 15\", \">= 16\"],\n\t\"zlib\": \">= 0.5\",\n\t\"node:zlib\": [\">= 14.18 && < 15\", \">= 16\"]\n}\n", "'use strict';\n\nvar isCoreModule = require('is-core-module');\nvar data = require('./core.json');\n\nvar core = {};\nfor (var mod in data) { // eslint-disable-line no-restricted-syntax\n if (Object.prototype.hasOwnProperty.call(data, mod)) {\n core[mod] = isCoreModule(mod);\n }\n}\nmodule.exports = core;\n", "var isCoreModule = require('is-core-module');\n\nmodule.exports = function isCore(x) {\n return isCoreModule(x);\n};\n", "var isCore = require('is-core-module');\nvar fs = require('fs');\nvar path = require('path');\nvar getHomedir = require('./homedir');\nvar caller = require('./caller');\nvar nodeModulesPaths = require('./node-modules-paths');\nvar normalizeOptions = require('./normalize-options');\n\nvar realpathFS = process.platform !== 'win32' && fs.realpathSync && typeof fs.realpathSync.native === 'function' ? fs.realpathSync.native : fs.realpathSync;\n\nvar homedir = getHomedir();\nvar defaultPaths = function () {\n return [\n path.join(homedir, '.node_modules'),\n path.join(homedir, '.node_libraries')\n ];\n};\n\nvar defaultIsFile = function isFile(file) {\n try {\n var stat = fs.statSync(file, { throwIfNoEntry: false });\n } catch (e) {\n if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;\n throw e;\n }\n return !!stat && (stat.isFile() || stat.isFIFO());\n};\n\nvar defaultIsDir = function isDirectory(dir) {\n try {\n var stat = fs.statSync(dir, { throwIfNoEntry: false });\n } catch (e) {\n if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;\n throw e;\n }\n return !!stat && stat.isDirectory();\n};\n\nvar defaultRealpathSync = function realpathSync(x) {\n try {\n return realpathFS(x);\n } catch (realpathErr) {\n if (realpathErr.code !== 'ENOENT') {\n throw realpathErr;\n }\n }\n return x;\n};\n\nvar maybeRealpathSync = function maybeRealpathSync(realpathSync, x, opts) {\n if (opts && opts.preserveSymlinks === false) {\n return realpathSync(x);\n }\n return x;\n};\n\nvar defaultReadPackageSync = function defaultReadPackageSync(readFileSync, pkgfile) {\n var body = readFileSync(pkgfile);\n try {\n var pkg = JSON.parse(body);\n return pkg;\n } catch (jsonErr) {}\n};\n\nvar getPackageCandidates = function getPackageCandidates(x, start, opts) {\n var dirs = nodeModulesPaths(start, opts, x);\n for (var i = 0; i < dirs.length; i++) {\n dirs[i] = path.join(dirs[i], x);\n }\n return dirs;\n};\n\nmodule.exports = function resolveSync(x, options) {\n if (typeof x !== 'string') {\n throw new TypeError('Path must be a string.');\n }\n var opts = normalizeOptions(x, options);\n\n var isFile = opts.isFile || defaultIsFile;\n var readFileSync = opts.readFileSync || fs.readFileSync;\n var isDirectory = opts.isDirectory || defaultIsDir;\n var realpathSync = opts.realpathSync || defaultRealpathSync;\n var readPackageSync = opts.readPackageSync || defaultReadPackageSync;\n if (opts.readFileSync && opts.readPackageSync) {\n throw new TypeError('`readFileSync` and `readPackageSync` are mutually exclusive.');\n }\n var packageIterator = opts.packageIterator;\n\n var extensions = opts.extensions || ['.js'];\n var includeCoreModules = opts.includeCoreModules !== false;\n var basedir = opts.basedir || path.dirname(caller());\n var parent = opts.filename || basedir;\n\n opts.paths = opts.paths || defaultPaths();\n\n // ensure that `basedir` is an absolute path at this point, resolving against the process' current working directory\n var absoluteStart = maybeRealpathSync(realpathSync, path.resolve(basedir), opts);\n\n if ((/^(?:\\.\\.?(?:\\/|$)|\\/|([A-Za-z]:)?[/\\\\])/).test(x)) {\n var res = path.resolve(absoluteStart, x);\n if (x === '.' || x === '..' || x.slice(-1) === '/') res += '/';\n var m = loadAsFileSync(res) || loadAsDirectorySync(res);\n if (m) return maybeRealpathSync(realpathSync, m, opts);\n } else if (includeCoreModules && isCore(x)) {\n return x;\n } else {\n var n = loadNodeModulesSync(x, absoluteStart);\n if (n) return maybeRealpathSync(realpathSync, n, opts);\n }\n\n var err = new Error(\"Cannot find module '\" + x + \"' from '\" + parent + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n\n function loadAsFileSync(x) {\n var pkg = loadpkg(path.dirname(x));\n\n if (pkg && pkg.dir && pkg.pkg && opts.pathFilter) {\n var rfile = path.relative(pkg.dir, x);\n var r = opts.pathFilter(pkg.pkg, x, rfile);\n if (r) {\n x = path.resolve(pkg.dir, r); // eslint-disable-line no-param-reassign\n }\n }\n\n if (isFile(x)) {\n return x;\n }\n\n for (var i = 0; i < extensions.length; i++) {\n var file = x + extensions[i];\n if (isFile(file)) {\n return file;\n }\n }\n }\n\n function loadpkg(dir) {\n if (dir === '' || dir === '/') return;\n if (process.platform === 'win32' && (/^\\w:[/\\\\]*$/).test(dir)) {\n return;\n }\n if ((/[/\\\\]node_modules[/\\\\]*$/).test(dir)) return;\n\n var pkgfile = path.join(maybeRealpathSync(realpathSync, dir, opts), 'package.json');\n\n if (!isFile(pkgfile)) {\n return loadpkg(path.dirname(dir));\n }\n\n var pkg = readPackageSync(readFileSync, pkgfile);\n\n if (pkg && opts.packageFilter) {\n // v2 will pass pkgfile\n pkg = opts.packageFilter(pkg, /*pkgfile,*/ dir); // eslint-disable-line spaced-comment\n }\n\n return { pkg: pkg, dir: dir };\n }\n\n function loadAsDirectorySync(x) {\n var pkgfile = path.join(maybeRealpathSync(realpathSync, x, opts), '/package.json');\n if (isFile(pkgfile)) {\n try {\n var pkg = readPackageSync(readFileSync, pkgfile);\n } catch (e) {}\n\n if (pkg && opts.packageFilter) {\n // v2 will pass pkgfile\n pkg = opts.packageFilter(pkg, /*pkgfile,*/ x); // eslint-disable-line spaced-comment\n }\n\n if (pkg && pkg.main) {\n if (typeof pkg.main !== 'string') {\n var mainError = new TypeError('package “' + pkg.name + '” `main` must be a string');\n mainError.code = 'INVALID_PACKAGE_MAIN';\n throw mainError;\n }\n if (pkg.main === '.' || pkg.main === './') {\n pkg.main = 'index';\n }\n try {\n var m = loadAsFileSync(path.resolve(x, pkg.main));\n if (m) return m;\n var n = loadAsDirectorySync(path.resolve(x, pkg.main));\n if (n) return n;\n } catch (e) {}\n }\n }\n\n return loadAsFileSync(path.join(x, '/index'));\n }\n\n function loadNodeModulesSync(x, start) {\n var thunk = function () { return getPackageCandidates(x, start, opts); };\n var dirs = packageIterator ? packageIterator(x, start, thunk, opts) : thunk();\n\n for (var i = 0; i < dirs.length; i++) {\n var dir = dirs[i];\n if (isDirectory(path.dirname(dir))) {\n var m = loadAsFileSync(dir);\n if (m) return m;\n var n = loadAsDirectorySync(dir);\n if (n) return n;\n }\n }\n }\n};\n", "var async = require('./lib/async');\nasync.core = require('./lib/core');\nasync.isCore = require('./lib/is-core');\nasync.sync = require('./lib/sync');\n\nmodule.exports = async;\n", "'use strict';\nconst path = require('path');\nconst Module = require('module');\nconst fs = require('fs');\n\nconst resolveFrom = (fromDir, moduleId, silent) => {\n\tif (typeof fromDir !== 'string') {\n\t\tthrow new TypeError(`Expected \\`fromDir\\` to be of type \\`string\\`, got \\`${typeof fromDir}\\``);\n\t}\n\n\tif (typeof moduleId !== 'string') {\n\t\tthrow new TypeError(`Expected \\`moduleId\\` to be of type \\`string\\`, got \\`${typeof moduleId}\\``);\n\t}\n\n\ttry {\n\t\tfromDir = fs.realpathSync(fromDir);\n\t} catch (err) {\n\t\tif (err.code === 'ENOENT') {\n\t\t\tfromDir = path.resolve(fromDir);\n\t\t} else if (silent) {\n\t\t\treturn null;\n\t\t} else {\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\tconst fromFile = path.join(fromDir, 'noop.js');\n\n\tconst resolveFileName = () => Module._resolveFilename(moduleId, {\n\t\tid: fromFile,\n\t\tfilename: fromFile,\n\t\tpaths: Module._nodeModulePaths(fromDir)\n\t});\n\n\tif (silent) {\n\t\ttry {\n\t\t\treturn resolveFileName();\n\t\t} catch (err) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\treturn resolveFileName();\n};\n\nmodule.exports = (fromDir, moduleId) => resolveFrom(fromDir, moduleId);\nmodule.exports.silent = (fromDir, moduleId) => resolveFrom(fromDir, moduleId, true);\n", "'use strict';\n\nconst callsites = () => {\n\tconst _prepareStackTrace = Error.prepareStackTrace;\n\tError.prepareStackTrace = (_, stack) => stack;\n\tconst stack = new Error().stack.slice(1);\n\tError.prepareStackTrace = _prepareStackTrace;\n\treturn stack;\n};\n\nmodule.exports = callsites;\n// TODO: Remove this for the next major release\nmodule.exports.default = callsites;\n", "'use strict';\nconst callsites = require('callsites');\n\nmodule.exports = filepath => {\n\tconst stacks = callsites();\n\n\tif (!filepath) {\n\t\treturn stacks[2].getFileName();\n\t}\n\n\tlet seenVal = false;\n\n\t// Skip the first stack as it's this function\n\tstacks.shift();\n\n\tfor (const stack of stacks) {\n\t\tconst parentFilepath = stack.getFileName();\n\n\t\tif (typeof parentFilepath !== 'string') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (parentFilepath === filepath) {\n\t\t\tseenVal = true;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Skip native modules\n\t\tif (parentFilepath === 'module.js') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (seenVal && parentFilepath !== filepath) {\n\t\t\treturn parentFilepath;\n\t\t}\n\t}\n};\n", "'use strict';\nconst path = require('path');\nconst resolveFrom = require('resolve-from');\nconst parentModule = require('parent-module');\n\nmodule.exports = moduleId => {\n\tif (typeof moduleId !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\tconst parentPath = parentModule(__filename);\n\n\tconst cwd = parentPath ? path.dirname(parentPath) : __dirname;\n\tconst filePath = resolveFrom(cwd, moduleId);\n\n\tconst oldModule = require.cache[filePath];\n\t// Delete itself from module parent\n\tif (oldModule && oldModule.parent) {\n\t\tlet i = oldModule.parent.children.length;\n\n\t\twhile (i--) {\n\t\t\tif (oldModule.parent.children[i].id === filePath) {\n\t\t\t\toldModule.parent.children.splice(i, 1);\n\t\t\t}\n\t\t}\n\t}\n\n\tdelete require.cache[filePath]; // Delete module from cache\n\n\tconst parent = require.cache[parentPath]; // If `filePath` and `parentPath` are the same, cache will already be deleted so we won't get a memory leak in next step\n\n\treturn parent === undefined ? require(filePath) : parent.require(filePath); // In case cache doesn't have parent, fall back to normal require\n};\n", "module.exports = Object.create(new Proxy({}, {\n get(_, key) {\n if (\n key !== '__esModule' &&\n key !== '__proto__' &&\n key !== 'constructor' &&\n key !== 'splice'\n ) {\n console.warn(`Module \"util\" has been externalized for browser compatibility. Cannot access \"util.${key}\" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`)\n }\n }\n}))", "'use strict';\n\nmodule.exports = function isArrayish(obj) {\n\tif (!obj) {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && obj.splice instanceof Function);\n};\n", "'use strict';\n\nvar util = require('util');\nvar isArrayish = require('is-arrayish');\n\nvar errorEx = function errorEx(name, properties) {\n\tif (!name || name.constructor !== String) {\n\t\tproperties = name || {};\n\t\tname = Error.name;\n\t}\n\n\tvar errorExError = function ErrorEXError(message) {\n\t\tif (!this) {\n\t\t\treturn new ErrorEXError(message);\n\t\t}\n\n\t\tmessage = message instanceof Error\n\t\t\t? message.message\n\t\t\t: (message || this.message);\n\n\t\tError.call(this, message);\n\t\tError.captureStackTrace(this, errorExError);\n\n\t\tthis.name = name;\n\n\t\tObject.defineProperty(this, 'message', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tget: function () {\n\t\t\t\tvar newMessage = message.split(/\\r?\\n/g);\n\n\t\t\t\tfor (var key in properties) {\n\t\t\t\t\tif (!properties.hasOwnProperty(key)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar modifier = properties[key];\n\n\t\t\t\t\tif ('message' in modifier) {\n\t\t\t\t\t\tnewMessage = modifier.message(this[key], newMessage) || newMessage;\n\t\t\t\t\t\tif (!isArrayish(newMessage)) {\n\t\t\t\t\t\t\tnewMessage = [newMessage];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn newMessage.join('\\n');\n\t\t\t},\n\t\t\tset: function (v) {\n\t\t\t\tmessage = v;\n\t\t\t}\n\t\t});\n\n\t\tvar overwrittenStack = null;\n\n\t\tvar stackDescriptor = Object.getOwnPropertyDescriptor(this, 'stack');\n\t\tvar stackGetter = stackDescriptor.get;\n\t\tvar stackValue = stackDescriptor.value;\n\t\tdelete stackDescriptor.value;\n\t\tdelete stackDescriptor.writable;\n\n\t\tstackDescriptor.set = function (newstack) {\n\t\t\toverwrittenStack = newstack;\n\t\t};\n\n\t\tstackDescriptor.get = function () {\n\t\t\tvar stack = (overwrittenStack || ((stackGetter)\n\t\t\t\t? stackGetter.call(this)\n\t\t\t\t: stackValue)).split(/\\r?\\n+/g);\n\n\t\t\t// starting in Node 7, the stack builder caches the message.\n\t\t\t// just replace it.\n\t\t\tif (!overwrittenStack) {\n\t\t\t\tstack[0] = this.name + ': ' + this.message;\n\t\t\t}\n\n\t\t\tvar lineCount = 1;\n\t\t\tfor (var key in properties) {\n\t\t\t\tif (!properties.hasOwnProperty(key)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tvar modifier = properties[key];\n\n\t\t\t\tif ('line' in modifier) {\n\t\t\t\t\tvar line = modifier.line(this[key]);\n\t\t\t\t\tif (line) {\n\t\t\t\t\t\tstack.splice(lineCount++, 0, ' ' + line);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ('stack' in modifier) {\n\t\t\t\t\tmodifier.stack(this[key], stack);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn stack.join('\\n');\n\t\t};\n\n\t\tObject.defineProperty(this, 'stack', stackDescriptor);\n\t};\n\n\tif (Object.setPrototypeOf) {\n\t\tObject.setPrototypeOf(errorExError.prototype, Error.prototype);\n\t\tObject.setPrototypeOf(errorExError, Error);\n\t} else {\n\t\tutil.inherits(errorExError, Error);\n\t}\n\n\treturn errorExError;\n};\n\nerrorEx.append = function (str, def) {\n\treturn {\n\t\tmessage: function (v, message) {\n\t\t\tv = v || def;\n\n\t\t\tif (v) {\n\t\t\t\tmessage[0] += ' ' + str.replace('%s', v.toString());\n\t\t\t}\n\n\t\t\treturn message;\n\t\t}\n\t};\n};\n\nerrorEx.line = function (str, def) {\n\treturn {\n\t\tline: function (v) {\n\t\t\tv = v || def;\n\n\t\t\tif (v) {\n\t\t\t\treturn str.replace('%s', v.toString());\n\t\t\t}\n\n\t\t\treturn null;\n\t\t}\n\t};\n};\n\nmodule.exports = errorEx;\n", "'use strict'\n\nconst hexify = char => {\n const h = char.charCodeAt(0).toString(16).toUpperCase()\n return '0x' + (h.length % 2 ? '0' : '') + h\n}\n\nconst parseError = (e, txt, context) => {\n if (!txt) {\n return {\n message: e.message + ' while parsing empty string',\n position: 0,\n }\n }\n const badToken = e.message.match(/^Unexpected token (.) .*position\\s+(\\d+)/i)\n const errIdx = badToken ? +badToken[2]\n : e.message.match(/^Unexpected end of JSON.*/i) ? txt.length - 1\n : null\n\n const msg = badToken ? e.message.replace(/^Unexpected token ./, `Unexpected token ${\n JSON.stringify(badToken[1])\n } (${hexify(badToken[1])})`)\n : e.message\n\n if (errIdx !== null && errIdx !== undefined) {\n const start = errIdx <= context ? 0\n : errIdx - context\n\n const end = errIdx + context >= txt.length ? txt.length\n : errIdx + context\n\n const slice = (start === 0 ? '' : '...') +\n txt.slice(start, end) +\n (end === txt.length ? '' : '...')\n\n const near = txt === slice ? '' : 'near '\n\n return {\n message: msg + ` while parsing ${near}${JSON.stringify(slice)}`,\n position: errIdx,\n }\n } else {\n return {\n message: msg + ` while parsing '${txt.slice(0, context * 2)}'`,\n position: 0,\n }\n }\n}\n\nclass JSONParseError extends SyntaxError {\n constructor (er, txt, context, caller) {\n context = context || 20\n const metadata = parseError(er, txt, context)\n super(metadata.message)\n Object.assign(this, metadata)\n this.code = 'EJSONPARSE'\n this.systemError = er\n Error.captureStackTrace(this, caller || this.constructor)\n }\n get name () { return this.constructor.name }\n set name (n) {}\n get [Symbol.toStringTag] () { return this.constructor.name }\n}\n\nconst kIndent = Symbol.for('indent')\nconst kNewline = Symbol.for('newline')\n// only respect indentation if we got a line break, otherwise squash it\n// things other than objects and arrays aren't indented, so ignore those\n// Important: in both of these regexps, the $1 capture group is the newline\n// or undefined, and the $2 capture group is the indent, or undefined.\nconst formatRE = /^\\s*[{\\[]((?:\\r?\\n)+)([\\s\\t]*)/\nconst emptyRE = /^(?:\\{\\}|\\[\\])((?:\\r?\\n)+)?$/\n\nconst parseJson = (txt, reviver, context) => {\n const parseText = stripBOM(txt)\n context = context || 20\n try {\n // get the indentation so that we can save it back nicely\n // if the file starts with {\" then we have an indent of '', ie, none\n // otherwise, pick the indentation of the next line after the first \\n\n // If the pattern doesn't match, then it means no indentation.\n // JSON.stringify ignores symbols, so this is reasonably safe.\n // if the string is '{}' or '[]', then use the default 2-space indent.\n const [, newline = '\\n', indent = ' '] = parseText.match(emptyRE) ||\n parseText.match(formatRE) ||\n [, '', '']\n\n const result = JSON.parse(parseText, reviver)\n if (result && typeof result === 'object') {\n result[kNewline] = newline\n result[kIndent] = indent\n }\n return result\n } catch (e) {\n if (typeof txt !== 'string' && !Buffer.isBuffer(txt)) {\n const isEmptyArray = Array.isArray(txt) && txt.length === 0\n throw Object.assign(new TypeError(\n `Cannot parse ${isEmptyArray ? 'an empty array' : String(txt)}`\n ), {\n code: 'EJSONPARSE',\n systemError: e,\n })\n }\n\n throw new JSONParseError(e, parseText, context, parseJson)\n }\n}\n\n// Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n// because the buffer-to-string conversion in `fs.readFileSync()`\n// translates it to FEFF, the UTF-16 BOM.\nconst stripBOM = txt => String(txt).replace(/^\\uFEFF/, '')\n\nmodule.exports = parseJson\nparseJson.JSONParseError = JSONParseError\n\nparseJson.noExceptions = (txt, reviver) => {\n try {\n return JSON.parse(stripBOM(txt), reviver)\n } catch (e) {}\n}\n", "\"use strict\";\nexports.__esModule = true;\nexports.LinesAndColumns = void 0;\nvar LF = '\\n';\nvar CR = '\\r';\nvar LinesAndColumns = /** @class */ (function () {\n function LinesAndColumns(string) {\n this.string = string;\n var offsets = [0];\n for (var offset = 0; offset < string.length;) {\n switch (string[offset]) {\n case LF:\n offset += LF.length;\n offsets.push(offset);\n break;\n case CR:\n offset += CR.length;\n if (string[offset] === LF) {\n offset += LF.length;\n }\n offsets.push(offset);\n break;\n default:\n offset++;\n break;\n }\n }\n this.offsets = offsets;\n }\n LinesAndColumns.prototype.locationForIndex = function (index) {\n if (index < 0 || index > this.string.length) {\n return null;\n }\n var line = 0;\n var offsets = this.offsets;\n while (offsets[line + 1] <= index) {\n line++;\n }\n var column = index - offsets[line];\n return { line: line, column: column };\n };\n LinesAndColumns.prototype.indexForLocation = function (location) {\n var line = location.line, column = location.column;\n if (line < 0 || line >= this.offsets.length) {\n return null;\n }\n if (column < 0 || column > this.lengthOfLine(line)) {\n return null;\n }\n return this.offsets[line] + column;\n };\n LinesAndColumns.prototype.lengthOfLine = function (line) {\n var offset = this.offsets[line];\n var nextOffset = line === this.offsets.length - 1\n ? this.string.length\n : this.offsets[line + 1];\n return nextOffset - offset;\n };\n return LinesAndColumns;\n}());\nexports.LinesAndColumns = LinesAndColumns;\nexports[\"default\"] = LinesAndColumns;\n", "var x=String;\nvar create=function() {return {isColorSupported:false,reset:x,bold:x,dim:x,italic:x,underline:x,inverse:x,hidden:x,strikethrough:x,black:x,red:x,green:x,yellow:x,blue:x,magenta:x,cyan:x,white:x,gray:x,bgBlack:x,bgRed:x,bgGreen:x,bgYellow:x,bgBlue:x,bgMagenta:x,bgCyan:x,bgWhite:x,blackBright:x,redBright:x,greenBright:x,yellowBright:x,blueBright:x,magentaBright:x,cyanBright:x,whiteBright:x,bgBlackBright:x,bgRedBright:x,bgGreenBright:x,bgYellowBright:x,bgBlueBright:x,bgMagentaBright:x,bgCyanBright:x,bgWhiteBright:x}};\nmodule.exports=create();\nmodule.exports.createColors = create;\n", "// Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell\n// License: MIT. (See LICENSE.)\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n})\n\n// This regex comes from regex.coffee, and is inserted here by generate-index.js\n// (run `npm run build`).\nexports.default = /((['\"])(?:(?!\\2|\\\\).|\\\\(?:\\r\\n|[\\s\\S]))*(\\2)?|`(?:[^`\\\\$]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{[^}]*\\}?)*\\}?)*(`)?)|(\\/\\/.*)|(\\/\\*(?:[^*]|\\*(?!\\/))*(\\*\\/)?)|(\\/(?!\\*)(?:\\[(?:(?![\\]\\\\]).|\\\\.)*\\]|(?![\\/\\]\\\\]).|\\\\.)+\\/(?:(?!\\s*(?:\\b|[\\u0080-\\uFFFF$\\\\'\"~({]|[+\\-!](?!=)|\\.?\\d))|[gmiyus]{1,6}\\b(?![\\u0080-\\uFFFF$\\\\]|\\s*(?:[+\\-*%&|^<>!=?({]|\\/(?![\\/*])))))|(0[xX][\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?)|((?!\\d)(?:(?!\\s)[$\\w\\u0080-\\uFFFF]|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+)|(--|\\+\\+|&&|\\|\\||=>|\\.{3}|(?:[+\\-\\/%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\](){}])|(\\s+)|(^$|[\\s\\S])/g\n\nexports.matchToToken = function(match) {\n var token = {type: \"invalid\", value: match[0], closed: undefined}\n if (match[ 1]) token.type = \"string\" , token.closed = !!(match[3] || match[4])\n else if (match[ 5]) token.type = \"comment\"\n else if (match[ 6]) token.type = \"comment\", token.closed = !!match[7]\n else if (match[ 8]) token.type = \"regex\"\n else if (match[ 9]) token.type = \"number\"\n else if (match[10]) token.type = \"name\"\n else if (match[11]) token.type = \"punctuator\"\n else if (match[12]) token.type = \"whitespace\"\n return token\n}\n", "import picocolors, { createColors } from \"picocolors\";\nimport type { Colors, Formatter } from \"picocolors/types\";\n\nexport function isColorSupported() {\n return (\n // See https://github.com/alexeyraspopov/picocolors/issues/62\n typeof process === \"object\" &&\n (process.env.FORCE_COLOR === \"0\" || process.env.FORCE_COLOR === \"false\")\n ? false\n : picocolors.isColorSupported\n );\n}\n\nexport type InternalTokenType =\n | \"keyword\"\n | \"capitalized\"\n | \"jsxIdentifier\"\n | \"punctuator\"\n | \"number\"\n | \"string\"\n | \"regex\"\n | \"comment\"\n | \"invalid\";\n\ntype UITokens = \"gutter\" | \"marker\" | \"message\";\n\nexport type Defs = {\n [_ in InternalTokenType | UITokens | \"reset\"]: Formatter;\n};\n\nconst compose: (f: (gv: U) => V, g: (v: T) => U) => (v: T) => V =\n (f, g) => v =>\n f(g(v));\n\n/**\n * Styles for token types.\n */\nfunction buildDefs(colors: Colors): Defs {\n return {\n keyword: colors.cyan,\n capitalized: colors.yellow,\n jsxIdentifier: colors.yellow,\n punctuator: colors.yellow,\n number: colors.magenta,\n string: colors.green,\n regex: colors.magenta,\n comment: colors.gray,\n invalid: compose(compose(colors.white, colors.bgRed), colors.bold),\n\n gutter: colors.gray,\n marker: compose(colors.red, colors.bold),\n message: compose(colors.red, colors.bold),\n\n reset: colors.reset,\n };\n}\n\nconst defsOn = buildDefs(createColors(true));\nconst defsOff = buildDefs(createColors(false));\n\nexport function getDefs(enabled: boolean): Defs {\n return enabled ? defsOn : defsOff;\n}\n", "import type { Token as JSToken, JSXToken } from \"js-tokens\";\nimport jsTokens from \"js-tokens\";\n\nimport {\n isStrictReservedWord,\n isKeyword,\n} from \"@babel/helper-validator-identifier\";\n\nimport { getDefs, type InternalTokenType } from \"./defs.ts\";\n\n/**\n * Names that are always allowed as identifiers, but also appear as keywords\n * within certain syntactic productions.\n *\n * https://tc39.es/ecma262/#sec-keywords-and-reserved-words\n *\n * `target` has been omitted since it is very likely going to be a false\n * positive.\n */\nconst sometimesKeywords = new Set([\"as\", \"async\", \"from\", \"get\", \"of\", \"set\"]);\n\ntype Token = {\n type: InternalTokenType | \"uncolored\";\n value: string;\n};\n\n/**\n * RegExp to test for newlines in terminal.\n */\nconst NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n\n/**\n * RegExp to test for the three types of brackets.\n */\nconst BRACKET = /^[()[\\]{}]$/;\n\nlet tokenize: (\n text: string,\n) => Generator<{ type: InternalTokenType | \"uncolored\"; value: string }>;\n\nif (process.env.BABEL_8_BREAKING) {\n /**\n * Get the type of token, specifying punctuator type.\n */\n const getTokenType = function (\n token: JSToken | JSXToken,\n ): InternalTokenType | \"uncolored\" {\n if (token.type === \"IdentifierName\") {\n if (\n isKeyword(token.value) ||\n isStrictReservedWord(token.value, true) ||\n sometimesKeywords.has(token.value)\n ) {\n return \"keyword\";\n }\n\n if (token.value[0] !== token.value[0].toLowerCase()) {\n return \"capitalized\";\n }\n }\n\n if (token.type === \"Punctuator\" && BRACKET.test(token.value)) {\n return \"uncolored\";\n }\n\n if (token.type === \"Invalid\" && token.value === \"@\") {\n return \"punctuator\";\n }\n\n switch (token.type) {\n case \"NumericLiteral\":\n return \"number\";\n\n case \"StringLiteral\":\n case \"JSXString\":\n case \"NoSubstitutionTemplate\":\n return \"string\";\n\n case \"RegularExpressionLiteral\":\n return \"regex\";\n\n case \"Punctuator\":\n case \"JSXPunctuator\":\n return \"punctuator\";\n\n case \"MultiLineComment\":\n case \"SingleLineComment\":\n return \"comment\";\n\n case \"Invalid\":\n case \"JSXInvalid\":\n return \"invalid\";\n\n case \"JSXIdentifier\":\n return \"jsxIdentifier\";\n\n default:\n return \"uncolored\";\n }\n };\n\n /**\n * Turn a string of JS into an array of objects.\n */\n tokenize = function* (text: string): Generator {\n for (const token of jsTokens(text, { jsx: true })) {\n switch (token.type) {\n case \"TemplateHead\":\n yield { type: \"string\", value: token.value.slice(0, -2) };\n yield { type: \"punctuator\", value: \"${\" };\n break;\n\n case \"TemplateMiddle\":\n yield { type: \"punctuator\", value: \"}\" };\n yield { type: \"string\", value: token.value.slice(1, -2) };\n yield { type: \"punctuator\", value: \"${\" };\n break;\n\n case \"TemplateTail\":\n yield { type: \"punctuator\", value: \"}\" };\n yield { type: \"string\", value: token.value.slice(1) };\n break;\n\n default:\n yield {\n type: getTokenType(token),\n value: token.value,\n };\n }\n }\n };\n} else {\n /**\n * RegExp to test for what seems to be a JSX tag name.\n */\n const JSX_TAG = /^[a-z][\\w-]*$/i;\n\n // The token here is defined in js-tokens@4. However we don't bother\n // typing it since the whole block will be removed in Babel 8\n const getTokenType = function (token: any, offset: number, text: string) {\n if (token.type === \"name\") {\n if (\n isKeyword(token.value) ||\n isStrictReservedWord(token.value, true) ||\n sometimesKeywords.has(token.value)\n ) {\n return \"keyword\";\n }\n\n if (\n JSX_TAG.test(token.value) &&\n (text[offset - 1] === \"<\" || text.slice(offset - 2, offset) === \" defs[type as InternalTokenType](str))\n .join(\"\\n\");\n } else {\n highlighted += value;\n }\n }\n\n return highlighted;\n}\n", "import { getDefs, isColorSupported } from \"./defs.ts\";\nimport { highlight } from \"./highlight.ts\";\n\nexport { highlight };\n\nlet deprecationWarningShown = false;\n\ntype Location = {\n column: number;\n line: number;\n};\n\ntype NodeLocation = {\n end?: Location;\n start: Location;\n};\n\nexport interface Options {\n /** Syntax highlight the code as JavaScript for terminals. default: false */\n highlightCode?: boolean;\n /** The number of lines to show above the error. default: 2 */\n linesAbove?: number;\n /** The number of lines to show below the error. default: 3 */\n linesBelow?: number;\n /**\n * Forcibly syntax highlight the code as JavaScript (for non-terminals);\n * overrides highlightCode.\n * default: false\n */\n forceColor?: boolean;\n /**\n * Pass in a string to be displayed inline (if possible) next to the\n * highlighted location in the code. If it can't be positioned inline,\n * it will be placed above the code frame.\n * default: nothing\n */\n message?: string;\n}\n\n/**\n * RegExp to test for newlines in terminal.\n */\n\nconst NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n\n/**\n * Extract what lines should be marked and highlighted.\n */\n\ntype MarkerLines = Record;\n\nfunction getMarkerLines(\n loc: NodeLocation,\n source: Array,\n opts: Options,\n): {\n start: number;\n end: number;\n markerLines: MarkerLines;\n} {\n const startLoc: Location = {\n column: 0,\n line: -1,\n ...loc.start,\n };\n const endLoc: Location = {\n ...startLoc,\n ...loc.end,\n };\n const { linesAbove = 2, linesBelow = 3 } = opts || {};\n const startLine = startLoc.line;\n const startColumn = startLoc.column;\n const endLine = endLoc.line;\n const endColumn = endLoc.column;\n\n let start = Math.max(startLine - (linesAbove + 1), 0);\n let end = Math.min(source.length, endLine + linesBelow);\n\n if (startLine === -1) {\n start = 0;\n }\n\n if (endLine === -1) {\n end = source.length;\n }\n\n const lineDiff = endLine - startLine;\n const markerLines: MarkerLines = {};\n\n if (lineDiff) {\n for (let i = 0; i <= lineDiff; i++) {\n const lineNumber = i + startLine;\n\n if (!startColumn) {\n markerLines[lineNumber] = true;\n } else if (i === 0) {\n const sourceLength = source[lineNumber - 1].length;\n\n markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];\n } else if (i === lineDiff) {\n markerLines[lineNumber] = [0, endColumn];\n } else {\n const sourceLength = source[lineNumber - i].length;\n\n markerLines[lineNumber] = [0, sourceLength];\n }\n }\n } else {\n if (startColumn === endColumn) {\n if (startColumn) {\n markerLines[startLine] = [startColumn, 0];\n } else {\n markerLines[startLine] = true;\n }\n } else {\n markerLines[startLine] = [startColumn, endColumn - startColumn];\n }\n }\n\n return { start, end, markerLines };\n}\n\nexport function codeFrameColumns(\n rawLines: string,\n loc: NodeLocation,\n opts: Options = {},\n): string {\n const shouldHighlight =\n opts.forceColor || (isColorSupported() && opts.highlightCode);\n const defs = getDefs(shouldHighlight);\n\n const lines = rawLines.split(NEWLINE);\n const { start, end, markerLines } = getMarkerLines(loc, lines, opts);\n const hasColumns = loc.start && typeof loc.start.column === \"number\";\n\n const numberMaxWidth = String(end).length;\n\n const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines;\n\n let frame = highlightedLines\n .split(NEWLINE, end)\n .slice(start, end)\n .map((line, index) => {\n const number = start + 1 + index;\n const paddedNumber = ` ${number}`.slice(-numberMaxWidth);\n const gutter = ` ${paddedNumber} |`;\n const hasMarker = markerLines[number];\n const lastMarkerLine = !markerLines[number + 1];\n if (hasMarker) {\n let markerLine = \"\";\n if (Array.isArray(hasMarker)) {\n const markerSpacing = line\n .slice(0, Math.max(hasMarker[0] - 1, 0))\n .replace(/[^\\t]/g, \" \");\n const numberOfMarkers = hasMarker[1] || 1;\n\n markerLine = [\n \"\\n \",\n defs.gutter(gutter.replace(/\\d/g, \" \")),\n \" \",\n markerSpacing,\n defs.marker(\"^\").repeat(numberOfMarkers),\n ].join(\"\");\n\n if (lastMarkerLine && opts.message) {\n markerLine += \" \" + defs.message(opts.message);\n }\n }\n return [\n defs.marker(\">\"),\n defs.gutter(gutter),\n line.length > 0 ? ` ${line}` : \"\",\n markerLine,\n ].join(\"\");\n } else {\n return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : \"\"}`;\n }\n })\n .join(\"\\n\");\n\n if (opts.message && !hasColumns) {\n frame = `${\" \".repeat(numberMaxWidth + 1)}${opts.message}\\n${frame}`;\n }\n\n if (shouldHighlight) {\n return defs.reset(frame);\n } else {\n return frame;\n }\n}\n\n/**\n * Create a code frame, adding line numbers, code highlighting, and pointing to a given position.\n */\n\nexport default function (\n rawLines: string,\n lineNumber: number,\n colNumber?: number | null,\n opts: Options = {},\n): string {\n if (!deprecationWarningShown) {\n deprecationWarningShown = true;\n\n const message =\n \"Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.\";\n\n if (process.emitWarning) {\n // A string is directly supplied to emitWarning, because when supplying an\n // Error object node throws in the tests because of different contexts\n process.emitWarning(message, \"DeprecationWarning\");\n } else {\n const deprecationError = new Error(message);\n deprecationError.name = \"DeprecationWarning\";\n console.warn(new Error(message));\n }\n }\n\n colNumber = Math.max(colNumber, 0);\n\n const location: NodeLocation = {\n start: { column: colNumber, line: lineNumber },\n };\n\n return codeFrameColumns(rawLines, location, opts);\n}\n", "'use strict';\nconst errorEx = require('error-ex');\nconst fallback = require('json-parse-even-better-errors');\nconst {default: LinesAndColumns} = require('lines-and-columns');\nconst {codeFrameColumns} = require('@babel/code-frame');\n\nconst JSONError = errorEx('JSONError', {\n\tfileName: errorEx.append('in %s'),\n\tcodeFrame: errorEx.append('\\n\\n%s\\n')\n});\n\nconst parseJson = (string, reviver, filename) => {\n\tif (typeof reviver === 'string') {\n\t\tfilename = reviver;\n\t\treviver = null;\n\t}\n\n\ttry {\n\t\ttry {\n\t\t\treturn JSON.parse(string, reviver);\n\t\t} catch (error) {\n\t\t\tfallback(string, reviver);\n\t\t\tthrow error;\n\t\t}\n\t} catch (error) {\n\t\terror.message = error.message.replace(/\\n/g, '');\n\t\tconst indexMatch = error.message.match(/in JSON at position (\\d+) while parsing/);\n\n\t\tconst jsonError = new JSONError(error);\n\t\tif (filename) {\n\t\t\tjsonError.fileName = filename;\n\t\t}\n\n\t\tif (indexMatch && indexMatch.length > 0) {\n\t\t\tconst lines = new LinesAndColumns(string);\n\t\t\tconst index = Number(indexMatch[1]);\n\t\t\tconst location = lines.locationForIndex(index);\n\n\t\t\tconst codeFrame = codeFrameColumns(\n\t\t\t\tstring,\n\t\t\t\t{start: {line: location.line + 1, column: location.column + 1}},\n\t\t\t\t{highlightCode: true}\n\t\t\t);\n\n\t\t\tjsonError.codeFrame = codeFrame;\n\t\t}\n\n\t\tthrow jsonError;\n\t}\n};\n\nparseJson.JSONError = JSONError;\n\nmodule.exports = parseJson;\n", "function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _toArray(arr) {\n return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function () {};\n\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = o[Symbol.iterator]();\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nvar Char = {\n ANCHOR: '&',\n COMMENT: '#',\n TAG: '!',\n DIRECTIVES_END: '-',\n DOCUMENT_END: '.'\n};\nvar Type = {\n ALIAS: 'ALIAS',\n BLANK_LINE: 'BLANK_LINE',\n BLOCK_FOLDED: 'BLOCK_FOLDED',\n BLOCK_LITERAL: 'BLOCK_LITERAL',\n COMMENT: 'COMMENT',\n DIRECTIVE: 'DIRECTIVE',\n DOCUMENT: 'DOCUMENT',\n FLOW_MAP: 'FLOW_MAP',\n FLOW_SEQ: 'FLOW_SEQ',\n MAP: 'MAP',\n MAP_KEY: 'MAP_KEY',\n MAP_VALUE: 'MAP_VALUE',\n PLAIN: 'PLAIN',\n QUOTE_DOUBLE: 'QUOTE_DOUBLE',\n QUOTE_SINGLE: 'QUOTE_SINGLE',\n SEQ: 'SEQ',\n SEQ_ITEM: 'SEQ_ITEM'\n};\nvar defaultTagPrefix = 'tag:yaml.org,2002:';\nvar defaultTags = {\n MAP: 'tag:yaml.org,2002:map',\n SEQ: 'tag:yaml.org,2002:seq',\n STR: 'tag:yaml.org,2002:str'\n};\n\nfunction findLineStarts(src) {\n var ls = [0];\n var offset = src.indexOf('\\n');\n\n while (offset !== -1) {\n offset += 1;\n ls.push(offset);\n offset = src.indexOf('\\n', offset);\n }\n\n return ls;\n}\n\nfunction getSrcInfo(cst) {\n var lineStarts, src;\n\n if (typeof cst === 'string') {\n lineStarts = findLineStarts(cst);\n src = cst;\n } else {\n if (Array.isArray(cst)) cst = cst[0];\n\n if (cst && cst.context) {\n if (!cst.lineStarts) cst.lineStarts = findLineStarts(cst.context.src);\n lineStarts = cst.lineStarts;\n src = cst.context.src;\n }\n }\n\n return {\n lineStarts: lineStarts,\n src: src\n };\n}\n/**\n * @typedef {Object} LinePos - One-indexed position in the source\n * @property {number} line\n * @property {number} col\n */\n\n/**\n * Determine the line/col position matching a character offset.\n *\n * Accepts a source string or a CST document as the second parameter. With\n * the latter, starting indices for lines are cached in the document as\n * `lineStarts: number[]`.\n *\n * Returns a one-indexed `{ line, col }` location if found, or\n * `undefined` otherwise.\n *\n * @param {number} offset\n * @param {string|Document|Document[]} cst\n * @returns {?LinePos}\n */\n\n\nfunction getLinePos(offset, cst) {\n if (typeof offset !== 'number' || offset < 0) return null;\n\n var _getSrcInfo = getSrcInfo(cst),\n lineStarts = _getSrcInfo.lineStarts,\n src = _getSrcInfo.src;\n\n if (!lineStarts || !src || offset > src.length) return null;\n\n for (var i = 0; i < lineStarts.length; ++i) {\n var start = lineStarts[i];\n\n if (offset < start) {\n return {\n line: i,\n col: offset - lineStarts[i - 1] + 1\n };\n }\n\n if (offset === start) return {\n line: i + 1,\n col: 1\n };\n }\n\n var line = lineStarts.length;\n return {\n line: line,\n col: offset - lineStarts[line - 1] + 1\n };\n}\n/**\n * Get a specified line from the source.\n *\n * Accepts a source string or a CST document as the second parameter. With\n * the latter, starting indices for lines are cached in the document as\n * `lineStarts: number[]`.\n *\n * Returns the line as a string if found, or `null` otherwise.\n *\n * @param {number} line One-indexed line number\n * @param {string|Document|Document[]} cst\n * @returns {?string}\n */\n\nfunction getLine(line, cst) {\n var _getSrcInfo2 = getSrcInfo(cst),\n lineStarts = _getSrcInfo2.lineStarts,\n src = _getSrcInfo2.src;\n\n if (!lineStarts || !(line >= 1) || line > lineStarts.length) return null;\n var start = lineStarts[line - 1];\n var end = lineStarts[line]; // undefined for last line; that's ok for slice()\n\n while (end && end > start && src[end - 1] === '\\n') {\n --end;\n }\n\n return src.slice(start, end);\n}\n/**\n * Pretty-print the starting line from the source indicated by the range `pos`\n *\n * Trims output to `maxWidth` chars while keeping the starting column visible,\n * using `…` at either end to indicate dropped characters.\n *\n * Returns a two-line string (or `null`) with `\\n` as separator; the second line\n * will hold appropriately indented `^` marks indicating the column range.\n *\n * @param {Object} pos\n * @param {LinePos} pos.start\n * @param {LinePos} [pos.end]\n * @param {string|Document|Document[]*} cst\n * @param {number} [maxWidth=80]\n * @returns {?string}\n */\n\nfunction getPrettyContext(_ref, cst) {\n var start = _ref.start,\n end = _ref.end;\n var maxWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 80;\n var src = getLine(start.line, cst);\n if (!src) return null;\n var col = start.col;\n\n if (src.length > maxWidth) {\n if (col <= maxWidth - 10) {\n src = src.substr(0, maxWidth - 1) + '…';\n } else {\n var halfWidth = Math.round(maxWidth / 2);\n if (src.length > col + halfWidth) src = src.substr(0, col + halfWidth - 1) + '…';\n col -= src.length - maxWidth;\n src = '…' + src.substr(1 - maxWidth);\n }\n }\n\n var errLen = 1;\n var errEnd = '';\n\n if (end) {\n if (end.line === start.line && col + (end.col - start.col) <= maxWidth + 1) {\n errLen = end.col - start.col;\n } else {\n errLen = Math.min(src.length + 1, maxWidth) - col;\n errEnd = '…';\n }\n }\n\n var offset = col > 1 ? ' '.repeat(col - 1) : '';\n var err = '^'.repeat(errLen);\n return \"\".concat(src, \"\\n\").concat(offset).concat(err).concat(errEnd);\n}\n\nvar Range = /*#__PURE__*/function () {\n function Range(start, end) {\n _classCallCheck(this, Range);\n\n this.start = start;\n this.end = end || start;\n }\n\n _createClass(Range, [{\n key: \"isEmpty\",\n value: function isEmpty() {\n return typeof this.start !== 'number' || !this.end || this.end <= this.start;\n }\n /**\n * Set `origStart` and `origEnd` to point to the original source range for\n * this node, which may differ due to dropped CR characters.\n *\n * @param {number[]} cr - Positions of dropped CR characters\n * @param {number} offset - Starting index of `cr` from the last call\n * @returns {number} - The next offset, matching the one found for `origStart`\n */\n\n }, {\n key: \"setOrigRange\",\n value: function setOrigRange(cr, offset) {\n var start = this.start,\n end = this.end;\n\n if (cr.length === 0 || end <= cr[0]) {\n this.origStart = start;\n this.origEnd = end;\n return offset;\n }\n\n var i = offset;\n\n while (i < cr.length) {\n if (cr[i] > start) break;else ++i;\n }\n\n this.origStart = start + i;\n var nextOffset = i;\n\n while (i < cr.length) {\n // if end was at \\n, it should now be at \\r\n if (cr[i] >= end) break;else ++i;\n }\n\n this.origEnd = end + i;\n return nextOffset;\n }\n }], [{\n key: \"copy\",\n value: function copy(orig) {\n return new Range(orig.start, orig.end);\n }\n }]);\n\n return Range;\n}();\n\n/** Root class of all nodes */\n\nvar Node = /*#__PURE__*/function () {\n function Node(type, props, context) {\n _classCallCheck(this, Node);\n\n Object.defineProperty(this, 'context', {\n value: context || null,\n writable: true\n });\n this.error = null;\n this.range = null;\n this.valueRange = null;\n this.props = props || [];\n this.type = type;\n this.value = null;\n }\n\n _createClass(Node, [{\n key: \"getPropValue\",\n value: function getPropValue(idx, key, skipKey) {\n if (!this.context) return null;\n var src = this.context.src;\n var prop = this.props[idx];\n return prop && src[prop.start] === key ? src.slice(prop.start + (skipKey ? 1 : 0), prop.end) : null;\n }\n }, {\n key: \"anchor\",\n get: function get() {\n for (var i = 0; i < this.props.length; ++i) {\n var anchor = this.getPropValue(i, Char.ANCHOR, true);\n if (anchor != null) return anchor;\n }\n\n return null;\n }\n }, {\n key: \"comment\",\n get: function get() {\n var comments = [];\n\n for (var i = 0; i < this.props.length; ++i) {\n var comment = this.getPropValue(i, Char.COMMENT, true);\n if (comment != null) comments.push(comment);\n }\n\n return comments.length > 0 ? comments.join('\\n') : null;\n }\n }, {\n key: \"commentHasRequiredWhitespace\",\n value: function commentHasRequiredWhitespace(start) {\n var src = this.context.src;\n if (this.header && start === this.header.end) return false;\n if (!this.valueRange) return false;\n var end = this.valueRange.end;\n return start !== end || Node.atBlank(src, end - 1);\n }\n }, {\n key: \"hasComment\",\n get: function get() {\n if (this.context) {\n var src = this.context.src;\n\n for (var i = 0; i < this.props.length; ++i) {\n if (src[this.props[i].start] === Char.COMMENT) return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"hasProps\",\n get: function get() {\n if (this.context) {\n var src = this.context.src;\n\n for (var i = 0; i < this.props.length; ++i) {\n if (src[this.props[i].start] !== Char.COMMENT) return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"includesTrailingLines\",\n get: function get() {\n return false;\n }\n }, {\n key: \"jsonLike\",\n get: function get() {\n var jsonLikeTypes = [Type.FLOW_MAP, Type.FLOW_SEQ, Type.QUOTE_DOUBLE, Type.QUOTE_SINGLE];\n return jsonLikeTypes.indexOf(this.type) !== -1;\n }\n }, {\n key: \"rangeAsLinePos\",\n get: function get() {\n if (!this.range || !this.context) return undefined;\n var start = getLinePos(this.range.start, this.context.root);\n if (!start) return undefined;\n var end = getLinePos(this.range.end, this.context.root);\n return {\n start: start,\n end: end\n };\n }\n }, {\n key: \"rawValue\",\n get: function get() {\n if (!this.valueRange || !this.context) return null;\n var _this$valueRange = this.valueRange,\n start = _this$valueRange.start,\n end = _this$valueRange.end;\n return this.context.src.slice(start, end);\n }\n }, {\n key: \"tag\",\n get: function get() {\n for (var i = 0; i < this.props.length; ++i) {\n var tag = this.getPropValue(i, Char.TAG, false);\n\n if (tag != null) {\n if (tag[1] === '<') {\n return {\n verbatim: tag.slice(2, -1)\n };\n } else {\n // eslint-disable-next-line no-unused-vars\n var _tag$match = tag.match(/^(.*!)([^!]*)$/),\n _tag$match2 = _slicedToArray(_tag$match, 3);\n _tag$match2[0];\n var handle = _tag$match2[1],\n suffix = _tag$match2[2];\n\n return {\n handle: handle,\n suffix: suffix\n };\n }\n }\n }\n\n return null;\n }\n }, {\n key: \"valueRangeContainsNewline\",\n get: function get() {\n if (!this.valueRange || !this.context) return false;\n var _this$valueRange2 = this.valueRange,\n start = _this$valueRange2.start,\n end = _this$valueRange2.end;\n var src = this.context.src;\n\n for (var i = start; i < end; ++i) {\n if (src[i] === '\\n') return true;\n }\n\n return false;\n }\n }, {\n key: \"parseComment\",\n value: function parseComment(start) {\n var src = this.context.src;\n\n if (src[start] === Char.COMMENT) {\n var end = Node.endOfLine(src, start + 1);\n var commentRange = new Range(start, end);\n this.props.push(commentRange);\n return end;\n }\n\n return start;\n }\n /**\n * Populates the `origStart` and `origEnd` values of all ranges for this\n * node. Extended by child classes to handle descendant nodes.\n *\n * @param {number[]} cr - Positions of dropped CR characters\n * @param {number} offset - Starting index of `cr` from the last call\n * @returns {number} - The next offset, matching the one found for `origStart`\n */\n\n }, {\n key: \"setOrigRanges\",\n value: function setOrigRanges(cr, offset) {\n if (this.range) offset = this.range.setOrigRange(cr, offset);\n if (this.valueRange) this.valueRange.setOrigRange(cr, offset);\n this.props.forEach(function (prop) {\n return prop.setOrigRange(cr, offset);\n });\n return offset;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var src = this.context.src,\n range = this.range,\n value = this.value;\n if (value != null) return value;\n var str = src.slice(range.start, range.end);\n return Node.addStringTerminator(src, range.end, str);\n }\n }], [{\n key: \"addStringTerminator\",\n value: function addStringTerminator(src, offset, str) {\n if (str[str.length - 1] === '\\n') return str;\n var next = Node.endOfWhiteSpace(src, offset);\n return next >= src.length || src[next] === '\\n' ? str + '\\n' : str;\n } // ^(---|...)\n\n }, {\n key: \"atDocumentBoundary\",\n value: function atDocumentBoundary(src, offset, sep) {\n var ch0 = src[offset];\n if (!ch0) return true;\n var prev = src[offset - 1];\n if (prev && prev !== '\\n') return false;\n\n if (sep) {\n if (ch0 !== sep) return false;\n } else {\n if (ch0 !== Char.DIRECTIVES_END && ch0 !== Char.DOCUMENT_END) return false;\n }\n\n var ch1 = src[offset + 1];\n var ch2 = src[offset + 2];\n if (ch1 !== ch0 || ch2 !== ch0) return false;\n var ch3 = src[offset + 3];\n return !ch3 || ch3 === '\\n' || ch3 === '\\t' || ch3 === ' ';\n }\n }, {\n key: \"endOfIdentifier\",\n value: function endOfIdentifier(src, offset) {\n var ch = src[offset];\n var isVerbatim = ch === '<';\n var notOk = isVerbatim ? ['\\n', '\\t', ' ', '>'] : ['\\n', '\\t', ' ', '[', ']', '{', '}', ','];\n\n while (ch && notOk.indexOf(ch) === -1) {\n ch = src[offset += 1];\n }\n\n if (isVerbatim && ch === '>') offset += 1;\n return offset;\n }\n }, {\n key: \"endOfIndent\",\n value: function endOfIndent(src, offset) {\n var ch = src[offset];\n\n while (ch === ' ') {\n ch = src[offset += 1];\n }\n\n return offset;\n }\n }, {\n key: \"endOfLine\",\n value: function endOfLine(src, offset) {\n var ch = src[offset];\n\n while (ch && ch !== '\\n') {\n ch = src[offset += 1];\n }\n\n return offset;\n }\n }, {\n key: \"endOfWhiteSpace\",\n value: function endOfWhiteSpace(src, offset) {\n var ch = src[offset];\n\n while (ch === '\\t' || ch === ' ') {\n ch = src[offset += 1];\n }\n\n return offset;\n }\n }, {\n key: \"startOfLine\",\n value: function startOfLine(src, offset) {\n var ch = src[offset - 1];\n if (ch === '\\n') return offset;\n\n while (ch && ch !== '\\n') {\n ch = src[offset -= 1];\n }\n\n return offset + 1;\n }\n /**\n * End of indentation, or null if the line's indent level is not more\n * than `indent`\n *\n * @param {string} src\n * @param {number} indent\n * @param {number} lineStart\n * @returns {?number}\n */\n\n }, {\n key: \"endOfBlockIndent\",\n value: function endOfBlockIndent(src, indent, lineStart) {\n var inEnd = Node.endOfIndent(src, lineStart);\n\n if (inEnd > lineStart + indent) {\n return inEnd;\n } else {\n var wsEnd = Node.endOfWhiteSpace(src, inEnd);\n var ch = src[wsEnd];\n if (!ch || ch === '\\n') return wsEnd;\n }\n\n return null;\n }\n }, {\n key: \"atBlank\",\n value: function atBlank(src, offset, endAsBlank) {\n var ch = src[offset];\n return ch === '\\n' || ch === '\\t' || ch === ' ' || endAsBlank && !ch;\n }\n }, {\n key: \"nextNodeIsIndented\",\n value: function nextNodeIsIndented(ch, indentDiff, indicatorAsIndent) {\n if (!ch || indentDiff < 0) return false;\n if (indentDiff > 0) return true;\n return indicatorAsIndent && ch === '-';\n } // should be at line or string end, or at next non-whitespace char\n\n }, {\n key: \"normalizeOffset\",\n value: function normalizeOffset(src, offset) {\n var ch = src[offset];\n return !ch ? offset : ch !== '\\n' && src[offset - 1] === '\\n' ? offset - 1 : Node.endOfWhiteSpace(src, offset);\n } // fold single newline into space, multiple newlines to N - 1 newlines\n // presumes src[offset] === '\\n'\n\n }, {\n key: \"foldNewline\",\n value: function foldNewline(src, offset, indent) {\n var inCount = 0;\n var error = false;\n var fold = '';\n var ch = src[offset + 1];\n\n while (ch === ' ' || ch === '\\t' || ch === '\\n') {\n switch (ch) {\n case '\\n':\n inCount = 0;\n offset += 1;\n fold += '\\n';\n break;\n\n case '\\t':\n if (inCount <= indent) error = true;\n offset = Node.endOfWhiteSpace(src, offset + 2) - 1;\n break;\n\n case ' ':\n inCount += 1;\n offset += 1;\n break;\n }\n\n ch = src[offset + 1];\n }\n\n if (!fold) fold = ' ';\n if (ch && inCount <= indent) error = true;\n return {\n fold: fold,\n offset: offset,\n error: error\n };\n }\n }]);\n\n return Node;\n}();\n\nvar YAMLError = /*#__PURE__*/function (_Error) {\n _inherits(YAMLError, _Error);\n\n var _super = _createSuper(YAMLError);\n\n function YAMLError(name, source, message) {\n var _this;\n\n _classCallCheck(this, YAMLError);\n\n if (!message || !(source instanceof Node)) throw new Error(\"Invalid arguments for new \".concat(name));\n _this = _super.call(this);\n _this.name = name;\n _this.message = message;\n _this.source = source;\n return _this;\n }\n\n _createClass(YAMLError, [{\n key: \"makePretty\",\n value: function makePretty() {\n if (!this.source) return;\n this.nodeType = this.source.type;\n var cst = this.source.context && this.source.context.root;\n\n if (typeof this.offset === 'number') {\n this.range = new Range(this.offset, this.offset + 1);\n var start = cst && getLinePos(this.offset, cst);\n\n if (start) {\n var end = {\n line: start.line,\n col: start.col + 1\n };\n this.linePos = {\n start: start,\n end: end\n };\n }\n\n delete this.offset;\n } else {\n this.range = this.source.range;\n this.linePos = this.source.rangeAsLinePos;\n }\n\n if (this.linePos) {\n var _this$linePos$start = this.linePos.start,\n line = _this$linePos$start.line,\n col = _this$linePos$start.col;\n this.message += \" at line \".concat(line, \", column \").concat(col);\n var ctx = cst && getPrettyContext(this.linePos, cst);\n if (ctx) this.message += \":\\n\\n\".concat(ctx, \"\\n\");\n }\n\n delete this.source;\n }\n }]);\n\n return YAMLError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nvar YAMLReferenceError = /*#__PURE__*/function (_YAMLError) {\n _inherits(YAMLReferenceError, _YAMLError);\n\n var _super2 = _createSuper(YAMLReferenceError);\n\n function YAMLReferenceError(source, message) {\n _classCallCheck(this, YAMLReferenceError);\n\n return _super2.call(this, 'YAMLReferenceError', source, message);\n }\n\n return YAMLReferenceError;\n}(YAMLError);\nvar YAMLSemanticError = /*#__PURE__*/function (_YAMLError2) {\n _inherits(YAMLSemanticError, _YAMLError2);\n\n var _super3 = _createSuper(YAMLSemanticError);\n\n function YAMLSemanticError(source, message) {\n _classCallCheck(this, YAMLSemanticError);\n\n return _super3.call(this, 'YAMLSemanticError', source, message);\n }\n\n return YAMLSemanticError;\n}(YAMLError);\nvar YAMLSyntaxError = /*#__PURE__*/function (_YAMLError3) {\n _inherits(YAMLSyntaxError, _YAMLError3);\n\n var _super4 = _createSuper(YAMLSyntaxError);\n\n function YAMLSyntaxError(source, message) {\n _classCallCheck(this, YAMLSyntaxError);\n\n return _super4.call(this, 'YAMLSyntaxError', source, message);\n }\n\n return YAMLSyntaxError;\n}(YAMLError);\nvar YAMLWarning = /*#__PURE__*/function (_YAMLError4) {\n _inherits(YAMLWarning, _YAMLError4);\n\n var _super5 = _createSuper(YAMLWarning);\n\n function YAMLWarning(source, message) {\n _classCallCheck(this, YAMLWarning);\n\n return _super5.call(this, 'YAMLWarning', source, message);\n }\n\n return YAMLWarning;\n}(YAMLError);\n\nvar PlainValue = /*#__PURE__*/function (_Node) {\n _inherits(PlainValue, _Node);\n\n var _super = _createSuper(PlainValue);\n\n function PlainValue() {\n _classCallCheck(this, PlainValue);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PlainValue, [{\n key: \"strValue\",\n get: function get() {\n if (!this.valueRange || !this.context) return null;\n var _this$valueRange = this.valueRange,\n start = _this$valueRange.start,\n end = _this$valueRange.end;\n var src = this.context.src;\n var ch = src[end - 1];\n\n while (start < end && (ch === '\\n' || ch === '\\t' || ch === ' ')) {\n ch = src[--end - 1];\n }\n\n var str = '';\n\n for (var i = start; i < end; ++i) {\n var _ch = src[i];\n\n if (_ch === '\\n') {\n var _Node$foldNewline = Node.foldNewline(src, i, -1),\n fold = _Node$foldNewline.fold,\n offset = _Node$foldNewline.offset;\n\n str += fold;\n i = offset;\n } else if (_ch === ' ' || _ch === '\\t') {\n // trim trailing whitespace\n var wsStart = i;\n var next = src[i + 1];\n\n while (i < end && (next === ' ' || next === '\\t')) {\n i += 1;\n next = src[i + 1];\n }\n\n if (next !== '\\n') str += i > wsStart ? src.slice(wsStart, i + 1) : _ch;\n } else {\n str += _ch;\n }\n }\n\n var ch0 = src[start];\n\n switch (ch0) {\n case '\\t':\n {\n var msg = 'Plain value cannot start with a tab character';\n var errors = [new YAMLSemanticError(this, msg)];\n return {\n errors: errors,\n str: str\n };\n }\n\n case '@':\n case '`':\n {\n var _msg = \"Plain value cannot start with reserved character \".concat(ch0);\n\n var _errors = [new YAMLSemanticError(this, _msg)];\n return {\n errors: _errors,\n str: str\n };\n }\n\n default:\n return str;\n }\n }\n }, {\n key: \"parseBlockValue\",\n value: function parseBlockValue(start) {\n var _this$context = this.context,\n indent = _this$context.indent,\n inFlow = _this$context.inFlow,\n src = _this$context.src;\n var offset = start;\n var valueEnd = start;\n\n for (var ch = src[offset]; ch === '\\n'; ch = src[offset]) {\n if (Node.atDocumentBoundary(src, offset + 1)) break;\n var end = Node.endOfBlockIndent(src, indent, offset + 1);\n if (end === null || src[end] === '#') break;\n\n if (src[end] === '\\n') {\n offset = end;\n } else {\n valueEnd = PlainValue.endOfLine(src, end, inFlow);\n offset = valueEnd;\n }\n }\n\n if (this.valueRange.isEmpty()) this.valueRange.start = start;\n this.valueRange.end = valueEnd;\n return valueEnd;\n }\n /**\n * Parses a plain value from the source\n *\n * Accepted forms are:\n * ```\n * #comment\n *\n * first line\n *\n * first line #comment\n *\n * first line\n * block\n * lines\n *\n * #comment\n * block\n * lines\n * ```\n * where block lines are empty or have an indent level greater than `indent`.\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar, may be `\\n`\n */\n\n }, {\n key: \"parse\",\n value: function parse(context, start) {\n this.context = context;\n var inFlow = context.inFlow,\n src = context.src;\n var offset = start;\n var ch = src[offset];\n\n if (ch && ch !== '#' && ch !== '\\n') {\n offset = PlainValue.endOfLine(src, start, inFlow);\n }\n\n this.valueRange = new Range(start, offset);\n offset = Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n\n if (!this.hasComment || this.valueRange.isEmpty()) {\n offset = this.parseBlockValue(offset);\n }\n\n return offset;\n }\n }], [{\n key: \"endOfLine\",\n value: function endOfLine(src, start, inFlow) {\n var ch = src[start];\n var offset = start;\n\n while (ch && ch !== '\\n') {\n if (inFlow && (ch === '[' || ch === ']' || ch === '{' || ch === '}' || ch === ',')) break;\n var next = src[offset + 1];\n if (ch === ':' && (!next || next === '\\n' || next === '\\t' || next === ' ' || inFlow && next === ',')) break;\n if ((ch === ' ' || ch === '\\t') && next === '#') break;\n offset += 1;\n ch = next;\n }\n\n return offset;\n }\n }]);\n\n return PlainValue;\n}(Node);\n\nexport { Char as C, Node as N, PlainValue as P, Range as R, Type as T, YAMLSyntaxError as Y, _createForOfIteratorHelper as _, _typeof as a, _createClass as b, _classCallCheck as c, defaultTagPrefix as d, _defineProperty as e, YAMLWarning as f, YAMLSemanticError as g, _slicedToArray as h, YAMLError as i, _inherits as j, _createSuper as k, _get as l, _getPrototypeOf as m, defaultTags as n, YAMLReferenceError as o, _assertThisInitialized as p, _toArray as q, _possibleConstructorReturn as r };\n", "import { j as _inherits, k as _createSuper, c as _classCallCheck, T as Type, b as _createClass, R as Range, N as Node, g as YAMLSemanticError, l as _get, m as _getPrototypeOf, Y as YAMLSyntaxError, C as Char, e as _defineProperty, P as PlainValue } from './PlainValue-b8036b75.js';\n\nvar BlankLine = /*#__PURE__*/function (_Node) {\n _inherits(BlankLine, _Node);\n\n var _super = _createSuper(BlankLine);\n\n function BlankLine() {\n _classCallCheck(this, BlankLine);\n\n return _super.call(this, Type.BLANK_LINE);\n }\n /* istanbul ignore next */\n\n\n _createClass(BlankLine, [{\n key: \"includesTrailingLines\",\n get: function get() {\n // This is never called from anywhere, but if it were,\n // this is the value it should return.\n return true;\n }\n /**\n * Parses a blank line from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first \\n character\n * @returns {number} - Index of the character after this\n */\n\n }, {\n key: \"parse\",\n value: function parse(context, start) {\n this.context = context;\n this.range = new Range(start, start + 1);\n return start + 1;\n }\n }]);\n\n return BlankLine;\n}(Node);\n\nvar CollectionItem = /*#__PURE__*/function (_Node) {\n _inherits(CollectionItem, _Node);\n\n var _super = _createSuper(CollectionItem);\n\n function CollectionItem(type, props) {\n var _this;\n\n _classCallCheck(this, CollectionItem);\n\n _this = _super.call(this, type, props);\n _this.node = null;\n return _this;\n }\n\n _createClass(CollectionItem, [{\n key: \"includesTrailingLines\",\n get: function get() {\n return !!this.node && this.node.includesTrailingLines;\n }\n /**\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this\n */\n\n }, {\n key: \"parse\",\n value: function parse(context, start) {\n this.context = context;\n var parseNode = context.parseNode,\n src = context.src;\n var atLineStart = context.atLineStart,\n lineStart = context.lineStart;\n if (!atLineStart && this.type === Type.SEQ_ITEM) this.error = new YAMLSemanticError(this, 'Sequence items must not have preceding content on the same line');\n var indent = atLineStart ? start - lineStart : context.indent;\n var offset = Node.endOfWhiteSpace(src, start + 1);\n var ch = src[offset];\n var inlineComment = ch === '#';\n var comments = [];\n var blankLine = null;\n\n while (ch === '\\n' || ch === '#') {\n if (ch === '#') {\n var _end = Node.endOfLine(src, offset + 1);\n\n comments.push(new Range(offset, _end));\n offset = _end;\n } else {\n atLineStart = true;\n lineStart = offset + 1;\n var wsEnd = Node.endOfWhiteSpace(src, lineStart);\n\n if (src[wsEnd] === '\\n' && comments.length === 0) {\n blankLine = new BlankLine();\n lineStart = blankLine.parse({\n src: src\n }, lineStart);\n }\n\n offset = Node.endOfIndent(src, lineStart);\n }\n\n ch = src[offset];\n }\n\n if (Node.nextNodeIsIndented(ch, offset - (lineStart + indent), this.type !== Type.SEQ_ITEM)) {\n this.node = parseNode({\n atLineStart: atLineStart,\n inCollection: false,\n indent: indent,\n lineStart: lineStart,\n parent: this\n }, offset);\n } else if (ch && lineStart > start + 1) {\n offset = lineStart - 1;\n }\n\n if (this.node) {\n if (blankLine) {\n // Only blank lines preceding non-empty nodes are captured. Note that\n // this means that collection item range start indices do not always\n // increase monotonically. -- eemeli/yaml#126\n var items = context.parent.items || context.parent.contents;\n if (items) items.push(blankLine);\n }\n\n if (comments.length) Array.prototype.push.apply(this.props, comments);\n offset = this.node.range.end;\n } else {\n if (inlineComment) {\n var c = comments[0];\n this.props.push(c);\n offset = c.end;\n } else {\n offset = Node.endOfLine(src, start + 1);\n }\n }\n\n var end = this.node ? this.node.valueRange.end : offset;\n this.valueRange = new Range(start, end);\n return offset;\n }\n }, {\n key: \"setOrigRanges\",\n value: function setOrigRanges(cr, offset) {\n offset = _get(_getPrototypeOf(CollectionItem.prototype), \"setOrigRanges\", this).call(this, cr, offset);\n return this.node ? this.node.setOrigRanges(cr, offset) : offset;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var src = this.context.src,\n node = this.node,\n range = this.range,\n value = this.value;\n if (value != null) return value;\n var str = node ? src.slice(range.start, node.range.start) + String(node) : src.slice(range.start, range.end);\n return Node.addStringTerminator(src, range.end, str);\n }\n }]);\n\n return CollectionItem;\n}(Node);\n\nvar Comment = /*#__PURE__*/function (_Node) {\n _inherits(Comment, _Node);\n\n var _super = _createSuper(Comment);\n\n function Comment() {\n _classCallCheck(this, Comment);\n\n return _super.call(this, Type.COMMENT);\n }\n /**\n * Parses a comment line from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar\n */\n\n\n _createClass(Comment, [{\n key: \"parse\",\n value: function parse(context, start) {\n this.context = context;\n var offset = this.parseComment(start);\n this.range = new Range(start, offset);\n return offset;\n }\n }]);\n\n return Comment;\n}(Node);\n\nfunction grabCollectionEndComments(node) {\n var cnode = node;\n\n while (cnode instanceof CollectionItem) {\n cnode = cnode.node;\n }\n\n if (!(cnode instanceof Collection)) return null;\n var len = cnode.items.length;\n var ci = -1;\n\n for (var i = len - 1; i >= 0; --i) {\n var n = cnode.items[i];\n\n if (n.type === Type.COMMENT) {\n // Keep sufficiently indented comments with preceding node\n var _n$context = n.context,\n indent = _n$context.indent,\n lineStart = _n$context.lineStart;\n if (indent > 0 && n.range.start >= lineStart + indent) break;\n ci = i;\n } else if (n.type === Type.BLANK_LINE) ci = i;else break;\n }\n\n if (ci === -1) return null;\n var ca = cnode.items.splice(ci, len - ci);\n var prevEnd = ca[0].range.start;\n\n while (true) {\n cnode.range.end = prevEnd;\n if (cnode.valueRange && cnode.valueRange.end > prevEnd) cnode.valueRange.end = prevEnd;\n if (cnode === node) break;\n cnode = cnode.context.parent;\n }\n\n return ca;\n}\nvar Collection = /*#__PURE__*/function (_Node) {\n _inherits(Collection, _Node);\n\n var _super = _createSuper(Collection);\n\n function Collection(firstItem) {\n var _this;\n\n _classCallCheck(this, Collection);\n\n _this = _super.call(this, firstItem.type === Type.SEQ_ITEM ? Type.SEQ : Type.MAP);\n\n for (var i = firstItem.props.length - 1; i >= 0; --i) {\n if (firstItem.props[i].start < firstItem.context.lineStart) {\n // props on previous line are assumed by the collection\n _this.props = firstItem.props.slice(0, i + 1);\n firstItem.props = firstItem.props.slice(i + 1);\n var itemRange = firstItem.props[0] || firstItem.valueRange;\n firstItem.range.start = itemRange.start;\n break;\n }\n }\n\n _this.items = [firstItem];\n var ec = grabCollectionEndComments(firstItem);\n if (ec) Array.prototype.push.apply(_this.items, ec);\n return _this;\n }\n\n _createClass(Collection, [{\n key: \"includesTrailingLines\",\n get: function get() {\n return this.items.length > 0;\n }\n /**\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this\n */\n\n }, {\n key: \"parse\",\n value: function parse(context, start) {\n this.context = context;\n var parseNode = context.parseNode,\n src = context.src; // It's easier to recalculate lineStart here rather than tracking down the\n // last context from which to read it -- eemeli/yaml#2\n\n var lineStart = Node.startOfLine(src, start);\n var firstItem = this.items[0]; // First-item context needs to be correct for later comment handling\n // -- eemeli/yaml#17\n\n firstItem.context.parent = this;\n this.valueRange = Range.copy(firstItem.valueRange);\n var indent = firstItem.range.start - firstItem.context.lineStart;\n var offset = start;\n offset = Node.normalizeOffset(src, offset);\n var ch = src[offset];\n var atLineStart = Node.endOfWhiteSpace(src, lineStart) === offset;\n var prevIncludesTrailingLines = false;\n\n while (ch) {\n while (ch === '\\n' || ch === '#') {\n if (atLineStart && ch === '\\n' && !prevIncludesTrailingLines) {\n var blankLine = new BlankLine();\n offset = blankLine.parse({\n src: src\n }, offset);\n this.valueRange.end = offset;\n\n if (offset >= src.length) {\n ch = null;\n break;\n }\n\n this.items.push(blankLine);\n offset -= 1; // blankLine.parse() consumes terminal newline\n } else if (ch === '#') {\n if (offset < lineStart + indent && !Collection.nextContentHasIndent(src, offset, indent)) {\n return offset;\n }\n\n var comment = new Comment();\n offset = comment.parse({\n indent: indent,\n lineStart: lineStart,\n src: src\n }, offset);\n this.items.push(comment);\n this.valueRange.end = offset;\n\n if (offset >= src.length) {\n ch = null;\n break;\n }\n }\n\n lineStart = offset + 1;\n offset = Node.endOfIndent(src, lineStart);\n\n if (Node.atBlank(src, offset)) {\n var wsEnd = Node.endOfWhiteSpace(src, offset);\n var next = src[wsEnd];\n\n if (!next || next === '\\n' || next === '#') {\n offset = wsEnd;\n }\n }\n\n ch = src[offset];\n atLineStart = true;\n }\n\n if (!ch) {\n break;\n }\n\n if (offset !== lineStart + indent && (atLineStart || ch !== ':')) {\n if (offset < lineStart + indent) {\n if (lineStart > start) offset = lineStart;\n break;\n } else if (!this.error) {\n var msg = 'All collection items must start at the same column';\n this.error = new YAMLSyntaxError(this, msg);\n }\n }\n\n if (firstItem.type === Type.SEQ_ITEM) {\n if (ch !== '-') {\n if (lineStart > start) offset = lineStart;\n break;\n }\n } else if (ch === '-' && !this.error) {\n // map key may start with -, as long as it's followed by a non-whitespace char\n var _next = src[offset + 1];\n\n if (!_next || _next === '\\n' || _next === '\\t' || _next === ' ') {\n var _msg = 'A collection cannot be both a mapping and a sequence';\n this.error = new YAMLSyntaxError(this, _msg);\n }\n }\n\n var node = parseNode({\n atLineStart: atLineStart,\n inCollection: true,\n indent: indent,\n lineStart: lineStart,\n parent: this\n }, offset);\n if (!node) return offset; // at next document start\n\n this.items.push(node);\n this.valueRange.end = node.valueRange.end;\n offset = Node.normalizeOffset(src, node.range.end);\n ch = src[offset];\n atLineStart = false;\n prevIncludesTrailingLines = node.includesTrailingLines; // Need to reset lineStart and atLineStart here if preceding node's range\n // has advanced to check the current line's indentation level\n // -- eemeli/yaml#10 & eemeli/yaml#38\n\n if (ch) {\n var ls = offset - 1;\n var prev = src[ls];\n\n while (prev === ' ' || prev === '\\t') {\n prev = src[--ls];\n }\n\n if (prev === '\\n') {\n lineStart = ls + 1;\n atLineStart = true;\n }\n }\n\n var ec = grabCollectionEndComments(node);\n if (ec) Array.prototype.push.apply(this.items, ec);\n }\n\n return offset;\n }\n }, {\n key: \"setOrigRanges\",\n value: function setOrigRanges(cr, offset) {\n offset = _get(_getPrototypeOf(Collection.prototype), \"setOrigRanges\", this).call(this, cr, offset);\n this.items.forEach(function (node) {\n offset = node.setOrigRanges(cr, offset);\n });\n return offset;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var src = this.context.src,\n items = this.items,\n range = this.range,\n value = this.value;\n if (value != null) return value;\n var str = src.slice(range.start, items[0].range.start) + String(items[0]);\n\n for (var i = 1; i < items.length; ++i) {\n var item = items[i];\n var _item$context = item.context,\n atLineStart = _item$context.atLineStart,\n indent = _item$context.indent;\n if (atLineStart) for (var _i = 0; _i < indent; ++_i) {\n str += ' ';\n }\n str += String(item);\n }\n\n return Node.addStringTerminator(src, range.end, str);\n }\n }], [{\n key: \"nextContentHasIndent\",\n value: function nextContentHasIndent(src, offset, indent) {\n var lineStart = Node.endOfLine(src, offset) + 1;\n offset = Node.endOfWhiteSpace(src, lineStart);\n var ch = src[offset];\n if (!ch) return false;\n if (offset >= lineStart + indent) return true;\n if (ch !== '#' && ch !== '\\n') return false;\n return Collection.nextContentHasIndent(src, offset, indent);\n }\n }]);\n\n return Collection;\n}(Node);\n\nvar Directive = /*#__PURE__*/function (_Node) {\n _inherits(Directive, _Node);\n\n var _super = _createSuper(Directive);\n\n function Directive() {\n var _this;\n\n _classCallCheck(this, Directive);\n\n _this = _super.call(this, Type.DIRECTIVE);\n _this.name = null;\n return _this;\n }\n\n _createClass(Directive, [{\n key: \"parameters\",\n get: function get() {\n var raw = this.rawValue;\n return raw ? raw.trim().split(/[ \\t]+/) : [];\n }\n }, {\n key: \"parseName\",\n value: function parseName(start) {\n var src = this.context.src;\n var offset = start;\n var ch = src[offset];\n\n while (ch && ch !== '\\n' && ch !== '\\t' && ch !== ' ') {\n ch = src[offset += 1];\n }\n\n this.name = src.slice(start, offset);\n return offset;\n }\n }, {\n key: \"parseParameters\",\n value: function parseParameters(start) {\n var src = this.context.src;\n var offset = start;\n var ch = src[offset];\n\n while (ch && ch !== '\\n' && ch !== '#') {\n ch = src[offset += 1];\n }\n\n this.valueRange = new Range(start, offset);\n return offset;\n }\n }, {\n key: \"parse\",\n value: function parse(context, start) {\n this.context = context;\n var offset = this.parseName(start + 1);\n offset = this.parseParameters(offset);\n offset = this.parseComment(offset);\n this.range = new Range(start, offset);\n return offset;\n }\n }]);\n\n return Directive;\n}(Node);\n\nvar Document = /*#__PURE__*/function (_Node) {\n _inherits(Document, _Node);\n\n var _super = _createSuper(Document);\n\n function Document() {\n var _this;\n\n _classCallCheck(this, Document);\n\n _this = _super.call(this, Type.DOCUMENT);\n _this.directives = null;\n _this.contents = null;\n _this.directivesEndMarker = null;\n _this.documentEndMarker = null;\n return _this;\n }\n\n _createClass(Document, [{\n key: \"parseDirectives\",\n value: function parseDirectives(start) {\n var src = this.context.src;\n this.directives = [];\n var atLineStart = true;\n var hasDirectives = false;\n var offset = start;\n\n while (!Node.atDocumentBoundary(src, offset, Char.DIRECTIVES_END)) {\n offset = Document.startCommentOrEndBlankLine(src, offset);\n\n switch (src[offset]) {\n case '\\n':\n if (atLineStart) {\n var blankLine = new BlankLine();\n offset = blankLine.parse({\n src: src\n }, offset);\n\n if (offset < src.length) {\n this.directives.push(blankLine);\n }\n } else {\n offset += 1;\n atLineStart = true;\n }\n\n break;\n\n case '#':\n {\n var comment = new Comment();\n offset = comment.parse({\n src: src\n }, offset);\n this.directives.push(comment);\n atLineStart = false;\n }\n break;\n\n case '%':\n {\n var directive = new Directive();\n offset = directive.parse({\n parent: this,\n src: src\n }, offset);\n this.directives.push(directive);\n hasDirectives = true;\n atLineStart = false;\n }\n break;\n\n default:\n if (hasDirectives) {\n this.error = new YAMLSemanticError(this, 'Missing directives-end indicator line');\n } else if (this.directives.length > 0) {\n this.contents = this.directives;\n this.directives = [];\n }\n\n return offset;\n }\n }\n\n if (src[offset]) {\n this.directivesEndMarker = new Range(offset, offset + 3);\n return offset + 3;\n }\n\n if (hasDirectives) {\n this.error = new YAMLSemanticError(this, 'Missing directives-end indicator line');\n } else if (this.directives.length > 0) {\n this.contents = this.directives;\n this.directives = [];\n }\n\n return offset;\n }\n }, {\n key: \"parseContents\",\n value: function parseContents(start) {\n var _this$context = this.context,\n parseNode = _this$context.parseNode,\n src = _this$context.src;\n if (!this.contents) this.contents = [];\n var lineStart = start;\n\n while (src[lineStart - 1] === '-') {\n lineStart -= 1;\n }\n\n var offset = Node.endOfWhiteSpace(src, start);\n var atLineStart = lineStart === start;\n this.valueRange = new Range(offset);\n\n while (!Node.atDocumentBoundary(src, offset, Char.DOCUMENT_END)) {\n switch (src[offset]) {\n case '\\n':\n if (atLineStart) {\n var blankLine = new BlankLine();\n offset = blankLine.parse({\n src: src\n }, offset);\n\n if (offset < src.length) {\n this.contents.push(blankLine);\n }\n } else {\n offset += 1;\n atLineStart = true;\n }\n\n lineStart = offset;\n break;\n\n case '#':\n {\n var comment = new Comment();\n offset = comment.parse({\n src: src\n }, offset);\n this.contents.push(comment);\n atLineStart = false;\n }\n break;\n\n default:\n {\n var iEnd = Node.endOfIndent(src, offset);\n var context = {\n atLineStart: atLineStart,\n indent: -1,\n inFlow: false,\n inCollection: false,\n lineStart: lineStart,\n parent: this\n };\n var node = parseNode(context, iEnd);\n if (!node) return this.valueRange.end = iEnd; // at next document start\n\n this.contents.push(node);\n offset = node.range.end;\n atLineStart = false;\n var ec = grabCollectionEndComments(node);\n if (ec) Array.prototype.push.apply(this.contents, ec);\n }\n }\n\n offset = Document.startCommentOrEndBlankLine(src, offset);\n }\n\n this.valueRange.end = offset;\n\n if (src[offset]) {\n this.documentEndMarker = new Range(offset, offset + 3);\n offset += 3;\n\n if (src[offset]) {\n offset = Node.endOfWhiteSpace(src, offset);\n\n if (src[offset] === '#') {\n var _comment = new Comment();\n\n offset = _comment.parse({\n src: src\n }, offset);\n this.contents.push(_comment);\n }\n\n switch (src[offset]) {\n case '\\n':\n offset += 1;\n break;\n\n case undefined:\n break;\n\n default:\n this.error = new YAMLSyntaxError(this, 'Document end marker line cannot have a non-comment suffix');\n }\n }\n }\n\n return offset;\n }\n /**\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this\n */\n\n }, {\n key: \"parse\",\n value: function parse(context, start) {\n context.root = this;\n this.context = context;\n var src = context.src;\n var offset = src.charCodeAt(start) === 0xfeff ? start + 1 : start; // skip BOM\n\n offset = this.parseDirectives(offset);\n offset = this.parseContents(offset);\n return offset;\n }\n }, {\n key: \"setOrigRanges\",\n value: function setOrigRanges(cr, offset) {\n offset = _get(_getPrototypeOf(Document.prototype), \"setOrigRanges\", this).call(this, cr, offset);\n this.directives.forEach(function (node) {\n offset = node.setOrigRanges(cr, offset);\n });\n if (this.directivesEndMarker) offset = this.directivesEndMarker.setOrigRange(cr, offset);\n this.contents.forEach(function (node) {\n offset = node.setOrigRanges(cr, offset);\n });\n if (this.documentEndMarker) offset = this.documentEndMarker.setOrigRange(cr, offset);\n return offset;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var contents = this.contents,\n directives = this.directives,\n value = this.value;\n if (value != null) return value;\n var str = directives.join('');\n\n if (contents.length > 0) {\n if (directives.length > 0 || contents[0].type === Type.COMMENT) str += '---\\n';\n str += contents.join('');\n }\n\n if (str[str.length - 1] !== '\\n') str += '\\n';\n return str;\n }\n }], [{\n key: \"startCommentOrEndBlankLine\",\n value: function startCommentOrEndBlankLine(src, start) {\n var offset = Node.endOfWhiteSpace(src, start);\n var ch = src[offset];\n return ch === '#' || ch === '\\n' ? offset : start;\n }\n }]);\n\n return Document;\n}(Node);\n\nvar Alias = /*#__PURE__*/function (_Node) {\n _inherits(Alias, _Node);\n\n var _super = _createSuper(Alias);\n\n function Alias() {\n _classCallCheck(this, Alias);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Alias, [{\n key: \"parse\",\n value:\n /**\n * Parses an *alias from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar\n */\n function parse(context, start) {\n this.context = context;\n var src = context.src;\n var offset = Node.endOfIdentifier(src, start + 1);\n this.valueRange = new Range(start + 1, offset);\n offset = Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n return offset;\n }\n }]);\n\n return Alias;\n}(Node);\n\nvar Chomp = {\n CLIP: 'CLIP',\n KEEP: 'KEEP',\n STRIP: 'STRIP'\n};\nvar BlockValue = /*#__PURE__*/function (_Node) {\n _inherits(BlockValue, _Node);\n\n var _super = _createSuper(BlockValue);\n\n function BlockValue(type, props) {\n var _this;\n\n _classCallCheck(this, BlockValue);\n\n _this = _super.call(this, type, props);\n _this.blockIndent = null;\n _this.chomping = Chomp.CLIP;\n _this.header = null;\n return _this;\n }\n\n _createClass(BlockValue, [{\n key: \"includesTrailingLines\",\n get: function get() {\n return this.chomping === Chomp.KEEP;\n }\n }, {\n key: \"strValue\",\n get: function get() {\n if (!this.valueRange || !this.context) return null;\n var _this$valueRange = this.valueRange,\n start = _this$valueRange.start,\n end = _this$valueRange.end;\n var _this$context = this.context,\n indent = _this$context.indent,\n src = _this$context.src;\n if (this.valueRange.isEmpty()) return '';\n var lastNewLine = null;\n var ch = src[end - 1];\n\n while (ch === '\\n' || ch === '\\t' || ch === ' ') {\n end -= 1;\n\n if (end <= start) {\n if (this.chomping === Chomp.KEEP) break;else return ''; // probably never happens\n }\n\n if (ch === '\\n') lastNewLine = end;\n ch = src[end - 1];\n }\n\n var keepStart = end + 1;\n\n if (lastNewLine) {\n if (this.chomping === Chomp.KEEP) {\n keepStart = lastNewLine;\n end = this.valueRange.end;\n } else {\n end = lastNewLine;\n }\n }\n\n var bi = indent + this.blockIndent;\n var folded = this.type === Type.BLOCK_FOLDED;\n var atStart = true;\n var str = '';\n var sep = '';\n var prevMoreIndented = false;\n\n for (var i = start; i < end; ++i) {\n for (var j = 0; j < bi; ++j) {\n if (src[i] !== ' ') break;\n i += 1;\n }\n\n var _ch = src[i];\n\n if (_ch === '\\n') {\n if (sep === '\\n') str += '\\n';else sep = '\\n';\n } else {\n var lineEnd = Node.endOfLine(src, i);\n var line = src.slice(i, lineEnd);\n i = lineEnd;\n\n if (folded && (_ch === ' ' || _ch === '\\t') && i < keepStart) {\n if (sep === ' ') sep = '\\n';else if (!prevMoreIndented && !atStart && sep === '\\n') sep = '\\n\\n';\n str += sep + line; //+ ((lineEnd < end && src[lineEnd]) || '')\n\n sep = lineEnd < end && src[lineEnd] || '';\n prevMoreIndented = true;\n } else {\n str += sep + line;\n sep = folded && i < keepStart ? ' ' : '\\n';\n prevMoreIndented = false;\n }\n\n if (atStart && line !== '') atStart = false;\n }\n }\n\n return this.chomping === Chomp.STRIP ? str : str + '\\n';\n }\n }, {\n key: \"parseBlockHeader\",\n value: function parseBlockHeader(start) {\n var src = this.context.src;\n var offset = start + 1;\n var bi = '';\n\n while (true) {\n var ch = src[offset];\n\n switch (ch) {\n case '-':\n this.chomping = Chomp.STRIP;\n break;\n\n case '+':\n this.chomping = Chomp.KEEP;\n break;\n\n case '0':\n case '1':\n case '2':\n case '3':\n case '4':\n case '5':\n case '6':\n case '7':\n case '8':\n case '9':\n bi += ch;\n break;\n\n default:\n this.blockIndent = Number(bi) || null;\n this.header = new Range(start, offset);\n return offset;\n }\n\n offset += 1;\n }\n }\n }, {\n key: \"parseBlockValue\",\n value: function parseBlockValue(start) {\n var _this$context2 = this.context,\n indent = _this$context2.indent,\n src = _this$context2.src;\n var explicit = !!this.blockIndent;\n var offset = start;\n var valueEnd = start;\n var minBlockIndent = 1;\n\n for (var ch = src[offset]; ch === '\\n'; ch = src[offset]) {\n offset += 1;\n if (Node.atDocumentBoundary(src, offset)) break;\n var end = Node.endOfBlockIndent(src, indent, offset); // should not include tab?\n\n if (end === null) break;\n var _ch2 = src[end];\n var lineIndent = end - (offset + indent);\n\n if (!this.blockIndent) {\n // no explicit block indent, none yet detected\n if (src[end] !== '\\n') {\n // first line with non-whitespace content\n if (lineIndent < minBlockIndent) {\n var msg = 'Block scalars with more-indented leading empty lines must use an explicit indentation indicator';\n this.error = new YAMLSemanticError(this, msg);\n }\n\n this.blockIndent = lineIndent;\n } else if (lineIndent > minBlockIndent) {\n // empty line with more whitespace\n minBlockIndent = lineIndent;\n }\n } else if (_ch2 && _ch2 !== '\\n' && lineIndent < this.blockIndent) {\n if (src[end] === '#') break;\n\n if (!this.error) {\n var _src = explicit ? 'explicit indentation indicator' : 'first line';\n\n var _msg = \"Block scalars must not be less indented than their \".concat(_src);\n\n this.error = new YAMLSemanticError(this, _msg);\n }\n }\n\n if (src[end] === '\\n') {\n offset = end;\n } else {\n offset = valueEnd = Node.endOfLine(src, end);\n }\n }\n\n if (this.chomping !== Chomp.KEEP) {\n offset = src[valueEnd] ? valueEnd + 1 : valueEnd;\n }\n\n this.valueRange = new Range(start + 1, offset);\n return offset;\n }\n /**\n * Parses a block value from the source\n *\n * Accepted forms are:\n * ```\n * BS\n * block\n * lines\n *\n * BS #comment\n * block\n * lines\n * ```\n * where the block style BS matches the regexp `[|>][-+1-9]*` and block lines\n * are empty or have an indent level greater than `indent`.\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this block\n */\n\n }, {\n key: \"parse\",\n value: function parse(context, start) {\n this.context = context;\n var src = context.src;\n var offset = this.parseBlockHeader(start);\n offset = Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n offset = this.parseBlockValue(offset);\n return offset;\n }\n }, {\n key: \"setOrigRanges\",\n value: function setOrigRanges(cr, offset) {\n offset = _get(_getPrototypeOf(BlockValue.prototype), \"setOrigRanges\", this).call(this, cr, offset);\n return this.header ? this.header.setOrigRange(cr, offset) : offset;\n }\n }]);\n\n return BlockValue;\n}(Node);\n\nvar FlowCollection = /*#__PURE__*/function (_Node) {\n _inherits(FlowCollection, _Node);\n\n var _super = _createSuper(FlowCollection);\n\n function FlowCollection(type, props) {\n var _this;\n\n _classCallCheck(this, FlowCollection);\n\n _this = _super.call(this, type, props);\n _this.items = null;\n return _this;\n }\n\n _createClass(FlowCollection, [{\n key: \"prevNodeIsJsonLike\",\n value: function prevNodeIsJsonLike() {\n var idx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.items.length;\n var node = this.items[idx - 1];\n return !!node && (node.jsonLike || node.type === Type.COMMENT && this.prevNodeIsJsonLike(idx - 1));\n }\n /**\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this\n */\n\n }, {\n key: \"parse\",\n value: function parse(context, start) {\n this.context = context;\n var parseNode = context.parseNode,\n src = context.src;\n var indent = context.indent,\n lineStart = context.lineStart;\n var char = src[start]; // { or [\n\n this.items = [{\n char: char,\n offset: start\n }];\n var offset = Node.endOfWhiteSpace(src, start + 1);\n char = src[offset];\n\n while (char && char !== ']' && char !== '}') {\n switch (char) {\n case '\\n':\n {\n lineStart = offset + 1;\n var wsEnd = Node.endOfWhiteSpace(src, lineStart);\n\n if (src[wsEnd] === '\\n') {\n var blankLine = new BlankLine();\n lineStart = blankLine.parse({\n src: src\n }, lineStart);\n this.items.push(blankLine);\n }\n\n offset = Node.endOfIndent(src, lineStart);\n\n if (offset <= lineStart + indent) {\n char = src[offset];\n\n if (offset < lineStart + indent || char !== ']' && char !== '}') {\n var msg = 'Insufficient indentation in flow collection';\n this.error = new YAMLSemanticError(this, msg);\n }\n }\n }\n break;\n\n case ',':\n {\n this.items.push({\n char: char,\n offset: offset\n });\n offset += 1;\n }\n break;\n\n case '#':\n {\n var comment = new Comment();\n offset = comment.parse({\n src: src\n }, offset);\n this.items.push(comment);\n }\n break;\n\n case '?':\n case ':':\n {\n var next = src[offset + 1];\n\n if (next === '\\n' || next === '\\t' || next === ' ' || next === ',' || // in-flow : after JSON-like key does not need to be followed by whitespace\n char === ':' && this.prevNodeIsJsonLike()) {\n this.items.push({\n char: char,\n offset: offset\n });\n offset += 1;\n break;\n }\n }\n // fallthrough\n\n default:\n {\n var node = parseNode({\n atLineStart: false,\n inCollection: false,\n inFlow: true,\n indent: -1,\n lineStart: lineStart,\n parent: this\n }, offset);\n\n if (!node) {\n // at next document start\n this.valueRange = new Range(start, offset);\n return offset;\n }\n\n this.items.push(node);\n offset = Node.normalizeOffset(src, node.range.end);\n }\n }\n\n offset = Node.endOfWhiteSpace(src, offset);\n char = src[offset];\n }\n\n this.valueRange = new Range(start, offset + 1);\n\n if (char) {\n this.items.push({\n char: char,\n offset: offset\n });\n offset = Node.endOfWhiteSpace(src, offset + 1);\n offset = this.parseComment(offset);\n }\n\n return offset;\n }\n }, {\n key: \"setOrigRanges\",\n value: function setOrigRanges(cr, offset) {\n offset = _get(_getPrototypeOf(FlowCollection.prototype), \"setOrigRanges\", this).call(this, cr, offset);\n this.items.forEach(function (node) {\n if (node instanceof Node) {\n offset = node.setOrigRanges(cr, offset);\n } else if (cr.length === 0) {\n node.origOffset = node.offset;\n } else {\n var i = offset;\n\n while (i < cr.length) {\n if (cr[i] > node.offset) break;else ++i;\n }\n\n node.origOffset = node.offset + i;\n offset = i;\n }\n });\n return offset;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var src = this.context.src,\n items = this.items,\n range = this.range,\n value = this.value;\n if (value != null) return value;\n var nodes = items.filter(function (item) {\n return item instanceof Node;\n });\n var str = '';\n var prevEnd = range.start;\n nodes.forEach(function (node) {\n var prefix = src.slice(prevEnd, node.range.start);\n prevEnd = node.range.end;\n str += prefix + String(node);\n\n if (str[str.length - 1] === '\\n' && src[prevEnd - 1] !== '\\n' && src[prevEnd] === '\\n') {\n // Comment range does not include the terminal newline, but its\n // stringified value does. Without this fix, newlines at comment ends\n // get duplicated.\n prevEnd += 1;\n }\n });\n str += src.slice(prevEnd, range.end);\n return Node.addStringTerminator(src, range.end, str);\n }\n }]);\n\n return FlowCollection;\n}(Node);\n\nvar QuoteDouble = /*#__PURE__*/function (_Node) {\n _inherits(QuoteDouble, _Node);\n\n var _super = _createSuper(QuoteDouble);\n\n function QuoteDouble() {\n _classCallCheck(this, QuoteDouble);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(QuoteDouble, [{\n key: \"strValue\",\n get:\n /**\n * @returns {string | { str: string, errors: YAMLSyntaxError[] }}\n */\n function get() {\n if (!this.valueRange || !this.context) return null;\n var errors = [];\n var _this$valueRange = this.valueRange,\n start = _this$valueRange.start,\n end = _this$valueRange.end;\n var _this$context = this.context,\n indent = _this$context.indent,\n src = _this$context.src;\n if (src[end - 1] !== '\"') errors.push(new YAMLSyntaxError(this, 'Missing closing \"quote')); // Using String#replace is too painful with escaped newlines preceded by\n // escaped backslashes; also, this should be faster.\n\n var str = '';\n\n for (var i = start + 1; i < end - 1; ++i) {\n var ch = src[i];\n\n if (ch === '\\n') {\n if (Node.atDocumentBoundary(src, i + 1)) errors.push(new YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));\n\n var _Node$foldNewline = Node.foldNewline(src, i, indent),\n fold = _Node$foldNewline.fold,\n offset = _Node$foldNewline.offset,\n error = _Node$foldNewline.error;\n\n str += fold;\n i = offset;\n if (error) errors.push(new YAMLSemanticError(this, 'Multi-line double-quoted string needs to be sufficiently indented'));\n } else if (ch === '\\\\') {\n i += 1;\n\n switch (src[i]) {\n case '0':\n str += '\\0';\n break;\n // null character\n\n case 'a':\n str += '\\x07';\n break;\n // bell character\n\n case 'b':\n str += '\\b';\n break;\n // backspace\n\n case 'e':\n str += '\\x1b';\n break;\n // escape character\n\n case 'f':\n str += '\\f';\n break;\n // form feed\n\n case 'n':\n str += '\\n';\n break;\n // line feed\n\n case 'r':\n str += '\\r';\n break;\n // carriage return\n\n case 't':\n str += '\\t';\n break;\n // horizontal tab\n\n case 'v':\n str += '\\v';\n break;\n // vertical tab\n\n case 'N':\n str += \"\\x85\";\n break;\n // Unicode next line\n\n case '_':\n str += \"\\xA0\";\n break;\n // Unicode non-breaking space\n\n case 'L':\n str += \"\\u2028\";\n break;\n // Unicode line separator\n\n case 'P':\n str += \"\\u2029\";\n break;\n // Unicode paragraph separator\n\n case ' ':\n str += ' ';\n break;\n\n case '\"':\n str += '\"';\n break;\n\n case '/':\n str += '/';\n break;\n\n case '\\\\':\n str += '\\\\';\n break;\n\n case '\\t':\n str += '\\t';\n break;\n\n case 'x':\n str += this.parseCharCode(i + 1, 2, errors);\n i += 2;\n break;\n\n case 'u':\n str += this.parseCharCode(i + 1, 4, errors);\n i += 4;\n break;\n\n case 'U':\n str += this.parseCharCode(i + 1, 8, errors);\n i += 8;\n break;\n\n case '\\n':\n // skip escaped newlines, but still trim the following line\n while (src[i + 1] === ' ' || src[i + 1] === '\\t') {\n i += 1;\n }\n\n break;\n\n default:\n errors.push(new YAMLSyntaxError(this, \"Invalid escape sequence \".concat(src.substr(i - 1, 2))));\n str += '\\\\' + src[i];\n }\n } else if (ch === ' ' || ch === '\\t') {\n // trim trailing whitespace\n var wsStart = i;\n var next = src[i + 1];\n\n while (next === ' ' || next === '\\t') {\n i += 1;\n next = src[i + 1];\n }\n\n if (next !== '\\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch;\n } else {\n str += ch;\n }\n }\n\n return errors.length > 0 ? {\n errors: errors,\n str: str\n } : str;\n }\n }, {\n key: \"parseCharCode\",\n value: function parseCharCode(offset, length, errors) {\n var src = this.context.src;\n var cc = src.substr(offset, length);\n var ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc);\n var code = ok ? parseInt(cc, 16) : NaN;\n\n if (isNaN(code)) {\n errors.push(new YAMLSyntaxError(this, \"Invalid escape sequence \".concat(src.substr(offset - 2, length + 2))));\n return src.substr(offset - 2, length + 2);\n }\n\n return String.fromCodePoint(code);\n }\n /**\n * Parses a \"double quoted\" value from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar\n */\n\n }, {\n key: \"parse\",\n value: function parse(context, start) {\n this.context = context;\n var src = context.src;\n var offset = QuoteDouble.endOfQuote(src, start + 1);\n this.valueRange = new Range(start, offset);\n offset = Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n return offset;\n }\n }], [{\n key: \"endOfQuote\",\n value: function endOfQuote(src, offset) {\n var ch = src[offset];\n\n while (ch && ch !== '\"') {\n offset += ch === '\\\\' ? 2 : 1;\n ch = src[offset];\n }\n\n return offset + 1;\n }\n }]);\n\n return QuoteDouble;\n}(Node);\n\nvar QuoteSingle = /*#__PURE__*/function (_Node) {\n _inherits(QuoteSingle, _Node);\n\n var _super = _createSuper(QuoteSingle);\n\n function QuoteSingle() {\n _classCallCheck(this, QuoteSingle);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(QuoteSingle, [{\n key: \"strValue\",\n get:\n /**\n * @returns {string | { str: string, errors: YAMLSyntaxError[] }}\n */\n function get() {\n if (!this.valueRange || !this.context) return null;\n var errors = [];\n var _this$valueRange = this.valueRange,\n start = _this$valueRange.start,\n end = _this$valueRange.end;\n var _this$context = this.context,\n indent = _this$context.indent,\n src = _this$context.src;\n if (src[end - 1] !== \"'\") errors.push(new YAMLSyntaxError(this, \"Missing closing 'quote\"));\n var str = '';\n\n for (var i = start + 1; i < end - 1; ++i) {\n var ch = src[i];\n\n if (ch === '\\n') {\n if (Node.atDocumentBoundary(src, i + 1)) errors.push(new YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));\n\n var _Node$foldNewline = Node.foldNewline(src, i, indent),\n fold = _Node$foldNewline.fold,\n offset = _Node$foldNewline.offset,\n error = _Node$foldNewline.error;\n\n str += fold;\n i = offset;\n if (error) errors.push(new YAMLSemanticError(this, 'Multi-line single-quoted string needs to be sufficiently indented'));\n } else if (ch === \"'\") {\n str += ch;\n i += 1;\n if (src[i] !== \"'\") errors.push(new YAMLSyntaxError(this, 'Unescaped single quote? This should not happen.'));\n } else if (ch === ' ' || ch === '\\t') {\n // trim trailing whitespace\n var wsStart = i;\n var next = src[i + 1];\n\n while (next === ' ' || next === '\\t') {\n i += 1;\n next = src[i + 1];\n }\n\n if (next !== '\\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch;\n } else {\n str += ch;\n }\n }\n\n return errors.length > 0 ? {\n errors: errors,\n str: str\n } : str;\n }\n /**\n * Parses a 'single quoted' value from the source\n *\n * @param {ParseContext} context\n * @param {number} start - Index of first character\n * @returns {number} - Index of the character after this scalar\n */\n\n }, {\n key: \"parse\",\n value: function parse(context, start) {\n this.context = context;\n var src = context.src;\n var offset = QuoteSingle.endOfQuote(src, start + 1);\n this.valueRange = new Range(start, offset);\n offset = Node.endOfWhiteSpace(src, offset);\n offset = this.parseComment(offset);\n return offset;\n }\n }], [{\n key: \"endOfQuote\",\n value: function endOfQuote(src, offset) {\n var ch = src[offset];\n\n while (ch) {\n if (ch === \"'\") {\n if (src[offset + 1] !== \"'\") break;\n ch = src[offset += 2];\n } else {\n ch = src[offset += 1];\n }\n }\n\n return offset + 1;\n }\n }]);\n\n return QuoteSingle;\n}(Node);\n\nfunction createNewNode(type, props) {\n switch (type) {\n case Type.ALIAS:\n return new Alias(type, props);\n\n case Type.BLOCK_FOLDED:\n case Type.BLOCK_LITERAL:\n return new BlockValue(type, props);\n\n case Type.FLOW_MAP:\n case Type.FLOW_SEQ:\n return new FlowCollection(type, props);\n\n case Type.MAP_KEY:\n case Type.MAP_VALUE:\n case Type.SEQ_ITEM:\n return new CollectionItem(type, props);\n\n case Type.COMMENT:\n case Type.PLAIN:\n return new PlainValue(type, props);\n\n case Type.QUOTE_DOUBLE:\n return new QuoteDouble(type, props);\n\n case Type.QUOTE_SINGLE:\n return new QuoteSingle(type, props);\n\n /* istanbul ignore next */\n\n default:\n return null;\n // should never happen\n }\n}\n/**\n * @param {boolean} atLineStart - Node starts at beginning of line\n * @param {boolean} inFlow - true if currently in a flow context\n * @param {boolean} inCollection - true if currently in a collection context\n * @param {number} indent - Current level of indentation\n * @param {number} lineStart - Start of the current line\n * @param {Node} parent - The parent of the node\n * @param {string} src - Source of the YAML document\n */\n\n\nvar ParseContext = /*#__PURE__*/function () {\n function ParseContext() {\n var _this = this;\n\n var orig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n atLineStart = _ref.atLineStart,\n inCollection = _ref.inCollection,\n inFlow = _ref.inFlow,\n indent = _ref.indent,\n lineStart = _ref.lineStart,\n parent = _ref.parent;\n\n _classCallCheck(this, ParseContext);\n\n _defineProperty(this, \"parseNode\", function (overlay, start) {\n if (Node.atDocumentBoundary(_this.src, start)) return null;\n var context = new ParseContext(_this, overlay);\n\n var _context$parseProps = context.parseProps(start),\n props = _context$parseProps.props,\n type = _context$parseProps.type,\n valueStart = _context$parseProps.valueStart;\n\n var node = createNewNode(type, props);\n var offset = node.parse(context, valueStart);\n node.range = new Range(start, offset);\n /* istanbul ignore if */\n\n if (offset <= start) {\n // This should never happen, but if it does, let's make sure to at least\n // step one character forward to avoid a busy loop.\n node.error = new Error(\"Node#parse consumed no characters\");\n node.error.parseEnd = offset;\n node.error.source = node;\n node.range.end = start + 1;\n }\n\n if (context.nodeStartsCollection(node)) {\n if (!node.error && !context.atLineStart && context.parent.type === Type.DOCUMENT) {\n node.error = new YAMLSyntaxError(node, 'Block collection must not have preceding content here (e.g. directives-end indicator)');\n }\n\n var collection = new Collection(node);\n offset = collection.parse(new ParseContext(context), offset);\n collection.range = new Range(start, offset);\n return collection;\n }\n\n return node;\n });\n\n this.atLineStart = atLineStart != null ? atLineStart : orig.atLineStart || false;\n this.inCollection = inCollection != null ? inCollection : orig.inCollection || false;\n this.inFlow = inFlow != null ? inFlow : orig.inFlow || false;\n this.indent = indent != null ? indent : orig.indent;\n this.lineStart = lineStart != null ? lineStart : orig.lineStart;\n this.parent = parent != null ? parent : orig.parent || {};\n this.root = orig.root;\n this.src = orig.src;\n }\n\n _createClass(ParseContext, [{\n key: \"nodeStartsCollection\",\n value: function nodeStartsCollection(node) {\n var inCollection = this.inCollection,\n inFlow = this.inFlow,\n src = this.src;\n if (inCollection || inFlow) return false;\n if (node instanceof CollectionItem) return true; // check for implicit key\n\n var offset = node.range.end;\n if (src[offset] === '\\n' || src[offset - 1] === '\\n') return false;\n offset = Node.endOfWhiteSpace(src, offset);\n return src[offset] === ':';\n } // Anchor and tag are before type, which determines the node implementation\n // class; hence this intermediate step.\n\n }, {\n key: \"parseProps\",\n value: function parseProps(offset) {\n var inFlow = this.inFlow,\n parent = this.parent,\n src = this.src;\n var props = [];\n var lineHasProps = false;\n offset = this.atLineStart ? Node.endOfIndent(src, offset) : Node.endOfWhiteSpace(src, offset);\n var ch = src[offset];\n\n while (ch === Char.ANCHOR || ch === Char.COMMENT || ch === Char.TAG || ch === '\\n') {\n if (ch === '\\n') {\n var inEnd = offset;\n var lineStart = void 0;\n\n do {\n lineStart = inEnd + 1;\n inEnd = Node.endOfIndent(src, lineStart);\n } while (src[inEnd] === '\\n');\n\n var indentDiff = inEnd - (lineStart + this.indent);\n var noIndicatorAsIndent = parent.type === Type.SEQ_ITEM && parent.context.atLineStart;\n if (src[inEnd] !== '#' && !Node.nextNodeIsIndented(src[inEnd], indentDiff, !noIndicatorAsIndent)) break;\n this.atLineStart = true;\n this.lineStart = lineStart;\n lineHasProps = false;\n offset = inEnd;\n } else if (ch === Char.COMMENT) {\n var end = Node.endOfLine(src, offset + 1);\n props.push(new Range(offset, end));\n offset = end;\n } else {\n var _end = Node.endOfIdentifier(src, offset + 1);\n\n if (ch === Char.TAG && src[_end] === ',' && /^[a-zA-Z0-9-]+\\.[a-zA-Z0-9-]+,\\d\\d\\d\\d(-\\d\\d){0,2}\\/\\S/.test(src.slice(offset + 1, _end + 13))) {\n // Let's presume we're dealing with a YAML 1.0 domain tag here, rather\n // than an empty but 'foo.bar' private-tagged node in a flow collection\n // followed without whitespace by a plain string starting with a year\n // or date divided by something.\n _end = Node.endOfIdentifier(src, _end + 5);\n }\n\n props.push(new Range(offset, _end));\n lineHasProps = true;\n offset = Node.endOfWhiteSpace(src, _end);\n }\n\n ch = src[offset];\n } // '- &a : b' has an anchor on an empty node\n\n\n if (lineHasProps && ch === ':' && Node.atBlank(src, offset + 1, true)) offset -= 1;\n var type = ParseContext.parseType(src, offset, inFlow);\n return {\n props: props,\n type: type,\n valueStart: offset\n };\n }\n /**\n * Parses a node from the source\n * @param {ParseContext} overlay\n * @param {number} start - Index of first non-whitespace character for the node\n * @returns {?Node} - null if at a document boundary\n */\n\n }], [{\n key: \"parseType\",\n value: function parseType(src, offset, inFlow) {\n switch (src[offset]) {\n case '*':\n return Type.ALIAS;\n\n case '>':\n return Type.BLOCK_FOLDED;\n\n case '|':\n return Type.BLOCK_LITERAL;\n\n case '{':\n return Type.FLOW_MAP;\n\n case '[':\n return Type.FLOW_SEQ;\n\n case '?':\n return !inFlow && Node.atBlank(src, offset + 1, true) ? Type.MAP_KEY : Type.PLAIN;\n\n case ':':\n return !inFlow && Node.atBlank(src, offset + 1, true) ? Type.MAP_VALUE : Type.PLAIN;\n\n case '-':\n return !inFlow && Node.atBlank(src, offset + 1, true) ? Type.SEQ_ITEM : Type.PLAIN;\n\n case '\"':\n return Type.QUOTE_DOUBLE;\n\n case \"'\":\n return Type.QUOTE_SINGLE;\n\n default:\n return Type.PLAIN;\n }\n }\n }]);\n\n return ParseContext;\n}();\n\n// Published as 'yaml/parse-cst'\nfunction parse(src) {\n var cr = [];\n\n if (src.indexOf('\\r') !== -1) {\n src = src.replace(/\\r\\n?/g, function (match, offset) {\n if (match.length > 1) cr.push(offset);\n return '\\n';\n });\n }\n\n var documents = [];\n var offset = 0;\n\n do {\n var doc = new Document();\n var context = new ParseContext({\n src: src\n });\n offset = doc.parse(context, offset);\n documents.push(doc);\n } while (offset < src.length);\n\n documents.setOrigRanges = function () {\n if (cr.length === 0) return false;\n\n for (var i = 1; i < cr.length; ++i) {\n cr[i] -= i;\n }\n\n var crOffset = 0;\n\n for (var _i = 0; _i < documents.length; ++_i) {\n crOffset = documents[_i].setOrigRanges(cr, crOffset);\n }\n\n cr.splice(0, cr.length);\n return true;\n };\n\n documents.toString = function () {\n return documents.join('...\\n');\n };\n\n return documents;\n}\n\nexport { parse };\n", "import { c as _classCallCheck, j as _inherits, k as _createSuper, b as _createClass, e as _defineProperty, p as _assertThisInitialized, a as _typeof, q as _toArray, T as Type, _ as _createForOfIteratorHelper, l as _get, m as _getPrototypeOf, o as YAMLReferenceError, r as _possibleConstructorReturn, h as _slicedToArray, g as YAMLSemanticError, n as defaultTags, f as YAMLWarning, C as Char, Y as YAMLSyntaxError, P as PlainValue } from './PlainValue-b8036b75.js';\n\nfunction addCommentBefore(str, indent, comment) {\n if (!comment) return str;\n var cc = comment.replace(/[\\s\\S]^/gm, \"$&\".concat(indent, \"#\"));\n return \"#\".concat(cc, \"\\n\").concat(indent).concat(str);\n}\nfunction addComment(str, indent, comment) {\n return !comment ? str : comment.indexOf('\\n') === -1 ? \"\".concat(str, \" #\").concat(comment) : \"\".concat(str, \"\\n\") + comment.replace(/^/gm, \"\".concat(indent || '', \"#\"));\n}\n\nvar Node = function Node() {\n _classCallCheck(this, Node);\n};\n\nfunction toJSON(value, arg, ctx) {\n if (Array.isArray(value)) return value.map(function (v, i) {\n return toJSON(v, String(i), ctx);\n });\n\n if (value && typeof value.toJSON === 'function') {\n var anchor = ctx && ctx.anchors && ctx.anchors.get(value);\n if (anchor) ctx.onCreate = function (res) {\n anchor.res = res;\n delete ctx.onCreate;\n };\n var res = value.toJSON(arg, ctx);\n if (anchor && ctx.onCreate) ctx.onCreate(res);\n return res;\n }\n\n if ((!ctx || !ctx.keep) && typeof value === 'bigint') return Number(value);\n return value;\n}\n\nvar Scalar = /*#__PURE__*/function (_Node) {\n _inherits(Scalar, _Node);\n\n var _super = _createSuper(Scalar);\n\n function Scalar(value) {\n var _this;\n\n _classCallCheck(this, Scalar);\n\n _this = _super.call(this);\n _this.value = value;\n return _this;\n }\n\n _createClass(Scalar, [{\n key: \"toJSON\",\n value: function toJSON$1(arg, ctx) {\n return ctx && ctx.keep ? this.value : toJSON(this.value, arg, ctx);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return String(this.value);\n }\n }]);\n\n return Scalar;\n}(Node);\n\nfunction collectionFromPath(schema, path, value) {\n var v = value;\n\n for (var i = path.length - 1; i >= 0; --i) {\n var k = path[i];\n\n if (Number.isInteger(k) && k >= 0) {\n var a = [];\n a[k] = v;\n v = a;\n } else {\n var o = {};\n Object.defineProperty(o, k, {\n value: v,\n writable: true,\n enumerable: true,\n configurable: true\n });\n v = o;\n }\n }\n\n return schema.createNode(v, false);\n} // null, undefined, or an empty non-string iterable (e.g. [])\n\n\nvar isEmptyPath = function isEmptyPath(path) {\n return path == null || _typeof(path) === 'object' && path[Symbol.iterator]().next().done;\n};\nvar Collection = /*#__PURE__*/function (_Node) {\n _inherits(Collection, _Node);\n\n var _super = _createSuper(Collection);\n\n function Collection(schema) {\n var _this;\n\n _classCallCheck(this, Collection);\n\n _this = _super.call(this);\n\n _defineProperty(_assertThisInitialized(_this), \"items\", []);\n\n _this.schema = schema;\n return _this;\n }\n\n _createClass(Collection, [{\n key: \"addIn\",\n value: function addIn(path, value) {\n if (isEmptyPath(path)) this.add(value);else {\n var _path = _toArray(path),\n key = _path[0],\n rest = _path.slice(1);\n\n var node = this.get(key, true);\n if (node instanceof Collection) node.addIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error(\"Expected YAML collection at \".concat(key, \". Remaining path: \").concat(rest));\n }\n }\n }, {\n key: \"deleteIn\",\n value: function deleteIn(_ref) {\n var _ref2 = _toArray(_ref),\n key = _ref2[0],\n rest = _ref2.slice(1);\n\n if (rest.length === 0) return this.delete(key);\n var node = this.get(key, true);\n if (node instanceof Collection) return node.deleteIn(rest);else throw new Error(\"Expected YAML collection at \".concat(key, \". Remaining path: \").concat(rest));\n }\n }, {\n key: \"getIn\",\n value: function getIn(_ref3, keepScalar) {\n var _ref4 = _toArray(_ref3),\n key = _ref4[0],\n rest = _ref4.slice(1);\n\n var node = this.get(key, true);\n if (rest.length === 0) return !keepScalar && node instanceof Scalar ? node.value : node;else return node instanceof Collection ? node.getIn(rest, keepScalar) : undefined;\n }\n }, {\n key: \"hasAllNullValues\",\n value: function hasAllNullValues() {\n return this.items.every(function (node) {\n if (!node || node.type !== 'PAIR') return false;\n var n = node.value;\n return n == null || n instanceof Scalar && n.value == null && !n.commentBefore && !n.comment && !n.tag;\n });\n }\n }, {\n key: \"hasIn\",\n value: function hasIn(_ref5) {\n var _ref6 = _toArray(_ref5),\n key = _ref6[0],\n rest = _ref6.slice(1);\n\n if (rest.length === 0) return this.has(key);\n var node = this.get(key, true);\n return node instanceof Collection ? node.hasIn(rest) : false;\n }\n }, {\n key: \"setIn\",\n value: function setIn(_ref7, value) {\n var _ref8 = _toArray(_ref7),\n key = _ref8[0],\n rest = _ref8.slice(1);\n\n if (rest.length === 0) {\n this.set(key, value);\n } else {\n var node = this.get(key, true);\n if (node instanceof Collection) node.setIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error(\"Expected YAML collection at \".concat(key, \". Remaining path: \").concat(rest));\n }\n } // overridden in implementations\n\n /* istanbul ignore next */\n\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return null;\n }\n }, {\n key: \"toString\",\n value: function toString(ctx, _ref9, onComment, onChompKeep) {\n var _this2 = this;\n\n var blockItem = _ref9.blockItem,\n flowChars = _ref9.flowChars,\n isMap = _ref9.isMap,\n itemIndent = _ref9.itemIndent;\n var _ctx = ctx,\n indent = _ctx.indent,\n indentStep = _ctx.indentStep,\n stringify = _ctx.stringify;\n var inFlow = this.type === Type.FLOW_MAP || this.type === Type.FLOW_SEQ || ctx.inFlow;\n if (inFlow) itemIndent += indentStep;\n var allNullValues = isMap && this.hasAllNullValues();\n ctx = Object.assign({}, ctx, {\n allNullValues: allNullValues,\n indent: itemIndent,\n inFlow: inFlow,\n type: null\n });\n var chompKeep = false;\n var hasItemWithNewLine = false;\n var nodes = this.items.reduce(function (nodes, item, i) {\n var comment;\n\n if (item) {\n if (!chompKeep && item.spaceBefore) nodes.push({\n type: 'comment',\n str: ''\n });\n if (item.commentBefore) item.commentBefore.match(/^.*$/gm).forEach(function (line) {\n nodes.push({\n type: 'comment',\n str: \"#\".concat(line)\n });\n });\n if (item.comment) comment = item.comment;\n if (inFlow && (!chompKeep && item.spaceBefore || item.commentBefore || item.comment || item.key && (item.key.commentBefore || item.key.comment) || item.value && (item.value.commentBefore || item.value.comment))) hasItemWithNewLine = true;\n }\n\n chompKeep = false;\n var str = stringify(item, ctx, function () {\n return comment = null;\n }, function () {\n return chompKeep = true;\n });\n if (inFlow && !hasItemWithNewLine && str.includes('\\n')) hasItemWithNewLine = true;\n if (inFlow && i < _this2.items.length - 1) str += ',';\n str = addComment(str, itemIndent, comment);\n if (chompKeep && (comment || inFlow)) chompKeep = false;\n nodes.push({\n type: 'item',\n str: str\n });\n return nodes;\n }, []);\n var str;\n\n if (nodes.length === 0) {\n str = flowChars.start + flowChars.end;\n } else if (inFlow) {\n var start = flowChars.start,\n end = flowChars.end;\n var strings = nodes.map(function (n) {\n return n.str;\n });\n\n if (hasItemWithNewLine || strings.reduce(function (sum, str) {\n return sum + str.length + 2;\n }, 2) > Collection.maxFlowStringSingleLineLength) {\n str = start;\n\n var _iterator = _createForOfIteratorHelper(strings),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var s = _step.value;\n str += s ? \"\\n\".concat(indentStep).concat(indent).concat(s) : '\\n';\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n str += \"\\n\".concat(indent).concat(end);\n } else {\n str = \"\".concat(start, \" \").concat(strings.join(' '), \" \").concat(end);\n }\n } else {\n var _strings = nodes.map(blockItem);\n\n str = _strings.shift();\n\n var _iterator2 = _createForOfIteratorHelper(_strings),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _s = _step2.value;\n str += _s ? \"\\n\".concat(indent).concat(_s) : '\\n';\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n if (this.comment) {\n str += '\\n' + this.comment.replace(/^/gm, \"\".concat(indent, \"#\"));\n if (onComment) onComment();\n } else if (chompKeep && onChompKeep) onChompKeep();\n\n return str;\n }\n }]);\n\n return Collection;\n}(Node);\n\n_defineProperty(Collection, \"maxFlowStringSingleLineLength\", 60);\n\nfunction asItemIndex(key) {\n var idx = key instanceof Scalar ? key.value : key;\n if (idx && typeof idx === 'string') idx = Number(idx);\n return Number.isInteger(idx) && idx >= 0 ? idx : null;\n}\n\nvar YAMLSeq = /*#__PURE__*/function (_Collection) {\n _inherits(YAMLSeq, _Collection);\n\n var _super = _createSuper(YAMLSeq);\n\n function YAMLSeq() {\n _classCallCheck(this, YAMLSeq);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(YAMLSeq, [{\n key: \"add\",\n value: function add(value) {\n this.items.push(value);\n }\n }, {\n key: \"delete\",\n value: function _delete(key) {\n var idx = asItemIndex(key);\n if (typeof idx !== 'number') return false;\n var del = this.items.splice(idx, 1);\n return del.length > 0;\n }\n }, {\n key: \"get\",\n value: function get(key, keepScalar) {\n var idx = asItemIndex(key);\n if (typeof idx !== 'number') return undefined;\n var it = this.items[idx];\n return !keepScalar && it instanceof Scalar ? it.value : it;\n }\n }, {\n key: \"has\",\n value: function has(key) {\n var idx = asItemIndex(key);\n return typeof idx === 'number' && idx < this.items.length;\n }\n }, {\n key: \"set\",\n value: function set(key, value) {\n var idx = asItemIndex(key);\n if (typeof idx !== 'number') throw new Error(\"Expected a valid index, not \".concat(key, \".\"));\n this.items[idx] = value;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON$1(_, ctx) {\n var seq = [];\n if (ctx && ctx.onCreate) ctx.onCreate(seq);\n var i = 0;\n\n var _iterator = _createForOfIteratorHelper(this.items),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var item = _step.value;\n seq.push(toJSON(item, String(i++), ctx));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return seq;\n }\n }, {\n key: \"toString\",\n value: function toString(ctx, onComment, onChompKeep) {\n if (!ctx) return JSON.stringify(this);\n return _get(_getPrototypeOf(YAMLSeq.prototype), \"toString\", this).call(this, ctx, {\n blockItem: function blockItem(n) {\n return n.type === 'comment' ? n.str : \"- \".concat(n.str);\n },\n flowChars: {\n start: '[',\n end: ']'\n },\n isMap: false,\n itemIndent: (ctx.indent || '') + ' '\n }, onComment, onChompKeep);\n }\n }]);\n\n return YAMLSeq;\n}(Collection);\n\nvar stringifyKey = function stringifyKey(key, jsKey, ctx) {\n if (jsKey === null) return '';\n if (_typeof(jsKey) !== 'object') return String(jsKey);\n if (key instanceof Node && ctx && ctx.doc) return key.toString({\n anchors: Object.create(null),\n doc: ctx.doc,\n indent: '',\n indentStep: ctx.indentStep,\n inFlow: true,\n inStringifyKey: true,\n stringify: ctx.stringify\n });\n return JSON.stringify(jsKey);\n};\n\nvar Pair = /*#__PURE__*/function (_Node) {\n _inherits(Pair, _Node);\n\n var _super = _createSuper(Pair);\n\n function Pair(key) {\n var _this;\n\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n _classCallCheck(this, Pair);\n\n _this = _super.call(this);\n _this.key = key;\n _this.value = value;\n _this.type = Pair.Type.PAIR;\n return _this;\n }\n\n _createClass(Pair, [{\n key: \"commentBefore\",\n get: function get() {\n return this.key instanceof Node ? this.key.commentBefore : undefined;\n },\n set: function set(cb) {\n if (this.key == null) this.key = new Scalar(null);\n if (this.key instanceof Node) this.key.commentBefore = cb;else {\n var msg = 'Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.';\n throw new Error(msg);\n }\n }\n }, {\n key: \"addToJSMap\",\n value: function addToJSMap(ctx, map) {\n var key = toJSON(this.key, '', ctx);\n\n if (map instanceof Map) {\n var value = toJSON(this.value, key, ctx);\n map.set(key, value);\n } else if (map instanceof Set) {\n map.add(key);\n } else {\n var stringKey = stringifyKey(this.key, key, ctx);\n\n var _value = toJSON(this.value, stringKey, ctx);\n\n if (stringKey in map) Object.defineProperty(map, stringKey, {\n value: _value,\n writable: true,\n enumerable: true,\n configurable: true\n });else map[stringKey] = _value;\n }\n\n return map;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON(_, ctx) {\n var pair = ctx && ctx.mapAsMap ? new Map() : {};\n return this.addToJSMap(ctx, pair);\n }\n }, {\n key: \"toString\",\n value: function toString(ctx, onComment, onChompKeep) {\n if (!ctx || !ctx.doc) return JSON.stringify(this);\n var _ctx$doc$options = ctx.doc.options,\n indentSize = _ctx$doc$options.indent,\n indentSeq = _ctx$doc$options.indentSeq,\n simpleKeys = _ctx$doc$options.simpleKeys;\n var key = this.key,\n value = this.value;\n var keyComment = key instanceof Node && key.comment;\n\n if (simpleKeys) {\n if (keyComment) {\n throw new Error('With simple keys, key nodes cannot have comments');\n }\n\n if (key instanceof Collection) {\n var msg = 'With simple keys, collection cannot be used as a key value';\n throw new Error(msg);\n }\n }\n\n var explicitKey = !simpleKeys && (!key || keyComment || (key instanceof Node ? key instanceof Collection || key.type === Type.BLOCK_FOLDED || key.type === Type.BLOCK_LITERAL : _typeof(key) === 'object'));\n var _ctx = ctx,\n doc = _ctx.doc,\n indent = _ctx.indent,\n indentStep = _ctx.indentStep,\n stringify = _ctx.stringify;\n ctx = Object.assign({}, ctx, {\n implicitKey: !explicitKey,\n indent: indent + indentStep\n });\n var chompKeep = false;\n var str = stringify(key, ctx, function () {\n return keyComment = null;\n }, function () {\n return chompKeep = true;\n });\n str = addComment(str, ctx.indent, keyComment);\n\n if (!explicitKey && str.length > 1024) {\n if (simpleKeys) throw new Error('With simple keys, single line scalar must not span more than 1024 characters');\n explicitKey = true;\n }\n\n if (ctx.allNullValues && !simpleKeys) {\n if (this.comment) {\n str = addComment(str, ctx.indent, this.comment);\n if (onComment) onComment();\n } else if (chompKeep && !keyComment && onChompKeep) onChompKeep();\n\n return ctx.inFlow && !explicitKey ? str : \"? \".concat(str);\n }\n\n str = explicitKey ? \"? \".concat(str, \"\\n\").concat(indent, \":\") : \"\".concat(str, \":\");\n\n if (this.comment) {\n // expected (but not strictly required) to be a single-line comment\n str = addComment(str, ctx.indent, this.comment);\n if (onComment) onComment();\n }\n\n var vcb = '';\n var valueComment = null;\n\n if (value instanceof Node) {\n if (value.spaceBefore) vcb = '\\n';\n\n if (value.commentBefore) {\n var cs = value.commentBefore.replace(/^/gm, \"\".concat(ctx.indent, \"#\"));\n vcb += \"\\n\".concat(cs);\n }\n\n valueComment = value.comment;\n } else if (value && _typeof(value) === 'object') {\n value = doc.schema.createNode(value, true);\n }\n\n ctx.implicitKey = false;\n if (!explicitKey && !this.comment && value instanceof Scalar) ctx.indentAtStart = str.length + 1;\n chompKeep = false;\n\n if (!indentSeq && indentSize >= 2 && !ctx.inFlow && !explicitKey && value instanceof YAMLSeq && value.type !== Type.FLOW_SEQ && !value.tag && !doc.anchors.getName(value)) {\n // If indentSeq === false, consider '- ' as part of indentation where possible\n ctx.indent = ctx.indent.substr(2);\n }\n\n var valueStr = stringify(value, ctx, function () {\n return valueComment = null;\n }, function () {\n return chompKeep = true;\n });\n var ws = ' ';\n\n if (vcb || this.comment) {\n ws = \"\".concat(vcb, \"\\n\").concat(ctx.indent);\n } else if (!explicitKey && value instanceof Collection) {\n var flow = valueStr[0] === '[' || valueStr[0] === '{';\n if (!flow || valueStr.includes('\\n')) ws = \"\\n\".concat(ctx.indent);\n } else if (valueStr[0] === '\\n') ws = '';\n\n if (chompKeep && !valueComment && onChompKeep) onChompKeep();\n return addComment(str + ws + valueStr, ctx.indent, valueComment);\n }\n }]);\n\n return Pair;\n}(Node);\n\n_defineProperty(Pair, \"Type\", {\n PAIR: 'PAIR',\n MERGE_PAIR: 'MERGE_PAIR'\n});\n\nvar getAliasCount = function getAliasCount(node, anchors) {\n if (node instanceof Alias) {\n var anchor = anchors.get(node.source);\n return anchor.count * anchor.aliasCount;\n } else if (node instanceof Collection) {\n var count = 0;\n\n var _iterator = _createForOfIteratorHelper(node.items),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var item = _step.value;\n var c = getAliasCount(item, anchors);\n if (c > count) count = c;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return count;\n } else if (node instanceof Pair) {\n var kc = getAliasCount(node.key, anchors);\n var vc = getAliasCount(node.value, anchors);\n return Math.max(kc, vc);\n }\n\n return 1;\n};\n\nvar Alias = /*#__PURE__*/function (_Node) {\n _inherits(Alias, _Node);\n\n var _super = _createSuper(Alias);\n\n function Alias(source) {\n var _this;\n\n _classCallCheck(this, Alias);\n\n _this = _super.call(this);\n _this.source = source;\n _this.type = Type.ALIAS;\n return _this;\n }\n\n _createClass(Alias, [{\n key: \"tag\",\n set: function set(t) {\n throw new Error('Alias nodes cannot have tags');\n }\n }, {\n key: \"toJSON\",\n value: function toJSON$1(arg, ctx) {\n if (!ctx) return toJSON(this.source, arg, ctx);\n var anchors = ctx.anchors,\n maxAliasCount = ctx.maxAliasCount;\n var anchor = anchors.get(this.source);\n /* istanbul ignore if */\n\n if (!anchor || anchor.res === undefined) {\n var msg = 'This should not happen: Alias anchor was not resolved?';\n if (this.cstNode) throw new YAMLReferenceError(this.cstNode, msg);else throw new ReferenceError(msg);\n }\n\n if (maxAliasCount >= 0) {\n anchor.count += 1;\n if (anchor.aliasCount === 0) anchor.aliasCount = getAliasCount(this.source, anchors);\n\n if (anchor.count * anchor.aliasCount > maxAliasCount) {\n var _msg = 'Excessive alias count indicates a resource exhaustion attack';\n if (this.cstNode) throw new YAMLReferenceError(this.cstNode, _msg);else throw new ReferenceError(_msg);\n }\n }\n\n return anchor.res;\n } // Only called when stringifying an alias mapping key while constructing\n // Object output.\n\n }, {\n key: \"toString\",\n value: function toString(ctx) {\n return Alias.stringify(this, ctx);\n }\n }], [{\n key: \"stringify\",\n value: function stringify(_ref, _ref2) {\n var range = _ref.range,\n source = _ref.source;\n var anchors = _ref2.anchors,\n doc = _ref2.doc,\n implicitKey = _ref2.implicitKey,\n inStringifyKey = _ref2.inStringifyKey;\n var anchor = Object.keys(anchors).find(function (a) {\n return anchors[a] === source;\n });\n if (!anchor && inStringifyKey) anchor = doc.anchors.getName(source) || doc.anchors.newName();\n if (anchor) return \"*\".concat(anchor).concat(implicitKey ? ' ' : '');\n var msg = doc.anchors.getName(source) ? 'Alias node must be after source node' : 'Source node not found for alias node';\n throw new Error(\"\".concat(msg, \" [\").concat(range, \"]\"));\n }\n }]);\n\n return Alias;\n}(Node);\n\n_defineProperty(Alias, \"default\", true);\n\nfunction findPair(items, key) {\n var k = key instanceof Scalar ? key.value : key;\n\n var _iterator = _createForOfIteratorHelper(items),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var it = _step.value;\n\n if (it instanceof Pair) {\n if (it.key === key || it.key === k) return it;\n if (it.key && it.key.value === k) return it;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return undefined;\n}\nvar YAMLMap = /*#__PURE__*/function (_Collection) {\n _inherits(YAMLMap, _Collection);\n\n var _super = _createSuper(YAMLMap);\n\n function YAMLMap() {\n _classCallCheck(this, YAMLMap);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(YAMLMap, [{\n key: \"add\",\n value: function add(pair, overwrite) {\n if (!pair) pair = new Pair(pair);else if (!(pair instanceof Pair)) pair = new Pair(pair.key || pair, pair.value);\n var prev = findPair(this.items, pair.key);\n var sortEntries = this.schema && this.schema.sortMapEntries;\n\n if (prev) {\n if (overwrite) prev.value = pair.value;else throw new Error(\"Key \".concat(pair.key, \" already set\"));\n } else if (sortEntries) {\n var i = this.items.findIndex(function (item) {\n return sortEntries(pair, item) < 0;\n });\n if (i === -1) this.items.push(pair);else this.items.splice(i, 0, pair);\n } else {\n this.items.push(pair);\n }\n }\n }, {\n key: \"delete\",\n value: function _delete(key) {\n var it = findPair(this.items, key);\n if (!it) return false;\n var del = this.items.splice(this.items.indexOf(it), 1);\n return del.length > 0;\n }\n }, {\n key: \"get\",\n value: function get(key, keepScalar) {\n var it = findPair(this.items, key);\n var node = it && it.value;\n return !keepScalar && node instanceof Scalar ? node.value : node;\n }\n }, {\n key: \"has\",\n value: function has(key) {\n return !!findPair(this.items, key);\n }\n }, {\n key: \"set\",\n value: function set(key, value) {\n this.add(new Pair(key, value), true);\n }\n /**\n * @param {*} arg ignored\n * @param {*} ctx Conversion context, originally set in Document#toJSON()\n * @param {Class} Type If set, forces the returned collection type\n * @returns {*} Instance of Type, Map, or Object\n */\n\n }, {\n key: \"toJSON\",\n value: function toJSON(_, ctx, Type) {\n var map = Type ? new Type() : ctx && ctx.mapAsMap ? new Map() : {};\n if (ctx && ctx.onCreate) ctx.onCreate(map);\n\n var _iterator2 = _createForOfIteratorHelper(this.items),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var item = _step2.value;\n item.addToJSMap(ctx, map);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return map;\n }\n }, {\n key: \"toString\",\n value: function toString(ctx, onComment, onChompKeep) {\n if (!ctx) return JSON.stringify(this);\n\n var _iterator3 = _createForOfIteratorHelper(this.items),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var item = _step3.value;\n if (!(item instanceof Pair)) throw new Error(\"Map items must all be pairs; found \".concat(JSON.stringify(item), \" instead\"));\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return _get(_getPrototypeOf(YAMLMap.prototype), \"toString\", this).call(this, ctx, {\n blockItem: function blockItem(n) {\n return n.str;\n },\n flowChars: {\n start: '{',\n end: '}'\n },\n isMap: true,\n itemIndent: ctx.indent || ''\n }, onComment, onChompKeep);\n }\n }]);\n\n return YAMLMap;\n}(Collection);\n\nvar MERGE_KEY = '<<';\nvar Merge = /*#__PURE__*/function (_Pair) {\n _inherits(Merge, _Pair);\n\n var _super = _createSuper(Merge);\n\n function Merge(pair) {\n var _this;\n\n _classCallCheck(this, Merge);\n\n if (pair instanceof Pair) {\n var seq = pair.value;\n\n if (!(seq instanceof YAMLSeq)) {\n seq = new YAMLSeq();\n seq.items.push(pair.value);\n seq.range = pair.value.range;\n }\n\n _this = _super.call(this, pair.key, seq);\n _this.range = pair.range;\n } else {\n _this = _super.call(this, new Scalar(MERGE_KEY), new YAMLSeq());\n }\n\n _this.type = Pair.Type.MERGE_PAIR;\n return _possibleConstructorReturn(_this);\n } // If the value associated with a merge key is a single mapping node, each of\n // its key/value pairs is inserted into the current mapping, unless the key\n // already exists in it. If the value associated with the merge key is a\n // sequence, then this sequence is expected to contain mapping nodes and each\n // of these nodes is merged in turn according to its order in the sequence.\n // Keys in mapping nodes earlier in the sequence override keys specified in\n // later mapping nodes. -- http://yaml.org/type/merge.html\n\n\n _createClass(Merge, [{\n key: \"addToJSMap\",\n value: function addToJSMap(ctx, map) {\n var _iterator = _createForOfIteratorHelper(this.value.items),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var source = _step.value.source;\n if (!(source instanceof YAMLMap)) throw new Error('Merge sources must be maps');\n var srcMap = source.toJSON(null, ctx, Map);\n\n var _iterator2 = _createForOfIteratorHelper(srcMap),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _step2$value = _slicedToArray(_step2.value, 2),\n key = _step2$value[0],\n value = _step2$value[1];\n\n if (map instanceof Map) {\n if (!map.has(key)) map.set(key, value);\n } else if (map instanceof Set) {\n map.add(key);\n } else if (!Object.prototype.hasOwnProperty.call(map, key)) {\n Object.defineProperty(map, key, {\n value: value,\n writable: true,\n enumerable: true,\n configurable: true\n });\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return map;\n }\n }, {\n key: \"toString\",\n value: function toString(ctx, onComment) {\n var seq = this.value;\n if (seq.items.length > 1) return _get(_getPrototypeOf(Merge.prototype), \"toString\", this).call(this, ctx, onComment);\n this.value = seq.items[0];\n\n var str = _get(_getPrototypeOf(Merge.prototype), \"toString\", this).call(this, ctx, onComment);\n\n this.value = seq;\n return str;\n }\n }]);\n\n return Merge;\n}(Pair);\n\nvar binaryOptions = {\n defaultType: Type.BLOCK_LITERAL,\n lineWidth: 76\n};\nvar boolOptions = {\n trueStr: 'true',\n falseStr: 'false'\n};\nvar intOptions = {\n asBigInt: false\n};\nvar nullOptions = {\n nullStr: 'null'\n};\nvar strOptions = {\n defaultType: Type.PLAIN,\n doubleQuoted: {\n jsonEncoding: false,\n minMultiLineLength: 40\n },\n fold: {\n lineWidth: 80,\n minContentWidth: 20\n }\n};\n\nfunction resolveScalar(str, tags, scalarFallback) {\n var _iterator = _createForOfIteratorHelper(tags),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _step.value,\n format = _step$value.format,\n test = _step$value.test,\n resolve = _step$value.resolve;\n\n if (test) {\n var match = str.match(test);\n\n if (match) {\n var res = resolve.apply(null, match);\n if (!(res instanceof Scalar)) res = new Scalar(res);\n if (format) res.format = format;\n return res;\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (scalarFallback) str = scalarFallback(str);\n return new Scalar(str);\n}\n\nvar FOLD_FLOW = 'flow';\nvar FOLD_BLOCK = 'block';\nvar FOLD_QUOTED = 'quoted'; // presumes i+1 is at the start of a line\n// returns index of last newline in more-indented block\n\nvar consumeMoreIndentedLines = function consumeMoreIndentedLines(text, i) {\n var ch = text[i + 1];\n\n while (ch === ' ' || ch === '\\t') {\n do {\n ch = text[i += 1];\n } while (ch && ch !== '\\n');\n\n ch = text[i + 1];\n }\n\n return i;\n};\n/**\n * Tries to keep input at up to `lineWidth` characters, splitting only on spaces\n * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are\n * terminated with `\\n` and started with `indent`.\n *\n * @param {string} text\n * @param {string} indent\n * @param {string} [mode='flow'] `'block'` prevents more-indented lines\n * from being folded; `'quoted'` allows for `\\` escapes, including escaped\n * newlines\n * @param {Object} options\n * @param {number} [options.indentAtStart] Accounts for leading contents on\n * the first line, defaulting to `indent.length`\n * @param {number} [options.lineWidth=80]\n * @param {number} [options.minContentWidth=20] Allow highly indented lines to\n * stretch the line width or indent content from the start\n * @param {function} options.onFold Called once if the text is folded\n * @param {function} options.onFold Called once if any line of text exceeds\n * lineWidth characters\n */\n\n\nfunction foldFlowLines(text, indent, mode, _ref) {\n var indentAtStart = _ref.indentAtStart,\n _ref$lineWidth = _ref.lineWidth,\n lineWidth = _ref$lineWidth === void 0 ? 80 : _ref$lineWidth,\n _ref$minContentWidth = _ref.minContentWidth,\n minContentWidth = _ref$minContentWidth === void 0 ? 20 : _ref$minContentWidth,\n onFold = _ref.onFold,\n onOverflow = _ref.onOverflow;\n if (!lineWidth || lineWidth < 0) return text;\n var endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length);\n if (text.length <= endStep) return text;\n var folds = [];\n var escapedFolds = {};\n var end = lineWidth - indent.length;\n\n if (typeof indentAtStart === 'number') {\n if (indentAtStart > lineWidth - Math.max(2, minContentWidth)) folds.push(0);else end = lineWidth - indentAtStart;\n }\n\n var split = undefined;\n var prev = undefined;\n var overflow = false;\n var i = -1;\n var escStart = -1;\n var escEnd = -1;\n\n if (mode === FOLD_BLOCK) {\n i = consumeMoreIndentedLines(text, i);\n if (i !== -1) end = i + endStep;\n }\n\n for (var ch; ch = text[i += 1];) {\n if (mode === FOLD_QUOTED && ch === '\\\\') {\n escStart = i;\n\n switch (text[i + 1]) {\n case 'x':\n i += 3;\n break;\n\n case 'u':\n i += 5;\n break;\n\n case 'U':\n i += 9;\n break;\n\n default:\n i += 1;\n }\n\n escEnd = i;\n }\n\n if (ch === '\\n') {\n if (mode === FOLD_BLOCK) i = consumeMoreIndentedLines(text, i);\n end = i + endStep;\n split = undefined;\n } else {\n if (ch === ' ' && prev && prev !== ' ' && prev !== '\\n' && prev !== '\\t') {\n // space surrounded by non-space can be replaced with newline + indent\n var next = text[i + 1];\n if (next && next !== ' ' && next !== '\\n' && next !== '\\t') split = i;\n }\n\n if (i >= end) {\n if (split) {\n folds.push(split);\n end = split + endStep;\n split = undefined;\n } else if (mode === FOLD_QUOTED) {\n // white-space collected at end may stretch past lineWidth\n while (prev === ' ' || prev === '\\t') {\n prev = ch;\n ch = text[i += 1];\n overflow = true;\n } // Account for newline escape, but don't break preceding escape\n\n\n var j = i > escEnd + 1 ? i - 2 : escStart - 1; // Bail out if lineWidth & minContentWidth are shorter than an escape string\n\n if (escapedFolds[j]) return text;\n folds.push(j);\n escapedFolds[j] = true;\n end = j + endStep;\n split = undefined;\n } else {\n overflow = true;\n }\n }\n }\n\n prev = ch;\n }\n\n if (overflow && onOverflow) onOverflow();\n if (folds.length === 0) return text;\n if (onFold) onFold();\n var res = text.slice(0, folds[0]);\n\n for (var _i = 0; _i < folds.length; ++_i) {\n var fold = folds[_i];\n\n var _end = folds[_i + 1] || text.length;\n\n if (fold === 0) res = \"\\n\".concat(indent).concat(text.slice(0, _end));else {\n if (mode === FOLD_QUOTED && escapedFolds[fold]) res += \"\".concat(text[fold], \"\\\\\");\n res += \"\\n\".concat(indent).concat(text.slice(fold + 1, _end));\n }\n }\n\n return res;\n}\n\nvar getFoldOptions = function getFoldOptions(_ref) {\n var indentAtStart = _ref.indentAtStart;\n return indentAtStart ? Object.assign({\n indentAtStart: indentAtStart\n }, strOptions.fold) : strOptions.fold;\n}; // Also checks for lines starting with %, as parsing the output as YAML 1.1 will\n// presume that's starting a new document.\n\n\nvar containsDocumentMarker = function containsDocumentMarker(str) {\n return /^(%|---|\\.\\.\\.)/m.test(str);\n};\n\nfunction lineLengthOverLimit(str, lineWidth, indentLength) {\n if (!lineWidth || lineWidth < 0) return false;\n var limit = lineWidth - indentLength;\n var strLen = str.length;\n if (strLen <= limit) return false;\n\n for (var i = 0, start = 0; i < strLen; ++i) {\n if (str[i] === '\\n') {\n if (i - start > limit) return true;\n start = i + 1;\n if (strLen - start <= limit) return false;\n }\n }\n\n return true;\n}\n\nfunction doubleQuotedString(value, ctx) {\n var implicitKey = ctx.implicitKey;\n var _strOptions$doubleQuo = strOptions.doubleQuoted,\n jsonEncoding = _strOptions$doubleQuo.jsonEncoding,\n minMultiLineLength = _strOptions$doubleQuo.minMultiLineLength;\n var json = JSON.stringify(value);\n if (jsonEncoding) return json;\n var indent = ctx.indent || (containsDocumentMarker(value) ? ' ' : '');\n var str = '';\n var start = 0;\n\n for (var i = 0, ch = json[i]; ch; ch = json[++i]) {\n if (ch === ' ' && json[i + 1] === '\\\\' && json[i + 2] === 'n') {\n // space before newline needs to be escaped to not be folded\n str += json.slice(start, i) + '\\\\ ';\n i += 1;\n start = i;\n ch = '\\\\';\n }\n\n if (ch === '\\\\') switch (json[i + 1]) {\n case 'u':\n {\n str += json.slice(start, i);\n var code = json.substr(i + 2, 4);\n\n switch (code) {\n case '0000':\n str += '\\\\0';\n break;\n\n case '0007':\n str += '\\\\a';\n break;\n\n case '000b':\n str += '\\\\v';\n break;\n\n case '001b':\n str += '\\\\e';\n break;\n\n case '0085':\n str += '\\\\N';\n break;\n\n case '00a0':\n str += '\\\\_';\n break;\n\n case '2028':\n str += '\\\\L';\n break;\n\n case '2029':\n str += '\\\\P';\n break;\n\n default:\n if (code.substr(0, 2) === '00') str += '\\\\x' + code.substr(2);else str += json.substr(i, 6);\n }\n\n i += 5;\n start = i + 1;\n }\n break;\n\n case 'n':\n if (implicitKey || json[i + 2] === '\"' || json.length < minMultiLineLength) {\n i += 1;\n } else {\n // folding will eat first newline\n str += json.slice(start, i) + '\\n\\n';\n\n while (json[i + 2] === '\\\\' && json[i + 3] === 'n' && json[i + 4] !== '\"') {\n str += '\\n';\n i += 2;\n }\n\n str += indent; // space after newline needs to be escaped to not be folded\n\n if (json[i + 2] === ' ') str += '\\\\';\n i += 1;\n start = i + 1;\n }\n\n break;\n\n default:\n i += 1;\n }\n }\n\n str = start ? str + json.slice(start) : json;\n return implicitKey ? str : foldFlowLines(str, indent, FOLD_QUOTED, getFoldOptions(ctx));\n}\n\nfunction singleQuotedString(value, ctx) {\n if (ctx.implicitKey) {\n if (/\\n/.test(value)) return doubleQuotedString(value, ctx);\n } else {\n // single quoted string can't have leading or trailing whitespace around newline\n if (/[ \\t]\\n|\\n[ \\t]/.test(value)) return doubleQuotedString(value, ctx);\n }\n\n var indent = ctx.indent || (containsDocumentMarker(value) ? ' ' : '');\n var res = \"'\" + value.replace(/'/g, \"''\").replace(/\\n+/g, \"$&\\n\".concat(indent)) + \"'\";\n return ctx.implicitKey ? res : foldFlowLines(res, indent, FOLD_FLOW, getFoldOptions(ctx));\n}\n\nfunction blockString(_ref2, ctx, onComment, onChompKeep) {\n var comment = _ref2.comment,\n type = _ref2.type,\n value = _ref2.value;\n\n // 1. Block can't end in whitespace unless the last line is non-empty.\n // 2. Strings consisting of only whitespace are best rendered explicitly.\n if (/\\n[\\t ]+$/.test(value) || /^\\s*$/.test(value)) {\n return doubleQuotedString(value, ctx);\n }\n\n var indent = ctx.indent || (ctx.forceBlockIndent || containsDocumentMarker(value) ? ' ' : '');\n var indentSize = indent ? '2' : '1'; // root is at -1\n\n var literal = type === Type.BLOCK_FOLDED ? false : type === Type.BLOCK_LITERAL ? true : !lineLengthOverLimit(value, strOptions.fold.lineWidth, indent.length);\n var header = literal ? '|' : '>';\n if (!value) return header + '\\n';\n var wsStart = '';\n var wsEnd = '';\n value = value.replace(/[\\n\\t ]*$/, function (ws) {\n var n = ws.indexOf('\\n');\n\n if (n === -1) {\n header += '-'; // strip\n } else if (value === ws || n !== ws.length - 1) {\n header += '+'; // keep\n\n if (onChompKeep) onChompKeep();\n }\n\n wsEnd = ws.replace(/\\n$/, '');\n return '';\n }).replace(/^[\\n ]*/, function (ws) {\n if (ws.indexOf(' ') !== -1) header += indentSize;\n var m = ws.match(/ +$/);\n\n if (m) {\n wsStart = ws.slice(0, -m[0].length);\n return m[0];\n } else {\n wsStart = ws;\n return '';\n }\n });\n if (wsEnd) wsEnd = wsEnd.replace(/\\n+(?!\\n|$)/g, \"$&\".concat(indent));\n if (wsStart) wsStart = wsStart.replace(/\\n+/g, \"$&\".concat(indent));\n\n if (comment) {\n header += ' #' + comment.replace(/ ?[\\r\\n]+/g, ' ');\n if (onComment) onComment();\n }\n\n if (!value) return \"\".concat(header).concat(indentSize, \"\\n\").concat(indent).concat(wsEnd);\n\n if (literal) {\n value = value.replace(/\\n+/g, \"$&\".concat(indent));\n return \"\".concat(header, \"\\n\").concat(indent).concat(wsStart).concat(value).concat(wsEnd);\n }\n\n value = value.replace(/\\n+/g, '\\n$&').replace(/(?:^|\\n)([\\t ].*)(?:([\\n\\t ]*)\\n(?![\\n\\t ]))?/g, '$1$2') // more-indented lines aren't folded\n // ^ ind.line ^ empty ^ capture next empty lines only at end of indent\n .replace(/\\n+/g, \"$&\".concat(indent));\n var body = foldFlowLines(\"\".concat(wsStart).concat(value).concat(wsEnd), indent, FOLD_BLOCK, strOptions.fold);\n return \"\".concat(header, \"\\n\").concat(indent).concat(body);\n}\n\nfunction plainString(item, ctx, onComment, onChompKeep) {\n var comment = item.comment,\n type = item.type,\n value = item.value;\n var actualString = ctx.actualString,\n implicitKey = ctx.implicitKey,\n indent = ctx.indent,\n inFlow = ctx.inFlow;\n\n if (implicitKey && /[\\n[\\]{},]/.test(value) || inFlow && /[[\\]{},]/.test(value)) {\n return doubleQuotedString(value, ctx);\n }\n\n if (!value || /^[\\n\\t ,[\\]{}#&*!|>'\"%@`]|^[?-]$|^[?-][ \\t]|[\\n:][ \\t]|[ \\t]\\n|[\\n\\t ]#|[\\n\\t :]$/.test(value)) {\n // not allowed:\n // - empty string, '-' or '?'\n // - start with an indicator character (except [?:-]) or /[?-] /\n // - '\\n ', ': ' or ' \\n' anywhere\n // - '#' not preceded by a non-space char\n // - end with ' ' or ':'\n return implicitKey || inFlow || value.indexOf('\\n') === -1 ? value.indexOf('\"') !== -1 && value.indexOf(\"'\") === -1 ? singleQuotedString(value, ctx) : doubleQuotedString(value, ctx) : blockString(item, ctx, onComment, onChompKeep);\n }\n\n if (!implicitKey && !inFlow && type !== Type.PLAIN && value.indexOf('\\n') !== -1) {\n // Where allowed & type not set explicitly, prefer block style for multiline strings\n return blockString(item, ctx, onComment, onChompKeep);\n }\n\n if (indent === '' && containsDocumentMarker(value)) {\n ctx.forceBlockIndent = true;\n return blockString(item, ctx, onComment, onChompKeep);\n }\n\n var str = value.replace(/\\n+/g, \"$&\\n\".concat(indent)); // Verify that output will be parsed as a string, as e.g. plain numbers and\n // booleans get parsed with those types in v1.2 (e.g. '42', 'true' & '0.9e-3'),\n // and others in v1.1.\n\n if (actualString) {\n var tags = ctx.doc.schema.tags;\n var resolved = resolveScalar(str, tags, tags.scalarFallback).value;\n if (typeof resolved !== 'string') return doubleQuotedString(value, ctx);\n }\n\n var body = implicitKey ? str : foldFlowLines(str, indent, FOLD_FLOW, getFoldOptions(ctx));\n\n if (comment && !inFlow && (body.indexOf('\\n') !== -1 || comment.indexOf('\\n') !== -1)) {\n if (onComment) onComment();\n return addCommentBefore(body, indent, comment);\n }\n\n return body;\n}\n\nfunction stringifyString(item, ctx, onComment, onChompKeep) {\n var defaultType = strOptions.defaultType;\n var implicitKey = ctx.implicitKey,\n inFlow = ctx.inFlow;\n var _item = item,\n type = _item.type,\n value = _item.value;\n\n if (typeof value !== 'string') {\n value = String(value);\n item = Object.assign({}, item, {\n value: value\n });\n }\n\n var _stringify = function _stringify(_type) {\n switch (_type) {\n case Type.BLOCK_FOLDED:\n case Type.BLOCK_LITERAL:\n return blockString(item, ctx, onComment, onChompKeep);\n\n case Type.QUOTE_DOUBLE:\n return doubleQuotedString(value, ctx);\n\n case Type.QUOTE_SINGLE:\n return singleQuotedString(value, ctx);\n\n case Type.PLAIN:\n return plainString(item, ctx, onComment, onChompKeep);\n\n default:\n return null;\n }\n };\n\n if (type !== Type.QUOTE_DOUBLE && /[\\x00-\\x08\\x0b-\\x1f\\x7f-\\x9f]/.test(value)) {\n // force double quotes on control characters\n type = Type.QUOTE_DOUBLE;\n } else if ((implicitKey || inFlow) && (type === Type.BLOCK_FOLDED || type === Type.BLOCK_LITERAL)) {\n // should not happen; blocks are not valid inside flow containers\n type = Type.QUOTE_DOUBLE;\n }\n\n var res = _stringify(type);\n\n if (res === null) {\n res = _stringify(defaultType);\n if (res === null) throw new Error(\"Unsupported default string type \".concat(defaultType));\n }\n\n return res;\n}\n\nfunction stringifyNumber(_ref) {\n var format = _ref.format,\n minFractionDigits = _ref.minFractionDigits,\n tag = _ref.tag,\n value = _ref.value;\n if (typeof value === 'bigint') return String(value);\n if (!isFinite(value)) return isNaN(value) ? '.nan' : value < 0 ? '-.inf' : '.inf';\n var n = JSON.stringify(value);\n\n if (!format && minFractionDigits && (!tag || tag === 'tag:yaml.org,2002:float') && /^\\d/.test(n)) {\n var i = n.indexOf('.');\n\n if (i < 0) {\n i = n.length;\n n += '.';\n }\n\n var d = minFractionDigits - (n.length - i - 1);\n\n while (d-- > 0) {\n n += '0';\n }\n }\n\n return n;\n}\n\nfunction checkFlowCollectionEnd(errors, cst) {\n var char, name;\n\n switch (cst.type) {\n case Type.FLOW_MAP:\n char = '}';\n name = 'flow map';\n break;\n\n case Type.FLOW_SEQ:\n char = ']';\n name = 'flow sequence';\n break;\n\n default:\n errors.push(new YAMLSemanticError(cst, 'Not a flow collection!?'));\n return;\n }\n\n var lastItem;\n\n for (var i = cst.items.length - 1; i >= 0; --i) {\n var item = cst.items[i];\n\n if (!item || item.type !== Type.COMMENT) {\n lastItem = item;\n break;\n }\n }\n\n if (lastItem && lastItem.char !== char) {\n var msg = \"Expected \".concat(name, \" to end with \").concat(char);\n var err;\n\n if (typeof lastItem.offset === 'number') {\n err = new YAMLSemanticError(cst, msg);\n err.offset = lastItem.offset + 1;\n } else {\n err = new YAMLSemanticError(lastItem, msg);\n if (lastItem.range && lastItem.range.end) err.offset = lastItem.range.end - lastItem.range.start;\n }\n\n errors.push(err);\n }\n}\nfunction checkFlowCommentSpace(errors, comment) {\n var prev = comment.context.src[comment.range.start - 1];\n\n if (prev !== '\\n' && prev !== '\\t' && prev !== ' ') {\n var msg = 'Comments must be separated from other tokens by white space characters';\n errors.push(new YAMLSemanticError(comment, msg));\n }\n}\nfunction getLongKeyError(source, key) {\n var sk = String(key);\n var k = sk.substr(0, 8) + '...' + sk.substr(-8);\n return new YAMLSemanticError(source, \"The \\\"\".concat(k, \"\\\" key is too long\"));\n}\nfunction resolveComments(collection, comments) {\n var _iterator = _createForOfIteratorHelper(comments),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _step.value,\n afterKey = _step$value.afterKey,\n before = _step$value.before,\n comment = _step$value.comment;\n var item = collection.items[before];\n\n if (!item) {\n if (comment !== undefined) {\n if (collection.comment) collection.comment += '\\n' + comment;else collection.comment = comment;\n }\n } else {\n if (afterKey && item.value) item = item.value;\n\n if (comment === undefined) {\n if (afterKey || !item.commentBefore) item.spaceBefore = true;\n } else {\n if (item.commentBefore) item.commentBefore += '\\n' + comment;else item.commentBefore = comment;\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n}\n\n// on error, will return { str: string, errors: Error[] }\nfunction resolveString(doc, node) {\n var res = node.strValue;\n if (!res) return '';\n if (typeof res === 'string') return res;\n res.errors.forEach(function (error) {\n if (!error.source) error.source = node;\n doc.errors.push(error);\n });\n return res.str;\n}\n\nfunction resolveTagHandle(doc, node) {\n var _node$tag = node.tag,\n handle = _node$tag.handle,\n suffix = _node$tag.suffix;\n var prefix = doc.tagPrefixes.find(function (p) {\n return p.handle === handle;\n });\n\n if (!prefix) {\n var dtp = doc.getDefaults().tagPrefixes;\n if (dtp) prefix = dtp.find(function (p) {\n return p.handle === handle;\n });\n if (!prefix) throw new YAMLSemanticError(node, \"The \".concat(handle, \" tag handle is non-default and was not declared.\"));\n }\n\n if (!suffix) throw new YAMLSemanticError(node, \"The \".concat(handle, \" tag has no suffix.\"));\n\n if (handle === '!' && (doc.version || doc.options.version) === '1.0') {\n if (suffix[0] === '^') {\n doc.warnings.push(new YAMLWarning(node, 'YAML 1.0 ^ tag expansion is not supported'));\n return suffix;\n }\n\n if (/[:/]/.test(suffix)) {\n // word/foo -> tag:word.yaml.org,2002:foo\n var vocab = suffix.match(/^([a-z0-9-]+)\\/(.*)/i);\n return vocab ? \"tag:\".concat(vocab[1], \".yaml.org,2002:\").concat(vocab[2]) : \"tag:\".concat(suffix);\n }\n }\n\n return prefix.prefix + decodeURIComponent(suffix);\n}\n\nfunction resolveTagName(doc, node) {\n var tag = node.tag,\n type = node.type;\n var nonSpecific = false;\n\n if (tag) {\n var handle = tag.handle,\n suffix = tag.suffix,\n verbatim = tag.verbatim;\n\n if (verbatim) {\n if (verbatim !== '!' && verbatim !== '!!') return verbatim;\n var msg = \"Verbatim tags aren't resolved, so \".concat(verbatim, \" is invalid.\");\n doc.errors.push(new YAMLSemanticError(node, msg));\n } else if (handle === '!' && !suffix) {\n nonSpecific = true;\n } else {\n try {\n return resolveTagHandle(doc, node);\n } catch (error) {\n doc.errors.push(error);\n }\n }\n }\n\n switch (type) {\n case Type.BLOCK_FOLDED:\n case Type.BLOCK_LITERAL:\n case Type.QUOTE_DOUBLE:\n case Type.QUOTE_SINGLE:\n return defaultTags.STR;\n\n case Type.FLOW_MAP:\n case Type.MAP:\n return defaultTags.MAP;\n\n case Type.FLOW_SEQ:\n case Type.SEQ:\n return defaultTags.SEQ;\n\n case Type.PLAIN:\n return nonSpecific ? defaultTags.STR : null;\n\n default:\n return null;\n }\n}\n\nfunction resolveByTagName(doc, node, tagName) {\n var tags = doc.schema.tags;\n var matchWithTest = [];\n\n var _iterator = _createForOfIteratorHelper(tags),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var tag = _step.value;\n\n if (tag.tag === tagName) {\n if (tag.test) matchWithTest.push(tag);else {\n var res = tag.resolve(doc, node);\n return res instanceof Collection ? res : new Scalar(res);\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var str = resolveString(doc, node);\n if (typeof str === 'string' && matchWithTest.length > 0) return resolveScalar(str, matchWithTest, tags.scalarFallback);\n return null;\n}\n\nfunction getFallbackTagName(_ref) {\n var type = _ref.type;\n\n switch (type) {\n case Type.FLOW_MAP:\n case Type.MAP:\n return defaultTags.MAP;\n\n case Type.FLOW_SEQ:\n case Type.SEQ:\n return defaultTags.SEQ;\n\n default:\n return defaultTags.STR;\n }\n}\n\nfunction resolveTag(doc, node, tagName) {\n try {\n var res = resolveByTagName(doc, node, tagName);\n\n if (res) {\n if (tagName && node.tag) res.tag = tagName;\n return res;\n }\n } catch (error) {\n /* istanbul ignore if */\n if (!error.source) error.source = node;\n doc.errors.push(error);\n return null;\n }\n\n try {\n var fallback = getFallbackTagName(node);\n if (!fallback) throw new Error(\"The tag \".concat(tagName, \" is unavailable\"));\n var msg = \"The tag \".concat(tagName, \" is unavailable, falling back to \").concat(fallback);\n doc.warnings.push(new YAMLWarning(node, msg));\n\n var _res = resolveByTagName(doc, node, fallback);\n\n _res.tag = tagName;\n return _res;\n } catch (error) {\n var refError = new YAMLReferenceError(node, error.message);\n refError.stack = error.stack;\n doc.errors.push(refError);\n return null;\n }\n}\n\nvar isCollectionItem = function isCollectionItem(node) {\n if (!node) return false;\n var type = node.type;\n return type === Type.MAP_KEY || type === Type.MAP_VALUE || type === Type.SEQ_ITEM;\n};\n\nfunction resolveNodeProps(errors, node) {\n var comments = {\n before: [],\n after: []\n };\n var hasAnchor = false;\n var hasTag = false;\n var props = isCollectionItem(node.context.parent) ? node.context.parent.props.concat(node.props) : node.props;\n\n var _iterator = _createForOfIteratorHelper(props),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _step.value,\n start = _step$value.start,\n end = _step$value.end;\n\n switch (node.context.src[start]) {\n case Char.COMMENT:\n {\n if (!node.commentHasRequiredWhitespace(start)) {\n var msg = 'Comments must be separated from other tokens by white space characters';\n errors.push(new YAMLSemanticError(node, msg));\n }\n\n var header = node.header,\n valueRange = node.valueRange;\n var cc = valueRange && (start > valueRange.start || header && start > header.start) ? comments.after : comments.before;\n cc.push(node.context.src.slice(start + 1, end));\n break;\n }\n // Actual anchor & tag resolution is handled by schema, here we just complain\n\n case Char.ANCHOR:\n if (hasAnchor) {\n var _msg = 'A node can have at most one anchor';\n errors.push(new YAMLSemanticError(node, _msg));\n }\n\n hasAnchor = true;\n break;\n\n case Char.TAG:\n if (hasTag) {\n var _msg2 = 'A node can have at most one tag';\n errors.push(new YAMLSemanticError(node, _msg2));\n }\n\n hasTag = true;\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return {\n comments: comments,\n hasAnchor: hasAnchor,\n hasTag: hasTag\n };\n}\n\nfunction resolveNodeValue(doc, node) {\n var anchors = doc.anchors,\n errors = doc.errors,\n schema = doc.schema;\n\n if (node.type === Type.ALIAS) {\n var name = node.rawValue;\n var src = anchors.getNode(name);\n\n if (!src) {\n var msg = \"Aliased anchor not found: \".concat(name);\n errors.push(new YAMLReferenceError(node, msg));\n return null;\n } // Lazy resolution for circular references\n\n\n var res = new Alias(src);\n\n anchors._cstAliases.push(res);\n\n return res;\n }\n\n var tagName = resolveTagName(doc, node);\n if (tagName) return resolveTag(doc, node, tagName);\n\n if (node.type !== Type.PLAIN) {\n var _msg3 = \"Failed to resolve \".concat(node.type, \" node here\");\n\n errors.push(new YAMLSyntaxError(node, _msg3));\n return null;\n }\n\n try {\n var str = resolveString(doc, node);\n return resolveScalar(str, schema.tags, schema.tags.scalarFallback);\n } catch (error) {\n if (!error.source) error.source = node;\n errors.push(error);\n return null;\n }\n} // sets node.resolved on success\n\n\nfunction resolveNode(doc, node) {\n if (!node) return null;\n if (node.error) doc.errors.push(node.error);\n\n var _resolveNodeProps = resolveNodeProps(doc.errors, node),\n comments = _resolveNodeProps.comments,\n hasAnchor = _resolveNodeProps.hasAnchor,\n hasTag = _resolveNodeProps.hasTag;\n\n if (hasAnchor) {\n var anchors = doc.anchors;\n var name = node.anchor;\n var prev = anchors.getNode(name); // At this point, aliases for any preceding node with the same anchor\n // name have already been resolved, so it may safely be renamed.\n\n if (prev) anchors.map[anchors.newName(name)] = prev; // During parsing, we need to store the CST node in anchors.map as\n // anchors need to be available during resolution to allow for\n // circular references.\n\n anchors.map[name] = node;\n }\n\n if (node.type === Type.ALIAS && (hasAnchor || hasTag)) {\n var msg = 'An alias node must not specify any properties';\n doc.errors.push(new YAMLSemanticError(node, msg));\n }\n\n var res = resolveNodeValue(doc, node);\n\n if (res) {\n res.range = [node.range.start, node.range.end];\n if (doc.options.keepCstNodes) res.cstNode = node;\n if (doc.options.keepNodeTypes) res.type = node.type;\n var cb = comments.before.join('\\n');\n\n if (cb) {\n res.commentBefore = res.commentBefore ? \"\".concat(res.commentBefore, \"\\n\").concat(cb) : cb;\n }\n\n var ca = comments.after.join('\\n');\n if (ca) res.comment = res.comment ? \"\".concat(res.comment, \"\\n\").concat(ca) : ca;\n }\n\n return node.resolved = res;\n}\n\nfunction resolveMap(doc, cst) {\n if (cst.type !== Type.MAP && cst.type !== Type.FLOW_MAP) {\n var msg = \"A \".concat(cst.type, \" node cannot be resolved as a mapping\");\n doc.errors.push(new YAMLSyntaxError(cst, msg));\n return null;\n }\n\n var _ref = cst.type === Type.FLOW_MAP ? resolveFlowMapItems(doc, cst) : resolveBlockMapItems(doc, cst),\n comments = _ref.comments,\n items = _ref.items;\n\n var map = new YAMLMap();\n map.items = items;\n resolveComments(map, comments);\n var hasCollectionKey = false;\n\n for (var i = 0; i < items.length; ++i) {\n var iKey = items[i].key;\n if (iKey instanceof Collection) hasCollectionKey = true;\n\n if (doc.schema.merge && iKey && iKey.value === MERGE_KEY) {\n items[i] = new Merge(items[i]);\n var sources = items[i].value.items;\n var error = null;\n sources.some(function (node) {\n if (node instanceof Alias) {\n // During parsing, alias sources are CST nodes; to account for\n // circular references their resolved values can't be used here.\n var type = node.source.type;\n if (type === Type.MAP || type === Type.FLOW_MAP) return false;\n return error = 'Merge nodes aliases can only point to maps';\n }\n\n return error = 'Merge nodes can only have Alias nodes as values';\n });\n if (error) doc.errors.push(new YAMLSemanticError(cst, error));\n } else {\n for (var j = i + 1; j < items.length; ++j) {\n var jKey = items[j].key;\n\n if (iKey === jKey || iKey && jKey && Object.prototype.hasOwnProperty.call(iKey, 'value') && iKey.value === jKey.value) {\n var _msg = \"Map keys must be unique; \\\"\".concat(iKey, \"\\\" is repeated\");\n\n doc.errors.push(new YAMLSemanticError(cst, _msg));\n break;\n }\n }\n }\n }\n\n if (hasCollectionKey && !doc.options.mapAsMap) {\n var warn = 'Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.';\n doc.warnings.push(new YAMLWarning(cst, warn));\n }\n\n cst.resolved = map;\n return map;\n}\n\nvar valueHasPairComment = function valueHasPairComment(_ref2) {\n var _ref2$context = _ref2.context,\n lineStart = _ref2$context.lineStart,\n node = _ref2$context.node,\n src = _ref2$context.src,\n props = _ref2.props;\n if (props.length === 0) return false;\n var start = props[0].start;\n if (node && start > node.valueRange.start) return false;\n if (src[start] !== Char.COMMENT) return false;\n\n for (var i = lineStart; i < start; ++i) {\n if (src[i] === '\\n') return false;\n }\n\n return true;\n};\n\nfunction resolvePairComment(item, pair) {\n if (!valueHasPairComment(item)) return;\n var comment = item.getPropValue(0, Char.COMMENT, true);\n var found = false;\n var cb = pair.value.commentBefore;\n\n if (cb && cb.startsWith(comment)) {\n pair.value.commentBefore = cb.substr(comment.length + 1);\n found = true;\n } else {\n var cc = pair.value.comment;\n\n if (!item.node && cc && cc.startsWith(comment)) {\n pair.value.comment = cc.substr(comment.length + 1);\n found = true;\n }\n }\n\n if (found) pair.comment = comment;\n}\n\nfunction resolveBlockMapItems(doc, cst) {\n var comments = [];\n var items = [];\n var key = undefined;\n var keyStart = null;\n\n for (var i = 0; i < cst.items.length; ++i) {\n var item = cst.items[i];\n\n switch (item.type) {\n case Type.BLANK_LINE:\n comments.push({\n afterKey: !!key,\n before: items.length\n });\n break;\n\n case Type.COMMENT:\n comments.push({\n afterKey: !!key,\n before: items.length,\n comment: item.comment\n });\n break;\n\n case Type.MAP_KEY:\n if (key !== undefined) items.push(new Pair(key));\n if (item.error) doc.errors.push(item.error);\n key = resolveNode(doc, item.node);\n keyStart = null;\n break;\n\n case Type.MAP_VALUE:\n {\n if (key === undefined) key = null;\n if (item.error) doc.errors.push(item.error);\n\n if (!item.context.atLineStart && item.node && item.node.type === Type.MAP && !item.node.context.atLineStart) {\n var msg = 'Nested mappings are not allowed in compact mappings';\n doc.errors.push(new YAMLSemanticError(item.node, msg));\n }\n\n var valueNode = item.node;\n\n if (!valueNode && item.props.length > 0) {\n // Comments on an empty mapping value need to be preserved, so we\n // need to construct a minimal empty node here to use instead of the\n // missing `item.node`. -- eemeli/yaml#19\n valueNode = new PlainValue(Type.PLAIN, []);\n valueNode.context = {\n parent: item,\n src: item.context.src\n };\n var pos = item.range.start + 1;\n valueNode.range = {\n start: pos,\n end: pos\n };\n valueNode.valueRange = {\n start: pos,\n end: pos\n };\n\n if (typeof item.range.origStart === 'number') {\n var origPos = item.range.origStart + 1;\n valueNode.range.origStart = valueNode.range.origEnd = origPos;\n valueNode.valueRange.origStart = valueNode.valueRange.origEnd = origPos;\n }\n }\n\n var pair = new Pair(key, resolveNode(doc, valueNode));\n resolvePairComment(item, pair);\n items.push(pair);\n\n if (key && typeof keyStart === 'number') {\n if (item.range.start > keyStart + 1024) doc.errors.push(getLongKeyError(cst, key));\n }\n\n key = undefined;\n keyStart = null;\n }\n break;\n\n default:\n if (key !== undefined) items.push(new Pair(key));\n key = resolveNode(doc, item);\n keyStart = item.range.start;\n if (item.error) doc.errors.push(item.error);\n\n next: for (var j = i + 1;; ++j) {\n var nextItem = cst.items[j];\n\n switch (nextItem && nextItem.type) {\n case Type.BLANK_LINE:\n case Type.COMMENT:\n continue next;\n\n case Type.MAP_VALUE:\n break next;\n\n default:\n {\n var _msg2 = 'Implicit map keys need to be followed by map values';\n doc.errors.push(new YAMLSemanticError(item, _msg2));\n break next;\n }\n }\n }\n\n if (item.valueRangeContainsNewline) {\n var _msg3 = 'Implicit map keys need to be on a single line';\n doc.errors.push(new YAMLSemanticError(item, _msg3));\n }\n\n }\n }\n\n if (key !== undefined) items.push(new Pair(key));\n return {\n comments: comments,\n items: items\n };\n}\n\nfunction resolveFlowMapItems(doc, cst) {\n var comments = [];\n var items = [];\n var key = undefined;\n var explicitKey = false;\n var next = '{';\n\n for (var i = 0; i < cst.items.length; ++i) {\n var item = cst.items[i];\n\n if (typeof item.char === 'string') {\n var char = item.char,\n offset = item.offset;\n\n if (char === '?' && key === undefined && !explicitKey) {\n explicitKey = true;\n next = ':';\n continue;\n }\n\n if (char === ':') {\n if (key === undefined) key = null;\n\n if (next === ':') {\n next = ',';\n continue;\n }\n } else {\n if (explicitKey) {\n if (key === undefined && char !== ',') key = null;\n explicitKey = false;\n }\n\n if (key !== undefined) {\n items.push(new Pair(key));\n key = undefined;\n\n if (char === ',') {\n next = ':';\n continue;\n }\n }\n }\n\n if (char === '}') {\n if (i === cst.items.length - 1) continue;\n } else if (char === next) {\n next = ':';\n continue;\n }\n\n var msg = \"Flow map contains an unexpected \".concat(char);\n var err = new YAMLSyntaxError(cst, msg);\n err.offset = offset;\n doc.errors.push(err);\n } else if (item.type === Type.BLANK_LINE) {\n comments.push({\n afterKey: !!key,\n before: items.length\n });\n } else if (item.type === Type.COMMENT) {\n checkFlowCommentSpace(doc.errors, item);\n comments.push({\n afterKey: !!key,\n before: items.length,\n comment: item.comment\n });\n } else if (key === undefined) {\n if (next === ',') doc.errors.push(new YAMLSemanticError(item, 'Separator , missing in flow map'));\n key = resolveNode(doc, item);\n } else {\n if (next !== ',') doc.errors.push(new YAMLSemanticError(item, 'Indicator : missing in flow map entry'));\n items.push(new Pair(key, resolveNode(doc, item)));\n key = undefined;\n explicitKey = false;\n }\n }\n\n checkFlowCollectionEnd(doc.errors, cst);\n if (key !== undefined) items.push(new Pair(key));\n return {\n comments: comments,\n items: items\n };\n}\n\nfunction resolveSeq(doc, cst) {\n if (cst.type !== Type.SEQ && cst.type !== Type.FLOW_SEQ) {\n var msg = \"A \".concat(cst.type, \" node cannot be resolved as a sequence\");\n doc.errors.push(new YAMLSyntaxError(cst, msg));\n return null;\n }\n\n var _ref = cst.type === Type.FLOW_SEQ ? resolveFlowSeqItems(doc, cst) : resolveBlockSeqItems(doc, cst),\n comments = _ref.comments,\n items = _ref.items;\n\n var seq = new YAMLSeq();\n seq.items = items;\n resolveComments(seq, comments);\n\n if (!doc.options.mapAsMap && items.some(function (it) {\n return it instanceof Pair && it.key instanceof Collection;\n })) {\n var warn = 'Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.';\n doc.warnings.push(new YAMLWarning(cst, warn));\n }\n\n cst.resolved = seq;\n return seq;\n}\n\nfunction resolveBlockSeqItems(doc, cst) {\n var comments = [];\n var items = [];\n\n for (var i = 0; i < cst.items.length; ++i) {\n var item = cst.items[i];\n\n switch (item.type) {\n case Type.BLANK_LINE:\n comments.push({\n before: items.length\n });\n break;\n\n case Type.COMMENT:\n comments.push({\n comment: item.comment,\n before: items.length\n });\n break;\n\n case Type.SEQ_ITEM:\n if (item.error) doc.errors.push(item.error);\n items.push(resolveNode(doc, item.node));\n\n if (item.hasProps) {\n var msg = 'Sequence items cannot have tags or anchors before the - indicator';\n doc.errors.push(new YAMLSemanticError(item, msg));\n }\n\n break;\n\n default:\n if (item.error) doc.errors.push(item.error);\n doc.errors.push(new YAMLSyntaxError(item, \"Unexpected \".concat(item.type, \" node in sequence\")));\n }\n }\n\n return {\n comments: comments,\n items: items\n };\n}\n\nfunction resolveFlowSeqItems(doc, cst) {\n var comments = [];\n var items = [];\n var explicitKey = false;\n var key = undefined;\n var keyStart = null;\n var next = '[';\n var prevItem = null;\n\n for (var i = 0; i < cst.items.length; ++i) {\n var item = cst.items[i];\n\n if (typeof item.char === 'string') {\n var char = item.char,\n offset = item.offset;\n\n if (char !== ':' && (explicitKey || key !== undefined)) {\n if (explicitKey && key === undefined) key = next ? items.pop() : null;\n items.push(new Pair(key));\n explicitKey = false;\n key = undefined;\n keyStart = null;\n }\n\n if (char === next) {\n next = null;\n } else if (!next && char === '?') {\n explicitKey = true;\n } else if (next !== '[' && char === ':' && key === undefined) {\n if (next === ',') {\n key = items.pop();\n\n if (key instanceof Pair) {\n var msg = 'Chaining flow sequence pairs is invalid';\n var err = new YAMLSemanticError(cst, msg);\n err.offset = offset;\n doc.errors.push(err);\n }\n\n if (!explicitKey && typeof keyStart === 'number') {\n var keyEnd = item.range ? item.range.start : item.offset;\n if (keyEnd > keyStart + 1024) doc.errors.push(getLongKeyError(cst, key));\n var src = prevItem.context.src;\n\n for (var _i = keyStart; _i < keyEnd; ++_i) {\n if (src[_i] === '\\n') {\n var _msg = 'Implicit keys of flow sequence pairs need to be on a single line';\n doc.errors.push(new YAMLSemanticError(prevItem, _msg));\n break;\n }\n }\n }\n } else {\n key = null;\n }\n\n keyStart = null;\n explicitKey = false;\n next = null;\n } else if (next === '[' || char !== ']' || i < cst.items.length - 1) {\n var _msg2 = \"Flow sequence contains an unexpected \".concat(char);\n\n var _err = new YAMLSyntaxError(cst, _msg2);\n\n _err.offset = offset;\n doc.errors.push(_err);\n }\n } else if (item.type === Type.BLANK_LINE) {\n comments.push({\n before: items.length\n });\n } else if (item.type === Type.COMMENT) {\n checkFlowCommentSpace(doc.errors, item);\n comments.push({\n comment: item.comment,\n before: items.length\n });\n } else {\n if (next) {\n var _msg3 = \"Expected a \".concat(next, \" in flow sequence\");\n\n doc.errors.push(new YAMLSemanticError(item, _msg3));\n }\n\n var value = resolveNode(doc, item);\n\n if (key === undefined) {\n items.push(value);\n prevItem = item;\n } else {\n items.push(new Pair(key, value));\n key = undefined;\n }\n\n keyStart = item.range.start;\n next = ',';\n }\n }\n\n checkFlowCollectionEnd(doc.errors, cst);\n if (key !== undefined) items.push(new Pair(key));\n return {\n comments: comments,\n items: items\n };\n}\n\nexport { Alias as A, Collection as C, Merge as M, Node as N, Pair as P, Scalar as S, YAMLSeq as Y, boolOptions as a, binaryOptions as b, stringifyString as c, YAMLMap as d, isEmptyPath as e, addComment as f, resolveMap as g, resolveSeq as h, intOptions as i, resolveString as j, stringifyNumber as k, findPair as l, nullOptions as n, resolveNode as r, strOptions as s, toJSON as t };\n", "import { o as YAMLReferenceError, T as Type, g as YAMLSemanticError, _ as _createForOfIteratorHelper, e as _defineProperty, j as _inherits, k as _createSuper, c as _classCallCheck, p as _assertThisInitialized, b as _createClass, a as _typeof, l as _get, m as _getPrototypeOf } from './PlainValue-b8036b75.js';\nimport { j as resolveString, b as binaryOptions, c as stringifyString, h as resolveSeq, P as Pair, d as YAMLMap, Y as YAMLSeq, t as toJSON, S as Scalar, l as findPair, g as resolveMap, k as stringifyNumber } from './resolveSeq-492ab440.js';\n\n/* global atob, btoa, Buffer */\nvar binary = {\n identify: function identify(value) {\n return value instanceof Uint8Array;\n },\n // Buffer inherits from Uint8Array\n default: false,\n tag: 'tag:yaml.org,2002:binary',\n\n /**\n * Returns a Buffer in node and an Uint8Array in browsers\n *\n * To use the resulting buffer as an image, you'll want to do something like:\n *\n * const blob = new Blob([buffer], { type: 'image/jpeg' })\n * document.querySelector('#photo').src = URL.createObjectURL(blob)\n */\n resolve: function resolve(doc, node) {\n var src = resolveString(doc, node);\n\n if (typeof Buffer === 'function') {\n return Buffer.from(src, 'base64');\n } else if (typeof atob === 'function') {\n // On IE 11, atob() can't handle newlines\n var str = atob(src.replace(/[\\n\\r]/g, ''));\n var buffer = new Uint8Array(str.length);\n\n for (var i = 0; i < str.length; ++i) {\n buffer[i] = str.charCodeAt(i);\n }\n\n return buffer;\n } else {\n var msg = 'This environment does not support reading binary tags; either Buffer or atob is required';\n doc.errors.push(new YAMLReferenceError(node, msg));\n return null;\n }\n },\n options: binaryOptions,\n stringify: function stringify(_ref, ctx, onComment, onChompKeep) {\n var comment = _ref.comment,\n type = _ref.type,\n value = _ref.value;\n var src;\n\n if (typeof Buffer === 'function') {\n src = value instanceof Buffer ? value.toString('base64') : Buffer.from(value.buffer).toString('base64');\n } else if (typeof btoa === 'function') {\n var s = '';\n\n for (var i = 0; i < value.length; ++i) {\n s += String.fromCharCode(value[i]);\n }\n\n src = btoa(s);\n } else {\n throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');\n }\n\n if (!type) type = binaryOptions.defaultType;\n\n if (type === Type.QUOTE_DOUBLE) {\n value = src;\n } else {\n var lineWidth = binaryOptions.lineWidth;\n var n = Math.ceil(src.length / lineWidth);\n var lines = new Array(n);\n\n for (var _i = 0, o = 0; _i < n; ++_i, o += lineWidth) {\n lines[_i] = src.substr(o, lineWidth);\n }\n\n value = lines.join(type === Type.BLOCK_LITERAL ? '\\n' : ' ');\n }\n\n return stringifyString({\n comment: comment,\n type: type,\n value: value\n }, ctx, onComment, onChompKeep);\n }\n};\n\nfunction parsePairs(doc, cst) {\n var seq = resolveSeq(doc, cst);\n\n for (var i = 0; i < seq.items.length; ++i) {\n var item = seq.items[i];\n if (item instanceof Pair) continue;else if (item instanceof YAMLMap) {\n if (item.items.length > 1) {\n var msg = 'Each pair must have its own sequence indicator';\n throw new YAMLSemanticError(cst, msg);\n }\n\n var pair = item.items[0] || new Pair();\n if (item.commentBefore) pair.commentBefore = pair.commentBefore ? \"\".concat(item.commentBefore, \"\\n\").concat(pair.commentBefore) : item.commentBefore;\n if (item.comment) pair.comment = pair.comment ? \"\".concat(item.comment, \"\\n\").concat(pair.comment) : item.comment;\n item = pair;\n }\n seq.items[i] = item instanceof Pair ? item : new Pair(item);\n }\n\n return seq;\n}\nfunction createPairs(schema, iterable, ctx) {\n var pairs = new YAMLSeq(schema);\n pairs.tag = 'tag:yaml.org,2002:pairs';\n\n var _iterator = _createForOfIteratorHelper(iterable),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var it = _step.value;\n var key = void 0,\n value = void 0;\n\n if (Array.isArray(it)) {\n if (it.length === 2) {\n key = it[0];\n value = it[1];\n } else throw new TypeError(\"Expected [key, value] tuple: \".concat(it));\n } else if (it && it instanceof Object) {\n var keys = Object.keys(it);\n\n if (keys.length === 1) {\n key = keys[0];\n value = it[key];\n } else throw new TypeError(\"Expected { key: value } tuple: \".concat(it));\n } else {\n key = it;\n }\n\n var pair = schema.createPair(key, value, ctx);\n pairs.items.push(pair);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return pairs;\n}\nvar pairs = {\n default: false,\n tag: 'tag:yaml.org,2002:pairs',\n resolve: parsePairs,\n createNode: createPairs\n};\n\nvar YAMLOMap = /*#__PURE__*/function (_YAMLSeq) {\n _inherits(YAMLOMap, _YAMLSeq);\n\n var _super = _createSuper(YAMLOMap);\n\n function YAMLOMap() {\n var _this;\n\n _classCallCheck(this, YAMLOMap);\n\n _this = _super.call(this);\n\n _defineProperty(_assertThisInitialized(_this), \"add\", YAMLMap.prototype.add.bind(_assertThisInitialized(_this)));\n\n _defineProperty(_assertThisInitialized(_this), \"delete\", YAMLMap.prototype.delete.bind(_assertThisInitialized(_this)));\n\n _defineProperty(_assertThisInitialized(_this), \"get\", YAMLMap.prototype.get.bind(_assertThisInitialized(_this)));\n\n _defineProperty(_assertThisInitialized(_this), \"has\", YAMLMap.prototype.has.bind(_assertThisInitialized(_this)));\n\n _defineProperty(_assertThisInitialized(_this), \"set\", YAMLMap.prototype.set.bind(_assertThisInitialized(_this)));\n\n _this.tag = YAMLOMap.tag;\n return _this;\n }\n\n _createClass(YAMLOMap, [{\n key: \"toJSON\",\n value: function toJSON$1(_, ctx) {\n var map = new Map();\n if (ctx && ctx.onCreate) ctx.onCreate(map);\n\n var _iterator = _createForOfIteratorHelper(this.items),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var pair = _step.value;\n var key = void 0,\n value = void 0;\n\n if (pair instanceof Pair) {\n key = toJSON(pair.key, '', ctx);\n value = toJSON(pair.value, key, ctx);\n } else {\n key = toJSON(pair, '', ctx);\n }\n\n if (map.has(key)) throw new Error('Ordered maps must not include duplicate keys');\n map.set(key, value);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return map;\n }\n }]);\n\n return YAMLOMap;\n}(YAMLSeq);\n\n_defineProperty(YAMLOMap, \"tag\", 'tag:yaml.org,2002:omap');\n\nfunction parseOMap(doc, cst) {\n var pairs = parsePairs(doc, cst);\n var seenKeys = [];\n\n var _iterator2 = _createForOfIteratorHelper(pairs.items),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var key = _step2.value.key;\n\n if (key instanceof Scalar) {\n if (seenKeys.includes(key.value)) {\n var msg = 'Ordered maps must not include duplicate keys';\n throw new YAMLSemanticError(cst, msg);\n } else {\n seenKeys.push(key.value);\n }\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return Object.assign(new YAMLOMap(), pairs);\n}\n\nfunction createOMap(schema, iterable, ctx) {\n var pairs = createPairs(schema, iterable, ctx);\n var omap = new YAMLOMap();\n omap.items = pairs.items;\n return omap;\n}\n\nvar omap = {\n identify: function identify(value) {\n return value instanceof Map;\n },\n nodeClass: YAMLOMap,\n default: false,\n tag: 'tag:yaml.org,2002:omap',\n resolve: parseOMap,\n createNode: createOMap\n};\n\nvar YAMLSet = /*#__PURE__*/function (_YAMLMap) {\n _inherits(YAMLSet, _YAMLMap);\n\n var _super = _createSuper(YAMLSet);\n\n function YAMLSet() {\n var _this;\n\n _classCallCheck(this, YAMLSet);\n\n _this = _super.call(this);\n _this.tag = YAMLSet.tag;\n return _this;\n }\n\n _createClass(YAMLSet, [{\n key: \"add\",\n value: function add(key) {\n var pair = key instanceof Pair ? key : new Pair(key);\n var prev = findPair(this.items, pair.key);\n if (!prev) this.items.push(pair);\n }\n }, {\n key: \"get\",\n value: function get(key, keepPair) {\n var pair = findPair(this.items, key);\n return !keepPair && pair instanceof Pair ? pair.key instanceof Scalar ? pair.key.value : pair.key : pair;\n }\n }, {\n key: \"set\",\n value: function set(key, value) {\n if (typeof value !== 'boolean') throw new Error(\"Expected boolean value for set(key, value) in a YAML set, not \".concat(_typeof(value)));\n var prev = findPair(this.items, key);\n\n if (prev && !value) {\n this.items.splice(this.items.indexOf(prev), 1);\n } else if (!prev && value) {\n this.items.push(new Pair(key));\n }\n }\n }, {\n key: \"toJSON\",\n value: function toJSON(_, ctx) {\n return _get(_getPrototypeOf(YAMLSet.prototype), \"toJSON\", this).call(this, _, ctx, Set);\n }\n }, {\n key: \"toString\",\n value: function toString(ctx, onComment, onChompKeep) {\n if (!ctx) return JSON.stringify(this);\n if (this.hasAllNullValues()) return _get(_getPrototypeOf(YAMLSet.prototype), \"toString\", this).call(this, ctx, onComment, onChompKeep);else throw new Error('Set items must all have null values');\n }\n }]);\n\n return YAMLSet;\n}(YAMLMap);\n\n_defineProperty(YAMLSet, \"tag\", 'tag:yaml.org,2002:set');\n\nfunction parseSet(doc, cst) {\n var map = resolveMap(doc, cst);\n if (!map.hasAllNullValues()) throw new YAMLSemanticError(cst, 'Set items must all have null values');\n return Object.assign(new YAMLSet(), map);\n}\n\nfunction createSet(schema, iterable, ctx) {\n var set = new YAMLSet();\n\n var _iterator = _createForOfIteratorHelper(iterable),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var value = _step.value;\n set.items.push(schema.createPair(value, null, ctx));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return set;\n}\n\nvar set = {\n identify: function identify(value) {\n return value instanceof Set;\n },\n nodeClass: YAMLSet,\n default: false,\n tag: 'tag:yaml.org,2002:set',\n resolve: parseSet,\n createNode: createSet\n};\n\nvar parseSexagesimal = function parseSexagesimal(sign, parts) {\n var n = parts.split(':').reduce(function (n, p) {\n return n * 60 + Number(p);\n }, 0);\n return sign === '-' ? -n : n;\n}; // hhhh:mm:ss.sss\n\n\nvar stringifySexagesimal = function stringifySexagesimal(_ref) {\n var value = _ref.value;\n if (isNaN(value) || !isFinite(value)) return stringifyNumber(value);\n var sign = '';\n\n if (value < 0) {\n sign = '-';\n value = Math.abs(value);\n }\n\n var parts = [value % 60]; // seconds, including ms\n\n if (value < 60) {\n parts.unshift(0); // at least one : is required\n } else {\n value = Math.round((value - parts[0]) / 60);\n parts.unshift(value % 60); // minutes\n\n if (value >= 60) {\n value = Math.round((value - parts[0]) / 60);\n parts.unshift(value); // hours\n }\n }\n\n return sign + parts.map(function (n) {\n return n < 10 ? '0' + String(n) : String(n);\n }).join(':').replace(/000000\\d*$/, '') // % 60 may introduce error\n ;\n};\n\nvar intTime = {\n identify: function identify(value) {\n return typeof value === 'number';\n },\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'TIME',\n test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,\n resolve: function resolve(str, sign, parts) {\n return parseSexagesimal(sign, parts.replace(/_/g, ''));\n },\n stringify: stringifySexagesimal\n};\nvar floatTime = {\n identify: function identify(value) {\n return typeof value === 'number';\n },\n default: true,\n tag: 'tag:yaml.org,2002:float',\n format: 'TIME',\n test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*)$/,\n resolve: function resolve(str, sign, parts) {\n return parseSexagesimal(sign, parts.replace(/_/g, ''));\n },\n stringify: stringifySexagesimal\n};\nvar timestamp = {\n identify: function identify(value) {\n return value instanceof Date;\n },\n default: true,\n tag: 'tag:yaml.org,2002:timestamp',\n // If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part\n // may be omitted altogether, resulting in a date format. In such a case, the time part is\n // assumed to be 00:00:00Z (start of day, UTC).\n test: RegExp('^(?:' + '([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})' + // YYYY-Mm-Dd\n '(?:(?:t|T|[ \\\\t]+)' + // t | T | whitespace\n '([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\\\.[0-9]+)?)' + // Hh:Mm:Ss(.ss)?\n '(?:[ \\\\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?' + // Z | +5 | -03:30\n ')?' + ')$'),\n resolve: function resolve(str, year, month, day, hour, minute, second, millisec, tz) {\n if (millisec) millisec = (millisec + '00').substr(1, 3);\n var date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec || 0);\n\n if (tz && tz !== 'Z') {\n var d = parseSexagesimal(tz[0], tz.slice(1));\n if (Math.abs(d) < 30) d *= 60;\n date -= 60000 * d;\n }\n\n return new Date(date);\n },\n stringify: function stringify(_ref2) {\n var value = _ref2.value;\n return value.toISOString().replace(/((T00:00)?:00)?\\.000Z$/, '');\n }\n};\n\n/* global console, process, YAML_SILENCE_DEPRECATION_WARNINGS, YAML_SILENCE_WARNINGS */\nfunction shouldWarn(deprecation) {\n var env = typeof process !== 'undefined' && process.env || {};\n\n if (deprecation) {\n if (typeof YAML_SILENCE_DEPRECATION_WARNINGS !== 'undefined') return !YAML_SILENCE_DEPRECATION_WARNINGS;\n return !env.YAML_SILENCE_DEPRECATION_WARNINGS;\n }\n\n if (typeof YAML_SILENCE_WARNINGS !== 'undefined') return !YAML_SILENCE_WARNINGS;\n return !env.YAML_SILENCE_WARNINGS;\n}\n\nfunction warn(warning, type) {\n if (shouldWarn(false)) {\n var emit = typeof process !== 'undefined' && process.emitWarning; // This will throw in Jest if `warning` is an Error instance due to\n // https://github.com/facebook/jest/issues/2549\n\n if (emit) emit(warning, type);else {\n // eslint-disable-next-line no-console\n console.warn(type ? \"\".concat(type, \": \").concat(warning) : warning);\n }\n }\n}\nfunction warnFileDeprecation(filename) {\n if (shouldWarn(true)) {\n var path = filename.replace(/.*yaml[/\\\\]/i, '').replace(/\\.js$/, '').replace(/\\\\/g, '/');\n warn(\"The endpoint 'yaml/\".concat(path, \"' will be removed in a future release.\"), 'DeprecationWarning');\n }\n}\nvar warned = {};\nfunction warnOptionDeprecation(name, alternative) {\n if (!warned[name] && shouldWarn(true)) {\n warned[name] = true;\n var msg = \"The option '\".concat(name, \"' will be removed in a future release\");\n msg += alternative ? \", use '\".concat(alternative, \"' instead.\") : '.';\n warn(msg, 'DeprecationWarning');\n }\n}\n\nexport { warnOptionDeprecation as a, binary as b, warnFileDeprecation as c, floatTime as f, intTime as i, omap as o, pairs as p, set as s, timestamp as t, warn as w };\n", "import { _ as _createForOfIteratorHelper, h as _slicedToArray, a as _typeof, b as _createClass, e as _defineProperty, c as _classCallCheck, d as defaultTagPrefix, n as defaultTags } from './PlainValue-b8036b75.js';\nimport { d as YAMLMap, g as resolveMap, Y as YAMLSeq, h as resolveSeq, j as resolveString, c as stringifyString, s as strOptions, S as Scalar, n as nullOptions, a as boolOptions, i as intOptions, k as stringifyNumber, N as Node, A as Alias, P as Pair } from './resolveSeq-492ab440.js';\nimport { b as binary, o as omap, p as pairs, s as set, i as intTime, f as floatTime, t as timestamp, a as warnOptionDeprecation } from './warnings-df54cb69.js';\n\nfunction createMap(schema, obj, ctx) {\n var map = new YAMLMap(schema);\n\n if (obj instanceof Map) {\n var _iterator = _createForOfIteratorHelper(obj),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n key = _step$value[0],\n value = _step$value[1];\n\n map.items.push(schema.createPair(key, value, ctx));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else if (obj && _typeof(obj) === 'object') {\n for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) {\n var _key = _Object$keys[_i];\n map.items.push(schema.createPair(_key, obj[_key], ctx));\n }\n }\n\n if (typeof schema.sortMapEntries === 'function') {\n map.items.sort(schema.sortMapEntries);\n }\n\n return map;\n}\n\nvar map = {\n createNode: createMap,\n default: true,\n nodeClass: YAMLMap,\n tag: 'tag:yaml.org,2002:map',\n resolve: resolveMap\n};\n\nfunction createSeq(schema, obj, ctx) {\n var seq = new YAMLSeq(schema);\n\n if (obj && obj[Symbol.iterator]) {\n var _iterator = _createForOfIteratorHelper(obj),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var it = _step.value;\n var v = schema.createNode(it, ctx.wrapScalars, null, ctx);\n seq.items.push(v);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n return seq;\n}\n\nvar seq = {\n createNode: createSeq,\n default: true,\n nodeClass: YAMLSeq,\n tag: 'tag:yaml.org,2002:seq',\n resolve: resolveSeq\n};\n\nvar string = {\n identify: function identify(value) {\n return typeof value === 'string';\n },\n default: true,\n tag: 'tag:yaml.org,2002:str',\n resolve: resolveString,\n stringify: function stringify(item, ctx, onComment, onChompKeep) {\n ctx = Object.assign({\n actualString: true\n }, ctx);\n return stringifyString(item, ctx, onComment, onChompKeep);\n },\n options: strOptions\n};\n\nvar failsafe = [map, seq, string];\n\n/* global BigInt */\n\nvar intIdentify$2 = function intIdentify(value) {\n return typeof value === 'bigint' || Number.isInteger(value);\n};\n\nvar intResolve$1 = function intResolve(src, part, radix) {\n return intOptions.asBigInt ? BigInt(src) : parseInt(part, radix);\n};\n\nfunction intStringify$1(node, radix, prefix) {\n var value = node.value;\n if (intIdentify$2(value) && value >= 0) return prefix + value.toString(radix);\n return stringifyNumber(node);\n}\n\nvar nullObj = {\n identify: function identify(value) {\n return value == null;\n },\n createNode: function createNode(schema, value, ctx) {\n return ctx.wrapScalars ? new Scalar(null) : null;\n },\n default: true,\n tag: 'tag:yaml.org,2002:null',\n test: /^(?:~|[Nn]ull|NULL)?$/,\n resolve: function resolve() {\n return null;\n },\n options: nullOptions,\n stringify: function stringify() {\n return nullOptions.nullStr;\n }\n};\nvar boolObj = {\n identify: function identify(value) {\n return typeof value === 'boolean';\n },\n default: true,\n tag: 'tag:yaml.org,2002:bool',\n test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,\n resolve: function resolve(str) {\n return str[0] === 't' || str[0] === 'T';\n },\n options: boolOptions,\n stringify: function stringify(_ref) {\n var value = _ref.value;\n return value ? boolOptions.trueStr : boolOptions.falseStr;\n }\n};\nvar octObj = {\n identify: function identify(value) {\n return intIdentify$2(value) && value >= 0;\n },\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'OCT',\n test: /^0o([0-7]+)$/,\n resolve: function resolve(str, oct) {\n return intResolve$1(str, oct, 8);\n },\n options: intOptions,\n stringify: function stringify(node) {\n return intStringify$1(node, 8, '0o');\n }\n};\nvar intObj = {\n identify: intIdentify$2,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n test: /^[-+]?[0-9]+$/,\n resolve: function resolve(str) {\n return intResolve$1(str, str, 10);\n },\n options: intOptions,\n stringify: stringifyNumber\n};\nvar hexObj = {\n identify: function identify(value) {\n return intIdentify$2(value) && value >= 0;\n },\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'HEX',\n test: /^0x([0-9a-fA-F]+)$/,\n resolve: function resolve(str, hex) {\n return intResolve$1(str, hex, 16);\n },\n options: intOptions,\n stringify: function stringify(node) {\n return intStringify$1(node, 16, '0x');\n }\n};\nvar nanObj = {\n identify: function identify(value) {\n return typeof value === 'number';\n },\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^(?:[-+]?\\.inf|(\\.nan))$/i,\n resolve: function resolve(str, nan) {\n return nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY;\n },\n stringify: stringifyNumber\n};\nvar expObj = {\n identify: function identify(value) {\n return typeof value === 'number';\n },\n default: true,\n tag: 'tag:yaml.org,2002:float',\n format: 'EXP',\n test: /^[-+]?(?:\\.[0-9]+|[0-9]+(?:\\.[0-9]*)?)[eE][-+]?[0-9]+$/,\n resolve: function resolve(str) {\n return parseFloat(str);\n },\n stringify: function stringify(_ref2) {\n var value = _ref2.value;\n return Number(value).toExponential();\n }\n};\nvar floatObj = {\n identify: function identify(value) {\n return typeof value === 'number';\n },\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^[-+]?(?:\\.([0-9]+)|[0-9]+\\.([0-9]*))$/,\n resolve: function resolve(str, frac1, frac2) {\n var frac = frac1 || frac2;\n var node = new Scalar(parseFloat(str));\n if (frac && frac[frac.length - 1] === '0') node.minFractionDigits = frac.length;\n return node;\n },\n stringify: stringifyNumber\n};\nvar core = failsafe.concat([nullObj, boolObj, octObj, intObj, hexObj, nanObj, expObj, floatObj]);\n\n/* global BigInt */\n\nvar intIdentify$1 = function intIdentify(value) {\n return typeof value === 'bigint' || Number.isInteger(value);\n};\n\nvar stringifyJSON = function stringifyJSON(_ref) {\n var value = _ref.value;\n return JSON.stringify(value);\n};\n\nvar json = [map, seq, {\n identify: function identify(value) {\n return typeof value === 'string';\n },\n default: true,\n tag: 'tag:yaml.org,2002:str',\n resolve: resolveString,\n stringify: stringifyJSON\n}, {\n identify: function identify(value) {\n return value == null;\n },\n createNode: function createNode(schema, value, ctx) {\n return ctx.wrapScalars ? new Scalar(null) : null;\n },\n default: true,\n tag: 'tag:yaml.org,2002:null',\n test: /^null$/,\n resolve: function resolve() {\n return null;\n },\n stringify: stringifyJSON\n}, {\n identify: function identify(value) {\n return typeof value === 'boolean';\n },\n default: true,\n tag: 'tag:yaml.org,2002:bool',\n test: /^true|false$/,\n resolve: function resolve(str) {\n return str === 'true';\n },\n stringify: stringifyJSON\n}, {\n identify: intIdentify$1,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n test: /^-?(?:0|[1-9][0-9]*)$/,\n resolve: function resolve(str) {\n return intOptions.asBigInt ? BigInt(str) : parseInt(str, 10);\n },\n stringify: function stringify(_ref2) {\n var value = _ref2.value;\n return intIdentify$1(value) ? value.toString() : JSON.stringify(value);\n }\n}, {\n identify: function identify(value) {\n return typeof value === 'number';\n },\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,\n resolve: function resolve(str) {\n return parseFloat(str);\n },\n stringify: stringifyJSON\n}];\n\njson.scalarFallback = function (str) {\n throw new SyntaxError(\"Unresolved plain scalar \".concat(JSON.stringify(str)));\n};\n\n/* global BigInt */\n\nvar boolStringify = function boolStringify(_ref) {\n var value = _ref.value;\n return value ? boolOptions.trueStr : boolOptions.falseStr;\n};\n\nvar intIdentify = function intIdentify(value) {\n return typeof value === 'bigint' || Number.isInteger(value);\n};\n\nfunction intResolve(sign, src, radix) {\n var str = src.replace(/_/g, '');\n\n if (intOptions.asBigInt) {\n switch (radix) {\n case 2:\n str = \"0b\".concat(str);\n break;\n\n case 8:\n str = \"0o\".concat(str);\n break;\n\n case 16:\n str = \"0x\".concat(str);\n break;\n }\n\n var _n = BigInt(str);\n\n return sign === '-' ? BigInt(-1) * _n : _n;\n }\n\n var n = parseInt(str, radix);\n return sign === '-' ? -1 * n : n;\n}\n\nfunction intStringify(node, radix, prefix) {\n var value = node.value;\n\n if (intIdentify(value)) {\n var str = value.toString(radix);\n return value < 0 ? '-' + prefix + str.substr(1) : prefix + str;\n }\n\n return stringifyNumber(node);\n}\n\nvar yaml11 = failsafe.concat([{\n identify: function identify(value) {\n return value == null;\n },\n createNode: function createNode(schema, value, ctx) {\n return ctx.wrapScalars ? new Scalar(null) : null;\n },\n default: true,\n tag: 'tag:yaml.org,2002:null',\n test: /^(?:~|[Nn]ull|NULL)?$/,\n resolve: function resolve() {\n return null;\n },\n options: nullOptions,\n stringify: function stringify() {\n return nullOptions.nullStr;\n }\n}, {\n identify: function identify(value) {\n return typeof value === 'boolean';\n },\n default: true,\n tag: 'tag:yaml.org,2002:bool',\n test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,\n resolve: function resolve() {\n return true;\n },\n options: boolOptions,\n stringify: boolStringify\n}, {\n identify: function identify(value) {\n return typeof value === 'boolean';\n },\n default: true,\n tag: 'tag:yaml.org,2002:bool',\n test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,\n resolve: function resolve() {\n return false;\n },\n options: boolOptions,\n stringify: boolStringify\n}, {\n identify: intIdentify,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'BIN',\n test: /^([-+]?)0b([0-1_]+)$/,\n resolve: function resolve(str, sign, bin) {\n return intResolve(sign, bin, 2);\n },\n stringify: function stringify(node) {\n return intStringify(node, 2, '0b');\n }\n}, {\n identify: intIdentify,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'OCT',\n test: /^([-+]?)0([0-7_]+)$/,\n resolve: function resolve(str, sign, oct) {\n return intResolve(sign, oct, 8);\n },\n stringify: function stringify(node) {\n return intStringify(node, 8, '0');\n }\n}, {\n identify: intIdentify,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n test: /^([-+]?)([0-9][0-9_]*)$/,\n resolve: function resolve(str, sign, abs) {\n return intResolve(sign, abs, 10);\n },\n stringify: stringifyNumber\n}, {\n identify: intIdentify,\n default: true,\n tag: 'tag:yaml.org,2002:int',\n format: 'HEX',\n test: /^([-+]?)0x([0-9a-fA-F_]+)$/,\n resolve: function resolve(str, sign, hex) {\n return intResolve(sign, hex, 16);\n },\n stringify: function stringify(node) {\n return intStringify(node, 16, '0x');\n }\n}, {\n identify: function identify(value) {\n return typeof value === 'number';\n },\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^(?:[-+]?\\.inf|(\\.nan))$/i,\n resolve: function resolve(str, nan) {\n return nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY;\n },\n stringify: stringifyNumber\n}, {\n identify: function identify(value) {\n return typeof value === 'number';\n },\n default: true,\n tag: 'tag:yaml.org,2002:float',\n format: 'EXP',\n test: /^[-+]?([0-9][0-9_]*)?(\\.[0-9_]*)?[eE][-+]?[0-9]+$/,\n resolve: function resolve(str) {\n return parseFloat(str.replace(/_/g, ''));\n },\n stringify: function stringify(_ref2) {\n var value = _ref2.value;\n return Number(value).toExponential();\n }\n}, {\n identify: function identify(value) {\n return typeof value === 'number';\n },\n default: true,\n tag: 'tag:yaml.org,2002:float',\n test: /^[-+]?(?:[0-9][0-9_]*)?\\.([0-9_]*)$/,\n resolve: function resolve(str, frac) {\n var node = new Scalar(parseFloat(str.replace(/_/g, '')));\n\n if (frac) {\n var f = frac.replace(/_/g, '');\n if (f[f.length - 1] === '0') node.minFractionDigits = f.length;\n }\n\n return node;\n },\n stringify: stringifyNumber\n}], binary, omap, pairs, set, intTime, floatTime, timestamp);\n\nvar schemas = {\n core: core,\n failsafe: failsafe,\n json: json,\n yaml11: yaml11\n};\nvar tags = {\n binary: binary,\n bool: boolObj,\n float: floatObj,\n floatExp: expObj,\n floatNaN: nanObj,\n floatTime: floatTime,\n int: intObj,\n intHex: hexObj,\n intOct: octObj,\n intTime: intTime,\n map: map,\n null: nullObj,\n omap: omap,\n pairs: pairs,\n seq: seq,\n set: set,\n timestamp: timestamp\n};\n\nfunction findTagObject(value, tagName, tags) {\n if (tagName) {\n var match = tags.filter(function (t) {\n return t.tag === tagName;\n });\n var tagObj = match.find(function (t) {\n return !t.format;\n }) || match[0];\n if (!tagObj) throw new Error(\"Tag \".concat(tagName, \" not found\"));\n return tagObj;\n } // TODO: deprecate/remove class check\n\n\n return tags.find(function (t) {\n return (t.identify && t.identify(value) || t.class && value instanceof t.class) && !t.format;\n });\n}\n\nfunction createNode(value, tagName, ctx) {\n if (value instanceof Node) return value;\n var defaultPrefix = ctx.defaultPrefix,\n onTagObj = ctx.onTagObj,\n prevObjects = ctx.prevObjects,\n schema = ctx.schema,\n wrapScalars = ctx.wrapScalars;\n if (tagName && tagName.startsWith('!!')) tagName = defaultPrefix + tagName.slice(2);\n var tagObj = findTagObject(value, tagName, schema.tags);\n\n if (!tagObj) {\n if (typeof value.toJSON === 'function') value = value.toJSON();\n if (!value || _typeof(value) !== 'object') return wrapScalars ? new Scalar(value) : value;\n tagObj = value instanceof Map ? map : value[Symbol.iterator] ? seq : map;\n }\n\n if (onTagObj) {\n onTagObj(tagObj);\n delete ctx.onTagObj;\n } // Detect duplicate references to the same object & use Alias nodes for all\n // after first. The `obj` wrapper allows for circular references to resolve.\n\n\n var obj = {\n value: undefined,\n node: undefined\n };\n\n if (value && _typeof(value) === 'object' && prevObjects) {\n var prev = prevObjects.get(value);\n\n if (prev) {\n var alias = new Alias(prev); // leaves source dirty; must be cleaned by caller\n\n ctx.aliasNodes.push(alias); // defined along with prevObjects\n\n return alias;\n }\n\n obj.value = value;\n prevObjects.set(value, obj);\n }\n\n obj.node = tagObj.createNode ? tagObj.createNode(ctx.schema, value, ctx) : wrapScalars ? new Scalar(value) : value;\n if (tagName && obj.node instanceof Node) obj.node.tag = tagName;\n return obj.node;\n}\n\nfunction getSchemaTags(schemas, knownTags, customTags, schemaId) {\n var tags = schemas[schemaId.replace(/\\W/g, '')]; // 'yaml-1.1' -> 'yaml11'\n\n if (!tags) {\n var keys = Object.keys(schemas).map(function (key) {\n return JSON.stringify(key);\n }).join(', ');\n throw new Error(\"Unknown schema \\\"\".concat(schemaId, \"\\\"; use one of \").concat(keys));\n }\n\n if (Array.isArray(customTags)) {\n var _iterator = _createForOfIteratorHelper(customTags),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var tag = _step.value;\n tags = tags.concat(tag);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else if (typeof customTags === 'function') {\n tags = customTags(tags.slice());\n }\n\n for (var i = 0; i < tags.length; ++i) {\n var _tag = tags[i];\n\n if (typeof _tag === 'string') {\n var tagObj = knownTags[_tag];\n\n if (!tagObj) {\n var _keys = Object.keys(knownTags).map(function (key) {\n return JSON.stringify(key);\n }).join(', ');\n\n throw new Error(\"Unknown custom tag \\\"\".concat(_tag, \"\\\"; use one of \").concat(_keys));\n }\n\n tags[i] = tagObj;\n }\n }\n\n return tags;\n}\n\nvar sortMapEntriesByKey = function sortMapEntriesByKey(a, b) {\n return a.key < b.key ? -1 : a.key > b.key ? 1 : 0;\n};\n\nvar Schema = /*#__PURE__*/function () {\n // TODO: remove in v2\n // TODO: remove in v2\n function Schema(_ref) {\n var customTags = _ref.customTags,\n merge = _ref.merge,\n schema = _ref.schema,\n sortMapEntries = _ref.sortMapEntries,\n deprecatedCustomTags = _ref.tags;\n\n _classCallCheck(this, Schema);\n\n this.merge = !!merge;\n this.name = schema;\n this.sortMapEntries = sortMapEntries === true ? sortMapEntriesByKey : sortMapEntries || null;\n if (!customTags && deprecatedCustomTags) warnOptionDeprecation('tags', 'customTags');\n this.tags = getSchemaTags(schemas, tags, customTags || deprecatedCustomTags, schema);\n }\n\n _createClass(Schema, [{\n key: \"createNode\",\n value: function createNode$1(value, wrapScalars, tagName, ctx) {\n var baseCtx = {\n defaultPrefix: Schema.defaultPrefix,\n schema: this,\n wrapScalars: wrapScalars\n };\n var createCtx = ctx ? Object.assign(ctx, baseCtx) : baseCtx;\n return createNode(value, tagName, createCtx);\n }\n }, {\n key: \"createPair\",\n value: function createPair(key, value, ctx) {\n if (!ctx) ctx = {\n wrapScalars: true\n };\n var k = this.createNode(key, ctx.wrapScalars, null, ctx);\n var v = this.createNode(value, ctx.wrapScalars, null, ctx);\n return new Pair(k, v);\n }\n }]);\n\n return Schema;\n}();\n\n_defineProperty(Schema, \"defaultPrefix\", defaultTagPrefix);\n\n_defineProperty(Schema, \"defaultTags\", defaultTags);\n\nexport { Schema as S };\n", "import { d as defaultTagPrefix, _ as _createForOfIteratorHelper, a as _typeof, b as _createClass, c as _classCallCheck, e as _defineProperty, Y as YAMLSyntaxError, T as Type, f as YAMLWarning, g as YAMLSemanticError, h as _slicedToArray, i as YAMLError, j as _inherits, k as _createSuper } from './PlainValue-b8036b75.js';\nimport { parse as parse$1 } from './parse-cst.js';\nimport { b as binaryOptions, a as boolOptions, i as intOptions, n as nullOptions, s as strOptions, N as Node, P as Pair, S as Scalar, c as stringifyString, A as Alias, Y as YAMLSeq, d as YAMLMap, M as Merge, C as Collection, r as resolveNode, e as isEmptyPath, t as toJSON, f as addComment } from './resolveSeq-492ab440.js';\nimport { S as Schema } from './Schema-e94716c8.js';\nimport { w as warn } from './warnings-df54cb69.js';\n\nvar defaultOptions = {\n anchorPrefix: 'a',\n customTags: null,\n indent: 2,\n indentSeq: true,\n keepCstNodes: false,\n keepNodeTypes: true,\n keepBlobsInJSON: true,\n mapAsMap: false,\n maxAliasCount: 100,\n prettyErrors: false,\n // TODO Set true in v2\n simpleKeys: false,\n version: '1.2'\n};\nvar scalarOptions = {\n get binary() {\n return binaryOptions;\n },\n\n set binary(opt) {\n Object.assign(binaryOptions, opt);\n },\n\n get bool() {\n return boolOptions;\n },\n\n set bool(opt) {\n Object.assign(boolOptions, opt);\n },\n\n get int() {\n return intOptions;\n },\n\n set int(opt) {\n Object.assign(intOptions, opt);\n },\n\n get null() {\n return nullOptions;\n },\n\n set null(opt) {\n Object.assign(nullOptions, opt);\n },\n\n get str() {\n return strOptions;\n },\n\n set str(opt) {\n Object.assign(strOptions, opt);\n }\n\n};\nvar documentOptions = {\n '1.0': {\n schema: 'yaml-1.1',\n merge: true,\n tagPrefixes: [{\n handle: '!',\n prefix: defaultTagPrefix\n }, {\n handle: '!!',\n prefix: 'tag:private.yaml.org,2002:'\n }]\n },\n 1.1: {\n schema: 'yaml-1.1',\n merge: true,\n tagPrefixes: [{\n handle: '!',\n prefix: '!'\n }, {\n handle: '!!',\n prefix: defaultTagPrefix\n }]\n },\n 1.2: {\n schema: 'core',\n merge: false,\n tagPrefixes: [{\n handle: '!',\n prefix: '!'\n }, {\n handle: '!!',\n prefix: defaultTagPrefix\n }]\n }\n};\n\nfunction stringifyTag(doc, tag) {\n if ((doc.version || doc.options.version) === '1.0') {\n var priv = tag.match(/^tag:private\\.yaml\\.org,2002:([^:/]+)$/);\n if (priv) return '!' + priv[1];\n var vocab = tag.match(/^tag:([a-zA-Z0-9-]+)\\.yaml\\.org,2002:(.*)/);\n return vocab ? \"!\".concat(vocab[1], \"/\").concat(vocab[2]) : \"!\".concat(tag.replace(/^tag:/, ''));\n }\n\n var p = doc.tagPrefixes.find(function (p) {\n return tag.indexOf(p.prefix) === 0;\n });\n\n if (!p) {\n var dtp = doc.getDefaults().tagPrefixes;\n p = dtp && dtp.find(function (p) {\n return tag.indexOf(p.prefix) === 0;\n });\n }\n\n if (!p) return tag[0] === '!' ? tag : \"!<\".concat(tag, \">\");\n var suffix = tag.substr(p.prefix.length).replace(/[!,[\\]{}]/g, function (ch) {\n return {\n '!': '%21',\n ',': '%2C',\n '[': '%5B',\n ']': '%5D',\n '{': '%7B',\n '}': '%7D'\n }[ch];\n });\n return p.handle + suffix;\n}\n\nfunction getTagObject(tags, item) {\n if (item instanceof Alias) return Alias;\n\n if (item.tag) {\n var match = tags.filter(function (t) {\n return t.tag === item.tag;\n });\n if (match.length > 0) return match.find(function (t) {\n return t.format === item.format;\n }) || match[0];\n }\n\n var tagObj, obj;\n\n if (item instanceof Scalar) {\n obj = item.value; // TODO: deprecate/remove class check\n\n var _match = tags.filter(function (t) {\n return t.identify && t.identify(obj) || t.class && obj instanceof t.class;\n });\n\n tagObj = _match.find(function (t) {\n return t.format === item.format;\n }) || _match.find(function (t) {\n return !t.format;\n });\n } else {\n obj = item;\n tagObj = tags.find(function (t) {\n return t.nodeClass && obj instanceof t.nodeClass;\n });\n }\n\n if (!tagObj) {\n var name = obj && obj.constructor ? obj.constructor.name : _typeof(obj);\n throw new Error(\"Tag not resolved for \".concat(name, \" value\"));\n }\n\n return tagObj;\n} // needs to be called before value stringifier to allow for circular anchor refs\n\n\nfunction stringifyProps(node, tagObj, _ref) {\n var anchors = _ref.anchors,\n doc = _ref.doc;\n var props = [];\n var anchor = doc.anchors.getName(node);\n\n if (anchor) {\n anchors[anchor] = node;\n props.push(\"&\".concat(anchor));\n }\n\n if (node.tag) {\n props.push(stringifyTag(doc, node.tag));\n } else if (!tagObj.default) {\n props.push(stringifyTag(doc, tagObj.tag));\n }\n\n return props.join(' ');\n}\n\nfunction stringify$1(item, ctx, onComment, onChompKeep) {\n var _ctx$doc = ctx.doc,\n anchors = _ctx$doc.anchors,\n schema = _ctx$doc.schema;\n var tagObj;\n\n if (!(item instanceof Node)) {\n var createCtx = {\n aliasNodes: [],\n onTagObj: function onTagObj(o) {\n return tagObj = o;\n },\n prevObjects: new Map()\n };\n item = schema.createNode(item, true, null, createCtx);\n\n var _iterator = _createForOfIteratorHelper(createCtx.aliasNodes),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var alias = _step.value;\n alias.source = alias.source.node;\n var name = anchors.getName(alias.source);\n\n if (!name) {\n name = anchors.newName();\n anchors.map[name] = alias.source;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n if (item instanceof Pair) return item.toString(ctx, onComment, onChompKeep);\n if (!tagObj) tagObj = getTagObject(schema.tags, item);\n var props = stringifyProps(item, tagObj, ctx);\n if (props.length > 0) ctx.indentAtStart = (ctx.indentAtStart || 0) + props.length + 1;\n var str = typeof tagObj.stringify === 'function' ? tagObj.stringify(item, ctx, onComment, onChompKeep) : item instanceof Scalar ? stringifyString(item, ctx, onComment, onChompKeep) : item.toString(ctx, onComment, onChompKeep);\n if (!props) return str;\n return item instanceof Scalar || str[0] === '{' || str[0] === '[' ? \"\".concat(props, \" \").concat(str) : \"\".concat(props, \"\\n\").concat(ctx.indent).concat(str);\n}\n\nvar Anchors = /*#__PURE__*/function () {\n function Anchors(prefix) {\n _classCallCheck(this, Anchors);\n\n _defineProperty(this, \"map\", Object.create(null));\n\n this.prefix = prefix;\n }\n\n _createClass(Anchors, [{\n key: \"createAlias\",\n value: function createAlias(node, name) {\n this.setAnchor(node, name);\n return new Alias(node);\n }\n }, {\n key: \"createMergePair\",\n value: function createMergePair() {\n var _this = this;\n\n var merge = new Merge();\n\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n merge.value.items = sources.map(function (s) {\n if (s instanceof Alias) {\n if (s.source instanceof YAMLMap) return s;\n } else if (s instanceof YAMLMap) {\n return _this.createAlias(s);\n }\n\n throw new Error('Merge sources must be Map nodes or their Aliases');\n });\n return merge;\n }\n }, {\n key: \"getName\",\n value: function getName(node) {\n var map = this.map;\n return Object.keys(map).find(function (a) {\n return map[a] === node;\n });\n }\n }, {\n key: \"getNames\",\n value: function getNames() {\n return Object.keys(this.map);\n }\n }, {\n key: \"getNode\",\n value: function getNode(name) {\n return this.map[name];\n }\n }, {\n key: \"newName\",\n value: function newName(prefix) {\n if (!prefix) prefix = this.prefix;\n var names = Object.keys(this.map);\n\n for (var i = 1; true; ++i) {\n var name = \"\".concat(prefix).concat(i);\n if (!names.includes(name)) return name;\n }\n } // During parsing, map & aliases contain CST nodes\n\n }, {\n key: \"resolveNodes\",\n value: function resolveNodes() {\n var map = this.map,\n _cstAliases = this._cstAliases;\n Object.keys(map).forEach(function (a) {\n map[a] = map[a].resolved;\n });\n\n _cstAliases.forEach(function (a) {\n a.source = a.source.resolved;\n });\n\n delete this._cstAliases;\n }\n }, {\n key: \"setAnchor\",\n value: function setAnchor(node, name) {\n if (node != null && !Anchors.validAnchorNode(node)) {\n throw new Error('Anchors may only be set for Scalar, Seq and Map nodes');\n }\n\n if (name && /[\\x00-\\x19\\s,[\\]{}]/.test(name)) {\n throw new Error('Anchor names must not contain whitespace or control characters');\n }\n\n var map = this.map;\n var prev = node && Object.keys(map).find(function (a) {\n return map[a] === node;\n });\n\n if (prev) {\n if (!name) {\n return prev;\n } else if (prev !== name) {\n delete map[prev];\n map[name] = node;\n }\n } else {\n if (!name) {\n if (!node) return null;\n name = this.newName();\n }\n\n map[name] = node;\n }\n\n return name;\n }\n }], [{\n key: \"validAnchorNode\",\n value: function validAnchorNode(node) {\n return node instanceof Scalar || node instanceof YAMLSeq || node instanceof YAMLMap;\n }\n }]);\n\n return Anchors;\n}();\n\nvar visit = function visit(node, tags) {\n if (node && _typeof(node) === 'object') {\n var tag = node.tag;\n\n if (node instanceof Collection) {\n if (tag) tags[tag] = true;\n node.items.forEach(function (n) {\n return visit(n, tags);\n });\n } else if (node instanceof Pair) {\n visit(node.key, tags);\n visit(node.value, tags);\n } else if (node instanceof Scalar) {\n if (tag) tags[tag] = true;\n }\n }\n\n return tags;\n};\n\nvar listTagNames = function listTagNames(node) {\n return Object.keys(visit(node, {}));\n};\n\nfunction parseContents(doc, contents) {\n var comments = {\n before: [],\n after: []\n };\n var body = undefined;\n var spaceBefore = false;\n\n var _iterator = _createForOfIteratorHelper(contents),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var node = _step.value;\n\n if (node.valueRange) {\n if (body !== undefined) {\n var msg = 'Document contains trailing content not separated by a ... or --- line';\n doc.errors.push(new YAMLSyntaxError(node, msg));\n break;\n }\n\n var res = resolveNode(doc, node);\n\n if (spaceBefore) {\n res.spaceBefore = true;\n spaceBefore = false;\n }\n\n body = res;\n } else if (node.comment !== null) {\n var cc = body === undefined ? comments.before : comments.after;\n cc.push(node.comment);\n } else if (node.type === Type.BLANK_LINE) {\n spaceBefore = true;\n\n if (body === undefined && comments.before.length > 0 && !doc.commentBefore) {\n // space-separated comments at start are parsed as document comments\n doc.commentBefore = comments.before.join('\\n');\n comments.before = [];\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n doc.contents = body || null;\n\n if (!body) {\n doc.comment = comments.before.concat(comments.after).join('\\n') || null;\n } else {\n var cb = comments.before.join('\\n');\n\n if (cb) {\n var cbNode = body instanceof Collection && body.items[0] ? body.items[0] : body;\n cbNode.commentBefore = cbNode.commentBefore ? \"\".concat(cb, \"\\n\").concat(cbNode.commentBefore) : cb;\n }\n\n doc.comment = comments.after.join('\\n') || null;\n }\n}\n\nfunction resolveTagDirective(_ref, directive) {\n var tagPrefixes = _ref.tagPrefixes;\n\n var _directive$parameters = _slicedToArray(directive.parameters, 2),\n handle = _directive$parameters[0],\n prefix = _directive$parameters[1];\n\n if (!handle || !prefix) {\n var msg = 'Insufficient parameters given for %TAG directive';\n throw new YAMLSemanticError(directive, msg);\n }\n\n if (tagPrefixes.some(function (p) {\n return p.handle === handle;\n })) {\n var _msg = 'The %TAG directive must only be given at most once per handle in the same document.';\n throw new YAMLSemanticError(directive, _msg);\n }\n\n return {\n handle: handle,\n prefix: prefix\n };\n}\n\nfunction resolveYamlDirective(doc, directive) {\n var _directive$parameters2 = _slicedToArray(directive.parameters, 1),\n version = _directive$parameters2[0];\n\n if (directive.name === 'YAML:1.0') version = '1.0';\n\n if (!version) {\n var msg = 'Insufficient parameters given for %YAML directive';\n throw new YAMLSemanticError(directive, msg);\n }\n\n if (!documentOptions[version]) {\n var v0 = doc.version || doc.options.version;\n\n var _msg2 = \"Document will be parsed as YAML \".concat(v0, \" rather than YAML \").concat(version);\n\n doc.warnings.push(new YAMLWarning(directive, _msg2));\n }\n\n return version;\n}\n\nfunction parseDirectives(doc, directives, prevDoc) {\n var directiveComments = [];\n var hasDirectives = false;\n\n var _iterator = _createForOfIteratorHelper(directives),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var directive = _step.value;\n var comment = directive.comment,\n name = directive.name;\n\n switch (name) {\n case 'TAG':\n try {\n doc.tagPrefixes.push(resolveTagDirective(doc, directive));\n } catch (error) {\n doc.errors.push(error);\n }\n\n hasDirectives = true;\n break;\n\n case 'YAML':\n case 'YAML:1.0':\n if (doc.version) {\n var msg = 'The %YAML directive must only be given at most once per document.';\n doc.errors.push(new YAMLSemanticError(directive, msg));\n }\n\n try {\n doc.version = resolveYamlDirective(doc, directive);\n } catch (error) {\n doc.errors.push(error);\n }\n\n hasDirectives = true;\n break;\n\n default:\n if (name) {\n var _msg3 = \"YAML only supports %TAG and %YAML directives, and not %\".concat(name);\n\n doc.warnings.push(new YAMLWarning(directive, _msg3));\n }\n\n }\n\n if (comment) directiveComments.push(comment);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (prevDoc && !hasDirectives && '1.1' === (doc.version || prevDoc.version || doc.options.version)) {\n var copyTagPrefix = function copyTagPrefix(_ref2) {\n var handle = _ref2.handle,\n prefix = _ref2.prefix;\n return {\n handle: handle,\n prefix: prefix\n };\n };\n\n doc.tagPrefixes = prevDoc.tagPrefixes.map(copyTagPrefix);\n doc.version = prevDoc.version;\n }\n\n doc.commentBefore = directiveComments.join('\\n') || null;\n}\n\nfunction assertCollection(contents) {\n if (contents instanceof Collection) return true;\n throw new Error('Expected a YAML collection as document contents');\n}\n\nvar Document$1 = /*#__PURE__*/function () {\n function Document(options) {\n _classCallCheck(this, Document);\n\n this.anchors = new Anchors(options.anchorPrefix);\n this.commentBefore = null;\n this.comment = null;\n this.contents = null;\n this.directivesEndMarker = null;\n this.errors = [];\n this.options = options;\n this.schema = null;\n this.tagPrefixes = [];\n this.version = null;\n this.warnings = [];\n }\n\n _createClass(Document, [{\n key: \"add\",\n value: function add(value) {\n assertCollection(this.contents);\n return this.contents.add(value);\n }\n }, {\n key: \"addIn\",\n value: function addIn(path, value) {\n assertCollection(this.contents);\n this.contents.addIn(path, value);\n }\n }, {\n key: \"delete\",\n value: function _delete(key) {\n assertCollection(this.contents);\n return this.contents.delete(key);\n }\n }, {\n key: \"deleteIn\",\n value: function deleteIn(path) {\n if (isEmptyPath(path)) {\n if (this.contents == null) return false;\n this.contents = null;\n return true;\n }\n\n assertCollection(this.contents);\n return this.contents.deleteIn(path);\n }\n }, {\n key: \"getDefaults\",\n value: function getDefaults() {\n return Document.defaults[this.version] || Document.defaults[this.options.version] || {};\n }\n }, {\n key: \"get\",\n value: function get(key, keepScalar) {\n return this.contents instanceof Collection ? this.contents.get(key, keepScalar) : undefined;\n }\n }, {\n key: \"getIn\",\n value: function getIn(path, keepScalar) {\n if (isEmptyPath(path)) return !keepScalar && this.contents instanceof Scalar ? this.contents.value : this.contents;\n return this.contents instanceof Collection ? this.contents.getIn(path, keepScalar) : undefined;\n }\n }, {\n key: \"has\",\n value: function has(key) {\n return this.contents instanceof Collection ? this.contents.has(key) : false;\n }\n }, {\n key: \"hasIn\",\n value: function hasIn(path) {\n if (isEmptyPath(path)) return this.contents !== undefined;\n return this.contents instanceof Collection ? this.contents.hasIn(path) : false;\n }\n }, {\n key: \"set\",\n value: function set(key, value) {\n assertCollection(this.contents);\n this.contents.set(key, value);\n }\n }, {\n key: \"setIn\",\n value: function setIn(path, value) {\n if (isEmptyPath(path)) this.contents = value;else {\n assertCollection(this.contents);\n this.contents.setIn(path, value);\n }\n }\n }, {\n key: \"setSchema\",\n value: function setSchema(id, customTags) {\n if (!id && !customTags && this.schema) return;\n if (typeof id === 'number') id = id.toFixed(1);\n\n if (id === '1.0' || id === '1.1' || id === '1.2') {\n if (this.version) this.version = id;else this.options.version = id;\n delete this.options.schema;\n } else if (id && typeof id === 'string') {\n this.options.schema = id;\n }\n\n if (Array.isArray(customTags)) this.options.customTags = customTags;\n var opt = Object.assign({}, this.getDefaults(), this.options);\n this.schema = new Schema(opt);\n }\n }, {\n key: \"parse\",\n value: function parse(node, prevDoc) {\n if (this.options.keepCstNodes) this.cstNode = node;\n if (this.options.keepNodeTypes) this.type = 'DOCUMENT';\n var _node$directives = node.directives,\n directives = _node$directives === void 0 ? [] : _node$directives,\n _node$contents = node.contents,\n contents = _node$contents === void 0 ? [] : _node$contents,\n directivesEndMarker = node.directivesEndMarker,\n error = node.error,\n valueRange = node.valueRange;\n\n if (error) {\n if (!error.source) error.source = this;\n this.errors.push(error);\n }\n\n parseDirectives(this, directives, prevDoc);\n if (directivesEndMarker) this.directivesEndMarker = true;\n this.range = valueRange ? [valueRange.start, valueRange.end] : null;\n this.setSchema();\n this.anchors._cstAliases = [];\n parseContents(this, contents);\n this.anchors.resolveNodes();\n\n if (this.options.prettyErrors) {\n var _iterator = _createForOfIteratorHelper(this.errors),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _error = _step.value;\n if (_error instanceof YAMLError) _error.makePretty();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var _iterator2 = _createForOfIteratorHelper(this.warnings),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var warn = _step2.value;\n if (warn instanceof YAMLError) warn.makePretty();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n return this;\n }\n }, {\n key: \"listNonDefaultTags\",\n value: function listNonDefaultTags() {\n return listTagNames(this.contents).filter(function (t) {\n return t.indexOf(Schema.defaultPrefix) !== 0;\n });\n }\n }, {\n key: \"setTagPrefix\",\n value: function setTagPrefix(handle, prefix) {\n if (handle[0] !== '!' || handle[handle.length - 1] !== '!') throw new Error('Handle must start and end with !');\n\n if (prefix) {\n var prev = this.tagPrefixes.find(function (p) {\n return p.handle === handle;\n });\n if (prev) prev.prefix = prefix;else this.tagPrefixes.push({\n handle: handle,\n prefix: prefix\n });\n } else {\n this.tagPrefixes = this.tagPrefixes.filter(function (p) {\n return p.handle !== handle;\n });\n }\n }\n }, {\n key: \"toJSON\",\n value: function toJSON$1(arg, onAnchor) {\n var _this = this;\n\n var _this$options = this.options,\n keepBlobsInJSON = _this$options.keepBlobsInJSON,\n mapAsMap = _this$options.mapAsMap,\n maxAliasCount = _this$options.maxAliasCount;\n var keep = keepBlobsInJSON && (typeof arg !== 'string' || !(this.contents instanceof Scalar));\n var ctx = {\n doc: this,\n indentStep: ' ',\n keep: keep,\n mapAsMap: keep && !!mapAsMap,\n maxAliasCount: maxAliasCount,\n stringify: stringify$1 // Requiring directly in Pair would create circular dependencies\n\n };\n var anchorNames = Object.keys(this.anchors.map);\n if (anchorNames.length > 0) ctx.anchors = new Map(anchorNames.map(function (name) {\n return [_this.anchors.map[name], {\n alias: [],\n aliasCount: 0,\n count: 1\n }];\n }));\n\n var res = toJSON(this.contents, arg, ctx);\n\n if (typeof onAnchor === 'function' && ctx.anchors) {\n var _iterator3 = _createForOfIteratorHelper(ctx.anchors.values()),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _step3$value = _step3.value,\n count = _step3$value.count,\n _res = _step3$value.res;\n onAnchor(_res, count);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n\n return res;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n if (this.errors.length > 0) throw new Error('Document with errors cannot be stringified');\n var indentSize = this.options.indent;\n\n if (!Number.isInteger(indentSize) || indentSize <= 0) {\n var s = JSON.stringify(indentSize);\n throw new Error(\"\\\"indent\\\" option must be a positive integer, not \".concat(s));\n }\n\n this.setSchema();\n var lines = [];\n var hasDirectives = false;\n\n if (this.version) {\n var vd = '%YAML 1.2';\n\n if (this.schema.name === 'yaml-1.1') {\n if (this.version === '1.0') vd = '%YAML:1.0';else if (this.version === '1.1') vd = '%YAML 1.1';\n }\n\n lines.push(vd);\n hasDirectives = true;\n }\n\n var tagNames = this.listNonDefaultTags();\n this.tagPrefixes.forEach(function (_ref) {\n var handle = _ref.handle,\n prefix = _ref.prefix;\n\n if (tagNames.some(function (t) {\n return t.indexOf(prefix) === 0;\n })) {\n lines.push(\"%TAG \".concat(handle, \" \").concat(prefix));\n hasDirectives = true;\n }\n });\n if (hasDirectives || this.directivesEndMarker) lines.push('---');\n\n if (this.commentBefore) {\n if (hasDirectives || !this.directivesEndMarker) lines.unshift('');\n lines.unshift(this.commentBefore.replace(/^/gm, '#'));\n }\n\n var ctx = {\n anchors: Object.create(null),\n doc: this,\n indent: '',\n indentStep: ' '.repeat(indentSize),\n stringify: stringify$1 // Requiring directly in nodes would create circular dependencies\n\n };\n var chompKeep = false;\n var contentComment = null;\n\n if (this.contents) {\n if (this.contents instanceof Node) {\n if (this.contents.spaceBefore && (hasDirectives || this.directivesEndMarker)) lines.push('');\n if (this.contents.commentBefore) lines.push(this.contents.commentBefore.replace(/^/gm, '#')); // top-level block scalars need to be indented if followed by a comment\n\n ctx.forceBlockIndent = !!this.comment;\n contentComment = this.contents.comment;\n }\n\n var onChompKeep = contentComment ? null : function () {\n return chompKeep = true;\n };\n var body = stringify$1(this.contents, ctx, function () {\n return contentComment = null;\n }, onChompKeep);\n lines.push(addComment(body, '', contentComment));\n } else if (this.contents !== undefined) {\n lines.push(stringify$1(this.contents, ctx));\n }\n\n if (this.comment) {\n if ((!chompKeep || contentComment) && lines[lines.length - 1] !== '') lines.push('');\n lines.push(this.comment.replace(/^/gm, '#'));\n }\n\n return lines.join('\\n') + '\\n';\n }\n }]);\n\n return Document;\n}();\n\n_defineProperty(Document$1, \"defaults\", documentOptions);\n\nfunction createNode(value) {\n var wrapScalars = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var tag = arguments.length > 2 ? arguments[2] : undefined;\n\n if (tag === undefined && typeof wrapScalars === 'string') {\n tag = wrapScalars;\n wrapScalars = true;\n }\n\n var options = Object.assign({}, Document$1.defaults[defaultOptions.version], defaultOptions);\n var schema = new Schema(options);\n return schema.createNode(value, wrapScalars, tag);\n}\n\nvar Document = /*#__PURE__*/function (_YAMLDocument) {\n _inherits(Document, _YAMLDocument);\n\n var _super = _createSuper(Document);\n\n function Document(options) {\n _classCallCheck(this, Document);\n\n return _super.call(this, Object.assign({}, defaultOptions, options));\n }\n\n return Document;\n}(Document$1);\n\nfunction parseAllDocuments(src, options) {\n var stream = [];\n var prev;\n\n var _iterator = _createForOfIteratorHelper(parse$1(src)),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var cstDoc = _step.value;\n var doc = new Document(options);\n doc.parse(cstDoc, prev);\n stream.push(doc);\n prev = doc;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return stream;\n}\n\nfunction parseDocument(src, options) {\n var cst = parse$1(src);\n var doc = new Document(options).parse(cst[0]);\n\n if (cst.length > 1) {\n var errMsg = 'Source contains multiple documents; please use YAML.parseAllDocuments()';\n doc.errors.unshift(new YAMLSemanticError(cst[1], errMsg));\n }\n\n return doc;\n}\n\nfunction parse(src, options) {\n var doc = parseDocument(src, options);\n doc.warnings.forEach(function (warning) {\n return warn(warning);\n });\n if (doc.errors.length > 0) throw doc.errors[0];\n return doc.toJSON();\n}\n\nfunction stringify(value, options) {\n var doc = new Document(options);\n doc.contents = value;\n return String(doc);\n}\n\nvar YAML = {\n createNode: createNode,\n defaultOptions: defaultOptions,\n Document: Document,\n parse: parse,\n parseAllDocuments: parseAllDocuments,\n parseCST: parse$1,\n parseDocument: parseDocument,\n scalarOptions: scalarOptions,\n stringify: stringify\n};\n\nexport { YAML };\n", "module.exports = require('./dist').YAML\n", "/* eslint-disable @typescript-eslint/no-require-imports */\n\nimport parseJsonType from 'parse-json';\nimport yamlType from 'yaml';\nimport importFreshType from 'import-fresh';\nimport { LoaderSync } from './index';\nimport { LoadersSync } from './types';\n\nlet importFresh: typeof importFreshType;\nconst loadJs: LoaderSync = function loadJs(filepath) {\n if (importFresh === undefined) {\n importFresh = require('import-fresh');\n }\n\n const result = importFresh(filepath);\n return result;\n};\n\nlet parseJson: typeof parseJsonType;\nconst loadJson: LoaderSync = function loadJson(filepath, content) {\n if (parseJson === undefined) {\n parseJson = require('parse-json');\n }\n\n try {\n const result = parseJson(content);\n return result;\n } catch (error) {\n error.message = `JSON Error in ${filepath}:\\n${error.message}`;\n throw error;\n }\n};\n\nlet yaml: typeof yamlType;\nconst loadYaml: LoaderSync = function loadYaml(filepath, content) {\n if (yaml === undefined) {\n yaml = require('yaml');\n }\n\n try {\n const result = yaml.parse(content, { prettyErrors: true });\n return result;\n } catch (error) {\n error.message = `YAML Error in ${filepath}:\\n${error.message}`;\n throw error;\n }\n};\n\nconst loaders: LoadersSync = { loadJs, loadJson, loadYaml };\n\nexport { loaders };\n", "// Resolves property names or property paths defined with period-delimited\n// strings or arrays of strings. Property names that are found on the source\n// object are used directly (even if they include a period).\n// Nested property names that include periods, within a path, are only\n// understood in array paths.\nfunction getPropertyByPath(\n source: { [key: string]: unknown },\n path: string | Array,\n): unknown {\n if (\n typeof path === 'string' &&\n Object.prototype.hasOwnProperty.call(source, path)\n ) {\n return source[path];\n }\n\n const parsedPath = typeof path === 'string' ? path.split('.') : path;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return parsedPath.reduce((previous: any, key): unknown => {\n if (previous === undefined) {\n return previous;\n }\n return previous[key];\n }, source);\n}\n\nexport { getPropertyByPath };\n", "import path from 'path';\nimport { loaders } from './loaders';\nimport { getPropertyByPath } from './getPropertyByPath';\nimport {\n CosmiconfigResult,\n ExplorerOptions,\n ExplorerOptionsSync,\n Cache,\n LoadedFileContent,\n} from './types';\nimport { Loader } from './index';\n\nclass ExplorerBase {\n protected readonly loadCache?: Cache;\n protected readonly searchCache?: Cache;\n protected readonly config: T;\n\n public constructor(options: T) {\n if (options.cache === true) {\n this.loadCache = new Map();\n this.searchCache = new Map();\n }\n\n this.config = options;\n this.validateConfig();\n }\n\n public clearLoadCache(): void {\n if (this.loadCache) {\n this.loadCache.clear();\n }\n }\n\n public clearSearchCache(): void {\n if (this.searchCache) {\n this.searchCache.clear();\n }\n }\n\n public clearCaches(): void {\n this.clearLoadCache();\n this.clearSearchCache();\n }\n\n private validateConfig(): void {\n const config = this.config;\n\n config.searchPlaces.forEach((place): void => {\n const loaderKey = path.extname(place) || 'noExt';\n const loader = config.loaders[loaderKey];\n if (!loader) {\n throw new Error(\n `No loader specified for ${getExtensionDescription(\n place,\n )}, so searchPlaces item \"${place}\" is invalid`,\n );\n }\n\n if (typeof loader !== 'function') {\n throw new Error(\n `loader for ${getExtensionDescription(\n place,\n )} is not a function (type provided: \"${typeof loader}\"), so searchPlaces item \"${place}\" is invalid`,\n );\n }\n });\n }\n\n protected shouldSearchStopWithResult(result: CosmiconfigResult): boolean {\n if (result === null) return false;\n if (result.isEmpty && this.config.ignoreEmptySearchPlaces) return false;\n return true;\n }\n\n protected nextDirectoryToSearch(\n currentDir: string,\n currentResult: CosmiconfigResult,\n ): string | null {\n if (this.shouldSearchStopWithResult(currentResult)) {\n return null;\n }\n const nextDir = nextDirUp(currentDir);\n if (nextDir === currentDir || currentDir === this.config.stopDir) {\n return null;\n }\n return nextDir;\n }\n\n private loadPackageProp(filepath: string, content: string): unknown {\n const parsedContent = loaders.loadJson(filepath, content);\n const packagePropValue = getPropertyByPath(\n parsedContent,\n this.config.packageProp,\n );\n return packagePropValue || null;\n }\n\n protected getLoaderEntryForFile(filepath: string): Loader {\n if (path.basename(filepath) === 'package.json') {\n const loader = this.loadPackageProp.bind(this);\n return loader;\n }\n\n const loaderKey = path.extname(filepath) || 'noExt';\n\n const loader = this.config.loaders[loaderKey];\n\n if (!loader) {\n throw new Error(\n `No loader specified for ${getExtensionDescription(filepath)}`,\n );\n }\n\n return loader;\n }\n\n protected loadedContentToCosmiconfigResult(\n filepath: string,\n loadedContent: LoadedFileContent,\n ): CosmiconfigResult {\n if (loadedContent === null) {\n return null;\n }\n if (loadedContent === undefined) {\n return { filepath, config: undefined, isEmpty: true };\n }\n return { config: loadedContent, filepath };\n }\n\n protected validateFilePath(filepath: string): void {\n if (!filepath) {\n throw new Error('load must pass a non-empty string');\n }\n }\n}\n\nfunction nextDirUp(dir: string): string {\n return path.dirname(dir);\n}\n\nfunction getExtensionDescription(filepath: string): string {\n const ext = path.extname(filepath);\n return ext ? `extension \"${ext}\"` : 'files without extensions';\n}\n\nexport { ExplorerBase, getExtensionDescription };\n", "import fs from 'fs';\n\nasync function fsReadFileAsync(\n pathname: string,\n encoding: BufferEncoding,\n): Promise {\n return new Promise((resolve, reject): void => {\n fs.readFile(pathname, encoding, (error, contents): void => {\n if (error) {\n reject(error);\n return;\n }\n\n resolve(contents);\n });\n });\n}\n\ninterface Options {\n throwNotFound?: boolean;\n}\n\nasync function readFile(\n filepath: string,\n options: Options = {},\n): Promise {\n const throwNotFound = options.throwNotFound === true;\n\n try {\n const content = await fsReadFileAsync(filepath, 'utf8');\n\n return content;\n } catch (error) {\n if (\n throwNotFound === false &&\n (error.code === 'ENOENT' || error.code === 'EISDIR')\n ) {\n return null;\n }\n\n throw error;\n }\n}\n\nfunction readFileSync(filepath: string, options: Options = {}): string | null {\n const throwNotFound = options.throwNotFound === true;\n\n try {\n const content = fs.readFileSync(filepath, 'utf8');\n\n return content;\n } catch (error) {\n if (\n throwNotFound === false &&\n (error.code === 'ENOENT' || error.code === 'EISDIR')\n ) {\n return null;\n }\n\n throw error;\n }\n}\n\nexport { readFile, readFileSync };\n", "import { Cache, CosmiconfigResult } from './types';\n\nasync function cacheWrapper(\n cache: Cache,\n key: string,\n fn: () => Promise,\n): Promise {\n const cached = cache.get(key);\n if (cached !== undefined) {\n return cached;\n }\n\n const result = await fn();\n cache.set(key, result);\n return result;\n}\n\nfunction cacheWrapperSync(\n cache: Cache,\n key: string,\n fn: () => CosmiconfigResult,\n): CosmiconfigResult {\n const cached = cache.get(key);\n if (cached !== undefined) {\n return cached;\n }\n\n const result = fn();\n cache.set(key, result);\n return result;\n}\n\nexport { cacheWrapper, cacheWrapperSync };\n", "'use strict';\nconst {promisify} = require('util');\nconst fs = require('fs');\n\nasync function isType(fsStatType, statsMethodName, filePath) {\n\tif (typeof filePath !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got ${typeof filePath}`);\n\t}\n\n\ttry {\n\t\tconst stats = await promisify(fs[fsStatType])(filePath);\n\t\treturn stats[statsMethodName]();\n\t} catch (error) {\n\t\tif (error.code === 'ENOENT') {\n\t\t\treturn false;\n\t\t}\n\n\t\tthrow error;\n\t}\n}\n\nfunction isTypeSync(fsStatType, statsMethodName, filePath) {\n\tif (typeof filePath !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got ${typeof filePath}`);\n\t}\n\n\ttry {\n\t\treturn fs[fsStatType](filePath)[statsMethodName]();\n\t} catch (error) {\n\t\tif (error.code === 'ENOENT') {\n\t\t\treturn false;\n\t\t}\n\n\t\tthrow error;\n\t}\n}\n\nexports.isFile = isType.bind(null, 'stat', 'isFile');\nexports.isDirectory = isType.bind(null, 'stat', 'isDirectory');\nexports.isSymlink = isType.bind(null, 'lstat', 'isSymbolicLink');\nexports.isFileSync = isTypeSync.bind(null, 'statSync', 'isFile');\nexports.isDirectorySync = isTypeSync.bind(null, 'statSync', 'isDirectory');\nexports.isSymlinkSync = isTypeSync.bind(null, 'lstatSync', 'isSymbolicLink');\n", "import path from 'path';\nimport { isDirectory, isDirectorySync } from 'path-type';\n\nasync function getDirectory(filepath: string): Promise {\n const filePathIsDirectory = await isDirectory(filepath);\n\n if (filePathIsDirectory === true) {\n return filepath;\n }\n\n const directory = path.dirname(filepath);\n\n return directory;\n}\n\nfunction getDirectorySync(filepath: string): string {\n const filePathIsDirectory = isDirectorySync(filepath);\n\n if (filePathIsDirectory === true) {\n return filepath;\n }\n\n const directory = path.dirname(filepath);\n\n return directory;\n}\n\nexport { getDirectory, getDirectorySync };\n", "import path from 'path';\nimport { ExplorerBase } from './ExplorerBase';\nimport { readFile } from './readFile';\nimport { cacheWrapper } from './cacheWrapper';\nimport { getDirectory } from './getDirectory';\nimport { CosmiconfigResult, ExplorerOptions, LoadedFileContent } from './types';\n\nclass Explorer extends ExplorerBase {\n public constructor(options: ExplorerOptions) {\n super(options);\n }\n\n public async search(\n searchFrom: string = process.cwd(),\n ): Promise {\n const startDirectory = await getDirectory(searchFrom);\n const result = await this.searchFromDirectory(startDirectory);\n\n return result;\n }\n\n private async searchFromDirectory(dir: string): Promise {\n const absoluteDir = path.resolve(process.cwd(), dir);\n\n const run = async (): Promise => {\n const result = await this.searchDirectory(absoluteDir);\n const nextDir = this.nextDirectoryToSearch(absoluteDir, result);\n\n if (nextDir) {\n return this.searchFromDirectory(nextDir);\n }\n\n const transformResult = await this.config.transform(result);\n\n return transformResult;\n };\n\n if (this.searchCache) {\n return cacheWrapper(this.searchCache, absoluteDir, run);\n }\n\n return run();\n }\n\n private async searchDirectory(dir: string): Promise {\n for await (const place of this.config.searchPlaces) {\n const placeResult = await this.loadSearchPlace(dir, place);\n\n if (this.shouldSearchStopWithResult(placeResult) === true) {\n return placeResult;\n }\n }\n\n // config not found\n return null;\n }\n\n private async loadSearchPlace(\n dir: string,\n place: string,\n ): Promise {\n const filepath = path.join(dir, place);\n const fileContents = await readFile(filepath);\n\n const result = await this.createCosmiconfigResult(filepath, fileContents);\n\n return result;\n }\n\n private async loadFileContent(\n filepath: string,\n content: string | null,\n ): Promise {\n if (content === null) {\n return null;\n }\n if (content.trim() === '') {\n return undefined;\n }\n const loader = this.getLoaderEntryForFile(filepath);\n const loaderResult = await loader(filepath, content);\n return loaderResult;\n }\n\n private async createCosmiconfigResult(\n filepath: string,\n content: string | null,\n ): Promise {\n const fileContent = await this.loadFileContent(filepath, content);\n const result = this.loadedContentToCosmiconfigResult(filepath, fileContent);\n\n return result;\n }\n\n public async load(filepath: string): Promise {\n this.validateFilePath(filepath);\n const absoluteFilePath = path.resolve(process.cwd(), filepath);\n\n const runLoad = async (): Promise => {\n const fileContents = await readFile(absoluteFilePath, {\n throwNotFound: true,\n });\n\n const result = await this.createCosmiconfigResult(\n absoluteFilePath,\n fileContents,\n );\n\n const transformResult = await this.config.transform(result);\n\n return transformResult;\n };\n\n if (this.loadCache) {\n return cacheWrapper(this.loadCache, absoluteFilePath, runLoad);\n }\n\n return runLoad();\n }\n}\n\nexport { Explorer };\n", "import path from 'path';\nimport { ExplorerBase } from './ExplorerBase';\nimport { readFileSync } from './readFile';\nimport { cacheWrapperSync } from './cacheWrapper';\nimport { getDirectorySync } from './getDirectory';\nimport {\n CosmiconfigResult,\n ExplorerOptionsSync,\n LoadedFileContent,\n} from './types';\n\nclass ExplorerSync extends ExplorerBase {\n public constructor(options: ExplorerOptionsSync) {\n super(options);\n }\n\n public searchSync(searchFrom: string = process.cwd()): CosmiconfigResult {\n const startDirectory = getDirectorySync(searchFrom);\n const result = this.searchFromDirectorySync(startDirectory);\n\n return result;\n }\n\n private searchFromDirectorySync(dir: string): CosmiconfigResult {\n const absoluteDir = path.resolve(process.cwd(), dir);\n\n const run = (): CosmiconfigResult => {\n const result = this.searchDirectorySync(absoluteDir);\n const nextDir = this.nextDirectoryToSearch(absoluteDir, result);\n\n if (nextDir) {\n return this.searchFromDirectorySync(nextDir);\n }\n\n const transformResult = this.config.transform(result);\n\n return transformResult;\n };\n\n if (this.searchCache) {\n return cacheWrapperSync(this.searchCache, absoluteDir, run);\n }\n\n return run();\n }\n\n private searchDirectorySync(dir: string): CosmiconfigResult {\n for (const place of this.config.searchPlaces) {\n const placeResult = this.loadSearchPlaceSync(dir, place);\n\n if (this.shouldSearchStopWithResult(placeResult) === true) {\n return placeResult;\n }\n }\n\n // config not found\n return null;\n }\n\n private loadSearchPlaceSync(dir: string, place: string): CosmiconfigResult {\n const filepath = path.join(dir, place);\n const content = readFileSync(filepath);\n\n const result = this.createCosmiconfigResultSync(filepath, content);\n\n return result;\n }\n\n private loadFileContentSync(\n filepath: string,\n content: string | null,\n ): LoadedFileContent {\n if (content === null) {\n return null;\n }\n if (content.trim() === '') {\n return undefined;\n }\n const loader = this.getLoaderEntryForFile(filepath);\n const loaderResult = loader(filepath, content);\n\n return loaderResult;\n }\n\n private createCosmiconfigResultSync(\n filepath: string,\n content: string | null,\n ): CosmiconfigResult {\n const fileContent = this.loadFileContentSync(filepath, content);\n const result = this.loadedContentToCosmiconfigResult(filepath, fileContent);\n\n return result;\n }\n\n public loadSync(filepath: string): CosmiconfigResult {\n this.validateFilePath(filepath);\n const absoluteFilePath = path.resolve(process.cwd(), filepath);\n\n const runLoadSync = (): CosmiconfigResult => {\n const content = readFileSync(absoluteFilePath, { throwNotFound: true });\n const cosmiconfigResult = this.createCosmiconfigResultSync(\n absoluteFilePath,\n content,\n );\n\n const transformResult = this.config.transform(cosmiconfigResult);\n\n return transformResult;\n };\n\n if (this.loadCache) {\n return cacheWrapperSync(this.loadCache, absoluteFilePath, runLoadSync);\n }\n\n return runLoadSync();\n }\n}\n\nexport { ExplorerSync };\n", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n//# sourceMappingURL=types.js.map", "/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport os from 'os';\nimport { Explorer } from './Explorer';\nimport { ExplorerSync } from './ExplorerSync';\nimport { loaders } from './loaders';\nimport {\n Config,\n CosmiconfigResult,\n ExplorerOptions,\n ExplorerOptionsSync,\n Loaders,\n LoadersSync,\n} from './types';\n\ntype LoaderResult = Config | null;\nexport type Loader =\n | ((filepath: string, content: string) => Promise)\n | LoaderSync;\nexport type LoaderSync = (filepath: string, content: string) => LoaderResult;\n\nexport type Transform =\n | ((CosmiconfigResult: CosmiconfigResult) => Promise)\n | TransformSync;\n\nexport type TransformSync = (\n CosmiconfigResult: CosmiconfigResult,\n) => CosmiconfigResult;\n\ninterface OptionsBase {\n packageProp?: string | Array;\n searchPlaces?: Array;\n ignoreEmptySearchPlaces?: boolean;\n stopDir?: string;\n cache?: boolean;\n}\n\nexport interface Options extends OptionsBase {\n loaders?: Loaders;\n transform?: Transform;\n}\n\nexport interface OptionsSync extends OptionsBase {\n loaders?: LoadersSync;\n transform?: TransformSync;\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nfunction cosmiconfig(moduleName: string, options: Options = {}) {\n const normalizedOptions: ExplorerOptions = normalizeOptions(\n moduleName,\n options,\n );\n\n const explorer = new Explorer(normalizedOptions);\n\n return {\n search: explorer.search.bind(explorer),\n load: explorer.load.bind(explorer),\n clearLoadCache: explorer.clearLoadCache.bind(explorer),\n clearSearchCache: explorer.clearSearchCache.bind(explorer),\n clearCaches: explorer.clearCaches.bind(explorer),\n } as const;\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nfunction cosmiconfigSync(moduleName: string, options: OptionsSync = {}) {\n const normalizedOptions: ExplorerOptionsSync = normalizeOptions(\n moduleName,\n options,\n );\n\n const explorerSync = new ExplorerSync(normalizedOptions);\n\n return {\n search: explorerSync.searchSync.bind(explorerSync),\n load: explorerSync.loadSync.bind(explorerSync),\n clearLoadCache: explorerSync.clearLoadCache.bind(explorerSync),\n clearSearchCache: explorerSync.clearSearchCache.bind(explorerSync),\n clearCaches: explorerSync.clearCaches.bind(explorerSync),\n } as const;\n}\n\n// do not allow mutation of default loaders. Make sure it is set inside options\nconst defaultLoaders = Object.freeze({\n '.cjs': loaders.loadJs,\n '.js': loaders.loadJs,\n '.json': loaders.loadJson,\n '.yaml': loaders.loadYaml,\n '.yml': loaders.loadYaml,\n noExt: loaders.loadYaml,\n} as const);\n\nconst identity: TransformSync = function identity(x) {\n return x;\n};\n\nfunction normalizeOptions(\n moduleName: string,\n options: OptionsSync,\n): ExplorerOptionsSync;\nfunction normalizeOptions(\n moduleName: string,\n options: Options,\n): ExplorerOptions;\nfunction normalizeOptions(\n moduleName: string,\n options: Options | OptionsSync,\n): ExplorerOptions | ExplorerOptionsSync {\n const defaults: ExplorerOptions | ExplorerOptionsSync = {\n packageProp: moduleName,\n searchPlaces: [\n 'package.json',\n `.${moduleName}rc`,\n `.${moduleName}rc.json`,\n `.${moduleName}rc.yaml`,\n `.${moduleName}rc.yml`,\n `.${moduleName}rc.js`,\n `.${moduleName}rc.cjs`,\n `.config/${moduleName}rc`,\n `.config/${moduleName}rc.json`,\n `.config/${moduleName}rc.yaml`,\n `.config/${moduleName}rc.yml`,\n `.config/${moduleName}rc.js`,\n `.config/${moduleName}rc.cjs`,\n `${moduleName}.config.js`,\n `${moduleName}.config.cjs`,\n ],\n ignoreEmptySearchPlaces: true,\n stopDir: os.homedir(),\n cache: true,\n transform: identity,\n loaders: defaultLoaders,\n };\n\n const normalizedOptions: ExplorerOptions | ExplorerOptionsSync = {\n ...defaults,\n ...options,\n loaders: {\n ...defaults.loaders,\n ...options.loaders,\n },\n };\n\n return normalizedOptions;\n}\n\nexport { cosmiconfig, cosmiconfigSync, defaultLoaders };\n", "\"use strict\";\n\nconst p = require('path');\n\nconst resolve = require('resolve'); // const printAST = require('ast-pretty-print')\n\n\nconst macrosRegex = /[./]macro(\\.c?js)?$/;\n\nconst testMacrosRegex = v => macrosRegex.test(v); // https://stackoverflow.com/a/32749533/971592\n\n\nclass MacroError extends Error {\n constructor(message) {\n super(message);\n this.name = 'MacroError';\n /* istanbul ignore else */\n\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, this.constructor);\n } else if (!this.stack) {\n this.stack = new Error(message).stack;\n }\n }\n\n}\n\nlet _configExplorer = null;\n\nfunction getConfigExplorer() {\n return _configExplorer = _configExplorer || // Lazy load cosmiconfig since it is a relatively large bundle\n require('cosmiconfig').cosmiconfigSync('babel-plugin-macros', {\n searchPlaces: ['package.json', '.babel-plugin-macrosrc', '.babel-plugin-macrosrc.json', '.babel-plugin-macrosrc.yaml', '.babel-plugin-macrosrc.yml', '.babel-plugin-macrosrc.js', 'babel-plugin-macros.config.js'],\n packageProp: 'babelMacros'\n });\n}\n\nfunction createMacro(macro, options = {}) {\n if (options.configName === 'options') {\n throw new Error(`You cannot use the configName \"options\". It is reserved for babel-plugin-macros.`);\n }\n\n macroWrapper.isBabelMacro = true;\n macroWrapper.options = options;\n return macroWrapper;\n\n function macroWrapper(args) {\n const {\n source,\n isBabelMacrosCall\n } = args;\n\n if (!isBabelMacrosCall) {\n throw new MacroError(`The macro you imported from \"${source}\" is being executed outside the context of compilation with babel-plugin-macros. ` + `This indicates that you don't have the babel plugin \"babel-plugin-macros\" configured correctly. ` + `Please see the documentation for how to configure babel-plugin-macros properly: ` + 'https://github.com/kentcdodds/babel-plugin-macros/blob/master/other/docs/user.md');\n }\n\n return macro(args);\n }\n}\n\nfunction nodeResolvePath(source, basedir) {\n return resolve.sync(source, {\n basedir,\n extensions: ['.js', '.ts', '.tsx', '.mjs', '.cjs', '.jsx'],\n // This is here to support the package being globally installed\n // read more: https://github.com/kentcdodds/babel-plugin-macros/pull/138\n paths: [p.resolve(__dirname, '../../')]\n });\n}\n\nfunction macrosPlugin(babel, // istanbul doesn't like the default of an object for the plugin options\n// but I think older versions of babel didn't always pass options\n// istanbul ignore next\n{\n require: _require = require,\n resolvePath = nodeResolvePath,\n isMacrosName = testMacrosRegex,\n ...options\n} = {}) {\n function interopRequire(path) {\n // eslint-disable-next-line import/no-dynamic-require\n const o = _require(path);\n\n return o && o.__esModule && o.default ? o.default : o;\n }\n\n return {\n name: 'macros',\n visitor: {\n Program(progPath, state) {\n progPath.traverse({\n ImportDeclaration(path) {\n const isMacros = looksLike(path, {\n node: {\n source: {\n value: v => isMacrosName(v)\n }\n }\n });\n\n if (!isMacros) {\n return;\n }\n\n const imports = path.node.specifiers.map(s => ({\n localName: s.local.name,\n importedName: s.type === 'ImportDefaultSpecifier' ? 'default' : s.imported.name\n }));\n const source = path.node.source.value;\n const result = applyMacros({\n path,\n imports,\n source,\n state,\n babel,\n interopRequire,\n resolvePath,\n options\n });\n\n if (!result || !result.keepImports) {\n path.remove();\n }\n },\n\n VariableDeclaration(path) {\n const isMacros = child => looksLike(child, {\n node: {\n init: {\n callee: {\n type: 'Identifier',\n name: 'require'\n },\n arguments: args => args.length === 1 && isMacrosName(args[0].value)\n }\n }\n });\n\n path.get('declarations').filter(isMacros).forEach(child => {\n const imports = child.node.id.name ? [{\n localName: child.node.id.name,\n importedName: 'default'\n }] : child.node.id.properties.map(property => ({\n localName: property.value.name,\n importedName: property.key.name\n }));\n const call = child.get('init');\n const source = call.node.arguments[0].value;\n const result = applyMacros({\n path: call,\n imports,\n source,\n state,\n babel,\n interopRequire,\n resolvePath,\n options\n });\n\n if (!result || !result.keepImports) {\n child.remove();\n }\n });\n }\n\n });\n }\n\n }\n };\n} // eslint-disable-next-line complexity\n\n\nfunction applyMacros({\n path,\n imports,\n source,\n state,\n babel,\n interopRequire,\n resolvePath,\n options\n}) {\n /* istanbul ignore next (pretty much only useful for astexplorer I think) */\n const {\n file: {\n opts: {\n filename = ''\n }\n }\n } = state;\n let hasReferences = false;\n const referencePathsByImportName = imports.reduce((byName, {\n importedName,\n localName\n }) => {\n const binding = path.scope.getBinding(localName);\n byName[importedName] = binding.referencePaths;\n hasReferences = hasReferences || Boolean(byName[importedName].length);\n return byName;\n }, {});\n const isRelative = source.indexOf('.') === 0;\n const requirePath = resolvePath(source, p.dirname(getFullFilename(filename)));\n const macro = interopRequire(requirePath);\n\n if (!macro.isBabelMacro) {\n throw new Error(`The macro imported from \"${source}\" must be wrapped in \"createMacro\" ` + `which you can get from \"babel-plugin-macros\". ` + `Please refer to the documentation to see how to do this properly: https://github.com/kentcdodds/babel-plugin-macros/blob/master/other/docs/author.md#writing-a-macro`);\n }\n\n const config = getConfig(macro, filename, source, options);\n let result;\n\n try {\n /**\n * Other plugins that run before babel-plugin-macros might use path.replace, where a path is\n * put into its own replacement. Apparently babel does not update the scope after such\n * an operation. As a remedy, the whole scope is traversed again with an empty \"Identifier\"\n * visitor - this makes the problem go away.\n *\n * See: https://github.com/kentcdodds/import-all.macro/issues/7\n */\n state.file.scope.path.traverse({\n Identifier() {}\n\n });\n result = macro({\n references: referencePathsByImportName,\n source,\n state,\n babel,\n config,\n isBabelMacrosCall: true\n });\n } catch (error) {\n if (error.name === 'MacroError') {\n throw error;\n }\n\n error.message = `${source}: ${error.message}`;\n\n if (!isRelative) {\n error.message = `${error.message} Learn more: https://www.npmjs.com/package/${source.replace( // remove everything after package name\n // @org/package/macro -> @org/package\n // package/macro -> package\n /^((?:@[^/]+\\/)?[^/]+).*/, '$1')}`;\n }\n\n throw error;\n }\n\n return result;\n}\n\nfunction getConfigFromFile(configName, filename) {\n try {\n const loaded = getConfigExplorer().search(filename);\n\n if (loaded) {\n return {\n options: loaded.config[configName],\n path: loaded.filepath\n };\n }\n } catch (e) {\n return {\n error: e\n };\n }\n\n return {};\n}\n\nfunction getConfigFromOptions(configName, options) {\n if (options.hasOwnProperty(configName)) {\n if (options[configName] && typeof options[configName] !== 'object') {\n // eslint-disable-next-line no-console\n console.error(`The macro plugin options' ${configName} property was not an object or null.`);\n } else {\n return {\n options: options[configName]\n };\n }\n }\n\n return {};\n}\n\nfunction getConfig(macro, filename, source, options) {\n const {\n configName\n } = macro.options;\n\n if (configName) {\n const fileConfig = getConfigFromFile(configName, filename);\n const optionsConfig = getConfigFromOptions(configName, options);\n\n if (optionsConfig.options === undefined && fileConfig.options === undefined && fileConfig.error !== undefined) {\n // eslint-disable-next-line no-console\n console.error(`There was an error trying to load the config \"${configName}\" ` + `for the macro imported from \"${source}. ` + `Please see the error thrown for more information.`);\n throw fileConfig.error;\n }\n\n if (fileConfig.options !== undefined && optionsConfig.options !== undefined && typeof fileConfig.options !== 'object') {\n throw new Error(`${fileConfig.path} specified a ${configName} config of type ` + `${typeof optionsConfig.options}, but the the macros plugin's ` + `options.${configName} did contain an object. Both configs must ` + `contain objects for their options to be mergeable.`);\n }\n\n return { ...optionsConfig.options,\n ...fileConfig.options\n };\n }\n\n return undefined;\n}\n/*\n istanbul ignore next\n because this is hard to test\n and not worth it...\n */\n\n\nfunction getFullFilename(filename) {\n if (p.isAbsolute(filename)) {\n return filename;\n }\n\n return p.join(process.cwd(), filename);\n}\n\nfunction looksLike(a, b) {\n return a && b && Object.keys(b).every(bKey => {\n const bVal = b[bKey];\n const aVal = a[bKey];\n\n if (typeof bVal === 'function') {\n return bVal(aVal);\n }\n\n return isPrimitive(bVal) ? bVal === aVal : looksLike(aVal, bVal);\n });\n}\n\nfunction isPrimitive(val) {\n // eslint-disable-next-line\n return val == null || /^[sbn]/.test(typeof val);\n}\n\nmodule.exports = macrosPlugin;\nObject.assign(module.exports, {\n createMacro,\n MacroError\n});", "import _createForOfIteratorHelperLoose from '@babel/runtime/helpers/esm/createForOfIteratorHelperLoose';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport nodePath from 'path';\nimport { SourceMapGenerator } from 'source-map';\nimport convert from 'convert-source-map';\nimport findRoot from 'find-root';\nimport memoize from '@emotion/memoize';\nimport hashString from '@emotion/hash';\nimport escapeRegexp from 'escape-string-regexp';\nimport { serializeStyles } from '@emotion/serialize';\nimport { compile } from 'stylis';\nimport { addDefault, addNamed } from '@babel/helper-module-imports';\nimport { createMacro } from 'babel-plugin-macros';\n\n/*\ntype LabelFormatOptions = {\n name: string,\n path: string\n}\n*/\n\nvar invalidClassNameCharacters = /[!\"#$%&'()*+,./:;<=>?@[\\]^`|}~{]/g;\n\nvar sanitizeLabelPart = function sanitizeLabelPart(labelPart\n/*: string */\n) {\n return labelPart.trim().replace(invalidClassNameCharacters, '-');\n};\n\nfunction getLabel(identifierName\n/* ?: string */\n, labelFormat\n/* ?: string | (LabelFormatOptions => string) */\n, filename\n/*: string */\n) {\n if (!identifierName) return null;\n var sanitizedName = sanitizeLabelPart(identifierName);\n\n if (!labelFormat) {\n return sanitizedName;\n }\n\n if (typeof labelFormat === 'function') {\n return labelFormat({\n name: sanitizedName,\n path: filename\n });\n }\n\n var parsedPath = nodePath.parse(filename);\n var localDirname = nodePath.basename(parsedPath.dir);\n var localFilename = parsedPath.name;\n\n if (localFilename === 'index') {\n localFilename = localDirname;\n }\n\n return labelFormat.replace(/\\[local\\]/gi, sanitizedName).replace(/\\[filename\\]/gi, sanitizeLabelPart(localFilename)).replace(/\\[dirname\\]/gi, sanitizeLabelPart(localDirname));\n}\n\nfunction getLabelFromPath(path, state, t) {\n return getLabel(getIdentifierName(path, t), state.opts.labelFormat, state.file.opts.filename);\n}\n\nvar getObjPropertyLikeName = function getObjPropertyLikeName(path, t) {\n if (!t.isObjectProperty(path) && !t.isObjectMethod(path) || path.node.computed) {\n return null;\n }\n\n if (t.isIdentifier(path.node.key)) {\n return path.node.key.name;\n }\n\n if (t.isStringLiteral(path.node.key)) {\n return path.node.key.value.replace(/\\s+/g, '-');\n }\n\n return null;\n};\n\nfunction getDeclaratorName(path, t) {\n var parent = path.findParent(function (p) {\n return p.isVariableDeclarator() || p.isAssignmentExpression() || p.isFunctionDeclaration() || p.isFunctionExpression() || p.isArrowFunctionExpression() || p.isObjectProperty() || p.isObjectMethod();\n });\n\n if (!parent) {\n return '';\n } // we probably have a css call assigned to a variable\n // so we'll just return the variable name\n\n\n if (parent.isVariableDeclarator()) {\n if (t.isIdentifier(parent.node.id)) {\n return parent.node.id.name;\n }\n\n return '';\n }\n\n if (parent.isAssignmentExpression()) {\n var left = parent.node.left;\n\n if (t.isIdentifier(left)) {\n return left.name;\n }\n\n if (t.isMemberExpression(left)) {\n var memberExpression = left;\n var name = '';\n\n while (true) {\n if (!t.isIdentifier(memberExpression.property)) {\n return '';\n }\n\n name = \"\" + memberExpression.property.name + (name ? \"-\" + name : '');\n\n if (t.isIdentifier(memberExpression.object)) {\n return memberExpression.object.name + \"-\" + name;\n }\n\n if (!t.isMemberExpression(memberExpression.object)) {\n return '';\n }\n\n memberExpression = memberExpression.object;\n }\n }\n\n return '';\n } // we probably have an inline css prop usage\n\n\n if (parent.isFunctionDeclaration()) {\n return parent.node.id.name || '';\n }\n\n if (parent.isFunctionExpression()) {\n if (parent.node.id) {\n return parent.node.id.name || '';\n }\n\n return getDeclaratorName(parent, t);\n }\n\n if (parent.isArrowFunctionExpression()) {\n return getDeclaratorName(parent, t);\n } // we could also have an object property\n\n\n var objPropertyLikeName = getObjPropertyLikeName(parent, t);\n\n if (objPropertyLikeName) {\n return objPropertyLikeName;\n }\n\n var variableDeclarator = parent.findParent(function (p) {\n return p.isVariableDeclarator();\n });\n\n if (!variableDeclarator || !variableDeclarator.get('id').isIdentifier()) {\n return '';\n }\n\n return variableDeclarator.node.id.name;\n}\n\nfunction getIdentifierName(path, t) {\n var objPropertyLikeName = getObjPropertyLikeName(path.parentPath, t);\n\n if (objPropertyLikeName) {\n return objPropertyLikeName;\n }\n\n var classOrClassPropertyParent = path.findParent(function (p) {\n return t.isClassProperty(p) || t.isClass(p);\n });\n\n if (classOrClassPropertyParent) {\n if (t.isClassProperty(classOrClassPropertyParent) && classOrClassPropertyParent.node.computed === false && t.isIdentifier(classOrClassPropertyParent.node.key)) {\n return classOrClassPropertyParent.node.key.name;\n }\n\n if (t.isClass(classOrClassPropertyParent) && classOrClassPropertyParent.node.id) {\n return t.isIdentifier(classOrClassPropertyParent.node.id) ? classOrClassPropertyParent.node.id.name : '';\n }\n }\n\n var declaratorName = getDeclaratorName(path, t); // if the name starts with _ it was probably generated by babel so we should ignore it\n\n if (declaratorName.charAt(0) === '_') {\n return '';\n }\n\n return declaratorName;\n}\n\nfunction getGeneratorOpts(file) {\n return file.opts.generatorOpts ? file.opts.generatorOpts : file.opts;\n}\n\nfunction makeSourceMapGenerator(file) {\n var generatorOpts = getGeneratorOpts(file);\n var filename = generatorOpts.sourceFileName;\n var generator = new SourceMapGenerator({\n file: filename,\n sourceRoot: generatorOpts.sourceRoot\n });\n generator.setSourceContent(filename, file.code);\n return generator;\n}\nfunction getSourceMap(offset\n/*: {\nline: number,\ncolumn: number\n} */\n, state)\n/*: string */\n{\n var generator = makeSourceMapGenerator(state.file);\n var generatorOpts = getGeneratorOpts(state.file);\n\n if (generatorOpts.sourceFileName && generatorOpts.sourceFileName !== 'unknown') {\n generator.addMapping({\n generated: {\n line: 1,\n column: 0\n },\n source: generatorOpts.sourceFileName,\n original: offset\n });\n return convert.fromObject(generator).toComment({\n multiline: true\n });\n }\n\n return '';\n}\n\nvar hashArray = function hashArray(arr\n/*: Array */\n) {\n return hashString(arr.join(''));\n};\n\nvar unsafeRequire = require;\nvar getPackageRootPath = memoize(function (filename) {\n return findRoot(filename);\n});\nvar separator = new RegExp(escapeRegexp(nodePath.sep), 'g');\n\nvar normalizePath = function normalizePath(path) {\n return nodePath.normalize(path).replace(separator, '/');\n};\n\nfunction getTargetClassName(state, t) {\n if (state.emotionTargetClassNameCount === undefined) {\n state.emotionTargetClassNameCount = 0;\n }\n\n var hasFilepath = state.file.opts.filename && state.file.opts.filename !== 'unknown';\n var filename = hasFilepath ? state.file.opts.filename : ''; // normalize the file path to ignore folder structure\n // outside the current node project and arch-specific delimiters\n\n var moduleName = '';\n var rootPath = filename;\n\n try {\n rootPath = getPackageRootPath(filename);\n moduleName = unsafeRequire(rootPath + '/package.json').name;\n } catch (err) {}\n\n var finalPath = filename === rootPath ? 'root' : filename.slice(rootPath.length);\n var positionInFile = state.emotionTargetClassNameCount++;\n var stuffToHash = [moduleName];\n\n if (finalPath) {\n stuffToHash.push(normalizePath(finalPath));\n } else {\n stuffToHash.push(state.file.code);\n }\n\n var stableClassName = \"e\" + hashArray(stuffToHash) + positionInFile;\n return stableClassName;\n}\n\n// it's meant to simplify the most common cases so i don't want to make it especially complex\n// also, this will be unnecessary when prepack is ready\n\nfunction simplifyObject(node, t\n/*: Object */\n) {\n var finalString = '';\n\n for (var i = 0; i < node.properties.length; i++) {\n var _ref;\n\n var property = node.properties[i];\n\n if (!t.isObjectProperty(property) || property.computed || !t.isIdentifier(property.key) && !t.isStringLiteral(property.key) || !t.isStringLiteral(property.value) && !t.isNumericLiteral(property.value) && !t.isObjectExpression(property.value)) {\n return node;\n }\n\n var key = property.key.name || property.key.value;\n\n if (key === 'styles') {\n return node;\n }\n\n if (t.isObjectExpression(property.value)) {\n var simplifiedChild = simplifyObject(property.value, t);\n\n if (!t.isStringLiteral(simplifiedChild)) {\n return node;\n }\n\n finalString += key + \"{\" + simplifiedChild.value + \"}\";\n continue;\n }\n\n var value = property.value.value;\n finalString += serializeStyles([(_ref = {}, _ref[key] = value, _ref)]).styles;\n }\n\n return t.stringLiteral(finalString);\n}\n\nvar haveSameLocation = function haveSameLocation(element1, element2) {\n return element1.line === element2.line && element1.column === element2.column;\n};\n\nvar isAutoInsertedRule = function isAutoInsertedRule(element) {\n return element.type === 'rule' && element.parent && haveSameLocation(element, element.parent);\n};\n\nvar toInputTree = function toInputTree(elements, tree) {\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var parent = element.parent,\n children = element.children;\n\n if (!parent) {\n tree.push(element);\n } else if (!isAutoInsertedRule(element)) {\n parent.children.push(element);\n }\n\n if (Array.isArray(children)) {\n element.children = [];\n toInputTree(children, tree);\n }\n }\n\n return tree;\n};\n\nvar stringifyTree = function stringifyTree(elements) {\n return elements.map(function (element) {\n switch (element.type) {\n case 'import':\n case 'decl':\n return element.value;\n\n case 'comm':\n // When we encounter a standard multi-line CSS comment and it contains a '@'\n // character, we keep the comment. Some Stylis plugins, such as\n // the stylis-rtl via the cssjanus plugin, use this special comment syntax\n // to control behavior (such as: /* @noflip */). We can do this\n // with standard CSS comments because they will work with compression,\n // as opposed to non-standard single-line comments that will break compressed CSS.\n return element.props === '/' && element.value.includes('@') ? element.value : '';\n\n case 'rule':\n return element.value.replace(/&\\f/g, '&') + \"{\" + stringifyTree(element.children) + \"}\";\n\n default:\n {\n return element.value + \"{\" + stringifyTree(element.children) + \"}\";\n }\n }\n }).join('');\n};\n\nvar interleave = function interleave(strings\n/*: Array<*> */\n, interpolations\n/*: Array<*> */\n) {\n return interpolations.reduce(function (array, interp, i) {\n return array.concat([interp], strings[i + 1]);\n }, [strings[0]]);\n};\n\nfunction getDynamicMatches(str\n/*: string */\n) {\n var re = /xxx(\\d+):xxx/gm;\n var match;\n var matches = [];\n\n while ((match = re.exec(str)) !== null) {\n if (match !== null) {\n matches.push({\n value: match[0],\n p1: parseInt(match[1], 10),\n index: match.index\n });\n }\n }\n\n return matches;\n}\n\nfunction replacePlaceholdersWithExpressions(str\n/*: string */\n, expressions\n/*: Array<*> */\n, t) {\n var matches = getDynamicMatches(str);\n\n if (matches.length === 0) {\n if (str === '') {\n return [];\n }\n\n return [t.stringLiteral(str)];\n }\n\n var strings = [];\n var finalExpressions = [];\n var cursor = 0;\n matches.forEach(function (_ref, i) {\n var value = _ref.value,\n p1 = _ref.p1,\n index = _ref.index;\n var preMatch = str.substring(cursor, index);\n cursor = cursor + preMatch.length + value.length;\n\n if (!preMatch && i === 0) {\n strings.push(t.stringLiteral(''));\n } else {\n strings.push(t.stringLiteral(preMatch));\n }\n\n finalExpressions.push(expressions[p1]);\n\n if (i === matches.length - 1) {\n strings.push(t.stringLiteral(str.substring(index + value.length)));\n }\n });\n return interleave(strings, finalExpressions).filter(function (node\n /*: { value: string } */\n ) {\n return node.value !== '';\n });\n}\n\nfunction createRawStringFromTemplateLiteral(quasi\n/*: {\nquasis: Array<{ value: { cooked: string } }>\n} */\n) {\n var strs = quasi.quasis.map(function (x) {\n return x.value.cooked;\n });\n var src = strs.reduce(function (arr, str, i) {\n arr.push(str);\n\n if (i !== strs.length - 1) {\n arr.push(\"xxx\" + i + \":xxx\");\n }\n\n return arr;\n }, []).join('').trim();\n return src;\n}\n\nfunction minify(path, t) {\n var quasi = path.node.quasi;\n var raw = createRawStringFromTemplateLiteral(quasi);\n var minified = stringifyTree(toInputTree(compile(raw), []));\n var expressions = replacePlaceholdersWithExpressions(minified, quasi.expressions || [], t);\n path.replaceWith(t.callExpression(path.node.tag, expressions));\n}\n\n// this only works correctly in modules, but we don't run on scripts anyway, so it's fine\n// the difference is that in modules template objects are being cached per call site\nfunction getTypeScriptMakeTemplateObjectPath(path) {\n if (path.node.arguments.length === 0) {\n return null;\n }\n\n var firstArgPath = path.get('arguments')[0];\n\n if (firstArgPath.isLogicalExpression() && firstArgPath.get('left').isIdentifier() && firstArgPath.get('right').isAssignmentExpression() && firstArgPath.get('right.right').isCallExpression() && firstArgPath.get('right.right.callee').isIdentifier() && firstArgPath.node.right.right.callee.name.includes('makeTemplateObject') && firstArgPath.node.right.right.arguments.length === 2) {\n return firstArgPath.get('right.right');\n }\n\n return null;\n} // this is only used to prevent appending strings/expressions to arguments incorectly\n// we could push them to found array expressions, as we do it for TS-transpile output ¯\\_(ツ)_/¯\n// it seems overly complicated though - mainly because we'd also have to check against existing stuff of a particular type (source maps & labels)\n// considering Babel double-transpilation as a valid use case seems rather far-fetched\n\nfunction isTaggedTemplateTranspiledByBabel(path) {\n if (path.node.arguments.length === 0) {\n return false;\n }\n\n var firstArgPath = path.get('arguments')[0];\n\n if (!firstArgPath.isCallExpression() || !firstArgPath.get('callee').isIdentifier()) {\n return false;\n }\n\n var calleeName = firstArgPath.node.callee.name;\n\n if (!calleeName.includes('templateObject')) {\n return false;\n }\n\n var bindingPath = path.scope.getBinding(calleeName).path;\n\n if (!bindingPath.isFunction()) {\n return false;\n }\n\n var functionBody = bindingPath.get('body.body');\n\n if (!functionBody[0].isVariableDeclaration()) {\n return false;\n }\n\n var declarationInit = functionBody[0].get('declarations')[0].get('init');\n\n if (!declarationInit.isCallExpression()) {\n return false;\n }\n\n var declarationInitArguments = declarationInit.get('arguments');\n\n if (declarationInitArguments.length === 0 || declarationInitArguments.length > 2 || declarationInitArguments.some(function (argPath) {\n return !argPath.isArrayExpression();\n })) {\n return false;\n }\n\n return true;\n}\n\nvar appendStringReturningExpressionToArguments = function appendStringReturningExpressionToArguments(t, path, expression) {\n var lastIndex = path.node.arguments.length - 1;\n var last = path.node.arguments[lastIndex];\n\n if (t.isStringLiteral(last)) {\n if (typeof expression === 'string') {\n path.node.arguments[lastIndex].value += expression;\n } else {\n path.node.arguments[lastIndex] = t.binaryExpression('+', last, expression);\n }\n } else {\n var makeTemplateObjectCallPath = getTypeScriptMakeTemplateObjectPath(path);\n\n if (makeTemplateObjectCallPath) {\n makeTemplateObjectCallPath.get('arguments').forEach(function (argPath) {\n var elements = argPath.get('elements');\n var lastElement = elements[elements.length - 1];\n\n if (typeof expression === 'string') {\n lastElement.replaceWith(t.stringLiteral(lastElement.node.value + expression));\n } else {\n lastElement.replaceWith(t.binaryExpression('+', lastElement.node, t.cloneNode(expression)));\n }\n });\n } else if (!isTaggedTemplateTranspiledByBabel(path)) {\n if (typeof expression === 'string') {\n path.node.arguments.push(t.stringLiteral(expression));\n } else {\n path.node.arguments.push(expression);\n }\n }\n }\n};\nvar joinStringLiterals = function joinStringLiterals(expressions\n/*: Array<*> */\n, t) {\n return expressions.reduce(function (finalExpressions, currentExpression, i) {\n if (!t.isStringLiteral(currentExpression)) {\n finalExpressions.push(currentExpression);\n } else if (t.isStringLiteral(finalExpressions[finalExpressions.length - 1])) {\n finalExpressions[finalExpressions.length - 1].value += currentExpression.value;\n } else {\n finalExpressions.push(currentExpression);\n }\n\n return finalExpressions;\n }, []);\n};\n\nfunction createNodeEnvConditional(t, production, development) {\n return t.conditionalExpression(t.binaryExpression('===', t.memberExpression(t.memberExpression(t.identifier('process'), t.identifier('env')), t.identifier('NODE_ENV')), t.stringLiteral('production')), production, development);\n}\n\nvar CSS_OBJECT_STRINGIFIED_ERROR = \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\nvar transformExpressionWithStyles = function transformExpressionWithStyles(_ref\n/*: {\nbabel,\nstate,\npath,\nshouldLabel: boolean,\nsourceMap?: string\n} */\n) {\n var babel = _ref.babel,\n state = _ref.state,\n path = _ref.path,\n shouldLabel = _ref.shouldLabel,\n _ref$sourceMap = _ref.sourceMap,\n sourceMap = _ref$sourceMap === void 0 ? '' : _ref$sourceMap;\n var autoLabel = state.opts.autoLabel || 'dev-only';\n var t = babel.types;\n\n if (t.isTaggedTemplateExpression(path)) {\n if (!sourceMap && state.emotionSourceMap && path.node.quasi.loc !== undefined) {\n sourceMap = getSourceMap(path.node.quasi.loc.start, state);\n }\n\n minify(path, t);\n }\n\n if (t.isCallExpression(path)) {\n var canAppendStrings = path.node.arguments.every(function (arg) {\n return arg.type !== 'SpreadElement';\n });\n path.get('arguments').forEach(function (node) {\n if (t.isObjectExpression(node)) {\n node.replaceWith(simplifyObject(node.node, t));\n }\n });\n path.node.arguments = joinStringLiterals(path.node.arguments, t);\n\n if (!sourceMap && canAppendStrings && state.emotionSourceMap && path.node.loc !== undefined) {\n sourceMap = getSourceMap(path.node.loc.start, state);\n }\n\n var label = shouldLabel && autoLabel !== 'never' ? getLabelFromPath(path, state, t) : null;\n\n if (path.node.arguments.length === 1 && t.isStringLiteral(path.node.arguments[0])) {\n var cssString = path.node.arguments[0].value.replace(/;$/, '');\n var res = serializeStyles([\"\" + cssString + (label && autoLabel === 'always' ? \";label:\" + label + \";\" : '')]);\n var prodNode = t.objectExpression([t.objectProperty(t.identifier('name'), t.stringLiteral(res.name)), t.objectProperty(t.identifier('styles'), t.stringLiteral(res.styles))]);\n\n if (!state.emotionStringifiedCssId) {\n var uid = state.file.scope.generateUidIdentifier('__EMOTION_STRINGIFIED_CSS_ERROR__');\n state.emotionStringifiedCssId = uid;\n var cssObjectToString = t.functionDeclaration(uid, [], t.blockStatement([t.returnStatement(t.stringLiteral(CSS_OBJECT_STRINGIFIED_ERROR))]));\n cssObjectToString._compact = true;\n state.file.path.unshiftContainer('body', [cssObjectToString]);\n }\n\n if (label && autoLabel === 'dev-only') {\n res = serializeStyles([cssString + \";label:\" + label + \";\"]);\n }\n\n var devNode = t.objectExpression([t.objectProperty(t.identifier('name'), t.stringLiteral(res.name)), t.objectProperty(t.identifier('styles'), t.stringLiteral(res.styles + sourceMap)), t.objectProperty(t.identifier('toString'), t.cloneNode(state.emotionStringifiedCssId))].filter(Boolean));\n return createNodeEnvConditional(t, prodNode, devNode);\n }\n\n if (canAppendStrings && label) {\n var labelString = \";label:\" + label + \";\";\n\n switch (autoLabel) {\n case 'dev-only':\n {\n var labelConditional = createNodeEnvConditional(t, t.stringLiteral(''), t.stringLiteral(labelString));\n appendStringReturningExpressionToArguments(t, path, labelConditional);\n break;\n }\n\n case 'always':\n appendStringReturningExpressionToArguments(t, path, labelString);\n break;\n }\n }\n\n if (sourceMap) {\n var sourceMapConditional = createNodeEnvConditional(t, t.stringLiteral(''), t.stringLiteral(sourceMap));\n appendStringReturningExpressionToArguments(t, path, sourceMapConditional);\n }\n }\n};\n\nvar getKnownProperties = function getKnownProperties(t, node) {\n return new Set(node.properties.filter(function (n) {\n return t.isObjectProperty(n) && !n.computed;\n }).map(function (n) {\n return t.isIdentifier(n.key) ? n.key.name : n.key.value;\n }));\n};\n\nvar createObjectSpreadLike = function createObjectSpreadLike(t, file) {\n for (var _len = arguments.length, objs = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n objs[_key - 2] = arguments[_key];\n }\n\n return t.callExpression(file.addHelper('extends'), [t.objectExpression([])].concat(objs));\n};\n\nvar getStyledOptions = function getStyledOptions(t, path, state) {\n var autoLabel = state.opts.autoLabel || 'dev-only';\n var args = path.node.arguments;\n var optionsArgument = args.length >= 2 ? args[1] : null;\n var prodProperties = [];\n var devProperties = null;\n var knownProperties = optionsArgument && t.isObjectExpression(optionsArgument) ? getKnownProperties(t, optionsArgument) : new Set();\n\n if (!knownProperties.has('target')) {\n prodProperties.push(t.objectProperty(t.identifier('target'), t.stringLiteral(getTargetClassName(state))));\n }\n\n var label = autoLabel !== 'never' && !knownProperties.has('label') ? getLabelFromPath(path, state, t) : null;\n\n if (label) {\n var labelNode = t.objectProperty(t.identifier('label'), t.stringLiteral(label));\n\n switch (autoLabel) {\n case 'always':\n prodProperties.push(labelNode);\n break;\n\n case 'dev-only':\n devProperties = [labelNode];\n break;\n }\n }\n\n if (optionsArgument) {\n // for some reason `.withComponent` transformer gets requeued\n // so check if this has been already transpiled to avoid double wrapping\n if (t.isConditionalExpression(optionsArgument) && t.isBinaryExpression(optionsArgument.test) && t.buildMatchMemberExpression('process.env.NODE_ENV')(optionsArgument.test.left)) {\n return optionsArgument;\n }\n\n if (!t.isObjectExpression(optionsArgument)) {\n var prodNode = createObjectSpreadLike(t, state.file, t.objectExpression(prodProperties), optionsArgument);\n return devProperties ? createNodeEnvConditional(t, prodNode, t.cloneNode(createObjectSpreadLike(t, state.file, t.objectExpression(prodProperties.concat(devProperties)), optionsArgument))) : prodNode;\n }\n\n prodProperties.unshift.apply(prodProperties, optionsArgument.properties);\n }\n\n return devProperties ? createNodeEnvConditional(t, t.objectExpression(prodProperties), t.cloneNode(t.objectExpression(prodProperties.concat(devProperties)))) : t.objectExpression(prodProperties);\n};\n\nfunction addImport(state, importSource\n/*: string */\n, importedSpecifier\n/*: string */\n, nameHint\n/* ?: string */\n) {\n var cacheKey = ['import', importSource, importedSpecifier].join(':');\n\n if (state[cacheKey] === undefined) {\n var importIdentifier;\n\n if (importedSpecifier === 'default') {\n importIdentifier = addDefault(state.file.path, importSource, {\n nameHint: nameHint\n });\n } else {\n importIdentifier = addNamed(state.file.path, importedSpecifier, importSource, {\n nameHint: nameHint\n });\n }\n\n state[cacheKey] = importIdentifier.name;\n }\n\n return {\n type: 'Identifier',\n name: state[cacheKey]\n };\n}\n\n/*\ntype Transformer = Function\n*/\n\nfunction createTransformerMacro(transformers\n/*: { [key: string]: Transformer | [Transformer, Object] } */\n, _ref\n/*: { importSource: string } */\n) {\n var importSource = _ref.importSource;\n var macro = createMacro(function (_ref2) {\n var path = _ref2.path,\n source = _ref2.source,\n references = _ref2.references,\n state = _ref2.state,\n babel = _ref2.babel,\n isEmotionCall = _ref2.isEmotionCall;\n\n if (!path) {\n path = state.file.scope.path.get('body').find(function (p) {\n return p.isImportDeclaration() && p.node.source.value === source;\n });\n }\n\n if (/\\/macro$/.test(source)) {\n path.get('source').replaceWith(babel.types.stringLiteral(source.replace(/\\/macro$/, '')));\n }\n\n if (!isEmotionCall) {\n state.emotionSourceMap = true;\n }\n\n Object.keys(references).forEach(function (importSpecifierName) {\n if (transformers[importSpecifierName]) {\n references[importSpecifierName].reverse().forEach(function (reference) {\n var options;\n var transformer;\n\n if (Array.isArray(transformers[importSpecifierName])) {\n transformer = transformers[importSpecifierName][0];\n options = transformers[importSpecifierName][1];\n } else {\n transformer = transformers[importSpecifierName];\n options = {};\n }\n\n transformer({\n state: state,\n babel: babel,\n path: path,\n importSource: importSource,\n importSpecifierName: importSpecifierName,\n options: options,\n reference: reference\n });\n });\n }\n });\n return {\n keepImports: true\n };\n });\n macro.transformers = transformers;\n return macro;\n}\n\nvar isAlreadyTranspiled = function isAlreadyTranspiled(path) {\n if (!path.isCallExpression()) {\n return false;\n }\n\n var firstArgPath = path.get('arguments.0');\n\n if (!firstArgPath) {\n return false;\n }\n\n if (!firstArgPath.isConditionalExpression()) {\n return false;\n }\n\n var alternatePath = firstArgPath.get('alternate');\n\n if (!alternatePath.isObjectExpression()) {\n return false;\n }\n\n var properties = new Set(alternatePath.get('properties').map(function (p) {\n return p.node.key.name;\n }));\n return ['name', 'styles'].every(function (p) {\n return properties.has(p);\n });\n};\n\nvar createEmotionTransformer = function createEmotionTransformer(isPure\n/*: boolean */\n) {\n return function (_ref\n /*: Object */\n ) {\n var state = _ref.state,\n babel = _ref.babel;\n _ref.importSource;\n var reference = _ref.reference;\n _ref.importSpecifierName;\n var path = reference.parentPath;\n\n if (isAlreadyTranspiled(path)) {\n return;\n }\n\n if (isPure) {\n path.addComment('leading', '#__PURE__');\n }\n\n var node = transformExpressionWithStyles({\n babel: babel,\n state: state,\n path: path,\n shouldLabel: true\n });\n\n if (node) {\n path.node.arguments[0] = node;\n }\n };\n};\n\nvar transformers$1 = {\n css: createEmotionTransformer(true),\n injectGlobal: createEmotionTransformer(false),\n keyframes: createEmotionTransformer(true)\n};\nvar createEmotionMacro = function createEmotionMacro(importSource\n/*: string */\n) {\n return createTransformerMacro(transformers$1, {\n importSource: importSource\n });\n};\n\nvar getReferencedSpecifier = function getReferencedSpecifier(path, specifierName) {\n var specifiers = path.get('specifiers');\n return specifierName === 'default' ? specifiers.find(function (p) {\n return p.isImportDefaultSpecifier();\n }) : specifiers.find(function (p) {\n return p.node.local.name === specifierName;\n });\n};\n\nvar styledTransformer = function styledTransformer(_ref\n/*: {\nstate: Object,\nbabel: Object,\npath: any,\nimportSource: string,\nimportSpecifierName: string,\nreference: Object,\noptions: { styledBaseImport?: [string, string], isWeb: boolean }\n} */\n) {\n var state = _ref.state,\n babel = _ref.babel,\n path = _ref.path,\n importSource = _ref.importSource,\n reference = _ref.reference,\n importSpecifierName = _ref.importSpecifierName,\n _ref$options = _ref.options,\n styledBaseImport = _ref$options.styledBaseImport,\n isWeb = _ref$options.isWeb;\n var t = babel.types;\n\n var getStyledIdentifier = function getStyledIdentifier() {\n if (!styledBaseImport || styledBaseImport[0] === importSource && styledBaseImport[1] === importSpecifierName) {\n return t.cloneNode(reference.node);\n }\n\n if (path.node) {\n var referencedSpecifier = getReferencedSpecifier(path, importSpecifierName);\n\n if (referencedSpecifier) {\n referencedSpecifier.remove();\n }\n\n if (!path.get('specifiers').length) {\n path.remove();\n }\n }\n\n var baseImportSource = styledBaseImport[0],\n baseSpecifierName = styledBaseImport[1];\n return addImport(state, baseImportSource, baseSpecifierName, 'styled');\n };\n\n var createStyledComponentPath = null;\n\n if (t.isMemberExpression(reference.parent) && reference.parent.computed === false) {\n if ( // checks if the first character is lowercase\n // becasue we don't want to transform the member expression if\n // it's in primitives/native\n reference.parent.property.name.charCodeAt(0) > 96) {\n reference.parentPath.replaceWith(t.callExpression(getStyledIdentifier(), [t.stringLiteral(reference.parent.property.name)]));\n } else {\n reference.replaceWith(getStyledIdentifier());\n }\n\n createStyledComponentPath = reference.parentPath;\n } else if (reference.parentPath && t.isCallExpression(reference.parentPath) && reference.parent.callee === reference.node) {\n reference.replaceWith(getStyledIdentifier());\n createStyledComponentPath = reference.parentPath;\n }\n\n if (!createStyledComponentPath) {\n return;\n }\n\n var styledCallLikeWithStylesPath = createStyledComponentPath.parentPath;\n var node = transformExpressionWithStyles({\n path: styledCallLikeWithStylesPath,\n state: state,\n babel: babel,\n shouldLabel: false\n });\n\n if (node && isWeb) {\n // we know the argument length will be 1 since that's the only time we will have a node since it will be static\n styledCallLikeWithStylesPath.node.arguments[0] = node;\n }\n\n styledCallLikeWithStylesPath.addComment('leading', '#__PURE__');\n\n if (isWeb) {\n createStyledComponentPath.node.arguments[1] = getStyledOptions(t, createStyledComponentPath, state);\n }\n};\nvar createStyledMacro = function createStyledMacro(_ref2\n/*: {\nimportSource: string,\noriginalImportSource?: string,\nbaseImportName?: string,\nisWeb: boolean\n} */\n) {\n var importSource = _ref2.importSource,\n _ref2$originalImportS = _ref2.originalImportSource,\n originalImportSource = _ref2$originalImportS === void 0 ? importSource : _ref2$originalImportS,\n _ref2$baseImportName = _ref2.baseImportName,\n baseImportName = _ref2$baseImportName === void 0 ? 'default' : _ref2$baseImportName,\n isWeb = _ref2.isWeb;\n return createTransformerMacro({\n \"default\": [styledTransformer, {\n styledBaseImport: [importSource, baseImportName],\n isWeb: isWeb\n }]\n }, {\n importSource: originalImportSource\n });\n};\n\nvar transformCssCallExpression = function transformCssCallExpression(_ref\n/*: {\nstate: *,\nbabel: *,\npath: *,\nsourceMap?: string,\nannotateAsPure?: boolean\n} */\n) {\n var state = _ref.state,\n babel = _ref.babel,\n path = _ref.path,\n sourceMap = _ref.sourceMap,\n _ref$annotateAsPure = _ref.annotateAsPure,\n annotateAsPure = _ref$annotateAsPure === void 0 ? true : _ref$annotateAsPure;\n var node = transformExpressionWithStyles({\n babel: babel,\n state: state,\n path: path,\n shouldLabel: true,\n sourceMap: sourceMap\n });\n\n if (node) {\n path.replaceWith(node);\n path.hoist();\n } else if (annotateAsPure && path.isCallExpression()) {\n path.addComment('leading', '#__PURE__');\n }\n};\nvar transformCsslessArrayExpression = function transformCsslessArrayExpression(_ref2\n/*: {\nbabel: *,\nstate: *,\npath: *\n} */\n) {\n var state = _ref2.state,\n babel = _ref2.babel,\n path = _ref2.path;\n var t = babel.types;\n var expressionPath = path.get('value.expression');\n var sourceMap = state.emotionSourceMap && path.node.loc !== undefined ? getSourceMap(path.node.loc.start, state) : '';\n expressionPath.replaceWith(t.callExpression( // the name of this identifier doesn't really matter at all\n // it'll never appear in generated code\n t.identifier('___shouldNeverAppearCSS'), path.node.value.expression.elements));\n transformCssCallExpression({\n babel: babel,\n state: state,\n path: expressionPath,\n sourceMap: sourceMap,\n annotateAsPure: false\n });\n\n if (t.isCallExpression(expressionPath)) {\n expressionPath.replaceWith(t.arrayExpression(expressionPath.node.arguments));\n }\n};\nvar transformCsslessObjectExpression = function transformCsslessObjectExpression(_ref3\n/*: {\nbabel: *,\nstate: *,\npath: *,\ncssImport: { importSource: string, cssExport: string }\n} */\n) {\n var state = _ref3.state,\n babel = _ref3.babel,\n path = _ref3.path,\n cssImport = _ref3.cssImport;\n var t = babel.types;\n var expressionPath = path.get('value.expression');\n var sourceMap = state.emotionSourceMap && path.node.loc !== undefined ? getSourceMap(path.node.loc.start, state) : '';\n expressionPath.replaceWith(t.callExpression( // the name of this identifier doesn't really matter at all\n // it'll never appear in generated code\n t.identifier('___shouldNeverAppearCSS'), [path.node.value.expression]));\n transformCssCallExpression({\n babel: babel,\n state: state,\n path: expressionPath,\n sourceMap: sourceMap\n });\n\n if (t.isCallExpression(expressionPath)) {\n expressionPath.get('callee').replaceWith(addImport(state, cssImport.importSource, cssImport.cssExport, 'css'));\n }\n};\n\nvar cssTransformer = function cssTransformer(_ref4\n/*: {\nstate: any,\nbabel: any,\nreference: any\n} */\n) {\n var state = _ref4.state,\n babel = _ref4.babel,\n reference = _ref4.reference;\n transformCssCallExpression({\n babel: babel,\n state: state,\n path: reference.parentPath\n });\n};\n\nvar globalTransformer = function globalTransformer(_ref5\n/*: {\nstate: any,\nbabel: any,\nreference: any,\nimportSource: string,\noptions: { cssExport?: string }\n} */\n) {\n var state = _ref5.state,\n babel = _ref5.babel,\n reference = _ref5.reference,\n importSource = _ref5.importSource,\n options = _ref5.options;\n var t = babel.types;\n\n if (!t.isJSXIdentifier(reference.node) || !t.isJSXOpeningElement(reference.parentPath.node)) {\n return;\n }\n\n var stylesPropPath = reference.parentPath.get('attributes').find(function (p) {\n return t.isJSXAttribute(p.node) && p.node.name.name === 'styles';\n });\n\n if (!stylesPropPath) {\n return;\n }\n\n if (t.isJSXExpressionContainer(stylesPropPath.node.value)) {\n if (t.isArrayExpression(stylesPropPath.node.value.expression)) {\n transformCsslessArrayExpression({\n state: state,\n babel: babel,\n path: stylesPropPath\n });\n } else if (t.isObjectExpression(stylesPropPath.node.value.expression)) {\n transformCsslessObjectExpression({\n state: state,\n babel: babel,\n path: stylesPropPath,\n cssImport: options.cssExport !== undefined ? {\n importSource: importSource,\n cssExport: options.cssExport\n } : {\n importSource: '@emotion/react',\n cssExport: 'css'\n }\n });\n }\n }\n};\n\nvar transformers = {\n // this is an empty function because this transformer is never called\n // we don't run any transforms on `jsx` directly\n // instead we use it as a hint to enable css prop optimization\n jsx: function jsx() {},\n css: cssTransformer,\n Global: globalTransformer\n};\nvar coreMacro = createTransformerMacro(transformers, {\n importSource: '@emotion/react'\n});\n\nvar _excluded = [\"canonicalImport\"];\n\nvar getCssExport = function getCssExport(reexported, importSource, mapping) {\n var cssExport = Object.keys(mapping).find(function (localExportName) {\n var _mapping$localExportN = mapping[localExportName].canonicalImport,\n packageName = _mapping$localExportN[0],\n exportName = _mapping$localExportN[1];\n return packageName === '@emotion/react' && exportName === 'css';\n });\n\n if (!cssExport) {\n throw new Error(\"You have specified that '\" + importSource + \"' re-exports '\" + reexported + \"' from '@emotion/react' but it doesn't also re-export 'css' from '@emotion/react', 'css' is necessary for certain optimisations, please re-export it from '\" + importSource + \"'\");\n }\n\n return cssExport;\n};\n\nvar webStyledMacro = createStyledMacro({\n importSource: '@emotion/styled/base',\n originalImportSource: '@emotion/styled',\n isWeb: true\n});\nvar nativeStyledMacro = createStyledMacro({\n importSource: '@emotion/native',\n originalImportSource: '@emotion/native',\n isWeb: false\n});\nvar primitivesStyledMacro = createStyledMacro({\n importSource: '@emotion/primitives',\n originalImportSource: '@emotion/primitives',\n isWeb: false\n});\nvar vanillaEmotionMacro = createEmotionMacro('@emotion/css');\nvar transformersSource = {\n '@emotion/css': transformers$1,\n '@emotion/react': transformers,\n '@emotion/styled': {\n \"default\": [styledTransformer, {\n styledBaseImport: ['@emotion/styled/base', 'default'],\n isWeb: true\n }]\n },\n '@emotion/primitives': {\n \"default\": [styledTransformer, {\n isWeb: false\n }]\n },\n '@emotion/native': {\n \"default\": [styledTransformer, {\n isWeb: false\n }]\n }\n};\nvar macros = {\n core: coreMacro,\n nativeStyled: nativeStyledMacro,\n primitivesStyled: primitivesStyledMacro,\n webStyled: webStyledMacro,\n vanillaEmotion: vanillaEmotionMacro\n};\n/*\nexport type BabelPath = any\n\nexport type EmotionBabelPluginPass = any\n*/\n\nvar AUTO_LABEL_VALUES = ['dev-only', 'never', 'always'];\nfunction index (babel, options) {\n if (options.autoLabel !== undefined && !AUTO_LABEL_VALUES.includes(options.autoLabel)) {\n throw new Error(\"The 'autoLabel' option must be undefined, or one of the following: \" + AUTO_LABEL_VALUES.map(function (s) {\n return \"\\\"\" + s + \"\\\"\";\n }).join(', '));\n }\n\n var t = babel.types;\n return {\n name: '@emotion',\n // https://github.com/babel/babel/blob/0c97749e0fe8ad845b902e0b23a24b308b0bf05d/packages/babel-plugin-syntax-jsx/src/index.ts#L9-L18\n manipulateOptions: function manipulateOptions(opts, parserOpts) {\n var plugins = parserOpts.plugins;\n\n if (plugins.some(function (p) {\n var plugin = Array.isArray(p) ? p[0] : p;\n return plugin === 'typescript' || plugin === 'jsx';\n })) {\n return;\n }\n\n plugins.push('jsx');\n },\n visitor: {\n ImportDeclaration: function ImportDeclaration(path, state) {\n var macro = state.pluginMacros[path.node.source.value]; // most of this is from https://github.com/kentcdodds/babel-plugin-macros/blob/main/src/index.js\n\n if (macro === undefined) {\n return;\n }\n\n if (t.isImportNamespaceSpecifier(path.node.specifiers[0])) {\n return;\n }\n\n var imports = path.node.specifiers.map(function (s) {\n return {\n localName: s.local.name,\n importedName: s.type === 'ImportDefaultSpecifier' ? 'default' : s.imported.name\n };\n });\n var shouldExit = false;\n var hasReferences = false;\n var referencePathsByImportName = imports.reduce(function (byName, _ref) {\n var importedName = _ref.importedName,\n localName = _ref.localName;\n var binding = path.scope.getBinding(localName);\n\n if (!binding) {\n shouldExit = true;\n return byName;\n }\n\n byName[importedName] = binding.referencePaths;\n hasReferences = hasReferences || Boolean(byName[importedName].length);\n return byName;\n }, {});\n\n if (!hasReferences || shouldExit) {\n return;\n }\n /**\n * Other plugins that run before babel-plugin-macros might use path.replace, where a path is\n * put into its own replacement. Apparently babel does not update the scope after such\n * an operation. As a remedy, the whole scope is traversed again with an empty \"Identifier\"\n * visitor - this makes the problem go away.\n *\n * See: https://github.com/kentcdodds/import-all.macro/issues/7\n */\n\n\n state.file.scope.path.traverse({\n Identifier: function Identifier() {}\n });\n macro({\n path: path,\n references: referencePathsByImportName,\n state: state,\n babel: babel,\n isEmotionCall: true,\n isBabelMacrosCall: true\n });\n },\n Program: function Program(path, state) {\n var macros = {};\n var jsxReactImports\n /*: Array<{\n importSource: string,\n export: string,\n cssExport: string\n }> */\n = [{\n importSource: '@emotion/react',\n \"export\": 'jsx',\n cssExport: 'css'\n }];\n state.jsxReactImport = jsxReactImports[0];\n Object.keys(state.opts.importMap || {}).forEach(function (importSource) {\n var value = state.opts.importMap[importSource];\n var transformers = {};\n Object.keys(value).forEach(function (localExportName) {\n var _value$localExportNam = value[localExportName],\n canonicalImport = _value$localExportNam.canonicalImport,\n options = _objectWithoutPropertiesLoose(_value$localExportNam, _excluded);\n\n var packageName = canonicalImport[0],\n exportName = canonicalImport[1];\n\n if (packageName === '@emotion/react' && exportName === 'jsx') {\n jsxReactImports.push({\n importSource: importSource,\n \"export\": localExportName,\n cssExport: getCssExport('jsx', importSource, value)\n });\n return;\n }\n\n var packageTransformers = transformersSource[packageName];\n\n if (packageTransformers === undefined) {\n throw new Error(\"There is no transformer for the export '\" + exportName + \"' in '\" + packageName + \"'\");\n }\n\n var extraOptions;\n\n if (packageName === '@emotion/react' && exportName === 'Global') {\n // this option is not supposed to be set in importMap\n extraOptions = {\n cssExport: getCssExport('Global', importSource, value)\n };\n } else if (packageName === '@emotion/styled' && exportName === 'default') {\n // this is supposed to override defaultOptions value\n // and let correct value to be set if coming in options\n extraOptions = {\n styledBaseImport: undefined\n };\n }\n\n var _ref2 = Array.isArray(packageTransformers[exportName]) ? packageTransformers[exportName] : [packageTransformers[exportName]],\n exportTransformer = _ref2[0],\n defaultOptions = _ref2[1];\n\n transformers[localExportName] = [exportTransformer, _extends({}, defaultOptions, extraOptions, options)];\n });\n macros[importSource] = createTransformerMacro(transformers, {\n importSource: importSource\n });\n });\n state.pluginMacros = _extends({\n '@emotion/styled': webStyledMacro,\n '@emotion/react': coreMacro,\n '@emotion/primitives': primitivesStyledMacro,\n '@emotion/native': nativeStyledMacro,\n '@emotion/css': vanillaEmotionMacro\n }, macros);\n\n var _loop = function _loop() {\n var node = _step.value;\n\n if (t.isImportDeclaration(node)) {\n var jsxReactImport = jsxReactImports.find(function (thing) {\n return node.source.value === thing.importSource && node.specifiers.some(function (x) {\n return t.isImportSpecifier(x) && x.imported.name === thing[\"export\"];\n });\n });\n\n if (jsxReactImport) {\n state.jsxReactImport = jsxReactImport;\n return \"break\";\n }\n }\n };\n\n for (var _iterator = _createForOfIteratorHelperLoose(path.node.body), _step; !(_step = _iterator()).done;) {\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n }\n\n if (state.opts.cssPropOptimization === false) {\n state.transformCssProp = false;\n } else {\n state.transformCssProp = true;\n }\n\n if (state.opts.sourceMap === false) {\n state.emotionSourceMap = false;\n } else {\n state.emotionSourceMap = true;\n }\n },\n JSXAttribute: function JSXAttribute(path, state) {\n if (path.node.name.name !== 'css' || !state.transformCssProp) {\n return;\n }\n\n if (t.isJSXExpressionContainer(path.node.value)) {\n if (t.isArrayExpression(path.node.value.expression)) {\n transformCsslessArrayExpression({\n state: state,\n babel: babel,\n path: path\n });\n } else if (t.isObjectExpression(path.node.value.expression)) {\n transformCsslessObjectExpression({\n state: state,\n babel: babel,\n path: path,\n cssImport: state.jsxReactImport\n });\n }\n }\n },\n CallExpression: {\n exit: function exit(path\n /*: BabelPath */\n , state\n /*: EmotionBabelPluginPass */\n ) {\n try {\n if (path.node.callee && path.node.callee.property && path.node.callee.property.name === 'withComponent') {\n switch (path.node.arguments.length) {\n case 1:\n case 2:\n {\n path.node.arguments[1] = getStyledOptions(t, path, state);\n }\n }\n }\n } catch (e) {\n throw path.buildCodeFrameError(e);\n }\n }\n }\n }\n };\n}\n\nexport { index as default, macros };\n", "module.exports = require('@emotion/babel-plugin').macros.webStyled\n"], + "mappings": "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,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,GAAE,GAAE,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,IAAG,GAAE,GAAE,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,IAAG,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,KAAI,IAAG,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,KAAI,IAAG,KAAI,IAAG,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,IAAG,IAAG,GAAE,GAAE,GAAE,IAAG,GAAE,IAAG,IAAG,GAAE,GAAE,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,KAAI,IAAG,IAAG,GAAE,GAAE,IAAG,IAAG,GAAE,IAAG,IAAG,KAAI,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,KAAI,IAAG,IAAG,GAAE,GAAE,IAAG,GAAE,IAAG,KAAI,GAAE,IAAG,KAAI,KAAI,KAAI,IAAG,KAAI,MAAK,IAAG,IAAG,MAAK,IAAG,GAAE,IAAG,MAAK,GAAE,KAAI,MAAK,IAAG,MAAK,KAAI,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,GAAE,IAAG,KAAI,IAAG,KAAI,IAAG,KAAI,IAAG,GAAE,GAAE,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,IAAG,MAAK,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,KAAI,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,KAAI,MAAK,KAAI,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,MAAK,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,KAAI,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,GAAE,MAAK,IAAG,GAAE,GAAE,KAAI,IAAG,KAAI,IAAG,IAAG,GAAE,IAAG,GAAE,KAAI,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,IAAG,GAAE,GAAE,KAAI,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,KAAI,IAAG,IAAG,GAAE,GAAE,MAAK,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE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CO,aAASmM,sCACdpM,MACAC,MACmD;AACnDH,aAAO,mCAAmCE,MAAMC,IAAI;IACtD;AACO,aAASoM,0BACdrM,MACAC,MACuC;AACvCH,aAAO,uBAAuBE,MAAMC,IAAI;IAC1C;AACO,aAASqM,wBACdtM,MACAC,MACqC;AACrCH,aAAO,qBAAqBE,MAAMC,IAAI;IACxC;AACO,aAASsM,uBACdvM,MACAC,MACoC;AACpCH,aAAO,oBAAoBE,MAAMC,IAAI;IACvC;AACO,aAASuM,mBACdxM,MACAC,MACgC;AAChCH,aAAO,gBAAgBE,MAAMC,IAAI;IACnC;AACO,aAASwM,uBACdzM,MACAC,MACoC;AACpCH,aAAO,oBAAoBE,MAAMC,IAAI;IACvC;AACO,aAASyM,sBACd1M,MACAC,MACmC;AACnCH,aAAO,mBAAmBE,MAAMC,IAAI;IACtC;AACO,aAAS0M,yBACd3M,MACAC,MACsC;AACtCH,aAAO,sBAAsBE,MAAMC,IAAI;IACzC;AACO,aAAS2M,qBACd5M,MACAC,MACkC;AAClCH,aAAO,kBAAkBE,MAAMC,IAAI;IACrC;AACO,aAAS4M,oBACd7M,MACAC,MACiC;AACjCH,aAAO,iBAAiBE,MAAMC,IAAI;IACpC;AACO,aAAS6M,sBACd9M,MACAC,MACmC;AACnCH,aAAO,mBAAmBE,MAAMC,IAAI;IACtC;AACO,aAAS8M,sBACd/M,MACAC,MACmC;AACnCH,aAAO,mBAAmBE,MAAMC,IAAI;IACtC;AACO,aAAS+M,sBACdhN,MACAC,MACmC;AACnCH,aAAO,mBAAmBE,MAAMC,IAAI;IACtC;AACO,aAASgN,sBACdjN,MACAC,MACmC;AACnCH,aAAO,mBAAmBE,MAAMC,IAAI;IACtC;AACO,aAASiN,yBACdlN,MACAC,MACsC;AACtCH,aAAO,sBAAsBE,MAAMC,IAAI;IACzC;AACO,aAASkN,uBACdnN,MACAC,MACoC;AACpCH,aAAO,oBAAoBE,MAAMC,IAAI;IACvC;AACO,aAASmN,oBACdpN,MACAC,MACiC;AACjCH,aAAO,iBAAiBE,MAAMC,IAAI;IACpC;AACO,aAASoN,iBACdrN,MACAC,MAC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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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", + "names": ["index", "set", "SourceMapGenerator", "sourceFile", "map", "index", "index", "value", "needle", "section", "SourceMapGenerator", "map", "json", "value", "findRoot", "string", "shallowEqual", "actual", "expected", "keys", "Object", "key", "warnings", "Set", "deprecationWarning", "oldName", "newName", "prefix", "has", "add", "internal", "trace", "captureShortStackTrace", "console", "warn", "skip", "length", "stackTraceLimit", "prepareStackTrace", "Error", "stackTrace", "err", "stack", "shortStackTrace", "slice", "test", "getFileName", "map", "frame", "join", "_shallowEqual", "require", "_deprecationWarning", "isArrayExpression", "node", "opts", "type", "shallowEqual", "isAssignmentExpression", "isBinaryExpression", "isInterpreterDirective", "isDirective", "isDirectiveLiteral", "isBlockStatement", "isBreakStatement", "isCallExpression", "isCatchClause", "isConditionalExpression", "isContinueStatement", "isDebuggerStatement", "isDoWhileStatement", "isEmptyStatement", "isExpressionStatement", "isFile", "isForInStatement", "isForStatement", "isFunctionDeclaration", "isFunctionExpression", "isIdentifier", "isIfStatement", "isLabeledStatement", "isStringLiteral", "isNumericLiteral", "isNullLiteral", "isBooleanLiteral", "isRegExpLiteral", "isLogicalExpression", "isMemberExpression", "isNewExpression", "isProgram", "isObjectExpression", "isObjectMethod", "isObjectProperty", "isRestElement", "isReturnStatement", "isSequenceExpression", "isParenthesizedExpression", "isSwitchCase", "isSwitchStatement", "isThisExpression", "isThrowStatement", "isTryStatement", "isUnaryExpression", "isUpdateExpression", "isVariableDeclaration", "isVariableDeclarator", "isWhileStatement", "isWithStatement", "isAssignmentPattern", "isArrayPattern", "isArrowFunctionExpression", "isClassBody", "isClassExpression", "isClassDeclaration", "isExportAllDeclaration", "isExportDefaultDeclaration", "isExportNamedDeclaration", "isExportSpecifier", "isForOfStatement", "isImportDeclaration", "isImportDefaultSpecifier", "isImportNamespaceSpecifier", "isImportSpecifier", "isImportExpression", "isMetaProperty", "isClassMethod", "isObjectPattern", "isSpreadElement", "isSuper", "isTaggedTemplateExpression", "isTemplateElement", "isTemplateLiteral", "isYieldExpression", "isAwaitExpression", "isImport", "isBigIntLiteral", "isExportNamespaceSpecifier", "isOptionalMemberExpression", "isOptionalCallExpression", "isClassProperty", "isClassAccessorProperty", "isClassPrivateProperty", "isClassPrivateMethod", "isPrivateName", "isStaticBlock", "isAnyTypeAnnotation", "isArrayTypeAnnotation", "isBooleanTypeAnnotation", "isBooleanLiteralTypeAnnotation", "isNullLiteralTypeAnnotation", "isClassImplements", "isDeclareClass", "isDeclareFunction", "isDeclareInterface", "isDeclareModule", "isDeclareModuleExports", "isDeclareTypeAlias", "isDeclareOpaqueType", "isDeclareVariable", "isDeclareExportDeclaration", "isDeclareExportAllDeclaration", "isDeclaredPredicate", "isExistsTypeAnnotation", "isFunctionTypeAnnotation", "isFunctionTypeParam", "isGenericTypeAnnotation", "isInferredPredicate", "isInterfaceExtends", "isInterfaceDeclaration", "isInterfaceTypeAnnotation", "isIntersectionTypeAnnotation", "isMixedTypeAnnotation", "isEmptyTypeAnnotation", "isNullableTypeAnnotation", "isNumberLiteralTypeAnnotation", "isNumberTypeAnnotation", "isObjectTypeAnnotation", "isObjectTypeInternalSlot", "isObjectTypeCallProperty", "isObjectTypeIndexer", "isObjectTypeProperty", "isObjectTypeSpreadProperty", "isOpaqueType", "isQualifiedTypeIdentifier", "isStringLiteralTypeAnnotation", "isStringTypeAnnotation", "isSymbolTypeAnnotation", "isThisTypeAnnotation", "isTupleTypeAnnotation", "isTypeofTypeAnnotation", "isTypeAlias", "isTypeAnnotation", "isTypeCastExpression", "isTypeParameter", "isTypeParameterDeclaration", "isTypeParameterInstantiation", "isUnionTypeAnnotation", "isVariance", "isVoidTypeAnnotation", "isEnumDeclaration", "isEnumBooleanBody", "isEnumNumberBody", "isEnumStringBody", "isEnumSymbolBody", "isEnumBooleanMember", "isEnumNumberMember", "isEnumStringMember", "isEnumDefaultedMember", "isIndexedAccessType", "isOptionalIndexedAccessType", "isJSXAttribute", "isJSXClosingElement", "isJSXElement", "isJSXEmptyExpression", "isJSXExpressionContainer", "isJSXSpreadChild", "isJSXIdentifier", "isJSXMemberExpression", "isJSXNamespacedName", "isJSXOpeningElement", "isJSXSpreadAttribute", "isJSXText", "isJSXFragment", "isJSXOpeningFragment", "isJSXClosingFragment", "isNoop", "isPlaceholder", "isV8IntrinsicIdentifier", "isArgumentPlaceholder", "isBindExpression", "isImportAttribute", "isDecorator", "isDoExpression", "isExportDefaultSpecifier", "isRecordExpression", "isTupleExpression", "isDecimalLiteral", "isModuleExpression", "isTopicReference", "isPipelineTopicExpression", "isPipelineBareFunction", "isPipelinePrimaryTopicReference", "isTSParameterProperty", "isTSDeclareFunction", "isTSDeclareMethod", "isTSQualifiedName", "isTSCallSignatureDeclaration", "isTSConstructSignatureDeclaration", "isTSPropertySignature", "isTSMethodSignature", "isTSIndexSignature", "isTSAnyKeyword", "isTSBooleanKeyword", "isTSBigIntKeyword", "isTSIntrinsicKeyword", "isTSNeverKeyword", "isTSNullKeyword", "isTSNumberKeyword", "isTSObjectKeyword", "isTSStringKeyword", "isTSSymbolKeyword", "isTSUndefinedKeyword", "isTSUnknownKeyword", "isTSVoidKeyword", "isTSThisType", "isTSFunctionType", "isTSConstructorType", "isTSTypeReference", "isTSTypePredicate", "isTSTypeQuery", "isTSTypeLiteral", "isTSArrayType", "isTSTupleType", "isTSOptionalType", "isTSRestType", "isTSNamedTupleMember", "isTSUnionType", "isTSIntersectionType", "isTSConditionalType", "isTSInferType", "isTSParenthesizedType", "isTSTypeOperator", "isTSIndexedAccessType", "isTSMappedType", "isTSLiteralType", "isTSExpressionWithTypeArguments", "isTSInterfaceDeclaration", "isTSInterfaceBody", "isTSTypeAliasDeclaration", "isTSInstantiationExpression", "isTSAsExpression", "isTSSatisfiesExpression", "isTSTypeAssertion", "isTSEnumDeclaration", "isTSEnumMember", "isTSModuleDeclaration", "isTSModuleBlock", "isTSImportType", "isTSImportEqualsDeclaration", "isTSExternalModuleReference", "isTSNonNullExpression", "isTSExportAssignment", "isTSNamespaceExportDeclaration", "isTSTypeAnnotation", "isTSTypeParameterInstantiation", "isTSTypeParameterDeclaration", "isTSTypeParameter", "isStandardized", "expectedNode", "isExpression", "isBinary", "isScopable", "isBlockParent", "isBlock", "isStatement", "isTerminatorless", "isCompletionStatement", "isConditional", "isLoop", "isWhile", "isExpressionWrapper", "isFor", "isForXStatement", "isFunction", "isFunctionParent", "isPureish", "isDeclaration", "isPatternLike", "isLVal", "isTSEntityName", "isLiteral", "isImmutable", "isUserWhitespacable", "isMethod", "isObjectMember", "isProperty", "isUnaryLike", "isPattern", "isClass", "isImportOrExportDeclaration", "isExportDeclaration", "isModuleSpecifier", "isAccessor", "isPrivate", "isFlow", "isFlowType", "isFlowBaseAnnotation", "isFlowDeclaration", "isFlowPredicate", "isEnumBody", "isEnumMember", "isJSX", "isMiscellaneous", "isTypeScript", "isTSTypeElement", "isTSType", "isTSBaseType", "isNumberLiteral", "deprecationWarning", "isRegexLiteral", "isRestProperty", "isSpreadProperty", "isModuleDeclaration", "_index", "require", "matchesPattern", "member", "match", "allowPartial", "isMemberExpression", "parts", "Array", "isArray", "split", "nodes", "node", "object", "push", "property", "length", "i", "j", "value", "isIdentifier", "name", "isStringLiteral", "isThisExpression", "_matchesPattern", "require", "buildMatchMemberExpression", "match", "allowPartial", "parts", "split", "member", "matchesPattern", "_buildMatchMemberExpression", "require", "isReactComponent", "buildMatchMemberExpression", "_default", "exports", "default", "isCompatTag", "tagName", "test", "_index", "require", "isType", "nodeType", "targetType", "ALIAS_KEYS", "aliases", "FLIPPED_ALIAS_KEYS", "alias", "_index", "require", "isPlaceholderType", "placeholderType", "targetType", "aliases", "PLACEHOLDERS_ALIAS", "alias", "_shallowEqual", "require", "_isType", "_isPlaceholderType", "_index", "is", "type", "node", "opts", "matches", "isType", "FLIPPED_ALIAS_KEYS", "isPlaceholderType", "expectedNode", "undefined", "shallowEqual", "nonASCIIidentifierStartChars", "nonASCIIidentifierChars", "nonASCIIidentifierStart", "RegExp", "nonASCIIidentifier", "astralIdentifierStartCodes", "astralIdentifierCodes", "isInAstralSet", "code", "set", "pos", "i", "length", "isIdentifierStart", "test", "String", "fromCharCode", "isIdentifierChar", "isIdentifierName", "name", "isFirst", "cp", "charCodeAt", "trail", "reservedWords", "keyword", "strict", "strictBind", "keywords", "Set", "reservedWordsStrictSet", "reservedWordsStrictBindSet", "isReservedWord", "word", "inModule", "isStrictReservedWord", "has", "isStrictBindOnlyReservedWord", "isStrictBindReservedWord", "isKeyword", "_identifier", "require", "_keyword", "_helperValidatorIdentifier", "require", "isValidIdentifier", "name", "reserved", "isKeyword", "isStrictReservedWord", "isIdentifierName", "isDigit", "code", "forbiddenNumericSeparatorSiblings", "decBinOct", "Set", "hex", "isAllowedNumericSeparatorSibling", "bin", "ch", "oct", "dec", "readStringContents", "type", "input", "pos", "lineStart", "curLine", "errors", "initialPos", "initialLineStart", "initialCurLine", "out", "firstInvalidLoc", "chunkStart", "length", "unterminated", "slice", "charCodeAt", "isStringEnd", "res", "readEscapedChar", "str", "containsInvalid", "inTemplate", "throwOnInvalid", "readHexChar", "String", "fromCharCode", "readCodePoint", "fromCodePoint", "strictNumericEscape", "startPos", "match", "exec", "octalStr", "octal", "parseInt", "next", "len", "forceLen", "n", "readInt", "invalidEscapeSequence", "radix", "allowNumSeparator", "bailOnError", "start", "forbiddenSiblings", "isAllowedSibling", "invalid", "total", "i", "e", "Infinity", "val", "prev", "numericSeparatorInEscapeSequence", "Number", "isNaN", "has", "unexpectedNumericSeparator", "_isDigit", "invalidDigit", "indexOf", "invalidCodePoint", "STATEMENT_OR_BLOCK_KEYS", "exports", "FLATTENABLE_KEYS", "FOR_INIT_KEYS", "COMMENT_KEYS", "LOGICAL_OPERATORS", "UPDATE_OPERATORS", "BOOLEAN_NUMBER_BINARY_OPERATORS", "EQUALITY_BINARY_OPERATORS", "COMPARISON_BINARY_OPERATORS", "BOOLEAN_BINARY_OPERATORS", "NUMBER_BINARY_OPERATORS", "BINARY_OPERATORS", "ASSIGNMENT_OPERATORS", "map", "op", "BOOLEAN_UNARY_OPERATORS", "NUMBER_UNARY_OPERATORS", "STRING_UNARY_OPERATORS", "UNARY_OPERATORS", "INHERIT_KEYS", "optional", "force", "BLOCK_SCOPED_SYMBOL", "Symbol", "for", "NOT_LOCAL_BINDING", "_is", "require", "_validate", "VISITOR_KEYS", "exports", "ALIAS_KEYS", "FLIPPED_ALIAS_KEYS", "NODE_FIELDS", "BUILDER_KEYS", "DEPRECATED_KEYS", "NODE_PARENT_VALIDATIONS", "getType", "val", "Array", "isArray", "validate", "validateType", "typeNames", "assertNodeType", "validateOptional", "optional", "validateOptionalType", "arrayOf", "elementType", "chain", "assertValueType", "assertEach", "arrayOfType", "validateArrayOfType", "callback", "childValidator", "process", "env", "BABEL_TYPES_8_BREAKING", "validateChild", "validator", "node", "key", "i", "length", "subkey", "v", "each", "assertOneOf", "values", "includes", "TypeError", "JSON", "stringify", "oneOf", "types", "type", "is", "oneOfNodeTypes", "assertNodeOrValueType", "oneOfNodeOrValueTypes", "valid", "assertShape", "shape", "errors", "property", "Object", "keys", "validateField", "error", "push", "message", "join", "shapeOf", "assertOptionalChainStart", "_current", "current", "callee", "object", "fns", "args", "fn", "chainOf", "Error", "validTypeOpts", "Set", "validFieldKeys", "store", "defineAliasedType", "aliases", "opts", "defined", "_store$opts$inherits$", "_defined", "inherits", "slice", "additional", "filter", "a", "unshift", "defineType", "fields", "getOwnPropertyNames", "field", "def", "default", "deprecated", "visitor", "builder", "k", "has", "deprecatedAlias", "concat", "undefined", "forEach", "alias", "_is", "require", "_isValidIdentifier", "_helperValidatorIdentifier", "_helperStringParser", "_index", "_utils", "defineType", "defineAliasedType", "fields", "elements", "validate", "arrayOf", "assertNodeOrValueType", "default", "process", "env", "BABEL_TYPES_8_BREAKING", "undefined", "visitor", "aliases", "operator", "assertValueType", "Object", "assign", "identifier", "assertOneOf", "ASSIGNMENT_OPERATORS", "pattern", "node", "key", "val", "validator", "is", "left", "type", "assertNodeType", "right", "builder", "BINARY_OPERATORS", "expression", "inOp", "oneOfNodeTypes", "value", "directives", "arrayOfType", "body", "validateArrayOfType", "label", "optional", "callee", "arguments", "typeArguments", "typeParameters", "param", "test", "consequent", "alternate", "program", "comments", "each", "assertEach", "tokens", "init", "update", "functionCommon", "params", "generator", "async", "exports", "functionTypeAnnotationCommon", "returnType", "functionDeclarationCommon", "declare", "id", "predicate", "parent", "inherits", "patternLikeCommon", "typeAnnotation", "decorators", "name", "chain", "isValidIdentifier", "TypeError", "match", "exec", "parentKey", "nonComp", "computed", "imported", "meta", "isKeyword", "isReservedWord", "deprecatedAlias", "Number", "isFinite", "error", "Error", "flags", "invalid", "LOGICAL_OPERATORS", "object", "property", "normal", "sourceType", "interpreter", "properties", "kind", "shorthand", "argument", "listKey", "index", "length", "expressions", "discriminant", "cases", "block", "handler", "finalizer", "prefix", "UNARY_OPERATORS", "UPDATE_OPERATORS", "declarations", "withoutInit", "forEach", "decl", "definite", "superClass", "superTypeParameters", "implements", "mixins", "abstract", "importAttributes", "attributes", "assertions", "deprecated", "source", "exportKind", "validateOptional", "declaration", "validateType", "specifiers", "sourced", "sourceless", "local", "exported", "lval", "await", "module", "phase", "importKind", "options", "classMethodOrPropertyCommon", "accessibility", "static", "override", "classMethodOrDeclareMethodCommon", "access", "tag", "quasi", "assertShape", "raw", "cooked", "templateElementCookedValidator", "unterminatedCalled", "str", "firstInvalidLoc", "readStringContents", "unterminated", "strictNumericEscape", "invalidEscapeSequence", "numericSeparatorInEscapeSequence", "unexpectedNumericSeparator", "invalidDigit", "invalidCodePoint", "tail", "quasis", "delegate", "assertOptionalChainStart", "readonly", "variance", "_core", "require", "_utils", "defineType", "defineAliasedType", "defineInterfaceishType", "name", "isDeclareClass", "builder", "visitor", "aliases", "fields", "Object", "assign", "id", "validateType", "typeParameters", "validateOptionalType", "extends", "validateOptional", "arrayOfType", "mixins", "implements", "body", "elementType", "value", "validate", "assertValueType", "predicate", "kind", "assertOneOf", "typeAnnotation", "right", "supertype", "impltype", "declaration", "specifiers", "source", "default", "importAttributes", "exportKind", "params", "validateArrayOfType", "rest", "this", "returnType", "optional", "types", "properties", "indexers", "callProperties", "internalSlots", "exact", "inexact", "static", "method", "key", "variance", "proto", "argument", "qualification", "expression", "bound", "explicitType", "members", "hasUnknownMembers", "init", "objectType", "indexType", "_utils", "require", "defineType", "defineAliasedType", "visitor", "aliases", "fields", "name", "validate", "assertNodeType", "value", "optional", "builder", "Object", "assign", "openingElement", "closingElement", "children", "validateArrayOfType", "selfClosing", "assertValueType", "expression", "object", "property", "namespace", "default", "attributes", "typeParameters", "argument", "openingFragment", "closingFragment", "_utils", "require", "PLACEHOLDERS", "exports", "PLACEHOLDERS_ALIAS", "Declaration", "Pattern", "type", "alias", "ALIAS_KEYS", "length", "PLACEHOLDERS_FLIPPED_ALIAS", "Object", "keys", "forEach", "hasOwnProperty", "call", "push", "_utils", "require", "_placeholders", "_core", "defineType", "defineAliasedType", "visitor", "builder", "fields", "Object", "assign", "name", "validate", "assertNodeType", "expectedNode", "assertOneOf", "PLACEHOLDERS", "patternLikeCommon", "assertValueType", "_utils", "require", "defineType", "visitor", "aliases", "fields", "process", "env", "BABEL_TYPES_8_BREAKING", "object", "validate", "Object", "assign", "oneOfNodeTypes", "callee", "assertNodeType", "key", "value", "expression", "builder", "body", "async", "assertValueType", "default", "exported", "properties", "validateArrayOfType", "elements", "arrayOfType", "_utils", "require", "_core", "_is", "defineType", "defineAliasedType", "bool", "assertValueType", "tSFunctionTypeAnnotationCommon", "returnType", "validate", "assertNodeType", "optional", "typeParameters", "aliases", "visitor", "fields", "accessibility", "assertOneOf", "readonly", "parameter", "override", "decorators", "arrayOfType", "Object", "assign", "functionDeclarationCommon", "classMethodOrDeclareMethodCommon", "left", "validateType", "right", "signatureDeclarationCommon", "validateOptionalType", "validateArrayOfType", "callConstructSignatureDeclaration", "namedTypeElementCommon", "key", "computed", "default", "validateOptional", "typeAnnotation", "kind", "static", "parameters", "tsKeywordTypes", "type", "fnOrCtrBase", "abstract", "typeName", "builder", "parameterName", "asserts", "exprName", "members", "elementType", "elementTypes", "label", "unionOrIntersection", "types", "checkType", "extendsType", "trueType", "falseType", "typeParameter", "operator", "objectType", "indexType", "nameType", "literal", "unaryExpression", "unaryOperator", "validator", "parent", "node", "is", "argument", "oneOfNodeTypes", "expressionWithTypeArguments", "expression", "declare", "id", "extends", "body", "TSTypeExpression", "const", "initializer", "global", "qualifier", "options", "isExport", "moduleReference", "importKind", "params", "name", "in", "out", "constraint", "DEPRECATED_ALIASES", "exports", "ModuleDeclaration", "require", "_utils", "_placeholders", "_deprecatedAliases", "Object", "keys", "DEPRECATED_ALIASES", "forEach", "deprecatedAlias", "FLIPPED_ALIAS_KEYS", "TYPES", "exports", "concat", "VISITOR_KEYS", "DEPRECATED_KEYS", "_index", "require", "validate", "node", "key", "val", "fields", "NODE_FIELDS", "type", "field", "validateField", "validateChild", "validateInternal", "maybeNode", "optional", "_NODE_PARENT_VALIDATI", "NODE_PARENT_VALIDATIONS", "call", "_NODE_PARENT_VALIDATI2", "_validate", "require", "_deprecationWarning", "utils", "validateInternal", "validate", "NODE_FIELDS", "arrayExpression", "elements", "node", "type", "defs", "ArrayExpression", "assignmentExpression", "operator", "left", "right", "AssignmentExpression", "binaryExpression", "BinaryExpression", "interpreterDirective", "value", "InterpreterDirective", "directive", "Directive", "directiveLiteral", "DirectiveLiteral", "blockStatement", "body", "directives", "BlockStatement", "breakStatement", "label", "BreakStatement", "callExpression", "callee", "_arguments", "arguments", "CallExpression", "catchClause", "param", "CatchClause", "conditionalExpression", "test", "consequent", "alternate", "ConditionalExpression", "continueStatement", "ContinueStatement", "debuggerStatement", "doWhileStatement", "DoWhileStatement", "emptyStatement", "expressionStatement", "expression", "ExpressionStatement", "file", "program", "comments", "tokens", "File", "forInStatement", "ForInStatement", "forStatement", "init", "update", "ForStatement", "functionDeclaration", "id", "params", "generator", "async", "FunctionDeclaration", "functionExpression", "FunctionExpression", "identifier", "name", "Identifier", "ifStatement", "IfStatement", "labeledStatement", "LabeledStatement", "stringLiteral", "StringLiteral", "numericLiteral", "NumericLiteral", "nullLiteral", "booleanLiteral", "BooleanLiteral", "regExpLiteral", "pattern", "flags", "RegExpLiteral", "logicalExpression", "LogicalExpression", "memberExpression", "object", "property", "computed", "optional", "MemberExpression", "newExpression", "NewExpression", "sourceType", "interpreter", "Program", "objectExpression", "properties", "ObjectExpression", "objectMethod", "kind", "key", "ObjectMethod", "objectProperty", "shorthand", "decorators", "ObjectProperty", "restElement", "argument", "RestElement", "returnStatement", "ReturnStatement", "sequenceExpression", "expressions", "SequenceExpression", "parenthesizedExpression", "ParenthesizedExpression", "switchCase", "SwitchCase", "switchStatement", "discriminant", "cases", "SwitchStatement", "thisExpression", "throwStatement", "ThrowStatement", "tryStatement", "block", "handler", "finalizer", "TryStatement", "unaryExpression", "prefix", "UnaryExpression", "updateExpression", "UpdateExpression", "variableDeclaration", "declarations", "VariableDeclaration", "variableDeclarator", "VariableDeclarator", "whileStatement", "WhileStatement", "withStatement", "WithStatement", "assignmentPattern", "AssignmentPattern", "arrayPattern", "ArrayPattern", "arrowFunctionExpression", "ArrowFunctionExpression", "classBody", "ClassBody", "classExpression", "superClass", "ClassExpression", "classDeclaration", "ClassDeclaration", "exportAllDeclaration", "source", "ExportAllDeclaration", "exportDefaultDeclaration", "declaration", "ExportDefaultDeclaration", "exportNamedDeclaration", "specifiers", "ExportNamedDeclaration", "exportSpecifier", "local", "exported", "ExportSpecifier", "forOfStatement", "_await", "await", "ForOfStatement", "importDeclaration", "ImportDeclaration", "importDefaultSpecifier", "ImportDefaultSpecifier", "importNamespaceSpecifier", "ImportNamespaceSpecifier", "importSpecifier", "imported", "ImportSpecifier", "importExpression", "options", "ImportExpression", "metaProperty", "meta", "MetaProperty", "classMethod", "_static", "static", "ClassMethod", "objectPattern", "ObjectPattern", "spreadElement", "SpreadElement", "_super", "taggedTemplateExpression", "tag", "quasi", "TaggedTemplateExpression", "templateElement", "tail", "TemplateElement", "templateLiteral", "quasis", "TemplateLiteral", "yieldExpression", "delegate", "YieldExpression", "awaitExpression", "AwaitExpression", "_import", "bigIntLiteral", "BigIntLiteral", "exportNamespaceSpecifier", "ExportNamespaceSpecifier", "optionalMemberExpression", "OptionalMemberExpression", "optionalCallExpression", "OptionalCallExpression", "classProperty", "typeAnnotation", "ClassProperty", "classAccessorProperty", "ClassAccessorProperty", "classPrivateProperty", "ClassPrivateProperty", "classPrivateMethod", "ClassPrivateMethod", "privateName", "PrivateName", "staticBlock", "StaticBlock", "anyTypeAnnotation", "arrayTypeAnnotation", "elementType", "ArrayTypeAnnotation", "booleanTypeAnnotation", "booleanLiteralTypeAnnotation", "BooleanLiteralTypeAnnotation", "nullLiteralTypeAnnotation", "classImplements", "typeParameters", "ClassImplements", "declareClass", "_extends", "extends", "DeclareClass", "declareFunction", "DeclareFunction", "declareInterface", "DeclareInterface", "declareModule", "DeclareModule", "declareModuleExports", "DeclareModuleExports", "declareTypeAlias", "DeclareTypeAlias", "declareOpaqueType", "supertype", "DeclareOpaqueType", "declareVariable", "DeclareVariable", "declareExportDeclaration", "attributes", "DeclareExportDeclaration", "declareExportAllDeclaration", "DeclareExportAllDeclaration", "declaredPredicate", "DeclaredPredicate", "existsTypeAnnotation", "functionTypeAnnotation", "rest", "returnType", "FunctionTypeAnnotation", "functionTypeParam", "FunctionTypeParam", "genericTypeAnnotation", "GenericTypeAnnotation", "inferredPredicate", "interfaceExtends", "InterfaceExtends", "interfaceDeclaration", "InterfaceDeclaration", "interfaceTypeAnnotation", "InterfaceTypeAnnotation", "intersectionTypeAnnotation", "types", "IntersectionTypeAnnotation", "mixedTypeAnnotation", "emptyTypeAnnotation", "nullableTypeAnnotation", "NullableTypeAnnotation", "numberLiteralTypeAnnotation", "NumberLiteralTypeAnnotation", "numberTypeAnnotation", "objectTypeAnnotation", "indexers", "callProperties", "internalSlots", "exact", "ObjectTypeAnnotation", "objectTypeInternalSlot", "method", "ObjectTypeInternalSlot", "objectTypeCallProperty", "ObjectTypeCallProperty", "objectTypeIndexer", "variance", "ObjectTypeIndexer", "objectTypeProperty", "proto", "ObjectTypeProperty", "objectTypeSpreadProperty", "ObjectTypeSpreadProperty", "opaqueType", "impltype", "OpaqueType", "qualifiedTypeIdentifier", "qualification", "QualifiedTypeIdentifier", "stringLiteralTypeAnnotation", "StringLiteralTypeAnnotation", "stringTypeAnnotation", "symbolTypeAnnotation", "thisTypeAnnotation", "tupleTypeAnnotation", "TupleTypeAnnotation", "typeofTypeAnnotation", "TypeofTypeAnnotation", "typeAlias", "TypeAlias", "TypeAnnotation", "typeCastExpression", "TypeCastExpression", "typeParameter", "bound", "_default", "default", "TypeParameter", "typeParameterDeclaration", "TypeParameterDeclaration", "typeParameterInstantiation", "TypeParameterInstantiation", "unionTypeAnnotation", "UnionTypeAnnotation", "Variance", "voidTypeAnnotation", "enumDeclaration", "EnumDeclaration", "enumBooleanBody", "members", "explicitType", "hasUnknownMembers", "EnumBooleanBody", "enumNumberBody", "EnumNumberBody", "enumStringBody", "EnumStringBody", "enumSymbolBody", "EnumSymbolBody", "enumBooleanMember", "EnumBooleanMember", "enumNumberMember", "EnumNumberMember", "enumStringMember", "EnumStringMember", "enumDefaultedMember", "EnumDefaultedMember", "indexedAccessType", "objectType", "indexType", "IndexedAccessType", "optionalIndexedAccessType", "OptionalIndexedAccessType", "jsxAttribute", "JSXAttribute", "jsxClosingElement", "JSXClosingElement", "jsxElement", "openingElement", "closingElement", "children", "selfClosing", "JSXElement", "jsxEmptyExpression", "jsxExpressionContainer", "JSXExpressionContainer", "jsxSpreadChild", "JSXSpreadChild", "jsxIdentifier", "JSXIdentifier", "jsxMemberExpression", "JSXMemberExpression", "jsxNamespacedName", "namespace", "JSXNamespacedName", "jsxOpeningElement", "JSXOpeningElement", "jsxSpreadAttribute", "JSXSpreadAttribute", "jsxText", "JSXText", "jsxFragment", "openingFragment", "closingFragment", "JSXFragment", "jsxOpeningFragment", "jsxClosingFragment", "noop", "placeholder", "expectedNode", "Placeholder", "v8IntrinsicIdentifier", "V8IntrinsicIdentifier", "argumentPlaceholder", "bindExpression", "BindExpression", "importAttribute", "ImportAttribute", "decorator", "Decorator", "doExpression", "DoExpression", "exportDefaultSpecifier", "ExportDefaultSpecifier", "recordExpression", "RecordExpression", "tupleExpression", "TupleExpression", "decimalLiteral", "DecimalLiteral", "moduleExpression", "ModuleExpression", "topicReference", "pipelineTopicExpression", "PipelineTopicExpression", "pipelineBareFunction", "PipelineBareFunction", "pipelinePrimaryTopicReference", "tsParameterProperty", "parameter", "TSParameterProperty", "tsDeclareFunction", "TSDeclareFunction", "tsDeclareMethod", "TSDeclareMethod", "tsQualifiedName", "TSQualifiedName", "tsCallSignatureDeclaration", "parameters", "TSCallSignatureDeclaration", "tsConstructSignatureDeclaration", "TSConstructSignatureDeclaration", "tsPropertySignature", "TSPropertySignature", "tsMethodSignature", "TSMethodSignature", "tsIndexSignature", "TSIndexSignature", "tsAnyKeyword", "tsBooleanKeyword", "tsBigIntKeyword", "tsIntrinsicKeyword", "tsNeverKeyword", "tsNullKeyword", "tsNumberKeyword", "tsObjectKeyword", "tsStringKeyword", "tsSymbolKeyword", "tsUndefinedKeyword", "tsUnknownKeyword", "tsVoidKeyword", "tsThisType", "tsFunctionType", "TSFunctionType", "tsConstructorType", "TSConstructorType", "tsTypeReference", "typeName", "TSTypeReference", "tsTypePredicate", "parameterName", "asserts", "TSTypePredicate", "tsTypeQuery", "exprName", "TSTypeQuery", "tsTypeLiteral", "TSTypeLiteral", "tsArrayType", "TSArrayType", "tsTupleType", "elementTypes", "TSTupleType", "tsOptionalType", "TSOptionalType", "tsRestType", "TSRestType", "tsNamedTupleMember", "TSNamedTupleMember", "tsUnionType", "TSUnionType", "tsIntersectionType", "TSIntersectionType", "tsConditionalType", "checkType", "extendsType", "trueType", "falseType", "TSConditionalType", "tsInferType", "TSInferType", "tsParenthesizedType", "TSParenthesizedType", "tsTypeOperator", "TSTypeOperator", "tsIndexedAccessType", "TSIndexedAccessType", "tsMappedType", "nameType", "TSMappedType", "tsLiteralType", "literal", "TSLiteralType", "tsExpressionWithTypeArguments", "TSExpressionWithTypeArguments", "tsInterfaceDeclaration", "TSInterfaceDeclaration", "tsInterfaceBody", "TSInterfaceBody", "tsTypeAliasDeclaration", "TSTypeAliasDeclaration", "tsInstantiationExpression", "TSInstantiationExpression", "tsAsExpression", "TSAsExpression", "tsSatisfiesExpression", "TSSatisfiesExpression", "tsTypeAssertion", "TSTypeAssertion", "tsEnumDeclaration", "TSEnumDeclaration", "tsEnumMember", "initializer", "TSEnumMember", "tsModuleDeclaration", "TSModuleDeclaration", "tsModuleBlock", "TSModuleBlock", "tsImportType", "qualifier", "TSImportType", "tsImportEqualsDeclaration", "moduleReference", "isExport", "TSImportEqualsDeclaration", "tsExternalModuleReference", "TSExternalModuleReference", "tsNonNullExpression", "TSNonNullExpression", "tsExportAssignment", "TSExportAssignment", "tsNamespaceExportDeclaration", "TSNamespaceExportDeclaration", "tsTypeAnnotation", "TSTypeAnnotation", "tsTypeParameterInstantiation", "TSTypeParameterInstantiation", "tsTypeParameterDeclaration", "TSTypeParameterDeclaration", "tsTypeParameter", "constraint", "TSTypeParameter", "NumberLiteral", "deprecationWarning", "RegexLiteral", "RestProperty", "SpreadProperty", "_index", "require", "_index2", "cleanJSXElementLiteralChild", "child", "args", "lines", "value", "split", "lastNonEmptyLine", "i", "length", "exec", "str", "line", "isFirstLine", "isLastLine", "isLastNonEmptyLine", "trimmedLine", "replace", "push", "inherits", "stringLiteral", "_index", "require", "_cleanJSXElementLiteralChild", "buildChildren", "node", "elements", "i", "children", "length", "child", "isJSXText", "cleanJSXElementLiteralChild", "isJSXExpressionContainer", "expression", "isJSXEmptyExpression", "push", "_index", "require", "isNode", "node", "VISITOR_KEYS", "type", "_isNode", "require", "assertNode", "node", "isNode", "_node$type", "type", "JSON", "stringify", "TypeError", "_is", "require", "_deprecationWarning", "assert", "type", "node", "opts", "is", "Error", "JSON", "stringify", "assertArrayExpression", "assertAssignmentExpression", "assertBinaryExpression", "assertInterpreterDirective", "assertDirective", "assertDirectiveLiteral", "assertBlockStatement", "assertBreakStatement", "assertCallExpression", "assertCatchClause", "assertConditionalExpression", "assertContinueStatement", "assertDebuggerStatement", "assertDoWhileStatement", "assertEmptyStatement", "assertExpressionStatement", "assertFile", "assertForInStatement", "assertForStatement", "assertFunctionDeclaration", "assertFunctionExpression", "assertIdentifier", "assertIfStatement", "assertLabeledStatement", "assertStringLiteral", "assertNumericLiteral", "assertNullLiteral", "assertBooleanLiteral", "assertRegExpLiteral", "assertLogicalExpression", "assertMemberExpression", "assertNewExpression", "assertProgram", "assertObjectExpression", "assertObjectMethod", "assertObjectProperty", "assertRestElement", "assertReturnStatement", "assertSequenceExpression", "assertParenthesizedExpression", "assertSwitchCase", "assertSwitchStatement", "assertThisExpression", "assertThrowStatement", "assertTryStatement", "assertUnaryExpression", "assertUpdateExpression", "assertVariableDeclaration", "assertVariableDeclarator", "assertWhileStatement", "assertWithStatement", "assertAssignmentPattern", "assertArrayPattern", "assertArrowFunctionExpression", "assertClassBody", "assertClassExpression", "assertClassDeclaration", "assertExportAllDeclaration", "assertExportDefaultDeclaration", "assertExportNamedDeclaration", "assertExportSpecifier", "assertForOfStatement", "assertImportDeclaration", "assertImportDefaultSpecifier", "assertImportNamespaceSpecifier", "assertImportSpecifier", "assertImportExpression", "assertMetaProperty", "assertClassMethod", "assertObjectPattern", "assertSpreadElement", "assertSuper", "assertTaggedTemplateExpression", "assertTemplateElement", "assertTemplateLiteral", "assertYieldExpression", "assertAwaitExpression", "assertImport", "assertBigIntLiteral", "assertExportNamespaceSpecifier", "assertOptionalMemberExpression", "assertOptionalCallExpression", "assertClassProperty", "assertClassAccessorProperty", "assertClassPrivateProperty", "assertClassPrivateMethod", "assertPrivateName", "assertStaticBlock", "assertAnyTypeAnnotation", "assertArrayTypeAnnotation", "assertBooleanTypeAnnotation", "assertBooleanLiteralTypeAnnotation", "assertNullLiteralTypeAnnotation", "assertClassImplements", "assertDeclareClass", "assertDeclareFunction", "assertDeclareInterface", "assertDeclareModule", "assertDeclareModuleExports", "assertDeclareTypeAlias", "assertDeclareOpaqueType", "assertDeclareVariable", "assertDeclareExportDeclaration", "assertDeclareExportAllDeclaration", "assertDeclaredPredicate", "assertExistsTypeAnnotation", "assertFunctionTypeAnnotation", "assertFunctionTypeParam", "assertGenericTypeAnnotation", "assertInferredPredicate", "assertInterfaceExtends", "assertInterfaceDeclaration", "assertInterfaceTypeAnnotation", "assertIntersectionTypeAnnotation", "assertMixedTypeAnnotation", "assertEmptyTypeAnnotation", "assertNullableTypeAnnotation", "assertNumberLiteralTypeAnnotation", "assertNumberTypeAnnotation", "assertObjectTypeAnnotation", "assertObjectTypeInternalSlot", "assertObjectTypeCallProperty", "assertObjectTypeIndexer", "assertObjectTypeProperty", "assertObjectTypeSpreadProperty", "assertOpaqueType", "assertQualifiedTypeIdentifier", "assertStringLiteralTypeAnnotation", "assertStringTypeAnnotation", "assertSymbolTypeAnnotation", "assertThisTypeAnnotation", "assertTupleTypeAnnotation", "assertTypeofTypeAnnotation", "assertTypeAlias", "assertTypeAnnotation", "assertTypeCastExpression", "assertTypeParameter", "assertTypeParameterDeclaration", "assertTypeParameterInstantiation", "assertUnionTypeAnnotation", "assertVariance", "assertVoidTypeAnnotation", "assertEnumDeclaration", "assertEnumBooleanBody", "assertEnumNumberBody", "assertEnumStringBody", "assertEnumSymbolBody", "assertEnumBooleanMember", "assertEnumNumberMember", "assertEnumStringMember", "assertEnumDefaultedMember", "assertIndexedAccessType", "assertOptionalIndexedAccessType", "assertJSXAttribute", "assertJSXClosingElement", "assertJSXElement", "assertJSXEmptyExpression", "assertJSXExpressionContainer", "assertJSXSpreadChild", "assertJSXIdentifier", "assertJSXMemberExpression", "assertJSXNamespacedName", "assertJSXOpeningElement", "assertJSXSpreadAttribute", "assertJSXText", "assertJSXFragment", "assertJSXOpeningFragment", "assertJSXClosingFragment", "assertNoop", "assertPlaceholder", "assertV8IntrinsicIdentifier", "assertArgumentPlaceholder", "assertBindExpression", "assertImportAttribute", "assertDecorator", "assertDoExpression", "assertExportDefaultSpecifier", "assertRecordExpression", "assertTupleExpression", "assertDecimalLiteral", "assertModuleExpression", "assertTopicReference", "assertPipelineTopicExpression", "assertPipelineBareFunction", "assertPipelinePrimaryTopicReference", "assertTSParameterProperty", "assertTSDeclareFunction", "assertTSDeclareMethod", "assertTSQualifiedName", "assertTSCallSignatureDeclaration", "assertTSConstructSignatureDeclaration", "assertTSPropertySignature", "assertTSMethodSignature", "assertTSIndexSignature", "assertTSAnyKeyword", "assertTSBooleanKeyword", "assertTSBigIntKeyword", "assertTSIntrinsicKeyword", "assertTSNeverKeyword", "assertTSNullKeyword", "assertTSNumberKeyword", "assertTSObjectKeyword", "assertTSStringKeyword", "assertTSSymbolKeyword", "assertTSUndefinedKeyword", "assertTSUnknownKeyword", "assertTSVoidKeyword", "assertTSThisType", "assertTSFunctionType", "assertTSConstructorType", "assertTSTypeReference", "assertTSTypePredicate", "assertTSTypeQuery", "assertTSTypeLiteral", "assertTSArrayType", "assertTSTupleType", "assertTSOptionalType", "assertTSRestType", "assertTSNamedTupleMember", "assertTSUnionType", "assertTSIntersectionType", "assertTSConditionalType", "assertTSInferType", "assertTSParenthesizedType", "assertTSTypeOperator", "assertTSIndexedAccessType", "assertTSMappedType", "assertTSLiteralType", "assertTSExpressionWithTypeArguments", "assertTSInterfaceDeclaration", "assertTSInterfaceBody", "assertTSTypeAliasDeclaration", "assertTSInstantiationExpression", "assertTSAsExpression", "assertTSSatisfiesExpression", "assertTSTypeAssertion", "assertTSEnumDeclaration", "assertTSEnumMember", "assertTSModuleDeclaration", "assertTSModuleBlock", "assertTSImportType", "assertTSImportEqualsDeclaration", "assertTSExternalModuleReference", "assertTSNonNullExpression", "assertTSExportAssignment", "assertTSNamespaceExportDeclaration", "assertTSTypeAnnotation", "assertTSTypeParameterInstantiation", "assertTSTypeParameterDeclaration", "assertTSTypeParameter", "assertStandardized", "assertExpression", "assertBinary", "assertScopable", "assertBlockParent", "assertBlock", "assertStatement", "assertTerminatorless", "assertCompletionStatement", "assertConditional", "assertLoop", "assertWhile", "assertExpressionWrapper", "assertFor", "assertForXStatement", "assertFunction", "assertFunctionParent", "assertPureish", "assertDeclaration", "assertPatternLike", "assertLVal", "assertTSEntityName", "assertLiteral", "assertImmutable", "assertUserWhitespacable", "assertMethod", "assertObjectMember", "assertProperty", "assertUnaryLike", "assertPattern", "assertClass", "assertImportOrExportDeclaration", "assertExportDeclaration", "assertModuleSpecifier", "assertAccessor", "assertPrivate", "assertFlow", "assertFlowType", "assertFlowBaseAnnotation", "assertFlowDeclaration", "assertFlowPredicate", "assertEnumBody", "assertEnumMember", "assertJSX", "assertMiscellaneous", "assertTypeScript", "assertTSTypeElement", "assertTSType", "assertTSBaseType", "assertNumberLiteral", "deprecationWarning", "assertRegexLiteral", "assertRestProperty", "assertSpreadProperty", "assertModuleDeclaration", "_index", "require", "_default", "exports", "default", "createTypeAnnotationBasedOnTypeof", "type", "stringTypeAnnotation", "numberTypeAnnotation", "voidTypeAnnotation", "booleanTypeAnnotation", "genericTypeAnnotation", "identifier", "anyTypeAnnotation", "Error", "_index", "require", "getQualifiedName", "node", "isIdentifier", "name", "id", "qualification", "removeTypeDuplicates", "nodesIn", "nodes", "Array", "from", "generics", "Map", "bases", "typeGroups", "Set", "types", "i", "length", "includes", "isAnyTypeAnnotation", "isFlowBaseAnnotation", "set", "type", "isUnionTypeAnnotation", "has", "push", "add", "isGenericTypeAnnotation", "existing", "get", "typeParameters", "params", "baseType", "genericName", "_index", "require", "_removeTypeDuplicates", "createFlowUnionType", "types", "flattened", "removeTypeDuplicates", "length", "unionTypeAnnotation", "_index", "require", "getQualifiedName", "node", "isIdentifier", "name", "right", "left", "removeTypeDuplicates", "nodesIn", "nodes", "Array", "from", "generics", "Map", "bases", "typeGroups", "Set", "types", "i", "length", "includes", "isTSAnyKeyword", "isTSBaseType", "set", "type", "isTSUnionType", "has", "push", "add", "isTSTypeReference", "typeParameters", "typeName", "existing", "get", "params", "baseType", "genericName", "_index", "require", "_removeTypeDuplicates", "_index2", "createTSUnionType", "typeAnnotations", "types", "map", "type", "isTSTypeAnnotation", "typeAnnotation", "flattened", "removeTypeDuplicates", "length", "tsUnionType", "_index", "require", "_index", "require", "buildUndefinedNode", "unaryExpression", "numericLiteral", "_index", "require", "_index2", "hasOwn", "Function", "call", "bind", "Object", "prototype", "hasOwnProperty", "cloneIfNode", "obj", "deep", "withoutLoc", "commentsCache", "type", "cloneNodeInternal", "cloneIfNodeOrArray", "Array", "isArray", "map", "node", "cloneNode", "Map", "newNode", "isIdentifier", "name", "optional", "typeAnnotation", "decorators", "NODE_FIELDS", "Error", "field", "keys", "isFile", "maybeCloneComments", "comments", "loc", "leadingComments", "innerComments", "trailingComments", "extra", "assign", "comment", "cache", "get", "value", "ret", "set", "_cloneNode", "require", "clone", "node", "cloneNode", "_cloneNode", "require", "cloneDeep", "node", "cloneNode", "_cloneNode", "require", "cloneDeepWithoutLoc", "node", "cloneNode", "_cloneNode", "require", "cloneWithoutLoc", "node", "cloneNode", "addComments", "node", "type", "comments", "key", "concat", "push", "_addComments", "require", "addComment", "node", "type", "content", "line", "addComments", "value", "inherit", "key", "child", "parent", "Array", "from", "Set", "concat", "filter", "Boolean", "_inherit", "require", "inheritInnerComments", "child", "parent", "inherit", "_inherit", "require", "inheritLeadingComments", "child", "parent", "inherit", "_inherit", "require", "inheritTrailingComments", "child", "parent", "inherit", "_inheritTrailingComments", "require", "_inheritLeadingComments", "_inheritInnerComments", "inheritsComments", "child", "parent", "inheritTrailingComments", "inheritLeadingComments", "inheritInnerComments", "_index", "require", "removeComments", "node", "COMMENT_KEYS", "forEach", "key", "_index", "require", "STANDARDIZED_TYPES", "exports", "FLIPPED_ALIAS_KEYS", "EXPRESSION_TYPES", "BINARY_TYPES", "SCOPABLE_TYPES", "BLOCKPARENT_TYPES", "BLOCK_TYPES", "STATEMENT_TYPES", "TERMINATORLESS_TYPES", "COMPLETIONSTATEMENT_TYPES", "CONDITIONAL_TYPES", "LOOP_TYPES", "WHILE_TYPES", "EXPRESSIONWRAPPER_TYPES", "FOR_TYPES", "FORXSTATEMENT_TYPES", "FUNCTION_TYPES", "FUNCTIONPARENT_TYPES", "PUREISH_TYPES", "DECLARATION_TYPES", "PATTERNLIKE_TYPES", "LVAL_TYPES", "TSENTITYNAME_TYPES", "LITERAL_TYPES", "IMMUTABLE_TYPES", "USERWHITESPACABLE_TYPES", "METHOD_TYPES", "OBJECTMEMBER_TYPES", "PROPERTY_TYPES", "UNARYLIKE_TYPES", "PATTERN_TYPES", "CLASS_TYPES", "IMPORTOREXPORTDECLARATION_TYPES", "EXPORTDECLARATION_TYPES", "MODULESPECIFIER_TYPES", "ACCESSOR_TYPES", "PRIVATE_TYPES", "FLOW_TYPES", "FLOWTYPE_TYPES", "FLOWBASEANNOTATION_TYPES", "FLOWDECLARATION_TYPES", "FLOWPREDICATE_TYPES", "ENUMBODY_TYPES", "ENUMMEMBER_TYPES", "JSX_TYPES", "MISCELLANEOUS_TYPES", "TYPESCRIPT_TYPES", "TSTYPEELEMENT_TYPES", "TSTYPE_TYPES", "TSBASETYPE_TYPES", "MODULEDECLARATION_TYPES", "_index", "require", "_index2", "toBlock", "node", "parent", "isBlockStatement", "blockNodes", "isEmptyStatement", "isStatement", "isFunction", "returnStatement", "expressionStatement", "blockStatement", "_toBlock", "require", "ensureBlock", "node", "key", "result", "toBlock", "_isValidIdentifier", "require", "_helperValidatorIdentifier", "toIdentifier", "input", "name", "c", "isIdentifierChar", "codePointAt", "replace", "match", "toUpperCase", "isValidIdentifier", "_toIdentifier", "require", "toBindingIdentifierName", "name", "toIdentifier", "_index", "require", "_index2", "toComputedKey", "node", "key", "property", "computed", "isIdentifier", "stringLiteral", "name", "_index", "require", "_default", "exports", "default", "toExpression", "node", "isExpressionStatement", "expression", "isExpression", "isClass", "type", "isFunction", "Error", "_index", "require", "traverseFast", "node", "enter", "opts", "keys", "VISITOR_KEYS", "type", "key", "subNode", "Array", "isArray", "_index", "require", "CLEAR_KEYS", "CLEAR_KEYS_PLUS_COMMENTS", "COMMENT_KEYS", "removeProperties", "node", "opts", "map", "preserveComments", "key", "undefined", "Object", "keys", "symbols", "getOwnPropertySymbols", "sym", "_traverseFast", "require", "_removeProperties", "removePropertiesDeep", "tree", "opts", "traverseFast", "removeProperties", "_index", "require", "_cloneNode", "_removePropertiesDeep", "toKeyAlias", "node", "key", "alias", "kind", "increment", "isIdentifier", "name", "isStringLiteral", "JSON", "stringify", "value", "removePropertiesDeep", "cloneNode", "computed", "static", "uid", "Number", "MAX_SAFE_INTEGER", "_index", "require", "_index2", "_default", "exports", "default", "toStatement", "node", "ignore", "isStatement", "mustHaveId", "newType", "isClass", "isFunction", "isAssignmentExpression", "expressionStatement", "id", "Error", "type", "_isValidIdentifier", "require", "_index", "_default", "exports", "default", "valueToNode", "objectToString", "Function", "call", "bind", "Object", "prototype", "toString", "isRegExp", "value", "isPlainObject", "proto", "getPrototypeOf", "undefined", "identifier", "booleanLiteral", "nullLiteral", "stringLiteral", "result", "Number", "isFinite", "numericLiteral", "Math", "abs", "numerator", "isNaN", "binaryExpression", "is", "unaryExpression", "pattern", "source", "flags", "exec", "regExpLiteral", "Array", "isArray", "arrayExpression", "map", "props", "key", "keys", "nodeKey", "isValidIdentifier", "push", "objectProperty", "objectExpression", "Error", "_index", "require", "appendToMemberExpression", "member", "append", "computed", "object", "memberExpression", "property", "_index", "require", "_inheritsComments", "inherits", "child", "parent", "key", "INHERIT_KEYS", "optional", "Object", "keys", "force", "inheritsComments", "_index", "require", "_index2", "prependToMemberExpression", "member", "prepend", "isSuper", "object", "Error", "memberExpression", "getAssignmentIdentifiers", "node", "search", "concat", "ids", "Object", "create", "length", "id", "pop", "type", "push", "elements", "left", "properties", "value", "argument", "operator", "name", "_index", "require", "getBindingIdentifiers", "node", "duplicates", "outerOnly", "newBindingsOnly", "search", "concat", "ids", "Object", "create", "length", "id", "shift", "isAssignmentExpression", "isUnaryExpression", "isUpdateExpression", "isIdentifier", "_ids", "name", "push", "isExportDeclaration", "isExportAllDeclaration", "isDeclaration", "declaration", "isFunctionDeclaration", "isFunctionExpression", "keys", "type", "i", "key", "nodes", "Array", "isArray", "DeclareClass", "DeclareFunction", "DeclareModule", "DeclareVariable", "DeclareInterface", "DeclareTypeAlias", "DeclareOpaqueType", "InterfaceDeclaration", "TypeAlias", "OpaqueType", "CatchClause", "LabeledStatement", "UnaryExpression", "AssignmentExpression", "ImportSpecifier", "ImportNamespaceSpecifier", "ImportDefaultSpecifier", "ImportDeclaration", "ExportSpecifier", "ExportNamespaceSpecifier", "ExportDefaultSpecifier", "FunctionDeclaration", "FunctionExpression", "ArrowFunctionExpression", "ObjectMethod", "ClassMethod", "ClassPrivateMethod", "ForInStatement", "ForOfStatement", "ClassDeclaration", "ClassExpression", "RestElement", "UpdateExpression", "ObjectProperty", "AssignmentPattern", "ArrayPattern", "ObjectPattern", "VariableDeclaration", "VariableDeclarator", "_getBindingIdentifiers", "require", "_default", "exports", "default", "getOuterBindingIdentifiers", "node", "duplicates", "getBindingIdentifiers", "_index", "require", "getNameFromLiteralId", "id", "isNullLiteral", "isRegExpLiteral", "pattern", "flags", "isTemplateLiteral", "quasis", "map", "quasi", "value", "raw", "join", "undefined", "String", "getObjectMemberKey", "node", "computed", "isLiteral", "key", "getFunctionName", "parent", "name", "originalNode", "prefix", "isObjectProperty", "isObjectMethod", "isClassMethod", "kind", "isVariableDeclarator", "init", "isAssignmentExpression", "operator", "right", "left", "isIdentifier", "isPrivateName", "_index", "require", "traverse", "node", "handlers", "state", "enter", "exit", "traverseSimpleImpl", "ancestors", "keys", "VISITOR_KEYS", "type", "key", "subNode", "Array", "isArray", "i", "length", "child", "push", "index", "pop", "_getBindingIdentifiers", "require", "isBinding", "node", "parent", "grandparent", "type", "keys", "getBindingIdentifiers", "i", "length", "key", "val", "Array", "isArray", "includes", "_index", "require", "_index2", "isLet", "node", "isVariableDeclaration", "kind", "BLOCK_SCOPED_SYMBOL", "_index", "require", "_isLet", "isBlockScoped", "node", "isFunctionDeclaration", "isClassDeclaration", "isLet", "_isType", "require", "_index", "isImmutable", "node", "isType", "type", "isIdentifier", "name", "_index", "require", "isNodesEquivalent", "a", "b", "type", "fields", "Object", "keys", "NODE_FIELDS", "visitorKeys", "VISITOR_KEYS", "field", "val_a", "val_b", "Array", "isArray", "length", "i", "includes", "key", "isReferenced", "node", "parent", "grandparent", "type", "property", "computed", "object", "init", "body", "key", "superClass", "right", "source", "local", "id", "_index", "require", "isScope", "node", "parent", "isBlockStatement", "isFunction", "isCatchClause", "isPattern", "isScopable", "_index", "require", "isSpecifierDefault", "specifier", "isImportDefaultSpecifier", "isIdentifier", "imported", "exported", "name", "_isValidIdentifier", "require", "RESERVED_WORDS_ES3_ONLY", "Set", "isValidES3Identifier", "name", "isValidIdentifier", "has", "_index", "require", "_index2", "isVar", "node", "isVariableDeclaration", "kind", "BLOCK_SCOPED_SYMBOL", "_getBindingIdentifiers", "require", "_index", "_index2", "_productions", "_cloneNode", "gatherSequenceExpressions", "nodes", "declars", "exprs", "ensureLastUndefined", "node", "isEmptyStatement", "isExpression", "push", "isExpressionStatement", "expression", "isVariableDeclaration", "kind", "declar", "declarations", "bindings", "getBindingIdentifiers", "key", "Object", "keys", "id", "cloneNode", "init", "assignmentExpression", "isIfStatement", "consequent", "buildUndefinedNode", "alternate", "conditionalExpression", "test", "isBlockStatement", "body", "indexOf", "length", "sequenceExpression", "_gatherSequenceExpressions", "require", "toSequenceExpression", "nodes", "scope", "length", "declars", "result", "gatherSequenceExpressions", "declar", "push", "_isReactComponent", "require", "_isCompatTag", "_buildChildren", "_assertNode", "_index", "Object", "keys", "forEach", "key", "prototype", "hasOwnProperty", "call", "_exportNames", "exports", "defineProperty", "enumerable", "get", "_createTypeAnnotationBasedOnTypeof", "_createFlowUnionType", "_createTSUnionType", "_index2", "_uppercase", "_productions", "_cloneNode", "_clone", "_cloneDeep", "_cloneDeepWithoutLoc", "_cloneWithoutLoc", "_addComment", "_addComments", "_inheritInnerComments", "_inheritLeadingComments", "_inheritsComments", "_inheritTrailingComments", "_removeComments", "_index3", "_index4", "_ensureBlock", "_toBindingIdentifierName", "_toBlock", "_toComputedKey", "_toExpression", "_toIdentifier", "_toKeyAlias", "_toStatement", "_valueToNode", "_index5", "_appendToMemberExpression", "_inherits", "_prependToMemberExpression", "_removeProperties", "_removePropertiesDeep", "_removeTypeDuplicates", "_getAssignmentIdentifiers", "_getBindingIdentifiers", "_getOuterBindingIdentifiers", "_getFunctionName", "_traverse", "_traverseFast", "_shallowEqual", "_is", "_isBinding", "_isBlockScoped", "_isImmutable", "_isLet", "_isNode", "_isNodesEquivalent", "_isPlaceholderType", "_isReferenced", "_isScope", "_isSpecifierDefault", "_isType", "_isValidES3Identifier", "_isValidIdentifier", "_isVar", "_matchesPattern", "_validate", "_buildMatchMemberExpression", "_index6", "_deprecationWarning", "react", "isReactComponent", "isCompatTag", "buildChildren", "toSequenceExpression", "default", "process", "env", "BABEL_TYPES_8_BREAKING", "console", "warn", "_assert", "require", "_t", "callExpression", "cloneNode", "expressionStatement", "identifier", "importDeclaration", "importDefaultSpecifier", "importNamespaceSpecifier", "importSpecifier", "memberExpression", "stringLiteral", "variableDeclaration", "variableDeclarator", "ImportBuilder", "constructor", "importedSource", "scope", "hub", "_statements", "_resultName", "_importedSource", "_scope", "_hub", "done", "statements", "resultName", "import", "push", "namespace", "name", "local", "generateUidIdentifier", "statement", "length", "assert", "type", "specifiers", "default", "id", "named", "importName", "var", "expression", "defaultInterop", "_interop", "addHelper", "wildcardInterop", "callee", "declarations", "init", "fail", "prop", "read", "exports", "isModule", "path", "node", "sourceType", "_assert", "require", "_t", "_importBuilder", "_isModule", "identifier", "importSpecifier", "numericLiteral", "sequenceExpression", "isImportDeclaration", "ImportInjector", "constructor", "path", "importedSource", "opts", "_defaultOpts", "importedType", "importedInterop", "importingInterop", "ensureLiveReference", "ensureNoContext", "importPosition", "programPath", "find", "p", "isProgram", "_programPath", "_programScope", "scope", "_hub", "hub", "_applyDefaults", "addDefault", "importedSourceIn", "addNamed", "importName", "assert", "_generateImport", "addNamespace", "addSideEffect", "isInit", "newOpts", "Object", "assign", "nameHint", "undefined", "blockHoist", "isDefault", "isNamed", "isNamespace", "name", "isMod", "isModule", "isModuleForNode", "isModuleForBabel", "Error", "builder", "ImportBuilder", "import", "namespace", "named", "es6Default", "default", "var", "wildcardInterop", "defaultInterop", "read", "prop", "statements", "resultName", "done", "_insertStatements", "type", "_insertStatementsAfter", "_insertStatementsBefore", "unshiftContainer", "length", "isValueImport", "firstImportDecl", "get", "node", "source", "value", "maybeAppendImportSpecifiers", "forEach", "_blockHoist", "targetPath", "val", "Number", "isFinite", "insertBefore", "statementsSet", "Set", "importDeclarations", "Map", "statement", "has", "set", "push", "lastImportPath", "bodyStmt", "newImports", "decl", "delete", "size", "insertAfter", "Array", "from", "exports", "importKind", "hasNamespaceImport", "specifiers", "hasDefaultImport", "target", "local", "unshift", "shift", "_importInjector", "require", "_isModule", "addDefault", "path", "importedSource", "opts", "ImportInjector", "addNamed", "name", "addNamespace", "addSideEffect", "stack", "parse", "getNodeModulesDirs", "paths", "opts", "concatty", "slicy", "Empty", "require_core", "maybeRealpath", "defaultReadPackage", "getPackageCandidates", "resolve", "err", "basedir", "pkg", "x", "callback", "cb", "exts", "isdir", "onfile", "require_core", "require_core", "core", "maybeRealpathSync", "defaultReadPackageSync", "getPackageCandidates", "x", "m", "n", "stack", "require_util", "errorEx", "LinesAndColumns", "string", "index", "isColorSupported", "process", "env", "FORCE_COLOR", "picocolors", "compose", "f", "g", "v", "buildDefs", "colors", "keyword", "cyan", "capitalized", "yellow", "jsxIdentifier", "punctuator", "number", "magenta", "string", "green", "regex", "comment", "gray", "invalid", "white", "bgRed", "bold", "gutter", "marker", "red", "message", "reset", "defsOn", "createColors", "defsOff", "getDefs", "enabled", "sometimesKeywords", "Set", "NEWLINE", "BRACKET", "tokenize", "JSX_TAG", "getTokenType", "token", "offset", "text", "type", "isKeyword", "value", "isStrictReservedWord", "has", "test", "slice", "toLowerCase", "match", "jsTokens", "default", "exec", "matchToToken", "index", "highlight", "defs", "highlighted", "split", "map", "str", "join", "deprecationWarningShown", "getMarkerLines", "loc", "source", "opts", "startLoc", "Object", "assign", "column", "line", "start", "endLoc", "end", "linesAbove", "linesBelow", "startLine", "startColumn", "endLine", "endColumn", "Math", "max", "min", "length", "lineDiff", "markerLines", "i", "lineNumber", "sourceLength", "codeFrameColumns", "rawLines", "shouldHighlight", "forceColor", "highlightCode", "lines", "hasColumns", "numberMaxWidth", "String", "highlightedLines", "frame", "paddedNumber", "hasMarker", "lastMarkerLine", "markerLine", "Array", "isArray", "markerSpacing", "replace", "numberOfMarkers", "repeat", "colNumber", "emitWarning", "deprecationError", "Error", "name", "console", "warn", "location", "string", "index", "obj", "value", "_getPrototypeOf", "o", "_setPrototypeOf", "p", "_construct", "Parent", "args", "Class", "_wrapNativeSuper", "_get", "target", "property", "receiver", "_unsupportedIterableToArray", "_arrayLikeToArray", "Range", "Node", "YAMLError", "YAMLReferenceError", "YAMLSemanticError", "YAMLSyntaxError", "YAMLWarning", "PlainValue", "parse", "offset", "BlankLine", "parse", "CollectionItem", "value", "Comment", "Collection", "Directive", "Document", "parseDirectives", "parseContents", "Alias", "BlockValue", "FlowCollection", "QuoteDouble", "QuoteSingle", "ParseContext", "value", "res", "tags", "resolve", "json", "_stringify", "Collection", "Alias", "map", "warn", "seq", "Node", "Scalar", "isEmptyPath", "toJSON", "stringify", "nodes", "str", "YAMLSeq", "set", "stringifyKey", "Pair", "getAliasCount", "YAMLMap", "Type", "Merge", "consumeMoreIndentedLines", "getFoldOptions", "containsDocumentMarker", "isCollectionItem", "valueHasPairComment", "seq", "pairs", "value", "omap", "map", "set", "YAMLOMap", "identify", "YAMLSet", "toJSON", "parseSexagesimal", "n", "stringifySexagesimal", "resolve", "stringify", "map", "value", "seq", "intResolve", "intIdentify", "tags", "createNode", "Node", "Alias", "schemas", "identify", "stringify", "resolve", "stringifyJSON", "boolStringify", "sortMapEntriesByKey", "Schema", "p", "tags", "Alias", "Node", "Collection", "copyTagPrefix", "createNode", "value", "Document", "parse", "stringify", "Anchors", "map", "visit", "listTagNames", "set", "warn", "importFresh", "loadJs", "filepath", "undefined", "require", "result", "parseJson", "loadJson", "content", "error", "message", "yaml", "loadYaml", "parse", "prettyErrors", "loaders", "getPropertyByPath", "source", "path", "Object", "prototype", "hasOwnProperty", "call", "parsedPath", "split", "reduce", "previous", "key", "undefined", "ExplorerBase", "constructor", "options", "cache", "loadCache", "Map", "searchCache", "config", "validateConfig", "clearLoadCache", "clear", "clearSearchCache", "clearCaches", "searchPlaces", "forEach", "place", "loaderKey", "path", "extname", "loader", "loaders", "Error", "getExtensionDescription", "shouldSearchStopWithResult", "result", "isEmpty", "ignoreEmptySearchPlaces", "nextDirectoryToSearch", "currentDir", "currentResult", "nextDir", "nextDirUp", "stopDir", "loadPackageProp", "filepath", "content", "parsedContent", "loadJson", "packagePropValue", "packageProp", "getLoaderEntryForFile", "basename", "bind", "loadedContentToCosmiconfigResult", "loadedContent", "undefined", "validateFilePath", "dir", "dirname", "ext", "fsReadFileAsync", "pathname", "encoding", "Promise", "resolve", "reject", "fs", "readFile", "error", "contents", "filepath", "options", "throwNotFound", "content", "code", "readFileSync", "cacheWrapper", "cache", "key", "fn", "cached", "get", "undefined", "result", "set", "cacheWrapperSync", "getDirectory", "filepath", "filePathIsDirectory", "directory", "path", "dirname", "getDirectorySync", "Explorer", "ExplorerBase", "constructor", "options", "search", "searchFrom", "process", "cwd", "startDirectory", "result", "searchFromDirectory", "dir", "absoluteDir", "path", "resolve", "run", "searchDirectory", "nextDir", "nextDirectoryToSearch", "transformResult", "config", "transform", "searchCache", "place", "searchPlaces", "placeResult", "loadSearchPlace", "shouldSearchStopWithResult", "filepath", "join", "fileContents", "createCosmiconfigResult", "loadFileContent", "content", "trim", "undefined", "loader", "getLoaderEntryForFile", "loaderResult", "fileContent", "loadedContentToCosmiconfigResult", "load", "validateFilePath", "absoluteFilePath", "runLoad", "throwNotFound", "loadCache", "ExplorerSync", "ExplorerBase", "constructor", "options", "searchSync", "searchFrom", "process", "cwd", "startDirectory", "result", "searchFromDirectorySync", "dir", "absoluteDir", "path", "resolve", "run", "searchDirectorySync", "nextDir", "nextDirectoryToSearch", "transformResult", "config", "transform", "searchCache", "place", "searchPlaces", "placeResult", "loadSearchPlaceSync", "shouldSearchStopWithResult", "filepath", "join", "content", "createCosmiconfigResultSync", "loadFileContentSync", "trim", "undefined", "loader", "getLoaderEntryForFile", "loaderResult", "fileContent", "loadedContentToCosmiconfigResult", "loadSync", "validateFilePath", "absoluteFilePath", "runLoadSync", "throwNotFound", "cosmiconfigResult", "loadCache", "cosmiconfig", "moduleName", "options", "normalizedOptions", "normalizeOptions", "explorer", "Explorer", "search", "bind", "load", "clearLoadCache", "clearSearchCache", "clearCaches", "cosmiconfigSync", "explorerSync", "ExplorerSync", "searchSync", "loadSync", "defaultLoaders", "Object", "freeze", "loaders", "loadJs", "loadJson", "loadYaml", "noExt", "identity", "x", "defaults", "packageProp", "searchPlaces", "ignoreEmptySearchPlaces", "stopDir", "os", "homedir", "cache", "transform", "require_dist", "resolve", "createMacro", "nodePath", "convert", "value", "index", "transformers", "macros", "options", "defaultOptions", "_loop", "sanitizeLabelPart", "getObjPropertyLikeName", "hashArray", "findRoot", "escapeRegexp", "normalizePath", "haveSameLocation", "isAutoInsertedRule", "toInputTree", "stringifyTree", "interleave", "appendStringReturningExpressionToArguments", "joinStringLiterals", "transformExpressionWithStyles", "getKnownProperties", "createObjectSpreadLike", "getStyledOptions", "isAlreadyTranspiled", "createEmotionTransformer", "createEmotionMacro", "getReferencedSpecifier", "styledTransformer", "getStyledIdentifier", "createStyledMacro", "transformCssCallExpression", "transformCsslessArrayExpression", "transformCsslessObjectExpression", "cssTransformer", "globalTransformer", "getCssExport"] +} diff --git a/packages/user/.vite/deps/@tanstack_react-query.js b/packages/user/.vite/deps/@tanstack_react-query.js new file mode 100644 index 0000000..2c0f06e --- /dev/null +++ b/packages/user/.vite/deps/@tanstack_react-query.js @@ -0,0 +1,3353 @@ +import { + require_jsx_runtime +} from "./chunk-55NPQQDX.js"; +import { + require_react +} from "./chunk-DHYUYUAP.js"; +import { + __privateAdd, + __privateGet, + __privateMethod, + __privateSet, + __privateWrapper, + __toESM +} from "./chunk-OL46QLBJ.js"; + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/subscribable.js +var Subscribable = class { + constructor() { + this.listeners = /* @__PURE__ */ new Set(); + this.subscribe = this.subscribe.bind(this); + } + subscribe(listener) { + this.listeners.add(listener); + this.onSubscribe(); + return () => { + this.listeners.delete(listener); + this.onUnsubscribe(); + }; + } + hasListeners() { + return this.listeners.size > 0; + } + onSubscribe() { + } + onUnsubscribe() { + } +}; + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/utils.js +var isServer = typeof window === "undefined" || "Deno" in globalThis; +function noop() { +} +function functionalUpdate(updater, input) { + return typeof updater === "function" ? updater(input) : updater; +} +function isValidTimeout(value) { + return typeof value === "number" && value >= 0 && value !== Infinity; +} +function timeUntilStale(updatedAt, staleTime) { + return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0); +} +function resolveStaleTime(staleTime, query) { + return typeof staleTime === "function" ? staleTime(query) : staleTime; +} +function resolveEnabled(enabled, query) { + return typeof enabled === "function" ? enabled(query) : enabled; +} +function matchQuery(filters, query) { + const { + type = "all", + exact, + fetchStatus, + predicate, + queryKey, + stale + } = filters; + if (queryKey) { + if (exact) { + if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) { + return false; + } + } else if (!partialMatchKey(query.queryKey, queryKey)) { + return false; + } + } + if (type !== "all") { + const isActive = query.isActive(); + if (type === "active" && !isActive) { + return false; + } + if (type === "inactive" && isActive) { + return false; + } + } + if (typeof stale === "boolean" && query.isStale() !== stale) { + return false; + } + if (fetchStatus && fetchStatus !== query.state.fetchStatus) { + return false; + } + if (predicate && !predicate(query)) { + return false; + } + return true; +} +function matchMutation(filters, mutation) { + const { exact, status, predicate, mutationKey } = filters; + if (mutationKey) { + if (!mutation.options.mutationKey) { + return false; + } + if (exact) { + if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) { + return false; + } + } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) { + return false; + } + } + if (status && mutation.state.status !== status) { + return false; + } + if (predicate && !predicate(mutation)) { + return false; + } + return true; +} +function hashQueryKeyByOptions(queryKey, options) { + const hashFn = (options == null ? void 0 : options.queryKeyHashFn) || hashKey; + return hashFn(queryKey); +} +function hashKey(queryKey) { + return JSON.stringify( + queryKey, + (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => { + result[key] = val[key]; + return result; + }, {}) : val + ); +} +function partialMatchKey(a, b) { + if (a === b) { + return true; + } + if (typeof a !== typeof b) { + return false; + } + if (a && b && typeof a === "object" && typeof b === "object") { + return !Object.keys(b).some((key) => !partialMatchKey(a[key], b[key])); + } + return false; +} +function replaceEqualDeep(a, b) { + if (a === b) { + return a; + } + const array = isPlainArray(a) && isPlainArray(b); + if (array || isPlainObject(a) && isPlainObject(b)) { + const aItems = array ? a : Object.keys(a); + const aSize = aItems.length; + const bItems = array ? b : Object.keys(b); + const bSize = bItems.length; + const copy = array ? [] : {}; + let equalItems = 0; + for (let i = 0; i < bSize; i++) { + const key = array ? i : bItems[i]; + if ((!array && aItems.includes(key) || array) && a[key] === void 0 && b[key] === void 0) { + copy[key] = void 0; + equalItems++; + } else { + copy[key] = replaceEqualDeep(a[key], b[key]); + if (copy[key] === a[key] && a[key] !== void 0) { + equalItems++; + } + } + } + return aSize === bSize && equalItems === aSize ? a : copy; + } + return b; +} +function shallowEqualObjects(a, b) { + if (!b || Object.keys(a).length !== Object.keys(b).length) { + return false; + } + for (const key in a) { + if (a[key] !== b[key]) { + return false; + } + } + return true; +} +function isPlainArray(value) { + return Array.isArray(value) && value.length === Object.keys(value).length; +} +function isPlainObject(o) { + if (!hasObjectPrototype(o)) { + return false; + } + const ctor = o.constructor; + if (ctor === void 0) { + return true; + } + const prot = ctor.prototype; + if (!hasObjectPrototype(prot)) { + return false; + } + if (!prot.hasOwnProperty("isPrototypeOf")) { + return false; + } + if (Object.getPrototypeOf(o) !== Object.prototype) { + return false; + } + return true; +} +function hasObjectPrototype(o) { + return Object.prototype.toString.call(o) === "[object Object]"; +} +function sleep(timeout) { + return new Promise((resolve) => { + setTimeout(resolve, timeout); + }); +} +function replaceData(prevData, data, options) { + if (typeof options.structuralSharing === "function") { + return options.structuralSharing(prevData, data); + } else if (options.structuralSharing !== false) { + if (true) { + try { + return replaceEqualDeep(prevData, data); + } catch (error) { + console.error( + `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}` + ); + } + } + return replaceEqualDeep(prevData, data); + } + return data; +} +function keepPreviousData(previousData) { + return previousData; +} +function addToEnd(items, item, max = 0) { + const newItems = [...items, item]; + return max && newItems.length > max ? newItems.slice(1) : newItems; +} +function addToStart(items, item, max = 0) { + const newItems = [item, ...items]; + return max && newItems.length > max ? newItems.slice(0, -1) : newItems; +} +var skipToken = Symbol(); +function ensureQueryFn(options, fetchOptions) { + if (true) { + if (options.queryFn === skipToken) { + console.error( + `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'` + ); + } + } + if (!options.queryFn && (fetchOptions == null ? void 0 : fetchOptions.initialPromise)) { + return () => fetchOptions.initialPromise; + } + if (!options.queryFn || options.queryFn === skipToken) { + return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`)); + } + return options.queryFn; +} + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/focusManager.js +var _focused, _cleanup, _setup, _a; +var FocusManager = (_a = class extends Subscribable { + constructor() { + super(); + __privateAdd(this, _focused); + __privateAdd(this, _cleanup); + __privateAdd(this, _setup); + __privateSet(this, _setup, (onFocus) => { + if (!isServer && window.addEventListener) { + const listener = () => onFocus(); + window.addEventListener("visibilitychange", listener, false); + return () => { + window.removeEventListener("visibilitychange", listener); + }; + } + return; + }); + } + onSubscribe() { + if (!__privateGet(this, _cleanup)) { + this.setEventListener(__privateGet(this, _setup)); + } + } + onUnsubscribe() { + var _a12; + if (!this.hasListeners()) { + (_a12 = __privateGet(this, _cleanup)) == null ? void 0 : _a12.call(this); + __privateSet(this, _cleanup, void 0); + } + } + setEventListener(setup) { + var _a12; + __privateSet(this, _setup, setup); + (_a12 = __privateGet(this, _cleanup)) == null ? void 0 : _a12.call(this); + __privateSet(this, _cleanup, setup((focused) => { + if (typeof focused === "boolean") { + this.setFocused(focused); + } else { + this.onFocus(); + } + })); + } + setFocused(focused) { + const changed = __privateGet(this, _focused) !== focused; + if (changed) { + __privateSet(this, _focused, focused); + this.onFocus(); + } + } + onFocus() { + const isFocused = this.isFocused(); + this.listeners.forEach((listener) => { + listener(isFocused); + }); + } + isFocused() { + var _a12; + if (typeof __privateGet(this, _focused) === "boolean") { + return __privateGet(this, _focused); + } + return ((_a12 = globalThis.document) == null ? void 0 : _a12.visibilityState) !== "hidden"; + } +}, _focused = new WeakMap(), _cleanup = new WeakMap(), _setup = new WeakMap(), _a); +var focusManager = new FocusManager(); + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/onlineManager.js +var _online, _cleanup2, _setup2, _a2; +var OnlineManager = (_a2 = class extends Subscribable { + constructor() { + super(); + __privateAdd(this, _online, true); + __privateAdd(this, _cleanup2); + __privateAdd(this, _setup2); + __privateSet(this, _setup2, (onOnline) => { + if (!isServer && window.addEventListener) { + const onlineListener = () => onOnline(true); + const offlineListener = () => onOnline(false); + window.addEventListener("online", onlineListener, false); + window.addEventListener("offline", offlineListener, false); + return () => { + window.removeEventListener("online", onlineListener); + window.removeEventListener("offline", offlineListener); + }; + } + return; + }); + } + onSubscribe() { + if (!__privateGet(this, _cleanup2)) { + this.setEventListener(__privateGet(this, _setup2)); + } + } + onUnsubscribe() { + var _a12; + if (!this.hasListeners()) { + (_a12 = __privateGet(this, _cleanup2)) == null ? void 0 : _a12.call(this); + __privateSet(this, _cleanup2, void 0); + } + } + setEventListener(setup) { + var _a12; + __privateSet(this, _setup2, setup); + (_a12 = __privateGet(this, _cleanup2)) == null ? void 0 : _a12.call(this); + __privateSet(this, _cleanup2, setup(this.setOnline.bind(this))); + } + setOnline(online) { + const changed = __privateGet(this, _online) !== online; + if (changed) { + __privateSet(this, _online, online); + this.listeners.forEach((listener) => { + listener(online); + }); + } + } + isOnline() { + return __privateGet(this, _online); + } +}, _online = new WeakMap(), _cleanup2 = new WeakMap(), _setup2 = new WeakMap(), _a2); +var onlineManager = new OnlineManager(); + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/thenable.js +function pendingThenable() { + let resolve; + let reject; + const thenable = new Promise((_resolve, _reject) => { + resolve = _resolve; + reject = _reject; + }); + thenable.status = "pending"; + thenable.catch(() => { + }); + function finalize(data) { + Object.assign(thenable, data); + delete thenable.resolve; + delete thenable.reject; + } + thenable.resolve = (value) => { + finalize({ + status: "fulfilled", + value + }); + resolve(value); + }; + thenable.reject = (reason) => { + finalize({ + status: "rejected", + reason + }); + reject(reason); + }; + return thenable; +} + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/retryer.js +function defaultRetryDelay(failureCount) { + return Math.min(1e3 * 2 ** failureCount, 3e4); +} +function canFetch(networkMode) { + return (networkMode ?? "online") === "online" ? onlineManager.isOnline() : true; +} +var CancelledError = class extends Error { + constructor(options) { + super("CancelledError"); + this.revert = options == null ? void 0 : options.revert; + this.silent = options == null ? void 0 : options.silent; + } +}; +function isCancelledError(value) { + return value instanceof CancelledError; +} +function createRetryer(config) { + let isRetryCancelled = false; + let failureCount = 0; + let isResolved = false; + let continueFn; + const thenable = pendingThenable(); + const cancel = (cancelOptions) => { + var _a12; + if (!isResolved) { + reject(new CancelledError(cancelOptions)); + (_a12 = config.abort) == null ? void 0 : _a12.call(config); + } + }; + const cancelRetry = () => { + isRetryCancelled = true; + }; + const continueRetry = () => { + isRetryCancelled = false; + }; + const canContinue = () => focusManager.isFocused() && (config.networkMode === "always" || onlineManager.isOnline()) && config.canRun(); + const canStart = () => canFetch(config.networkMode) && config.canRun(); + const resolve = (value) => { + var _a12; + if (!isResolved) { + isResolved = true; + (_a12 = config.onSuccess) == null ? void 0 : _a12.call(config, value); + continueFn == null ? void 0 : continueFn(); + thenable.resolve(value); + } + }; + const reject = (value) => { + var _a12; + if (!isResolved) { + isResolved = true; + (_a12 = config.onError) == null ? void 0 : _a12.call(config, value); + continueFn == null ? void 0 : continueFn(); + thenable.reject(value); + } + }; + const pause = () => { + return new Promise((continueResolve) => { + var _a12; + continueFn = (value) => { + if (isResolved || canContinue()) { + continueResolve(value); + } + }; + (_a12 = config.onPause) == null ? void 0 : _a12.call(config); + }).then(() => { + var _a12; + continueFn = void 0; + if (!isResolved) { + (_a12 = config.onContinue) == null ? void 0 : _a12.call(config); + } + }); + }; + const run = () => { + if (isResolved) { + return; + } + let promiseOrValue; + const initialPromise = failureCount === 0 ? config.initialPromise : void 0; + try { + promiseOrValue = initialPromise ?? config.fn(); + } catch (error) { + promiseOrValue = Promise.reject(error); + } + Promise.resolve(promiseOrValue).then(resolve).catch((error) => { + var _a12; + if (isResolved) { + return; + } + const retry = config.retry ?? (isServer ? 0 : 3); + const retryDelay = config.retryDelay ?? defaultRetryDelay; + const delay = typeof retryDelay === "function" ? retryDelay(failureCount, error) : retryDelay; + const shouldRetry = retry === true || typeof retry === "number" && failureCount < retry || typeof retry === "function" && retry(failureCount, error); + if (isRetryCancelled || !shouldRetry) { + reject(error); + return; + } + failureCount++; + (_a12 = config.onFail) == null ? void 0 : _a12.call(config, failureCount, error); + sleep(delay).then(() => { + return canContinue() ? void 0 : pause(); + }).then(() => { + if (isRetryCancelled) { + reject(error); + } else { + run(); + } + }); + }); + }; + return { + promise: thenable, + cancel, + continue: () => { + continueFn == null ? void 0 : continueFn(); + return thenable; + }, + cancelRetry, + continueRetry, + canStart, + start: () => { + if (canStart()) { + run(); + } else { + pause().then(run); + } + return thenable; + } + }; +} + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/notifyManager.js +function createNotifyManager() { + let queue = []; + let transactions = 0; + let notifyFn = (callback) => { + callback(); + }; + let batchNotifyFn = (callback) => { + callback(); + }; + let scheduleFn = (cb) => setTimeout(cb, 0); + const schedule = (callback) => { + if (transactions) { + queue.push(callback); + } else { + scheduleFn(() => { + notifyFn(callback); + }); + } + }; + const flush = () => { + const originalQueue = queue; + queue = []; + if (originalQueue.length) { + scheduleFn(() => { + batchNotifyFn(() => { + originalQueue.forEach((callback) => { + notifyFn(callback); + }); + }); + }); + } + }; + return { + batch: (callback) => { + let result; + transactions++; + try { + result = callback(); + } finally { + transactions--; + if (!transactions) { + flush(); + } + } + return result; + }, + /** + * All calls to the wrapped function will be batched. + */ + batchCalls: (callback) => { + return (...args) => { + schedule(() => { + callback(...args); + }); + }; + }, + schedule, + /** + * Use this method to set a custom notify function. + * This can be used to for example wrap notifications with `React.act` while running tests. + */ + setNotifyFunction: (fn) => { + notifyFn = fn; + }, + /** + * Use this method to set a custom function to batch notifications together into a single tick. + * By default React Query will use the batch function provided by ReactDOM or React Native. + */ + setBatchNotifyFunction: (fn) => { + batchNotifyFn = fn; + }, + setScheduler: (fn) => { + scheduleFn = fn; + } + }; +} +var notifyManager = createNotifyManager(); + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/removable.js +var _gcTimeout, _a3; +var Removable = (_a3 = class { + constructor() { + __privateAdd(this, _gcTimeout); + } + destroy() { + this.clearGcTimeout(); + } + scheduleGc() { + this.clearGcTimeout(); + if (isValidTimeout(this.gcTime)) { + __privateSet(this, _gcTimeout, setTimeout(() => { + this.optionalRemove(); + }, this.gcTime)); + } + } + updateGcTime(newGcTime) { + this.gcTime = Math.max( + this.gcTime || 0, + newGcTime ?? (isServer ? Infinity : 5 * 60 * 1e3) + ); + } + clearGcTimeout() { + if (__privateGet(this, _gcTimeout)) { + clearTimeout(__privateGet(this, _gcTimeout)); + __privateSet(this, _gcTimeout, void 0); + } + } +}, _gcTimeout = new WeakMap(), _a3); + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/query.js +var _initialState, _revertState, _cache, _retryer, _defaultOptions, _abortSignalConsumed, _Query_instances, dispatch_fn, _a4; +var Query = (_a4 = class extends Removable { + constructor(config) { + super(); + __privateAdd(this, _Query_instances); + __privateAdd(this, _initialState); + __privateAdd(this, _revertState); + __privateAdd(this, _cache); + __privateAdd(this, _retryer); + __privateAdd(this, _defaultOptions); + __privateAdd(this, _abortSignalConsumed); + __privateSet(this, _abortSignalConsumed, false); + __privateSet(this, _defaultOptions, config.defaultOptions); + this.setOptions(config.options); + this.observers = []; + __privateSet(this, _cache, config.cache); + this.queryKey = config.queryKey; + this.queryHash = config.queryHash; + __privateSet(this, _initialState, getDefaultState(this.options)); + this.state = config.state ?? __privateGet(this, _initialState); + this.scheduleGc(); + } + get meta() { + return this.options.meta; + } + get promise() { + var _a12; + return (_a12 = __privateGet(this, _retryer)) == null ? void 0 : _a12.promise; + } + setOptions(options) { + this.options = { ...__privateGet(this, _defaultOptions), ...options }; + this.updateGcTime(this.options.gcTime); + } + optionalRemove() { + if (!this.observers.length && this.state.fetchStatus === "idle") { + __privateGet(this, _cache).remove(this); + } + } + setData(newData, options) { + const data = replaceData(this.state.data, newData, this.options); + __privateMethod(this, _Query_instances, dispatch_fn).call(this, { + data, + type: "success", + dataUpdatedAt: options == null ? void 0 : options.updatedAt, + manual: options == null ? void 0 : options.manual + }); + return data; + } + setState(state, setStateOptions) { + __privateMethod(this, _Query_instances, dispatch_fn).call(this, { type: "setState", state, setStateOptions }); + } + cancel(options) { + var _a12, _b; + const promise = (_a12 = __privateGet(this, _retryer)) == null ? void 0 : _a12.promise; + (_b = __privateGet(this, _retryer)) == null ? void 0 : _b.cancel(options); + return promise ? promise.then(noop).catch(noop) : Promise.resolve(); + } + destroy() { + super.destroy(); + this.cancel({ silent: true }); + } + reset() { + this.destroy(); + this.setState(__privateGet(this, _initialState)); + } + isActive() { + return this.observers.some( + (observer) => resolveEnabled(observer.options.enabled, this) !== false + ); + } + isDisabled() { + if (this.getObserversCount() > 0) { + return !this.isActive(); + } + return this.options.queryFn === skipToken || this.state.dataUpdateCount + this.state.errorUpdateCount === 0; + } + isStale() { + if (this.state.isInvalidated) { + return true; + } + if (this.getObserversCount() > 0) { + return this.observers.some( + (observer) => observer.getCurrentResult().isStale + ); + } + return this.state.data === void 0; + } + isStaleByTime(staleTime = 0) { + return this.state.isInvalidated || this.state.data === void 0 || !timeUntilStale(this.state.dataUpdatedAt, staleTime); + } + onFocus() { + var _a12; + const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus()); + observer == null ? void 0 : observer.refetch({ cancelRefetch: false }); + (_a12 = __privateGet(this, _retryer)) == null ? void 0 : _a12.continue(); + } + onOnline() { + var _a12; + const observer = this.observers.find((x) => x.shouldFetchOnReconnect()); + observer == null ? void 0 : observer.refetch({ cancelRefetch: false }); + (_a12 = __privateGet(this, _retryer)) == null ? void 0 : _a12.continue(); + } + addObserver(observer) { + if (!this.observers.includes(observer)) { + this.observers.push(observer); + this.clearGcTimeout(); + __privateGet(this, _cache).notify({ type: "observerAdded", query: this, observer }); + } + } + removeObserver(observer) { + if (this.observers.includes(observer)) { + this.observers = this.observers.filter((x) => x !== observer); + if (!this.observers.length) { + if (__privateGet(this, _retryer)) { + if (__privateGet(this, _abortSignalConsumed)) { + __privateGet(this, _retryer).cancel({ revert: true }); + } else { + __privateGet(this, _retryer).cancelRetry(); + } + } + this.scheduleGc(); + } + __privateGet(this, _cache).notify({ type: "observerRemoved", query: this, observer }); + } + } + getObserversCount() { + return this.observers.length; + } + invalidate() { + if (!this.state.isInvalidated) { + __privateMethod(this, _Query_instances, dispatch_fn).call(this, { type: "invalidate" }); + } + } + fetch(options, fetchOptions) { + var _a12, _b, _c; + if (this.state.fetchStatus !== "idle") { + if (this.state.data !== void 0 && (fetchOptions == null ? void 0 : fetchOptions.cancelRefetch)) { + this.cancel({ silent: true }); + } else if (__privateGet(this, _retryer)) { + __privateGet(this, _retryer).continueRetry(); + return __privateGet(this, _retryer).promise; + } + } + if (options) { + this.setOptions(options); + } + if (!this.options.queryFn) { + const observer = this.observers.find((x) => x.options.queryFn); + if (observer) { + this.setOptions(observer.options); + } + } + if (true) { + if (!Array.isArray(this.options.queryKey)) { + console.error( + `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']` + ); + } + } + const abortController = new AbortController(); + const addSignalProperty = (object) => { + Object.defineProperty(object, "signal", { + enumerable: true, + get: () => { + __privateSet(this, _abortSignalConsumed, true); + return abortController.signal; + } + }); + }; + const fetchFn = () => { + const queryFn = ensureQueryFn(this.options, fetchOptions); + const queryFnContext = { + queryKey: this.queryKey, + meta: this.meta + }; + addSignalProperty(queryFnContext); + __privateSet(this, _abortSignalConsumed, false); + if (this.options.persister) { + return this.options.persister( + queryFn, + queryFnContext, + this + ); + } + return queryFn(queryFnContext); + }; + const context = { + fetchOptions, + options: this.options, + queryKey: this.queryKey, + state: this.state, + fetchFn + }; + addSignalProperty(context); + (_a12 = this.options.behavior) == null ? void 0 : _a12.onFetch( + context, + this + ); + __privateSet(this, _revertState, this.state); + if (this.state.fetchStatus === "idle" || this.state.fetchMeta !== ((_b = context.fetchOptions) == null ? void 0 : _b.meta)) { + __privateMethod(this, _Query_instances, dispatch_fn).call(this, { type: "fetch", meta: (_c = context.fetchOptions) == null ? void 0 : _c.meta }); + } + const onError = (error) => { + var _a13, _b2, _c2, _d; + if (!(isCancelledError(error) && error.silent)) { + __privateMethod(this, _Query_instances, dispatch_fn).call(this, { + type: "error", + error + }); + } + if (!isCancelledError(error)) { + (_b2 = (_a13 = __privateGet(this, _cache).config).onError) == null ? void 0 : _b2.call( + _a13, + error, + this + ); + (_d = (_c2 = __privateGet(this, _cache).config).onSettled) == null ? void 0 : _d.call( + _c2, + this.state.data, + error, + this + ); + } + this.scheduleGc(); + }; + __privateSet(this, _retryer, createRetryer({ + initialPromise: fetchOptions == null ? void 0 : fetchOptions.initialPromise, + fn: context.fetchFn, + abort: abortController.abort.bind(abortController), + onSuccess: (data) => { + var _a13, _b2, _c2, _d; + if (data === void 0) { + if (true) { + console.error( + `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}` + ); + } + onError(new Error(`${this.queryHash} data is undefined`)); + return; + } + try { + this.setData(data); + } catch (error) { + onError(error); + return; + } + (_b2 = (_a13 = __privateGet(this, _cache).config).onSuccess) == null ? void 0 : _b2.call(_a13, data, this); + (_d = (_c2 = __privateGet(this, _cache).config).onSettled) == null ? void 0 : _d.call( + _c2, + data, + this.state.error, + this + ); + this.scheduleGc(); + }, + onError, + onFail: (failureCount, error) => { + __privateMethod(this, _Query_instances, dispatch_fn).call(this, { type: "failed", failureCount, error }); + }, + onPause: () => { + __privateMethod(this, _Query_instances, dispatch_fn).call(this, { type: "pause" }); + }, + onContinue: () => { + __privateMethod(this, _Query_instances, dispatch_fn).call(this, { type: "continue" }); + }, + retry: context.options.retry, + retryDelay: context.options.retryDelay, + networkMode: context.options.networkMode, + canRun: () => true + })); + return __privateGet(this, _retryer).start(); + } +}, _initialState = new WeakMap(), _revertState = new WeakMap(), _cache = new WeakMap(), _retryer = new WeakMap(), _defaultOptions = new WeakMap(), _abortSignalConsumed = new WeakMap(), _Query_instances = new WeakSet(), dispatch_fn = function(action) { + const reducer = (state) => { + switch (action.type) { + case "failed": + return { + ...state, + fetchFailureCount: action.failureCount, + fetchFailureReason: action.error + }; + case "pause": + return { + ...state, + fetchStatus: "paused" + }; + case "continue": + return { + ...state, + fetchStatus: "fetching" + }; + case "fetch": + return { + ...state, + ...fetchState(state.data, this.options), + fetchMeta: action.meta ?? null + }; + case "success": + return { + ...state, + data: action.data, + dataUpdateCount: state.dataUpdateCount + 1, + dataUpdatedAt: action.dataUpdatedAt ?? Date.now(), + error: null, + isInvalidated: false, + status: "success", + ...!action.manual && { + fetchStatus: "idle", + fetchFailureCount: 0, + fetchFailureReason: null + } + }; + case "error": + const error = action.error; + if (isCancelledError(error) && error.revert && __privateGet(this, _revertState)) { + return { ...__privateGet(this, _revertState), fetchStatus: "idle" }; + } + return { + ...state, + error, + errorUpdateCount: state.errorUpdateCount + 1, + errorUpdatedAt: Date.now(), + fetchFailureCount: state.fetchFailureCount + 1, + fetchFailureReason: error, + fetchStatus: "idle", + status: "error" + }; + case "invalidate": + return { + ...state, + isInvalidated: true + }; + case "setState": + return { + ...state, + ...action.state + }; + } + }; + this.state = reducer(this.state); + notifyManager.batch(() => { + this.observers.forEach((observer) => { + observer.onQueryUpdate(); + }); + __privateGet(this, _cache).notify({ query: this, type: "updated", action }); + }); +}, _a4); +function fetchState(data, options) { + return { + fetchFailureCount: 0, + fetchFailureReason: null, + fetchStatus: canFetch(options.networkMode) ? "fetching" : "paused", + ...data === void 0 && { + error: null, + status: "pending" + } + }; +} +function getDefaultState(options) { + const data = typeof options.initialData === "function" ? options.initialData() : options.initialData; + const hasData = data !== void 0; + const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === "function" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0; + return { + data, + dataUpdateCount: 0, + dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0, + error: null, + errorUpdateCount: 0, + errorUpdatedAt: 0, + fetchFailureCount: 0, + fetchFailureReason: null, + fetchMeta: null, + isInvalidated: false, + status: hasData ? "success" : "pending", + fetchStatus: "idle" + }; +} + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/queryCache.js +var _queries, _a5; +var QueryCache = (_a5 = class extends Subscribable { + constructor(config = {}) { + super(); + __privateAdd(this, _queries); + this.config = config; + __privateSet(this, _queries, /* @__PURE__ */ new Map()); + } + build(client, options, state) { + const queryKey = options.queryKey; + const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options); + let query = this.get(queryHash); + if (!query) { + query = new Query({ + cache: this, + queryKey, + queryHash, + options: client.defaultQueryOptions(options), + state, + defaultOptions: client.getQueryDefaults(queryKey) + }); + this.add(query); + } + return query; + } + add(query) { + if (!__privateGet(this, _queries).has(query.queryHash)) { + __privateGet(this, _queries).set(query.queryHash, query); + this.notify({ + type: "added", + query + }); + } + } + remove(query) { + const queryInMap = __privateGet(this, _queries).get(query.queryHash); + if (queryInMap) { + query.destroy(); + if (queryInMap === query) { + __privateGet(this, _queries).delete(query.queryHash); + } + this.notify({ type: "removed", query }); + } + } + clear() { + notifyManager.batch(() => { + this.getAll().forEach((query) => { + this.remove(query); + }); + }); + } + get(queryHash) { + return __privateGet(this, _queries).get(queryHash); + } + getAll() { + return [...__privateGet(this, _queries).values()]; + } + find(filters) { + const defaultedFilters = { exact: true, ...filters }; + return this.getAll().find( + (query) => matchQuery(defaultedFilters, query) + ); + } + findAll(filters = {}) { + const queries = this.getAll(); + return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries; + } + notify(event) { + notifyManager.batch(() => { + this.listeners.forEach((listener) => { + listener(event); + }); + }); + } + onFocus() { + notifyManager.batch(() => { + this.getAll().forEach((query) => { + query.onFocus(); + }); + }); + } + onOnline() { + notifyManager.batch(() => { + this.getAll().forEach((query) => { + query.onOnline(); + }); + }); + } +}, _queries = new WeakMap(), _a5); + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/mutation.js +var _observers, _mutationCache, _retryer2, _Mutation_instances, dispatch_fn2, _a6; +var Mutation = (_a6 = class extends Removable { + constructor(config) { + super(); + __privateAdd(this, _Mutation_instances); + __privateAdd(this, _observers); + __privateAdd(this, _mutationCache); + __privateAdd(this, _retryer2); + this.mutationId = config.mutationId; + __privateSet(this, _mutationCache, config.mutationCache); + __privateSet(this, _observers, []); + this.state = config.state || getDefaultState2(); + this.setOptions(config.options); + this.scheduleGc(); + } + setOptions(options) { + this.options = options; + this.updateGcTime(this.options.gcTime); + } + get meta() { + return this.options.meta; + } + addObserver(observer) { + if (!__privateGet(this, _observers).includes(observer)) { + __privateGet(this, _observers).push(observer); + this.clearGcTimeout(); + __privateGet(this, _mutationCache).notify({ + type: "observerAdded", + mutation: this, + observer + }); + } + } + removeObserver(observer) { + __privateSet(this, _observers, __privateGet(this, _observers).filter((x) => x !== observer)); + this.scheduleGc(); + __privateGet(this, _mutationCache).notify({ + type: "observerRemoved", + mutation: this, + observer + }); + } + optionalRemove() { + if (!__privateGet(this, _observers).length) { + if (this.state.status === "pending") { + this.scheduleGc(); + } else { + __privateGet(this, _mutationCache).remove(this); + } + } + } + continue() { + var _a12; + return ((_a12 = __privateGet(this, _retryer2)) == null ? void 0 : _a12.continue()) ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before + this.execute(this.state.variables); + } + async execute(variables) { + var _a12, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t; + __privateSet(this, _retryer2, createRetryer({ + fn: () => { + if (!this.options.mutationFn) { + return Promise.reject(new Error("No mutationFn found")); + } + return this.options.mutationFn(variables); + }, + onFail: (failureCount, error) => { + __privateMethod(this, _Mutation_instances, dispatch_fn2).call(this, { type: "failed", failureCount, error }); + }, + onPause: () => { + __privateMethod(this, _Mutation_instances, dispatch_fn2).call(this, { type: "pause" }); + }, + onContinue: () => { + __privateMethod(this, _Mutation_instances, dispatch_fn2).call(this, { type: "continue" }); + }, + retry: this.options.retry ?? 0, + retryDelay: this.options.retryDelay, + networkMode: this.options.networkMode, + canRun: () => __privateGet(this, _mutationCache).canRun(this) + })); + const restored = this.state.status === "pending"; + const isPaused = !__privateGet(this, _retryer2).canStart(); + try { + if (!restored) { + __privateMethod(this, _Mutation_instances, dispatch_fn2).call(this, { type: "pending", variables, isPaused }); + await ((_b = (_a12 = __privateGet(this, _mutationCache).config).onMutate) == null ? void 0 : _b.call( + _a12, + variables, + this + )); + const context = await ((_d = (_c = this.options).onMutate) == null ? void 0 : _d.call(_c, variables)); + if (context !== this.state.context) { + __privateMethod(this, _Mutation_instances, dispatch_fn2).call(this, { + type: "pending", + context, + variables, + isPaused + }); + } + } + const data = await __privateGet(this, _retryer2).start(); + await ((_f = (_e = __privateGet(this, _mutationCache).config).onSuccess) == null ? void 0 : _f.call( + _e, + data, + variables, + this.state.context, + this + )); + await ((_h = (_g = this.options).onSuccess) == null ? void 0 : _h.call(_g, data, variables, this.state.context)); + await ((_j = (_i = __privateGet(this, _mutationCache).config).onSettled) == null ? void 0 : _j.call( + _i, + data, + null, + this.state.variables, + this.state.context, + this + )); + await ((_l = (_k = this.options).onSettled) == null ? void 0 : _l.call(_k, data, null, variables, this.state.context)); + __privateMethod(this, _Mutation_instances, dispatch_fn2).call(this, { type: "success", data }); + return data; + } catch (error) { + try { + await ((_n = (_m = __privateGet(this, _mutationCache).config).onError) == null ? void 0 : _n.call( + _m, + error, + variables, + this.state.context, + this + )); + await ((_p = (_o = this.options).onError) == null ? void 0 : _p.call( + _o, + error, + variables, + this.state.context + )); + await ((_r = (_q = __privateGet(this, _mutationCache).config).onSettled) == null ? void 0 : _r.call( + _q, + void 0, + error, + this.state.variables, + this.state.context, + this + )); + await ((_t = (_s = this.options).onSettled) == null ? void 0 : _t.call( + _s, + void 0, + error, + variables, + this.state.context + )); + throw error; + } finally { + __privateMethod(this, _Mutation_instances, dispatch_fn2).call(this, { type: "error", error }); + } + } finally { + __privateGet(this, _mutationCache).runNext(this); + } + } +}, _observers = new WeakMap(), _mutationCache = new WeakMap(), _retryer2 = new WeakMap(), _Mutation_instances = new WeakSet(), dispatch_fn2 = function(action) { + const reducer = (state) => { + switch (action.type) { + case "failed": + return { + ...state, + failureCount: action.failureCount, + failureReason: action.error + }; + case "pause": + return { + ...state, + isPaused: true + }; + case "continue": + return { + ...state, + isPaused: false + }; + case "pending": + return { + ...state, + context: action.context, + data: void 0, + failureCount: 0, + failureReason: null, + error: null, + isPaused: action.isPaused, + status: "pending", + variables: action.variables, + submittedAt: Date.now() + }; + case "success": + return { + ...state, + data: action.data, + failureCount: 0, + failureReason: null, + error: null, + status: "success", + isPaused: false + }; + case "error": + return { + ...state, + data: void 0, + error: action.error, + failureCount: state.failureCount + 1, + failureReason: action.error, + isPaused: false, + status: "error" + }; + } + }; + this.state = reducer(this.state); + notifyManager.batch(() => { + __privateGet(this, _observers).forEach((observer) => { + observer.onMutationUpdate(action); + }); + __privateGet(this, _mutationCache).notify({ + mutation: this, + type: "updated", + action + }); + }); +}, _a6); +function getDefaultState2() { + return { + context: void 0, + data: void 0, + error: null, + failureCount: 0, + failureReason: null, + isPaused: false, + status: "idle", + variables: void 0, + submittedAt: 0 + }; +} + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/mutationCache.js +var _mutations, _mutationId, _a7; +var MutationCache = (_a7 = class extends Subscribable { + constructor(config = {}) { + super(); + __privateAdd(this, _mutations); + __privateAdd(this, _mutationId); + this.config = config; + __privateSet(this, _mutations, /* @__PURE__ */ new Map()); + __privateSet(this, _mutationId, Date.now()); + } + build(client, options, state) { + const mutation = new Mutation({ + mutationCache: this, + mutationId: ++__privateWrapper(this, _mutationId)._, + options: client.defaultMutationOptions(options), + state + }); + this.add(mutation); + return mutation; + } + add(mutation) { + const scope = scopeFor(mutation); + const mutations = __privateGet(this, _mutations).get(scope) ?? []; + mutations.push(mutation); + __privateGet(this, _mutations).set(scope, mutations); + this.notify({ type: "added", mutation }); + } + remove(mutation) { + var _a12; + const scope = scopeFor(mutation); + if (__privateGet(this, _mutations).has(scope)) { + const mutations = (_a12 = __privateGet(this, _mutations).get(scope)) == null ? void 0 : _a12.filter((x) => x !== mutation); + if (mutations) { + if (mutations.length === 0) { + __privateGet(this, _mutations).delete(scope); + } else { + __privateGet(this, _mutations).set(scope, mutations); + } + } + } + this.notify({ type: "removed", mutation }); + } + canRun(mutation) { + var _a12; + const firstPendingMutation = (_a12 = __privateGet(this, _mutations).get(scopeFor(mutation))) == null ? void 0 : _a12.find((m) => m.state.status === "pending"); + return !firstPendingMutation || firstPendingMutation === mutation; + } + runNext(mutation) { + var _a12; + const foundMutation = (_a12 = __privateGet(this, _mutations).get(scopeFor(mutation))) == null ? void 0 : _a12.find((m) => m !== mutation && m.state.isPaused); + return (foundMutation == null ? void 0 : foundMutation.continue()) ?? Promise.resolve(); + } + clear() { + notifyManager.batch(() => { + this.getAll().forEach((mutation) => { + this.remove(mutation); + }); + }); + } + getAll() { + return [...__privateGet(this, _mutations).values()].flat(); + } + find(filters) { + const defaultedFilters = { exact: true, ...filters }; + return this.getAll().find( + (mutation) => matchMutation(defaultedFilters, mutation) + ); + } + findAll(filters = {}) { + return this.getAll().filter((mutation) => matchMutation(filters, mutation)); + } + notify(event) { + notifyManager.batch(() => { + this.listeners.forEach((listener) => { + listener(event); + }); + }); + } + resumePausedMutations() { + const pausedMutations = this.getAll().filter((x) => x.state.isPaused); + return notifyManager.batch( + () => Promise.all( + pausedMutations.map((mutation) => mutation.continue().catch(noop)) + ) + ); + } +}, _mutations = new WeakMap(), _mutationId = new WeakMap(), _a7); +function scopeFor(mutation) { + var _a12; + return ((_a12 = mutation.options.scope) == null ? void 0 : _a12.id) ?? String(mutation.mutationId); +} + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js +function infiniteQueryBehavior(pages) { + return { + onFetch: (context, query) => { + var _a12, _b, _c, _d, _e; + const options = context.options; + const direction = (_c = (_b = (_a12 = context.fetchOptions) == null ? void 0 : _a12.meta) == null ? void 0 : _b.fetchMore) == null ? void 0 : _c.direction; + const oldPages = ((_d = context.state.data) == null ? void 0 : _d.pages) || []; + const oldPageParams = ((_e = context.state.data) == null ? void 0 : _e.pageParams) || []; + let result = { pages: [], pageParams: [] }; + let currentPage = 0; + const fetchFn = async () => { + let cancelled = false; + const addSignalProperty = (object) => { + Object.defineProperty(object, "signal", { + enumerable: true, + get: () => { + if (context.signal.aborted) { + cancelled = true; + } else { + context.signal.addEventListener("abort", () => { + cancelled = true; + }); + } + return context.signal; + } + }); + }; + const queryFn = ensureQueryFn(context.options, context.fetchOptions); + const fetchPage = async (data, param, previous) => { + if (cancelled) { + return Promise.reject(); + } + if (param == null && data.pages.length) { + return Promise.resolve(data); + } + const queryFnContext = { + queryKey: context.queryKey, + pageParam: param, + direction: previous ? "backward" : "forward", + meta: context.options.meta + }; + addSignalProperty(queryFnContext); + const page = await queryFn( + queryFnContext + ); + const { maxPages } = context.options; + const addTo = previous ? addToStart : addToEnd; + return { + pages: addTo(data.pages, page, maxPages), + pageParams: addTo(data.pageParams, param, maxPages) + }; + }; + if (direction && oldPages.length) { + const previous = direction === "backward"; + const pageParamFn = previous ? getPreviousPageParam : getNextPageParam; + const oldData = { + pages: oldPages, + pageParams: oldPageParams + }; + const param = pageParamFn(options, oldData); + result = await fetchPage(oldData, param, previous); + } else { + const remainingPages = pages ?? oldPages.length; + do { + const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result); + if (currentPage > 0 && param == null) { + break; + } + result = await fetchPage(result, param); + currentPage++; + } while (currentPage < remainingPages); + } + return result; + }; + if (context.options.persister) { + context.fetchFn = () => { + var _a13, _b2; + return (_b2 = (_a13 = context.options).persister) == null ? void 0 : _b2.call( + _a13, + fetchFn, + { + queryKey: context.queryKey, + meta: context.options.meta, + signal: context.signal + }, + query + ); + }; + } else { + context.fetchFn = fetchFn; + } + } + }; +} +function getNextPageParam(options, { pages, pageParams }) { + const lastIndex = pages.length - 1; + return pages.length > 0 ? options.getNextPageParam( + pages[lastIndex], + pages, + pageParams[lastIndex], + pageParams + ) : void 0; +} +function getPreviousPageParam(options, { pages, pageParams }) { + var _a12; + return pages.length > 0 ? (_a12 = options.getPreviousPageParam) == null ? void 0 : _a12.call(options, pages[0], pages, pageParams[0], pageParams) : void 0; +} +function hasNextPage(options, data) { + if (!data) + return false; + return getNextPageParam(options, data) != null; +} +function hasPreviousPage(options, data) { + if (!data || !options.getPreviousPageParam) + return false; + return getPreviousPageParam(options, data) != null; +} + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/queryClient.js +var _queryCache, _mutationCache2, _defaultOptions2, _queryDefaults, _mutationDefaults, _mountCount, _unsubscribeFocus, _unsubscribeOnline, _a8; +var QueryClient = (_a8 = class { + constructor(config = {}) { + __privateAdd(this, _queryCache); + __privateAdd(this, _mutationCache2); + __privateAdd(this, _defaultOptions2); + __privateAdd(this, _queryDefaults); + __privateAdd(this, _mutationDefaults); + __privateAdd(this, _mountCount); + __privateAdd(this, _unsubscribeFocus); + __privateAdd(this, _unsubscribeOnline); + __privateSet(this, _queryCache, config.queryCache || new QueryCache()); + __privateSet(this, _mutationCache2, config.mutationCache || new MutationCache()); + __privateSet(this, _defaultOptions2, config.defaultOptions || {}); + __privateSet(this, _queryDefaults, /* @__PURE__ */ new Map()); + __privateSet(this, _mutationDefaults, /* @__PURE__ */ new Map()); + __privateSet(this, _mountCount, 0); + } + mount() { + __privateWrapper(this, _mountCount)._++; + if (__privateGet(this, _mountCount) !== 1) + return; + __privateSet(this, _unsubscribeFocus, focusManager.subscribe(async (focused) => { + if (focused) { + await this.resumePausedMutations(); + __privateGet(this, _queryCache).onFocus(); + } + })); + __privateSet(this, _unsubscribeOnline, onlineManager.subscribe(async (online) => { + if (online) { + await this.resumePausedMutations(); + __privateGet(this, _queryCache).onOnline(); + } + })); + } + unmount() { + var _a12, _b; + __privateWrapper(this, _mountCount)._--; + if (__privateGet(this, _mountCount) !== 0) + return; + (_a12 = __privateGet(this, _unsubscribeFocus)) == null ? void 0 : _a12.call(this); + __privateSet(this, _unsubscribeFocus, void 0); + (_b = __privateGet(this, _unsubscribeOnline)) == null ? void 0 : _b.call(this); + __privateSet(this, _unsubscribeOnline, void 0); + } + isFetching(filters) { + return __privateGet(this, _queryCache).findAll({ ...filters, fetchStatus: "fetching" }).length; + } + isMutating(filters) { + return __privateGet(this, _mutationCache2).findAll({ ...filters, status: "pending" }).length; + } + getQueryData(queryKey) { + var _a12; + const options = this.defaultQueryOptions({ queryKey }); + return (_a12 = __privateGet(this, _queryCache).get(options.queryHash)) == null ? void 0 : _a12.state.data; + } + ensureQueryData(options) { + const defaultedOptions = this.defaultQueryOptions(options); + const query = __privateGet(this, _queryCache).build(this, defaultedOptions); + const cachedData = query.state.data; + if (cachedData === void 0) { + return this.fetchQuery(options); + } + if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) { + void this.prefetchQuery(defaultedOptions); + } + return Promise.resolve(cachedData); + } + getQueriesData(filters) { + return __privateGet(this, _queryCache).findAll(filters).map(({ queryKey, state }) => { + const data = state.data; + return [queryKey, data]; + }); + } + setQueryData(queryKey, updater, options) { + const defaultedOptions = this.defaultQueryOptions({ queryKey }); + const query = __privateGet(this, _queryCache).get( + defaultedOptions.queryHash + ); + const prevData = query == null ? void 0 : query.state.data; + const data = functionalUpdate(updater, prevData); + if (data === void 0) { + return void 0; + } + return __privateGet(this, _queryCache).build(this, defaultedOptions).setData(data, { ...options, manual: true }); + } + setQueriesData(filters, updater, options) { + return notifyManager.batch( + () => __privateGet(this, _queryCache).findAll(filters).map(({ queryKey }) => [ + queryKey, + this.setQueryData(queryKey, updater, options) + ]) + ); + } + getQueryState(queryKey) { + var _a12; + const options = this.defaultQueryOptions({ queryKey }); + return (_a12 = __privateGet(this, _queryCache).get( + options.queryHash + )) == null ? void 0 : _a12.state; + } + removeQueries(filters) { + const queryCache = __privateGet(this, _queryCache); + notifyManager.batch(() => { + queryCache.findAll(filters).forEach((query) => { + queryCache.remove(query); + }); + }); + } + resetQueries(filters, options) { + const queryCache = __privateGet(this, _queryCache); + const refetchFilters = { + type: "active", + ...filters + }; + return notifyManager.batch(() => { + queryCache.findAll(filters).forEach((query) => { + query.reset(); + }); + return this.refetchQueries(refetchFilters, options); + }); + } + cancelQueries(filters, cancelOptions = {}) { + const defaultedCancelOptions = { revert: true, ...cancelOptions }; + const promises = notifyManager.batch( + () => __privateGet(this, _queryCache).findAll(filters).map((query) => query.cancel(defaultedCancelOptions)) + ); + return Promise.all(promises).then(noop).catch(noop); + } + invalidateQueries(filters, options = {}) { + return notifyManager.batch(() => { + __privateGet(this, _queryCache).findAll(filters).forEach((query) => { + query.invalidate(); + }); + if ((filters == null ? void 0 : filters.refetchType) === "none") { + return Promise.resolve(); + } + const refetchFilters = { + ...filters, + type: (filters == null ? void 0 : filters.refetchType) ?? (filters == null ? void 0 : filters.type) ?? "active" + }; + return this.refetchQueries(refetchFilters, options); + }); + } + refetchQueries(filters, options = {}) { + const fetchOptions = { + ...options, + cancelRefetch: options.cancelRefetch ?? true + }; + const promises = notifyManager.batch( + () => __privateGet(this, _queryCache).findAll(filters).filter((query) => !query.isDisabled()).map((query) => { + let promise = query.fetch(void 0, fetchOptions); + if (!fetchOptions.throwOnError) { + promise = promise.catch(noop); + } + return query.state.fetchStatus === "paused" ? Promise.resolve() : promise; + }) + ); + return Promise.all(promises).then(noop); + } + fetchQuery(options) { + const defaultedOptions = this.defaultQueryOptions(options); + if (defaultedOptions.retry === void 0) { + defaultedOptions.retry = false; + } + const query = __privateGet(this, _queryCache).build(this, defaultedOptions); + return query.isStaleByTime( + resolveStaleTime(defaultedOptions.staleTime, query) + ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data); + } + prefetchQuery(options) { + return this.fetchQuery(options).then(noop).catch(noop); + } + fetchInfiniteQuery(options) { + options.behavior = infiniteQueryBehavior(options.pages); + return this.fetchQuery(options); + } + prefetchInfiniteQuery(options) { + return this.fetchInfiniteQuery(options).then(noop).catch(noop); + } + ensureInfiniteQueryData(options) { + options.behavior = infiniteQueryBehavior(options.pages); + return this.ensureQueryData(options); + } + resumePausedMutations() { + if (onlineManager.isOnline()) { + return __privateGet(this, _mutationCache2).resumePausedMutations(); + } + return Promise.resolve(); + } + getQueryCache() { + return __privateGet(this, _queryCache); + } + getMutationCache() { + return __privateGet(this, _mutationCache2); + } + getDefaultOptions() { + return __privateGet(this, _defaultOptions2); + } + setDefaultOptions(options) { + __privateSet(this, _defaultOptions2, options); + } + setQueryDefaults(queryKey, options) { + __privateGet(this, _queryDefaults).set(hashKey(queryKey), { + queryKey, + defaultOptions: options + }); + } + getQueryDefaults(queryKey) { + const defaults = [...__privateGet(this, _queryDefaults).values()]; + const result = {}; + defaults.forEach((queryDefault) => { + if (partialMatchKey(queryKey, queryDefault.queryKey)) { + Object.assign(result, queryDefault.defaultOptions); + } + }); + return result; + } + setMutationDefaults(mutationKey, options) { + __privateGet(this, _mutationDefaults).set(hashKey(mutationKey), { + mutationKey, + defaultOptions: options + }); + } + getMutationDefaults(mutationKey) { + const defaults = [...__privateGet(this, _mutationDefaults).values()]; + let result = {}; + defaults.forEach((queryDefault) => { + if (partialMatchKey(mutationKey, queryDefault.mutationKey)) { + result = { ...result, ...queryDefault.defaultOptions }; + } + }); + return result; + } + defaultQueryOptions(options) { + if (options._defaulted) { + return options; + } + const defaultedOptions = { + ...__privateGet(this, _defaultOptions2).queries, + ...this.getQueryDefaults(options.queryKey), + ...options, + _defaulted: true + }; + if (!defaultedOptions.queryHash) { + defaultedOptions.queryHash = hashQueryKeyByOptions( + defaultedOptions.queryKey, + defaultedOptions + ); + } + if (defaultedOptions.refetchOnReconnect === void 0) { + defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== "always"; + } + if (defaultedOptions.throwOnError === void 0) { + defaultedOptions.throwOnError = !!defaultedOptions.suspense; + } + if (!defaultedOptions.networkMode && defaultedOptions.persister) { + defaultedOptions.networkMode = "offlineFirst"; + } + if (defaultedOptions.queryFn === skipToken) { + defaultedOptions.enabled = false; + } + return defaultedOptions; + } + defaultMutationOptions(options) { + if (options == null ? void 0 : options._defaulted) { + return options; + } + return { + ...__privateGet(this, _defaultOptions2).mutations, + ...(options == null ? void 0 : options.mutationKey) && this.getMutationDefaults(options.mutationKey), + ...options, + _defaulted: true + }; + } + clear() { + __privateGet(this, _queryCache).clear(); + __privateGet(this, _mutationCache2).clear(); + } +}, _queryCache = new WeakMap(), _mutationCache2 = new WeakMap(), _defaultOptions2 = new WeakMap(), _queryDefaults = new WeakMap(), _mutationDefaults = new WeakMap(), _mountCount = new WeakMap(), _unsubscribeFocus = new WeakMap(), _unsubscribeOnline = new WeakMap(), _a8); + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/queryObserver.js +var _client, _currentQuery, _currentQueryInitialState, _currentResult, _currentResultState, _currentResultOptions, _currentThenable, _selectError, _selectFn, _selectResult, _lastQueryWithDefinedData, _staleTimeoutId, _refetchIntervalId, _currentRefetchInterval, _trackedProps, _QueryObserver_instances, executeFetch_fn, updateStaleTimeout_fn, computeRefetchInterval_fn, updateRefetchInterval_fn, updateTimers_fn, clearStaleTimeout_fn, clearRefetchInterval_fn, updateQuery_fn, notify_fn, _a9; +var QueryObserver = (_a9 = class extends Subscribable { + constructor(client, options) { + super(); + __privateAdd(this, _QueryObserver_instances); + __privateAdd(this, _client); + __privateAdd(this, _currentQuery); + __privateAdd(this, _currentQueryInitialState); + __privateAdd(this, _currentResult); + __privateAdd(this, _currentResultState); + __privateAdd(this, _currentResultOptions); + __privateAdd(this, _currentThenable); + __privateAdd(this, _selectError); + __privateAdd(this, _selectFn); + __privateAdd(this, _selectResult); + // This property keeps track of the last query with defined data. + // It will be used to pass the previous data and query to the placeholder function between renders. + __privateAdd(this, _lastQueryWithDefinedData); + __privateAdd(this, _staleTimeoutId); + __privateAdd(this, _refetchIntervalId); + __privateAdd(this, _currentRefetchInterval); + __privateAdd(this, _trackedProps, /* @__PURE__ */ new Set()); + this.options = options; + __privateSet(this, _client, client); + __privateSet(this, _selectError, null); + __privateSet(this, _currentThenable, pendingThenable()); + if (!this.options.experimental_prefetchInRender) { + __privateGet(this, _currentThenable).reject( + new Error("experimental_prefetchInRender feature flag is not enabled") + ); + } + this.bindMethods(); + this.setOptions(options); + } + bindMethods() { + this.refetch = this.refetch.bind(this); + } + onSubscribe() { + if (this.listeners.size === 1) { + __privateGet(this, _currentQuery).addObserver(this); + if (shouldFetchOnMount(__privateGet(this, _currentQuery), this.options)) { + __privateMethod(this, _QueryObserver_instances, executeFetch_fn).call(this); + } else { + this.updateResult(); + } + __privateMethod(this, _QueryObserver_instances, updateTimers_fn).call(this); + } + } + onUnsubscribe() { + if (!this.hasListeners()) { + this.destroy(); + } + } + shouldFetchOnReconnect() { + return shouldFetchOn( + __privateGet(this, _currentQuery), + this.options, + this.options.refetchOnReconnect + ); + } + shouldFetchOnWindowFocus() { + return shouldFetchOn( + __privateGet(this, _currentQuery), + this.options, + this.options.refetchOnWindowFocus + ); + } + destroy() { + this.listeners = /* @__PURE__ */ new Set(); + __privateMethod(this, _QueryObserver_instances, clearStaleTimeout_fn).call(this); + __privateMethod(this, _QueryObserver_instances, clearRefetchInterval_fn).call(this); + __privateGet(this, _currentQuery).removeObserver(this); + } + setOptions(options, notifyOptions) { + const prevOptions = this.options; + const prevQuery = __privateGet(this, _currentQuery); + this.options = __privateGet(this, _client).defaultQueryOptions(options); + if (this.options.enabled !== void 0 && typeof this.options.enabled !== "boolean" && typeof this.options.enabled !== "function" && typeof resolveEnabled(this.options.enabled, __privateGet(this, _currentQuery)) !== "boolean") { + throw new Error( + "Expected enabled to be a boolean or a callback that returns a boolean" + ); + } + __privateMethod(this, _QueryObserver_instances, updateQuery_fn).call(this); + __privateGet(this, _currentQuery).setOptions(this.options); + if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) { + __privateGet(this, _client).getQueryCache().notify({ + type: "observerOptionsUpdated", + query: __privateGet(this, _currentQuery), + observer: this + }); + } + const mounted = this.hasListeners(); + if (mounted && shouldFetchOptionally( + __privateGet(this, _currentQuery), + prevQuery, + this.options, + prevOptions + )) { + __privateMethod(this, _QueryObserver_instances, executeFetch_fn).call(this); + } + this.updateResult(notifyOptions); + if (mounted && (__privateGet(this, _currentQuery) !== prevQuery || resolveEnabled(this.options.enabled, __privateGet(this, _currentQuery)) !== resolveEnabled(prevOptions.enabled, __privateGet(this, _currentQuery)) || resolveStaleTime(this.options.staleTime, __privateGet(this, _currentQuery)) !== resolveStaleTime(prevOptions.staleTime, __privateGet(this, _currentQuery)))) { + __privateMethod(this, _QueryObserver_instances, updateStaleTimeout_fn).call(this); + } + const nextRefetchInterval = __privateMethod(this, _QueryObserver_instances, computeRefetchInterval_fn).call(this); + if (mounted && (__privateGet(this, _currentQuery) !== prevQuery || resolveEnabled(this.options.enabled, __privateGet(this, _currentQuery)) !== resolveEnabled(prevOptions.enabled, __privateGet(this, _currentQuery)) || nextRefetchInterval !== __privateGet(this, _currentRefetchInterval))) { + __privateMethod(this, _QueryObserver_instances, updateRefetchInterval_fn).call(this, nextRefetchInterval); + } + } + getOptimisticResult(options) { + const query = __privateGet(this, _client).getQueryCache().build(__privateGet(this, _client), options); + const result = this.createResult(query, options); + if (shouldAssignObserverCurrentProperties(this, result)) { + __privateSet(this, _currentResult, result); + __privateSet(this, _currentResultOptions, this.options); + __privateSet(this, _currentResultState, __privateGet(this, _currentQuery).state); + } + return result; + } + getCurrentResult() { + return __privateGet(this, _currentResult); + } + trackResult(result, onPropTracked) { + const trackedResult = {}; + Object.keys(result).forEach((key) => { + Object.defineProperty(trackedResult, key, { + configurable: false, + enumerable: true, + get: () => { + this.trackProp(key); + onPropTracked == null ? void 0 : onPropTracked(key); + return result[key]; + } + }); + }); + return trackedResult; + } + trackProp(key) { + __privateGet(this, _trackedProps).add(key); + } + getCurrentQuery() { + return __privateGet(this, _currentQuery); + } + refetch({ ...options } = {}) { + return this.fetch({ + ...options + }); + } + fetchOptimistic(options) { + const defaultedOptions = __privateGet(this, _client).defaultQueryOptions(options); + const query = __privateGet(this, _client).getQueryCache().build(__privateGet(this, _client), defaultedOptions); + return query.fetch().then(() => this.createResult(query, defaultedOptions)); + } + fetch(fetchOptions) { + return __privateMethod(this, _QueryObserver_instances, executeFetch_fn).call(this, { + ...fetchOptions, + cancelRefetch: fetchOptions.cancelRefetch ?? true + }).then(() => { + this.updateResult(); + return __privateGet(this, _currentResult); + }); + } + createResult(query, options) { + var _a12; + const prevQuery = __privateGet(this, _currentQuery); + const prevOptions = this.options; + const prevResult = __privateGet(this, _currentResult); + const prevResultState = __privateGet(this, _currentResultState); + const prevResultOptions = __privateGet(this, _currentResultOptions); + const queryChange = query !== prevQuery; + const queryInitialState = queryChange ? query.state : __privateGet(this, _currentQueryInitialState); + const { state } = query; + let newState = { ...state }; + let isPlaceholderData = false; + let data; + if (options._optimisticResults) { + const mounted = this.hasListeners(); + const fetchOnMount = !mounted && shouldFetchOnMount(query, options); + const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions); + if (fetchOnMount || fetchOptionally) { + newState = { + ...newState, + ...fetchState(state.data, query.options) + }; + } + if (options._optimisticResults === "isRestoring") { + newState.fetchStatus = "idle"; + } + } + let { error, errorUpdatedAt, status } = newState; + if (options.select && newState.data !== void 0) { + if (prevResult && newState.data === (prevResultState == null ? void 0 : prevResultState.data) && options.select === __privateGet(this, _selectFn)) { + data = __privateGet(this, _selectResult); + } else { + try { + __privateSet(this, _selectFn, options.select); + data = options.select(newState.data); + data = replaceData(prevResult == null ? void 0 : prevResult.data, data, options); + __privateSet(this, _selectResult, data); + __privateSet(this, _selectError, null); + } catch (selectError) { + __privateSet(this, _selectError, selectError); + } + } + } else { + data = newState.data; + } + if (options.placeholderData !== void 0 && data === void 0 && status === "pending") { + let placeholderData; + if ((prevResult == null ? void 0 : prevResult.isPlaceholderData) && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) { + placeholderData = prevResult.data; + } else { + placeholderData = typeof options.placeholderData === "function" ? options.placeholderData( + (_a12 = __privateGet(this, _lastQueryWithDefinedData)) == null ? void 0 : _a12.state.data, + __privateGet(this, _lastQueryWithDefinedData) + ) : options.placeholderData; + if (options.select && placeholderData !== void 0) { + try { + placeholderData = options.select(placeholderData); + __privateSet(this, _selectError, null); + } catch (selectError) { + __privateSet(this, _selectError, selectError); + } + } + } + if (placeholderData !== void 0) { + status = "success"; + data = replaceData( + prevResult == null ? void 0 : prevResult.data, + placeholderData, + options + ); + isPlaceholderData = true; + } + } + if (__privateGet(this, _selectError)) { + error = __privateGet(this, _selectError); + data = __privateGet(this, _selectResult); + errorUpdatedAt = Date.now(); + status = "error"; + } + const isFetching = newState.fetchStatus === "fetching"; + const isPending = status === "pending"; + const isError = status === "error"; + const isLoading = isPending && isFetching; + const hasData = data !== void 0; + const result = { + status, + fetchStatus: newState.fetchStatus, + isPending, + isSuccess: status === "success", + isError, + isInitialLoading: isLoading, + isLoading, + data, + dataUpdatedAt: newState.dataUpdatedAt, + error, + errorUpdatedAt, + failureCount: newState.fetchFailureCount, + failureReason: newState.fetchFailureReason, + errorUpdateCount: newState.errorUpdateCount, + isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0, + isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount, + isFetching, + isRefetching: isFetching && !isPending, + isLoadingError: isError && !hasData, + isPaused: newState.fetchStatus === "paused", + isPlaceholderData, + isRefetchError: isError && hasData, + isStale: isStale(query, options), + refetch: this.refetch, + promise: __privateGet(this, _currentThenable) + }; + const nextResult = result; + if (this.options.experimental_prefetchInRender) { + const finalizeThenableIfPossible = (thenable) => { + if (nextResult.status === "error") { + thenable.reject(nextResult.error); + } else if (nextResult.data !== void 0) { + thenable.resolve(nextResult.data); + } + }; + const recreateThenable = () => { + const pending = __privateSet(this, _currentThenable, nextResult.promise = pendingThenable()); + finalizeThenableIfPossible(pending); + }; + const prevThenable = __privateGet(this, _currentThenable); + switch (prevThenable.status) { + case "pending": + if (query.queryHash === prevQuery.queryHash) { + finalizeThenableIfPossible(prevThenable); + } + break; + case "fulfilled": + if (nextResult.status === "error" || nextResult.data !== prevThenable.value) { + recreateThenable(); + } + break; + case "rejected": + if (nextResult.status !== "error" || nextResult.error !== prevThenable.reason) { + recreateThenable(); + } + break; + } + } + return nextResult; + } + updateResult(notifyOptions) { + const prevResult = __privateGet(this, _currentResult); + const nextResult = this.createResult(__privateGet(this, _currentQuery), this.options); + __privateSet(this, _currentResultState, __privateGet(this, _currentQuery).state); + __privateSet(this, _currentResultOptions, this.options); + if (__privateGet(this, _currentResultState).data !== void 0) { + __privateSet(this, _lastQueryWithDefinedData, __privateGet(this, _currentQuery)); + } + if (shallowEqualObjects(nextResult, prevResult)) { + return; + } + __privateSet(this, _currentResult, nextResult); + const defaultNotifyOptions = {}; + const shouldNotifyListeners = () => { + if (!prevResult) { + return true; + } + const { notifyOnChangeProps } = this.options; + const notifyOnChangePropsValue = typeof notifyOnChangeProps === "function" ? notifyOnChangeProps() : notifyOnChangeProps; + if (notifyOnChangePropsValue === "all" || !notifyOnChangePropsValue && !__privateGet(this, _trackedProps).size) { + return true; + } + const includedProps = new Set( + notifyOnChangePropsValue ?? __privateGet(this, _trackedProps) + ); + if (this.options.throwOnError) { + includedProps.add("error"); + } + return Object.keys(__privateGet(this, _currentResult)).some((key) => { + const typedKey = key; + const changed = __privateGet(this, _currentResult)[typedKey] !== prevResult[typedKey]; + return changed && includedProps.has(typedKey); + }); + }; + if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && shouldNotifyListeners()) { + defaultNotifyOptions.listeners = true; + } + __privateMethod(this, _QueryObserver_instances, notify_fn).call(this, { ...defaultNotifyOptions, ...notifyOptions }); + } + onQueryUpdate() { + this.updateResult(); + if (this.hasListeners()) { + __privateMethod(this, _QueryObserver_instances, updateTimers_fn).call(this); + } + } +}, _client = new WeakMap(), _currentQuery = new WeakMap(), _currentQueryInitialState = new WeakMap(), _currentResult = new WeakMap(), _currentResultState = new WeakMap(), _currentResultOptions = new WeakMap(), _currentThenable = new WeakMap(), _selectError = new WeakMap(), _selectFn = new WeakMap(), _selectResult = new WeakMap(), _lastQueryWithDefinedData = new WeakMap(), _staleTimeoutId = new WeakMap(), _refetchIntervalId = new WeakMap(), _currentRefetchInterval = new WeakMap(), _trackedProps = new WeakMap(), _QueryObserver_instances = new WeakSet(), executeFetch_fn = function(fetchOptions) { + __privateMethod(this, _QueryObserver_instances, updateQuery_fn).call(this); + let promise = __privateGet(this, _currentQuery).fetch( + this.options, + fetchOptions + ); + if (!(fetchOptions == null ? void 0 : fetchOptions.throwOnError)) { + promise = promise.catch(noop); + } + return promise; +}, updateStaleTimeout_fn = function() { + __privateMethod(this, _QueryObserver_instances, clearStaleTimeout_fn).call(this); + const staleTime = resolveStaleTime( + this.options.staleTime, + __privateGet(this, _currentQuery) + ); + if (isServer || __privateGet(this, _currentResult).isStale || !isValidTimeout(staleTime)) { + return; + } + const time = timeUntilStale(__privateGet(this, _currentResult).dataUpdatedAt, staleTime); + const timeout = time + 1; + __privateSet(this, _staleTimeoutId, setTimeout(() => { + if (!__privateGet(this, _currentResult).isStale) { + this.updateResult(); + } + }, timeout)); +}, computeRefetchInterval_fn = function() { + return (typeof this.options.refetchInterval === "function" ? this.options.refetchInterval(__privateGet(this, _currentQuery)) : this.options.refetchInterval) ?? false; +}, updateRefetchInterval_fn = function(nextInterval) { + __privateMethod(this, _QueryObserver_instances, clearRefetchInterval_fn).call(this); + __privateSet(this, _currentRefetchInterval, nextInterval); + if (isServer || resolveEnabled(this.options.enabled, __privateGet(this, _currentQuery)) === false || !isValidTimeout(__privateGet(this, _currentRefetchInterval)) || __privateGet(this, _currentRefetchInterval) === 0) { + return; + } + __privateSet(this, _refetchIntervalId, setInterval(() => { + if (this.options.refetchIntervalInBackground || focusManager.isFocused()) { + __privateMethod(this, _QueryObserver_instances, executeFetch_fn).call(this); + } + }, __privateGet(this, _currentRefetchInterval))); +}, updateTimers_fn = function() { + __privateMethod(this, _QueryObserver_instances, updateStaleTimeout_fn).call(this); + __privateMethod(this, _QueryObserver_instances, updateRefetchInterval_fn).call(this, __privateMethod(this, _QueryObserver_instances, computeRefetchInterval_fn).call(this)); +}, clearStaleTimeout_fn = function() { + if (__privateGet(this, _staleTimeoutId)) { + clearTimeout(__privateGet(this, _staleTimeoutId)); + __privateSet(this, _staleTimeoutId, void 0); + } +}, clearRefetchInterval_fn = function() { + if (__privateGet(this, _refetchIntervalId)) { + clearInterval(__privateGet(this, _refetchIntervalId)); + __privateSet(this, _refetchIntervalId, void 0); + } +}, updateQuery_fn = function() { + const query = __privateGet(this, _client).getQueryCache().build(__privateGet(this, _client), this.options); + if (query === __privateGet(this, _currentQuery)) { + return; + } + const prevQuery = __privateGet(this, _currentQuery); + __privateSet(this, _currentQuery, query); + __privateSet(this, _currentQueryInitialState, query.state); + if (this.hasListeners()) { + prevQuery == null ? void 0 : prevQuery.removeObserver(this); + query.addObserver(this); + } +}, notify_fn = function(notifyOptions) { + notifyManager.batch(() => { + if (notifyOptions.listeners) { + this.listeners.forEach((listener) => { + listener(__privateGet(this, _currentResult)); + }); + } + __privateGet(this, _client).getQueryCache().notify({ + query: __privateGet(this, _currentQuery), + type: "observerResultsUpdated" + }); + }); +}, _a9); +function shouldLoadOnMount(query, options) { + return resolveEnabled(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === "error" && options.retryOnMount === false); +} +function shouldFetchOnMount(query, options) { + return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount); +} +function shouldFetchOn(query, options, field) { + if (resolveEnabled(options.enabled, query) !== false) { + const value = typeof field === "function" ? field(query) : field; + return value === "always" || value !== false && isStale(query, options); + } + return false; +} +function shouldFetchOptionally(query, prevQuery, options, prevOptions) { + return (query !== prevQuery || resolveEnabled(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== "error") && isStale(query, options); +} +function isStale(query, options) { + return resolveEnabled(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query)); +} +function shouldAssignObserverCurrentProperties(observer, optimisticResult) { + if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) { + return true; + } + return false; +} + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/queriesObserver.js +function difference(array1, array2) { + return array1.filter((x) => !array2.includes(x)); +} +function replaceAt(array, index, value) { + const copy = array.slice(0); + copy[index] = value; + return copy; +} +var _client2, _result, _queries2, _options, _observers2, _combinedResult, _lastCombine, _lastResult, _QueriesObserver_instances, trackResult_fn, combineResult_fn, findMatchingObservers_fn, onUpdate_fn, notify_fn2, _a10; +var QueriesObserver = (_a10 = class extends Subscribable { + constructor(client, queries, options) { + super(); + __privateAdd(this, _QueriesObserver_instances); + __privateAdd(this, _client2); + __privateAdd(this, _result); + __privateAdd(this, _queries2); + __privateAdd(this, _options); + __privateAdd(this, _observers2); + __privateAdd(this, _combinedResult); + __privateAdd(this, _lastCombine); + __privateAdd(this, _lastResult); + __privateSet(this, _client2, client); + __privateSet(this, _options, options); + __privateSet(this, _queries2, []); + __privateSet(this, _observers2, []); + __privateSet(this, _result, []); + this.setQueries(queries); + } + onSubscribe() { + if (this.listeners.size === 1) { + __privateGet(this, _observers2).forEach((observer) => { + observer.subscribe((result) => { + __privateMethod(this, _QueriesObserver_instances, onUpdate_fn).call(this, observer, result); + }); + }); + } + } + onUnsubscribe() { + if (!this.listeners.size) { + this.destroy(); + } + } + destroy() { + this.listeners = /* @__PURE__ */ new Set(); + __privateGet(this, _observers2).forEach((observer) => { + observer.destroy(); + }); + } + setQueries(queries, options, notifyOptions) { + __privateSet(this, _queries2, queries); + __privateSet(this, _options, options); + if (true) { + const queryHashes = queries.map((query) => query.queryHash); + if (new Set(queryHashes).size !== queryHashes.length) { + console.warn( + "[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior." + ); + } + } + notifyManager.batch(() => { + const prevObservers = __privateGet(this, _observers2); + const newObserverMatches = __privateMethod(this, _QueriesObserver_instances, findMatchingObservers_fn).call(this, __privateGet(this, _queries2)); + newObserverMatches.forEach( + (match) => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions) + ); + const newObservers = newObserverMatches.map((match) => match.observer); + const newResult = newObservers.map( + (observer) => observer.getCurrentResult() + ); + const hasIndexChange = newObservers.some( + (observer, index) => observer !== prevObservers[index] + ); + if (prevObservers.length === newObservers.length && !hasIndexChange) { + return; + } + __privateSet(this, _observers2, newObservers); + __privateSet(this, _result, newResult); + if (!this.hasListeners()) { + return; + } + difference(prevObservers, newObservers).forEach((observer) => { + observer.destroy(); + }); + difference(newObservers, prevObservers).forEach((observer) => { + observer.subscribe((result) => { + __privateMethod(this, _QueriesObserver_instances, onUpdate_fn).call(this, observer, result); + }); + }); + __privateMethod(this, _QueriesObserver_instances, notify_fn2).call(this); + }); + } + getCurrentResult() { + return __privateGet(this, _result); + } + getQueries() { + return __privateGet(this, _observers2).map((observer) => observer.getCurrentQuery()); + } + getObservers() { + return __privateGet(this, _observers2); + } + getOptimisticResult(queries, combine) { + const matches = __privateMethod(this, _QueriesObserver_instances, findMatchingObservers_fn).call(this, queries); + const result = matches.map( + (match) => match.observer.getOptimisticResult(match.defaultedQueryOptions) + ); + return [ + result, + (r) => { + return __privateMethod(this, _QueriesObserver_instances, combineResult_fn).call(this, r ?? result, combine); + }, + () => { + return __privateMethod(this, _QueriesObserver_instances, trackResult_fn).call(this, result, queries); + } + ]; + } +}, _client2 = new WeakMap(), _result = new WeakMap(), _queries2 = new WeakMap(), _options = new WeakMap(), _observers2 = new WeakMap(), _combinedResult = new WeakMap(), _lastCombine = new WeakMap(), _lastResult = new WeakMap(), _QueriesObserver_instances = new WeakSet(), trackResult_fn = function(result, queries) { + const matches = __privateMethod(this, _QueriesObserver_instances, findMatchingObservers_fn).call(this, queries); + return matches.map((match, index) => { + const observerResult = result[index]; + return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult, (accessedProp) => { + matches.forEach((m) => { + m.observer.trackProp(accessedProp); + }); + }) : observerResult; + }); +}, combineResult_fn = function(input, combine) { + if (combine) { + if (!__privateGet(this, _combinedResult) || __privateGet(this, _result) !== __privateGet(this, _lastResult) || combine !== __privateGet(this, _lastCombine)) { + __privateSet(this, _lastCombine, combine); + __privateSet(this, _lastResult, __privateGet(this, _result)); + __privateSet(this, _combinedResult, replaceEqualDeep( + __privateGet(this, _combinedResult), + combine(input) + )); + } + return __privateGet(this, _combinedResult); + } + return input; +}, findMatchingObservers_fn = function(queries) { + const prevObserversMap = new Map( + __privateGet(this, _observers2).map((observer) => [observer.options.queryHash, observer]) + ); + const observers = []; + queries.forEach((options) => { + const defaultedOptions = __privateGet(this, _client2).defaultQueryOptions(options); + const match = prevObserversMap.get(defaultedOptions.queryHash); + if (match) { + observers.push({ + defaultedQueryOptions: defaultedOptions, + observer: match + }); + } else { + observers.push({ + defaultedQueryOptions: defaultedOptions, + observer: new QueryObserver(__privateGet(this, _client2), defaultedOptions) + }); + } + }); + return observers; +}, onUpdate_fn = function(observer, result) { + const index = __privateGet(this, _observers2).indexOf(observer); + if (index !== -1) { + __privateSet(this, _result, replaceAt(__privateGet(this, _result), index, result)); + __privateMethod(this, _QueriesObserver_instances, notify_fn2).call(this); + } +}, notify_fn2 = function() { + var _a12; + if (this.hasListeners()) { + const previousResult = __privateGet(this, _combinedResult); + const newResult = __privateMethod(this, _QueriesObserver_instances, combineResult_fn).call(this, __privateMethod(this, _QueriesObserver_instances, trackResult_fn).call(this, __privateGet(this, _result), __privateGet(this, _queries2)), (_a12 = __privateGet(this, _options)) == null ? void 0 : _a12.combine); + if (previousResult !== newResult) { + notifyManager.batch(() => { + this.listeners.forEach((listener) => { + listener(__privateGet(this, _result)); + }); + }); + } + } +}, _a10); + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js +var InfiniteQueryObserver = class extends QueryObserver { + constructor(client, options) { + super(client, options); + } + bindMethods() { + super.bindMethods(); + this.fetchNextPage = this.fetchNextPage.bind(this); + this.fetchPreviousPage = this.fetchPreviousPage.bind(this); + } + setOptions(options, notifyOptions) { + super.setOptions( + { + ...options, + behavior: infiniteQueryBehavior() + }, + notifyOptions + ); + } + getOptimisticResult(options) { + options.behavior = infiniteQueryBehavior(); + return super.getOptimisticResult(options); + } + fetchNextPage(options) { + return this.fetch({ + ...options, + meta: { + fetchMore: { direction: "forward" } + } + }); + } + fetchPreviousPage(options) { + return this.fetch({ + ...options, + meta: { + fetchMore: { direction: "backward" } + } + }); + } + createResult(query, options) { + var _a12, _b; + const { state } = query; + const parentResult = super.createResult(query, options); + const { isFetching, isRefetching, isError, isRefetchError } = parentResult; + const fetchDirection = (_b = (_a12 = state.fetchMeta) == null ? void 0 : _a12.fetchMore) == null ? void 0 : _b.direction; + const isFetchNextPageError = isError && fetchDirection === "forward"; + const isFetchingNextPage = isFetching && fetchDirection === "forward"; + const isFetchPreviousPageError = isError && fetchDirection === "backward"; + const isFetchingPreviousPage = isFetching && fetchDirection === "backward"; + const result = { + ...parentResult, + fetchNextPage: this.fetchNextPage, + fetchPreviousPage: this.fetchPreviousPage, + hasNextPage: hasNextPage(options, state.data), + hasPreviousPage: hasPreviousPage(options, state.data), + isFetchNextPageError, + isFetchingNextPage, + isFetchPreviousPageError, + isFetchingPreviousPage, + isRefetchError: isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError, + isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage + }; + return result; + } +}; + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/mutationObserver.js +var _client3, _currentResult2, _currentMutation, _mutateOptions, _MutationObserver_instances, updateResult_fn, notify_fn3, _a11; +var MutationObserver = (_a11 = class extends Subscribable { + constructor(client, options) { + super(); + __privateAdd(this, _MutationObserver_instances); + __privateAdd(this, _client3); + __privateAdd(this, _currentResult2); + __privateAdd(this, _currentMutation); + __privateAdd(this, _mutateOptions); + __privateSet(this, _client3, client); + this.setOptions(options); + this.bindMethods(); + __privateMethod(this, _MutationObserver_instances, updateResult_fn).call(this); + } + bindMethods() { + this.mutate = this.mutate.bind(this); + this.reset = this.reset.bind(this); + } + setOptions(options) { + var _a12; + const prevOptions = this.options; + this.options = __privateGet(this, _client3).defaultMutationOptions(options); + if (!shallowEqualObjects(this.options, prevOptions)) { + __privateGet(this, _client3).getMutationCache().notify({ + type: "observerOptionsUpdated", + mutation: __privateGet(this, _currentMutation), + observer: this + }); + } + if ((prevOptions == null ? void 0 : prevOptions.mutationKey) && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) { + this.reset(); + } else if (((_a12 = __privateGet(this, _currentMutation)) == null ? void 0 : _a12.state.status) === "pending") { + __privateGet(this, _currentMutation).setOptions(this.options); + } + } + onUnsubscribe() { + var _a12; + if (!this.hasListeners()) { + (_a12 = __privateGet(this, _currentMutation)) == null ? void 0 : _a12.removeObserver(this); + } + } + onMutationUpdate(action) { + __privateMethod(this, _MutationObserver_instances, updateResult_fn).call(this); + __privateMethod(this, _MutationObserver_instances, notify_fn3).call(this, action); + } + getCurrentResult() { + return __privateGet(this, _currentResult2); + } + reset() { + var _a12; + (_a12 = __privateGet(this, _currentMutation)) == null ? void 0 : _a12.removeObserver(this); + __privateSet(this, _currentMutation, void 0); + __privateMethod(this, _MutationObserver_instances, updateResult_fn).call(this); + __privateMethod(this, _MutationObserver_instances, notify_fn3).call(this); + } + mutate(variables, options) { + var _a12; + __privateSet(this, _mutateOptions, options); + (_a12 = __privateGet(this, _currentMutation)) == null ? void 0 : _a12.removeObserver(this); + __privateSet(this, _currentMutation, __privateGet(this, _client3).getMutationCache().build(__privateGet(this, _client3), this.options)); + __privateGet(this, _currentMutation).addObserver(this); + return __privateGet(this, _currentMutation).execute(variables); + } +}, _client3 = new WeakMap(), _currentResult2 = new WeakMap(), _currentMutation = new WeakMap(), _mutateOptions = new WeakMap(), _MutationObserver_instances = new WeakSet(), updateResult_fn = function() { + var _a12; + const state = ((_a12 = __privateGet(this, _currentMutation)) == null ? void 0 : _a12.state) ?? getDefaultState2(); + __privateSet(this, _currentResult2, { + ...state, + isPending: state.status === "pending", + isSuccess: state.status === "success", + isError: state.status === "error", + isIdle: state.status === "idle", + mutate: this.mutate, + reset: this.reset + }); +}, notify_fn3 = function(action) { + notifyManager.batch(() => { + var _a12, _b, _c, _d, _e, _f, _g, _h; + if (__privateGet(this, _mutateOptions) && this.hasListeners()) { + const variables = __privateGet(this, _currentResult2).variables; + const context = __privateGet(this, _currentResult2).context; + if ((action == null ? void 0 : action.type) === "success") { + (_b = (_a12 = __privateGet(this, _mutateOptions)).onSuccess) == null ? void 0 : _b.call(_a12, action.data, variables, context); + (_d = (_c = __privateGet(this, _mutateOptions)).onSettled) == null ? void 0 : _d.call(_c, action.data, null, variables, context); + } else if ((action == null ? void 0 : action.type) === "error") { + (_f = (_e = __privateGet(this, _mutateOptions)).onError) == null ? void 0 : _f.call(_e, action.error, variables, context); + (_h = (_g = __privateGet(this, _mutateOptions)).onSettled) == null ? void 0 : _h.call( + _g, + void 0, + action.error, + variables, + context + ); + } + } + this.listeners.forEach((listener) => { + listener(__privateGet(this, _currentResult2)); + }); + }); +}, _a11); + +// ../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/build/modern/hydration.js +function defaultTransformerFn(data) { + return data; +} +function dehydrateMutation(mutation) { + return { + mutationKey: mutation.options.mutationKey, + state: mutation.state, + ...mutation.options.scope && { scope: mutation.options.scope }, + ...mutation.meta && { meta: mutation.meta } + }; +} +function dehydrateQuery(query, serializeData) { + var _a12; + return { + state: { + ...query.state, + ...query.state.data !== void 0 && { + data: serializeData(query.state.data) + } + }, + queryKey: query.queryKey, + queryHash: query.queryHash, + ...query.state.status === "pending" && { + promise: (_a12 = query.promise) == null ? void 0 : _a12.then(serializeData).catch((error) => { + if (true) { + console.error( + `A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds` + ); + } + return Promise.reject(new Error("redacted")); + }) + }, + ...query.meta && { meta: query.meta } + }; +} +function defaultShouldDehydrateMutation(mutation) { + return mutation.state.isPaused; +} +function defaultShouldDehydrateQuery(query) { + return query.state.status === "success"; +} +function dehydrate(client, options = {}) { + var _a12, _b, _c; + const filterMutation = options.shouldDehydrateMutation ?? ((_a12 = client.getDefaultOptions().dehydrate) == null ? void 0 : _a12.shouldDehydrateMutation) ?? defaultShouldDehydrateMutation; + const mutations = client.getMutationCache().getAll().flatMap( + (mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : [] + ); + const filterQuery = options.shouldDehydrateQuery ?? ((_b = client.getDefaultOptions().dehydrate) == null ? void 0 : _b.shouldDehydrateQuery) ?? defaultShouldDehydrateQuery; + const serializeData = options.serializeData ?? ((_c = client.getDefaultOptions().dehydrate) == null ? void 0 : _c.serializeData) ?? defaultTransformerFn; + const queries = client.getQueryCache().getAll().flatMap( + (query) => filterQuery(query) ? [dehydrateQuery(query, serializeData)] : [] + ); + return { mutations, queries }; +} +function hydrate(client, dehydratedState, options) { + var _a12, _b; + if (typeof dehydratedState !== "object" || dehydratedState === null) { + return; + } + const mutationCache = client.getMutationCache(); + const queryCache = client.getQueryCache(); + const deserializeData = ((_a12 = options == null ? void 0 : options.defaultOptions) == null ? void 0 : _a12.deserializeData) ?? ((_b = client.getDefaultOptions().hydrate) == null ? void 0 : _b.deserializeData) ?? defaultTransformerFn; + const mutations = dehydratedState.mutations || []; + const queries = dehydratedState.queries || []; + mutations.forEach(({ state, ...mutationOptions }) => { + var _a13, _b2; + mutationCache.build( + client, + { + ...(_a13 = client.getDefaultOptions().hydrate) == null ? void 0 : _a13.mutations, + ...(_b2 = options == null ? void 0 : options.defaultOptions) == null ? void 0 : _b2.mutations, + ...mutationOptions + }, + state + ); + }); + queries.forEach(({ queryKey, state, queryHash, meta, promise }) => { + var _a13, _b2; + let query = queryCache.get(queryHash); + const data = state.data === void 0 ? state.data : deserializeData(state.data); + if (query) { + if (query.state.dataUpdatedAt < state.dataUpdatedAt) { + const { fetchStatus: _ignored, ...serializedState } = state; + query.setState({ + ...serializedState, + data + }); + } + } else { + query = queryCache.build( + client, + { + ...(_a13 = client.getDefaultOptions().hydrate) == null ? void 0 : _a13.queries, + ...(_b2 = options == null ? void 0 : options.defaultOptions) == null ? void 0 : _b2.queries, + queryKey, + queryHash, + meta + }, + // Reset fetch status to idle to avoid + // query being stuck in fetching state upon hydration + { + ...state, + data, + fetchStatus: "idle" + } + ); + } + if (promise) { + const initialPromise = Promise.resolve(promise).then(deserializeData); + void query.fetch(void 0, { initialPromise }); + } + }); +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/useQueries.js +var React5 = __toESM(require_react(), 1); + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js +var React = __toESM(require_react(), 1); +var import_jsx_runtime = __toESM(require_jsx_runtime(), 1); +var QueryClientContext = React.createContext( + void 0 +); +var useQueryClient = (queryClient) => { + const client = React.useContext(QueryClientContext); + if (queryClient) { + return queryClient; + } + if (!client) { + throw new Error("No QueryClient set, use QueryClientProvider to set one"); + } + return client; +}; +var QueryClientProvider = ({ + client, + children +}) => { + React.useEffect(() => { + client.mount(); + return () => { + client.unmount(); + }; + }, [client]); + return (0, import_jsx_runtime.jsx)(QueryClientContext.Provider, { value: client, children }); +}; + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/isRestoring.js +var React2 = __toESM(require_react(), 1); +var IsRestoringContext = React2.createContext(false); +var useIsRestoring = () => React2.useContext(IsRestoringContext); +var IsRestoringProvider = IsRestoringContext.Provider; + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js +var React3 = __toESM(require_react(), 1); +var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1); +function createValue() { + let isReset = false; + return { + clearReset: () => { + isReset = false; + }, + reset: () => { + isReset = true; + }, + isReset: () => { + return isReset; + } + }; +} +var QueryErrorResetBoundaryContext = React3.createContext(createValue()); +var useQueryErrorResetBoundary = () => React3.useContext(QueryErrorResetBoundaryContext); +var QueryErrorResetBoundary = ({ + children +}) => { + const [value] = React3.useState(() => createValue()); + return (0, import_jsx_runtime2.jsx)(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === "function" ? children(value) : children }); +}; + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js +var React4 = __toESM(require_react(), 1); + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/utils.js +function shouldThrowError(throwError, params) { + if (typeof throwError === "function") { + return throwError(...params); + } + return !!throwError; +} +function noop2() { +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js +var ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => { + if (options.suspense || options.throwOnError || options.experimental_prefetchInRender) { + if (!errorResetBoundary.isReset()) { + options.retryOnMount = false; + } + } +}; +var useClearResetErrorBoundary = (errorResetBoundary) => { + React4.useEffect(() => { + errorResetBoundary.clearReset(); + }, [errorResetBoundary]); +}; +var getHasError = ({ + result, + errorResetBoundary, + throwOnError, + query +}) => { + return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && shouldThrowError(throwOnError, [result.error, query]); +}; + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/suspense.js +var defaultThrowOnError = (_error, query) => query.state.data === void 0; +var ensureSuspenseTimers = (defaultedOptions) => { + if (defaultedOptions.suspense) { + if (defaultedOptions.staleTime === void 0) { + defaultedOptions.staleTime = 1e3; + } + if (typeof defaultedOptions.gcTime === "number") { + defaultedOptions.gcTime = Math.max(defaultedOptions.gcTime, 1e3); + } + } +}; +var willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring; +var shouldSuspend = (defaultedOptions, result) => (defaultedOptions == null ? void 0 : defaultedOptions.suspense) && result.isPending; +var fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => { + errorResetBoundary.clearReset(); +}); + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/useQueries.js +function useQueries({ + queries, + ...options +}, queryClient) { + const client = useQueryClient(queryClient); + const isRestoring = useIsRestoring(); + const errorResetBoundary = useQueryErrorResetBoundary(); + const defaultedQueries = React5.useMemo( + () => queries.map((opts) => { + const defaultedOptions = client.defaultQueryOptions( + opts + ); + defaultedOptions._optimisticResults = isRestoring ? "isRestoring" : "optimistic"; + return defaultedOptions; + }), + [queries, client, isRestoring] + ); + defaultedQueries.forEach((query) => { + ensureSuspenseTimers(query); + ensurePreventErrorBoundaryRetry(query, errorResetBoundary); + }); + useClearResetErrorBoundary(errorResetBoundary); + const [observer] = React5.useState( + () => new QueriesObserver( + client, + defaultedQueries, + options + ) + ); + const [optimisticResult, getCombinedResult, trackResult] = observer.getOptimisticResult( + defaultedQueries, + options.combine + ); + React5.useSyncExternalStore( + React5.useCallback( + (onStoreChange) => isRestoring ? noop2 : observer.subscribe(notifyManager.batchCalls(onStoreChange)), + [observer, isRestoring] + ), + () => observer.getCurrentResult(), + () => observer.getCurrentResult() + ); + React5.useEffect(() => { + observer.setQueries( + defaultedQueries, + options, + { + listeners: false + } + ); + }, [defaultedQueries, options, observer]); + const shouldAtLeastOneSuspend = optimisticResult.some( + (result, index) => shouldSuspend(defaultedQueries[index], result) + ); + const suspensePromises = shouldAtLeastOneSuspend ? optimisticResult.flatMap((result, index) => { + const opts = defaultedQueries[index]; + if (opts) { + const queryObserver = new QueryObserver(client, opts); + if (shouldSuspend(opts, result)) { + return fetchOptimistic(opts, queryObserver, errorResetBoundary); + } else if (willFetch(result, isRestoring)) { + void fetchOptimistic(opts, queryObserver, errorResetBoundary); + } + } + return []; + }) : []; + if (suspensePromises.length > 0) { + throw Promise.all(suspensePromises); + } + const firstSingleResultWhichShouldThrow = optimisticResult.find( + (result, index) => { + const query = defaultedQueries[index]; + return query && getHasError({ + result, + errorResetBoundary, + throwOnError: query.throwOnError, + query: client.getQueryCache().get(query.queryHash) + }); + } + ); + if (firstSingleResultWhichShouldThrow == null ? void 0 : firstSingleResultWhichShouldThrow.error) { + throw firstSingleResultWhichShouldThrow.error; + } + return getCombinedResult(trackResult()); +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js +var React6 = __toESM(require_react(), 1); +function useBaseQuery(options, Observer, queryClient) { + var _a12, _b, _c, _d, _e; + if (true) { + if (typeof options !== "object" || Array.isArray(options)) { + throw new Error( + 'Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object' + ); + } + } + const client = useQueryClient(queryClient); + const isRestoring = useIsRestoring(); + const errorResetBoundary = useQueryErrorResetBoundary(); + const defaultedOptions = client.defaultQueryOptions(options); + (_b = (_a12 = client.getDefaultOptions().queries) == null ? void 0 : _a12._experimental_beforeQuery) == null ? void 0 : _b.call( + _a12, + defaultedOptions + ); + defaultedOptions._optimisticResults = isRestoring ? "isRestoring" : "optimistic"; + ensureSuspenseTimers(defaultedOptions); + ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary); + useClearResetErrorBoundary(errorResetBoundary); + const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash); + const [observer] = React6.useState( + () => new Observer( + client, + defaultedOptions + ) + ); + const result = observer.getOptimisticResult(defaultedOptions); + React6.useSyncExternalStore( + React6.useCallback( + (onStoreChange) => { + const unsubscribe = isRestoring ? noop2 : observer.subscribe(notifyManager.batchCalls(onStoreChange)); + observer.updateResult(); + return unsubscribe; + }, + [observer, isRestoring] + ), + () => observer.getCurrentResult(), + () => observer.getCurrentResult() + ); + React6.useEffect(() => { + observer.setOptions(defaultedOptions, { listeners: false }); + }, [defaultedOptions, observer]); + if (shouldSuspend(defaultedOptions, result)) { + throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary); + } + if (getHasError({ + result, + errorResetBoundary, + throwOnError: defaultedOptions.throwOnError, + query: client.getQueryCache().get(defaultedOptions.queryHash) + })) { + throw result.error; + } + ; + (_d = (_c = client.getDefaultOptions().queries) == null ? void 0 : _c._experimental_afterQuery) == null ? void 0 : _d.call( + _c, + defaultedOptions, + result + ); + if (defaultedOptions.experimental_prefetchInRender && !isServer && willFetch(result, isRestoring)) { + const promise = isNewCacheEntry ? ( + // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted + fetchOptimistic(defaultedOptions, observer, errorResetBoundary) + ) : ( + // subscribe to the "cache promise" so that we can finalize the currentThenable once data comes in + (_e = client.getQueryCache().get(defaultedOptions.queryHash)) == null ? void 0 : _e.promise + ); + promise == null ? void 0 : promise.catch(noop2).finally(() => { + observer.updateResult(); + }); + } + return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result; +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/useQuery.js +function useQuery(options, queryClient) { + return useBaseQuery(options, QueryObserver, queryClient); +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/useSuspenseQuery.js +function useSuspenseQuery(options, queryClient) { + if (true) { + if (options.queryFn === skipToken) { + console.error("skipToken is not allowed for useSuspenseQuery"); + } + } + return useBaseQuery( + { + ...options, + enabled: true, + suspense: true, + throwOnError: defaultThrowOnError, + placeholderData: void 0 + }, + QueryObserver, + queryClient + ); +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/useSuspenseInfiniteQuery.js +function useSuspenseInfiniteQuery(options, queryClient) { + if (true) { + if (options.queryFn === skipToken) { + console.error("skipToken is not allowed for useSuspenseInfiniteQuery"); + } + } + return useBaseQuery( + { + ...options, + enabled: true, + suspense: true, + throwOnError: defaultThrowOnError + }, + InfiniteQueryObserver, + queryClient + ); +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/useSuspenseQueries.js +function useSuspenseQueries(options, queryClient) { + return useQueries( + { + ...options, + queries: options.queries.map((query) => { + if (true) { + if (query.queryFn === skipToken) { + console.error("skipToken is not allowed for useSuspenseQueries"); + } + } + return { + ...query, + suspense: true, + throwOnError: defaultThrowOnError, + enabled: true, + placeholderData: void 0 + }; + }) + }, + queryClient + ); +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/usePrefetchQuery.js +function usePrefetchQuery(options, queryClient) { + const client = useQueryClient(queryClient); + if (!client.getQueryState(options.queryKey)) { + client.prefetchQuery(options); + } +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/usePrefetchInfiniteQuery.js +function usePrefetchInfiniteQuery(options, queryClient) { + const client = useQueryClient(queryClient); + if (!client.getQueryState(options.queryKey)) { + client.prefetchInfiniteQuery(options); + } +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/queryOptions.js +function queryOptions(options) { + return options; +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/infiniteQueryOptions.js +function infiniteQueryOptions(options) { + return options; +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/HydrationBoundary.js +var React7 = __toESM(require_react(), 1); +var HydrationBoundary = ({ + children, + options = {}, + state, + queryClient +}) => { + const client = useQueryClient(queryClient); + const [hydrationQueue, setHydrationQueue] = React7.useState(); + const optionsRef = React7.useRef(options); + optionsRef.current = options; + React7.useMemo(() => { + if (state) { + if (typeof state !== "object") { + return; + } + const queryCache = client.getQueryCache(); + const queries = state.queries || []; + const newQueries = []; + const existingQueries = []; + for (const dehydratedQuery of queries) { + const existingQuery = queryCache.get(dehydratedQuery.queryHash); + if (!existingQuery) { + newQueries.push(dehydratedQuery); + } else { + const hydrationIsNewer = dehydratedQuery.state.dataUpdatedAt > existingQuery.state.dataUpdatedAt; + const queryAlreadyQueued = hydrationQueue == null ? void 0 : hydrationQueue.find( + (query) => query.queryHash === dehydratedQuery.queryHash + ); + if (hydrationIsNewer && (!queryAlreadyQueued || dehydratedQuery.state.dataUpdatedAt > queryAlreadyQueued.state.dataUpdatedAt)) { + existingQueries.push(dehydratedQuery); + } + } + } + if (newQueries.length > 0) { + hydrate(client, { queries: newQueries }, optionsRef.current); + } + if (existingQueries.length > 0) { + setHydrationQueue( + (prev) => prev ? [...prev, ...existingQueries] : existingQueries + ); + } + } + }, [client, hydrationQueue, state]); + React7.useEffect(() => { + if (hydrationQueue) { + hydrate(client, { queries: hydrationQueue }, optionsRef.current); + setHydrationQueue(void 0); + } + }, [client, hydrationQueue]); + return children; +}; + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/useIsFetching.js +var React8 = __toESM(require_react(), 1); +function useIsFetching(filters, queryClient) { + const client = useQueryClient(queryClient); + const queryCache = client.getQueryCache(); + return React8.useSyncExternalStore( + React8.useCallback( + (onStoreChange) => queryCache.subscribe(notifyManager.batchCalls(onStoreChange)), + [queryCache] + ), + () => client.isFetching(filters), + () => client.isFetching(filters) + ); +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/useMutationState.js +var React9 = __toESM(require_react(), 1); +function useIsMutating(filters, queryClient) { + const client = useQueryClient(queryClient); + return useMutationState( + { filters: { ...filters, status: "pending" } }, + client + ).length; +} +function getResult(mutationCache, options) { + return mutationCache.findAll(options.filters).map( + (mutation) => options.select ? options.select(mutation) : mutation.state + ); +} +function useMutationState(options = {}, queryClient) { + const mutationCache = useQueryClient(queryClient).getMutationCache(); + const optionsRef = React9.useRef(options); + const result = React9.useRef(null); + if (!result.current) { + result.current = getResult(mutationCache, options); + } + React9.useEffect(() => { + optionsRef.current = options; + }); + return React9.useSyncExternalStore( + React9.useCallback( + (onStoreChange) => mutationCache.subscribe(() => { + const nextResult = replaceEqualDeep( + result.current, + getResult(mutationCache, optionsRef.current) + ); + if (result.current !== nextResult) { + result.current = nextResult; + notifyManager.schedule(onStoreChange); + } + }), + [mutationCache] + ), + () => result.current, + () => result.current + ); +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/useMutation.js +var React10 = __toESM(require_react(), 1); +function useMutation(options, queryClient) { + const client = useQueryClient(queryClient); + const [observer] = React10.useState( + () => new MutationObserver( + client, + options + ) + ); + React10.useEffect(() => { + observer.setOptions(options); + }, [observer, options]); + const result = React10.useSyncExternalStore( + React10.useCallback( + (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)), + [observer] + ), + () => observer.getCurrentResult(), + () => observer.getCurrentResult() + ); + const mutate = React10.useCallback( + (variables, mutateOptions) => { + observer.mutate(variables, mutateOptions).catch(noop2); + }, + [observer] + ); + if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) { + throw result.error; + } + return { ...result, mutate, mutateAsync: result.mutate }; +} + +// ../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.js +function useInfiniteQuery(options, queryClient) { + return useBaseQuery( + options, + InfiniteQueryObserver, + queryClient + ); +} +export { + CancelledError, + HydrationBoundary, + InfiniteQueryObserver, + IsRestoringProvider, + Mutation, + MutationCache, + MutationObserver, + QueriesObserver, + Query, + QueryCache, + QueryClient, + QueryClientContext, + QueryClientProvider, + QueryErrorResetBoundary, + QueryObserver, + defaultShouldDehydrateMutation, + defaultShouldDehydrateQuery, + dehydrate, + focusManager, + hashKey, + hydrate, + infiniteQueryOptions, + isCancelledError, + isServer, + keepPreviousData, + matchMutation, + matchQuery, + notifyManager, + onlineManager, + queryOptions, + replaceEqualDeep, + skipToken, + useInfiniteQuery, + useIsFetching, + useIsMutating, + useIsRestoring, + useMutation, + useMutationState, + usePrefetchInfiniteQuery, + usePrefetchQuery, + useQueries, + useQuery, + useQueryClient, + useQueryErrorResetBoundary, + useSuspenseInfiniteQuery, + useSuspenseQueries, + useSuspenseQuery +}; +//# sourceMappingURL=@tanstack_react-query.js.map diff --git a/packages/user/.vite/deps/@tanstack_react-query.js.map b/packages/user/.vite/deps/@tanstack_react-query.js.map new file mode 100644 index 0000000..638666c --- /dev/null +++ b/packages/user/.vite/deps/@tanstack_react-query.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/subscribable.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/utils.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/focusManager.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/onlineManager.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/thenable.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/retryer.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/notifyManager.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/removable.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/query.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/queryCache.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/mutation.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/mutationCache.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/infiniteQueryBehavior.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/queryClient.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/queryObserver.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/queriesObserver.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/infiniteQueryObserver.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/mutationObserver.ts", "../../../../.yarn/cache/@tanstack-query-core-npm-5.62.7-35e8c8c5a8-d7aa83571b.zip/node_modules/@tanstack/query-core/src/hydration.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/useQueries.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/QueryClientProvider.tsx", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/isRestoring.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/QueryErrorResetBoundary.tsx", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/errorBoundaryUtils.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/utils.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/suspense.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/useBaseQuery.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/useQuery.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/useSuspenseQuery.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/useSuspenseInfiniteQuery.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/useSuspenseQueries.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/usePrefetchQuery.tsx", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/usePrefetchInfiniteQuery.tsx", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/queryOptions.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/infiniteQueryOptions.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/HydrationBoundary.tsx", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/useIsFetching.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/useMutationState.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/useMutation.ts", "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/src/useInfiniteQuery.ts"], + "sourcesContent": ["export class Subscribable {\n protected listeners = new Set()\n\n constructor() {\n this.subscribe = this.subscribe.bind(this)\n }\n\n subscribe(listener: TListener): () => void {\n this.listeners.add(listener)\n\n this.onSubscribe()\n\n return () => {\n this.listeners.delete(listener)\n this.onUnsubscribe()\n }\n }\n\n hasListeners(): boolean {\n return this.listeners.size > 0\n }\n\n protected onSubscribe(): void {\n // Do nothing\n }\n\n protected onUnsubscribe(): void {\n // Do nothing\n }\n}\n", "import type {\n DefaultError,\n Enabled,\n FetchStatus,\n MutationKey,\n MutationStatus,\n QueryFunction,\n QueryKey,\n QueryOptions,\n StaleTime,\n} from './types'\nimport type { Mutation } from './mutation'\nimport type { FetchOptions, Query } from './query'\n\n// TYPES\n\nexport interface QueryFilters<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: TQueryKey\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (\n mutation: Mutation,\n ) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: MutationKey\n /**\n * Filter by mutation status\n */\n status?: MutationStatus\n}\n\nexport type Updater = TOutput | ((input: TInput) => TOutput)\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\nexport const isServer = typeof window === 'undefined' || 'Deno' in globalThis\n\nexport function noop(): void\nexport function noop(): undefined\nexport function noop() {}\n\nexport function functionalUpdate(\n updater: Updater,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as (_: TInput) => TOutput)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function resolveStaleTime<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n staleTime: undefined | StaleTime,\n query: Query,\n): number | undefined {\n return typeof staleTime === 'function' ? staleTime(query) : staleTime\n}\n\nexport function resolveEnabled<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n enabled: undefined | Enabled,\n query: Query,\n): boolean | undefined {\n return typeof enabled === 'function' ? enabled(query) : enabled\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation,\n): boolean {\n const { exact, status, predicate, mutationKey } = filters\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (status && mutation.state.status !== status) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions(\n queryKey: TQueryKey,\n options?: Pick, 'queryKeyHashFn'>,\n): string {\n const hashFn = options?.queryKeyHashFn || hashKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashKey(queryKey: QueryKey | MutationKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean\nexport function partialMatchKey(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some((key) => !partialMatchKey(a[key], b[key]))\n }\n\n return false\n}\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep(a: unknown, b: T): T\nexport function replaceEqualDeep(a: any, b: any): any {\n if (a === b) {\n return a\n }\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (array || (isPlainObject(a) && isPlainObject(b))) {\n const aItems = array ? a : Object.keys(a)\n const aSize = aItems.length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? [] : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i]\n if (\n ((!array && aItems.includes(key)) || array) &&\n a[key] === undefined &&\n b[key] === undefined\n ) {\n copy[key] = undefined\n equalItems++\n } else {\n copy[key] = replaceEqualDeep(a[key], b[key])\n if (copy[key] === a[key] && a[key] !== undefined) {\n equalItems++\n }\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n }\n\n return b\n}\n\n/**\n * Shallow compare objects.\n */\nexport function shallowEqualObjects>(\n a: T,\n b: T | undefined,\n): boolean {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown) {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\n// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types\nexport function isPlainObject(o: any): o is Object {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has no constructor\n const ctor = o.constructor\n if (ctor === undefined) {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Handles Objects created by Object.create()\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function sleep(timeout: number): Promise {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout)\n })\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data) as TData\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== 'production') {\n try {\n return replaceEqualDeep(prevData, data)\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`,\n )\n }\n }\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n\nexport function keepPreviousData(\n previousData: T | undefined,\n): T | undefined {\n return previousData\n}\n\nexport function addToEnd(items: Array, item: T, max = 0): Array {\n const newItems = [...items, item]\n return max && newItems.length > max ? newItems.slice(1) : newItems\n}\n\nexport function addToStart(items: Array, item: T, max = 0): Array {\n const newItems = [item, ...items]\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems\n}\n\nexport const skipToken = Symbol()\nexport type SkipToken = typeof skipToken\n\nexport function ensureQueryFn<\n TQueryFnData = unknown,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: {\n queryFn?: QueryFunction | SkipToken\n queryHash?: string\n },\n fetchOptions?: FetchOptions,\n): QueryFunction {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`,\n )\n }\n }\n\n // if we attempt to retry a fetch that was triggered from an initialPromise\n // when we don't have a queryFn yet, we can't retry, so we just return the already rejected initialPromise\n // if an observer has already mounted, we will be able to retry with that queryFn\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise!\n }\n\n if (!options.queryFn || options.queryFn === skipToken) {\n return () =>\n Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`))\n }\n\n return options.queryFn\n}\n", "import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype Listener = (focused: boolean) => void\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable {\n #focused?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n const changed = this.#focused !== focused\n if (changed) {\n this.#focused = focused\n this.onFocus()\n }\n }\n\n onFocus(): void {\n const isFocused = this.isFocused()\n this.listeners.forEach((listener) => {\n listener(isFocused)\n })\n }\n\n isFocused(): boolean {\n if (typeof this.#focused === 'boolean') {\n return this.#focused\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden'\n }\n}\n\nexport const focusManager = new FocusManager()\n", "import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype Listener = (online: boolean) => void\ntype SetupFn = (setOnline: Listener) => (() => void) | undefined\n\nexport class OnlineManager extends Subscribable {\n #online = true\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true)\n const offlineListener = () => onOnline(false)\n // Listen to online\n window.addEventListener('online', onlineListener, false)\n window.addEventListener('offline', offlineListener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', onlineListener)\n window.removeEventListener('offline', offlineListener)\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup(this.setOnline.bind(this))\n }\n\n setOnline(online: boolean): void {\n const changed = this.#online !== online\n\n if (changed) {\n this.#online = online\n this.listeners.forEach((listener) => {\n listener(online)\n })\n }\n }\n\n isOnline(): boolean {\n return this.#online\n }\n}\n\nexport const onlineManager = new OnlineManager()\n", "/**\n * Thenable types which matches React's types for promises\n *\n * React seemingly uses `.status`, `.value` and `.reason` properties on a promises to optimistically unwrap data from promises\n *\n * @see https://github.com/facebook/react/blob/main/packages/shared/ReactTypes.js#L112-L138\n * @see https://github.com/facebook/react/blob/4f604941569d2e8947ce1460a0b2997e835f37b9/packages/react-debug-tools/src/ReactDebugHooks.js#L224-L227\n */\n\ninterface Fulfilled {\n status: 'fulfilled'\n value: T\n}\ninterface Rejected {\n status: 'rejected'\n reason: unknown\n}\ninterface Pending {\n status: 'pending'\n\n /**\n * Resolve the promise with a value.\n * Will remove the `resolve` and `reject` properties from the promise.\n */\n resolve: (value: T) => void\n /**\n * Reject the promise with a reason.\n * Will remove the `resolve` and `reject` properties from the promise.\n */\n reject: (reason: unknown) => void\n}\n\nexport type FulfilledThenable = Promise & Fulfilled\nexport type RejectedThenable = Promise & Rejected\nexport type PendingThenable = Promise & Pending\n\nexport type Thenable =\n | FulfilledThenable\n | RejectedThenable\n | PendingThenable\n\nexport function pendingThenable(): PendingThenable {\n let resolve: Pending['resolve']\n let reject: Pending['reject']\n // this could use `Promise.withResolvers()` in the future\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve\n reject = _reject\n }) as PendingThenable\n\n thenable.status = 'pending'\n thenable.catch(() => {\n // prevent unhandled rejection errors\n })\n\n function finalize(data: Fulfilled | Rejected) {\n Object.assign(thenable, data)\n\n // clear pending props props to avoid calling them twice\n delete (thenable as Partial>).resolve\n delete (thenable as Partial>).reject\n }\n\n thenable.resolve = (value) => {\n finalize({\n status: 'fulfilled',\n value,\n })\n\n resolve(value)\n }\n thenable.reject = (reason) => {\n finalize({\n status: 'rejected',\n reason,\n })\n\n reject(reason)\n }\n\n return thenable\n}\n", "import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { pendingThenable } from './thenable'\nimport { isServer, sleep } from './utils'\nimport type { CancelOptions, DefaultError, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig {\n fn: () => TData | Promise\n initialPromise?: Promise\n abort?: () => void\n onError?: (error: TError) => void\n onSuccess?: (data: TData) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue\n retryDelay?: RetryDelayValue\n networkMode: NetworkMode | undefined\n canRun: () => boolean\n}\n\nexport interface Retryer {\n promise: Promise\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise\n cancelRetry: () => void\n continueRetry: () => void\n canStart: () => boolean\n start: () => Promise\n}\n\nexport type RetryValue = boolean | number | ShouldRetryFunction\n\ntype ShouldRetryFunction = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue = number | RetryDelayFunction\n\ntype RetryDelayFunction = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError extends Error {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n super('CancelledError')\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer(\n config: RetryerConfig,\n): Retryer {\n let isRetryCancelled = false\n let failureCount = 0\n let isResolved = false\n let continueFn: ((value?: unknown) => void) | undefined\n\n const thenable = pendingThenable()\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions))\n\n config.abort?.()\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const canContinue = () =>\n focusManager.isFocused() &&\n (config.networkMode === 'always' || onlineManager.isOnline()) &&\n config.canRun()\n\n const canStart = () => canFetch(config.networkMode) && config.canRun()\n\n const resolve = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onSuccess?.(value)\n continueFn?.()\n thenable.resolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onError?.(value)\n continueFn?.()\n thenable.reject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved || canContinue()) {\n continueResolve(value)\n }\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return\n }\n\n let promiseOrValue: any\n\n // we can re-use config.initialPromise on the first call of run()\n const initialPromise =\n failureCount === 0 ? config.initialPromise : undefined\n\n // Execute query\n try {\n promiseOrValue = initialPromise ?? config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? (isServer ? 0 : 3)\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n return canContinue() ? undefined : pause()\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n return {\n promise: thenable,\n cancel,\n continue: () => {\n continueFn?.()\n return thenable\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n // Start loop\n if (canStart()) {\n run()\n } else {\n pause().then(run)\n }\n return thenable\n },\n }\n}\n", "// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\ntype BatchCallsCallback> = (...args: T) => void\n\ntype ScheduleFunction = (callback: () => void) => void\n\nexport function createNotifyManager() {\n let queue: Array = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n let scheduleFn: ScheduleFunction = (cb) => setTimeout(cb, 0)\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleFn(() => {\n notifyFn(callback)\n })\n }\n }\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n return {\n batch: (callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: >(\n callback: BatchCallsCallback,\n ): BatchCallsCallback => {\n return (...args) => {\n schedule(() => {\n callback(...args)\n })\n }\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn: NotifyFunction) => {\n notifyFn = fn\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n },\n setScheduler: (fn: ScheduleFunction) => {\n scheduleFn = fn\n },\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n", "import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ReturnType\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n", "import {\n ensureQueryFn,\n noop,\n replaceData,\n resolveEnabled,\n skipToken,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { canFetch, createRetryer, isCancelledError } from './retryer'\nimport { Removable } from './removable'\nimport type {\n CancelOptions,\n DefaultError,\n FetchStatus,\n InitialDataFunction,\n OmitKeyof,\n QueryFunction,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n} from './types'\nimport type { QueryCache } from './queryCache'\nimport type { QueryObserver } from './queryObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n cache: QueryCache\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions\n defaultOptions?: QueryOptions\n state?: QueryState\n}\n\nexport interface QueryState {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions\n queryKey: TQueryKey\n state: QueryState\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext,\n query: Query,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions {\n cancelRefetch?: boolean\n meta?: FetchMeta\n initialPromise?: Promise\n}\n\ninterface FailedAction {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction {\n type: 'setState'\n state: Partial>\n setStateOptions?: SetStateOptions\n}\n\nexport type Action =\n | ContinueAction\n | ErrorAction\n | FailedAction\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction\n | SuccessAction\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions\n state: QueryState\n\n #initialState: QueryState\n #revertState?: QueryState\n #cache: QueryCache\n #retryer?: Retryer\n observers: Array>\n #defaultOptions?: QueryOptions\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.#cache = config.cache\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = getDefaultState(this.options)\n this.state = config.state ?? this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n get promise(): Promise | undefined {\n return this.#retryer?.promise\n }\n\n setOptions(\n options?: QueryOptions,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n this.updateGcTime(this.options.gcTime)\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.#dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise {\n const promise = this.#retryer?.promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.#initialState)\n }\n\n isActive(): boolean {\n return this.observers.some(\n (observer) => resolveEnabled(observer.options.enabled, this) !== false,\n )\n }\n\n isDisabled(): boolean {\n if (this.getObserversCount() > 0) {\n return !this.isActive()\n }\n // if a query has no observers, it should still be considered disabled if it never attempted a fetch\n return (\n this.options.queryFn === skipToken ||\n this.state.dataUpdateCount + this.state.errorUpdateCount === 0\n )\n }\n\n isStale(): boolean {\n if (this.state.isInvalidated) {\n return true\n }\n\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale,\n )\n }\n\n return this.state.data === undefined\n }\n\n isStaleByTime(staleTime = 0): boolean {\n return (\n this.state.isInvalidated ||\n this.state.data === undefined ||\n !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n )\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver): void {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions,\n fetchOptions?: FetchOptions,\n ): Promise {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.data !== undefined && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetch\n this.cancel({ silent: true })\n } else if (this.#retryer) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer.continueRetry()\n // Return current promise if we are already fetching\n return this.#retryer.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n // Create fetch function\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions)\n\n // Create query function context\n const queryFnContext: OmitKeyof<\n QueryFunctionContext,\n 'signal'\n > = {\n queryKey: this.queryKey,\n meta: this.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n this.#abortSignalConsumed = false\n if (this.options.persister) {\n return this.options.persister(\n queryFn as QueryFunction,\n queryFnContext as QueryFunctionContext,\n this as unknown as Query,\n )\n }\n\n return queryFn(queryFnContext as QueryFunctionContext)\n }\n\n // Trigger behavior hook\n const context: OmitKeyof<\n FetchContext,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n\n this.options.behavior?.onFetch(\n context as FetchContext,\n this as unknown as Query,\n )\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query,\n )\n }\n\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n\n // Try to fetch the data\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise as\n | Promise\n | undefined,\n fn: context.fetchFn as () => Promise,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (data === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n try {\n this.setData(data)\n } catch (error) {\n onError(error as TError)\n return\n }\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query,\n )\n\n // Schedule query gc after fetching\n this.scheduleGc()\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true,\n })\n\n return this.#retryer.start()\n }\n\n #dispatch(action: Action): void {\n const reducer = (\n state: QueryState,\n ): QueryState => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null,\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error\n\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: 'idle' }\n }\n\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error',\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nexport function fetchState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n data: TData | undefined,\n options: QueryOptions,\n) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? 'fetching' : 'paused',\n ...(data === undefined &&\n ({\n error: null,\n status: 'pending',\n } as const)),\n } as const\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions,\n): QueryState {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction)()\n : options.initialData\n\n const hasData = data !== undefined\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? (options.initialDataUpdatedAt as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? (initialDataUpdatedAt ?? Date.now()) : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n", "import { hashQueryKeyByOptions, matchQuery } from './utils'\nimport { Query } from './query'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport type { QueryFilters } from './utils'\nimport type { Action, QueryState } from './query'\nimport type {\n DefaultError,\n NotifyEvent,\n QueryKey,\n QueryOptions,\n WithRequired,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n onError?: (\n error: DefaultError,\n query: Query,\n ) => void\n onSuccess?: (data: unknown, query: Query) => void\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n query: Query,\n ) => void\n}\n\ninterface NotifyEventQueryAdded extends NotifyEvent {\n type: 'added'\n query: Query\n}\n\ninterface NotifyEventQueryRemoved extends NotifyEvent {\n type: 'removed'\n query: Query\n}\n\ninterface NotifyEventQueryUpdated extends NotifyEvent {\n type: 'updated'\n query: Query\n action: Action\n}\n\ninterface NotifyEventQueryObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n query: Query\n observer: QueryObserver\n}\n\ninterface NotifyEventQueryObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n query: Query\n observer: QueryObserver\n}\n\ninterface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {\n type: 'observerResultsUpdated'\n query: Query\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n query: Query\n observer: QueryObserver\n}\n\nexport type QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\n | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\nexport interface QueryStore {\n has: (queryHash: string) => boolean\n set: (queryHash: string, query: Query) => void\n get: (queryHash: string) => Query | undefined\n delete: (queryHash: string) => void\n values: () => IterableIterator\n}\n\n// CLASS\n\nexport class QueryCache extends Subscribable {\n #queries: QueryStore\n\n constructor(public config: QueryCacheConfig = {}) {\n super()\n this.#queries = new Map()\n }\n\n build<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n client: QueryClient,\n options: WithRequired<\n QueryOptions,\n 'queryKey'\n >,\n state?: QueryState,\n ): Query {\n const queryKey = options.queryKey\n const queryHash =\n options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n let query = this.get(queryHash)\n\n if (!query) {\n query = new Query({\n cache: this,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n })\n this.add(query)\n }\n\n return query\n }\n\n add(query: Query): void {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query)\n\n this.notify({\n type: 'added',\n query,\n })\n }\n }\n\n remove(query: Query): void {\n const queryInMap = this.#queries.get(query.queryHash)\n\n if (queryInMap) {\n query.destroy()\n\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash)\n }\n\n this.notify({ type: 'removed', query })\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query)\n })\n })\n }\n\n get<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryHash: string,\n ): Query | undefined {\n return this.#queries.get(queryHash) as\n | Query\n | undefined\n }\n\n getAll(): Array {\n return [...this.#queries.values()]\n }\n\n find(\n filters: WithRequired,\n ): Query | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((query) =>\n matchQuery(defaultedFilters, query),\n ) as Query | undefined\n }\n\n findAll(filters: QueryFilters = {}): Array {\n const queries = this.getAll()\n return Object.keys(filters).length > 0\n ? queries.filter((query) => matchQuery(filters, query))\n : queries\n }\n\n notify(event: QueryCacheNotifyEvent): void {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n onFocus(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus()\n })\n })\n }\n\n onOnline(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline()\n })\n })\n }\n}\n", "import { notifyManager } from './notifyManager'\nimport { Removable } from './removable'\nimport { createRetryer } from './retryer'\nimport type {\n DefaultError,\n MutationMeta,\n MutationOptions,\n MutationStatus,\n} from './types'\nimport type { MutationCache } from './mutationCache'\nimport type { MutationObserver } from './mutationObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface MutationConfig {\n mutationId: number\n mutationCache: MutationCache\n options: MutationOptions\n state?: MutationState\n}\n\nexport interface MutationState<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> {\n context: TContext | undefined\n data: TData | undefined\n error: TError | null\n failureCount: number\n failureReason: TError | null\n isPaused: boolean\n status: MutationStatus\n variables: TVariables | undefined\n submittedAt: number\n}\n\ninterface FailedAction {\n type: 'failed'\n failureCount: number\n error: TError | null\n}\n\ninterface PendingAction {\n type: 'pending'\n isPaused: boolean\n variables?: TVariables\n context?: TContext\n}\n\ninterface SuccessAction {\n type: 'success'\n data: TData\n}\n\ninterface ErrorAction {\n type: 'error'\n error: TError\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\nexport type Action =\n | ContinueAction\n | ErrorAction\n | FailedAction\n | PendingAction\n | PauseAction\n | SuccessAction\n\n// CLASS\n\nexport class Mutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> extends Removable {\n state: MutationState\n options!: MutationOptions\n readonly mutationId: number\n\n #observers: Array>\n #mutationCache: MutationCache\n #retryer?: Retryer\n\n constructor(config: MutationConfig) {\n super()\n\n this.mutationId = config.mutationId\n this.#mutationCache = config.mutationCache\n this.#observers = []\n this.state = config.state || getDefaultState()\n\n this.setOptions(config.options)\n this.scheduleGc()\n }\n\n setOptions(\n options: MutationOptions,\n ): void {\n this.options = options\n\n this.updateGcTime(this.options.gcTime)\n }\n\n get meta(): MutationMeta | undefined {\n return this.options.meta\n }\n\n addObserver(observer: MutationObserver): void {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer)\n\n // Stop the mutation from being garbage collected\n this.clearGcTimeout()\n\n this.#mutationCache.notify({\n type: 'observerAdded',\n mutation: this,\n observer,\n })\n }\n }\n\n removeObserver(observer: MutationObserver): void {\n this.#observers = this.#observers.filter((x) => x !== observer)\n\n this.scheduleGc()\n\n this.#mutationCache.notify({\n type: 'observerRemoved',\n mutation: this,\n observer,\n })\n }\n\n protected optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === 'pending') {\n this.scheduleGc()\n } else {\n this.#mutationCache.remove(this)\n }\n }\n }\n\n continue(): Promise {\n return (\n this.#retryer?.continue() ??\n // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables!)\n )\n }\n\n async execute(variables: TVariables): Promise {\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error('No mutationFn found'))\n }\n return this.options.mutationFn(variables)\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this),\n })\n\n const restored = this.state.status === 'pending'\n const isPaused = !this.#retryer.canStart()\n\n try {\n if (!restored) {\n this.#dispatch({ type: 'pending', variables, isPaused })\n // Notify cache callback\n await this.#mutationCache.config.onMutate?.(\n variables,\n this as Mutation,\n )\n const context = await this.options.onMutate?.(variables)\n if (context !== this.state.context) {\n this.#dispatch({\n type: 'pending',\n context,\n variables,\n isPaused,\n })\n }\n }\n const data = await this.#retryer.start()\n\n // Notify cache callback\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSuccess?.(data, variables, this.state.context!)\n\n // Notify cache callback\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSettled?.(data, null, variables, this.state.context)\n\n this.#dispatch({ type: 'success', data })\n return data\n } catch (error) {\n try {\n // Notify cache callback\n await this.#mutationCache.config.onError?.(\n error as any,\n variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onError?.(\n error as TError,\n variables,\n this.state.context,\n )\n\n // Notify cache callback\n await this.#mutationCache.config.onSettled?.(\n undefined,\n error as any,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSettled?.(\n undefined,\n error as TError,\n variables,\n this.state.context,\n )\n throw error\n } finally {\n this.#dispatch({ type: 'error', error: error as TError })\n }\n } finally {\n this.#mutationCache.runNext(this)\n }\n }\n\n #dispatch(action: Action): void {\n const reducer = (\n state: MutationState,\n ): MutationState => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n isPaused: true,\n }\n case 'continue':\n return {\n ...state,\n isPaused: false,\n }\n case 'pending':\n return {\n ...state,\n context: action.context,\n data: undefined,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: 'pending',\n variables: action.variables,\n submittedAt: Date.now(),\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: 'success',\n isPaused: false,\n }\n case 'error':\n return {\n ...state,\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: 'error',\n }\n }\n }\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action)\n })\n this.#mutationCache.notify({\n mutation: this,\n type: 'updated',\n action,\n })\n })\n }\n}\n\nexport function getDefaultState<\n TData,\n TError,\n TVariables,\n TContext,\n>(): MutationState {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: 'idle',\n variables: undefined,\n submittedAt: 0,\n }\n}\n", "import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { DefaultError, MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation\n action: Action\n}\n\nexport type MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable {\n #mutations: Map>>\n #mutationId: number\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = new Map()\n this.#mutationId = Date.now()\n }\n\n build(\n client: QueryClient,\n options: MutationOptions,\n state?: MutationState,\n ): Mutation {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation): void {\n const scope = scopeFor(mutation)\n const mutations = this.#mutations.get(scope) ?? []\n mutations.push(mutation)\n this.#mutations.set(scope, mutations)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation): void {\n const scope = scopeFor(mutation)\n if (this.#mutations.has(scope)) {\n const mutations = this.#mutations\n .get(scope)\n ?.filter((x) => x !== mutation)\n if (mutations) {\n if (mutations.length === 0) {\n this.#mutations.delete(scope)\n } else {\n this.#mutations.set(scope, mutations)\n }\n }\n }\n\n this.notify({ type: 'removed', mutation })\n }\n\n canRun(mutation: Mutation): boolean {\n const firstPendingMutation = this.#mutations\n .get(scopeFor(mutation))\n ?.find((m) => m.state.status === 'pending')\n\n // we can run if there is no current pending mutation (start use-case)\n // or if WE are the first pending mutation (continue use-case)\n return !firstPendingMutation || firstPendingMutation === mutation\n }\n\n runNext(mutation: Mutation): Promise {\n const foundMutation = this.#mutations\n .get(scopeFor(mutation))\n ?.find((m) => m !== mutation && m.state.isPaused)\n\n return foundMutation?.continue() ?? Promise.resolve()\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Array {\n return [...this.#mutations.values()].flat()\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n ) as Mutation | undefined\n }\n\n findAll(filters: MutationFilters = {}): Array {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation))\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused)\n\n return notifyManager.batch(() =>\n Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop)),\n ),\n )\n }\n}\n\nfunction scopeFor(mutation: Mutation) {\n return mutation.options.scope?.id ?? String(mutation.mutationId)\n}\n", "import { addToEnd, addToStart, ensureQueryFn } from './utils'\nimport type { QueryBehavior } from './query'\nimport type {\n InfiniteData,\n InfiniteQueryPageParamsOptions,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n} from './types'\n\nexport function infiniteQueryBehavior(\n pages?: number,\n): QueryBehavior> {\n return {\n onFetch: (context, query) => {\n const options = context.options as InfiniteQueryPageParamsOptions\n const direction = context.fetchOptions?.meta?.fetchMore?.direction\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let result: InfiniteData = { pages: [], pageParams: [] }\n let currentPage = 0\n\n const fetchFn = async () => {\n let cancelled = false\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true\n } else {\n context.signal.addEventListener('abort', () => {\n cancelled = true\n })\n }\n return context.signal\n },\n })\n }\n\n const queryFn = ensureQueryFn(context.options, context.fetchOptions)\n\n // Create function to fetch a page\n const fetchPage = async (\n data: InfiniteData,\n param: unknown,\n previous?: boolean,\n ): Promise> => {\n if (cancelled) {\n return Promise.reject()\n }\n\n if (param == null && data.pages.length) {\n return Promise.resolve(data)\n }\n\n const queryFnContext: OmitKeyof<\n QueryFunctionContext,\n 'signal'\n > = {\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? 'backward' : 'forward',\n meta: context.options.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n const page = await queryFn(\n queryFnContext as QueryFunctionContext,\n )\n\n const { maxPages } = context.options\n const addTo = previous ? addToStart : addToEnd\n\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages),\n }\n }\n\n // fetch next / previous page?\n if (direction && oldPages.length) {\n const previous = direction === 'backward'\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams,\n }\n const param = pageParamFn(options, oldData)\n\n result = await fetchPage(oldData, param, previous)\n } else {\n const remainingPages = pages ?? oldPages.length\n\n // Fetch all pages\n do {\n const param =\n currentPage === 0\n ? (oldPageParams[0] ?? options.initialPageParam)\n : getNextPageParam(options, result)\n if (currentPage > 0 && param == null) {\n break\n }\n result = await fetchPage(result, param)\n currentPage++\n } while (currentPage < remainingPages)\n }\n\n return result\n }\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn as any,\n {\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal,\n },\n query,\n )\n }\n } else {\n context.fetchFn = fetchFn\n }\n },\n }\n}\n\nfunction getNextPageParam(\n options: InfiniteQueryPageParamsOptions,\n { pages, pageParams }: InfiniteData,\n): unknown | undefined {\n const lastIndex = pages.length - 1\n return pages.length > 0\n ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams,\n )\n : undefined\n}\n\nfunction getPreviousPageParam(\n options: InfiniteQueryPageParamsOptions,\n { pages, pageParams }: InfiniteData,\n): unknown | undefined {\n return pages.length > 0\n ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams)\n : undefined\n}\n\n/**\n * Checks if there is a next page.\n */\nexport function hasNextPage(\n options: InfiniteQueryPageParamsOptions,\n data?: InfiniteData,\n): boolean {\n if (!data) return false\n return getNextPageParam(options, data) != null\n}\n\n/**\n * Checks if there is a previous page.\n */\nexport function hasPreviousPage(\n options: InfiniteQueryPageParamsOptions,\n data?: InfiniteData,\n): boolean {\n if (!data || !options.getPreviousPageParam) return false\n return getPreviousPageParam(options, data) != null\n}\n", "import {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport type {\n CancelOptions,\n DataTag,\n DefaultError,\n DefaultOptions,\n DefaultedQueryObserverOptions,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n NoInfer,\n OmitKeyof,\n QueryClientConfig,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n UnsetMarker,\n} from './types'\nimport type { QueryState } from './query'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: OmitKeyof, 'queryKey'>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions\n}\n\n// CLASS\n\nexport class QueryClient {\n #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map\n #mutationDefaults: Map\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching<\n TQueryFilters extends QueryFilters = QueryFilters,\n >(filters?: TQueryFilters): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating<\n TMutationFilters extends MutationFilters = MutationFilters,\n >(filters?: TMutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n getQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = TTaggedQueryKey extends DataTag<\n unknown,\n infer TaggedValue,\n unknown\n >\n ? TaggedValue\n : TQueryFnData,\n >(queryKey: TTaggedQueryKey): TInferredQueryFnData | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n\n return this.#queryCache.get(options.queryHash)?.state.data as\n | TInferredQueryFnData\n | undefined\n }\n\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions,\n ): Promise {\n const defaultedOptions = this.defaultQueryOptions(options)\n const query = this.#queryCache.build(this, defaultedOptions)\n const cachedData = query.state.data\n\n if (cachedData === undefined) {\n return this.fetchQuery(options)\n }\n\n if (\n options.revalidateIfStale &&\n query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))\n ) {\n void this.prefetchQuery(defaultedOptions)\n }\n\n return Promise.resolve(cachedData)\n }\n\n getQueriesData<\n TQueryFnData = unknown,\n TQueryFilters extends QueryFilters<\n any,\n any,\n any,\n any\n > = QueryFilters,\n TInferredQueryFnData = TQueryFilters extends QueryFilters<\n infer TData,\n any,\n any,\n any\n >\n ? TData\n : TQueryFnData,\n >(\n filters: TQueryFilters,\n ): Array<[QueryKey, TInferredQueryFnData | undefined]> {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data as TInferredQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = TTaggedQueryKey extends DataTag<\n unknown,\n infer TaggedValue,\n unknown\n >\n ? TaggedValue\n : TQueryFnData,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer | undefined,\n NoInfer | undefined\n >,\n options?: SetDataOptions,\n ): TInferredQueryFnData | undefined {\n const defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n const query = this.#queryCache.get(\n defaultedOptions.queryHash,\n )\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (data === undefined) {\n return undefined\n }\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<\n TQueryFnData,\n TQueryFilters extends QueryFilters<\n any,\n any,\n any,\n any\n > = QueryFilters,\n TInferredQueryFnData = TQueryFilters extends QueryFilters<\n infer TData,\n any,\n any,\n any\n >\n ? TData\n : TQueryFnData,\n >(\n filters: TQueryFilters,\n updater: Updater<\n NoInfer | undefined,\n NoInfer | undefined\n >,\n options?: SetDataOptions,\n ): Array<[QueryKey, TInferredQueryFnData | undefined]> {\n return notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = TTaggedQueryKey extends DataTag<\n unknown,\n infer TaggedValue,\n unknown\n >\n ? TaggedValue\n : TQueryFnData,\n TInferredError = TTaggedQueryKey extends DataTag<\n unknown,\n unknown,\n infer TaggedError\n >\n ? TaggedError extends UnsetMarker\n ? TError\n : TaggedError\n : TError,\n >(\n queryKey: TTaggedQueryKey,\n ): QueryState | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get(\n options.queryHash,\n )?.state\n }\n\n removeQueries<\n TQueryFilters extends QueryFilters = QueryFilters,\n >(filters?: TQueryFilters): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<\n TQueryFilters extends QueryFilters = QueryFilters,\n >(filters?: TQueryFilters, options?: ResetOptions): Promise {\n const queryCache = this.#queryCache\n\n const refetchFilters: RefetchQueryFilters = {\n type: 'active',\n ...filters,\n }\n\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n cancelQueries<\n TQueryFilters extends QueryFilters = QueryFilters,\n >(filters?: TQueryFilters, cancelOptions: CancelOptions = {}): Promise {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<\n TInvalidateQueryFilters extends InvalidateQueryFilters<\n any,\n any,\n any,\n any\n > = InvalidateQueryFilters,\n >(\n filters?: TInvalidateQueryFilters,\n options: InvalidateOptions = {},\n ): Promise {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters?.refetchType === 'none') {\n return Promise.resolve()\n }\n const refetchFilters: RefetchQueryFilters = {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? 'active',\n }\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n refetchQueries<\n TRefetchQueryFilters extends RefetchQueryFilters<\n any,\n any,\n any,\n any\n > = RefetchQueryFilters,\n >(\n filters?: TRefetchQueryFilters,\n options: RefetchOptions = {},\n ): Promise {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query),\n )\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions,\n ): Promise {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise> {\n options.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n TPageParam\n >(options.pages)\n return this.fetchQuery(options as any)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n ensureInfiniteQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: EnsureInfiniteQueryDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise> {\n options.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n TPageParam\n >(options.pages)\n\n return this.ensureQueryData(options as any)\n }\n\n resumePausedMutations(): Promise {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations()\n }\n return Promise.resolve()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.#defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.#defaultOptions = options\n }\n\n setQueryDefaults<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: QueryKey,\n options: Partial<\n OmitKeyof<\n QueryObserverOptions,\n 'queryKey'\n >\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): OmitKeyof, 'queryKey'> {\n const defaults = [...this.#queryDefaults.values()]\n\n const result: OmitKeyof<\n QueryObserverOptions,\n 'queryKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n return result\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n >(\n mutationKey: MutationKey,\n options: OmitKeyof<\n MutationObserverOptions,\n 'mutationKey'\n >,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): MutationObserverOptions {\n const defaults = [...this.#mutationDefaults.values()]\n\n let result: MutationObserverOptions = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n result = { ...result, ...queryDefault.defaultOptions }\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (defaultedOptions.refetchOnReconnect === undefined) {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (defaultedOptions.throwOnError === undefined) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense\n }\n\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = 'offlineFirst'\n }\n\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.#defaultOptions.mutations,\n ...(options?.mutationKey &&\n this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.#queryCache.clear()\n this.#mutationCache.clear()\n }\n}\n", "import { focusManager } from './focusManager'\nimport { notifyManager } from './notifyManager'\nimport { fetchState } from './query'\nimport { Subscribable } from './subscribable'\nimport { pendingThenable } from './thenable'\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport type { FetchOptions, Query, QueryState } from './query'\nimport type { QueryClient } from './queryClient'\nimport type { PendingThenable, Thenable } from './thenable'\nimport type {\n DefaultError,\n DefaultedQueryObserverOptions,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n QueryOptions,\n RefetchOptions,\n} from './types'\n\ntype QueryObserverListener = (\n result: QueryObserverResult,\n) => void\n\nexport interface NotifyOptions {\n listeners?: boolean\n}\n\ninterface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable> {\n #client: QueryClient\n #currentQuery: Query = undefined!\n #currentQueryInitialState: QueryState = undefined!\n #currentResult: QueryObserverResult = undefined!\n #currentResultState?: QueryState\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #currentThenable: Thenable\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query\n #staleTimeoutId?: ReturnType\n #refetchIntervalId?: ReturnType\n #currentRefetchInterval?: number | false\n #trackedProps = new Set()\n\n constructor(\n client: QueryClient,\n public options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.#client = client\n this.#selectError = null\n this.#currentThenable = pendingThenable()\n if (!this.options.experimental_prefetchInRender) {\n this.#currentThenable.reject(\n new Error('experimental_prefetchInRender feature flag is not enabled'),\n )\n }\n\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n } else {\n this.updateResult()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (\n this.options.enabled !== undefined &&\n typeof this.options.enabled !== 'boolean' &&\n typeof this.options.enabled !== 'function' &&\n typeof resolveEnabled(this.options.enabled, this.#currentQuery) !==\n 'boolean'\n ) {\n throw new Error(\n 'Expected enabled to be a boolean or a callback that returns a boolean',\n )\n }\n\n this.#updateQuery()\n this.#currentQuery.setOptions(this.options)\n\n if (\n prevOptions._defaulted &&\n !shallowEqualObjects(this.options, prevOptions)\n ) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.updateResult(notifyOptions)\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveEnabled(this.options.enabled, this.#currentQuery) !==\n resolveEnabled(prevOptions.enabled, this.#currentQuery) ||\n resolveStaleTime(this.options.staleTime, this.#currentQuery) !==\n resolveStaleTime(prevOptions.staleTime, this.#currentQuery))\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveEnabled(this.options.enabled, this.#currentQuery) !==\n resolveEnabled(prevOptions.enabled, this.#currentQuery) ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n const result = this.createResult(query, options)\n\n if (shouldAssignObserverCurrentProperties(this, result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult every time\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult,\n onPropTracked?: (key: keyof QueryObserverResult) => void,\n ): QueryObserverResult {\n const trackedResult = {} as QueryObserverResult\n\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.trackProp(key as keyof QueryObserverResult)\n onPropTracked?.(key as keyof QueryObserverResult)\n return result[key as keyof QueryObserverResult]\n },\n })\n })\n\n return trackedResult\n }\n\n trackProp(key: keyof QueryObserverResult) {\n this.#trackedProps.add(key)\n }\n\n getCurrentQuery(): Query {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n\n return query.fetch().then(() => this.createResult(query, defaultedOptions))\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: Omit,\n ): Promise {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise = this.#currentQuery.fetch(\n this.options as QueryOptions,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery,\n )\n\n if (isServer || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return\n }\n\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime)\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.#currentQuery)\n : this.options.refetchInterval) ?? false\n )\n }\n\n #updateRefetchInterval(nextInterval: number | false): void {\n this.#clearRefetchInterval()\n\n this.#currentRefetchInterval = nextInterval\n\n if (\n isServer ||\n resolveEnabled(this.options.enabled, this.#currentQuery) === false ||\n !isValidTimeout(this.#currentRefetchInterval) ||\n this.#currentRefetchInterval === 0\n ) {\n return\n }\n\n this.#refetchIntervalId = setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.#executeFetch()\n }\n }, this.#currentRefetchInterval)\n }\n\n #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId) {\n clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #clearRefetchInterval(): void {\n if (this.#refetchIntervalId) {\n clearInterval(this.#refetchIntervalId)\n this.#refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult {\n const prevQuery = this.#currentQuery\n const prevOptions = this.options\n const prevResult = this.#currentResult as\n | QueryObserverResult\n | undefined\n const prevResultState = this.#currentResultState\n const prevResultOptions = this.#currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.#currentQueryInitialState\n\n const { state } = query\n let newState = { ...state }\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options),\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n newState.fetchStatus = 'idle'\n }\n }\n\n let { error, errorUpdatedAt, status } = newState\n\n // Select data if needed\n if (options.select && newState.data !== undefined) {\n // Memoize select result\n if (\n prevResult &&\n newState.data === prevResultState?.data &&\n options.select === this.#selectFn\n ) {\n data = this.#selectResult\n } else {\n try {\n this.#selectFn = options.select\n data = options.select(newState.data)\n data = replaceData(prevResult?.data, data, options)\n this.#selectResult = data\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n }\n // Use query data\n else {\n data = newState.data as unknown as TData\n }\n\n // Show placeholder data if needed\n if (\n options.placeholderData !== undefined &&\n data === undefined &&\n status === 'pending'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n } else {\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (\n options.placeholderData as unknown as PlaceholderDataFunction\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\n : options.placeholderData\n if (options.select && placeholderData !== undefined) {\n try {\n placeholderData = options.select(placeholderData)\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n }\n\n if (placeholderData !== undefined) {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) as TData\n isPlaceholderData = true\n }\n }\n\n if (this.#selectError) {\n error = this.#selectError as any\n data = this.#selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n }\n\n const isFetching = newState.fetchStatus === 'fetching'\n const isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n const hasData = data !== undefined\n\n const result: QueryObserverBaseResult = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\n isFetchedAfterMount:\n newState.dataUpdateCount > queryInitialState.dataUpdateCount ||\n newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n }\n\n const nextResult = result as QueryObserverResult\n\n if (this.options.experimental_prefetchInRender) {\n const finalizeThenableIfPossible = (thenable: PendingThenable) => {\n if (nextResult.status === 'error') {\n thenable.reject(nextResult.error)\n } else if (nextResult.data !== undefined) {\n thenable.resolve(nextResult.data)\n }\n }\n\n /**\n * Create a new thenable and result promise when the results have changed\n */\n const recreateThenable = () => {\n const pending =\n (this.#currentThenable =\n nextResult.promise =\n pendingThenable())\n\n finalizeThenableIfPossible(pending)\n }\n\n const prevThenable = this.#currentThenable\n switch (prevThenable.status) {\n case 'pending':\n // Finalize the previous thenable if it was pending\n // and we are still observing the same query\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable)\n }\n break\n case 'fulfilled':\n if (\n nextResult.status === 'error' ||\n nextResult.data !== prevThenable.value\n ) {\n recreateThenable()\n }\n break\n case 'rejected':\n if (\n nextResult.status !== 'error' ||\n nextResult.error !== prevThenable.reason\n ) {\n recreateThenable()\n }\n break\n }\n }\n\n return nextResult\n }\n\n updateResult(notifyOptions?: NotifyOptions): void {\n const prevResult = this.#currentResult as\n | QueryObserverResult\n | undefined\n\n const nextResult = this.createResult(this.#currentQuery, this.options)\n\n this.#currentResultState = this.#currentQuery.state\n this.#currentResultOptions = this.options\n\n if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.#currentResult = nextResult\n\n // Determine which callbacks to trigger\n const defaultNotifyOptions: NotifyOptions = {}\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n const notifyOnChangePropsValue =\n typeof notifyOnChangeProps === 'function'\n ? notifyOnChangeProps()\n : notifyOnChangeProps\n\n if (\n notifyOnChangePropsValue === 'all' ||\n (!notifyOnChangePropsValue && !this.#trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps,\n )\n\n if (this.options.throwOnError) {\n includedProps.add('error')\n }\n\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey]\n\n return changed && includedProps.has(typedKey)\n })\n }\n\n if (notifyOptions?.listeners !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true\n }\n\n this.#notify({ ...defaultNotifyOptions, ...notifyOptions })\n }\n\n #updateQuery(): void {\n const query = this.#client.getQueryCache().build(this.#client, this.options)\n\n if (query === this.#currentQuery) {\n return\n }\n\n const prevQuery = this.#currentQuery as\n | Query\n | undefined\n this.#currentQuery = query\n this.#currentQueryInitialState = query.state\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n\n #notify(notifyOptions: NotifyOptions): void {\n notifyManager.batch(() => {\n // First, trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query,\n options: QueryObserverOptions,\n): boolean {\n return (\n resolveEnabled(options.enabled, query) !== false &&\n query.state.data === undefined &&\n !(query.state.status === 'error' && options.retryOnMount === false)\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query,\n options: QueryObserverOptions,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.data !== undefined &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query,\n options: QueryObserverOptions,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (resolveEnabled(options.enabled, query) !== false) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query,\n prevQuery: Query,\n options: QueryObserverOptions,\n prevOptions: QueryObserverOptions,\n): boolean {\n return (\n (query !== prevQuery ||\n resolveEnabled(prevOptions.enabled, query) === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query,\n options: QueryObserverOptions,\n): boolean {\n return (\n resolveEnabled(options.enabled, query) !== false &&\n query.isStaleByTime(resolveStaleTime(options.staleTime, query))\n )\n}\n\n// this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\nfunction shouldAssignObserverCurrentProperties<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n observer: QueryObserver,\n optimisticResult: QueryObserverResult,\n) {\n // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true\n }\n\n // basically, just keep previous properties if nothing changed\n return false\n}\n", "import { notifyManager } from './notifyManager'\nimport { QueryObserver } from './queryObserver'\nimport { Subscribable } from './subscribable'\nimport { replaceEqualDeep } from './utils'\nimport type {\n DefaultedQueryObserverOptions,\n QueryObserverOptions,\n QueryObserverResult,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions } from './queryObserver'\n\nfunction difference(array1: Array, array2: Array): Array {\n return array1.filter((x) => !array2.includes(x))\n}\n\nfunction replaceAt(array: Array, index: number, value: T): Array {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\ntype QueriesObserverListener = (result: Array) => void\n\ntype CombineFn = (\n result: Array,\n) => TCombinedResult\n\nexport interface QueriesObserverOptions<\n TCombinedResult = Array,\n> {\n combine?: CombineFn\n}\n\nexport class QueriesObserver<\n TCombinedResult = Array,\n> extends Subscribable {\n #client: QueryClient\n #result!: Array\n #queries: Array\n #options?: QueriesObserverOptions\n #observers: Array\n #combinedResult?: TCombinedResult\n #lastCombine?: CombineFn\n #lastResult?: Array\n\n constructor(\n client: QueryClient,\n queries: Array>,\n options?: QueriesObserverOptions,\n ) {\n super()\n\n this.#client = client\n this.#options = options\n this.#queries = []\n this.#observers = []\n this.#result = []\n\n this.setQueries(queries)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.listeners.size) {\n this.destroy()\n }\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#observers.forEach((observer) => {\n observer.destroy()\n })\n }\n\n setQueries(\n queries: Array,\n options?: QueriesObserverOptions,\n notifyOptions?: NotifyOptions,\n ): void {\n this.#queries = queries\n this.#options = options\n\n if (process.env.NODE_ENV !== 'production') {\n const queryHashes = queries.map((query) => query.queryHash)\n if (new Set(queryHashes).size !== queryHashes.length) {\n console.warn(\n '[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.',\n )\n }\n }\n\n notifyManager.batch(() => {\n const prevObservers = this.#observers\n\n const newObserverMatches = this.#findMatchingObservers(this.#queries)\n\n // set options for the new observers to notify of changes\n newObserverMatches.forEach((match) =>\n match.observer.setOptions(match.defaultedQueryOptions, notifyOptions),\n )\n\n const newObservers = newObserverMatches.map((match) => match.observer)\n const newResult = newObservers.map((observer) =>\n observer.getCurrentResult(),\n )\n\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index],\n )\n\n if (prevObservers.length === newObservers.length && !hasIndexChange) {\n return\n }\n\n this.#observers = newObservers\n this.#result = newResult\n\n if (!this.hasListeners()) {\n return\n }\n\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy()\n })\n\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result)\n })\n })\n\n this.#notify()\n })\n }\n\n getCurrentResult(): Array {\n return this.#result\n }\n\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery())\n }\n\n getObservers() {\n return this.#observers\n }\n\n getOptimisticResult(\n queries: Array,\n combine: CombineFn | undefined,\n ): [\n rawResult: Array,\n combineResult: (r?: Array) => TCombinedResult,\n trackResult: () => Array,\n ] {\n const matches = this.#findMatchingObservers(queries)\n const result = matches.map((match) =>\n match.observer.getOptimisticResult(match.defaultedQueryOptions),\n )\n\n return [\n result,\n (r?: Array) => {\n return this.#combineResult(r ?? result, combine)\n },\n () => {\n return this.#trackResult(result, queries)\n },\n ]\n }\n\n #trackResult(\n result: Array,\n queries: Array,\n ) {\n const matches = this.#findMatchingObservers(queries)\n\n return matches.map((match, index) => {\n const observerResult = result[index]!\n return !match.defaultedQueryOptions.notifyOnChangeProps\n ? match.observer.trackResult(observerResult, (accessedProp) => {\n // track property on all observers to ensure proper (synchronized) tracking (#7000)\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp)\n })\n })\n : observerResult\n })\n }\n\n #combineResult(\n input: Array,\n combine: CombineFn | undefined,\n ): TCombinedResult {\n if (combine) {\n if (\n !this.#combinedResult ||\n this.#result !== this.#lastResult ||\n combine !== this.#lastCombine\n ) {\n this.#lastCombine = combine\n this.#lastResult = this.#result\n this.#combinedResult = replaceEqualDeep(\n this.#combinedResult,\n combine(input),\n )\n }\n\n return this.#combinedResult\n }\n return input as any\n }\n\n #findMatchingObservers(\n queries: Array,\n ): Array {\n const prevObserversMap = new Map(\n this.#observers.map((observer) => [observer.options.queryHash, observer]),\n )\n\n const observers: Array = []\n\n queries.forEach((options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n const match = prevObserversMap.get(defaultedOptions.queryHash)\n if (match) {\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer: match,\n })\n } else {\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer: new QueryObserver(this.#client, defaultedOptions),\n })\n }\n })\n\n return observers\n }\n\n #onUpdate(observer: QueryObserver, result: QueryObserverResult): void {\n const index = this.#observers.indexOf(observer)\n if (index !== -1) {\n this.#result = replaceAt(this.#result, index, result)\n this.#notify()\n }\n }\n\n #notify(): void {\n if (this.hasListeners()) {\n const previousResult = this.#combinedResult\n const newResult = this.#combineResult(\n this.#trackResult(this.#result, this.#queries),\n this.#options?.combine,\n )\n\n if (previousResult !== newResult) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result)\n })\n })\n }\n }\n }\n}\n\ntype QueryObserverMatch = {\n defaultedQueryOptions: DefaultedQueryObserverOptions\n observer: QueryObserver\n}\n", "import { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Subscribable } from './subscribable'\nimport type {\n DefaultError,\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverBaseResult,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions } from './queryObserver'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener = (\n result: InfiniteQueryObserverResult,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = InfiniteData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData,\n TQueryKey\n> {\n // Type override\n subscribe!: Subscribable<\n InfiniteQueryObserverListener\n >['subscribe']\n\n // Type override\n getCurrentResult!: ReplaceReturnType<\n QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData,\n TQueryKey\n >['getCurrentResult'],\n InfiniteQueryObserverResult\n >\n\n // Type override\n protected fetch!: ReplaceReturnType<\n QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData,\n TQueryKey\n >['fetch'],\n Promise>\n >\n\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ) {\n super(client, options)\n }\n\n protected bindMethods(): void {\n super.bindMethods()\n this.fetchNextPage = this.fetchNextPage.bind(this)\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this)\n }\n\n setOptions(\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n super.setOptions(\n {\n ...options,\n behavior: infiniteQueryBehavior(),\n },\n notifyOptions,\n )\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): InfiniteQueryObserverResult {\n options.behavior = infiniteQueryBehavior()\n return super.getOptimisticResult(options) as InfiniteQueryObserverResult<\n TData,\n TError\n >\n }\n\n fetchNextPage(\n options?: FetchNextPageOptions,\n ): Promise> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'forward' },\n },\n })\n }\n\n fetchPreviousPage(\n options?: FetchPreviousPageOptions,\n ): Promise> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward' },\n },\n })\n }\n\n protected createResult(\n query: Query<\n TQueryFnData,\n TError,\n InfiniteData,\n TQueryKey\n >,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): InfiniteQueryObserverResult {\n const { state } = query\n const parentResult = super.createResult(query, options)\n\n const { isFetching, isRefetching, isError, isRefetchError } = parentResult\n const fetchDirection = state.fetchMeta?.fetchMore?.direction\n\n const isFetchNextPageError = isError && fetchDirection === 'forward'\n const isFetchingNextPage = isFetching && fetchDirection === 'forward'\n\n const isFetchPreviousPageError = isError && fetchDirection === 'backward'\n const isFetchingPreviousPage = isFetching && fetchDirection === 'backward'\n\n const result: InfiniteQueryObserverBaseResult = {\n ...parentResult,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data),\n hasPreviousPage: hasPreviousPage(options, state.data),\n isFetchNextPageError,\n isFetchingNextPage,\n isFetchPreviousPageError,\n isFetchingPreviousPage,\n isRefetchError:\n isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n\n return result as InfiniteQueryObserverResult\n }\n}\n\ntype ReplaceReturnType<\n TFunction extends (...args: Array) => unknown,\n TReturn,\n> = (...args: Parameters) => TReturn\n", "import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { hashKey, shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener = (\n result: MutationObserverResult,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener\n> {\n options!: MutationObserverOptions\n\n #client: QueryClient\n #currentResult: MutationObserverResult =\n undefined!\n #currentMutation?: Mutation\n #mutateOptions?: MutateOptions\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options: MutationObserverOptions,\n ) {\n const prevOptions = this.options as\n | MutationObserverOptions\n | undefined\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n\n if (\n prevOptions?.mutationKey &&\n this.options.mutationKey &&\n hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)\n ) {\n this.reset()\n } else if (this.#currentMutation?.state.status === 'pending') {\n this.#currentMutation.setOptions(this.options)\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n // reset needs to remove the observer from the mutation because there is no way to \"get it back\"\n // another mutate call will yield a new mutation!\n this.#currentMutation?.removeObserver(this)\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions,\n ): Promise {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult\n }\n\n #notify(action?: Action): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables!\n const context = this.#currentResult.context\n\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(action.data, variables, context!)\n this.#mutateOptions.onSettled?.(action.data, null, variables, context)\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(action.error, variables, context)\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n variables,\n context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n", "import type {\n DefaultError,\n MutationKey,\n MutationMeta,\n MutationOptions,\n MutationScope,\n QueryKey,\n QueryMeta,\n QueryOptions,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Query, QueryState } from './query'\nimport type { Mutation, MutationState } from './mutation'\n\n// TYPES\ntype TransformerFn = (data: any) => any\nfunction defaultTransformerFn(data: any): any {\n return data\n}\n\nexport interface DehydrateOptions {\n serializeData?: TransformerFn\n shouldDehydrateMutation?: (mutation: Mutation) => boolean\n shouldDehydrateQuery?: (query: Query) => boolean\n}\n\nexport interface HydrateOptions {\n defaultOptions?: {\n deserializeData?: TransformerFn\n queries?: QueryOptions\n mutations?: MutationOptions\n }\n}\n\ninterface DehydratedMutation {\n mutationKey?: MutationKey\n state: MutationState\n meta?: MutationMeta\n scope?: MutationScope\n}\n\ninterface DehydratedQuery {\n queryHash: string\n queryKey: QueryKey\n state: QueryState\n promise?: Promise\n meta?: QueryMeta\n}\n\nexport interface DehydratedState {\n mutations: Array\n queries: Array\n}\n\n// FUNCTIONS\n\nfunction dehydrateMutation(mutation: Mutation): DehydratedMutation {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state,\n ...(mutation.options.scope && { scope: mutation.options.scope }),\n ...(mutation.meta && { meta: mutation.meta }),\n }\n}\n\n// Most config is not dehydrated but instead meant to configure again when\n// consuming the de/rehydrated data, typically with useQuery on the client.\n// Sometimes it might make sense to prefetch data on the server and include\n// in the html-payload, but not consume it on the initial render.\nfunction dehydrateQuery(\n query: Query,\n serializeData: TransformerFn,\n): DehydratedQuery {\n return {\n state: {\n ...query.state,\n ...(query.state.data !== undefined && {\n data: serializeData(query.state.data),\n }),\n },\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n ...(query.state.status === 'pending' && {\n promise: query.promise?.then(serializeData).catch((error) => {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`,\n )\n }\n return Promise.reject(new Error('redacted'))\n }),\n }),\n ...(query.meta && { meta: query.meta }),\n }\n}\n\nexport function defaultShouldDehydrateMutation(mutation: Mutation) {\n return mutation.state.isPaused\n}\n\nexport function defaultShouldDehydrateQuery(query: Query) {\n return query.state.status === 'success'\n}\n\nexport function dehydrate(\n client: QueryClient,\n options: DehydrateOptions = {},\n): DehydratedState {\n const filterMutation =\n options.shouldDehydrateMutation ??\n client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ??\n defaultShouldDehydrateMutation\n\n const mutations = client\n .getMutationCache()\n .getAll()\n .flatMap((mutation) =>\n filterMutation(mutation) ? [dehydrateMutation(mutation)] : [],\n )\n\n const filterQuery =\n options.shouldDehydrateQuery ??\n client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ??\n defaultShouldDehydrateQuery\n\n const serializeData =\n options.serializeData ??\n client.getDefaultOptions().dehydrate?.serializeData ??\n defaultTransformerFn\n\n const queries = client\n .getQueryCache()\n .getAll()\n .flatMap((query) =>\n filterQuery(query) ? [dehydrateQuery(query, serializeData)] : [],\n )\n\n return { mutations, queries }\n}\n\nexport function hydrate(\n client: QueryClient,\n dehydratedState: unknown,\n options?: HydrateOptions,\n): void {\n if (typeof dehydratedState !== 'object' || dehydratedState === null) {\n return\n }\n\n const mutationCache = client.getMutationCache()\n const queryCache = client.getQueryCache()\n const deserializeData =\n options?.defaultOptions?.deserializeData ??\n client.getDefaultOptions().hydrate?.deserializeData ??\n defaultTransformerFn\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const mutations = (dehydratedState as DehydratedState).mutations || []\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const queries = (dehydratedState as DehydratedState).queries || []\n\n mutations.forEach(({ state, ...mutationOptions }) => {\n mutationCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.mutations,\n ...options?.defaultOptions?.mutations,\n ...mutationOptions,\n },\n state,\n )\n })\n\n queries.forEach(({ queryKey, state, queryHash, meta, promise }) => {\n let query = queryCache.get(queryHash)\n\n const data =\n state.data === undefined ? state.data : deserializeData(state.data)\n\n // Do not hydrate if an existing query exists with newer data\n if (query) {\n if (query.state.dataUpdatedAt < state.dataUpdatedAt) {\n // omit fetchStatus from dehydrated state\n // so that query stays in its current fetchStatus\n const { fetchStatus: _ignored, ...serializedState } = state\n query.setState({\n ...serializedState,\n data,\n })\n }\n } else {\n // Restore query\n query = queryCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.queries,\n ...options?.defaultOptions?.queries,\n queryKey,\n queryHash,\n meta,\n },\n // Reset fetch status to idle to avoid\n // query being stuck in fetching state upon hydration\n {\n ...state,\n data,\n fetchStatus: 'idle',\n },\n )\n }\n\n if (promise) {\n // Note: `Promise.resolve` required cause\n // RSC transformed promises are not thenable\n const initialPromise = Promise.resolve(promise).then(deserializeData)\n\n // this doesn't actually fetch - it just creates a retryer\n // which will re-use the passed `initialPromise`\n void query.fetch(undefined, { initialPromise })\n }\n })\n}\n", "'use client'\nimport * as React from 'react'\n\nimport {\n QueriesObserver,\n QueryObserver,\n notifyManager,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport { useIsRestoring } from './isRestoring'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch,\n} from './suspense'\nimport { noop } from './utils'\nimport type {\n DefinedUseQueryResult,\n UseQueryOptions,\n UseQueryResult,\n} from './types'\nimport type {\n DefaultError,\n OmitKeyof,\n QueriesObserverOptions,\n QueriesPlaceholderDataFunction,\n QueryClient,\n QueryFunction,\n QueryKey,\n QueryObserverOptions,\n ThrowOnError,\n} from '@tanstack/query-core'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function always gets undefined passed\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = OmitKeyof<\n UseQueryOptions,\n 'placeholderData'\n> & {\n placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction\n}\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\n// Widen the type of the symbol to enable type inference even if skipToken is not immutable.\ntype SkipTokenForUseQueries = symbol\n\ntype GetUseQueryOptionsForUseQueries =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?:\n | QueryFunction\n | SkipTokenForUseQueries\n select?: (data: any) => infer TData\n throwOnError?: ThrowOnError\n }\n ? UseQueryOptionsForUseQueries<\n TQueryFnData,\n unknown extends TError ? DefaultError : TError,\n unknown extends TData ? TQueryFnData : TData,\n TQueryKey\n >\n : // Fallback\n UseQueryOptionsForUseQueries\n\n// A defined initialData setting should return a DefinedUseQueryResult rather than UseQueryResult\ntype GetDefinedOrUndefinedQueryResult = T extends {\n initialData?: infer TInitialData\n}\n ? unknown extends TInitialData\n ? UseQueryResult\n : TInitialData extends TData\n ? DefinedUseQueryResult\n : TInitialData extends () => infer TInitialDataResult\n ? unknown extends TInitialDataResult\n ? UseQueryResult\n : TInitialDataResult extends TData\n ? DefinedUseQueryResult\n : UseQueryResult\n : UseQueryResult\n : UseQueryResult\n\ntype GetUseQueryResult =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? GetDefinedOrUndefinedQueryResult\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? GetDefinedOrUndefinedQueryResult\n : T extends { data: infer TData; error?: infer TError }\n ? GetDefinedOrUndefinedQueryResult\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? GetDefinedOrUndefinedQueryResult\n : T extends [infer TQueryFnData, infer TError]\n ? GetDefinedOrUndefinedQueryResult\n : T extends [infer TQueryFnData]\n ? GetDefinedOrUndefinedQueryResult\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?:\n | QueryFunction\n | SkipTokenForUseQueries\n select?: (data: any) => infer TData\n throwOnError?: ThrowOnError\n }\n ? GetDefinedOrUndefinedQueryResult<\n T,\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >\n : // Fallback\n UseQueryResult\n\n/**\n * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type QueriesOptions<\n T extends Array,\n TResults extends Array = [],\n TDepth extends ReadonlyArray = [],\n> = TDepth['length'] extends MAXIMUM_DEPTH\n ? Array\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...TResults, GetUseQueryOptionsForUseQueries]\n : T extends [infer Head, ...infer Tails]\n ? QueriesOptions<\n [...Tails],\n [...TResults, GetUseQueryOptionsForUseQueries],\n [...TDepth, 1]\n >\n : ReadonlyArray extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends Array<\n UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >\n >\n ? Array<\n UseQueryOptionsForUseQueries<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n >\n >\n : // Fallback\n Array\n\n/**\n * QueriesResults reducer recursively maps type param to results\n */\nexport type QueriesResults<\n T extends Array,\n TResults extends Array = [],\n TDepth extends ReadonlyArray = [],\n> = TDepth['length'] extends MAXIMUM_DEPTH\n ? Array\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...TResults, GetUseQueryResult]\n : T extends [infer Head, ...infer Tails]\n ? QueriesResults<\n [...Tails],\n [...TResults, GetUseQueryResult],\n [...TDepth, 1]\n >\n : T extends Array<\n UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >\n >\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n Array<\n UseQueryResult<\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >\n >\n : // Fallback\n Array\n\nexport function useQueries<\n T extends Array,\n TCombinedResult = QueriesResults,\n>(\n {\n queries,\n ...options\n }: {\n queries: readonly [...QueriesOptions]\n combine?: (result: QueriesResults) => TCombinedResult\n },\n queryClient?: QueryClient,\n): TCombinedResult {\n const client = useQueryClient(queryClient)\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n\n const defaultedQueries = React.useMemo(\n () =>\n queries.map((opts) => {\n const defaultedOptions = client.defaultQueryOptions(\n opts as QueryObserverOptions,\n )\n\n // Make sure the results are already in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n return defaultedOptions\n }),\n [queries, client, isRestoring],\n )\n\n defaultedQueries.forEach((query) => {\n ensureSuspenseTimers(query)\n ensurePreventErrorBoundaryRetry(query, errorResetBoundary)\n })\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n const [observer] = React.useState(\n () =>\n new QueriesObserver(\n client,\n defaultedQueries,\n options as QueriesObserverOptions,\n ),\n )\n\n const [optimisticResult, getCombinedResult, trackResult] =\n observer.getOptimisticResult(\n defaultedQueries,\n (options as QueriesObserverOptions).combine,\n )\n\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n isRestoring\n ? noop\n : observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer, isRestoring],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setQueries(\n defaultedQueries,\n options as QueriesObserverOptions,\n {\n listeners: false,\n },\n )\n }, [defaultedQueries, options, observer])\n\n const shouldAtLeastOneSuspend = optimisticResult.some((result, index) =>\n shouldSuspend(defaultedQueries[index], result),\n )\n\n const suspensePromises = shouldAtLeastOneSuspend\n ? optimisticResult.flatMap((result, index) => {\n const opts = defaultedQueries[index]\n\n if (opts) {\n const queryObserver = new QueryObserver(client, opts)\n if (shouldSuspend(opts, result)) {\n return fetchOptimistic(opts, queryObserver, errorResetBoundary)\n } else if (willFetch(result, isRestoring)) {\n void fetchOptimistic(opts, queryObserver, errorResetBoundary)\n }\n }\n return []\n })\n : []\n\n if (suspensePromises.length > 0) {\n throw Promise.all(suspensePromises)\n }\n const firstSingleResultWhichShouldThrow = optimisticResult.find(\n (result, index) => {\n const query = defaultedQueries[index]\n return (\n query &&\n getHasError({\n result,\n errorResetBoundary,\n throwOnError: query.throwOnError,\n query: client.getQueryCache().get(query.queryHash),\n })\n )\n },\n )\n\n if (firstSingleResultWhichShouldThrow?.error) {\n throw firstSingleResultWhichShouldThrow.error\n }\n\n return getCombinedResult(trackResult())\n}\n", "'use client'\nimport * as React from 'react'\n\nimport type { QueryClient } from '@tanstack/query-core'\n\nexport const QueryClientContext = React.createContext(\n undefined,\n)\n\nexport const useQueryClient = (queryClient?: QueryClient) => {\n const client = React.useContext(QueryClientContext)\n\n if (queryClient) {\n return queryClient\n }\n\n if (!client) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one')\n }\n\n return client\n}\n\nexport type QueryClientProviderProps = {\n client: QueryClient\n children?: React.ReactNode\n}\n\nexport const QueryClientProvider = ({\n client,\n children,\n}: QueryClientProviderProps): React.JSX.Element => {\n React.useEffect(() => {\n client.mount()\n return () => {\n client.unmount()\n }\n }, [client])\n\n return (\n \n {children}\n \n )\n}\n", "'use client'\nimport * as React from 'react'\n\nconst IsRestoringContext = React.createContext(false)\n\nexport const useIsRestoring = () => React.useContext(IsRestoringContext)\nexport const IsRestoringProvider = IsRestoringContext.Provider\n", "'use client'\nimport * as React from 'react'\n\n// CONTEXT\nexport type QueryErrorResetFunction = () => void\nexport type QueryErrorIsResetFunction = () => boolean\nexport type QueryErrorClearResetFunction = () => void\n\nexport interface QueryErrorResetBoundaryValue {\n clearReset: QueryErrorClearResetFunction\n isReset: QueryErrorIsResetFunction\n reset: QueryErrorResetFunction\n}\n\nfunction createValue(): QueryErrorResetBoundaryValue {\n let isReset = false\n return {\n clearReset: () => {\n isReset = false\n },\n reset: () => {\n isReset = true\n },\n isReset: () => {\n return isReset\n },\n }\n}\n\nconst QueryErrorResetBoundaryContext = React.createContext(createValue())\n\n// HOOK\n\nexport const useQueryErrorResetBoundary = () =>\n React.useContext(QueryErrorResetBoundaryContext)\n\n// COMPONENT\n\nexport type QueryErrorResetBoundaryFunction = (\n value: QueryErrorResetBoundaryValue,\n) => React.ReactNode\n\nexport interface QueryErrorResetBoundaryProps {\n children: QueryErrorResetBoundaryFunction | React.ReactNode\n}\n\nexport const QueryErrorResetBoundary = ({\n children,\n}: QueryErrorResetBoundaryProps) => {\n const [value] = React.useState(() => createValue())\n return (\n \n {typeof children === 'function' ? children(value) : children}\n \n )\n}\n", "'use client'\nimport * as React from 'react'\nimport { shouldThrowError } from './utils'\nimport type {\n DefaultedQueryObserverOptions,\n Query,\n QueryKey,\n QueryObserverResult,\n ThrowOnError,\n} from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\n\nexport const ensurePreventErrorBoundaryRetry = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) => {\n if (\n options.suspense ||\n options.throwOnError ||\n options.experimental_prefetchInRender\n ) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false\n }\n }\n}\n\nexport const useClearResetErrorBoundary = (\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset()\n }, [errorResetBoundary])\n}\n\nexport const getHasError = <\n TData,\n TError,\n TQueryFnData,\n TQueryData,\n TQueryKey extends QueryKey,\n>({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n}: {\n result: QueryObserverResult\n errorResetBoundary: QueryErrorResetBoundaryValue\n throwOnError: ThrowOnError\n query: Query | undefined\n}) => {\n return (\n result.isError &&\n !errorResetBoundary.isReset() &&\n !result.isFetching &&\n query &&\n shouldThrowError(throwOnError, [result.error, query])\n )\n}\n", "export function shouldThrowError) => boolean>(\n throwError: boolean | T | undefined,\n params: Parameters,\n): boolean {\n // Allow throwError function to override throwing behavior on a per-error basis\n if (typeof throwError === 'function') {\n return throwError(...params)\n }\n\n return !!throwError\n}\n\nexport function noop(): void {}\n", "import type {\n DefaultError,\n DefaultedQueryObserverOptions,\n Query,\n QueryKey,\n QueryObserver,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\n\nexport const defaultThrowOnError = <\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n _error: TError,\n query: Query,\n) => query.state.data === undefined\n\nexport const ensureSuspenseTimers = (\n defaultedOptions: DefaultedQueryObserverOptions,\n) => {\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (defaultedOptions.staleTime === undefined) {\n defaultedOptions.staleTime = 1000\n }\n if (typeof defaultedOptions.gcTime === 'number') {\n defaultedOptions.gcTime = Math.max(defaultedOptions.gcTime, 1000)\n }\n }\n}\n\nexport const willFetch = (\n result: QueryObserverResult,\n isRestoring: boolean,\n) => result.isLoading && result.isFetching && !isRestoring\n\nexport const shouldSuspend = (\n defaultedOptions:\n | DefaultedQueryObserverOptions\n | undefined,\n result: QueryObserverResult,\n) => defaultedOptions?.suspense && result.isPending\n\nexport const fetchOptimistic = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n defaultedOptions: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n observer: QueryObserver,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) =>\n observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset()\n })\n", "'use client'\nimport * as React from 'react'\n\nimport { isServer, notifyManager } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport { useIsRestoring } from './isRestoring'\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch,\n} from './suspense'\nimport { noop } from './utils'\nimport type {\n QueryClient,\n QueryKey,\n QueryObserver,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { UseBaseQueryOptions } from './types'\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: UseBaseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n Observer: typeof QueryObserver,\n queryClient?: QueryClient,\n): QueryObserverResult {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof options !== 'object' || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object',\n )\n }\n }\n\n const client = useQueryClient(queryClient)\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n const defaultedOptions = client.defaultQueryOptions(options)\n\n ;(client.getDefaultOptions().queries as any)?._experimental_beforeQuery?.(\n defaultedOptions,\n )\n\n // Make sure results are optimistically set in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n ensureSuspenseTimers(defaultedOptions)\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary)\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n // this needs to be invoked before creating the Observer because that can create a cache entry\n const isNewCacheEntry = !client\n .getQueryCache()\n .get(defaultedOptions.queryHash)\n\n const [observer] = React.useState(\n () =>\n new Observer(\n client,\n defaultedOptions,\n ),\n )\n\n const result = observer.getOptimisticResult(defaultedOptions)\n\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = isRestoring\n ? noop\n : observer.subscribe(notifyManager.batchCalls(onStoreChange))\n\n // Update result to make sure we did not miss any query updates\n // between creating the observer and subscribing to it.\n observer.updateResult()\n\n return unsubscribe\n },\n [observer, isRestoring],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, { listeners: false })\n }, [defaultedOptions, observer])\n\n // Handle suspense\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n }\n\n // Handle error boundary\n if (\n getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: client\n .getQueryCache()\n .get<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey\n >(defaultedOptions.queryHash),\n })\n ) {\n throw result.error\n }\n\n ;(client.getDefaultOptions().queries as any)?._experimental_afterQuery?.(\n defaultedOptions,\n result,\n )\n\n if (\n defaultedOptions.experimental_prefetchInRender &&\n !isServer &&\n willFetch(result, isRestoring)\n ) {\n const promise = isNewCacheEntry\n ? // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n : // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n client.getQueryCache().get(defaultedOptions.queryHash)?.promise\n\n promise?.catch(noop).finally(() => {\n // `.updateResult()` will trigger `.#currentThenable` to finalize\n observer.updateResult()\n })\n }\n\n // Handle result property usage tracking\n return !defaultedOptions.notifyOnChangeProps\n ? observer.trackResult(result)\n : result\n}\n", "'use client'\nimport { QueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type { DefaultError, QueryClient, QueryKey } from '@tanstack/query-core'\nimport type {\n DefinedUseQueryResult,\n UseQueryOptions,\n UseQueryResult,\n} from './types'\nimport type {\n DefinedInitialDataOptions,\n UndefinedInitialDataOptions,\n} from './queryOptions'\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions,\n queryClient?: QueryClient,\n): DefinedUseQueryResult\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions,\n queryClient?: QueryClient,\n): UseQueryResult\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions,\n queryClient?: QueryClient,\n): UseQueryResult\n\nexport function useQuery(options: UseQueryOptions, queryClient?: QueryClient) {\n return useBaseQuery(options, QueryObserver, queryClient)\n}\n", "'use client'\nimport { QueryObserver, skipToken } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport { defaultThrowOnError } from './suspense'\nimport type { UseSuspenseQueryOptions, UseSuspenseQueryResult } from './types'\nimport type { DefaultError, QueryClient, QueryKey } from '@tanstack/query-core'\n\nexport function useSuspenseQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseSuspenseQueryOptions,\n queryClient?: QueryClient,\n): UseSuspenseQueryResult {\n if (process.env.NODE_ENV !== 'production') {\n if ((options.queryFn as any) === skipToken) {\n console.error('skipToken is not allowed for useSuspenseQuery')\n }\n }\n\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError,\n placeholderData: undefined,\n },\n QueryObserver,\n queryClient,\n ) as UseSuspenseQueryResult\n}\n", "'use client'\nimport { InfiniteQueryObserver, skipToken } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport { defaultThrowOnError } from './suspense'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverSuccessResult,\n QueryClient,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\nimport type {\n UseSuspenseInfiniteQueryOptions,\n UseSuspenseInfiniteQueryResult,\n} from './types'\n\nexport function useSuspenseInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseSuspenseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseSuspenseInfiniteQueryResult {\n if (process.env.NODE_ENV !== 'production') {\n if ((options.queryFn as any) === skipToken) {\n console.error('skipToken is not allowed for useSuspenseInfiniteQuery')\n }\n }\n\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError,\n },\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n ) as InfiniteQueryObserverSuccessResult\n}\n", "'use client'\nimport { skipToken } from '@tanstack/query-core'\nimport { useQueries } from './useQueries'\nimport { defaultThrowOnError } from './suspense'\nimport type { UseSuspenseQueryOptions, UseSuspenseQueryResult } from './types'\nimport type {\n DefaultError,\n QueryClient,\n QueryFunction,\n ThrowOnError,\n} from '@tanstack/query-core'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\n// Widen the type of the symbol to enable type inference even if skipToken is not immutable.\ntype SkipTokenForUseQueries = symbol\n\ntype GetUseSuspenseQueryOptions =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseSuspenseQueryOptions\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseSuspenseQueryOptions\n : T extends { data: infer TData; error?: infer TError }\n ? UseSuspenseQueryOptions\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseSuspenseQueryOptions\n : T extends [infer TQueryFnData, infer TError]\n ? UseSuspenseQueryOptions\n : T extends [infer TQueryFnData]\n ? UseSuspenseQueryOptions\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?:\n | QueryFunction\n | SkipTokenForUseQueries\n select?: (data: any) => infer TData\n throwOnError?: ThrowOnError\n }\n ? UseSuspenseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n >\n : T extends {\n queryFn?:\n | QueryFunction\n | SkipTokenForUseQueries\n throwOnError?: ThrowOnError\n }\n ? UseSuspenseQueryOptions<\n TQueryFnData,\n TError,\n TQueryFnData,\n TQueryKey\n >\n : // Fallback\n UseSuspenseQueryOptions\n\ntype GetUseSuspenseQueryResult =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? UseSuspenseQueryResult\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseSuspenseQueryResult\n : T extends { data: infer TData; error?: infer TError }\n ? UseSuspenseQueryResult\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? UseSuspenseQueryResult\n : T extends [infer TQueryFnData, infer TError]\n ? UseSuspenseQueryResult\n : T extends [infer TQueryFnData]\n ? UseSuspenseQueryResult\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?:\n | QueryFunction\n | SkipTokenForUseQueries\n select?: (data: any) => infer TData\n throwOnError?: ThrowOnError\n }\n ? UseSuspenseQueryResult<\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >\n : T extends {\n queryFn?:\n | QueryFunction\n | SkipTokenForUseQueries\n throwOnError?: ThrowOnError\n }\n ? UseSuspenseQueryResult<\n TQueryFnData,\n unknown extends TError ? DefaultError : TError\n >\n : // Fallback\n UseSuspenseQueryResult\n\n/**\n * SuspenseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type SuspenseQueriesOptions<\n T extends Array,\n TResults extends Array = [],\n TDepth extends ReadonlyArray = [],\n> = TDepth['length'] extends MAXIMUM_DEPTH\n ? Array\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...TResults, GetUseSuspenseQueryOptions]\n : T extends [infer Head, ...infer Tails]\n ? SuspenseQueriesOptions<\n [...Tails],\n [...TResults, GetUseSuspenseQueryOptions],\n [...TDepth, 1]\n >\n : Array extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends Array<\n UseSuspenseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >\n >\n ? Array<\n UseSuspenseQueryOptions\n >\n : // Fallback\n Array\n\n/**\n * SuspenseQueriesResults reducer recursively maps type param to results\n */\nexport type SuspenseQueriesResults<\n T extends Array,\n TResults extends Array = [],\n TDepth extends ReadonlyArray = [],\n> = TDepth['length'] extends MAXIMUM_DEPTH\n ? Array\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...TResults, GetUseSuspenseQueryResult]\n : T extends [infer Head, ...infer Tails]\n ? SuspenseQueriesResults<\n [...Tails],\n [...TResults, GetUseSuspenseQueryResult],\n [...TDepth, 1]\n >\n : T extends Array<\n UseSuspenseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >\n >\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n Array<\n UseSuspenseQueryResult<\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >\n >\n : // Fallback\n Array\n\nexport function useSuspenseQueries<\n T extends Array,\n TCombinedResult = SuspenseQueriesResults,\n>(\n options: {\n queries: readonly [...SuspenseQueriesOptions]\n combine?: (result: SuspenseQueriesResults) => TCombinedResult\n },\n queryClient?: QueryClient,\n): TCombinedResult {\n return useQueries(\n {\n ...options,\n queries: options.queries.map((query) => {\n if (process.env.NODE_ENV !== 'production') {\n if (query.queryFn === skipToken) {\n console.error('skipToken is not allowed for useSuspenseQueries')\n }\n }\n\n return {\n ...query,\n suspense: true,\n throwOnError: defaultThrowOnError,\n enabled: true,\n placeholderData: undefined,\n }\n }),\n } as any,\n queryClient,\n )\n}\n", "import { useQueryClient } from './QueryClientProvider'\nimport type {\n DefaultError,\n FetchQueryOptions,\n QueryClient,\n QueryKey,\n} from '@tanstack/query-core'\n\nexport function usePrefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: FetchQueryOptions,\n queryClient?: QueryClient,\n) {\n const client = useQueryClient(queryClient)\n\n if (!client.getQueryState(options.queryKey)) {\n client.prefetchQuery(options)\n }\n}\n", "import { useQueryClient } from './QueryClientProvider'\nimport type {\n DefaultError,\n FetchInfiniteQueryOptions,\n QueryClient,\n QueryKey,\n} from '@tanstack/query-core'\n\nexport function usePrefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n) {\n const client = useQueryClient(queryClient)\n\n if (!client.getQueryState(options.queryKey)) {\n client.prefetchInfiniteQuery(options)\n }\n}\n", "import type {\n DataTag,\n DefaultError,\n InitialDataFunction,\n OmitKeyof,\n QueryKey,\n SkipToken,\n} from '@tanstack/query-core'\nimport type { UseQueryOptions } from './types'\n\nexport type UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions & {\n initialData?:\n | undefined\n | InitialDataFunction>\n | NonUndefinedGuard\n}\n\nexport type UnusedSkipTokenOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = OmitKeyof<\n UseQueryOptions,\n 'queryFn'\n> & {\n queryFn?: Exclude<\n UseQueryOptions['queryFn'],\n SkipToken | undefined\n >\n}\n\ntype NonUndefinedGuard = T extends undefined ? never : T\n\nexport type DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions & {\n initialData:\n | NonUndefinedGuard\n | (() => NonUndefinedGuard)\n}\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions,\n): DefinedInitialDataOptions & {\n queryKey: DataTag\n}\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UnusedSkipTokenOptions,\n): UnusedSkipTokenOptions & {\n queryKey: DataTag\n}\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions,\n): UndefinedInitialDataOptions & {\n queryKey: DataTag\n}\n\nexport function queryOptions(options: unknown) {\n return options\n}\n", "import type {\n DataTag,\n DefaultError,\n InfiniteData,\n InitialDataFunction,\n OmitKeyof,\n QueryKey,\n SkipToken,\n} from '@tanstack/query-core'\nimport type { UseInfiniteQueryOptions } from './types'\n\nexport type UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n> & {\n initialData?:\n | undefined\n | NonUndefinedGuard>\n | InitialDataFunction<\n NonUndefinedGuard>\n >\n}\n\nexport type UnusedSkipTokenInfiniteOptions<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = OmitKeyof<\n UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n 'queryFn'\n> & {\n queryFn?: Exclude<\n UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >['queryFn'],\n SkipToken | undefined\n >\n}\n\ntype NonUndefinedGuard = T extends undefined ? never : T\n\nexport type DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n> & {\n initialData:\n | NonUndefinedGuard>\n | (() => NonUndefinedGuard>)\n | undefined\n}\n\nexport function infiniteQueryOptions<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n): DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> & {\n queryKey: DataTag>\n}\n\nexport function infiniteQueryOptions<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UnusedSkipTokenInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n): UnusedSkipTokenInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> & {\n queryKey: DataTag>\n}\n\nexport function infiniteQueryOptions<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n): UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n> & {\n queryKey: DataTag>\n}\n\nexport function infiniteQueryOptions(options: unknown) {\n return options\n}\n", "/* eslint-disable react-compiler/react-compiler */\n\n'use client'\nimport * as React from 'react'\n\nimport { hydrate } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type {\n DehydratedState,\n HydrateOptions,\n OmitKeyof,\n QueryClient,\n} from '@tanstack/query-core'\n\nexport interface HydrationBoundaryProps {\n state?: unknown\n options?: OmitKeyof & {\n defaultOptions?: OmitKeyof<\n Exclude,\n 'mutations'\n >\n }\n children?: React.ReactNode\n queryClient?: QueryClient\n}\n\nexport const HydrationBoundary = ({\n children,\n options = {},\n state,\n queryClient,\n}: HydrationBoundaryProps) => {\n const client = useQueryClient(queryClient)\n const [hydrationQueue, setHydrationQueue] = React.useState<\n DehydratedState['queries'] | undefined\n >()\n\n const optionsRef = React.useRef(options)\n optionsRef.current = options\n\n // This useMemo is for performance reasons only, everything inside it _must_\n // be safe to run in every render and code here should be read as \"in render\".\n //\n // This code needs to happen during the render phase, because after initial\n // SSR, hydration needs to happen _before_ children render. Also, if hydrating\n // during a transition, we want to hydrate as much as is safe in render so\n // we can prerender as much as possible.\n //\n // For any queries that already exist in the cache, we want to hold back on\n // hydrating until _after_ the render phase. The reason for this is that during\n // transitions, we don't want the existing queries and observers to update to\n // the new data on the current page, only _after_ the transition is committed.\n // If the transition is aborted, we will have hydrated any _new_ queries, but\n // we throw away the fresh data for any existing ones to avoid unexpectedly\n // updating the UI.\n React.useMemo(() => {\n if (state) {\n if (typeof state !== 'object') {\n return\n }\n\n const queryCache = client.getQueryCache()\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const queries = (state as DehydratedState).queries || []\n\n const newQueries: DehydratedState['queries'] = []\n const existingQueries: DehydratedState['queries'] = []\n for (const dehydratedQuery of queries) {\n const existingQuery = queryCache.get(dehydratedQuery.queryHash)\n\n if (!existingQuery) {\n newQueries.push(dehydratedQuery)\n } else {\n const hydrationIsNewer =\n dehydratedQuery.state.dataUpdatedAt >\n existingQuery.state.dataUpdatedAt\n const queryAlreadyQueued = hydrationQueue?.find(\n (query) => query.queryHash === dehydratedQuery.queryHash,\n )\n\n if (\n hydrationIsNewer &&\n (!queryAlreadyQueued ||\n dehydratedQuery.state.dataUpdatedAt >\n queryAlreadyQueued.state.dataUpdatedAt)\n ) {\n existingQueries.push(dehydratedQuery)\n }\n }\n }\n\n if (newQueries.length > 0) {\n // It's actually fine to call this with queries/state that already exists\n // in the cache, or is older. hydrate() is idempotent for queries.\n hydrate(client, { queries: newQueries }, optionsRef.current)\n }\n if (existingQueries.length > 0) {\n setHydrationQueue((prev) =>\n prev ? [...prev, ...existingQueries] : existingQueries,\n )\n }\n }\n }, [client, hydrationQueue, state])\n\n React.useEffect(() => {\n if (hydrationQueue) {\n hydrate(client, { queries: hydrationQueue }, optionsRef.current)\n setHydrationQueue(undefined)\n }\n }, [client, hydrationQueue])\n\n return children as React.ReactElement\n}\n", "'use client'\nimport * as React from 'react'\nimport { notifyManager } from '@tanstack/query-core'\n\nimport { useQueryClient } from './QueryClientProvider'\nimport type { QueryClient, QueryFilters } from '@tanstack/query-core'\n\nexport function useIsFetching(\n filters?: QueryFilters,\n queryClient?: QueryClient,\n): number {\n const client = useQueryClient(queryClient)\n const queryCache = client.getQueryCache()\n\n return React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n queryCache.subscribe(notifyManager.batchCalls(onStoreChange)),\n [queryCache],\n ),\n () => client.isFetching(filters),\n () => client.isFetching(filters),\n )\n}\n", "/* eslint-disable react-compiler/react-compiler */\n\n'use client'\nimport * as React from 'react'\n\nimport { notifyManager, replaceEqualDeep } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type {\n Mutation,\n MutationCache,\n MutationFilters,\n MutationState,\n QueryClient,\n} from '@tanstack/query-core'\n\nexport function useIsMutating(\n filters?: MutationFilters,\n queryClient?: QueryClient,\n): number {\n const client = useQueryClient(queryClient)\n return useMutationState(\n { filters: { ...filters, status: 'pending' } },\n client,\n ).length\n}\n\ntype MutationStateOptions = {\n filters?: MutationFilters\n select?: (mutation: Mutation) => TResult\n}\n\nfunction getResult(\n mutationCache: MutationCache,\n options: MutationStateOptions,\n): Array {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select ? options.select(mutation) : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState(\n options: MutationStateOptions = {},\n queryClient?: QueryClient,\n): Array {\n const mutationCache = useQueryClient(queryClient).getMutationCache()\n const optionsRef = React.useRef(options)\n const result = React.useRef>(null)\n if (!result.current) {\n result.current = getResult(mutationCache, options)\n }\n\n React.useEffect(() => {\n optionsRef.current = options\n })\n\n return React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n mutationCache.subscribe(() => {\n const nextResult = replaceEqualDeep(\n result.current,\n getResult(mutationCache, optionsRef.current),\n )\n if (result.current !== nextResult) {\n result.current = nextResult\n notifyManager.schedule(onStoreChange)\n }\n }),\n [mutationCache],\n ),\n () => result.current,\n () => result.current,\n )!\n}\n", "'use client'\nimport * as React from 'react'\nimport { MutationObserver, notifyManager } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport { noop, shouldThrowError } from './utils'\nimport type {\n UseMutateFunction,\n UseMutationOptions,\n UseMutationResult,\n} from './types'\nimport type { DefaultError, QueryClient } from '@tanstack/query-core'\n\n// HOOK\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n options: UseMutationOptions,\n queryClient?: QueryClient,\n): UseMutationResult {\n const client = useQueryClient(queryClient)\n\n const [observer] = React.useState(\n () =>\n new MutationObserver(\n client,\n options,\n ),\n )\n\n React.useEffect(() => {\n observer.setOptions(options)\n }, [observer, options])\n\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n const mutate = React.useCallback<\n UseMutateFunction\n >(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop)\n },\n [observer],\n )\n\n if (\n result.error &&\n shouldThrowError(observer.options.throwOnError, [result.error])\n ) {\n throw result.error\n }\n\n return { ...result, mutate, mutateAsync: result.mutate }\n}\n", "'use client'\nimport { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n InfiniteData,\n QueryClient,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\nimport type {\n DefinedUseInfiniteQueryResult,\n UseInfiniteQueryOptions,\n UseInfiniteQueryResult,\n} from './types'\nimport type {\n DefinedInitialDataInfiniteOptions,\n UndefinedInitialDataInfiniteOptions,\n} from './infiniteQueryOptions'\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): DefinedUseInfiniteQueryResult\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult\n\nexport function useInfiniteQuery(\n options: UseInfiniteQueryOptions,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(\n options,\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n )\n}\n"], + "mappings": "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", + "names": ["_a", "_a", "_cleanup", "_setup", "_a", "_a", "_a", "_b", "_c", "_a", "_a", "_retryer", "getDefaultState", "dispatch_fn", "_a", "_a", "_b", "_a", "_mutationCache", "_defaultOptions", "_a", "_a", "_client", "_queries", "_observers", "notify_fn", "_a", "_a", "_client", "_currentResult", "notify_fn", "getDefaultState", "_a", "_b", "React", "React", "React", "import_jsx_runtime", "React", "noop", "noop", "React", "_a", "noop", "React", "React", "React", "React", "noop"] +} diff --git a/packages/user/.vite/deps/_metadata.json b/packages/user/.vite/deps/_metadata.json index 534f12f..8910c81 100644 --- a/packages/user/.vite/deps/_metadata.json +++ b/packages/user/.vite/deps/_metadata.json @@ -1,37 +1,100 @@ { - "hash": "f7ae3b93", - "configHash": "c7b0d078", + "hash": "40cb8060", + "configHash": "5219a802", "lockfileHash": "e3b0c442", - "browserHash": "9c82c844", + "browserHash": "0fc57ccb", "optimized": { "react/jsx-dev-runtime": { "src": "../../../../.yarn/cache/react-npm-18.3.1-af38f3c1ae-283e8c5efc.zip/node_modules/react/jsx-dev-runtime.js", "file": "react_jsx-dev-runtime.js", - "fileHash": "64254095", + "fileHash": "88104990", "needsInterop": true }, + "@emotion/css": { + "src": "../../../../.yarn/cache/@emotion-css-npm-11.13.5-a50e7e4239-45d444b08c.zip/node_modules/@emotion/css/dist/emotion-css.development.esm.js", + "file": "@emotion_css.js", + "fileHash": "c00cc23b", + "needsInterop": false + }, + "@emotion/react": { + "src": "../../../../.yarn/__virtual__/@emotion-react-virtual-686424a14f/0/cache/@emotion-react-npm-11.14.0-2743f93910-d0864f571a.zip/node_modules/@emotion/react/dist/emotion-react.browser.development.esm.js", + "file": "@emotion_react.js", + "fileHash": "13986e05", + "needsInterop": false + }, + "@tanstack/react-query": { + "src": "../../../../.yarn/__virtual__/@tanstack-react-query-virtual-080ebc4f11/0/cache/@tanstack-react-query-npm-5.62.7-f17d6aba66-4a99bf3f3c.zip/node_modules/@tanstack/react-query/build/modern/index.js", + "file": "@tanstack_react-query.js", + "fileHash": "abc5f6f0", + "needsInterop": false + }, "react": { "src": "../../../../.yarn/cache/react-npm-18.3.1-af38f3c1ae-283e8c5efc.zip/node_modules/react/index.js", "file": "react.js", - "fileHash": "291dbd2e", + "fileHash": "9f3f42a8", "needsInterop": true }, "react-dom/client": { - "src": "../../../../.yarn/__virtual__/react-dom-virtual-2c34e749a2/0/cache/react-dom-npm-18.3.1-a805663f38-a752496c19.zip/node_modules/react-dom/client.js", + "src": "../../../../.yarn/__virtual__/react-dom-virtual-52cc716650/0/cache/react-dom-npm-18.3.1-a805663f38-a752496c19.zip/node_modules/react-dom/client.js", "file": "react-dom_client.js", - "fileHash": "c397ba58", + "fileHash": "253a4010", "needsInterop": true }, "react/jsx-runtime": { "src": "../../../../.yarn/cache/react-npm-18.3.1-af38f3c1ae-283e8c5efc.zip/node_modules/react/jsx-runtime.js", "file": "react_jsx-runtime.js", - "fileHash": "691e7331", + "fileHash": "b6e880e1", + "needsInterop": true + }, + "react-router-dom": { + "src": "../../../../.yarn/__virtual__/react-router-dom-virtual-c39a02b7b6/0/cache/react-router-dom-npm-7.0.2-e59f7896df-eb6fe52479.zip/node_modules/react-router-dom/dist/index.mjs", + "file": "react-router-dom.js", + "fileHash": "1a818fe3", + "needsInterop": false + }, + "@emotion/styled": { + "src": "../../../../.yarn/__virtual__/@emotion-styled-virtual-2965579ce9/0/cache/@emotion-styled-npm-11.14.0-36f2daa0c9-20aa5c488e.zip/node_modules/@emotion/styled/dist/emotion-styled.browser.development.esm.js", + "file": "@emotion_styled.js", + "fileHash": "01cad50d", + "needsInterop": false + }, + "@emotion/styled/macro": { + "src": "../../../../.yarn/__virtual__/@emotion-styled-virtual-2965579ce9/0/cache/@emotion-styled-npm-11.14.0-36f2daa0c9-20aa5c488e.zip/node_modules/@emotion/styled/macro.js", + "file": "@emotion_styled_macro.js", + "fileHash": "e6549ea6", "needsInterop": true + }, + "react-toastify": { + "src": "../../../../.yarn/__virtual__/react-toastify-virtual-9304ade23a/0/cache/react-toastify-npm-10.0.6-1b9fd56423-4042b716d0.zip/node_modules/react-toastify/dist/react-toastify.esm.mjs", + "file": "react-toastify.js", + "fileHash": "6f87456c", + "needsInterop": false } }, "chunks": { - "chunk-XZK5Q32F": { - "file": "chunk-XZK5Q32F.js" + "chunk-3AUTVWZM": { + "file": "chunk-3AUTVWZM.js" + }, + "chunk-GME3E6MP": { + "file": "chunk-GME3E6MP.js" + }, + "chunk-CP36PE7K": { + "file": "chunk-CP36PE7K.js" + }, + "chunk-YNZKW5RL": { + "file": "chunk-YNZKW5RL.js" + }, + "chunk-KERQOROF": { + "file": "chunk-KERQOROF.js" + }, + "chunk-55NPQQDX": { + "file": "chunk-55NPQQDX.js" + }, + "chunk-DHYUYUAP": { + "file": "chunk-DHYUYUAP.js" + }, + "chunk-OL46QLBJ": { + "file": "chunk-OL46QLBJ.js" } } } \ No newline at end of file diff --git a/packages/user/.vite/deps/chunk-3AUTVWZM.js b/packages/user/.vite/deps/chunk-3AUTVWZM.js new file mode 100644 index 0000000..3445164 --- /dev/null +++ b/packages/user/.vite/deps/chunk-3AUTVWZM.js @@ -0,0 +1,1028 @@ +import { + _extends, + init_extends +} from "./chunk-GME3E6MP.js"; +import { + createCache, + getRegisteredStyles, + insertStyles, + registerStyles, + weakMemoize +} from "./chunk-CP36PE7K.js"; +import { + init_emotion_serialize_development_esm, + serializeStyles +} from "./chunk-YNZKW5RL.js"; +import { + require_react +} from "./chunk-DHYUYUAP.js"; +import { + __commonJS, + __toESM +} from "./chunk-OL46QLBJ.js"; + +// ../../.yarn/cache/react-is-npm-16.13.1-a9b9382b4f-33977da7a5.zip/node_modules/react-is/cjs/react-is.development.js +var require_react_is_development = __commonJS({ + "../../.yarn/cache/react-is-npm-16.13.1-a9b9382b4f-33977da7a5.zip/node_modules/react-is/cjs/react-is.development.js"(exports) { + "use strict"; + if (true) { + (function() { + "use strict"; + var hasSymbol = typeof Symbol === "function" && Symbol.for; + var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for("react.element") : 60103; + var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for("react.portal") : 60106; + var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for("react.fragment") : 60107; + var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for("react.strict_mode") : 60108; + var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for("react.profiler") : 60114; + var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for("react.provider") : 60109; + var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for("react.context") : 60110; + var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for("react.async_mode") : 60111; + var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for("react.concurrent_mode") : 60111; + var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for("react.forward_ref") : 60112; + var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for("react.suspense") : 60113; + var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for("react.suspense_list") : 60120; + var REACT_MEMO_TYPE = hasSymbol ? Symbol.for("react.memo") : 60115; + var REACT_LAZY_TYPE = hasSymbol ? Symbol.for("react.lazy") : 60116; + var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for("react.block") : 60121; + var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for("react.fundamental") : 60117; + var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for("react.responder") : 60118; + var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for("react.scope") : 60119; + function isValidElementType(type) { + return typeof type === "string" || typeof type === "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. + type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === "object" && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); + } + function typeOf(object) { + if (typeof object === "object" && object !== null) { + var $$typeof = object.$$typeof; + switch ($$typeof) { + case REACT_ELEMENT_TYPE: + var type = object.type; + switch (type) { + case REACT_ASYNC_MODE_TYPE: + case REACT_CONCURRENT_MODE_TYPE: + case REACT_FRAGMENT_TYPE: + case REACT_PROFILER_TYPE: + case REACT_STRICT_MODE_TYPE: + case REACT_SUSPENSE_TYPE: + return type; + default: + var $$typeofType = type && type.$$typeof; + switch ($$typeofType) { + case REACT_CONTEXT_TYPE: + case REACT_FORWARD_REF_TYPE: + case REACT_LAZY_TYPE: + case REACT_MEMO_TYPE: + case REACT_PROVIDER_TYPE: + return $$typeofType; + default: + return $$typeof; + } + } + case REACT_PORTAL_TYPE: + return $$typeof; + } + } + return void 0; + } + var AsyncMode = REACT_ASYNC_MODE_TYPE; + var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; + var ContextConsumer = REACT_CONTEXT_TYPE; + var ContextProvider = REACT_PROVIDER_TYPE; + var Element = REACT_ELEMENT_TYPE; + var ForwardRef = REACT_FORWARD_REF_TYPE; + var Fragment3 = REACT_FRAGMENT_TYPE; + var Lazy = REACT_LAZY_TYPE; + var Memo = REACT_MEMO_TYPE; + var Portal = REACT_PORTAL_TYPE; + var Profiler = REACT_PROFILER_TYPE; + var StrictMode = REACT_STRICT_MODE_TYPE; + var Suspense = REACT_SUSPENSE_TYPE; + var hasWarnedAboutDeprecatedIsAsyncMode = false; + function isAsyncMode(object) { + { + if (!hasWarnedAboutDeprecatedIsAsyncMode) { + hasWarnedAboutDeprecatedIsAsyncMode = true; + console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API."); + } + } + return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; + } + function isConcurrentMode(object) { + return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; + } + function isContextConsumer(object) { + return typeOf(object) === REACT_CONTEXT_TYPE; + } + function isContextProvider(object) { + return typeOf(object) === REACT_PROVIDER_TYPE; + } + function isElement(object) { + return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; + } + function isForwardRef(object) { + return typeOf(object) === REACT_FORWARD_REF_TYPE; + } + function isFragment(object) { + return typeOf(object) === REACT_FRAGMENT_TYPE; + } + function isLazy(object) { + return typeOf(object) === REACT_LAZY_TYPE; + } + function isMemo(object) { + return typeOf(object) === REACT_MEMO_TYPE; + } + function isPortal(object) { + return typeOf(object) === REACT_PORTAL_TYPE; + } + function isProfiler(object) { + return typeOf(object) === REACT_PROFILER_TYPE; + } + function isStrictMode(object) { + return typeOf(object) === REACT_STRICT_MODE_TYPE; + } + function isSuspense(object) { + return typeOf(object) === REACT_SUSPENSE_TYPE; + } + exports.AsyncMode = AsyncMode; + exports.ConcurrentMode = ConcurrentMode; + exports.ContextConsumer = ContextConsumer; + exports.ContextProvider = ContextProvider; + exports.Element = Element; + exports.ForwardRef = ForwardRef; + exports.Fragment = Fragment3; + exports.Lazy = Lazy; + exports.Memo = Memo; + exports.Portal = Portal; + exports.Profiler = Profiler; + exports.StrictMode = StrictMode; + exports.Suspense = Suspense; + exports.isAsyncMode = isAsyncMode; + exports.isConcurrentMode = isConcurrentMode; + exports.isContextConsumer = isContextConsumer; + exports.isContextProvider = isContextProvider; + exports.isElement = isElement; + exports.isForwardRef = isForwardRef; + exports.isFragment = isFragment; + exports.isLazy = isLazy; + exports.isMemo = isMemo; + exports.isPortal = isPortal; + exports.isProfiler = isProfiler; + exports.isStrictMode = isStrictMode; + exports.isSuspense = isSuspense; + exports.isValidElementType = isValidElementType; + exports.typeOf = typeOf; + })(); + } + } +}); + +// ../../.yarn/cache/react-is-npm-16.13.1-a9b9382b4f-33977da7a5.zip/node_modules/react-is/index.js +var require_react_is = __commonJS({ + "../../.yarn/cache/react-is-npm-16.13.1-a9b9382b4f-33977da7a5.zip/node_modules/react-is/index.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_react_is_development(); + } + } +}); + +// ../../.yarn/cache/hoist-non-react-statics-npm-3.3.2-e7b709e6c1-fe0889169e.zip/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js +var require_hoist_non_react_statics_cjs = __commonJS({ + "../../.yarn/cache/hoist-non-react-statics-npm-3.3.2-e7b709e6c1-fe0889169e.zip/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"(exports, module) { + "use strict"; + var reactIs = require_react_is(); + var REACT_STATICS = { + childContextTypes: true, + contextType: true, + contextTypes: true, + defaultProps: true, + displayName: true, + getDefaultProps: true, + getDerivedStateFromError: true, + getDerivedStateFromProps: true, + mixins: true, + propTypes: true, + type: true + }; + var KNOWN_STATICS = { + name: true, + length: true, + prototype: true, + caller: true, + callee: true, + arguments: true, + arity: true + }; + var FORWARD_REF_STATICS = { + "$$typeof": true, + render: true, + defaultProps: true, + displayName: true, + propTypes: true + }; + var MEMO_STATICS = { + "$$typeof": true, + compare: true, + defaultProps: true, + displayName: true, + propTypes: true, + type: true + }; + var TYPE_STATICS = {}; + TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; + TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; + function getStatics(component) { + if (reactIs.isMemo(component)) { + return MEMO_STATICS; + } + return TYPE_STATICS[component["$$typeof"]] || REACT_STATICS; + } + var defineProperty = Object.defineProperty; + var getOwnPropertyNames = Object.getOwnPropertyNames; + var getOwnPropertySymbols = Object.getOwnPropertySymbols; + var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + var getPrototypeOf = Object.getPrototypeOf; + var objectPrototype = Object.prototype; + function hoistNonReactStatics2(targetComponent, sourceComponent, blacklist) { + if (typeof sourceComponent !== "string") { + if (objectPrototype) { + var inheritedComponent = getPrototypeOf(sourceComponent); + if (inheritedComponent && inheritedComponent !== objectPrototype) { + hoistNonReactStatics2(targetComponent, inheritedComponent, blacklist); + } + } + var keys = getOwnPropertyNames(sourceComponent); + if (getOwnPropertySymbols) { + keys = keys.concat(getOwnPropertySymbols(sourceComponent)); + } + var targetStatics = getStatics(targetComponent); + var sourceStatics = getStatics(sourceComponent); + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { + var descriptor = getOwnPropertyDescriptor(sourceComponent, key); + try { + defineProperty(targetComponent, key, descriptor); + } catch (e) { + } + } + } + } + return targetComponent; + } + module.exports = hoistNonReactStatics2; + } +}); + +// ../../.yarn/__virtual__/@emotion-react-virtual-686424a14f/0/cache/@emotion-react-npm-11.14.0-2743f93910-d0864f571a.zip/node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.js +var React2 = __toESM(require_react()); +var import_react = __toESM(require_react()); +init_extends(); + +// ../../.yarn/__virtual__/@emotion-react-virtual-686424a14f/0/cache/@emotion-react-npm-11.14.0-2743f93910-d0864f571a.zip/node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.esm.js +var import_hoist_non_react_statics = __toESM(require_hoist_non_react_statics_cjs()); +var hoistNonReactStatics = function(targetComponent, sourceComponent) { + return (0, import_hoist_non_react_statics.default)(targetComponent, sourceComponent); +}; + +// ../../.yarn/__virtual__/@emotion-react-virtual-686424a14f/0/cache/@emotion-react-npm-11.14.0-2743f93910-d0864f571a.zip/node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.js +init_emotion_serialize_development_esm(); + +// ../../.yarn/__virtual__/@emotion-use-insertion-effect-with-fallbacks-virtual-8fb17bd752/0/cache/@emotion-use-insertion-effect-with-fallbacks-npm-1.2.0-a897c3d989-074dbc92b9.zip/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js +var React = __toESM(require_react()); +var syncFallback = function syncFallback2(create) { + return create(); +}; +var useInsertionEffect2 = React["useInsertionEffect"] ? React["useInsertionEffect"] : false; +var useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect2 || syncFallback; +var useInsertionEffectWithLayoutFallback = useInsertionEffect2 || React.useLayoutEffect; + +// ../../.yarn/__virtual__/@emotion-react-virtual-686424a14f/0/cache/@emotion-react-npm-11.14.0-2743f93910-d0864f571a.zip/node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.js +var EmotionCacheContext = React2.createContext( + // we're doing this to avoid preconstruct's dead code elimination in this one case + // because this module is primarily intended for the browser and node + // but it's also required in react native and similar environments sometimes + // and we could have a special build just for that + // but this is much easier and the native packages + // might use a different theme context in the future anyway + typeof HTMLElement !== "undefined" ? createCache({ + key: "css" + }) : null +); +{ + EmotionCacheContext.displayName = "EmotionCacheContext"; +} +var CacheProvider = EmotionCacheContext.Provider; +var __unsafe_useEmotionCache = function useEmotionCache() { + return (0, import_react.useContext)(EmotionCacheContext); +}; +var withEmotionCache = function withEmotionCache2(func) { + return (0, import_react.forwardRef)(function(props, ref) { + var cache = (0, import_react.useContext)(EmotionCacheContext); + return func(props, cache, ref); + }); +}; +var ThemeContext = React2.createContext({}); +{ + ThemeContext.displayName = "EmotionThemeContext"; +} +var useTheme = function useTheme2() { + return React2.useContext(ThemeContext); +}; +var getTheme = function getTheme2(outerTheme, theme) { + if (typeof theme === "function") { + var mergedTheme = theme(outerTheme); + if (mergedTheme == null || typeof mergedTheme !== "object" || Array.isArray(mergedTheme)) { + throw new Error("[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!"); + } + return mergedTheme; + } + if (theme == null || typeof theme !== "object" || Array.isArray(theme)) { + throw new Error("[ThemeProvider] Please make your theme prop a plain object"); + } + return _extends({}, outerTheme, theme); +}; +var createCacheWithTheme = weakMemoize(function(outerTheme) { + return weakMemoize(function(theme) { + return getTheme(outerTheme, theme); + }); +}); +var ThemeProvider = function ThemeProvider2(props) { + var theme = React2.useContext(ThemeContext); + if (props.theme !== theme) { + theme = createCacheWithTheme(theme)(props.theme); + } + return React2.createElement(ThemeContext.Provider, { + value: theme + }, props.children); +}; +function withTheme(Component) { + var componentName = Component.displayName || Component.name || "Component"; + var WithTheme = React2.forwardRef(function render(props, ref) { + var theme = React2.useContext(ThemeContext); + return React2.createElement(Component, _extends({ + theme, + ref + }, props)); + }); + WithTheme.displayName = "WithTheme(" + componentName + ")"; + return hoistNonReactStatics(WithTheme, Component); +} +var hasOwn = {}.hasOwnProperty; +var getLastPart = function getLastPart2(functionName) { + var parts = functionName.split("."); + return parts[parts.length - 1]; +}; +var getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine2(line) { + var match = /^\s+at\s+([A-Za-z0-9$.]+)\s/.exec(line); + if (match) return getLastPart(match[1]); + match = /^([A-Za-z0-9$.]+)@/.exec(line); + if (match) return getLastPart(match[1]); + return void 0; +}; +var internalReactFunctionNames = /* @__PURE__ */ new Set(["renderWithHooks", "processChild", "finishClassComponent", "renderToString"]); +var sanitizeIdentifier = function sanitizeIdentifier2(identifier) { + return identifier.replace(/\$/g, "-"); +}; +var getLabelFromStackTrace = function getLabelFromStackTrace2(stackTrace) { + if (!stackTrace) return void 0; + var lines = stackTrace.split("\n"); + for (var i = 0; i < lines.length; i++) { + var functionName = getFunctionNameFromStackTraceLine(lines[i]); + if (!functionName) continue; + if (internalReactFunctionNames.has(functionName)) break; + if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName); + } + return void 0; +}; +var typePropName = "__EMOTION_TYPE_PLEASE_DO_NOT_USE__"; +var labelPropName = "__EMOTION_LABEL_PLEASE_DO_NOT_USE__"; +var createEmotionProps = function createEmotionProps2(type, props) { + if (typeof props.css === "string" && // check if there is a css declaration + props.css.indexOf(":") !== -1) { + throw new Error("Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`" + props.css + "`"); + } + var newProps = {}; + for (var _key in props) { + if (hasOwn.call(props, _key)) { + newProps[_key] = props[_key]; + } + } + newProps[typePropName] = type; + if (typeof globalThis !== "undefined" && !!globalThis.EMOTION_RUNTIME_AUTO_LABEL && !!props.css && (typeof props.css !== "object" || !("name" in props.css) || typeof props.css.name !== "string" || props.css.name.indexOf("-") === -1)) { + var label = getLabelFromStackTrace(new Error().stack); + if (label) newProps[labelPropName] = label; + } + return newProps; +}; +var Insertion = function Insertion2(_ref) { + var cache = _ref.cache, serialized = _ref.serialized, isStringTag = _ref.isStringTag; + registerStyles(cache, serialized, isStringTag); + useInsertionEffectAlwaysWithSyncFallback(function() { + return insertStyles(cache, serialized, isStringTag); + }); + return null; +}; +var Emotion = withEmotionCache(function(props, cache, ref) { + var cssProp = props.css; + if (typeof cssProp === "string" && cache.registered[cssProp] !== void 0) { + cssProp = cache.registered[cssProp]; + } + var WrappedComponent = props[typePropName]; + var registeredStyles = [cssProp]; + var className = ""; + if (typeof props.className === "string") { + className = getRegisteredStyles(cache.registered, registeredStyles, props.className); + } else if (props.className != null) { + className = props.className + " "; + } + var serialized = serializeStyles(registeredStyles, void 0, React2.useContext(ThemeContext)); + if (serialized.name.indexOf("-") === -1) { + var labelFromStack = props[labelPropName]; + if (labelFromStack) { + serialized = serializeStyles([serialized, "label:" + labelFromStack + ";"]); + } + } + className += cache.key + "-" + serialized.name; + var newProps = {}; + for (var _key2 in props) { + if (hasOwn.call(props, _key2) && _key2 !== "css" && _key2 !== typePropName && _key2 !== labelPropName) { + newProps[_key2] = props[_key2]; + } + } + newProps.className = className; + if (ref) { + newProps.ref = ref; + } + return React2.createElement(React2.Fragment, null, React2.createElement(Insertion, { + cache, + serialized, + isStringTag: typeof WrappedComponent === "string" + }), React2.createElement(WrappedComponent, newProps)); +}); +{ + Emotion.displayName = "EmotionCssPropInternal"; +} +var Emotion$1 = Emotion; + +// ../../.yarn/__virtual__/@emotion-react-virtual-686424a14f/0/cache/@emotion-react-npm-11.14.0-2743f93910-d0864f571a.zip/node_modules/@emotion/react/dist/emotion-react.browser.development.esm.js +var React3 = __toESM(require_react()); +init_emotion_serialize_development_esm(); +init_extends(); +var import_hoist_non_react_statics2 = __toESM(require_hoist_non_react_statics_cjs()); +var isDevelopment = true; +var pkg = { + name: "@emotion/react", + version: "11.14.0", + main: "dist/emotion-react.cjs.js", + module: "dist/emotion-react.esm.js", + types: "dist/emotion-react.cjs.d.ts", + exports: { + ".": { + types: { + "import": "./dist/emotion-react.cjs.mjs", + "default": "./dist/emotion-react.cjs.js" + }, + development: { + "edge-light": { + module: "./dist/emotion-react.development.edge-light.esm.js", + "import": "./dist/emotion-react.development.edge-light.cjs.mjs", + "default": "./dist/emotion-react.development.edge-light.cjs.js" + }, + worker: { + module: "./dist/emotion-react.development.edge-light.esm.js", + "import": "./dist/emotion-react.development.edge-light.cjs.mjs", + "default": "./dist/emotion-react.development.edge-light.cjs.js" + }, + workerd: { + module: "./dist/emotion-react.development.edge-light.esm.js", + "import": "./dist/emotion-react.development.edge-light.cjs.mjs", + "default": "./dist/emotion-react.development.edge-light.cjs.js" + }, + browser: { + module: "./dist/emotion-react.browser.development.esm.js", + "import": "./dist/emotion-react.browser.development.cjs.mjs", + "default": "./dist/emotion-react.browser.development.cjs.js" + }, + module: "./dist/emotion-react.development.esm.js", + "import": "./dist/emotion-react.development.cjs.mjs", + "default": "./dist/emotion-react.development.cjs.js" + }, + "edge-light": { + module: "./dist/emotion-react.edge-light.esm.js", + "import": "./dist/emotion-react.edge-light.cjs.mjs", + "default": "./dist/emotion-react.edge-light.cjs.js" + }, + worker: { + module: "./dist/emotion-react.edge-light.esm.js", + "import": "./dist/emotion-react.edge-light.cjs.mjs", + "default": "./dist/emotion-react.edge-light.cjs.js" + }, + workerd: { + module: "./dist/emotion-react.edge-light.esm.js", + "import": "./dist/emotion-react.edge-light.cjs.mjs", + "default": "./dist/emotion-react.edge-light.cjs.js" + }, + browser: { + module: "./dist/emotion-react.browser.esm.js", + "import": "./dist/emotion-react.browser.cjs.mjs", + "default": "./dist/emotion-react.browser.cjs.js" + }, + module: "./dist/emotion-react.esm.js", + "import": "./dist/emotion-react.cjs.mjs", + "default": "./dist/emotion-react.cjs.js" + }, + "./jsx-runtime": { + types: { + "import": "./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs", + "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js" + }, + development: { + "edge-light": { + module: "./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.esm.js", + "import": "./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.mjs", + "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.js" + }, + worker: { + module: "./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.esm.js", + "import": "./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.mjs", + "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.js" + }, + workerd: { + module: "./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.esm.js", + "import": "./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.mjs", + "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.js" + }, + browser: { + module: "./jsx-runtime/dist/emotion-react-jsx-runtime.browser.development.esm.js", + "import": "./jsx-runtime/dist/emotion-react-jsx-runtime.browser.development.cjs.mjs", + "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.browser.development.cjs.js" + }, + module: "./jsx-runtime/dist/emotion-react-jsx-runtime.development.esm.js", + "import": "./jsx-runtime/dist/emotion-react-jsx-runtime.development.cjs.mjs", + "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.development.cjs.js" + }, + "edge-light": { + module: "./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.esm.js", + "import": "./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.mjs", + "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.js" + }, + worker: { + module: "./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.esm.js", + "import": "./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.mjs", + "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.js" + }, + workerd: { + module: "./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.esm.js", + "import": "./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.mjs", + "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.js" + }, + browser: { + module: "./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js", + "import": "./jsx-runtime/dist/emotion-react-jsx-runtime.browser.cjs.mjs", + "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.browser.cjs.js" + }, + module: "./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js", + "import": "./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs", + "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js" + }, + "./_isolated-hnrs": { + types: { + "import": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs", + "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js" + }, + development: { + "edge-light": { + module: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.esm.js", + "import": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.mjs", + "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.js" + }, + worker: { + module: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.esm.js", + "import": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.mjs", + "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.js" + }, + workerd: { + module: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.esm.js", + "import": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.mjs", + "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.js" + }, + browser: { + module: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.esm.js", + "import": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.cjs.mjs", + "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.cjs.js" + }, + module: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.esm.js", + "import": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.cjs.mjs", + "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.cjs.js" + }, + "edge-light": { + module: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.esm.js", + "import": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.mjs", + "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.js" + }, + worker: { + module: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.esm.js", + "import": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.mjs", + "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.js" + }, + workerd: { + module: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.esm.js", + "import": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.mjs", + "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.js" + }, + browser: { + module: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js", + "import": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.cjs.mjs", + "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.cjs.js" + }, + module: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js", + "import": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs", + "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js" + }, + "./jsx-dev-runtime": { + types: { + "import": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs", + "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js" + }, + development: { + "edge-light": { + module: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.esm.js", + "import": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.mjs", + "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.js" + }, + worker: { + module: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.esm.js", + "import": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.mjs", + "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.js" + }, + workerd: { + module: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.esm.js", + "import": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.mjs", + "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.js" + }, + browser: { + module: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.development.esm.js", + "import": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.development.cjs.mjs", + "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.development.cjs.js" + }, + module: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.esm.js", + "import": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.cjs.mjs", + "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.cjs.js" + }, + "edge-light": { + module: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.esm.js", + "import": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.mjs", + "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.js" + }, + worker: { + module: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.esm.js", + "import": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.mjs", + "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.js" + }, + workerd: { + module: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.esm.js", + "import": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.mjs", + "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.js" + }, + browser: { + module: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js", + "import": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.cjs.mjs", + "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.cjs.js" + }, + module: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js", + "import": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs", + "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js" + }, + "./package.json": "./package.json", + "./types/css-prop": "./types/css-prop.d.ts", + "./macro": { + types: { + "import": "./macro.d.mts", + "default": "./macro.d.ts" + }, + "default": "./macro.js" + } + }, + imports: { + "#is-development": { + development: "./src/conditions/true.ts", + "default": "./src/conditions/false.ts" + }, + "#is-browser": { + "edge-light": "./src/conditions/false.ts", + workerd: "./src/conditions/false.ts", + worker: "./src/conditions/false.ts", + browser: "./src/conditions/true.ts", + "default": "./src/conditions/is-browser.ts" + } + }, + files: [ + "src", + "dist", + "jsx-runtime", + "jsx-dev-runtime", + "_isolated-hnrs", + "types/css-prop.d.ts", + "macro.*" + ], + sideEffects: false, + author: "Emotion Contributors", + license: "MIT", + scripts: { + "test:typescript": "dtslint types" + }, + dependencies: { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "hoist-non-react-statics": "^3.3.1" + }, + peerDependencies: { + react: ">=16.8.0" + }, + peerDependenciesMeta: { + "@types/react": { + optional: true + } + }, + devDependencies: { + "@definitelytyped/dtslint": "0.0.112", + "@emotion/css": "11.13.5", + "@emotion/css-prettifier": "1.2.0", + "@emotion/server": "11.11.0", + "@emotion/styled": "11.14.0", + "@types/hoist-non-react-statics": "^3.3.5", + "html-tag-names": "^1.1.2", + react: "16.14.0", + "svg-tag-names": "^1.1.1", + typescript: "^5.4.5" + }, + repository: "https://github.com/emotion-js/emotion/tree/main/packages/react", + publishConfig: { + access: "public" + }, + "umd:main": "dist/emotion-react.umd.min.js", + preconstruct: { + entrypoints: [ + "./index.ts", + "./jsx-runtime.ts", + "./jsx-dev-runtime.ts", + "./_isolated-hnrs.ts" + ], + umdName: "emotionReact", + exports: { + extra: { + "./types/css-prop": "./types/css-prop.d.ts", + "./macro": { + types: { + "import": "./macro.d.mts", + "default": "./macro.d.ts" + }, + "default": "./macro.js" + } + } + } + } +}; +var jsx = function jsx2(type, props) { + var args = arguments; + if (props == null || !hasOwn.call(props, "css")) { + return React3.createElement.apply(void 0, args); + } + var argsLength = args.length; + var createElementArgArray = new Array(argsLength); + createElementArgArray[0] = Emotion$1; + createElementArgArray[1] = createEmotionProps(type, props); + for (var i = 2; i < argsLength; i++) { + createElementArgArray[i] = args[i]; + } + return React3.createElement.apply(null, createElementArgArray); +}; +(function(_jsx) { + var JSX; + /* @__PURE__ */ (function(_JSX) { + })(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {}))); +})(jsx || (jsx = {})); +var warnedAboutCssPropForGlobal = false; +var Global = withEmotionCache(function(props, cache) { + if (!warnedAboutCssPropForGlobal && // check for className as well since the user is + // probably using the custom createElement which + // means it will be turned into a className prop + // I don't really want to add it to the type since it shouldn't be used + ("className" in props && props.className || "css" in props && props.css)) { + console.error("It looks like you're using the css prop on Global, did you mean to use the styles prop instead?"); + warnedAboutCssPropForGlobal = true; + } + var styles = props.styles; + var serialized = serializeStyles([styles], void 0, React3.useContext(ThemeContext)); + var sheetRef = React3.useRef(); + useInsertionEffectWithLayoutFallback(function() { + var key = cache.key + "-global"; + var sheet = new cache.sheet.constructor({ + key, + nonce: cache.sheet.nonce, + container: cache.sheet.container, + speedy: cache.sheet.isSpeedy + }); + var rehydrating = false; + var node = document.querySelector('style[data-emotion="' + key + " " + serialized.name + '"]'); + if (cache.sheet.tags.length) { + sheet.before = cache.sheet.tags[0]; + } + if (node !== null) { + rehydrating = true; + node.setAttribute("data-emotion", key); + sheet.hydrate([node]); + } + sheetRef.current = [sheet, rehydrating]; + return function() { + sheet.flush(); + }; + }, [cache]); + useInsertionEffectWithLayoutFallback(function() { + var sheetRefCurrent = sheetRef.current; + var sheet = sheetRefCurrent[0], rehydrating = sheetRefCurrent[1]; + if (rehydrating) { + sheetRefCurrent[1] = false; + return; + } + if (serialized.next !== void 0) { + insertStyles(cache, serialized.next, true); + } + if (sheet.tags.length) { + var element = sheet.tags[sheet.tags.length - 1].nextElementSibling; + sheet.before = element; + sheet.flush(); + } + cache.insert("", serialized, sheet, false); + }, [cache, serialized.name]); + return null; +}); +{ + Global.displayName = "EmotionGlobal"; +} +function css() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return serializeStyles(args); +} +function keyframes() { + var insertable = css.apply(void 0, arguments); + var name = "animation-" + insertable.name; + return { + name, + styles: "@keyframes " + name + "{" + insertable.styles + "}", + anim: 1, + toString: function toString() { + return "_EMO_" + this.name + "_" + this.styles + "_EMO_"; + } + }; +} +var classnames = function classnames2(args) { + var len = args.length; + var i = 0; + var cls = ""; + for (; i < len; i++) { + var arg = args[i]; + if (arg == null) continue; + var toAdd = void 0; + switch (typeof arg) { + case "boolean": + break; + case "object": { + if (Array.isArray(arg)) { + toAdd = classnames2(arg); + } else { + if (arg.styles !== void 0 && arg.name !== void 0) { + console.error("You have passed styles created with `css` from `@emotion/react` package to the `cx`.\n`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component."); + } + toAdd = ""; + for (var k in arg) { + if (arg[k] && k) { + toAdd && (toAdd += " "); + toAdd += k; + } + } + } + break; + } + default: { + toAdd = arg; + } + } + if (toAdd) { + cls && (cls += " "); + cls += toAdd; + } + } + return cls; +}; +function merge(registered, css2, className) { + var registeredStyles = []; + var rawClassName = getRegisteredStyles(registered, registeredStyles, className); + if (registeredStyles.length < 2) { + return className; + } + return rawClassName + css2(registeredStyles); +} +var Insertion3 = function Insertion4(_ref) { + var cache = _ref.cache, serializedArr = _ref.serializedArr; + useInsertionEffectAlwaysWithSyncFallback(function() { + for (var i = 0; i < serializedArr.length; i++) { + insertStyles(cache, serializedArr[i], false); + } + }); + return null; +}; +var ClassNames = withEmotionCache(function(props, cache) { + var hasRendered = false; + var serializedArr = []; + var css2 = function css3() { + if (hasRendered && isDevelopment) { + throw new Error("css can only be used during render"); + } + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + var serialized = serializeStyles(args, cache.registered); + serializedArr.push(serialized); + registerStyles(cache, serialized, false); + return cache.key + "-" + serialized.name; + }; + var cx = function cx2() { + if (hasRendered && isDevelopment) { + throw new Error("cx can only be used during render"); + } + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + return merge(cache.registered, css2, classnames(args)); + }; + var content = { + css: css2, + cx, + theme: React3.useContext(ThemeContext) + }; + var ele = props.children(content); + hasRendered = true; + return React3.createElement(React3.Fragment, null, React3.createElement(Insertion3, { + cache, + serializedArr + }), ele); +}); +{ + ClassNames.displayName = "EmotionClassNames"; +} +{ + isBrowser = typeof document !== "undefined"; + isTestEnv = typeof jest !== "undefined" || typeof vi !== "undefined"; + if (isBrowser && !isTestEnv) { + globalContext = typeof globalThis !== "undefined" ? globalThis : isBrowser ? window : global; + globalKey = "__EMOTION_REACT_" + pkg.version.split(".")[0] + "__"; + if (globalContext[globalKey]) { + console.warn("You are loading @emotion/react when it is already loaded. Running multiple instances may cause problems. This can happen if multiple versions are used, or if multiple builds of the same version are used."); + } + globalContext[globalKey] = true; + } +} +var isBrowser; +var isTestEnv; +var globalContext; +var globalKey; + +export { + useInsertionEffectAlwaysWithSyncFallback, + CacheProvider, + __unsafe_useEmotionCache, + withEmotionCache, + ThemeContext, + useTheme, + ThemeProvider, + withTheme, + jsx, + Global, + css, + keyframes, + ClassNames +}; +/*! Bundled license information: + +react-is/cjs/react-is.development.js: + (** @license React v16.13.1 + * react-is.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) +*/ +//# sourceMappingURL=chunk-3AUTVWZM.js.map diff --git a/packages/user/.vite/deps/chunk-3AUTVWZM.js.map b/packages/user/.vite/deps/chunk-3AUTVWZM.js.map new file mode 100644 index 0000000..cbccdeb --- /dev/null +++ b/packages/user/.vite/deps/chunk-3AUTVWZM.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../.yarn/cache/react-is-npm-16.13.1-a9b9382b4f-33977da7a5.zip/node_modules/react-is/cjs/react-is.development.js", "../../../../.yarn/cache/react-is-npm-16.13.1-a9b9382b4f-33977da7a5.zip/node_modules/react-is/index.js", "../../../../.yarn/cache/hoist-non-react-statics-npm-3.3.2-e7b709e6c1-fe0889169e.zip/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js", "../../../../.yarn/__virtual__/@emotion-react-virtual-686424a14f/0/cache/@emotion-react-npm-11.14.0-2743f93910-d0864f571a.zip/node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.js", "../../../../.yarn/__virtual__/@emotion-react-virtual-686424a14f/0/cache/@emotion-react-npm-11.14.0-2743f93910-d0864f571a.zip/node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.esm.js", "../../../../.yarn/__virtual__/@emotion-use-insertion-effect-with-fallbacks-virtual-8fb17bd752/0/cache/@emotion-use-insertion-effect-with-fallbacks-npm-1.2.0-a897c3d989-074dbc92b9.zip/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js", "../../../../.yarn/__virtual__/@emotion-react-virtual-686424a14f/0/cache/@emotion-react-npm-11.14.0-2743f93910-d0864f571a.zip/node_modules/@emotion/react/dist/emotion-react.browser.development.esm.js"], + "sourcesContent": ["/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n", "'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n", "import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\n{\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\n{\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if ((mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if ((theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n var WithTheme = /*#__PURE__*/React.forwardRef(function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n });\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var _key in props) {\n if (hasOwn.call(props, _key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n // - It causes hydration warnings when using Safari and SSR\n // - It can degrade performance if there are a huge number of elements\n //\n // Even if the flag is set, we still don't compute the label if it has already\n // been determined by the Babel plugin.\n\n if (typeof globalThis !== 'undefined' && !!globalThis.EMOTION_RUNTIME_AUTO_LABEL && !!props.css && (typeof props.css !== 'object' || !('name' in props.css) || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var _key2 in props) {\n if (hasOwn.call(props, _key2) && _key2 !== 'css' && _key2 !== typePropName && (_key2 !== labelPropName)) {\n newProps[_key2] = props[_key2];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\n{\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, useTheme as u, withEmotionCache as w };\n", "import hoistNonReactStatics$1 from 'hoist-non-react-statics';\n\n// this file isolates this package that is not tree-shakeable\n// and if this module doesn't actually contain any logic of its own\n// then Rollup just use 'hoist-non-react-statics' directly in other chunks\n\nvar hoistNonReactStatics = (function (targetComponent, sourceComponent) {\n return hoistNonReactStatics$1(targetComponent, sourceComponent);\n});\n\nexport { hoistNonReactStatics as default };\n", "import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n", "import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-489459f2.browser.development.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-489459f2.browser.development.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.esm.js';\nimport 'hoist-non-react-statics';\n\nvar isDevelopment = true;\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.14.0\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\ttypes: \"dist/emotion-react.cjs.d.ts\",\n\texports: {\n\t\t\".\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t\t},\n\t\t\tdevelopment: {\n\t\t\t\t\"edge-light\": {\n\t\t\t\t\tmodule: \"./dist/emotion-react.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./dist/emotion-react.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./dist/emotion-react.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworker: {\n\t\t\t\t\tmodule: \"./dist/emotion-react.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./dist/emotion-react.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./dist/emotion-react.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworkerd: {\n\t\t\t\t\tmodule: \"./dist/emotion-react.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./dist/emotion-react.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./dist/emotion-react.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tbrowser: {\n\t\t\t\t\tmodule: \"./dist/emotion-react.browser.development.esm.js\",\n\t\t\t\t\t\"import\": \"./dist/emotion-react.browser.development.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./dist/emotion-react.browser.development.cjs.js\"\n\t\t\t\t},\n\t\t\t\tmodule: \"./dist/emotion-react.development.esm.js\",\n\t\t\t\t\"import\": \"./dist/emotion-react.development.cjs.mjs\",\n\t\t\t\t\"default\": \"./dist/emotion-react.development.cjs.js\"\n\t\t\t},\n\t\t\t\"edge-light\": {\n\t\t\t\tmodule: \"./dist/emotion-react.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./dist/emotion-react.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./dist/emotion-react.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworker: {\n\t\t\t\tmodule: \"./dist/emotion-react.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./dist/emotion-react.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./dist/emotion-react.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworkerd: {\n\t\t\t\tmodule: \"./dist/emotion-react.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./dist/emotion-react.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./dist/emotion-react.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tbrowser: {\n\t\t\t\tmodule: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"import\": \"./dist/emotion-react.browser.cjs.mjs\",\n\t\t\t\t\"default\": \"./dist/emotion-react.browser.cjs.js\"\n\t\t\t},\n\t\t\tmodule: \"./dist/emotion-react.esm.js\",\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t\t},\n\t\t\tdevelopment: {\n\t\t\t\t\"edge-light\": {\n\t\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworker: {\n\t\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworkerd: {\n\t\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tbrowser: {\n\t\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.development.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.development.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.development.cjs.js\"\n\t\t\t\t},\n\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.esm.js\",\n\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.cjs.js\"\n\t\t\t},\n\t\t\t\"edge-light\": {\n\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworker: {\n\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworkerd: {\n\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tbrowser: {\n\t\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.cjs.js\"\n\t\t\t},\n\t\t\tmodule: \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\",\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t\t},\n\t\t\tdevelopment: {\n\t\t\t\t\"edge-light\": {\n\t\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworker: {\n\t\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworkerd: {\n\t\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tbrowser: {\n\t\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.esm.js\",\n\t\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.cjs.js\"\n\t\t\t\t},\n\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.esm.js\",\n\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.cjs.mjs\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.cjs.js\"\n\t\t\t},\n\t\t\t\"edge-light\": {\n\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworker: {\n\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworkerd: {\n\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tbrowser: {\n\t\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.cjs.mjs\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.cjs.js\"\n\t\t\t},\n\t\t\tmodule: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\",\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t\t},\n\t\t\tdevelopment: {\n\t\t\t\t\"edge-light\": {\n\t\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworker: {\n\t\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tworkerd: {\n\t\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.js\"\n\t\t\t\t},\n\t\t\t\tbrowser: {\n\t\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.development.esm.js\",\n\t\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.development.cjs.mjs\",\n\t\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.development.cjs.js\"\n\t\t\t\t},\n\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.esm.js\",\n\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.cjs.js\"\n\t\t\t},\n\t\t\t\"edge-light\": {\n\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworker: {\n\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tworkerd: {\n\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.esm.js\",\n\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.js\"\n\t\t\t},\n\t\t\tbrowser: {\n\t\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.cjs.mjs\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.cjs.js\"\n\t\t\t},\n\t\t\tmodule: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\",\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\timports: {\n\t\t\"#is-development\": {\n\t\t\tdevelopment: \"./src/conditions/true.ts\",\n\t\t\t\"default\": \"./src/conditions/false.ts\"\n\t\t},\n\t\t\"#is-browser\": {\n\t\t\t\"edge-light\": \"./src/conditions/false.ts\",\n\t\t\tworkerd: \"./src/conditions/false.ts\",\n\t\t\tworker: \"./src/conditions/false.ts\",\n\t\t\tbrowser: \"./src/conditions/true.ts\",\n\t\t\t\"default\": \"./src/conditions/is-browser.ts\"\n\t\t}\n\t},\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/css-prop.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.13.5\",\n\t\t\"@emotion/cache\": \"^11.14.0\",\n\t\t\"@emotion/serialize\": \"^1.3.3\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.2.0\",\n\t\t\"@emotion/utils\": \"^1.4.2\",\n\t\t\"@emotion/weak-memoize\": \"^0.4.0\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.13.5\",\n\t\t\"@emotion/css-prettifier\": \"1.2.0\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.14.0\",\n\t\t\"@types/hoist-non-react-statics\": \"^3.3.5\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^5.4.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.ts\",\n\t\t\t\"./jsx-runtime.ts\",\n\t\t\t\"./jsx-dev-runtime.ts\",\n\t\t\t\"./_isolated-hnrs.ts\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\n(function (_jsx) {\n var JSX;\n\n (function (_JSX) {})(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));\n})(jsx || (jsx = {}));\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (!warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // I don't really want to add it to the type since it shouldn't be used\n 'className' in props && props.className || 'css' in props && props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\n{\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nfunction keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n}\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\n{\n ClassNames.displayName = 'EmotionClassNames';\n}\n\n{\n var isBrowser = typeof document !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n"], + "mappings": "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", + "names": ["Fragment", "hoistNonReactStatics", "React", "hoistNonReactStatics$1", "syncFallback", "useInsertionEffect", "withEmotionCache", "useTheme", "getTheme", "ThemeProvider", "getLastPart", "getFunctionNameFromStackTraceLine", "sanitizeIdentifier", "getLabelFromStackTrace", "createEmotionProps", "Insertion", "React", "import_hoist_non_react_statics", "jsx", "classnames", "css", "Insertion", "cx"] +} diff --git a/packages/user/.vite/deps/chunk-55NPQQDX.js b/packages/user/.vite/deps/chunk-55NPQQDX.js new file mode 100644 index 0000000..d32f76d --- /dev/null +++ b/packages/user/.vite/deps/chunk-55NPQQDX.js @@ -0,0 +1,928 @@ +import { + require_react +} from "./chunk-DHYUYUAP.js"; +import { + __commonJS +} from "./chunk-OL46QLBJ.js"; + +// ../../.yarn/cache/react-npm-18.3.1-af38f3c1ae-283e8c5efc.zip/node_modules/react/cjs/react-jsx-runtime.development.js +var require_react_jsx_runtime_development = __commonJS({ + "../../.yarn/cache/react-npm-18.3.1-af38f3c1ae-283e8c5efc.zip/node_modules/react/cjs/react-jsx-runtime.development.js"(exports) { + "use strict"; + if (true) { + (function() { + "use strict"; + var React = require_react(); + var REACT_ELEMENT_TYPE = Symbol.for("react.element"); + var REACT_PORTAL_TYPE = Symbol.for("react.portal"); + var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); + var REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"); + var REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + var REACT_PROVIDER_TYPE = Symbol.for("react.provider"); + var REACT_CONTEXT_TYPE = Symbol.for("react.context"); + var REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"); + var REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"); + var REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"); + var REACT_MEMO_TYPE = Symbol.for("react.memo"); + var REACT_LAZY_TYPE = Symbol.for("react.lazy"); + var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"); + var MAYBE_ITERATOR_SYMBOL = Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = "@@iterator"; + function getIteratorFn(maybeIterable) { + if (maybeIterable === null || typeof maybeIterable !== "object") { + return null; + } + var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; + if (typeof maybeIterator === "function") { + return maybeIterator; + } + return null; + } + var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; + function error(format) { + { + { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + printWarning("error", format, args); + } + } + } + function printWarning(level, format, args) { + { + var ReactDebugCurrentFrame2 = ReactSharedInternals.ReactDebugCurrentFrame; + var stack = ReactDebugCurrentFrame2.getStackAddendum(); + if (stack !== "") { + format += "%s"; + args = args.concat([stack]); + } + var argsWithFormat = args.map(function(item) { + return String(item); + }); + argsWithFormat.unshift("Warning: " + format); + Function.prototype.apply.call(console[level], console, argsWithFormat); + } + } + var enableScopeAPI = false; + var enableCacheElement = false; + var enableTransitionTracing = false; + var enableLegacyHidden = false; + var enableDebugTracing = false; + var REACT_MODULE_REFERENCE; + { + REACT_MODULE_REFERENCE = Symbol.for("react.module.reference"); + } + function isValidElementType(type) { + if (typeof type === "string" || typeof type === "function") { + return true; + } + if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) { + return true; + } + if (typeof type === "object" && type !== null) { + if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object + // types supported by any Flight configuration anywhere since + // we don't know which Flight build this will end up being used + // with. + type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== void 0) { + return true; + } + } + return false; + } + function getWrappedName(outerType, innerType, wrapperName) { + var displayName = outerType.displayName; + if (displayName) { + return displayName; + } + var functionName = innerType.displayName || innerType.name || ""; + return functionName !== "" ? wrapperName + "(" + functionName + ")" : wrapperName; + } + function getContextName(type) { + return type.displayName || "Context"; + } + function getComponentNameFromType(type) { + if (type == null) { + return null; + } + { + if (typeof type.tag === "number") { + error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."); + } + } + if (typeof type === "function") { + return type.displayName || type.name || null; + } + if (typeof type === "string") { + return type; + } + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + } + if (typeof type === "object") { + switch (type.$$typeof) { + case REACT_CONTEXT_TYPE: + var context = type; + return getContextName(context) + ".Consumer"; + case REACT_PROVIDER_TYPE: + var provider = type; + return getContextName(provider._context) + ".Provider"; + case REACT_FORWARD_REF_TYPE: + return getWrappedName(type, type.render, "ForwardRef"); + case REACT_MEMO_TYPE: + var outerName = type.displayName || null; + if (outerName !== null) { + return outerName; + } + return getComponentNameFromType(type.type) || "Memo"; + case REACT_LAZY_TYPE: { + var lazyComponent = type; + var payload = lazyComponent._payload; + var init = lazyComponent._init; + try { + return getComponentNameFromType(init(payload)); + } catch (x) { + return null; + } + } + } + } + return null; + } + var assign = Object.assign; + var disabledDepth = 0; + var prevLog; + var prevInfo; + var prevWarn; + var prevError; + var prevGroup; + var prevGroupCollapsed; + var prevGroupEnd; + function disabledLog() { + } + disabledLog.__reactDisabledLog = true; + function disableLogs() { + { + if (disabledDepth === 0) { + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; + var props = { + configurable: true, + enumerable: true, + value: disabledLog, + writable: true + }; + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props + }); + } + disabledDepth++; + } + } + function reenableLogs() { + { + disabledDepth--; + if (disabledDepth === 0) { + var props = { + configurable: true, + enumerable: true, + writable: true + }; + Object.defineProperties(console, { + log: assign({}, props, { + value: prevLog + }), + info: assign({}, props, { + value: prevInfo + }), + warn: assign({}, props, { + value: prevWarn + }), + error: assign({}, props, { + value: prevError + }), + group: assign({}, props, { + value: prevGroup + }), + groupCollapsed: assign({}, props, { + value: prevGroupCollapsed + }), + groupEnd: assign({}, props, { + value: prevGroupEnd + }) + }); + } + if (disabledDepth < 0) { + error("disabledDepth fell below zero. This is a bug in React. Please file an issue."); + } + } + } + var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; + var prefix; + function describeBuiltInComponentFrame(name, source, ownerFn) { + { + if (prefix === void 0) { + try { + throw Error(); + } catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = match && match[1] || ""; + } + } + return "\n" + prefix + name; + } + } + var reentry = false; + var componentFrameCache; + { + var PossiblyWeakMap = typeof WeakMap === "function" ? WeakMap : Map; + componentFrameCache = new PossiblyWeakMap(); + } + function describeNativeComponentFrame(fn, construct) { + if (!fn || reentry) { + return ""; + } + { + var frame = componentFrameCache.get(fn); + if (frame !== void 0) { + return frame; + } + } + var control; + reentry = true; + var previousPrepareStackTrace = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + var previousDispatcher; + { + previousDispatcher = ReactCurrentDispatcher.current; + ReactCurrentDispatcher.current = null; + disableLogs(); + } + try { + if (construct) { + var Fake = function() { + throw Error(); + }; + Object.defineProperty(Fake.prototype, "props", { + set: function() { + throw Error(); + } + }); + if (typeof Reflect === "object" && Reflect.construct) { + try { + Reflect.construct(Fake, []); + } catch (x) { + control = x; + } + Reflect.construct(fn, [], Fake); + } else { + try { + Fake.call(); + } catch (x) { + control = x; + } + fn.call(Fake.prototype); + } + } else { + try { + throw Error(); + } catch (x) { + control = x; + } + fn(); + } + } catch (sample) { + if (sample && control && typeof sample.stack === "string") { + var sampleLines = sample.stack.split("\n"); + var controlLines = control.stack.split("\n"); + var s = sampleLines.length - 1; + var c = controlLines.length - 1; + while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) { + c--; + } + for (; s >= 1 && c >= 0; s--, c--) { + if (sampleLines[s] !== controlLines[c]) { + if (s !== 1 || c !== 1) { + do { + s--; + c--; + if (c < 0 || sampleLines[s] !== controlLines[c]) { + var _frame = "\n" + sampleLines[s].replace(" at new ", " at "); + if (fn.displayName && _frame.includes("")) { + _frame = _frame.replace("", fn.displayName); + } + { + if (typeof fn === "function") { + componentFrameCache.set(fn, _frame); + } + } + return _frame; + } + } while (s >= 1 && c >= 0); + } + break; + } + } + } + } finally { + reentry = false; + { + ReactCurrentDispatcher.current = previousDispatcher; + reenableLogs(); + } + Error.prepareStackTrace = previousPrepareStackTrace; + } + var name = fn ? fn.displayName || fn.name : ""; + var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ""; + { + if (typeof fn === "function") { + componentFrameCache.set(fn, syntheticFrame); + } + } + return syntheticFrame; + } + function describeFunctionComponentFrame(fn, source, ownerFn) { + { + return describeNativeComponentFrame(fn, false); + } + } + function shouldConstruct(Component) { + var prototype = Component.prototype; + return !!(prototype && prototype.isReactComponent); + } + function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) { + if (type == null) { + return ""; + } + if (typeof type === "function") { + { + return describeNativeComponentFrame(type, shouldConstruct(type)); + } + } + if (typeof type === "string") { + return describeBuiltInComponentFrame(type); + } + switch (type) { + case REACT_SUSPENSE_TYPE: + return describeBuiltInComponentFrame("Suspense"); + case REACT_SUSPENSE_LIST_TYPE: + return describeBuiltInComponentFrame("SuspenseList"); + } + if (typeof type === "object") { + switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + return describeFunctionComponentFrame(type.render); + case REACT_MEMO_TYPE: + return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn); + case REACT_LAZY_TYPE: { + var lazyComponent = type; + var payload = lazyComponent._payload; + var init = lazyComponent._init; + try { + return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); + } catch (x) { + } + } + } + } + return ""; + } + var hasOwnProperty = Object.prototype.hasOwnProperty; + var loggedTypeFailures = {}; + var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; + function setCurrentlyValidatingElement(element) { + { + if (element) { + var owner = element._owner; + var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); + ReactDebugCurrentFrame.setExtraStackFrame(stack); + } else { + ReactDebugCurrentFrame.setExtraStackFrame(null); + } + } + } + function checkPropTypes(typeSpecs, values, location, componentName, element) { + { + var has = Function.call.bind(hasOwnProperty); + for (var typeSpecName in typeSpecs) { + if (has(typeSpecs, typeSpecName)) { + var error$1 = void 0; + try { + if (typeof typeSpecs[typeSpecName] !== "function") { + var err = Error((componentName || "React class") + ": " + location + " type `" + typeSpecName + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof typeSpecs[typeSpecName] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."); + err.name = "Invariant Violation"; + throw err; + } + error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); + } catch (ex) { + error$1 = ex; + } + if (error$1 && !(error$1 instanceof Error)) { + setCurrentlyValidatingElement(element); + error("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", componentName || "React class", location, typeSpecName, typeof error$1); + setCurrentlyValidatingElement(null); + } + if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) { + loggedTypeFailures[error$1.message] = true; + setCurrentlyValidatingElement(element); + error("Failed %s type: %s", location, error$1.message); + setCurrentlyValidatingElement(null); + } + } + } + } + } + var isArrayImpl = Array.isArray; + function isArray(a) { + return isArrayImpl(a); + } + function typeName(value) { + { + var hasToStringTag = typeof Symbol === "function" && Symbol.toStringTag; + var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; + return type; + } + } + function willCoercionThrow(value) { + { + try { + testStringCoercion(value); + return false; + } catch (e) { + return true; + } + } + } + function testStringCoercion(value) { + return "" + value; + } + function checkKeyStringCoercion(value) { + { + if (willCoercionThrow(value)) { + error("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", typeName(value)); + return testStringCoercion(value); + } + } + } + var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner; + var RESERVED_PROPS = { + key: true, + ref: true, + __self: true, + __source: true + }; + var specialPropKeyWarningShown; + var specialPropRefWarningShown; + var didWarnAboutStringRefs; + { + didWarnAboutStringRefs = {}; + } + function hasValidRef(config) { + { + if (hasOwnProperty.call(config, "ref")) { + var getter = Object.getOwnPropertyDescriptor(config, "ref").get; + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.ref !== void 0; + } + function hasValidKey(config) { + { + if (hasOwnProperty.call(config, "key")) { + var getter = Object.getOwnPropertyDescriptor(config, "key").get; + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.key !== void 0; + } + function warnIfStringRefCannotBeAutoConverted(config, self) { + { + if (typeof config.ref === "string" && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) { + var componentName = getComponentNameFromType(ReactCurrentOwner.current.type); + if (!didWarnAboutStringRefs[componentName]) { + error('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref); + didWarnAboutStringRefs[componentName] = true; + } + } + } + } + function defineKeyPropWarningGetter(props, displayName) { + { + var warnAboutAccessingKey = function() { + if (!specialPropKeyWarningShown) { + specialPropKeyWarningShown = true; + error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", displayName); + } + }; + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, "key", { + get: warnAboutAccessingKey, + configurable: true + }); + } + } + function defineRefPropWarningGetter(props, displayName) { + { + var warnAboutAccessingRef = function() { + if (!specialPropRefWarningShown) { + specialPropRefWarningShown = true; + error("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", displayName); + } + }; + warnAboutAccessingRef.isReactWarning = true; + Object.defineProperty(props, "ref", { + get: warnAboutAccessingRef, + configurable: true + }); + } + } + var ReactElement = function(type, key, ref, self, source, owner, props) { + var element = { + // This tag allows us to uniquely identify this as a React Element + $$typeof: REACT_ELEMENT_TYPE, + // Built-in properties that belong on the element + type, + key, + ref, + props, + // Record the component responsible for creating this element. + _owner: owner + }; + { + element._store = {}; + Object.defineProperty(element._store, "validated", { + configurable: false, + enumerable: false, + writable: true, + value: false + }); + Object.defineProperty(element, "_self", { + configurable: false, + enumerable: false, + writable: false, + value: self + }); + Object.defineProperty(element, "_source", { + configurable: false, + enumerable: false, + writable: false, + value: source + }); + if (Object.freeze) { + Object.freeze(element.props); + Object.freeze(element); + } + } + return element; + }; + function jsxDEV(type, config, maybeKey, source, self) { + { + var propName; + var props = {}; + var key = null; + var ref = null; + if (maybeKey !== void 0) { + { + checkKeyStringCoercion(maybeKey); + } + key = "" + maybeKey; + } + if (hasValidKey(config)) { + { + checkKeyStringCoercion(config.key); + } + key = "" + config.key; + } + if (hasValidRef(config)) { + ref = config.ref; + warnIfStringRefCannotBeAutoConverted(config, self); + } + for (propName in config) { + if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { + props[propName] = config[propName]; + } + } + if (type && type.defaultProps) { + var defaultProps = type.defaultProps; + for (propName in defaultProps) { + if (props[propName] === void 0) { + props[propName] = defaultProps[propName]; + } + } + } + if (key || ref) { + var displayName = typeof type === "function" ? type.displayName || type.name || "Unknown" : type; + if (key) { + defineKeyPropWarningGetter(props, displayName); + } + if (ref) { + defineRefPropWarningGetter(props, displayName); + } + } + return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); + } + } + var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner; + var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame; + function setCurrentlyValidatingElement$1(element) { + { + if (element) { + var owner = element._owner; + var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); + ReactDebugCurrentFrame$1.setExtraStackFrame(stack); + } else { + ReactDebugCurrentFrame$1.setExtraStackFrame(null); + } + } + } + var propTypesMisspellWarningShown; + { + propTypesMisspellWarningShown = false; + } + function isValidElement(object) { + { + return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; + } + } + function getDeclarationErrorAddendum() { + { + if (ReactCurrentOwner$1.current) { + var name = getComponentNameFromType(ReactCurrentOwner$1.current.type); + if (name) { + return "\n\nCheck the render method of `" + name + "`."; + } + } + return ""; + } + } + function getSourceInfoErrorAddendum(source) { + { + if (source !== void 0) { + var fileName = source.fileName.replace(/^.*[\\\/]/, ""); + var lineNumber = source.lineNumber; + return "\n\nCheck your code at " + fileName + ":" + lineNumber + "."; + } + return ""; + } + } + var ownerHasKeyUseWarning = {}; + function getCurrentComponentErrorInfo(parentType) { + { + var info = getDeclarationErrorAddendum(); + if (!info) { + var parentName = typeof parentType === "string" ? parentType : parentType.displayName || parentType.name; + if (parentName) { + info = "\n\nCheck the top-level render call using <" + parentName + ">."; + } + } + return info; + } + } + function validateExplicitKey(element, parentType) { + { + if (!element._store || element._store.validated || element.key != null) { + return; + } + element._store.validated = true; + var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); + if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { + return; + } + ownerHasKeyUseWarning[currentComponentErrorInfo] = true; + var childOwner = ""; + if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) { + childOwner = " It was passed a child from " + getComponentNameFromType(element._owner.type) + "."; + } + setCurrentlyValidatingElement$1(element); + error('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner); + setCurrentlyValidatingElement$1(null); + } + } + function validateChildKeys(node, parentType) { + { + if (typeof node !== "object") { + return; + } + if (isArray(node)) { + for (var i = 0; i < node.length; i++) { + var child = node[i]; + if (isValidElement(child)) { + validateExplicitKey(child, parentType); + } + } + } else if (isValidElement(node)) { + if (node._store) { + node._store.validated = true; + } + } else if (node) { + var iteratorFn = getIteratorFn(node); + if (typeof iteratorFn === "function") { + if (iteratorFn !== node.entries) { + var iterator = iteratorFn.call(node); + var step; + while (!(step = iterator.next()).done) { + if (isValidElement(step.value)) { + validateExplicitKey(step.value, parentType); + } + } + } + } + } + } + } + function validatePropTypes(element) { + { + var type = element.type; + if (type === null || type === void 0 || typeof type === "string") { + return; + } + var propTypes; + if (typeof type === "function") { + propTypes = type.propTypes; + } else if (typeof type === "object" && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here. + // Inner props are checked in the reconciler. + type.$$typeof === REACT_MEMO_TYPE)) { + propTypes = type.propTypes; + } else { + return; + } + if (propTypes) { + var name = getComponentNameFromType(type); + checkPropTypes(propTypes, element.props, "prop", name, element); + } else if (type.PropTypes !== void 0 && !propTypesMisspellWarningShown) { + propTypesMisspellWarningShown = true; + var _name = getComponentNameFromType(type); + error("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", _name || "Unknown"); + } + if (typeof type.getDefaultProps === "function" && !type.getDefaultProps.isReactClassApproved) { + error("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead."); + } + } + } + function validateFragmentProps(fragment) { + { + var keys = Object.keys(fragment.props); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (key !== "children" && key !== "key") { + setCurrentlyValidatingElement$1(fragment); + error("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", key); + setCurrentlyValidatingElement$1(null); + break; + } + } + if (fragment.ref !== null) { + setCurrentlyValidatingElement$1(fragment); + error("Invalid attribute `ref` supplied to `React.Fragment`."); + setCurrentlyValidatingElement$1(null); + } + } + } + var didWarnAboutKeySpread = {}; + function jsxWithValidation(type, props, key, isStaticChildren, source, self) { + { + var validType = isValidElementType(type); + if (!validType) { + var info = ""; + if (type === void 0 || typeof type === "object" && type !== null && Object.keys(type).length === 0) { + info += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."; + } + var sourceInfo = getSourceInfoErrorAddendum(source); + if (sourceInfo) { + info += sourceInfo; + } else { + info += getDeclarationErrorAddendum(); + } + var typeString; + if (type === null) { + typeString = "null"; + } else if (isArray(type)) { + typeString = "array"; + } else if (type !== void 0 && type.$$typeof === REACT_ELEMENT_TYPE) { + typeString = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />"; + info = " Did you accidentally export a JSX literal instead of a component?"; + } else { + typeString = typeof type; + } + error("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", typeString, info); + } + var element = jsxDEV(type, props, key, source, self); + if (element == null) { + return element; + } + if (validType) { + var children = props.children; + if (children !== void 0) { + if (isStaticChildren) { + if (isArray(children)) { + for (var i = 0; i < children.length; i++) { + validateChildKeys(children[i], type); + } + if (Object.freeze) { + Object.freeze(children); + } + } else { + error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."); + } + } else { + validateChildKeys(children, type); + } + } + } + { + if (hasOwnProperty.call(props, "key")) { + var componentName = getComponentNameFromType(type); + var keys = Object.keys(props).filter(function(k) { + return k !== "key"; + }); + var beforeExample = keys.length > 0 ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}"; + if (!didWarnAboutKeySpread[componentName + beforeExample]) { + var afterExample = keys.length > 0 ? "{" + keys.join(": ..., ") + ": ...}" : "{}"; + error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName); + didWarnAboutKeySpread[componentName + beforeExample] = true; + } + } + } + if (type === REACT_FRAGMENT_TYPE) { + validateFragmentProps(element); + } else { + validatePropTypes(element); + } + return element; + } + } + function jsxWithValidationStatic(type, props, key) { + { + return jsxWithValidation(type, props, key, true); + } + } + function jsxWithValidationDynamic(type, props, key) { + { + return jsxWithValidation(type, props, key, false); + } + } + var jsx = jsxWithValidationDynamic; + var jsxs = jsxWithValidationStatic; + exports.Fragment = REACT_FRAGMENT_TYPE; + exports.jsx = jsx; + exports.jsxs = jsxs; + })(); + } + } +}); + +// ../../.yarn/cache/react-npm-18.3.1-af38f3c1ae-283e8c5efc.zip/node_modules/react/jsx-runtime.js +var require_jsx_runtime = __commonJS({ + "../../.yarn/cache/react-npm-18.3.1-af38f3c1ae-283e8c5efc.zip/node_modules/react/jsx-runtime.js"(exports, module) { + if (false) { + module.exports = null; + } else { + module.exports = require_react_jsx_runtime_development(); + } + } +}); + +export { + require_jsx_runtime +}; +/*! Bundled license information: + +react/cjs/react-jsx-runtime.development.js: + (** + * @license React + * react-jsx-runtime.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) +*/ +//# sourceMappingURL=chunk-55NPQQDX.js.map diff --git a/packages/user/.vite/deps/chunk-55NPQQDX.js.map b/packages/user/.vite/deps/chunk-55NPQQDX.js.map new file mode 100644 index 0000000..e12ad29 --- /dev/null +++ b/packages/user/.vite/deps/chunk-55NPQQDX.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../.yarn/cache/react-npm-18.3.1-af38f3c1ae-283e8c5efc.zip/node_modules/react/cjs/react-jsx-runtime.development.js", "../../../../.yarn/cache/react-npm-18.3.1-af38f3c1ae-283e8c5efc.zip/node_modules/react/jsx-runtime.js"], + "sourcesContent": ["/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie.
\n // or
). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n //
, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n {\n if (hasOwnProperty.call(props, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(props).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n"], + "mappings": "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", + "names": ["ReactDebugCurrentFrame"] +} diff --git a/packages/user/.vite/deps/chunk-CP36PE7K.js b/packages/user/.vite/deps/chunk-CP36PE7K.js new file mode 100644 index 0000000..ca5fd76 --- /dev/null +++ b/packages/user/.vite/deps/chunk-CP36PE7K.js @@ -0,0 +1,634 @@ +import { + COMMENT, + DECLARATION, + KEYFRAMES, + MOZ, + MS, + RULESET, + WEBKIT, + alloc, + charat, + combine, + compile, + copy, + dealloc, + delimit, + from, + hash, + indexof, + init_emotion_memoize_esm, + init_stylis, + match, + middleware, + next, + peek, + position, + replace, + serialize, + slice, + stringify, + strlen, + token +} from "./chunk-YNZKW5RL.js"; + +// ../../.yarn/cache/@emotion-weak-memoize-npm-0.4.0-76aafb2333-64376af11f.zip/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js +var weakMemoize = function weakMemoize2(func) { + var cache = /* @__PURE__ */ new WeakMap(); + return function(arg) { + if (cache.has(arg)) { + return cache.get(arg); + } + var ret = func(arg); + cache.set(arg, ret); + return ret; + }; +}; + +// ../../.yarn/cache/@emotion-sheet-npm-1.4.0-fb64d8f222-3ca72d1650.zip/node_modules/@emotion/sheet/dist/emotion-sheet.development.esm.js +var isDevelopment = true; +function sheetForTag(tag) { + if (tag.sheet) { + return tag.sheet; + } + for (var i = 0; i < document.styleSheets.length; i++) { + if (document.styleSheets[i].ownerNode === tag) { + return document.styleSheets[i]; + } + } + return void 0; +} +function createStyleElement(options) { + var tag = document.createElement("style"); + tag.setAttribute("data-emotion", options.key); + if (options.nonce !== void 0) { + tag.setAttribute("nonce", options.nonce); + } + tag.appendChild(document.createTextNode("")); + tag.setAttribute("data-s", ""); + return tag; +} +var StyleSheet = function() { + function StyleSheet2(options) { + var _this = this; + this._insertTag = function(tag) { + var before; + if (_this.tags.length === 0) { + if (_this.insertionPoint) { + before = _this.insertionPoint.nextSibling; + } else if (_this.prepend) { + before = _this.container.firstChild; + } else { + before = _this.before; + } + } else { + before = _this.tags[_this.tags.length - 1].nextSibling; + } + _this.container.insertBefore(tag, before); + _this.tags.push(tag); + }; + this.isSpeedy = options.speedy === void 0 ? !isDevelopment : options.speedy; + this.tags = []; + this.ctr = 0; + this.nonce = options.nonce; + this.key = options.key; + this.container = options.container; + this.prepend = options.prepend; + this.insertionPoint = options.insertionPoint; + this.before = null; + } + var _proto = StyleSheet2.prototype; + _proto.hydrate = function hydrate(nodes) { + nodes.forEach(this._insertTag); + }; + _proto.insert = function insert(rule) { + if (this.ctr % (this.isSpeedy ? 65e3 : 1) === 0) { + this._insertTag(createStyleElement(this)); + } + var tag = this.tags[this.tags.length - 1]; + { + var isImportRule3 = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105; + if (isImportRule3 && this._alreadyInsertedOrderInsensitiveRule) { + console.error("You're attempting to insert the following rule:\n" + rule + "\n\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules."); + } + this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule3; + } + if (this.isSpeedy) { + var sheet = sheetForTag(tag); + try { + sheet.insertRule(rule, sheet.cssRules.length); + } catch (e) { + if (!/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) { + console.error('There was a problem inserting the following rule: "' + rule + '"', e); + } + } + } else { + tag.appendChild(document.createTextNode(rule)); + } + this.ctr++; + }; + _proto.flush = function flush() { + this.tags.forEach(function(tag) { + var _tag$parentNode; + return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag); + }); + this.tags = []; + this.ctr = 0; + { + this._alreadyInsertedOrderInsensitiveRule = false; + } + }; + return StyleSheet2; +}(); + +// ../../.yarn/cache/@emotion-cache-npm-11.14.0-83baa0ff98-3fa3e7a431.zip/node_modules/@emotion/cache/dist/emotion-cache.browser.development.esm.js +init_stylis(); +init_emotion_memoize_esm(); +var identifierWithPointTracking = function identifierWithPointTracking2(begin, points, index) { + var previous = 0; + var character = 0; + while (true) { + previous = character; + character = peek(); + if (previous === 38 && character === 12) { + points[index] = 1; + } + if (token(character)) { + break; + } + next(); + } + return slice(begin, position); +}; +var toRules = function toRules2(parsed, points) { + var index = -1; + var character = 44; + do { + switch (token(character)) { + case 0: + if (character === 38 && peek() === 12) { + points[index] = 1; + } + parsed[index] += identifierWithPointTracking(position - 1, points, index); + break; + case 2: + parsed[index] += delimit(character); + break; + case 4: + if (character === 44) { + parsed[++index] = peek() === 58 ? "&\f" : ""; + points[index] = parsed[index].length; + break; + } + // fallthrough + default: + parsed[index] += from(character); + } + } while (character = next()); + return parsed; +}; +var getRules = function getRules2(value, points) { + return dealloc(toRules(alloc(value), points)); +}; +var fixedElements = /* @__PURE__ */ new WeakMap(); +var compat = function compat2(element) { + if (element.type !== "rule" || !element.parent || // positive .length indicates that this rule contains pseudo + // negative .length indicates that this rule has been already prefixed + element.length < 1) { + return; + } + var value = element.value; + var parent = element.parent; + var isImplicitRule = element.column === parent.column && element.line === parent.line; + while (parent.type !== "rule") { + parent = parent.parent; + if (!parent) return; + } + if (element.props.length === 1 && value.charCodeAt(0) !== 58 && !fixedElements.get(parent)) { + return; + } + if (isImplicitRule) { + return; + } + fixedElements.set(element, true); + var points = []; + var rules = getRules(value, points); + var parentRules = parent.props; + for (var i = 0, k = 0; i < rules.length; i++) { + for (var j = 0; j < parentRules.length; j++, k++) { + element.props[k] = points[i] ? rules[i].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i]; + } + } +}; +var removeLabel = function removeLabel2(element) { + if (element.type === "decl") { + var value = element.value; + if ( + // charcode for l + value.charCodeAt(0) === 108 && // charcode for b + value.charCodeAt(2) === 98 + ) { + element["return"] = ""; + element.value = ""; + } + } +}; +var ignoreFlag = "emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason"; +var isIgnoringComment = function isIgnoringComment2(element) { + return element.type === "comm" && element.children.indexOf(ignoreFlag) > -1; +}; +var createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm2(cache) { + return function(element, index, children) { + if (element.type !== "rule" || cache.compat) return; + var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g); + if (unsafePseudoClasses) { + var isNested = !!element.parent; + var commentContainer = isNested ? element.parent.children : ( + // global rule at the root level + children + ); + for (var i = commentContainer.length - 1; i >= 0; i--) { + var node = commentContainer[i]; + if (node.line < element.line) { + break; + } + if (node.column < element.column) { + if (isIgnoringComment(node)) { + return; + } + break; + } + } + unsafePseudoClasses.forEach(function(unsafePseudoClass) { + console.error('The pseudo class "' + unsafePseudoClass + '" is potentially unsafe when doing server-side rendering. Try changing it to "' + unsafePseudoClass.split("-child")[0] + '-of-type".'); + }); + } + }; +}; +var isImportRule = function isImportRule2(element) { + return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64; +}; +var isPrependedWithRegularRules = function isPrependedWithRegularRules2(index, children) { + for (var i = index - 1; i >= 0; i--) { + if (!isImportRule(children[i])) { + return true; + } + } + return false; +}; +var nullifyElement = function nullifyElement2(element) { + element.type = ""; + element.value = ""; + element["return"] = ""; + element.children = ""; + element.props = ""; +}; +var incorrectImportAlarm = function incorrectImportAlarm2(element, index, children) { + if (!isImportRule(element)) { + return; + } + if (element.parent) { + console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles."); + nullifyElement(element); + } else if (isPrependedWithRegularRules(index, children)) { + console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules."); + nullifyElement(element); + } +}; +function prefix(value, length) { + switch (hash(value, length)) { + // color-adjust + case 5103: + return WEBKIT + "print-" + value + value; + // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function) + case 5737: + case 4201: + case 3177: + case 3433: + case 1641: + case 4457: + case 2921: + // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break + case 5572: + case 6356: + case 5844: + case 3191: + case 6645: + case 3005: + // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite, + case 6391: + case 5879: + case 5623: + case 6135: + case 4599: + case 4855: + // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width) + case 4215: + case 6389: + case 5109: + case 5365: + case 5621: + case 3829: + return WEBKIT + value + value; + // appearance, user-select, transform, hyphens, text-size-adjust + case 5349: + case 4246: + case 4810: + case 6968: + case 2756: + return WEBKIT + value + MOZ + value + MS + value + value; + // flex, flex-direction + case 6828: + case 4268: + return WEBKIT + value + MS + value + value; + // order + case 6165: + return WEBKIT + value + MS + "flex-" + value + value; + // align-items + case 5187: + return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + "box-$1$2" + MS + "flex-$1$2") + value; + // align-self + case 5443: + return WEBKIT + value + MS + "flex-item-" + replace(value, /flex-|-self/, "") + value; + // align-content + case 4675: + return WEBKIT + value + MS + "flex-line-pack" + replace(value, /align-content|flex-|-self/, "") + value; + // flex-shrink + case 5548: + return WEBKIT + value + MS + replace(value, "shrink", "negative") + value; + // flex-basis + case 5292: + return WEBKIT + value + MS + replace(value, "basis", "preferred-size") + value; + // flex-grow + case 6060: + return WEBKIT + "box-" + replace(value, "-grow", "") + WEBKIT + value + MS + replace(value, "grow", "positive") + value; + // transition + case 4554: + return WEBKIT + replace(value, /([^-])(transform)/g, "$1" + WEBKIT + "$2") + value; + // cursor + case 6187: + return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + "$1"), /(image-set)/, WEBKIT + "$1"), value, "") + value; + // background, background-image + case 5495: + case 3959: + return replace(value, /(image-set\([^]*)/, WEBKIT + "$1$`$1"); + // justify-content + case 4968: + return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + "box-pack:$3" + MS + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + WEBKIT + value + value; + // (margin|padding)-inline-(start|end) + case 4095: + case 3583: + case 4068: + case 2532: + return replace(value, /(.+)-inline(.+)/, WEBKIT + "$1$2") + value; + // (min|max)?(width|height|inline-size|block-size) + case 8116: + case 7059: + case 5753: + case 5535: + case 5445: + case 5701: + case 4933: + case 4677: + case 5533: + case 5789: + case 5021: + case 4765: + if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) { + // (m)ax-content, (m)in-content + case 109: + if (charat(value, length + 4) !== 45) break; + // (f)ill-available, (f)it-content + case 102: + return replace(value, /(.+:)(.+)-([^]+)/, "$1" + WEBKIT + "$2-$3$1" + MOZ + (charat(value, length + 3) == 108 ? "$3" : "$2-$3")) + value; + // (s)tretch + case 115: + return ~indexof(value, "stretch") ? prefix(replace(value, "stretch", "fill-available"), length) + value : value; + } + break; + // position: sticky + case 4949: + if (charat(value, length + 1) !== 115) break; + // display: (flex|inline-flex) + case 6444: + switch (charat(value, strlen(value) - 3 - (~indexof(value, "!important") && 10))) { + // stic(k)y + case 107: + return replace(value, ":", ":" + WEBKIT) + value; + // (inline-)?fl(e)x + case 101: + return replace(value, /(.+:)([^;!]+)(;|!.+)?/, "$1" + WEBKIT + (charat(value, 14) === 45 ? "inline-" : "") + "box$3$1" + WEBKIT + "$2$3$1" + MS + "$2box$3") + value; + } + break; + // writing-mode + case 5936: + switch (charat(value, length + 11)) { + // vertical-l(r) + case 114: + return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb") + value; + // vertical-r(l) + case 108: + return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb-rl") + value; + // horizontal(-)tb + case 45: + return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "lr") + value; + } + return WEBKIT + value + MS + value + value; + } + return value; +} +var prefixer = function prefixer2(element, index, children, callback) { + if (element.length > -1) { + if (!element["return"]) switch (element.type) { + case DECLARATION: + element["return"] = prefix(element.value, element.length); + break; + case KEYFRAMES: + return serialize([copy(element, { + value: replace(element.value, "@", "@" + WEBKIT) + })], callback); + case RULESET: + if (element.length) return combine(element.props, function(value) { + switch (match(value, /(::plac\w+|:read-\w+)/)) { + // :read-(only|write) + case ":read-only": + case ":read-write": + return serialize([copy(element, { + props: [replace(value, /:(read-\w+)/, ":" + MOZ + "$1")] + })], callback); + // :placeholder + case "::placeholder": + return serialize([copy(element, { + props: [replace(value, /:(plac\w+)/, ":" + WEBKIT + "input-$1")] + }), copy(element, { + props: [replace(value, /:(plac\w+)/, ":" + MOZ + "$1")] + }), copy(element, { + props: [replace(value, /:(plac\w+)/, MS + "input-$1")] + })], callback); + } + return ""; + }); + } + } +}; +var defaultStylisPlugins = [prefixer]; +var getSourceMap; +{ + sourceMapPattern = /\/\*#\ssourceMappingURL=data:application\/json;\S+\s+\*\//g; + getSourceMap = function getSourceMap2(styles) { + var matches = styles.match(sourceMapPattern); + if (!matches) return; + return matches[matches.length - 1]; + }; +} +var sourceMapPattern; +var createCache = function createCache2(options) { + var key = options.key; + if (!key) { + throw new Error("You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\nIf multiple caches share the same key they might \"fight\" for each other's style elements."); + } + if (key === "css") { + var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])"); + Array.prototype.forEach.call(ssrStyles, function(node) { + var dataEmotionAttribute = node.getAttribute("data-emotion"); + if (dataEmotionAttribute.indexOf(" ") === -1) { + return; + } + document.head.appendChild(node); + node.setAttribute("data-s", ""); + }); + } + var stylisPlugins = options.stylisPlugins || defaultStylisPlugins; + { + if (/[^a-z-]/.test(key)) { + throw new Error('Emotion key must only contain lower case alphabetical characters and - but "' + key + '" was passed'); + } + } + var inserted = {}; + var container; + var nodesToHydrate = []; + { + container = options.container || document.head; + Array.prototype.forEach.call( + // this means we will ignore elements which don't have a space in them which + // means that the style elements we're looking at are only Emotion 11 server-rendered style elements + document.querySelectorAll('style[data-emotion^="' + key + ' "]'), + function(node) { + var attrib = node.getAttribute("data-emotion").split(" "); + for (var i = 1; i < attrib.length; i++) { + inserted[attrib[i]] = true; + } + nodesToHydrate.push(node); + } + ); + } + var _insert; + var omnipresentPlugins = [compat, removeLabel]; + { + omnipresentPlugins.push(createUnsafeSelectorsAlarm({ + get compat() { + return cache.compat; + } + }), incorrectImportAlarm); + } + { + var currentSheet; + var finalizingPlugins = [stringify, function(element) { + if (!element.root) { + if (element["return"]) { + currentSheet.insert(element["return"]); + } else if (element.value && element.type !== COMMENT) { + currentSheet.insert(element.value + "{}"); + } + } + }]; + var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins)); + var stylis = function stylis2(styles) { + return serialize(compile(styles), serializer); + }; + _insert = function insert(selector, serialized, sheet, shouldCache) { + currentSheet = sheet; + if (getSourceMap) { + var sourceMap = getSourceMap(serialized.styles); + if (sourceMap) { + currentSheet = { + insert: function insert2(rule) { + sheet.insert(rule + sourceMap); + } + }; + } + } + stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles); + if (shouldCache) { + cache.inserted[serialized.name] = true; + } + }; + } + var cache = { + key, + sheet: new StyleSheet({ + key, + container, + nonce: options.nonce, + speedy: options.speedy, + prepend: options.prepend, + insertionPoint: options.insertionPoint + }), + nonce: options.nonce, + inserted, + registered: {}, + insert: _insert + }; + cache.sheet.hydrate(nodesToHydrate); + return cache; +}; + +// ../../.yarn/cache/@emotion-utils-npm-1.4.2-2cf43fb561-7d0010bf60.zip/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js +var isBrowser = true; +function getRegisteredStyles(registered, registeredStyles, classNames) { + var rawClassName = ""; + classNames.split(" ").forEach(function(className) { + if (registered[className] !== void 0) { + registeredStyles.push(registered[className] + ";"); + } else if (className) { + rawClassName += className + " "; + } + }); + return rawClassName; +} +var registerStyles = function registerStyles2(cache, serialized, isStringTag) { + var className = cache.key + "-" + serialized.name; + if ( + // we only need to add the styles to the registered cache if the + // class name could be used further down + // the tree but if it's a string tag, we know it won't + // so we don't have to add it to registered cache. + // this improves memory usage since we can avoid storing the whole style string + (isStringTag === false || // we need to always store it if we're in compat mode and + // in node since emotion-server relies on whether a style is in + // the registered cache to know whether a style is global or not + // also, note that this check will be dead code eliminated in the browser + isBrowser === false) && cache.registered[className] === void 0 + ) { + cache.registered[className] = serialized.styles; + } +}; +var insertStyles = function insertStyles2(cache, serialized, isStringTag) { + registerStyles(cache, serialized, isStringTag); + var className = cache.key + "-" + serialized.name; + if (cache.inserted[serialized.name] === void 0) { + var current = serialized; + do { + cache.insert(serialized === current ? "." + className : "", current, cache.sheet, true); + current = current.next; + } while (current !== void 0); + } +}; + +export { + weakMemoize, + createCache, + getRegisteredStyles, + registerStyles, + insertStyles +}; +//# sourceMappingURL=chunk-CP36PE7K.js.map diff --git a/packages/user/.vite/deps/chunk-CP36PE7K.js.map b/packages/user/.vite/deps/chunk-CP36PE7K.js.map new file mode 100644 index 0000000..0313eb8 --- /dev/null +++ b/packages/user/.vite/deps/chunk-CP36PE7K.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../.yarn/cache/@emotion-weak-memoize-npm-0.4.0-76aafb2333-64376af11f.zip/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js", "../../../../.yarn/cache/@emotion-sheet-npm-1.4.0-fb64d8f222-3ca72d1650.zip/node_modules/@emotion/sheet/dist/emotion-sheet.development.esm.js", "../../../../.yarn/cache/@emotion-cache-npm-11.14.0-83baa0ff98-3fa3e7a431.zip/node_modules/@emotion/cache/dist/emotion-cache.browser.development.esm.js", "../../../../.yarn/cache/@emotion-utils-npm-1.4.2-2cf43fb561-7d0010bf60.zip/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js"], + "sourcesContent": ["var weakMemoize = function weakMemoize(func) {\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // Use non-null assertion because we just checked that the cache `has` it\n // This allows us to remove `undefined` from the return value\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\nexport { weakMemoize as default };\n", "var isDevelopment = true;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (!/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n", "import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, middleware, stringify, COMMENT, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value;\n var parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\nvar getSourceMap;\n\n{\n var sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n\n getSourceMap = function getSourceMap(styles) {\n var matches = styles.match(sourceMapPattern);\n if (!matches) return;\n return matches[matches.length - 1];\n };\n}\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (!key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n {\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } ];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (getSourceMap) {\n var sourceMap = getSourceMap(serialized.styles);\n\n if (sourceMap) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + sourceMap);\n }\n };\n }\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n", "var isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n"], + "mappings": "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", + "names": ["weakMemoize", "StyleSheet", "isImportRule", "identifierWithPointTracking", "toRules", "getRules", "compat", "removeLabel", "isIgnoringComment", "createUnsafeSelectorsAlarm", "isImportRule", "isPrependedWithRegularRules", "nullifyElement", "incorrectImportAlarm", "prefixer", "getSourceMap", "createCache", "stylis", "insert", "registerStyles", "insertStyles"] +} diff --git a/packages/user/.vite/deps/chunk-XZK5Q32F.js b/packages/user/.vite/deps/chunk-DHYUYUAP.js similarity index 99% rename from packages/user/.vite/deps/chunk-XZK5Q32F.js rename to packages/user/.vite/deps/chunk-DHYUYUAP.js index 6e8bcfa..683af84 100644 --- a/packages/user/.vite/deps/chunk-XZK5Q32F.js +++ b/packages/user/.vite/deps/chunk-DHYUYUAP.js @@ -1,7 +1,6 @@ -var __getOwnPropNames = Object.getOwnPropertyNames; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; +import { + __commonJS +} from "./chunk-OL46QLBJ.js"; // ../../.yarn/cache/react-npm-18.3.1-af38f3c1ae-283e8c5efc.zip/node_modules/react/cjs/react.development.js var require_react_development = __commonJS({ @@ -1889,7 +1888,6 @@ var require_react = __commonJS({ }); export { - __commonJS, require_react }; /*! Bundled license information: @@ -1905,4 +1903,4 @@ react/cjs/react.development.js: * LICENSE file in the root directory of this source tree. *) */ -//# sourceMappingURL=chunk-XZK5Q32F.js.map +//# sourceMappingURL=chunk-DHYUYUAP.js.map diff --git a/packages/user/.vite/deps/chunk-XZK5Q32F.js.map b/packages/user/.vite/deps/chunk-DHYUYUAP.js.map similarity index 72% rename from packages/user/.vite/deps/chunk-XZK5Q32F.js.map rename to packages/user/.vite/deps/chunk-DHYUYUAP.js.map index c5c0ce6..565ea8c 100644 --- a/packages/user/.vite/deps/chunk-XZK5Q32F.js.map +++ b/packages/user/.vite/deps/chunk-DHYUYUAP.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": ["../../../../.yarn/cache/react-npm-18.3.1-af38f3c1ae-283e8c5efc.zip/node_modules/react/cjs/react.development.js", "../../../../.yarn/cache/react-npm-18.3.1-af38f3c1ae-283e8c5efc.zip/node_modules/react/index.js"], "sourcesContent": ["/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.3.1';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame = {};\nvar currentExtraStackFrame = null;\nfunction setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n}\n\n{\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n\n return '';\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n {\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\nfunction createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\nfunction createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return validatedFactory;\n}\nfunction cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n\n validatePropTypes(newElement);\n return newElement;\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\nvar actScopeDepth = 0;\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n}\n\nfunction popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n}\n\nvar createElement$1 = createElementWithValidation ;\nvar cloneElement$1 = cloneElementWithValidation ;\nvar createFactory = createFactoryWithValidation ;\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.act = act;\nexports.cloneElement = cloneElement$1;\nexports.createContext = createContext;\nexports.createElement = createElement$1;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_act = act;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n"], - "mappings": "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", + "mappings": "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", "names": ["ReactDebugCurrentFrame", "moduleObject", "error", "Component", "returnValue"] } diff --git a/packages/user/.vite/deps/chunk-GME3E6MP.js b/packages/user/.vite/deps/chunk-GME3E6MP.js new file mode 100644 index 0000000..55a4fc4 --- /dev/null +++ b/packages/user/.vite/deps/chunk-GME3E6MP.js @@ -0,0 +1,24 @@ +import { + __esm +} from "./chunk-OL46QLBJ.js"; + +// ../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/extends.js +function _extends() { + return _extends = Object.assign ? Object.assign.bind() : function(n) { + for (var e = 1; e < arguments.length; e++) { + var t = arguments[e]; + for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); + } + return n; + }, _extends.apply(null, arguments); +} +var init_extends = __esm({ + "../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/extends.js"() { + } +}); + +export { + _extends, + init_extends +}; +//# sourceMappingURL=chunk-GME3E6MP.js.map diff --git a/packages/user/.vite/deps/chunk-GME3E6MP.js.map b/packages/user/.vite/deps/chunk-GME3E6MP.js.map new file mode 100644 index 0000000..b65486d --- /dev/null +++ b/packages/user/.vite/deps/chunk-GME3E6MP.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../.yarn/cache/@babel-runtime-npm-7.26.0-9afa3c4ef6-12c01357e0.zip/node_modules/@babel/runtime/helpers/esm/extends.js"], + "sourcesContent": ["function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };"], + "mappings": ";;;;;AAAA,SAAS,WAAW;AAClB,SAAO,WAAW,OAAO,SAAS,OAAO,OAAO,KAAK,IAAI,SAAU,GAAG;AACpE,aAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,UAAI,IAAI,UAAU,CAAC;AACnB,eAAS,KAAK,EAAG,EAAC,CAAC,GAAG,eAAe,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAAA,IAChE;AACA,WAAO;AAAA,EACT,GAAG,SAAS,MAAM,MAAM,SAAS;AACnC;AARA;AAAA;AAAA;AAAA;", + "names": [] +} diff --git a/packages/user/.vite/deps/chunk-KERQOROF.js b/packages/user/.vite/deps/chunk-KERQOROF.js new file mode 100644 index 0000000..27a9b23 --- /dev/null +++ b/packages/user/.vite/deps/chunk-KERQOROF.js @@ -0,0 +1,21687 @@ +import { + require_react +} from "./chunk-DHYUYUAP.js"; +import { + __commonJS +} from "./chunk-OL46QLBJ.js"; + +// ../../.yarn/cache/scheduler-npm-0.23.2-6d1dd9c2b7-26383305e2.zip/node_modules/scheduler/cjs/scheduler.development.js +var require_scheduler_development = __commonJS({ + "../../.yarn/cache/scheduler-npm-0.23.2-6d1dd9c2b7-26383305e2.zip/node_modules/scheduler/cjs/scheduler.development.js"(exports) { + "use strict"; + if (true) { + (function() { + "use strict"; + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") { + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); + } + var enableSchedulerDebugging = false; + var enableProfiling = false; + var frameYieldMs = 5; + function push(heap, node) { + var index = heap.length; + heap.push(node); + siftUp(heap, node, index); + } + function peek(heap) { + return heap.length === 0 ? null : heap[0]; + } + function pop(heap) { + if (heap.length === 0) { + return null; + } + var first = heap[0]; + var last = heap.pop(); + if (last !== first) { + heap[0] = last; + siftDown(heap, last, 0); + } + return first; + } + function siftUp(heap, node, i) { + var index = i; + while (index > 0) { + var parentIndex = index - 1 >>> 1; + var parent = heap[parentIndex]; + if (compare(parent, node) > 0) { + heap[parentIndex] = node; + heap[index] = parent; + index = parentIndex; + } else { + return; + } + } + } + function siftDown(heap, node, i) { + var index = i; + var length = heap.length; + var halfLength = length >>> 1; + while (index < halfLength) { + var leftIndex = (index + 1) * 2 - 1; + var left = heap[leftIndex]; + var rightIndex = leftIndex + 1; + var right = heap[rightIndex]; + if (compare(left, node) < 0) { + if (rightIndex < length && compare(right, left) < 0) { + heap[index] = right; + heap[rightIndex] = node; + index = rightIndex; + } else { + heap[index] = left; + heap[leftIndex] = node; + index = leftIndex; + } + } else if (rightIndex < length && compare(right, node) < 0) { + heap[index] = right; + heap[rightIndex] = node; + index = rightIndex; + } else { + return; + } + } + } + function compare(a, b) { + var diff = a.sortIndex - b.sortIndex; + return diff !== 0 ? diff : a.id - b.id; + } + var ImmediatePriority = 1; + var UserBlockingPriority = 2; + var NormalPriority = 3; + var LowPriority = 4; + var IdlePriority = 5; + function markTaskErrored(task, ms) { + } + var hasPerformanceNow = typeof performance === "object" && typeof performance.now === "function"; + if (hasPerformanceNow) { + var localPerformance = performance; + exports.unstable_now = function() { + return localPerformance.now(); + }; + } else { + var localDate = Date; + var initialTime = localDate.now(); + exports.unstable_now = function() { + return localDate.now() - initialTime; + }; + } + var maxSigned31BitInt = 1073741823; + var IMMEDIATE_PRIORITY_TIMEOUT = -1; + var USER_BLOCKING_PRIORITY_TIMEOUT = 250; + var NORMAL_PRIORITY_TIMEOUT = 5e3; + var LOW_PRIORITY_TIMEOUT = 1e4; + var IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; + var taskQueue = []; + var timerQueue = []; + var taskIdCounter = 1; + var currentTask = null; + var currentPriorityLevel = NormalPriority; + var isPerformingWork = false; + var isHostCallbackScheduled = false; + var isHostTimeoutScheduled = false; + var localSetTimeout = typeof setTimeout === "function" ? setTimeout : null; + var localClearTimeout = typeof clearTimeout === "function" ? clearTimeout : null; + var localSetImmediate = typeof setImmediate !== "undefined" ? setImmediate : null; + var isInputPending = typeof navigator !== "undefined" && navigator.scheduling !== void 0 && navigator.scheduling.isInputPending !== void 0 ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null; + function advanceTimers(currentTime) { + var timer = peek(timerQueue); + while (timer !== null) { + if (timer.callback === null) { + pop(timerQueue); + } else if (timer.startTime <= currentTime) { + pop(timerQueue); + timer.sortIndex = timer.expirationTime; + push(taskQueue, timer); + } else { + return; + } + timer = peek(timerQueue); + } + } + function handleTimeout(currentTime) { + isHostTimeoutScheduled = false; + advanceTimers(currentTime); + if (!isHostCallbackScheduled) { + if (peek(taskQueue) !== null) { + isHostCallbackScheduled = true; + requestHostCallback(flushWork); + } else { + var firstTimer = peek(timerQueue); + if (firstTimer !== null) { + requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime); + } + } + } + } + function flushWork(hasTimeRemaining, initialTime2) { + isHostCallbackScheduled = false; + if (isHostTimeoutScheduled) { + isHostTimeoutScheduled = false; + cancelHostTimeout(); + } + isPerformingWork = true; + var previousPriorityLevel = currentPriorityLevel; + try { + if (enableProfiling) { + try { + return workLoop(hasTimeRemaining, initialTime2); + } catch (error) { + if (currentTask !== null) { + var currentTime = exports.unstable_now(); + markTaskErrored(currentTask, currentTime); + currentTask.isQueued = false; + } + throw error; + } + } else { + return workLoop(hasTimeRemaining, initialTime2); + } + } finally { + currentTask = null; + currentPriorityLevel = previousPriorityLevel; + isPerformingWork = false; + } + } + function workLoop(hasTimeRemaining, initialTime2) { + var currentTime = initialTime2; + advanceTimers(currentTime); + currentTask = peek(taskQueue); + while (currentTask !== null && !enableSchedulerDebugging) { + if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) { + break; + } + var callback = currentTask.callback; + if (typeof callback === "function") { + currentTask.callback = null; + currentPriorityLevel = currentTask.priorityLevel; + var didUserCallbackTimeout = currentTask.expirationTime <= currentTime; + var continuationCallback = callback(didUserCallbackTimeout); + currentTime = exports.unstable_now(); + if (typeof continuationCallback === "function") { + currentTask.callback = continuationCallback; + } else { + if (currentTask === peek(taskQueue)) { + pop(taskQueue); + } + } + advanceTimers(currentTime); + } else { + pop(taskQueue); + } + currentTask = peek(taskQueue); + } + if (currentTask !== null) { + return true; + } else { + var firstTimer = peek(timerQueue); + if (firstTimer !== null) { + requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime); + } + return false; + } + } + function unstable_runWithPriority(priorityLevel, eventHandler) { + switch (priorityLevel) { + case ImmediatePriority: + case UserBlockingPriority: + case NormalPriority: + case LowPriority: + case IdlePriority: + break; + default: + priorityLevel = NormalPriority; + } + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = priorityLevel; + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + } + function unstable_next(eventHandler) { + var priorityLevel; + switch (currentPriorityLevel) { + case ImmediatePriority: + case UserBlockingPriority: + case NormalPriority: + priorityLevel = NormalPriority; + break; + default: + priorityLevel = currentPriorityLevel; + break; + } + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = priorityLevel; + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + } + function unstable_wrapCallback(callback) { + var parentPriorityLevel = currentPriorityLevel; + return function() { + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = parentPriorityLevel; + try { + return callback.apply(this, arguments); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + } + function unstable_scheduleCallback(priorityLevel, callback, options) { + var currentTime = exports.unstable_now(); + var startTime2; + if (typeof options === "object" && options !== null) { + var delay = options.delay; + if (typeof delay === "number" && delay > 0) { + startTime2 = currentTime + delay; + } else { + startTime2 = currentTime; + } + } else { + startTime2 = currentTime; + } + var timeout; + switch (priorityLevel) { + case ImmediatePriority: + timeout = IMMEDIATE_PRIORITY_TIMEOUT; + break; + case UserBlockingPriority: + timeout = USER_BLOCKING_PRIORITY_TIMEOUT; + break; + case IdlePriority: + timeout = IDLE_PRIORITY_TIMEOUT; + break; + case LowPriority: + timeout = LOW_PRIORITY_TIMEOUT; + break; + case NormalPriority: + default: + timeout = NORMAL_PRIORITY_TIMEOUT; + break; + } + var expirationTime = startTime2 + timeout; + var newTask = { + id: taskIdCounter++, + callback, + priorityLevel, + startTime: startTime2, + expirationTime, + sortIndex: -1 + }; + if (startTime2 > currentTime) { + newTask.sortIndex = startTime2; + push(timerQueue, newTask); + if (peek(taskQueue) === null && newTask === peek(timerQueue)) { + if (isHostTimeoutScheduled) { + cancelHostTimeout(); + } else { + isHostTimeoutScheduled = true; + } + requestHostTimeout(handleTimeout, startTime2 - currentTime); + } + } else { + newTask.sortIndex = expirationTime; + push(taskQueue, newTask); + if (!isHostCallbackScheduled && !isPerformingWork) { + isHostCallbackScheduled = true; + requestHostCallback(flushWork); + } + } + return newTask; + } + function unstable_pauseExecution() { + } + function unstable_continueExecution() { + if (!isHostCallbackScheduled && !isPerformingWork) { + isHostCallbackScheduled = true; + requestHostCallback(flushWork); + } + } + function unstable_getFirstCallbackNode() { + return peek(taskQueue); + } + function unstable_cancelCallback(task) { + task.callback = null; + } + function unstable_getCurrentPriorityLevel() { + return currentPriorityLevel; + } + var isMessageLoopRunning = false; + var scheduledHostCallback = null; + var taskTimeoutID = -1; + var frameInterval = frameYieldMs; + var startTime = -1; + function shouldYieldToHost() { + var timeElapsed = exports.unstable_now() - startTime; + if (timeElapsed < frameInterval) { + return false; + } + return true; + } + function requestPaint() { + } + function forceFrameRate(fps) { + if (fps < 0 || fps > 125) { + console["error"]("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"); + return; + } + if (fps > 0) { + frameInterval = Math.floor(1e3 / fps); + } else { + frameInterval = frameYieldMs; + } + } + var performWorkUntilDeadline = function() { + if (scheduledHostCallback !== null) { + var currentTime = exports.unstable_now(); + startTime = currentTime; + var hasTimeRemaining = true; + var hasMoreWork = true; + try { + hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime); + } finally { + if (hasMoreWork) { + schedulePerformWorkUntilDeadline(); + } else { + isMessageLoopRunning = false; + scheduledHostCallback = null; + } + } + } else { + isMessageLoopRunning = false; + } + }; + var schedulePerformWorkUntilDeadline; + if (typeof localSetImmediate === "function") { + schedulePerformWorkUntilDeadline = function() { + localSetImmediate(performWorkUntilDeadline); + }; + } else if (typeof MessageChannel !== "undefined") { + var channel = new MessageChannel(); + var port = channel.port2; + channel.port1.onmessage = performWorkUntilDeadline; + schedulePerformWorkUntilDeadline = function() { + port.postMessage(null); + }; + } else { + schedulePerformWorkUntilDeadline = function() { + localSetTimeout(performWorkUntilDeadline, 0); + }; + } + function requestHostCallback(callback) { + scheduledHostCallback = callback; + if (!isMessageLoopRunning) { + isMessageLoopRunning = true; + schedulePerformWorkUntilDeadline(); + } + } + function requestHostTimeout(callback, ms) { + taskTimeoutID = localSetTimeout(function() { + callback(exports.unstable_now()); + }, ms); + } + function cancelHostTimeout() { + localClearTimeout(taskTimeoutID); + taskTimeoutID = -1; + } + var unstable_requestPaint = requestPaint; + var unstable_Profiling = null; + exports.unstable_IdlePriority = IdlePriority; + exports.unstable_ImmediatePriority = ImmediatePriority; + exports.unstable_LowPriority = LowPriority; + exports.unstable_NormalPriority = NormalPriority; + exports.unstable_Profiling = unstable_Profiling; + exports.unstable_UserBlockingPriority = UserBlockingPriority; + exports.unstable_cancelCallback = unstable_cancelCallback; + exports.unstable_continueExecution = unstable_continueExecution; + exports.unstable_forceFrameRate = forceFrameRate; + exports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel; + exports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode; + exports.unstable_next = unstable_next; + exports.unstable_pauseExecution = unstable_pauseExecution; + exports.unstable_requestPaint = unstable_requestPaint; + exports.unstable_runWithPriority = unstable_runWithPriority; + exports.unstable_scheduleCallback = unstable_scheduleCallback; + exports.unstable_shouldYield = shouldYieldToHost; + exports.unstable_wrapCallback = unstable_wrapCallback; + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") { + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); + } + })(); + } + } +}); + +// ../../.yarn/cache/scheduler-npm-0.23.2-6d1dd9c2b7-26383305e2.zip/node_modules/scheduler/index.js +var require_scheduler = __commonJS({ + "../../.yarn/cache/scheduler-npm-0.23.2-6d1dd9c2b7-26383305e2.zip/node_modules/scheduler/index.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_scheduler_development(); + } + } +}); + +// ../../.yarn/__virtual__/react-dom-virtual-52cc716650/0/cache/react-dom-npm-18.3.1-a805663f38-a752496c19.zip/node_modules/react-dom/cjs/react-dom.development.js +var require_react_dom_development = __commonJS({ + "../../.yarn/__virtual__/react-dom-virtual-52cc716650/0/cache/react-dom-npm-18.3.1-a805663f38-a752496c19.zip/node_modules/react-dom/cjs/react-dom.development.js"(exports) { + "use strict"; + if (true) { + (function() { + "use strict"; + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") { + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); + } + var React = require_react(); + var Scheduler = require_scheduler(); + var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; + var suppressWarning = false; + function setSuppressWarning(newSuppressWarning) { + { + suppressWarning = newSuppressWarning; + } + } + function warn(format) { + { + if (!suppressWarning) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + printWarning("warn", format, args); + } + } + } + function error(format) { + { + if (!suppressWarning) { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + printWarning("error", format, args); + } + } + } + function printWarning(level, format, args) { + { + var ReactDebugCurrentFrame2 = ReactSharedInternals.ReactDebugCurrentFrame; + var stack = ReactDebugCurrentFrame2.getStackAddendum(); + if (stack !== "") { + format += "%s"; + args = args.concat([stack]); + } + var argsWithFormat = args.map(function(item) { + return String(item); + }); + argsWithFormat.unshift("Warning: " + format); + Function.prototype.apply.call(console[level], console, argsWithFormat); + } + } + var FunctionComponent = 0; + var ClassComponent = 1; + var IndeterminateComponent = 2; + var HostRoot = 3; + var HostPortal = 4; + var HostComponent = 5; + var HostText = 6; + var Fragment = 7; + var Mode = 8; + var ContextConsumer = 9; + var ContextProvider = 10; + var ForwardRef = 11; + var Profiler = 12; + var SuspenseComponent = 13; + var MemoComponent = 14; + var SimpleMemoComponent = 15; + var LazyComponent = 16; + var IncompleteClassComponent = 17; + var DehydratedFragment = 18; + var SuspenseListComponent = 19; + var ScopeComponent = 21; + var OffscreenComponent = 22; + var LegacyHiddenComponent = 23; + var CacheComponent = 24; + var TracingMarkerComponent = 25; + var enableClientRenderFallbackOnTextMismatch = true; + var enableNewReconciler = false; + var enableLazyContextPropagation = false; + var enableLegacyHidden = false; + var enableSuspenseAvoidThisFallback = false; + var disableCommentsAsDOMContainers = true; + var enableCustomElementPropertySupport = false; + var warnAboutStringRefs = true; + var enableSchedulingProfiler = true; + var enableProfilerTimer = true; + var enableProfilerCommitHooks = true; + var allNativeEvents = /* @__PURE__ */ new Set(); + var registrationNameDependencies = {}; + var possibleRegistrationNames = {}; + function registerTwoPhaseEvent(registrationName, dependencies) { + registerDirectEvent(registrationName, dependencies); + registerDirectEvent(registrationName + "Capture", dependencies); + } + function registerDirectEvent(registrationName, dependencies) { + { + if (registrationNameDependencies[registrationName]) { + error("EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.", registrationName); + } + } + registrationNameDependencies[registrationName] = dependencies; + { + var lowerCasedName = registrationName.toLowerCase(); + possibleRegistrationNames[lowerCasedName] = registrationName; + if (registrationName === "onDoubleClick") { + possibleRegistrationNames.ondblclick = registrationName; + } + } + for (var i = 0; i < dependencies.length; i++) { + allNativeEvents.add(dependencies[i]); + } + } + var canUseDOM = !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined"); + var hasOwnProperty = Object.prototype.hasOwnProperty; + function typeName(value) { + { + var hasToStringTag = typeof Symbol === "function" && Symbol.toStringTag; + var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; + return type; + } + } + function willCoercionThrow(value) { + { + try { + testStringCoercion(value); + return false; + } catch (e) { + return true; + } + } + } + function testStringCoercion(value) { + return "" + value; + } + function checkAttributeStringCoercion(value, attributeName) { + { + if (willCoercionThrow(value)) { + error("The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before before using it here.", attributeName, typeName(value)); + return testStringCoercion(value); + } + } + } + function checkKeyStringCoercion(value) { + { + if (willCoercionThrow(value)) { + error("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", typeName(value)); + return testStringCoercion(value); + } + } + } + function checkPropStringCoercion(value, propName) { + { + if (willCoercionThrow(value)) { + error("The provided `%s` prop is an unsupported type %s. This value must be coerced to a string before before using it here.", propName, typeName(value)); + return testStringCoercion(value); + } + } + } + function checkCSSPropertyStringCoercion(value, propName) { + { + if (willCoercionThrow(value)) { + error("The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before before using it here.", propName, typeName(value)); + return testStringCoercion(value); + } + } + } + function checkHtmlStringCoercion(value) { + { + if (willCoercionThrow(value)) { + error("The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before before using it here.", typeName(value)); + return testStringCoercion(value); + } + } + } + function checkFormFieldValueStringCoercion(value) { + { + if (willCoercionThrow(value)) { + error("Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before before using it here.", typeName(value)); + return testStringCoercion(value); + } + } + } + var RESERVED = 0; + var STRING = 1; + var BOOLEANISH_STRING = 2; + var BOOLEAN = 3; + var OVERLOADED_BOOLEAN = 4; + var NUMERIC = 5; + var POSITIVE_NUMERIC = 6; + var ATTRIBUTE_NAME_START_CHAR = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD"; + var ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040"; + var VALID_ATTRIBUTE_NAME_REGEX = new RegExp("^[" + ATTRIBUTE_NAME_START_CHAR + "][" + ATTRIBUTE_NAME_CHAR + "]*$"); + var illegalAttributeNameCache = {}; + var validatedAttributeNameCache = {}; + function isAttributeNameSafe(attributeName) { + if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) { + return true; + } + if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) { + return false; + } + if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) { + validatedAttributeNameCache[attributeName] = true; + return true; + } + illegalAttributeNameCache[attributeName] = true; + { + error("Invalid attribute name: `%s`", attributeName); + } + return false; + } + function shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) { + if (propertyInfo !== null) { + return propertyInfo.type === RESERVED; + } + if (isCustomComponentTag) { + return false; + } + if (name.length > 2 && (name[0] === "o" || name[0] === "O") && (name[1] === "n" || name[1] === "N")) { + return true; + } + return false; + } + function shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) { + if (propertyInfo !== null && propertyInfo.type === RESERVED) { + return false; + } + switch (typeof value) { + case "function": + // $FlowIssue symbol is perfectly valid here + case "symbol": + return true; + case "boolean": { + if (isCustomComponentTag) { + return false; + } + if (propertyInfo !== null) { + return !propertyInfo.acceptsBooleans; + } else { + var prefix2 = name.toLowerCase().slice(0, 5); + return prefix2 !== "data-" && prefix2 !== "aria-"; + } + } + default: + return false; + } + } + function shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) { + if (value === null || typeof value === "undefined") { + return true; + } + if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) { + return true; + } + if (isCustomComponentTag) { + return false; + } + if (propertyInfo !== null) { + switch (propertyInfo.type) { + case BOOLEAN: + return !value; + case OVERLOADED_BOOLEAN: + return value === false; + case NUMERIC: + return isNaN(value); + case POSITIVE_NUMERIC: + return isNaN(value) || value < 1; + } + } + return false; + } + function getPropertyInfo(name) { + return properties.hasOwnProperty(name) ? properties[name] : null; + } + function PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL2, removeEmptyString) { + this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN; + this.attributeName = attributeName; + this.attributeNamespace = attributeNamespace; + this.mustUseProperty = mustUseProperty; + this.propertyName = name; + this.type = type; + this.sanitizeURL = sanitizeURL2; + this.removeEmptyString = removeEmptyString; + } + var properties = {}; + var reservedProps = [ + "children", + "dangerouslySetInnerHTML", + // TODO: This prevents the assignment of defaultValue to regular + // elements (not just inputs). Now that ReactDOMInput assigns to the + // defaultValue property -- do we need this? + "defaultValue", + "defaultChecked", + "innerHTML", + "suppressContentEditableWarning", + "suppressHydrationWarning", + "style" + ]; + reservedProps.forEach(function(name) { + properties[name] = new PropertyInfoRecord( + name, + RESERVED, + false, + // mustUseProperty + name, + // attributeName + null, + // attributeNamespace + false, + // sanitizeURL + false + ); + }); + [["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function(_ref) { + var name = _ref[0], attributeName = _ref[1]; + properties[name] = new PropertyInfoRecord( + name, + STRING, + false, + // mustUseProperty + attributeName, + // attributeName + null, + // attributeNamespace + false, + // sanitizeURL + false + ); + }); + ["contentEditable", "draggable", "spellCheck", "value"].forEach(function(name) { + properties[name] = new PropertyInfoRecord( + name, + BOOLEANISH_STRING, + false, + // mustUseProperty + name.toLowerCase(), + // attributeName + null, + // attributeNamespace + false, + // sanitizeURL + false + ); + }); + ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function(name) { + properties[name] = new PropertyInfoRecord( + name, + BOOLEANISH_STRING, + false, + // mustUseProperty + name, + // attributeName + null, + // attributeNamespace + false, + // sanitizeURL + false + ); + }); + [ + "allowFullScreen", + "async", + // Note: there is a special case that prevents it from being written to the DOM + // on the client side because the browsers are inconsistent. Instead we call focus(). + "autoFocus", + "autoPlay", + "controls", + "default", + "defer", + "disabled", + "disablePictureInPicture", + "disableRemotePlayback", + "formNoValidate", + "hidden", + "loop", + "noModule", + "noValidate", + "open", + "playsInline", + "readOnly", + "required", + "reversed", + "scoped", + "seamless", + // Microdata + "itemScope" + ].forEach(function(name) { + properties[name] = new PropertyInfoRecord( + name, + BOOLEAN, + false, + // mustUseProperty + name.toLowerCase(), + // attributeName + null, + // attributeNamespace + false, + // sanitizeURL + false + ); + }); + [ + "checked", + // Note: `option.selected` is not updated if `select.multiple` is + // disabled with `removeAttribute`. We have special logic for handling this. + "multiple", + "muted", + "selected" + // NOTE: if you add a camelCased prop to this list, + // you'll need to set attributeName to name.toLowerCase() + // instead in the assignment below. + ].forEach(function(name) { + properties[name] = new PropertyInfoRecord( + name, + BOOLEAN, + true, + // mustUseProperty + name, + // attributeName + null, + // attributeNamespace + false, + // sanitizeURL + false + ); + }); + [ + "capture", + "download" + // NOTE: if you add a camelCased prop to this list, + // you'll need to set attributeName to name.toLowerCase() + // instead in the assignment below. + ].forEach(function(name) { + properties[name] = new PropertyInfoRecord( + name, + OVERLOADED_BOOLEAN, + false, + // mustUseProperty + name, + // attributeName + null, + // attributeNamespace + false, + // sanitizeURL + false + ); + }); + [ + "cols", + "rows", + "size", + "span" + // NOTE: if you add a camelCased prop to this list, + // you'll need to set attributeName to name.toLowerCase() + // instead in the assignment below. + ].forEach(function(name) { + properties[name] = new PropertyInfoRecord( + name, + POSITIVE_NUMERIC, + false, + // mustUseProperty + name, + // attributeName + null, + // attributeNamespace + false, + // sanitizeURL + false + ); + }); + ["rowSpan", "start"].forEach(function(name) { + properties[name] = new PropertyInfoRecord( + name, + NUMERIC, + false, + // mustUseProperty + name.toLowerCase(), + // attributeName + null, + // attributeNamespace + false, + // sanitizeURL + false + ); + }); + var CAMELIZE = /[\-\:]([a-z])/g; + var capitalize = function(token) { + return token[1].toUpperCase(); + }; + [ + "accent-height", + "alignment-baseline", + "arabic-form", + "baseline-shift", + "cap-height", + "clip-path", + "clip-rule", + "color-interpolation", + "color-interpolation-filters", + "color-profile", + "color-rendering", + "dominant-baseline", + "enable-background", + "fill-opacity", + "fill-rule", + "flood-color", + "flood-opacity", + "font-family", + "font-size", + "font-size-adjust", + "font-stretch", + "font-style", + "font-variant", + "font-weight", + "glyph-name", + "glyph-orientation-horizontal", + "glyph-orientation-vertical", + "horiz-adv-x", + "horiz-origin-x", + "image-rendering", + "letter-spacing", + "lighting-color", + "marker-end", + "marker-mid", + "marker-start", + "overline-position", + "overline-thickness", + "paint-order", + "panose-1", + "pointer-events", + "rendering-intent", + "shape-rendering", + "stop-color", + "stop-opacity", + "strikethrough-position", + "strikethrough-thickness", + "stroke-dasharray", + "stroke-dashoffset", + "stroke-linecap", + "stroke-linejoin", + "stroke-miterlimit", + "stroke-opacity", + "stroke-width", + "text-anchor", + "text-decoration", + "text-rendering", + "underline-position", + "underline-thickness", + "unicode-bidi", + "unicode-range", + "units-per-em", + "v-alphabetic", + "v-hanging", + "v-ideographic", + "v-mathematical", + "vector-effect", + "vert-adv-y", + "vert-origin-x", + "vert-origin-y", + "word-spacing", + "writing-mode", + "xmlns:xlink", + "x-height" + // NOTE: if you add a camelCased prop to this list, + // you'll need to set attributeName to name.toLowerCase() + // instead in the assignment below. + ].forEach(function(attributeName) { + var name = attributeName.replace(CAMELIZE, capitalize); + properties[name] = new PropertyInfoRecord( + name, + STRING, + false, + // mustUseProperty + attributeName, + null, + // attributeNamespace + false, + // sanitizeURL + false + ); + }); + [ + "xlink:actuate", + "xlink:arcrole", + "xlink:role", + "xlink:show", + "xlink:title", + "xlink:type" + // NOTE: if you add a camelCased prop to this list, + // you'll need to set attributeName to name.toLowerCase() + // instead in the assignment below. + ].forEach(function(attributeName) { + var name = attributeName.replace(CAMELIZE, capitalize); + properties[name] = new PropertyInfoRecord( + name, + STRING, + false, + // mustUseProperty + attributeName, + "http://www.w3.org/1999/xlink", + false, + // sanitizeURL + false + ); + }); + [ + "xml:base", + "xml:lang", + "xml:space" + // NOTE: if you add a camelCased prop to this list, + // you'll need to set attributeName to name.toLowerCase() + // instead in the assignment below. + ].forEach(function(attributeName) { + var name = attributeName.replace(CAMELIZE, capitalize); + properties[name] = new PropertyInfoRecord( + name, + STRING, + false, + // mustUseProperty + attributeName, + "http://www.w3.org/XML/1998/namespace", + false, + // sanitizeURL + false + ); + }); + ["tabIndex", "crossOrigin"].forEach(function(attributeName) { + properties[attributeName] = new PropertyInfoRecord( + attributeName, + STRING, + false, + // mustUseProperty + attributeName.toLowerCase(), + // attributeName + null, + // attributeNamespace + false, + // sanitizeURL + false + ); + }); + var xlinkHref = "xlinkHref"; + properties[xlinkHref] = new PropertyInfoRecord( + "xlinkHref", + STRING, + false, + // mustUseProperty + "xlink:href", + "http://www.w3.org/1999/xlink", + true, + // sanitizeURL + false + ); + ["src", "href", "action", "formAction"].forEach(function(attributeName) { + properties[attributeName] = new PropertyInfoRecord( + attributeName, + STRING, + false, + // mustUseProperty + attributeName.toLowerCase(), + // attributeName + null, + // attributeNamespace + true, + // sanitizeURL + true + ); + }); + var isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i; + var didWarn = false; + function sanitizeURL(url) { + { + if (!didWarn && isJavaScriptProtocol.test(url)) { + didWarn = true; + error("A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.", JSON.stringify(url)); + } + } + } + function getValueForProperty(node, name, expected, propertyInfo) { + { + if (propertyInfo.mustUseProperty) { + var propertyName = propertyInfo.propertyName; + return node[propertyName]; + } else { + { + checkAttributeStringCoercion(expected, name); + } + if (propertyInfo.sanitizeURL) { + sanitizeURL("" + expected); + } + var attributeName = propertyInfo.attributeName; + var stringValue = null; + if (propertyInfo.type === OVERLOADED_BOOLEAN) { + if (node.hasAttribute(attributeName)) { + var value = node.getAttribute(attributeName); + if (value === "") { + return true; + } + if (shouldRemoveAttribute(name, expected, propertyInfo, false)) { + return value; + } + if (value === "" + expected) { + return expected; + } + return value; + } + } else if (node.hasAttribute(attributeName)) { + if (shouldRemoveAttribute(name, expected, propertyInfo, false)) { + return node.getAttribute(attributeName); + } + if (propertyInfo.type === BOOLEAN) { + return expected; + } + stringValue = node.getAttribute(attributeName); + } + if (shouldRemoveAttribute(name, expected, propertyInfo, false)) { + return stringValue === null ? expected : stringValue; + } else if (stringValue === "" + expected) { + return expected; + } else { + return stringValue; + } + } + } + } + function getValueForAttribute(node, name, expected, isCustomComponentTag) { + { + if (!isAttributeNameSafe(name)) { + return; + } + if (!node.hasAttribute(name)) { + return expected === void 0 ? void 0 : null; + } + var value = node.getAttribute(name); + { + checkAttributeStringCoercion(expected, name); + } + if (value === "" + expected) { + return expected; + } + return value; + } + } + function setValueForProperty(node, name, value, isCustomComponentTag) { + var propertyInfo = getPropertyInfo(name); + if (shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) { + return; + } + if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag)) { + value = null; + } + if (isCustomComponentTag || propertyInfo === null) { + if (isAttributeNameSafe(name)) { + var _attributeName = name; + if (value === null) { + node.removeAttribute(_attributeName); + } else { + { + checkAttributeStringCoercion(value, name); + } + node.setAttribute(_attributeName, "" + value); + } + } + return; + } + var mustUseProperty = propertyInfo.mustUseProperty; + if (mustUseProperty) { + var propertyName = propertyInfo.propertyName; + if (value === null) { + var type = propertyInfo.type; + node[propertyName] = type === BOOLEAN ? false : ""; + } else { + node[propertyName] = value; + } + return; + } + var attributeName = propertyInfo.attributeName, attributeNamespace = propertyInfo.attributeNamespace; + if (value === null) { + node.removeAttribute(attributeName); + } else { + var _type = propertyInfo.type; + var attributeValue; + if (_type === BOOLEAN || _type === OVERLOADED_BOOLEAN && value === true) { + attributeValue = ""; + } else { + { + { + checkAttributeStringCoercion(value, attributeName); + } + attributeValue = "" + value; + } + if (propertyInfo.sanitizeURL) { + sanitizeURL(attributeValue.toString()); + } + } + if (attributeNamespace) { + node.setAttributeNS(attributeNamespace, attributeName, attributeValue); + } else { + node.setAttribute(attributeName, attributeValue); + } + } + } + var REACT_ELEMENT_TYPE = Symbol.for("react.element"); + var REACT_PORTAL_TYPE = Symbol.for("react.portal"); + var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); + var REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"); + var REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + var REACT_PROVIDER_TYPE = Symbol.for("react.provider"); + var REACT_CONTEXT_TYPE = Symbol.for("react.context"); + var REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"); + var REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"); + var REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"); + var REACT_MEMO_TYPE = Symbol.for("react.memo"); + var REACT_LAZY_TYPE = Symbol.for("react.lazy"); + var REACT_SCOPE_TYPE = Symbol.for("react.scope"); + var REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for("react.debug_trace_mode"); + var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"); + var REACT_LEGACY_HIDDEN_TYPE = Symbol.for("react.legacy_hidden"); + var REACT_CACHE_TYPE = Symbol.for("react.cache"); + var REACT_TRACING_MARKER_TYPE = Symbol.for("react.tracing_marker"); + var MAYBE_ITERATOR_SYMBOL = Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = "@@iterator"; + function getIteratorFn(maybeIterable) { + if (maybeIterable === null || typeof maybeIterable !== "object") { + return null; + } + var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; + if (typeof maybeIterator === "function") { + return maybeIterator; + } + return null; + } + var assign = Object.assign; + var disabledDepth = 0; + var prevLog; + var prevInfo; + var prevWarn; + var prevError; + var prevGroup; + var prevGroupCollapsed; + var prevGroupEnd; + function disabledLog() { + } + disabledLog.__reactDisabledLog = true; + function disableLogs() { + { + if (disabledDepth === 0) { + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; + var props = { + configurable: true, + enumerable: true, + value: disabledLog, + writable: true + }; + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props + }); + } + disabledDepth++; + } + } + function reenableLogs() { + { + disabledDepth--; + if (disabledDepth === 0) { + var props = { + configurable: true, + enumerable: true, + writable: true + }; + Object.defineProperties(console, { + log: assign({}, props, { + value: prevLog + }), + info: assign({}, props, { + value: prevInfo + }), + warn: assign({}, props, { + value: prevWarn + }), + error: assign({}, props, { + value: prevError + }), + group: assign({}, props, { + value: prevGroup + }), + groupCollapsed: assign({}, props, { + value: prevGroupCollapsed + }), + groupEnd: assign({}, props, { + value: prevGroupEnd + }) + }); + } + if (disabledDepth < 0) { + error("disabledDepth fell below zero. This is a bug in React. Please file an issue."); + } + } + } + var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; + var prefix; + function describeBuiltInComponentFrame(name, source, ownerFn) { + { + if (prefix === void 0) { + try { + throw Error(); + } catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = match && match[1] || ""; + } + } + return "\n" + prefix + name; + } + } + var reentry = false; + var componentFrameCache; + { + var PossiblyWeakMap = typeof WeakMap === "function" ? WeakMap : Map; + componentFrameCache = new PossiblyWeakMap(); + } + function describeNativeComponentFrame(fn, construct) { + if (!fn || reentry) { + return ""; + } + { + var frame = componentFrameCache.get(fn); + if (frame !== void 0) { + return frame; + } + } + var control; + reentry = true; + var previousPrepareStackTrace = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + var previousDispatcher; + { + previousDispatcher = ReactCurrentDispatcher.current; + ReactCurrentDispatcher.current = null; + disableLogs(); + } + try { + if (construct) { + var Fake = function() { + throw Error(); + }; + Object.defineProperty(Fake.prototype, "props", { + set: function() { + throw Error(); + } + }); + if (typeof Reflect === "object" && Reflect.construct) { + try { + Reflect.construct(Fake, []); + } catch (x) { + control = x; + } + Reflect.construct(fn, [], Fake); + } else { + try { + Fake.call(); + } catch (x) { + control = x; + } + fn.call(Fake.prototype); + } + } else { + try { + throw Error(); + } catch (x) { + control = x; + } + fn(); + } + } catch (sample) { + if (sample && control && typeof sample.stack === "string") { + var sampleLines = sample.stack.split("\n"); + var controlLines = control.stack.split("\n"); + var s = sampleLines.length - 1; + var c = controlLines.length - 1; + while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) { + c--; + } + for (; s >= 1 && c >= 0; s--, c--) { + if (sampleLines[s] !== controlLines[c]) { + if (s !== 1 || c !== 1) { + do { + s--; + c--; + if (c < 0 || sampleLines[s] !== controlLines[c]) { + var _frame = "\n" + sampleLines[s].replace(" at new ", " at "); + if (fn.displayName && _frame.includes("")) { + _frame = _frame.replace("", fn.displayName); + } + { + if (typeof fn === "function") { + componentFrameCache.set(fn, _frame); + } + } + return _frame; + } + } while (s >= 1 && c >= 0); + } + break; + } + } + } + } finally { + reentry = false; + { + ReactCurrentDispatcher.current = previousDispatcher; + reenableLogs(); + } + Error.prepareStackTrace = previousPrepareStackTrace; + } + var name = fn ? fn.displayName || fn.name : ""; + var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ""; + { + if (typeof fn === "function") { + componentFrameCache.set(fn, syntheticFrame); + } + } + return syntheticFrame; + } + function describeClassComponentFrame(ctor, source, ownerFn) { + { + return describeNativeComponentFrame(ctor, true); + } + } + function describeFunctionComponentFrame(fn, source, ownerFn) { + { + return describeNativeComponentFrame(fn, false); + } + } + function shouldConstruct(Component) { + var prototype = Component.prototype; + return !!(prototype && prototype.isReactComponent); + } + function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) { + if (type == null) { + return ""; + } + if (typeof type === "function") { + { + return describeNativeComponentFrame(type, shouldConstruct(type)); + } + } + if (typeof type === "string") { + return describeBuiltInComponentFrame(type); + } + switch (type) { + case REACT_SUSPENSE_TYPE: + return describeBuiltInComponentFrame("Suspense"); + case REACT_SUSPENSE_LIST_TYPE: + return describeBuiltInComponentFrame("SuspenseList"); + } + if (typeof type === "object") { + switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + return describeFunctionComponentFrame(type.render); + case REACT_MEMO_TYPE: + return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn); + case REACT_LAZY_TYPE: { + var lazyComponent = type; + var payload = lazyComponent._payload; + var init = lazyComponent._init; + try { + return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); + } catch (x) { + } + } + } + } + return ""; + } + function describeFiber(fiber) { + var owner = fiber._debugOwner ? fiber._debugOwner.type : null; + var source = fiber._debugSource; + switch (fiber.tag) { + case HostComponent: + return describeBuiltInComponentFrame(fiber.type); + case LazyComponent: + return describeBuiltInComponentFrame("Lazy"); + case SuspenseComponent: + return describeBuiltInComponentFrame("Suspense"); + case SuspenseListComponent: + return describeBuiltInComponentFrame("SuspenseList"); + case FunctionComponent: + case IndeterminateComponent: + case SimpleMemoComponent: + return describeFunctionComponentFrame(fiber.type); + case ForwardRef: + return describeFunctionComponentFrame(fiber.type.render); + case ClassComponent: + return describeClassComponentFrame(fiber.type); + default: + return ""; + } + } + function getStackByFiberInDevAndProd(workInProgress2) { + try { + var info = ""; + var node = workInProgress2; + do { + info += describeFiber(node); + node = node.return; + } while (node); + return info; + } catch (x) { + return "\nError generating stack: " + x.message + "\n" + x.stack; + } + } + function getWrappedName(outerType, innerType, wrapperName) { + var displayName = outerType.displayName; + if (displayName) { + return displayName; + } + var functionName = innerType.displayName || innerType.name || ""; + return functionName !== "" ? wrapperName + "(" + functionName + ")" : wrapperName; + } + function getContextName(type) { + return type.displayName || "Context"; + } + function getComponentNameFromType(type) { + if (type == null) { + return null; + } + { + if (typeof type.tag === "number") { + error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."); + } + } + if (typeof type === "function") { + return type.displayName || type.name || null; + } + if (typeof type === "string") { + return type; + } + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + } + if (typeof type === "object") { + switch (type.$$typeof) { + case REACT_CONTEXT_TYPE: + var context = type; + return getContextName(context) + ".Consumer"; + case REACT_PROVIDER_TYPE: + var provider = type; + return getContextName(provider._context) + ".Provider"; + case REACT_FORWARD_REF_TYPE: + return getWrappedName(type, type.render, "ForwardRef"); + case REACT_MEMO_TYPE: + var outerName = type.displayName || null; + if (outerName !== null) { + return outerName; + } + return getComponentNameFromType(type.type) || "Memo"; + case REACT_LAZY_TYPE: { + var lazyComponent = type; + var payload = lazyComponent._payload; + var init = lazyComponent._init; + try { + return getComponentNameFromType(init(payload)); + } catch (x) { + return null; + } + } + } + } + return null; + } + function getWrappedName$1(outerType, innerType, wrapperName) { + var functionName = innerType.displayName || innerType.name || ""; + return outerType.displayName || (functionName !== "" ? wrapperName + "(" + functionName + ")" : wrapperName); + } + function getContextName$1(type) { + return type.displayName || "Context"; + } + function getComponentNameFromFiber(fiber) { + var tag = fiber.tag, type = fiber.type; + switch (tag) { + case CacheComponent: + return "Cache"; + case ContextConsumer: + var context = type; + return getContextName$1(context) + ".Consumer"; + case ContextProvider: + var provider = type; + return getContextName$1(provider._context) + ".Provider"; + case DehydratedFragment: + return "DehydratedFragment"; + case ForwardRef: + return getWrappedName$1(type, type.render, "ForwardRef"); + case Fragment: + return "Fragment"; + case HostComponent: + return type; + case HostPortal: + return "Portal"; + case HostRoot: + return "Root"; + case HostText: + return "Text"; + case LazyComponent: + return getComponentNameFromType(type); + case Mode: + if (type === REACT_STRICT_MODE_TYPE) { + return "StrictMode"; + } + return "Mode"; + case OffscreenComponent: + return "Offscreen"; + case Profiler: + return "Profiler"; + case ScopeComponent: + return "Scope"; + case SuspenseComponent: + return "Suspense"; + case SuspenseListComponent: + return "SuspenseList"; + case TracingMarkerComponent: + return "TracingMarker"; + // The display name for this tags come from the user-provided type: + case ClassComponent: + case FunctionComponent: + case IncompleteClassComponent: + case IndeterminateComponent: + case MemoComponent: + case SimpleMemoComponent: + if (typeof type === "function") { + return type.displayName || type.name || null; + } + if (typeof type === "string") { + return type; + } + break; + } + return null; + } + var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; + var current = null; + var isRendering = false; + function getCurrentFiberOwnerNameInDevOrNull() { + { + if (current === null) { + return null; + } + var owner = current._debugOwner; + if (owner !== null && typeof owner !== "undefined") { + return getComponentNameFromFiber(owner); + } + } + return null; + } + function getCurrentFiberStackInDev() { + { + if (current === null) { + return ""; + } + return getStackByFiberInDevAndProd(current); + } + } + function resetCurrentFiber() { + { + ReactDebugCurrentFrame.getCurrentStack = null; + current = null; + isRendering = false; + } + } + function setCurrentFiber(fiber) { + { + ReactDebugCurrentFrame.getCurrentStack = fiber === null ? null : getCurrentFiberStackInDev; + current = fiber; + isRendering = false; + } + } + function getCurrentFiber() { + { + return current; + } + } + function setIsRendering(rendering) { + { + isRendering = rendering; + } + } + function toString(value) { + return "" + value; + } + function getToStringValue(value) { + switch (typeof value) { + case "boolean": + case "number": + case "string": + case "undefined": + return value; + case "object": + { + checkFormFieldValueStringCoercion(value); + } + return value; + default: + return ""; + } + } + var hasReadOnlyValue = { + button: true, + checkbox: true, + image: true, + hidden: true, + radio: true, + reset: true, + submit: true + }; + function checkControlledValueProps(tagName, props) { + { + if (!(hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || props.value == null)) { + error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`."); + } + if (!(props.onChange || props.readOnly || props.disabled || props.checked == null)) { + error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`."); + } + } + } + function isCheckable(elem) { + var type = elem.type; + var nodeName = elem.nodeName; + return nodeName && nodeName.toLowerCase() === "input" && (type === "checkbox" || type === "radio"); + } + function getTracker(node) { + return node._valueTracker; + } + function detachTracker(node) { + node._valueTracker = null; + } + function getValueFromNode(node) { + var value = ""; + if (!node) { + return value; + } + if (isCheckable(node)) { + value = node.checked ? "true" : "false"; + } else { + value = node.value; + } + return value; + } + function trackValueOnNode(node) { + var valueField = isCheckable(node) ? "checked" : "value"; + var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField); + { + checkFormFieldValueStringCoercion(node[valueField]); + } + var currentValue = "" + node[valueField]; + if (node.hasOwnProperty(valueField) || typeof descriptor === "undefined" || typeof descriptor.get !== "function" || typeof descriptor.set !== "function") { + return; + } + var get2 = descriptor.get, set2 = descriptor.set; + Object.defineProperty(node, valueField, { + configurable: true, + get: function() { + return get2.call(this); + }, + set: function(value) { + { + checkFormFieldValueStringCoercion(value); + } + currentValue = "" + value; + set2.call(this, value); + } + }); + Object.defineProperty(node, valueField, { + enumerable: descriptor.enumerable + }); + var tracker = { + getValue: function() { + return currentValue; + }, + setValue: function(value) { + { + checkFormFieldValueStringCoercion(value); + } + currentValue = "" + value; + }, + stopTracking: function() { + detachTracker(node); + delete node[valueField]; + } + }; + return tracker; + } + function track(node) { + if (getTracker(node)) { + return; + } + node._valueTracker = trackValueOnNode(node); + } + function updateValueIfChanged(node) { + if (!node) { + return false; + } + var tracker = getTracker(node); + if (!tracker) { + return true; + } + var lastValue = tracker.getValue(); + var nextValue = getValueFromNode(node); + if (nextValue !== lastValue) { + tracker.setValue(nextValue); + return true; + } + return false; + } + function getActiveElement(doc) { + doc = doc || (typeof document !== "undefined" ? document : void 0); + if (typeof doc === "undefined") { + return null; + } + try { + return doc.activeElement || doc.body; + } catch (e) { + return doc.body; + } + } + var didWarnValueDefaultValue = false; + var didWarnCheckedDefaultChecked = false; + var didWarnControlledToUncontrolled = false; + var didWarnUncontrolledToControlled = false; + function isControlled(props) { + var usesChecked = props.type === "checkbox" || props.type === "radio"; + return usesChecked ? props.checked != null : props.value != null; + } + function getHostProps(element, props) { + var node = element; + var checked = props.checked; + var hostProps = assign({}, props, { + defaultChecked: void 0, + defaultValue: void 0, + value: void 0, + checked: checked != null ? checked : node._wrapperState.initialChecked + }); + return hostProps; + } + function initWrapperState(element, props) { + { + checkControlledValueProps("input", props); + if (props.checked !== void 0 && props.defaultChecked !== void 0 && !didWarnCheckedDefaultChecked) { + error("%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components", getCurrentFiberOwnerNameInDevOrNull() || "A component", props.type); + didWarnCheckedDefaultChecked = true; + } + if (props.value !== void 0 && props.defaultValue !== void 0 && !didWarnValueDefaultValue) { + error("%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components", getCurrentFiberOwnerNameInDevOrNull() || "A component", props.type); + didWarnValueDefaultValue = true; + } + } + var node = element; + var defaultValue = props.defaultValue == null ? "" : props.defaultValue; + node._wrapperState = { + initialChecked: props.checked != null ? props.checked : props.defaultChecked, + initialValue: getToStringValue(props.value != null ? props.value : defaultValue), + controlled: isControlled(props) + }; + } + function updateChecked(element, props) { + var node = element; + var checked = props.checked; + if (checked != null) { + setValueForProperty(node, "checked", checked, false); + } + } + function updateWrapper(element, props) { + var node = element; + { + var controlled = isControlled(props); + if (!node._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) { + error("A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"); + didWarnUncontrolledToControlled = true; + } + if (node._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) { + error("A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"); + didWarnControlledToUncontrolled = true; + } + } + updateChecked(element, props); + var value = getToStringValue(props.value); + var type = props.type; + if (value != null) { + if (type === "number") { + if (value === 0 && node.value === "" || // We explicitly want to coerce to number here if possible. + // eslint-disable-next-line + node.value != value) { + node.value = toString(value); + } + } else if (node.value !== toString(value)) { + node.value = toString(value); + } + } else if (type === "submit" || type === "reset") { + node.removeAttribute("value"); + return; + } + { + if (props.hasOwnProperty("value")) { + setDefaultValue(node, props.type, value); + } else if (props.hasOwnProperty("defaultValue")) { + setDefaultValue(node, props.type, getToStringValue(props.defaultValue)); + } + } + { + if (props.checked == null && props.defaultChecked != null) { + node.defaultChecked = !!props.defaultChecked; + } + } + } + function postMountWrapper(element, props, isHydrating2) { + var node = element; + if (props.hasOwnProperty("value") || props.hasOwnProperty("defaultValue")) { + var type = props.type; + var isButton = type === "submit" || type === "reset"; + if (isButton && (props.value === void 0 || props.value === null)) { + return; + } + var initialValue = toString(node._wrapperState.initialValue); + if (!isHydrating2) { + { + if (initialValue !== node.value) { + node.value = initialValue; + } + } + } + { + node.defaultValue = initialValue; + } + } + var name = node.name; + if (name !== "") { + node.name = ""; + } + { + node.defaultChecked = !node.defaultChecked; + node.defaultChecked = !!node._wrapperState.initialChecked; + } + if (name !== "") { + node.name = name; + } + } + function restoreControlledState(element, props) { + var node = element; + updateWrapper(node, props); + updateNamedCousins(node, props); + } + function updateNamedCousins(rootNode, props) { + var name = props.name; + if (props.type === "radio" && name != null) { + var queryRoot = rootNode; + while (queryRoot.parentNode) { + queryRoot = queryRoot.parentNode; + } + { + checkAttributeStringCoercion(name, "name"); + } + var group = queryRoot.querySelectorAll("input[name=" + JSON.stringify("" + name) + '][type="radio"]'); + for (var i = 0; i < group.length; i++) { + var otherNode = group[i]; + if (otherNode === rootNode || otherNode.form !== rootNode.form) { + continue; + } + var otherProps = getFiberCurrentPropsFromNode(otherNode); + if (!otherProps) { + throw new Error("ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported."); + } + updateValueIfChanged(otherNode); + updateWrapper(otherNode, otherProps); + } + } + } + function setDefaultValue(node, type, value) { + if ( + // Focused number inputs synchronize on blur. See ChangeEventPlugin.js + type !== "number" || getActiveElement(node.ownerDocument) !== node + ) { + if (value == null) { + node.defaultValue = toString(node._wrapperState.initialValue); + } else if (node.defaultValue !== toString(value)) { + node.defaultValue = toString(value); + } + } + } + var didWarnSelectedSetOnOption = false; + var didWarnInvalidChild = false; + var didWarnInvalidInnerHTML = false; + function validateProps(element, props) { + { + if (props.value == null) { + if (typeof props.children === "object" && props.children !== null) { + React.Children.forEach(props.children, function(child) { + if (child == null) { + return; + } + if (typeof child === "string" || typeof child === "number") { + return; + } + if (!didWarnInvalidChild) { + didWarnInvalidChild = true; + error("Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to