UNPKG

productive-eslint

Version:

Mildly strict and sufficiently practical ESLint config. Powered by @antfu/eslint-config and based on Evgeny Orekhov's eslint-config-hardcore

2 lines 246 kB
import{createRequire as e}from"node:module";import t from"@antfu/eslint-config";import n from"@eslint/css";import r from"eslint-plugin-no-relative-import-paths";import i from"eslint-plugin-prettier";import{isPackageExists as a}from"local-pkg";import o from"eslint-plugin-boundaries";import{createTypeScriptImportResolver as s}from"eslint-import-resolver-typescript";import c from"eslint-plugin-prefer-arrow-functions";import l from"eslint-plugin-perfectionist";import u from"eslint-plugin-promise";import d from"eslint-plugin-sonarjs";var f=Object.create,p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyNames,g=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty,_=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),te=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=h(t),a=0,o=i.length,s;a<o;a++)s=i[a],!ee.call(e,s)&&s!==n&&p(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=m(t,s))||r.enumerable});return e},ne=(e,t,n)=>(n=e==null?{}:f(g(e)),te(t||!e||!e.__esModule?p(n,`default`,{value:e,enumerable:!0}):n,e)),v=e(import.meta.url);const re={name:`boundaries`,plugins:{boundaries:o},rules:{"boundaries/element-types":[`error`,{default:`allow`,message:"${file.type} is not allowed to import (${dependency.type})",rules:[{disallow:[`app`,`pages`,`widgets`,`features`,`entities`],from:[`shared`],message:"Shared module must not import upper layers (${dependency.type})"},{disallow:[`app`,`pages`,`widgets`,`features`],from:[`entities`],message:"Entity must not import upper layers (${dependency.type})"},{disallow:[[`entities`,{entity:"!${entity}"}]],from:[`entities`],message:`Entity must not import other entity`},{disallow:[`app`,`pages`,`widgets`],from:[`features`],message:"Feature must not import upper layers (${dependency.type})"},{disallow:[[`features`,{feature:"!${feature}"}]],from:[`features`],message:`Feature must not import other feature`},{disallow:[`app`,`pages`],from:[`widgets`],message:"Feature must not import upper layers (${dependency.type})"},{disallow:[[`widgets`,{widget:"!${widget}"}]],from:[`widgets`],message:`Widget must not import other widget`},{disallow:[`app`],from:[`pages`],message:"Page must not import upper layers (${dependency.type})"},{disallow:[[`pages`,{page:"!${page}"}]],from:[`pages`],message:`Page must not import other page`}]}],"boundaries/entry-point":[`error`,{default:`disallow`,rules:[{allow:`**`,target:[`shared`]},{allow:`index.{ts,vue}`,target:[`app`,`pages`,`widgets`,`features`,`entities`]}]}]},settings:{"boundaries/elements":[{pattern:`app`,type:`app`},{capture:[`page`],pattern:`pages/*`,type:`pages`},{capture:[`widget`],pattern:`widgets/*`,type:`widgets`},{capture:[`feature`],pattern:`features/*`,type:`features`},{capture:[`entity`],pattern:`entities/*`,type:`entities`},{capture:[`segment`],pattern:`shared/*`,type:`shared`}],"boundaries/include":[`src/**/*`],"import/resolver":{typescript:{alwaysTryTypes:!0}}}},ie={rules:{"import/export":`error`,"import/extensions":[`error`,`ignorePackages`,{js:`never`,jsx:`never`,ts:`never`,tsx:`never`}],"import/no-commonjs":`error`,"import/no-cycle":`error`,"import/no-default-export":`error`,"import/no-empty-named-blocks":`error`,"import/no-namespace":`error`,"import/no-relative-packages":`error`,"import/no-useless-path-segments":`error`},settings:{"import-x/resolver-next":s({alwaysTryTypes:!0})}},ae={plugins:{"prefer-arrow-functions":c},rules:{"arrow-body-style":[`error`,`as-needed`],complexity:[`error`,{max:12}],"consistent-this":`error`,curly:[`error`,`all`],"default-case":`error`,"dot-notation":`off`,"for-direction":`error`,"grouped-accessor-pairs":`error`,"id-length":[`error`,{exceptions:[`t`]}],"logical-assignment-operators":[`error`,`always`,{enforceForIfStatements:!0}],"max-depth":[`error`,2],"max-lines":`error`,"new-cap":[`error`,{capIsNew:!1,newIsCap:!0,properties:!0}],"no-bitwise":`error`,"no-constant-binary-expression":`error`,"no-constant-condition":`error`,"no-constructor-return":`error`,"no-empty-function":`error`,"no-empty-static-block":`error`,"no-implicit-coercion":[`error`,{disallowTemplateShorthand:!0}],"no-inner-declarations":`error`,"no-invalid-this":`error`,"no-object-constructor":`error`,"no-param-reassign":[`error`,{ignorePropertyModificationsFor:[`accumulator`,`ctx`,`context`,`req`,`request`,`res`,`response`,`$scope`,`staticContext`,`ref`,`model`],ignorePropertyModificationsForRegex:[`^.*(?:Ref|Model)$`],props:!0}],"no-plusplus":`error`,"no-promise-executor-return":`error`,"no-restricted-syntax":`off`,"no-return-assign":`error`,"no-script-url":`error`,"no-sequences":`error`,"no-shadow":`error`,"no-throw-literal":`off`,"no-unused-private-class-members":`error`,"no-useless-concat":`error`,"no-useless-escape":`error`,"no-void":[`error`,{allowAsStatement:!0}],"operator-assignment":`error`,"prefer-arrow-functions/prefer-arrow-functions":`error`,"prefer-object-spread":`error`,"prefer-promise-reject-errors":`off`,"require-atomic-updates":`error`,"unused-imports/no-unused-vars":`off`}},oe={files:[`./src/**/*`],rules:{"jsdoc/no-bad-blocks":`error`,"jsdoc/require-jsdoc":[`error`,{checkConstructors:!1,contexts:[`TSPropertySignature`,`TSMethodSignature`,`TSTypeAliasDeclaration`,`TSInterfaceDeclaration`,`TSEnumDeclaration`,`MethodDefinition`,`ClassDeclaration`,`ArrowFunctionExpression`,`ObjectExpression`,`PropertyDefinition`],enableFixer:!1,publicOnly:!0}]}},se={files:[`**/components/*`,`**/composables/*`,`**/content/*`,`**/layouts/*`,`**/middleware/*`,`**/modules/*`,`**/pages/*`,`**/plugins/*`,`**/public/*`,`**/server/*`,`**/shared/*`,`**/utils/*`,`**/.env`,`**/.nuxtignore`,`**/.nuxtrc`,`**/app.vue`,`**/app.config.ts`,`**/error.vue`,`**/nuxt.config.ts`],ignores:[`.nuxt/**`,`.output/**`],name:`nuxt`,rules:{"import/no-default-export":[`off`]}},ce={rules:{...l.configs[`recommended-natural`].rules,"perfectionist/sort-exports":[`error`,{customGroups:[{elementNamePattern:`/lib/`,groupName:`lib`},{elementNamePattern:`/model/`,groupName:`model`},{elementNamePattern:`/ui/`,groupName:`ui`}],groups:[`lib`,`model`,`ui`],type:`natural`}],"perfectionist/sort-imports":[`error`,{customGroups:[{elementNamePattern:`/shared/`,groupName:`shared`},{elementNamePattern:`/entities/`,groupName:`entities`},{elementNamePattern:`/features/`,groupName:`features`},{elementNamePattern:`/widgets/`,groupName:`widgets`},{elementNamePattern:`/pages/`,groupName:`pages`}],groups:[`shared`,`entities`,`features`,`widgets`,`pages`,`type-import`,[`value-builtin`,`value-external`],`type-internal`,`value-internal`,[`type-parent`,`type-sibling`,`type-index`],[`value-parent`,`value-sibling`,`value-index`],`ts-equals-import`,`unknown`],type:`natural`}],"perfectionist/sort-modules":[`error`,{groups:[`declare-enum`,`enum`,[`declare-interface`,`declare-type`],[`interface`,`type`],`declare-class`,`class`,`declare-function`,`function`,`export-enum`,[`export-interface`,`export-type`],`export-class`,`export-function`]}]}};var le=_(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let t={ArrayExpression:[`elements`],ArrayPattern:[`elements`],ArrowFunctionExpression:[`params`,`body`],AssignmentExpression:[`left`,`right`],AssignmentPattern:[`left`,`right`],AwaitExpression:[`argument`],BinaryExpression:[`left`,`right`],BlockStatement:[`body`],BreakStatement:[`label`],CallExpression:[`callee`,`arguments`],CatchClause:[`param`,`body`],ChainExpression:[`expression`],ClassBody:[`body`],ClassDeclaration:[`id`,`superClass`,`body`],ClassExpression:[`id`,`superClass`,`body`],ConditionalExpression:[`test`,`consequent`,`alternate`],ContinueStatement:[`label`],DebuggerStatement:[],DoWhileStatement:[`body`,`test`],EmptyStatement:[],ExperimentalRestProperty:[`argument`],ExperimentalSpreadProperty:[`argument`],ExportAllDeclaration:[`exported`,`source`],ExportDefaultDeclaration:[`declaration`],ExportNamedDeclaration:[`declaration`,`specifiers`,`source`],ExportSpecifier:[`exported`,`local`],ExpressionStatement:[`expression`],ForInStatement:[`left`,`right`,`body`],ForOfStatement:[`left`,`right`,`body`],ForStatement:[`init`,`test`,`update`,`body`],FunctionDeclaration:[`id`,`params`,`body`],FunctionExpression:[`id`,`params`,`body`],Identifier:[],IfStatement:[`test`,`consequent`,`alternate`],ImportDeclaration:[`specifiers`,`source`],ImportDefaultSpecifier:[`local`],ImportExpression:[`source`],ImportNamespaceSpecifier:[`local`],ImportSpecifier:[`imported`,`local`],JSXAttribute:[`name`,`value`],JSXClosingElement:[`name`],JSXClosingFragment:[],JSXElement:[`openingElement`,`children`,`closingElement`],JSXEmptyExpression:[],JSXExpressionContainer:[`expression`],JSXFragment:[`openingFragment`,`children`,`closingFragment`],JSXIdentifier:[],JSXMemberExpression:[`object`,`property`],JSXNamespacedName:[`namespace`,`name`],JSXOpeningElement:[`name`,`attributes`],JSXOpeningFragment:[],JSXSpreadAttribute:[`argument`],JSXSpreadChild:[`expression`],JSXText:[],LabeledStatement:[`label`,`body`],Literal:[],LogicalExpression:[`left`,`right`],MemberExpression:[`object`,`property`],MetaProperty:[`meta`,`property`],MethodDefinition:[`key`,`value`],NewExpression:[`callee`,`arguments`],ObjectExpression:[`properties`],ObjectPattern:[`properties`],PrivateIdentifier:[],Program:[`body`],Property:[`key`,`value`],PropertyDefinition:[`key`,`value`],RestElement:[`argument`],ReturnStatement:[`argument`],SequenceExpression:[`expressions`],SpreadElement:[`argument`],StaticBlock:[`body`],Super:[],SwitchCase:[`test`,`consequent`],SwitchStatement:[`discriminant`,`cases`],TaggedTemplateExpression:[`tag`,`quasi`],TemplateElement:[],TemplateLiteral:[`quasis`,`expressions`],ThisExpression:[],ThrowStatement:[`argument`],TryStatement:[`block`,`handler`,`finalizer`],UnaryExpression:[`argument`],UpdateExpression:[`argument`],VariableDeclaration:[`declarations`],VariableDeclarator:[`id`,`init`],WhileStatement:[`test`,`body`],WithStatement:[`object`,`body`],YieldExpression:[`argument`]},n=Object.keys(t);for(let e of n)Object.freeze(t[e]);Object.freeze(t);let r=new Set([`parent`,`leadingComments`,`trailingComments`]);function i(e){return!r.has(e)&&e[0]!==`_`}function a(e){return Object.keys(e).filter(i)}function o(e){let n=Object.assign({},t);for(let t of Object.keys(e))if(Object.prototype.hasOwnProperty.call(n,t)){let r=new Set(e[t]);for(let e of n[t])r.add(e);n[t]=Object.freeze(Array.from(r))}else n[t]=Object.freeze(Array.from(e[t]));return Object.freeze(n)}exports.KEYS=t,exports.getKeys=a,exports.unionWith=o}),y=_(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});var t=le();function n(e,t){let n=t.range[0],r=e,i=!1;do{i=!1;for(let e of r.childScopes){let t=e.block.range;if(t[0]<=n&&n<t[1]){r=e,i=!0;break}}}while(i);return r}function r(e,t){let r=``,i=e;for(typeof t==`string`?r=t:(r=t.name,i=n(i,t));i!=null;){let e=i.set.get(r);if(e!=null)return e;i=i.upper}return null}function i(e){return t=>!e(t)}function a(e,t){return e.type===`Punctuator`&&e.value===t}function o(e){return a(e,`=>`)}function s(e){return a(e,`,`)}function c(e){return a(e,`;`)}function l(e){return a(e,`:`)}function u(e){return a(e,`(`)}function d(e){return a(e,`)`)}function f(e){return a(e,`[`)}function p(e){return a(e,`]`)}function m(e){return a(e,`{`)}function h(e){return a(e,`}`)}function g(e){return[`Block`,`Line`,`Shebang`].includes(e.type)}let ee=i(o),_=i(s),te=i(c),ne=i(l),v=i(u),re=i(d),ie=i(f),ae=i(p),oe=i(m),se=i(h),ce=i(g);function y(e,t){return e.id?t.getTokenAfter(e.id,u):t.getFirstToken(e,u)}function ue(e,t){let n=e.parent,r=null,i=null;if(e.type===`ArrowFunctionExpression`){let n=t.getTokenBefore(e.body,o);r=n.loc.start,i=n.loc.end}else n.type===`Property`||n.type===`MethodDefinition`||n.type===`PropertyDefinition`?(r=n.loc.start,i=y(e,t).loc.start):(r=e.loc.start,i=y(e,t).loc.start);return{start:{...r},end:{...i}}}let de=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{},fe=Object.freeze(new Set(`Array.ArrayBuffer.BigInt.BigInt64Array.BigUint64Array.Boolean.DataView.Date.decodeURI.decodeURIComponent.encodeURI.encodeURIComponent.escape.Float32Array.Float64Array.Function.Infinity.Int16Array.Int32Array.Int8Array.isFinite.isNaN.isPrototypeOf.JSON.Map.Math.NaN.Number.Object.parseFloat.parseInt.Promise.Proxy.Reflect.RegExp.Set.String.Symbol.Uint16Array.Uint32Array.Uint8Array.Uint8ClampedArray.undefined.unescape.WeakMap.WeakSet`.split(`.`))),b=new Set([Array.isArray,Array.of,Array.prototype.at,Array.prototype.concat,Array.prototype.entries,Array.prototype.every,Array.prototype.filter,Array.prototype.find,Array.prototype.findIndex,Array.prototype.flat,Array.prototype.includes,Array.prototype.indexOf,Array.prototype.join,Array.prototype.keys,Array.prototype.lastIndexOf,Array.prototype.slice,Array.prototype.some,Array.prototype.toString,Array.prototype.values,typeof BigInt==`function`?BigInt:void 0,Boolean,Date,Date.parse,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,escape,isFinite,isNaN,isPrototypeOf,Map,Map.prototype.entries,Map.prototype.get,Map.prototype.has,Map.prototype.keys,Map.prototype.values,...Object.getOwnPropertyNames(Math).filter(e=>e!==`random`).map(e=>Math[e]).filter(e=>typeof e==`function`),Number,Number.isFinite,Number.isNaN,Number.parseFloat,Number.parseInt,Number.prototype.toExponential,Number.prototype.toFixed,Number.prototype.toPrecision,Number.prototype.toString,Object,Object.entries,Object.is,Object.isExtensible,Object.isFrozen,Object.isSealed,Object.keys,Object.values,parseFloat,parseInt,RegExp,Set,Set.prototype.entries,Set.prototype.has,Set.prototype.keys,Set.prototype.values,String,String.fromCharCode,String.fromCodePoint,String.raw,String.prototype.at,String.prototype.charAt,String.prototype.charCodeAt,String.prototype.codePointAt,String.prototype.concat,String.prototype.endsWith,String.prototype.includes,String.prototype.indexOf,String.prototype.lastIndexOf,String.prototype.normalize,String.prototype.padEnd,String.prototype.padStart,String.prototype.slice,String.prototype.startsWith,String.prototype.substr,String.prototype.substring,String.prototype.toLowerCase,String.prototype.toString,String.prototype.toUpperCase,String.prototype.trim,String.prototype.trimEnd,String.prototype.trimLeft,String.prototype.trimRight,String.prototype.trimStart,Symbol.for,Symbol.keyFor,unescape].filter(e=>typeof e==`function`)),pe=new Set([Object.freeze,Object.preventExtensions,Object.seal]),me=[[Map,new Set([`size`])],[RegExp,new Set([`dotAll`,`flags`,`global`,`hasIndices`,`ignoreCase`,`multiline`,`source`,`sticky`,`unicode`])],[Set,new Set([`size`])]];function he(e,t){let n=e;for(;(typeof n==`object`||typeof n==`function`)&&n!==null;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Object.getPrototypeOf(n)}return null}function ge(e,t){let n=he(e,t);return n!=null&&n.get!=null}function x(e,t){let n=[];for(let r=0;r<e.length;++r){let i=e[r];if(i==null)n.length=r+1;else if(i.type===`SpreadElement`){let e=S(i.argument,t);if(e==null)return null;n.push(...e.value)}else{let e=S(i,t);if(e==null)return null;n.push(e.value)}}return n}function _e(e){let t=e.references,n=t.filter(e=>e.init).length,r=t.filter(e=>e.isReadOnly()).length;return n===1&&r+n===t.length}let ve=Object.freeze({ArrayExpression(e,t){let n=x(e.elements,t);return n==null?null:{value:n}},AssignmentExpression(e,t){return e.operator===`=`?S(e.right,t):null},BinaryExpression(e,t){if(e.operator===`in`||e.operator===`instanceof`)return null;let n=S(e.left,t),r=S(e.right,t);if(n!=null&&r!=null)switch(e.operator){case`==`:return{value:n.value==r.value};case`!=`:return{value:n.value!=r.value};case`===`:return{value:n.value===r.value};case`!==`:return{value:n.value!==r.value};case`<`:return{value:n.value<r.value};case`<=`:return{value:n.value<=r.value};case`>`:return{value:n.value>r.value};case`>=`:return{value:n.value>=r.value};case`<<`:return{value:n.value<<r.value};case`>>`:return{value:n.value>>r.value};case`>>>`:return{value:n.value>>>r.value};case`+`:return{value:n.value+r.value};case`-`:return{value:n.value-r.value};case`*`:return{value:n.value*r.value};case`/`:return{value:n.value/r.value};case`%`:return{value:n.value%r.value};case`**`:return{value:n.value**r.value};case`|`:return{value:n.value|r.value};case`^`:return{value:n.value^r.value};case`&`:return{value:n.value&r.value}}return null},CallExpression(e,t){let n=e.callee,r=x(e.arguments,t);if(r!=null)if(n.type===`MemberExpression`){if(n.property.type===`PrivateIdentifier`)return null;let i=S(n.object,t);if(i!=null){if(i.value==null&&(i.optional||e.optional))return{value:void 0,optional:!0};let a=C(n,t);if(a!=null){let e=i.value,t=a.value;if(b.has(e[t]))return{value:e[t](...r)};if(pe.has(e[t]))return{value:r[0]}}}}else{let i=S(n,t);if(i!=null){if(i.value==null&&e.optional)return{value:void 0,optional:!0};let t=i.value;if(b.has(t))return{value:t(...r)};if(pe.has(t))return{value:r[0]}}}return null},ConditionalExpression(e,t){let n=S(e.test,t);return n==null?null:n.value?S(e.consequent,t):S(e.alternate,t)},ExpressionStatement(e,t){return S(e.expression,t)},Identifier(e,t){if(t!=null){let n=r(t,e);if(n!=null&&n.defs.length===0&&fe.has(n.name)&&n.name in de)return{value:de[n.name]};if(n!=null&&n.defs.length===1){let e=n.defs[0];if(e.parent&&e.type===`Variable`&&(e.parent.kind===`const`||_e(n))&&e.node.id.type===`Identifier`)return S(e.node.init,t)}}return null},Literal(e){let t=e;return(t.regex!=null||t.bigint!=null)&&t.value==null?null:{value:t.value}},LogicalExpression(e,t){let n=S(e.left,t);if(n!=null){if(e.operator===`||`&&n.value||e.operator===`&&`&&!n.value||e.operator===`??`&&n.value!=null)return n;let r=S(e.right,t);if(r!=null)return r}return null},MemberExpression(e,t){if(e.property.type===`PrivateIdentifier`)return null;let n=S(e.object,t);if(n!=null){if(n.value==null&&(n.optional||e.optional))return{value:void 0,optional:!0};let r=C(e,t);if(r!=null){if(!ge(n.value,r.value))return{value:n.value[r.value]};for(let[e,t]of me)if(n.value instanceof e&&t.has(r.value))return{value:n.value[r.value]}}}return null},ChainExpression(e,t){let n=S(e.expression,t);return n==null?null:{value:n.value}},NewExpression(e,t){let n=S(e.callee,t),r=x(e.arguments,t);if(n!=null&&r!=null){let e=n.value;if(b.has(e))return{value:new e(...r)}}return null},ObjectExpression(e,t){let n={};for(let r of e.properties)if(r.type===`Property`){if(r.kind!==`init`)return null;let e=C(r,t),i=S(r.value,t);if(e==null||i==null)return null;n[e.value]=i.value}else if(r.type===`SpreadElement`||r.type===`ExperimentalSpreadProperty`){let e=S(r.argument,t);if(e==null)return null;Object.assign(n,e.value)}else return null;return{value:n}},SequenceExpression(e,t){let n=e.expressions[e.expressions.length-1];return S(n,t)},TaggedTemplateExpression(e,t){let n=S(e.tag,t),r=x(e.quasi.expressions,t);if(n!=null&&r!=null){let t=n.value,i=e.quasi.quasis.map(e=>e.value.cooked);if(i.raw=e.quasi.quasis.map(e=>e.value.raw),t===String.raw)return{value:t(i,...r)}}return null},TemplateLiteral(e,t){let n=x(e.expressions,t);if(n!=null){let t=e.quasis[0].value.cooked;for(let r=0;r<n.length;++r)t+=n[r],t+=e.quasis[r+1].value.cooked;return{value:t}}return null},UnaryExpression(e,t){if(e.operator===`delete`)return null;if(e.operator===`void`)return{value:void 0};let n=S(e.argument,t);if(n!=null)switch(e.operator){case`-`:return{value:-n.value};case`+`:return{value:+n.value};case`!`:return{value:!n.value};case`~`:return{value:~n.value};case`typeof`:return{value:typeof n.value}}return null},TSAsExpression(e,t){return S(e.expression,t)},TSSatisfiesExpression(e,t){return S(e.expression,t)},TSTypeAssertion(e,t){return S(e.expression,t)},TSNonNullExpression(e,t){return S(e.expression,t)},TSInstantiationExpression(e,t){return S(e.expression,t)}});function S(e,t){return e!=null&&Object.hasOwnProperty.call(ve,e.type)?ve[e.type](e,t):null}function C(e,t){let n=e.type===`Property`?e.key:e.property;return e.computed?S(n,t):n.type===`Identifier`?{value:n.name}:n.type===`Literal`?n.bigint?{value:n.bigint}:{value:String(n.value)}:null}function w(e,t=null){try{return S(e,t)}catch{return null}}function T(e,t=null){if(e&&e.type===`Literal`&&e.value===null){let t=e;if(t.regex)return`/${t.regex.pattern}/${t.regex.flags}`;if(t.bigint)return t.bigint}let n=w(e,t);if(n)try{return String(n.value)}catch{}return null}function E(e,t){switch(e.type){case`MemberExpression`:return e.computed?T(e.property,t):e.property.type===`PrivateIdentifier`?null:e.property.name;case`Property`:case`MethodDefinition`:case`PropertyDefinition`:return e.computed?T(e.key,t):e.key.type===`Literal`?String(e.key.value):e.key.type===`PrivateIdentifier`?null:e.key.name}return null}function D(e,t){let n=e.parent,r=[],i=n.type===`Property`&&n.value===e,a=n.type===`MethodDefinition`&&n.value===e,o=n.type===`PropertyDefinition`&&n.value===e;if((a||o)&&(n.static&&r.push(`static`),n.key.type===`PrivateIdentifier`&&r.push(`private`)),e.async&&r.push(`async`),e.generator&&r.push(`generator`),i||a){if(n.kind===`constructor`)return`constructor`;n.kind===`get`?r.push(`getter`):n.kind===`set`?r.push(`setter`):r.push(`method`)}else o?r.push(`method`):(e.type===`ArrowFunctionExpression`&&r.push(`arrow`),r.push(`function`));if(i||a||o)if(n.key.type===`PrivateIdentifier`)r.push(`#${n.key.name}`);else{let e=E(n);if(e)r.push(`'${e}'`);else if(t){let e=t.getText(n.key);e.includes(` `)||r.push(`[${e}]`)}}else ye(e)?r.push(`'${e.id.name}'`):n.type===`VariableDeclarator`&&n.id&&n.id.type===`Identifier`?r.push(`'${n.id.name}'`):(n.type===`AssignmentExpression`||n.type===`AssignmentPattern`)&&n.left&&n.left.type===`Identifier`?r.push(`'${n.left.name}'`):n.type===`ExportDefaultDeclaration`&&n.declaration===e&&r.push(`'default'`);return r.join(` `)}function ye(e){return!!e.id}let be=Object.freeze(new Set([`==`,`!=`,`<`,`<=`,`>`,`>=`,`<<`,`>>`,`>>>`,`+`,`-`,`*`,`/`,`%`,`|`,`^`,`&`,`in`])),xe=Object.freeze(new Set([`-`,`+`,`!`,`~`]));function O(e){return typeof e==`object`&&!!e&&typeof e.type==`string`}let Se=Object.freeze(Object.assign(Object.create(null),{$visit(e,t,n){let{type:r}=e;return typeof this[r]==`function`?this[r](e,t,n):this.$visitChildren(e,t,n)},$visitChildren(e,n,r){let{type:i}=e;for(let a of r[i]||t.getKeys(e)){let t=e[a];if(Array.isArray(t)){for(let e of t)if(O(e)&&this.$visit(e,n,r))return!0}else if(O(t)&&this.$visit(t,n,r))return!0}return!1},ArrowFunctionExpression(){return!1},AssignmentExpression(){return!0},AwaitExpression(){return!0},BinaryExpression(e,t,n){return t.considerImplicitTypeConversion&&be.has(e.operator)&&(e.left.type!==`Literal`||e.right.type!==`Literal`)?!0:this.$visitChildren(e,t,n)},CallExpression(){return!0},FunctionExpression(){return!1},ImportExpression(){return!0},MemberExpression(e,t,n){return t.considerGetters||t.considerImplicitTypeConversion&&e.computed&&e.property.type!==`Literal`?!0:this.$visitChildren(e,t,n)},MethodDefinition(e,t,n){return t.considerImplicitTypeConversion&&e.computed&&e.key.type!==`Literal`?!0:this.$visitChildren(e,t,n)},NewExpression(){return!0},Property(e,t,n){return t.considerImplicitTypeConversion&&e.computed&&e.key.type!==`Literal`?!0:this.$visitChildren(e,t,n)},PropertyDefinition(e,t,n){return t.considerImplicitTypeConversion&&e.computed&&e.key.type!==`Literal`?!0:this.$visitChildren(e,t,n)},UnaryExpression(e,t,n){return e.operator===`delete`||t.considerImplicitTypeConversion&&xe.has(e.operator)&&e.argument.type!==`Literal`?!0:this.$visitChildren(e,t,n)},UpdateExpression(){return!0},YieldExpression(){return!0}}));function Ce(e,n,r={}){let{considerGetters:i=!1,considerImplicitTypeConversion:a=!1}=r;return Se.$visit(e,{considerGetters:i,considerImplicitTypeConversion:a},n.visitorKeys||t.KEYS)}function we(e,t){let n=e.parent;switch(n.type){case`CallExpression`:case`NewExpression`:return n.arguments.length===1&&n.arguments[0]===e?t.getTokenAfter(n.callee,u):null;case`DoWhileStatement`:return n.test===e?t.getTokenAfter(n.body,u):null;case`IfStatement`:case`WhileStatement`:return n.test===e?t.getFirstToken(n,1):null;case`ImportExpression`:return n.source===e?t.getFirstToken(n,1):null;case`SwitchStatement`:return n.discriminant===e?t.getFirstToken(n,1):null;case`WithStatement`:return n.object===e?t.getFirstToken(n,1):null;default:return null}}function Te(e,t,n){let r,i,a,o,s;if(typeof e==`number`){if(r=e|0,i=t,a=n,!(r>=1))throw TypeError(`'times' should be a positive integer.`)}else r=1,i=e,a=t;if(i==null||i.parent==null||i.parent.type===`CatchClause`&&i.parent.param===i)return!1;o=s=i;do o=a.getTokenBefore(o),s=a.getTokenAfter(s);while(o!=null&&s!=null&&u(o)&&d(s)&&o!==we(i,a)&&--r>0);return r===0}let Ee=/\$(?:[$&`']|[1-9][0-9]?)/gu,De=new WeakMap;function Oe(e,t){let n=!1;for(let r=t-1;r>=0&&e.charCodeAt(r)===92;--r)n=!n;return n}function ke(e,t,n){let r=[],i=0;function a(e,n){switch(e){case`$$`:return`$`;case`$&`:return n[0];case"$`":return t.slice(0,n.index);case`$'`:return t.slice(n.index+n[0].length);default:{let t=e.slice(1);return t in n?n[t]:e}}}for(let o of e.execAll(t))r.push(t.slice(i,o.index)),r.push(n.replace(Ee,e=>a(e,o))),i=o.index+o[0].length;return r.push(t.slice(i)),r.join(``)}function Ae(e,t,n){let r=[],i=0;for(let a of e.execAll(t))r.push(t.slice(i,a.index)),r.push(String(n(...a,a.index,a.input))),i=a.index+a[0].length;return r.push(t.slice(i)),r.join(``)}var je=class{constructor(e,t={}){let{escaped:n=!1}=t;if(!(e instanceof RegExp))throw TypeError(`'pattern' should be a RegExp instance.`);if(!e.flags.includes(`g`))throw Error(`'pattern' should contains 'g' flag.`);De.set(this,{pattern:new RegExp(e.source,e.flags),escaped:!!n})}*execAll(e){let{pattern:t,escaped:n}=De.get(this),r=null,i=0;for(t.lastIndex=0;(r=t.exec(e))!=null;)(n||!Oe(e,r.index))&&(i=t.lastIndex,yield r,t.lastIndex=i)}test(e){let t=this.execAll(e),n=t.next();return!n.done}[Symbol.replace](e,t){return typeof t==`function`?Ae(this,String(e),t):ke(this,String(e),String(t))}};let Me=/^(?:Import|Export(?:All|Default|Named))Declaration$/u;function Ne(e){return Me.test(e.type)&&e.source!=null}let k=Function.call.bind(Object.hasOwnProperty),A=Symbol(`read`),j=Symbol(`call`),M=Symbol(`construct`),N=Symbol(`esm`),Pe={require:{[j]:!0}};function P(e){return e==null||e.defs.length!==0||e.references.some(e=>e.isWrite())}function F(e){let t=e.parent;if(t)switch(t.type){case`ConditionalExpression`:return t.consequent===e||t.alternate===e;case`LogicalExpression`:return!0;case`SequenceExpression`:return t.expressions[t.expressions.length-1]===e;case`ChainExpression`:return!0;case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSTypeAssertion`:case`TSNonNullExpression`:case`TSInstantiationExpression`:return!0;default:return!1}return!1}var I=class{constructor(e,t={}){let{mode:n=`strict`,globalObjectNames:r=[`global`,`globalThis`,`self`,`window`]}=t;this.variableStack=[],this.globalScope=e,this.mode=n,this.globalObjectNames=r.slice(0)}*iterateGlobalReferences(e){for(let t of Object.keys(e)){let n=e[t],r=[t],i=this.globalScope.set.get(t);if(P(i))continue;yield*this._iterateVariableReferences(i,r,n,!0)}for(let t of this.globalObjectNames){let n=[],r=this.globalScope.set.get(t);if(P(r))continue;yield*this._iterateVariableReferences(r,n,e,!1)}}*iterateCjsReferences(e){for(let{node:t}of this.iterateGlobalReferences(Pe)){let n=T(t.arguments[0]);if(n==null||!k(e,n))continue;let r=e[n],i=[n];r[A]&&(yield{node:t,path:i,type:A,info:r[A]}),yield*this._iteratePropertyReferences(t,i,r)}}*iterateEsmReferences(e){let t=this.globalScope.block;for(let n of t.body){if(!Ne(n))continue;let t=n.source.value;if(!k(e,t))continue;let r=e[t],i=[t];if(r[A]&&(yield{node:n,path:i,type:A,info:r[A]}),n.type===`ExportAllDeclaration`)for(let e of Object.keys(r)){let t=r[e];t[A]&&(yield{node:n,path:i.concat(e),type:A,info:t[A]})}else for(let e of n.specifiers){let t=k(r,N),n=this._iterateImportReferences(e,i,t?r:this.mode===`legacy`?{default:r,...r}:{default:r});if(t)yield*n;else for(let e of n)e.path=e.path.filter(L),(e.path.length>=2||e.type!==A)&&(yield e)}}}*iteratePropertyReferences(e,t){yield*this._iteratePropertyReferences(e,[],t)}*_iterateVariableReferences(e,t,n,r){if(!this.variableStack.includes(e)){this.variableStack.push(e);try{for(let i of e.references){if(!i.isRead())continue;let e=i.identifier;r&&n[A]&&(yield{node:e,path:t,type:A,info:n[A]}),yield*this._iteratePropertyReferences(e,t,n)}}finally{this.variableStack.pop()}}}*_iteratePropertyReferences(e,t,n){let r=e;for(;F(r);)r=r.parent;let i=r.parent;if(i.type===`MemberExpression`){if(i.object===r){let e=E(i);if(e==null||!k(n,e))return;t=t.concat(e);let r=n[e];r[A]&&(yield{node:i,path:t,type:A,info:r[A]}),yield*this._iteratePropertyReferences(i,t,r)}return}if(i.type===`CallExpression`){i.callee===r&&n[j]&&(yield{node:i,path:t,type:j,info:n[j]});return}if(i.type===`NewExpression`){i.callee===r&&n[M]&&(yield{node:i,path:t,type:M,info:n[M]});return}if(i.type===`AssignmentExpression`){i.right===r&&(yield*this._iterateLhsReferences(i.left,t,n),yield*this._iteratePropertyReferences(i,t,n));return}if(i.type===`AssignmentPattern`){i.right===r&&(yield*this._iterateLhsReferences(i.left,t,n));return}i.type===`VariableDeclarator`&&i.init===r&&(yield*this._iterateLhsReferences(i.id,t,n))}*_iterateLhsReferences(e,t,n){if(e.type===`Identifier`){let i=r(this.globalScope,e);i!=null&&(yield*this._iterateVariableReferences(i,t,n,!1));return}if(e.type===`ObjectPattern`){for(let r of e.properties){let e=E(r);if(e==null||!k(n,e))continue;let i=t.concat(e),a=n[e];a[A]&&(yield{node:r,path:i,type:A,info:a[A]}),yield*this._iterateLhsReferences(r.value,i,a)}return}e.type===`AssignmentPattern`&&(yield*this._iterateLhsReferences(e.left,t,n))}*_iterateImportReferences(e,t,n){let i=e.type;if(i===`ImportSpecifier`||i===`ImportDefaultSpecifier`){let a=i===`ImportDefaultSpecifier`?`default`:e.imported.type===`Identifier`?e.imported.name:e.imported.value;if(!k(n,a))return;t=t.concat(a);let o=n[a];o[A]&&(yield{node:e,path:t,type:A,info:o[A]}),yield*this._iterateVariableReferences(r(this.globalScope,e.local),t,o,!1);return}if(i===`ImportNamespaceSpecifier`){yield*this._iterateVariableReferences(r(this.globalScope,e.local),t,n,!1);return}if(i===`ExportSpecifier`){let r=e.local.type===`Identifier`?e.local.name:e.local.value;if(!k(n,r))return;t=t.concat(r);let i=n[r];i[A]&&(yield{node:e,path:t,type:A,info:i[A]})}}};I.READ=A,I.CALL=j,I.CONSTRUCT=M,I.ESM=N;function L(e,t){return!(t===1&&e===`default`)}var R={CALL:j,CONSTRUCT:M,ESM:N,findVariable:r,getFunctionHeadLocation:ue,getFunctionNameWithKind:D,getInnermostScope:n,getPropertyName:E,getStaticValue:w,getStringIfConstant:T,hasSideEffect:Ce,isArrowToken:o,isClosingBraceToken:h,isClosingBracketToken:p,isClosingParenToken:d,isColonToken:l,isCommaToken:s,isCommentToken:g,isNotArrowToken:ee,isNotClosingBraceToken:se,isNotClosingBracketToken:ae,isNotClosingParenToken:re,isNotColonToken:ne,isNotCommaToken:_,isNotCommentToken:ce,isNotOpeningBraceToken:oe,isNotOpeningBracketToken:ie,isNotOpeningParenToken:v,isNotSemicolonToken:te,isOpeningBraceToken:m,isOpeningBracketToken:f,isOpeningParenToken:u,isParenthesized:Te,isSemicolonToken:c,PatternMatcher:je,READ:A,ReferenceTracker:I};exports.CALL=j,exports.CONSTRUCT=M,exports.ESM=N,exports.PatternMatcher=je,exports.READ=A,exports.ReferenceTracker=I,exports.default=R,exports.findVariable=r,exports.getFunctionHeadLocation=ue,exports.getFunctionNameWithKind=D,exports.getInnermostScope=n,exports.getPropertyName=E,exports.getStaticValue=w,exports.getStringIfConstant=T,exports.hasSideEffect=Ce,exports.isArrowToken=o,exports.isClosingBraceToken=h,exports.isClosingBracketToken=p,exports.isClosingParenToken=d,exports.isColonToken=l,exports.isCommaToken=s,exports.isCommentToken=g,exports.isNotArrowToken=ee,exports.isNotClosingBraceToken=se,exports.isNotClosingBracketToken=ae,exports.isNotClosingParenToken=re,exports.isNotColonToken=ne,exports.isNotCommaToken=_,exports.isNotCommentToken=ce,exports.isNotOpeningBraceToken=oe,exports.isNotOpeningBracketToken=ie,exports.isNotOpeningParenToken=v,exports.isNotSemicolonToken=te,exports.isOpeningBraceToken=m,exports.isOpeningBracketToken=f,exports.isOpeningParenToken=u,exports.isParenthesized=Te,exports.isSemicolonToken=c}),ue=_(exports=>{var t=Object.create?function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},n=Object.create?function(e,t){Object.defineProperty(e,`default`,{enumerable:!0,value:t})}:function(e,t){e.default=t},r=function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!==`default`&&t(i,r,a[o]);return n(i,r),i}}();Object.defineProperty(exports,`__esModule`,{value:!0}),exports.isParenthesized=exports.hasSideEffect=exports.getStringIfConstant=exports.getStaticValue=exports.getPropertyName=exports.getFunctionNameWithKind=exports.getFunctionHeadLocation=void 0;let i=r(y());exports.getFunctionHeadLocation=i.getFunctionHeadLocation,exports.getFunctionNameWithKind=i.getFunctionNameWithKind,exports.getPropertyName=i.getPropertyName,exports.getStaticValue=i.getStaticValue,exports.getStringIfConstant=i.getStringIfConstant,exports.hasSideEffect=i.hasSideEffect,exports.isParenthesized=i.isParenthesized}),de=_(exports=>{var t=Object.create?function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},n=Object.create?function(e,t){Object.defineProperty(e,`default`,{enumerable:!0,value:t})}:function(e,t){e.default=t},r=function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!==`default`&&t(i,r,a[o]);return n(i,r),i}}();Object.defineProperty(exports,`__esModule`,{value:!0}),exports.PatternMatcher=void 0;let i=r(y());exports.PatternMatcher=i.PatternMatcher}),fe=_(exports=>{var t=Object.create?function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},n=Object.create?function(e,t){Object.defineProperty(e,`default`,{enumerable:!0,value:t})}:function(e,t){e.default=t},r=function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!==`default`&&t(i,r,a[o]);return n(i,r),i}}();Object.defineProperty(exports,`__esModule`,{value:!0}),exports.isNotSemicolonToken=exports.isSemicolonToken=exports.isNotOpeningParenToken=exports.isOpeningParenToken=exports.isNotOpeningBracketToken=exports.isOpeningBracketToken=exports.isNotOpeningBraceToken=exports.isOpeningBraceToken=exports.isNotCommentToken=exports.isCommentToken=exports.isNotCommaToken=exports.isCommaToken=exports.isNotColonToken=exports.isColonToken=exports.isNotClosingParenToken=exports.isClosingParenToken=exports.isNotClosingBracketToken=exports.isClosingBracketToken=exports.isNotClosingBraceToken=exports.isClosingBraceToken=exports.isNotArrowToken=exports.isArrowToken=void 0;let i=r(y());exports.isArrowToken=i.isArrowToken,exports.isNotArrowToken=i.isNotArrowToken,exports.isClosingBraceToken=i.isClosingBraceToken,exports.isNotClosingBraceToken=i.isNotClosingBraceToken,exports.isClosingBracketToken=i.isClosingBracketToken,exports.isNotClosingBracketToken=i.isNotClosingBracketToken,exports.isClosingParenToken=i.isClosingParenToken,exports.isNotClosingParenToken=i.isNotClosingParenToken,exports.isColonToken=i.isColonToken,exports.isNotColonToken=i.isNotColonToken,exports.isCommaToken=i.isCommaToken,exports.isNotCommaToken=i.isNotCommaToken,exports.isCommentToken=i.isCommentToken,exports.isNotCommentToken=i.isNotCommentToken,exports.isOpeningBraceToken=i.isOpeningBraceToken,exports.isNotOpeningBraceToken=i.isNotOpeningBraceToken,exports.isOpeningBracketToken=i.isOpeningBracketToken,exports.isNotOpeningBracketToken=i.isNotOpeningBracketToken,exports.isOpeningParenToken=i.isOpeningParenToken,exports.isNotOpeningParenToken=i.isNotOpeningParenToken,exports.isSemicolonToken=i.isSemicolonToken,exports.isNotSemicolonToken=i.isNotSemicolonToken}),b=_(exports=>{var t=Object.create?function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},n=Object.create?function(e,t){Object.defineProperty(e,`default`,{enumerable:!0,value:t})}:function(e,t){e.default=t},r=function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!==`default`&&t(i,r,a[o]);return n(i,r),i}}();Object.defineProperty(exports,`__esModule`,{value:!0}),exports.ReferenceTracker=void 0;let i=r(y()),a=i.ReferenceTracker.READ,o=i.ReferenceTracker.CALL,s=i.ReferenceTracker.CONSTRUCT,c=i.ReferenceTracker.ESM;exports.ReferenceTracker=i.ReferenceTracker}),pe=_(exports=>{var t=Object.create?function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},n=Object.create?function(e,t){Object.defineProperty(e,`default`,{enumerable:!0,value:t})}:function(e,t){e.default=t},r=function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!==`default`&&t(i,r,a[o]);return n(i,r),i}}();Object.defineProperty(exports,`__esModule`,{value:!0}),exports.getInnermostScope=exports.findVariable=void 0;let i=r(y());exports.findVariable=i.findVariable,exports.getInnermostScope=i.getInnermostScope}),me=_(exports=>{var t=Object.create?function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},n=function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(exports,`__esModule`,{value:!0}),n(ue(),exports),n(de(),exports),n(fe(),exports),n(b(),exports),n(pe(),exports)}),he=_(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.isNotTokenOfTypeWithConditions=exports.isTokenOfTypeWithConditions=exports.isNodeOfTypeWithConditions=exports.isNodeOfTypes=exports.isNodeOfType=void 0;let t=e=>t=>t?.type===e;exports.isNodeOfType=t;let n=e=>t=>!!t&&e.includes(t.type);exports.isNodeOfTypes=n;let r=(e,t)=>{let n=Object.entries(t);return t=>t?.type===e&&n.every(([e,n])=>t[e]===n)};exports.isNodeOfTypeWithConditions=r;let i=(e,t)=>{let n=Object.entries(t);return t=>t?.type===e&&n.every(([e,n])=>t[e]===n)};exports.isTokenOfTypeWithConditions=i;let a=(t,n)=>r=>!(0,exports.isTokenOfTypeWithConditions)(t,n)(r);exports.isNotTokenOfTypeWithConditions=a}),ge=_(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.LINEBREAK_MATCHER=void 0,exports.isTokenOnSameLine=t,exports.LINEBREAK_MATCHER=/\r\n|[\r\n\u2028\u2029]/;function t(e,t){return e.loc.end.line===t.loc.start.line}}),x=_(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.AST_TOKEN_TYPES=exports.AST_NODE_TYPES=void 0;var t;(function(e){e.AccessorProperty=`AccessorProperty`,e.ArrayExpression=`ArrayExpression`,e.ArrayPattern=`ArrayPattern`,e.ArrowFunctionExpression=`ArrowFunctionExpression`,e.AssignmentExpression=`AssignmentExpression`,e.AssignmentPattern=`AssignmentPattern`,e.AwaitExpression=`AwaitExpression`,e.BinaryExpression=`BinaryExpression`,e.BlockStatement=`BlockStatement`,e.BreakStatement=`BreakStatement`,e.CallExpression=`CallExpression`,e.CatchClause=`CatchClause`,e.ChainExpression=`ChainExpression`,e.ClassBody=`ClassBody`,e.ClassDeclaration=`ClassDeclaration`,e.ClassExpression=`ClassExpression`,e.ConditionalExpression=`ConditionalExpression`,e.ContinueStatement=`ContinueStatement`,e.DebuggerStatement=`DebuggerStatement`,e.Decorator=`Decorator`,e.DoWhileStatement=`DoWhileStatement`,e.EmptyStatement=`EmptyStatement`,e.ExportAllDeclaration=`ExportAllDeclaration`,e.ExportDefaultDeclaration=`ExportDefaultDeclaration`,e.ExportNamedDeclaration=`ExportNamedDeclaration`,e.ExportSpecifier=`ExportSpecifier`,e.ExpressionStatement=`ExpressionStatement`,e.ForInStatement=`ForInStatement`,e.ForOfStatement=`ForOfStatement`,e.ForStatement=`ForStatement`,e.FunctionDeclaration=`FunctionDeclaration`,e.FunctionExpression=`FunctionExpression`,e.Identifier=`Identifier`,e.IfStatement=`IfStatement`,e.ImportAttribute=`ImportAttribute`,e.ImportDeclaration=`ImportDeclaration`,e.ImportDefaultSpecifier=`ImportDefaultSpecifier`,e.ImportExpression=`ImportExpression`,e.ImportNamespaceSpecifier=`ImportNamespaceSpecifier`,e.ImportSpecifier=`ImportSpecifier`,e.JSXAttribute=`JSXAttribute`,e.JSXClosingElement=`JSXClosingElement`,e.JSXClosingFragment=`JSXClosingFragment`,e.JSXElement=`JSXElement`,e.JSXEmptyExpression=`JSXEmptyExpression`,e.JSXExpressionContainer=`JSXExpressionContainer`,e.JSXFragment=`JSXFragment`,e.JSXIdentifier=`JSXIdentifier`,e.JSXMemberExpression=`JSXMemberExpression`,e.JSXNamespacedName=`JSXNamespacedName`,e.JSXOpeningElement=`JSXOpeningElement`,e.JSXOpeningFragment=`JSXOpeningFragment`,e.JSXSpreadAttribute=`JSXSpreadAttribute`,e.JSXSpreadChild=`JSXSpreadChild`,e.JSXText=`JSXText`,e.LabeledStatement=`LabeledStatement`,e.Literal=`Literal`,e.LogicalExpression=`LogicalExpression`,e.MemberExpression=`MemberExpression`,e.MetaProperty=`MetaProperty`,e.MethodDefinition=`MethodDefinition`,e.NewExpression=`NewExpression`,e.ObjectExpression=`ObjectExpression`,e.ObjectPattern=`ObjectPattern`,e.PrivateIdentifier=`PrivateIdentifier`,e.Program=`Program`,e.Property=`Property`,e.PropertyDefinition=`PropertyDefinition`,e.RestElement=`RestElement`,e.ReturnStatement=`ReturnStatement`,e.SequenceExpression=`SequenceExpression`,e.SpreadElement=`SpreadElement`,e.StaticBlock=`StaticBlock`,e.Super=`Super`,e.SwitchCase=`SwitchCase`,e.SwitchStatement=`SwitchStatement`,e.TaggedTemplateExpression=`TaggedTemplateExpression`,e.TemplateElement=`TemplateElement`,e.TemplateLiteral=`TemplateLiteral`,e.ThisExpression=`ThisExpression`,e.ThrowStatement=`ThrowStatement`,e.TryStatement=`TryStatement`,e.UnaryExpression=`UnaryExpression`,e.UpdateExpression=`UpdateExpression`,e.VariableDeclaration=`VariableDeclaration`,e.VariableDeclarator=`VariableDeclarator`,e.WhileStatement=`WhileStatement`,e.WithStatement=`WithStatement`,e.YieldExpression=`YieldExpression`,e.TSAbstractAccessorProperty=`TSAbstractAccessorProperty`,e.TSAbstractKeyword=`TSAbstractKeyword`,e.TSAbstractMethodDefinition=`TSAbstractMethodDefinition`,e.TSAbstractPropertyDefinition=`TSAbstractPropertyDefinition`,e.TSAnyKeyword=`TSAnyKeyword`,e.TSArrayType=`TSArrayType`,e.TSAsExpression=`TSAsExpression`,e.TSAsyncKeyword=`TSAsyncKeyword`,e.TSBigIntKeyword=`TSBigIntKeyword`,e.TSBooleanKeyword=`TSBooleanKeyword`,e.TSCallSignatureDeclaration=`TSCallSignatureDeclaration`,e.TSClassImplements=`TSClassImplements`,e.TSConditionalType=`TSConditionalType`,e.TSConstructorType=`TSConstructorType`,e.TSConstructSignatureDeclaration=`TSConstructSignatureDeclaration`,e.TSDeclareFunction=`TSDeclareFunction`,e.TSDeclareKeyword=`TSDeclareKeyword`,e.TSEmptyBodyFunctionExpression=`TSEmptyBodyFunctionExpression`,e.TSEnumBody=`TSEnumBody`,e.TSEnumDeclaration=`TSEnumDeclaration`,e.TSEnumMember=`TSEnumMember`,e.TSExportAssignment=`TSExportAssignment`,e.TSExportKeyword=`TSExportKeyword`,e.TSExternalModuleReference=`TSExternalModuleReference`,e.TSFunctionType=`TSFunctionType`,e.TSImportEqualsDeclaration=`TSImportEqualsDeclaration`,e.TSImportType=`TSImportType`,e.TSIndexedAccessType=`TSIndexedAccessType`,e.TSIndexSignature=`TSIndexSignature`,e.TSInferType=`TSInferType`,e.TSInstantiationExpression=`TSInstantiationExpression`,e.TSInterfaceBody=`TSInterfaceBody`,e.TSInterfaceDeclaration=`TSInterfaceDeclaration`,e.TSInterfaceHeritage=`TSInterfaceHeritage`,e.TSIntersectionType=`TSIntersectionType`,e.TSIntrinsicKeyword=`TSIntrinsicKeyword`,e.TSLiteralType=`TSLiteralType`,e.TSMappedType=`TSMappedType`,e.TSMethodSignature=`TSMethodSignature`,e.TSModuleBlock=`TSModuleBlock`,e.TSModuleDeclaration=`TSModuleDeclaration`,e.TSNamedTupleMember=`TSNamedTupleMember`,e.TSNamespaceExportDeclaration=`TSNamespaceExportDeclaration`,e.TSNeverKeyword=`TSNeverKeyword`,e.TSNonNullExpression=`TSNonNullExpression`,e.TSNullKeyword=`TSNullKeyword`,e.TSNumberKeyword=`TSNumberKeyword`,e.TSObjectKeyword=`TSObjectKeyword`,e.TSOptionalType=`TSOptionalType`,e.TSParameterProperty=`TSParameterProperty`,e.TSPrivateKeyword=`TSPrivateKeyword`,e.TSPropertySignature=`TSPropertySignature`,e.TSProtectedKeyword=`TSProtectedKeyword`,e.TSPublicKeyword=`TSPublicKeyword`,e.TSQualifiedName=`TSQualifiedName`,e.TSReadonlyKeyword=`TSReadonlyKeyword`,e.TSRestType=`TSRestType`,e.TSSatisfiesExpression=`TSSatisfiesExpression`,e.TSStaticKeyword=`TSStaticKeyword`,e.TSStringKeyword=`TSStringKeyword`,e.TSSymbolKeyword=`TSSymbolKeyword`,e.TSTemplateLiteralType=`TSTemplateLiteralType`,e.TSThisType=`TSThisType`,e.TSTupleType=`TSTupleType`,e.TSTypeAliasDeclaration=`TSTypeAliasDeclaration`,e.TSTypeAnnotation=`TSTypeAnnotation`,e.TSTypeAssertion=`TSTypeAssertion`,e.TSTypeLiteral=`TSTypeLiteral`,e.TSTypeOperator=`TSTypeOperator`,e.TSTypeParameter=`TSTypeParameter`,e.TSTypeParameterDeclaration=`TSTypeParameterDeclaration`,e.TSTypeParameterInstantiation=`TSTypeParameterInstantiation`,e.TSTypePredicate=`TSTypePredicate`,e.TSTypeQuery=`TSTypeQuery`,e.TSTypeReference=`TSTypeReference`,e.TSUndefinedKeyword=`TSUndefinedKeyword`,e.TSUnionType=`TSUnionType`,e.TSUnknownKeyword=`TSUnknownKeyword`,e.TSVoidKeyword=`TSVoidKeyword`})(t||(exports.AST_NODE_TYPES=t={}));var n;(function(e){e.Boolean=`Boolean`,e.Identifier=`Identifier`,e.JSXIdentifier=`JSXIdentifier`,e.PrivateIdentifier=`PrivateIdentifier`,e.JSXText=`JSXText`,e.Keyword=`Keyword`,e.Null=`Null`,e.Numeric=`Numeric`,e.Punctuator=`Punctuator`,e.RegularExpression=`RegularExpression`,e.String=`String`,e.Template=`Template`,e.Block=`Block`,e.Line=`Line`})(n||(exports.AST_TOKEN_TYPES=n={}))}),_e=_(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0})}),ve=_(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0})}),S=_(exports=>{var t=Object.create?function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},n=Object.create?function(e,t){Object.defineProperty(e,`default`,{enumerable:!0,value:t})}:function(e,t){e.default=t},r=function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!==`default`&&t(i,r,a[o]);return n(i,r),i}}();Object.defineProperty(exports,`__esModule`,{value:!0}),exports.TSESTree=void 0,exports.TSESTree=r(x())}),C=_(exports=>{var t=Object.create?function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},n=function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(exports,`__esModule`,{value:!0}),exports.AST_TOKEN_TYPES=exports.AST_NODE_TYPES=void 0;var r=x();Object.defineProperty(exports,`AST_NODE_TYPES`,{enumerable:!0,get:function(){return r.AST_NODE_TYPES}}),Object.defineProperty(exports,`AST_TOKEN_TYPES`,{enumerable:!0,get:function(){return r.AST_TOKEN_TYPES}}),n(_e(),exports),n(ve(),exports),n(S(),exports)}),w=_(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.TSESTree=exports.AST_TOKEN_TYPES=exports.AST_NODE_TYPES=void 0;var t=C();Object.defineProperty(exports,`AST_NODE_TYPES`,{enumerable:!0,get:function(){return t.AST_NODE_TYPES}}),Object.defineProperty(exports,`AST_TOKEN_TYPES`,{enumerable:!0,get:function(){return t.AST_TOKEN_TYPES}}),Object.defineProperty(exports,`TSESTree`,{enumerable:!0,get:function(){return t.TSESTree}})}),T=_(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.isLoop=exports.isImportKeyword=exports.isTypeKeyword=exports.isAwaitKeyword=exports.isAwaitExpression=exports.isIdentifier=exports.isConstructor=exports.isClassOrTypeElement=exports.isTSConstructorType=exports.isTSFunctionType=exports.isFunctionOrFunctionType=exports.isFunctionType=exports.isFunction=exports.isVariableDeclarator=exports.isTypeAssertion=exports.isLogicalOrOperator=exports.isOptionalCallExpression=exports.isNotNonNullAssertionPunctuator=exports.isNonNullAssertionPunctuator=exports.isNotOptionalChainPunctuator=exp