@eslint-sukka/eslint-plugin-stylistic 8.9.1 → 8.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.cjs +1 -1
  2. package/package.json +2 -2
package/dist/index.cjs CHANGED
@@ -20,4 +20,4 @@ ${r.map(e=>`${i} * ${e}`).join("\n")}
20
20
  ${i} */`))}});else{let t=n.value.split(nK.LINEBREAK_MATCHER),r=`${u(n)} *`;if(!/^[*!]?\s*$/u.test(t[0])){let t=/^[*!]/.test(n.value)?n.range[0]+1:n.range[0];e.report({loc:{start:n.loc.start,end:{line:n.loc.start.line,column:n.loc.start.column+2}},messageId:"startNewline",fix:e=>e.insertTextAfterRange([t,t+2],`
21
21
  ${r}`)})}rh(t.at(-1))||e.report({loc:{start:{line:n.loc.end.line,column:n.loc.end.column-2},end:n.loc.end},messageId:"endNewline",fix:e=>e.replaceTextRange([n.range[1]-2,n.range[1]],`
22
22
  ${r}/`)});for(let i=n.loc.start.line+1;i<=n.loc.end.line;i++){let o=s.lines[i-1],l=a(o)?"alignment":"missingStar";o.startsWith(r)||e.report({loc:{start:{line:i,column:0},end:{line:i,column:o.length}},messageId:l,fix(e){let a,p=s.getIndexFromLoc({line:i,column:0});if("alignment"===l){let[,t=""]=o.match(/^(\s*\*)/u)||[],n=p+t.length;return e.replaceTextRange([p,n],r)}let[,c=""]=o.match(/^(\s*)/u)||[],u=p+c.length;for(let[e,r]of t.entries()){if(!/\S+/u.test(r))continue;let[,t="",i=""]=s.lines[n.loc.start.line-1+e].match(/^(\s*(?:\/?\*)?(\s*))/u)||[];a=`${c.slice(t.length)}${i}`,/^\s*\//u.test(o)&&0===a.length&&(a+=" ");break}return e.replaceTextRange([p,u],`${r}${a}`)}})}}},"separate-lines":function(t){let[n]=t,a=l(t),o=p(t);if("Block"!==n.type||!r&&a||!i&&o)return;let f=c(t);(a||o)&&(f=f.slice(1,f.length-1));let d=s.getTokenAfter(n,{includeComments:!0});d&&(0,nK.isTokenOnSameLine)(n,d)||e.report({loc:{start:n.loc.start,end:{line:n.loc.start.line,column:n.loc.start.column+2}},messageId:"expectedLines",fix:e=>e.replaceText(n,f.map(e=>`// ${e}`).join(`
23
- ${u(n)}`))})},"bare-block":function(t){if(l(t)||p(t))return;let[n]=t,r=c(t);"Line"===n.type&&r.length>1&&!r.some(e=>e.includes("*/"))&&e.report({loc:{start:n.loc.start,end:t.at(-1).loc.end},messageId:"expectedBlock",fix:e=>e.replaceTextRange([n.range[0],t.at(-1).range[1]],f(n,r))}),o(t)&&e.report({loc:{start:n.loc.start,end:{line:n.loc.start.line,column:n.loc.start.column+2}},messageId:"expectedBareBlock",fix:e=>e.replaceText(n,f(n,r))})}};return{Program:()=>s.getAllComments().filter(e=>{if(rt(e)||nH.test(e.value))return!1;let t=s.getTokenBefore(e,{includeComments:!0});return!t||t.loc.end.line<e.loc.start.line}).reduce((e,t,n,r)=>{let i=s.getTokenBefore(t,{includeComments:!0});return"Line"===t.type&&n&&"Line"===r[n-1].type&&i&&i.loc.end.line===t.loc.start.line-1&&i===r[n-1]?e.at(-1).push(t):e.push([t]),e},[]).forEach(e=>{1===e.length&&rT(e[0])||(0,d[t])(e)})}}}),sm=rE({name:"multiline-ternary",meta:{type:"layout",docs:{description:"Enforce newlines between operands of ternary expressions"},fixable:"whitespace",schema:[{type:"string",enum:["always","always-multiline","never"]},{type:"object",properties:{ignoreJSX:{type:"boolean"}},additionalProperties:!1}],defaultOptions:["always"],messages:{expectedTestCons:"Expected newline between test and consequent of ternary expression.",expectedConsAlt:"Expected newline between consequent and alternate of ternary expression.",unexpectedTestCons:"Unexpected newline between test and consequent of ternary expression.",unexpectedConsAlt:"Unexpected newline between consequent and alternate of ternary expression."}},create(e,[t,n={}]){let r="never"!==t,i="always-multiline"===t,{ignoreJSX:s}=n,a=e.sourceCode;return{ConditionalExpression(t){let n=a.getTokenAfter(t.test,nK.isNotClosingParenToken),o=a.getTokenAfter(t.consequent,nK.isNotClosingParenToken),l=a.getFirstToken(t),p=a.getTokenBefore(n),c=a.getTokenAfter(n),u=a.getTokenBefore(o),f=a.getTokenAfter(o),d=(0,nK.isTokenOnSameLine)(p,c),m=(0,nK.isTokenOnSameLine)(u,f),h=!!a.getCommentsInside(t).length;if(s&&("JSXElement"===t.parent.type||"JSXFragment"===t.parent.type||"JSXExpressionContainer"===t.parent.type))return null;if(r){if(i&&rT(t))return;d&&e.report({node:t.test,loc:{start:l.loc.start,end:p.loc.end},messageId:"expectedTestCons",fix:e=>h?null:e.replaceTextRange([p.range[1],n.range[0]],"\n")}),m&&e.report({node:t.consequent,loc:{start:c.loc.start,end:u.loc.end},messageId:"expectedConsAlt",fix:e=>h?null:e.replaceTextRange([u.range[1],o.range[0]],"\n")})}else d||e.report({node:t.test,loc:{start:l.loc.start,end:p.loc.end},messageId:"unexpectedTestCons",fix(e){if(h)return null;let t=[],r=(0,nK.isTokenOnSameLine)(p,n),i=(0,nK.isTokenOnSameLine)(n,c);return r||t.push(e.removeRange([p.range[1],n.range[0]])),i||t.push(e.removeRange([n.range[1],c.range[0]])),t}}),m||e.report({node:t.consequent,loc:{start:c.loc.start,end:u.loc.end},messageId:"unexpectedConsAlt",fix(e){if(h)return null;let t=[],n=(0,nK.isTokenOnSameLine)(u,o),r=(0,nK.isTokenOnSameLine)(o,f);return n||t.push(e.removeRange([u.range[1],o.range[0]])),r||t.push(e.removeRange([o.range[1],f.range[0]])),t}})}}}}),sh=rE({name:"new-parens",meta:{type:"layout",docs:{description:"Enforce or disallow parentheses when invoking a constructor with no arguments"},fixable:"code",schema:[{type:"string",enum:["always","never"]}],defaultOptions:["always"],messages:{missing:"Missing '()' invoking a constructor.",unnecessary:"Unnecessary '()' invoking a constructor with no arguments."}},create(e,[t]){let n="never"!==t,r=e.sourceCode;return{NewExpression(t){if(0!==t.arguments.length)return;let i=r.getLastToken(t),s=i&&(0,nK.isClosingParenToken)(i),a=r.getTokenBefore(i),o=s&&(0,nK.isOpeningParenToken)(a)&&t.callee.range[1]<t.range[1];n?o||e.report({node:t,messageId:"missing",fix:e=>e.insertTextAfter(t,"()")}):o&&e.report({node:t,messageId:"unnecessary",fix:e=>[e.remove(a),e.remove(i),e.insertTextBefore(t,"("),e.insertTextAfter(t,")")]})}}}}),sg=rE({name:"newline-per-chained-call",meta:{type:"layout",docs:{description:"Require a newline after each call in a method chain"},fixable:"whitespace",schema:[{type:"object",properties:{ignoreChainWithDepth:{type:"integer",minimum:1,maximum:10}},additionalProperties:!1}],defaultOptions:[{ignoreChainWithDepth:2}],messages:{expected:"Expected line break before `{{callee}}`."}},create(e,[t]){let{ignoreChainWithDepth:n}=t,r=e.sourceCode;return{"CallExpression:exit":function(t){let i=n5(t.callee);if("MemberExpression"!==i.type)return;let s=n5(i.object),a=1;for(;s&&"callee"in s&&s.callee;){a+=1;let e=n5(s.callee);if(!("object"in e))break;s=n5(e.object)}if(a>n&&(0,nK.isTokenOnSameLine)(i.object,i.property)){var o;let t,n,s,a=r.getTokenAfter(i.object,nK.isNotClosingParenToken);e.report({node:i.property,loc:{start:a.loc.start,end:i.loc.end},messageId:"expected",data:{callee:(t=(o=i).computed?o.optional?"?.[":"[":o.optional?"?.":".",n=r.getText(i.property).split(nK.LINEBREAK_MATCHER),s=i.computed&&1===n.length?"]":"",t+n[0]+s)},fix:e=>e.insertTextBefore(a,"\n")})}}}}}),sy=rE({name:"no-confusing-arrow",meta:{type:"layout",docs:{description:"Disallow arrow functions where they could be confused with comparisons"},fixable:"code",schema:[{type:"object",properties:{allowParens:{type:"boolean"},onlyOneSimpleParam:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{allowParens:!0,onlyOneSimpleParam:!1}],messages:{confusing:"Arrow function used ambiguously with a conditional expression."}},create(e,[t]){let{allowParens:n,onlyOneSimpleParam:r}=t,i=e.sourceCode;return{ArrowFunctionExpression:function(t){let s=t.body;"ConditionalExpression"!==s.type||n&&n9(i,s)||r&&(1!==t.params.length||"Identifier"!==t.params[0].type)||e.report({node:t,messageId:"confusing",fix:e=>n?e.replaceText(t.body,`(${i.getText(t.body)})`):null})}}}});let sx=(0,nK.isNodeOfTypes)([e4.AST_NODE_TYPES.TSAsExpression,e4.AST_NODE_TYPES.TSNonNullExpression,e4.AST_NODE_TYPES.TSSatisfiesExpression,e4.AST_NODE_TYPES.TSTypeAssertion]);var sT=rE({name:"no-extra-parens",meta:{type:"layout",docs:{description:"Disallow unnecessary parentheses"},fixable:"code",schema:{anyOf:[{type:"array",items:[{type:"string",enum:["functions"]}],minItems:0,maxItems:1},{type:"array",items:[{type:"string",enum:["all"]},{type:"object",properties:{conditionalAssign:{type:"boolean"},ternaryOperandBinaryExpressions:{type:"boolean"},nestedBinaryExpressions:{type:"boolean"},returnAssign:{type:"boolean"},ignoreJSX:{type:"string",enum:["none","all","single-line","multi-line"]},enforceForArrowConditionals:{type:"boolean"},enforceForSequenceExpressions:{type:"boolean"},enforceForNewInMemberExpressions:{type:"boolean"},enforceForFunctionPrototypeMethods:{type:"boolean"},allowParensAfterCommentPattern:{type:"string"},nestedConditionalExpressions:{type:"boolean"},allowNodesInSpreadElement:{type:"object",properties:{ConditionalExpression:{type:"boolean"},LogicalExpression:{type:"boolean"},AwaitExpression:{type:"boolean"}},additionalProperties:!1},ignoredNodes:{type:"array",items:{type:"string",not:{type:"string",pattern:":exit$"}}}},additionalProperties:!1}],minItems:0,maxItems:2}]},defaultOptions:["all"],messages:{unexpected:"Unnecessary parentheses around expression."}},create(e,[t,n]){let r,i=e.sourceCode,s=new WeakSet,a="functions"!==t,o=a&&n?.conditionalAssign===!1,l=a&&n?.ternaryOperandBinaryExpressions===!1,p=a&&n?.nestedBinaryExpressions===!1,c=a&&n?.returnAssign===!1,u=a&&n?.ignoreJSX,f=a&&n?.enforceForArrowConditionals===!1,d=a&&n?.enforceForSequenceExpressions===!1,m=a&&n?.enforceForNewInMemberExpressions===!1,h=a&&n?.enforceForFunctionPrototypeMethods===!1,g=a&&n?.allowParensAfterCommentPattern,y=a&&n?.nestedConditionalExpressions===!1,x=a&&n&&new Set(Object.entries(n.allowNodesInSpreadElement||{}).filter(([e,t])=>t).map(([e])=>e));nW(n,["enforceForArrowConditionals","enforceForNewInMemberExpressions","allowNodesInSpreadElement"],"ignoredNodes","no-extra-parens");let T=rc({type:"AssignmentExpression"}),S=rc({type:"UpdateExpression"});function b(e){let t=n5(e);if("CallExpression"!==t.type)return!1;let n=n5(t.callee);return"MemberExpression"===n.type&&"FunctionExpression"===n.object.type&&["call","apply"].includes(n6(n))}function E(e){if("JSXElement"===e.type||"JSXFragment"===e.type)switch(u){case"all":return!1;case"multi-line":return rT(e);case"single-line":return!rT(e)}return!("SequenceExpression"===e.type&&d||b(e)&&h)&&(a||"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type)}function k(e){return(0,nK.isParenthesized)(1,e,i)}function v(e){return(0,nK.isParenthesized)(2,e,i)}function w(e){return E(e)&&k(e)}function A(e){return E(e)&&v(e)}function C(e,t){return!!(E(e)&&k(e)&&(rc(e)>=t||v(e)))}function _(e){return o&&e.test&&"AssignmentExpression"===e.test.type}function O(e){let t=i.getLastToken(e),n=i.getTokenBefore(t);return e.arguments.length>0||(0,nK.isOpeningParenToken)(n)&&(0,nK.isClosingParenToken)(t)&&e.callee.range[1]<e.range[1]}function P(e){let t=e.object,n=e.object.type;for(;"MemberExpression"===n&&"object"in t;)n=(t=t.object).type;return"CallExpression"===n}function I(e){return"AssignmentExpression"===e.type||"ConditionalExpression"===e.type&&("AssignmentExpression"===e.consequent.type||"AssignmentExpression"===e.alternate.type)||"left"in e&&(!!e.left&&"AssignmentExpression"===e.left.type||!!e.right&&"AssignmentExpression"===e.right.type)}function N(e){return!!c&&!!function(e){for(let t=e;t;t=t.parent)if("ReturnStatement"===t.type||"ArrowFunctionExpression"===t.type&&"BlockStatement"!==t.body.type)return!0;return!1}(e)&&("ReturnStatement"===e.type?e.argument&&I(e.argument):"ArrowFunctionExpression"===e.type&&"BlockStatement"!==e.body.type?I(e.body):I(e))}function L(e,t){return(0,nK.isTokenOnSameLine)(e,t)?w(t):A(t)}function B(e){let t=n5(e);return"CallExpression"===t.type&&"FunctionExpression"===t.callee.type}function D(e){return!!(e&&("Identifier"===e.type||"MemberExpression"===e.type))}function j(t){let n=i.getTokenBefore(t),a=i.getTokenAfter(t);if(!v(t)&&(s.has(i.getFirstToken(t))||B(t)&&!("callee"in t&&k(t.callee))))return;let o=2;for(;function(e){let t=i.getCommentsBefore(e);if(0===t.length)return!1;let n=t.at(-1);return!!("Block"===n.type&&n.value.startsWith("*")&&/@type\s*\{[^}]+\}/.test(n.value)||g&&RegExp(g,"u").test(n.value))}(n);){if(!(0,nK.isParenthesized)(o,t,i))return;n=i.getTokenBefore(n,nK.isOpeningParenToken),a=i.getTokenAfter(a,nK.isClosingParenToken),o++}function l(){e.report({node:t,loc:n.loc,messageId:"unexpected",fix:"Literal"!==t.type||"string"!=typeof t.value||v(t)||!ra(t.parent)?e=>{let r,s,o,l,p,c,u;return[e.replaceText(n,(r=i.getTokenBefore(t),s=i.getTokenBefore(r,{includeComments:!0}),o=i.getTokenAfter(r,{includeComments:!0}),s&&s.range[1]===r.range[0]&&r.range[1]===o.range[0]&&!rd(s,o))?" ":""),e.replaceText(a,(p=(l=i.getTokensAfter(t,{count:2}))[0],c=l[1],u=i.getLastToken(t),p&&c&&!i.isSpaceBetween(p,c)&&!rd(u,c))?" ":"")]}:null})}r?r.reports.push({node:t,finishReport:l}):l()}function R(e){"argument"in e&&e.argument&&C(e.argument,rc(e))&&j(e.argument)}function F(e){let t=sx(e.left),n=sx(e.right);if(t&&n)return;let r=e=>{let t=rc(e),n=rc(e.left),r=rc(e.right),i="**"===e.operator,s=p&&("BinaryExpression"===e.left.type||"LogicalExpression"===e.left.type),a=p&&("BinaryExpression"===e.right.type||"LogicalExpression"===e.right.type);!s&&w(e.left)&&(!(["AwaitExpression","UnaryExpression"].includes(e.left.type)&&i)&&!ri(e.left,e)&&!("ReturnStatement"===e.parent.type&&e.parent.loc.start.line!==e.left.loc.start.line&&!k(e))&&(n>t||n===t&&!i)||v(e.left))&&j(e.left),!a&&w(e.right)&&(!ri(e.right,e)&&(r>t||r===t&&i)||v(e.right))&&j(e.right)};return r(t?{...e,left:{...e.left,type:e4.AST_NODE_TYPES.SequenceExpression}}:n?{...e,right:{...e.right,type:e4.AST_NODE_TYPES.SequenceExpression}}:e)}function M(e){let t=e=>{let t=e.callee;C(t,rc(e))&&(A(t)||!(B(e)||"NewExpression"===t.type&&!O(t)&&!("NewExpression"===e.type&&!O(e))||"NewExpression"===e.type&&"MemberExpression"===t.type&&P(t)||(!("optional"in e)||!e.optional)&&"ChainExpression"===t.type))&&j(e.callee),e.arguments.forEach(e=>{C(e,T)&&j(e)})};return t(sx(e.callee)?{...e,callee:{...e.callee,type:e4.AST_NODE_TYPES.SequenceExpression}}:e)}function $(e){e.superClass&&(rc(e.superClass)>S?w(e.superClass):A(e.superClass))&&j(e.superClass)}function V(e){let t=k(e)?i.getTokenBefore(e):i.getFirstToken(e),n=i.getTokenAfter(t,nK.isNotOpeningParenToken),r=n?i.getTokenAfter(n):null,a=n?i.getTokenAfter(n,nK.isNotClosingParenToken):null;(0,nK.isOpeningParenToken)(t)&&((0,nK.isOpeningBraceToken)(n)||re(n)&&("function"===n.value||"class"===n.value||"let"===n.value&&a&&((0,nK.isOpeningBracketToken)(a)||"Identifier"===a.type))||n&&"Identifier"===n.type&&"async"===n.value&&re(r)&&"function"===r.value)&&s.add(n),("ExportDefaultDeclaration"===e.parent.type?C(e,T):w(e))&&j(e)}function q(e){return sx(e.argument)?R({...e,argument:{...e.argument,type:e4.AST_NODE_TYPES.SequenceExpression}}):R(e)}function Y(e){e.computed&&C(e.key,T)&&j(e.key),e.value&&C(e.value,T)&&j(e.value)}function X(e){e.types.forEach(t=>{(p&&(0,nK.isNodeOfTypes)([e4.AST_NODE_TYPES.TSUnionType,e4.AST_NODE_TYPES.TSIntersectionType])(t)?v(t):C(t,rc(e)))&&j(t)})}let J={ArrayExpression(e){e.elements.map(e=>sx(e)?{...e,type:e4.AST_NODE_TYPES.FunctionExpression}:e).forEach(e=>{e&&C(e,T)&&j(e)})},ArrayPattern(e){e.elements.forEach(e=>{e&&D(e)&&w(e)&&j(e)})},ArrowFunctionExpression(e){if(sx(e.body)||N(e)||"ConditionalExpression"===e.body.type&&f||"BlockStatement"===e.body.type)return;let t=i.getFirstToken(e.body,nK.isNotOpeningParenToken);(0,nK.isOpeningParenToken)(i.getTokenBefore(t))&&(0,nK.isOpeningBraceToken)(t)&&s.add(t),C(e.body,T)&&j(e.body)},AssignmentExpression(e){D(e.left)&&w(e.left)&&(!function({left:e,operator:t,right:n}){if("Identifier"===e.type&&["=","&&=","||=","??="].includes(t)){let e=n.type;if("ArrowFunctionExpression"===e||("FunctionExpression"===e||"ClassExpression"===e)&&!n.id)return!0}return!1}(e)||v(e.left))&&j(e.left),!N(e)&&C(e.right,rc(e))&&j(e.right)},AssignmentPattern(e){let{left:t,right:n}=e;D(t)&&w(t)&&j(t),n&&C(n,T)&&j(n)},AwaitExpression:e=>sx(e.argument)?R({...e,argument:{...e.argument,type:e4.AST_NODE_TYPES.SequenceExpression}}):R(e),BinaryExpression(e){r&&"in"===e.operator&&r.inExpressionNodes.push(e),F(e)},CallExpression:M,ClassDeclaration:e=>e.superClass?.type===e4.AST_NODE_TYPES.TSAsExpression?$({...e,superClass:{...e.superClass,type:e4.AST_NODE_TYPES.SequenceExpression}}):$(e),ClassExpression:e=>e.superClass?.type===e4.AST_NODE_TYPES.TSAsExpression?$({...e,superClass:{...e.superClass,type:e4.AST_NODE_TYPES.SequenceExpression}}):$(e),ConditionalExpression(e){let t=e=>{if(N(e))return;let t=new Set(["BinaryExpression","LogicalExpression"]);!(l&&t.has(e.test.type))&&!(y&&["ConditionalExpression"].includes(e.test.type))&&!_(e)&&C(e.test,rc({type:"LogicalExpression",operator:"||"}))&&j(e.test),!(l&&t.has(e.consequent.type))&&!(y&&["ConditionalExpression"].includes(e.consequent.type))&&C(e.consequent,T)&&j(e.consequent),!(l&&t.has(e.alternate.type))&&!(y&&["ConditionalExpression"].includes(e.alternate.type))&&C(e.alternate,T)&&j(e.alternate)};return t(sx(e.test)?{...e,test:{...e.test,type:e4.AST_NODE_TYPES.SequenceExpression}}:sx(e.consequent)?{...e,consequent:{...e.consequent,type:e4.AST_NODE_TYPES.SequenceExpression}}:sx(e.alternate)?{...e,alternate:{...e.alternate,type:e4.AST_NODE_TYPES.SequenceExpression}}:e)},DoWhileStatement(e){w(e.test)&&!_(e)&&j(e.test)},ExportDefaultDeclaration(e){V(e.declaration)},ExpressionStatement(e){V(e.expression)},ForInStatement(e){if(!sx(e.right)){if("VariableDeclaration"!==e.left.type){let t=i.getFirstToken(e.left,nK.isNotOpeningParenToken);"let"===t.value&&(0,nK.isOpeningBracketToken)(i.getTokenAfter(t,nK.isNotClosingParenToken))&&s.add(t)}w(e.left)&&j(e.left),w(e.right)&&j(e.right)}},ForOfStatement(e){if("VariableDeclaration"!==e.left.type){let t=i.getFirstToken(e.left,nK.isNotOpeningParenToken);"let"===t.value&&s.add(t)}w(e.left)&&j(e.left),!sx(e.right)&&C(e.right,T)&&j(e.right)},ForStatement(e){if(e.test&&w(e.test)&&!_(e)&&!sx(e.test)&&j(e.test),e.update&&w(e.update)&&!sx(e.update)&&j(e.update),e.init&&!sx(e.init)){if("VariableDeclaration"!==e.init.type){let t=i.getFirstToken(e.init,nK.isNotOpeningParenToken);"let"===t.value&&(0,nK.isOpeningBracketToken)(i.getTokenAfter(t,nK.isNotClosingParenToken))&&s.add(t)}r={upper:r,inExpressionNodes:[],reports:[]},w(e.init)&&j(e.init)}},"ForStatement > *.init:exit":function(e){sx(e)||(r?.reports.length&&r.inExpressionNodes.forEach(t=>{var n;let i=(function(e,t){let n=[e],r=e;for(;r!==t;){if(null==(r=r.parent))throw Error("Nodes are not in the ancestor-descendant relationship.");n.push(r)}return n})(t,e).reverse(),s=null;for(let e=0;e<i.length;e++){let t=i[e];if(e<i.length-1&&function(e,t){switch(e.type){case"ArrayExpression":case"ArrayPattern":case"BlockStatement":case"ObjectExpression":case"ObjectPattern":case"TemplateLiteral":return!0;case"ArrowFunctionExpression":case"FunctionExpression":return e.params.includes(t);case"CallExpression":case"NewExpression":return e.arguments.includes(t);case"MemberExpression":return e.computed&&e.property===t;case"ConditionalExpression":return e.consequent===t;default:return!1}}(t,i[e+1]))return;if(k(t))if(!function(e){return r?.reports.some(t=>t.node===e)}(t))return;else{if(v(t))return;s||(s=t)}}s&&(n=s,r&&(r.reports=r.reports.filter(e=>e.node!==n)))}),function(){let{upper:e,inExpressionNodes:t,reports:n}=r??{};e?(e.inExpressionNodes.push(...t??[]),e.reports.push(...n??[])):n?.forEach(({finishReport:e})=>e()),r=e}())},IfStatement(e){w(e.test)&&!_(e)&&j(e.test)},ImportExpression(e){let{source:t}=e;"SequenceExpression"===t.type?A(t)&&j(t):w(t)&&j(t)},LogicalExpression:F,MemberExpression(e){let t=e=>{let t=function e(t){return"MemberExpression"===t.type&&("NewExpression"===t.parent.type&&t.parent.callee===t||"object"in t.parent&&t.parent.object===t&&e(t.parent))}(e)&&P(e)?A(e.object):w(e.object)&&!(b(e.parent)&&"callee"in e.parent&&e.parent.callee===e&&h);t&&rc(e.object)>=rc(e)&&(e.computed||!(ru(e.object)||rl(e.object)))&&j(e.object),t&&"CallExpression"===e.object.type&&j(e.object),t&&!m&&"NewExpression"===e.object.type&&O(e.object)&&j(e.object),t&&e.optional&&"ChainExpression"===e.object.type&&j(e.object),e.computed&&w(e.property)&&j(e.property)};return t(sx(e.object)?{...e,object:{...e.object,type:e4.AST_NODE_TYPES.SequenceExpression}}:sx(e.property)?{...e,property:{...e.property,type:e4.AST_NODE_TYPES.FunctionExpression}}:e)},MethodDefinition(e){e.computed&&C(e.key,T)&&j(e.key)},NewExpression:M,ObjectExpression(e){e.properties.forEach(e=>{"Property"===e.type&&e.value&&C(e.value,T)&&j(e.value)})},ObjectPattern(e){e.properties.forEach(({value:e})=>{e&&D(e)&&w(e)&&j(e)})},Property(e){if(e.computed){let{key:t}=e;t&&C(t,T)&&j(t)}},PropertyDefinition:Y,AccessorProperty:Y,RestElement(e){let t=e.argument;D(t)&&w(t)&&j(t)},ReturnStatement(e){let t=i.getFirstToken(e);!N(e)&&e.argument&&t&&L(t,e.argument)&&!rl(e.argument)&&j(e.argument)},SequenceExpression(e){let t=rc(e);e.expressions.forEach(e=>{C(e,t)&&j(e)})},SpreadElement(e){sx(e.argument)||x&&x.has(e.argument.type)||C(e.argument,T)&&j(e.argument)},SwitchCase(e){e.test&&!sx(e.test)&&w(e.test)&&j(e.test)},SwitchStatement(e){w(e.discriminant)&&j(e.discriminant)},TemplateLiteral(e){e.expressions.forEach(e=>{w(e)&&j(e)})},ThrowStatement(e){if(!e.argument||sx(e.argument))return;let t=i.getFirstToken(e);t&&L(t,e.argument)&&j(e.argument)},UnaryExpression:q,UpdateExpression(e){if(sx(e.argument))return q(e);if(e.prefix)R(e);else{let{argument:t}=e;(0,nK.isTokenOnSameLine)(t,i.getLastToken(e))?R(e):A(t)&&j(t)}},VariableDeclarator(e){let t=e=>{e.init&&C(e.init,T)&&!rl(e.init)&&j(e.init)};return t(sx(e.init)?{...e,type:e4.AST_NODE_TYPES.VariableDeclarator,init:{...e.init,type:e4.AST_NODE_TYPES.FunctionExpression}}:e)},WhileStatement(e){w(e.test)&&!_(e)&&j(e.test)},WithStatement(e){w(e.object)&&j(e.object)},YieldExpression(e){if(!e.argument||sx(e.argument))return;let t=i.getFirstToken(e);(rc(e.argument)>=rc(e)&&t&&L(t,e.argument)||A(e.argument))&&j(e.argument)},TSArrayType(e){C(e.elementType,rc(e))&&j(e.elementType)},TSIntersectionType:X,TSUnionType:X,TSTypeAnnotation(e){w(e.typeAnnotation)&&j(e.typeAnnotation)},TSTypeAliasDeclaration(e){w(e.typeAnnotation)&&j(e.typeAnnotation)},TSEnumMember(e){e.initializer&&w(e.initializer)&&j(e.initializer)}},U={},W=new Set,K=[];for(let e in J)U[e]=t=>K.push({node:t,listener:J[e]});return{...U,...n?.ignoredNodes?.reduce((e,t)=>Object.assign(e,{[t]:e=>W.add(e)}),{}),"Program:exit":function(){for(let e=0;e<K.length;e++){let{node:t,listener:n}=K[e];W.has(t)||n(t)}}}}}),sS=rE({name:"no-extra-semi",meta:{type:"layout",docs:{description:"Disallow unnecessary semicolons"},fixable:"code",schema:[],messages:{unexpected:"Unnecessary semicolon."}},create(e){let t=e.sourceCode;function n(n){let r;e.report({node:n,messageId:"unexpected",fix:(r=t.getTokenAfter(n))&&"String"===r.type&&ra(t.getNodeByRangeIndex(r.range[0]).parent)?null:t=>new rN(t,e.sourceCode).retainSurroundingTokens(n).remove(n)})}function r(e){for(let r=e;"Punctuator"===r.type&&!(0,nK.isClosingBraceToken)(r);r=t.getTokenAfter(r))(0,nK.isSemicolonToken)(r)&&n(r)}return{EmptyStatement(e){["ForStatement","ForInStatement","ForOfStatement","WhileStatement","DoWhileStatement","IfStatement","LabeledStatement","WithStatement"].includes(e.parent.type)||n(e)},ClassBody(e){r(t.getFirstToken(e,1))},MethodDefinition(e){r(t.getTokenAfter(e))},PropertyDefinition(e){r(t.getTokenAfter(e))},AccessorProperty(e){r(t.getTokenAfter(e))},StaticBlock(e){r(t.getTokenAfter(e))},TSAbstractMethodDefinition(e){r(t.getTokenAfter(e))},TSAbstractPropertyDefinition(e){r(t.getTokenAfter(e))}}}}),sb=rE({name:"no-floating-decimal",meta:{type:"layout",docs:{description:"Disallow leading or trailing decimal points in numeric literals"},fixable:"code",schema:[],messages:{leading:"A leading decimal point can be confused with a dot.",trailing:"A trailing decimal point can be confused with a dot."}},create(e){let t=e.sourceCode;return{Literal(n){"number"==typeof n.value&&(n.raw.startsWith(".")&&e.report({node:n,messageId:"leading",fix(e){let r=t.getTokenBefore(n),i=r&&r.range[1]===n.range[0]&&!rd(r,`0${n.raw}`);return e.insertTextBefore(n,i?" 0":"0")}}),n.raw.indexOf(".")===n.raw.length-1&&e.report({node:n,messageId:"trailing",fix:e=>e.insertTextAfter(n,"0")}))}}}});let sE=["+","-","*","/","%","**"],sk=["&","|","^","~","<<",">>",">>>"],sv=["==","!=","===","!==",">",">=","<","<="],sw=["&&","||"],sA=["in","instanceof"],sC=[].concat(sE,sk,sv,sw,sA,["?:"],["??"]),s_=/^(?:Binary|Logical|Conditional)Expression$/u;function sO(e){return"ConditionalExpression"===e.type?e.test:e.left}var sP=rE({name:"no-mixed-operators",meta:{type:"layout",docs:{description:"Disallow mixed binary operators"},schema:[{type:"object",properties:{groups:{type:"array",items:{type:"array",items:{type:"string",enum:sC},minItems:2,uniqueItems:!0},uniqueItems:!0},allowSamePrecedence:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{groups:[sE,sk,sv,sw,sA],allowSamePrecedence:!0}],messages:{unexpectedMixedOperator:"Unexpected mix of '{{leftOperator}}' and '{{rightOperator}}'. Use parentheses to clarify the intended order of operations."}},create(e,[t]){let n=e.sourceCode,{groups:r,allowSamePrecedence:i}=t;function s(e){return n.getTokenAfter(sO(e),nK.isNotClosingParenToken)}function a(t){var a,o,l;let p,c,u,f,d;s_.test(t.parent.type)&&(a=t).operator!==a.parent.operator&&!n9(n,a)&&(p=t.parent,o=t.operator,l="ConditionalExpression"===p.type?"?:":p.operator,r.some(e=>e.includes(o)&&e.includes(l))&&(!i||rc(t)!==rc(p)))&&(u=sO(c=t.parent)===t?t:c,f=sO(c)!==t?t:c,d={leftOperator:u.operator||"?:",rightOperator:f.operator||"?:"},e.report({node:u,loc:s(u).loc,messageId:"unexpectedMixedOperator",data:d}),e.report({node:f,loc:s(f).loc,messageId:"unexpectedMixedOperator",data:d}))}return{BinaryExpression:a,LogicalExpression:a}}}),sI=rE({name:"no-mixed-spaces-and-tabs",meta:{type:"layout",docs:{description:"Disallow mixed spaces and tabs for indentation"},schema:[{oneOf:[{type:"string",enum:["smart-tabs"]},{type:"boolean"}]}],defaultOptions:[!1],messages:{mixedSpacesAndTabs:"Mixed spaces and tabs."}},create(e,[t]){let n=e.sourceCode,r="boolean"==typeof t?t:"smart-tabs"===t;return{"Program:exit":function(t){let i=n.lines,s=n.getAllComments(),a=new Set;s.forEach(e=>{for(let t=e.loc.start.line+1;t<=e.loc.end.line;t++)a.add(t)});let o=/^(?=( +|\t+))\1(?:\t| )/u;r&&(o=/^(?=(\t*))\1(?=( +))\2\t/u),i.forEach((r,i)=>{let s=o.exec(r);if(s){let r=i+1,o={start:{line:r,column:s[0].length-2},end:{line:r,column:s[0].length}};if(!a.has(r)){let r=n.getNodeByRangeIndex(n.getIndexFromLoc(o.start));r&&["Literal","TemplateElement"].includes(r.type)||e.report({node:t,loc:o,messageId:"mixedSpacesAndTabs"})}}})}}}}),sN=rE({name:"no-multi-spaces",meta:{type:"layout",docs:{description:"Disallow multiple spaces"},fixable:"whitespace",schema:[{type:"object",properties:{exceptions:{type:"object",patternProperties:{"^([A-Z][a-z]*)+$":{type:"boolean"}},additionalProperties:!1},ignoreEOLComments:{type:"boolean"},includeTabs:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{exceptions:{Property:!0,ImportAttribute:!0},ignoreEOLComments:!1,includeTabs:!0}],messages:{multipleSpaces:"Multiple spaces found before '{{displayValue}}'."}},create(e,[t]){let{ignoreEOLComments:n,exceptions:r,includeTabs:i}=t,s=e.sourceCode,a=Object.keys(r).some(e=>r[e]),o=i?/[ \t]{2}/:/ {2}/;function l(e){let t=e.value.split("\n"),n=t[0],r=`${n.slice(0,12)}...`;return 1===t.length&&n.length<=12?n:r}return{Program(){s.tokensAndComments.forEach((t,i,p)=>{let c;if(i===p.length-1)return;let u=p[i+1];if(o.test(s.text.slice(t.range[1],u.range[0]))&&!(t.loc.end.line<u.loc.start.line)&&(!(n&&(0,nK.isCommentToken)(u))||i!==p.length-2&&!(u.loc.end.line<p[i+2].loc.start.line))){if(a){let e=s.getNodeByRangeIndex(u.range[0]-1);if(e&&r[e.type])return}c="Block"===u.type?`/*${l(u)}*/`:"Line"===u.type?`//${l(u)}`:u.value,e.report({node:u,loc:{start:t.loc.end,end:u.loc.start},messageId:"multipleSpaces",data:{displayValue:c},fix:e=>e.replaceTextRange([t.range[1],u.range[0]]," ")})}})}}}}),sL=rE({name:"no-multiple-empty-lines",meta:{type:"layout",docs:{description:"Disallow multiple empty lines"},fixable:"whitespace",schema:[{type:"object",properties:{max:{type:"integer",minimum:0},maxEOF:{type:"integer",minimum:0},maxBOF:{type:"integer",minimum:0}},required:["max"],additionalProperties:!1}],defaultOptions:[{max:2}],messages:{blankBeginningOfFile:"Too many blank lines at the beginning of file. Max of {{max}} allowed.",blankEndOfFile:"Too many blank lines at the end of file. Max of {{max}} allowed.",consecutiveBlank:"More than {{max}} blank {{pluralizedLines}} not allowed."}},create(e,[t]){let{max:n,maxEOF:r=n,maxBOF:i=n}=t,s=e.sourceCode,a=""===s.lines[s.lines.length-1]?s.lines.slice(0,-1):s.lines,o=new Set;return{TemplateLiteral(e){e.quasis.forEach(e=>{for(let t=e.loc.start.line;t<e.loc.end.line;t++)o.add(t)})},"Program:exit":function(t){return a.reduce((e,t,n)=>((t.trim()||o.has(n+1))&&e.push(n+1),e),[]).concat(a.length+1).reduce((o,l)=>{let p,c;return 0===o?(p="blankBeginningOfFile",c=i):l===a.length+1?(p="blankEndOfFile",c=r):(p="consecutiveBlank",c=n),l-o-1>c&&e.report({node:t,loc:{start:{line:o+c+1,column:0},end:{line:l,column:0}},messageId:p,data:{max:c,pluralizedLines:1===c?"line":"lines"},fix(e){let t=s.getIndexFromLoc({line:o+1,column:0}),n=l-c,r=n<=a.length?s.getIndexFromLoc({line:n,column:0}):s.text.length;return e.removeRange([t,r])}}),l},0)}}}});let sB=/\t+/gu,sD=/\S/u;var sj=rE({name:"no-tabs",meta:{type:"layout",docs:{description:"Disallow all tabs"},schema:[{type:"object",properties:{allowIndentationTabs:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{allowIndentationTabs:!1}],messages:{unexpectedTab:"Unexpected tab character."}},create(e,[t]){let n=e.sourceCode,{allowIndentationTabs:r}=t;return{Program(t){n.getLines().forEach((n,i)=>{let s;for(;null!==(s=sB.exec(n));)(!r||sD.test(n.slice(0,s.index)))&&e.report({node:t,loc:{start:{line:i+1,column:s.index},end:{line:i+1,column:s.index+s[0].length}},messageId:"unexpectedTab"})})}}}}),sR=rE({name:"no-trailing-spaces",meta:{type:"layout",docs:{description:"Disallow trailing whitespace at the end of lines"},fixable:"whitespace",schema:[{type:"object",properties:{skipBlankLines:{type:"boolean"},ignoreComments:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{skipBlankLines:!1,ignoreComments:!1}],messages:{trailingSpace:"Trailing spaces not allowed."}},create(e,[t]){let n=e.sourceCode,r="[ \xa0 -​ ]",i=`^${r}*$`,s=`${r}+$`,{skipBlankLines:a,ignoreComments:o}=t;return{[e.sourceCode.ast.type||"Program"]:function(t){var r;let l,p=RegExp(s,"u"),c=RegExp(i,"u"),u=n.lines,f=n.getText().match(n3()),d=(r="getAllComments"in n?n.getAllComments():[],l=new Set,r.forEach(e=>{let t="Block"===e.type?e.loc.end.line-1:e.loc.end.line;for(let n=e.loc.start.line;n<=t;n++)l.add(n)}),l),m=0;for(let r=0,i=u.length;r<i;r++){let i=r+1,s=f&&f[r]?f[r].length:1,l=u[r].length+s,h=p.exec(u[r]);if(h){let p={start:{line:i,column:h.index},end:{line:i,column:l-s}},f=m+p.start.column,g=m+p.end.column,y="getNodeByRangeIndex"in n?n.getNodeByRangeIndex(f):null;if(y&&"TemplateElement"===y.type&&f>y.parent.range[0]&&g<y.parent.range[1]||a&&c.test(u[r])){m+=l;continue}let x=[f,g];o&&d.has(i)||function(t,n,r){e.report({node:t,loc:n,messageId:"trailingSpace",fix:e=>e.removeRange(r)})}(t,p,x)}m+=l}}}}}),sF=rE({name:"no-whitespace-before-property",meta:{type:"layout",docs:{description:"Disallow whitespace before properties"},fixable:"whitespace",schema:[],messages:{unexpectedWhitespace:"Unexpected whitespace before property {{propName}}."}},create(e){let t=e.sourceCode;function n(n){let{node:r,leftToken:i,rightToken:s,propName:a,replacementText:o="",preventAutoFix:l}=n;e.report({node:r,messageId:"unexpectedWhitespace",data:{propName:a},fix:l?.()?null:rk(t,i,s,o)})}return{MemberExpression(e){let r,i;if(!(0,nK.isTokenOnSameLine)(e.object,e.property)||(e.computed?(r=t.getTokenBefore(e.property,nK.isOpeningBracketToken),i=t.getTokenBefore(r,+!!e.optional)):(r=t.getFirstToken(e.property),i=t.getTokenBefore(r,1)),!t.isSpaceBetween(i,r)))return;let s="";e.optional?s="?.":e.computed||(s="."),n({node:e,leftToken:i,rightToken:r,propName:t.getText(e.property),replacementText:s,preventAutoFix:()=>!e.computed&&!e.optional&&ru(e.object)})},TSIndexedAccessType(e){let r=t.getTokenBefore(e.indexType,nK.isOpeningBracketToken),i=t.getTokenBefore(r);t.isSpaceBetween(i,r)&&n({node:e,leftToken:i,rightToken:r,propName:t.getText(e.indexType)})},TSQualifiedName(e){let r=e.left,i=e.right;t.isSpaceBetween(r,i)&&n({node:e,leftToken:r,rightToken:i,replacementText:".",propName:t.getText(e.right)})},TSImportType(e){if(!e.qualifier)return;let r=e.qualifier,i=t.getTokenBefore(r,1);t.isSpaceBetween(i,r)&&n({node:e,leftToken:i,rightToken:r,replacementText:".",propName:t.getText(e.qualifier)})}}}});let sM={type:"string",enum:["beside","below","any"]};var s$=rE({name:"nonblock-statement-body-position",meta:{type:"layout",docs:{description:"Enforce the location of single-line statements"},fixable:"whitespace",schema:[sM,{type:"object",properties:{overrides:{type:"object",properties:{if:sM,else:sM,while:sM,do:sM,for:sM},additionalProperties:!1}},additionalProperties:!1}],defaultOptions:["beside"],messages:{expectNoLinebreak:"Expected no linebreak before this statement.",expectLinebreak:"Expected a linebreak before this statement."}},create(e,[t,{overrides:n={}}={}]){let r=e.sourceCode;function i(i,s){let a=n[s]??t;if("BlockStatement"===i.type||"any"===a)return;let o=r.getTokenBefore(i),l=(0,nK.isTokenOnSameLine)(o,i);l&&"below"===a?e.report({node:i,messageId:"expectLinebreak",fix:e=>e.insertTextBefore(i,"\n")}):l||"beside"!==a||e.report({node:i,messageId:"expectNoLinebreak",fix:rk(r,o,i," ")})}return{IfStatement(e){i(e.consequent,"if"),e.alternate&&"IfStatement"!==e.alternate.type&&i(e.alternate,"else")},WhileStatement:e=>i(e.body,"while"),DoWhileStatement:e=>i(e.body,"do"),ForStatement:e=>i(e.body,"for"),ForInStatement:e=>i(e.body,"for"),ForOfStatement:e=>i(e.body,"for")}}});let sV={oneOf:[{type:"string",enum:["always","never"]},{type:"object",properties:{multiline:{type:"boolean"},minProperties:{type:"integer",minimum:0},consistent:{type:"boolean"}},additionalProperties:!1,minProperties:1}]};var sq=rE({name:"object-curly-newline",meta:{type:"layout",docs:{description:"Enforce consistent line breaks after opening and before closing braces"},fixable:"whitespace",schema:[{oneOf:[sV,{type:"object",properties:{ObjectExpression:sV,ObjectPattern:sV,ImportDeclaration:sV,ExportDeclaration:sV,TSTypeLiteral:sV,TSInterfaceBody:sV,TSEnumBody:sV},additionalProperties:!1,minProperties:1}]}],defaultOptions:[],messages:{unexpectedLinebreakBeforeClosingBrace:"Unexpected line break before this closing brace.",unexpectedLinebreakAfterOpeningBrace:"Unexpected line break after this opening brace.",expectedLinebreakBeforeClosingBrace:"Expected a line break before this closing brace.",expectedLinebreakAfterOpeningBrace:"Expected a line break after this opening brace."}},create(e,[t]){let n=e.sourceCode;function r(e){let t=!1,n=1/0,r=!1;return e?"always"===e?n=0:"never"===e?n=1/0:(t=!!e.multiline,n=e.minProperties||1/0,r=!!e.consistent):r=!0,{multiline:t,minProperties:n,consistent:r}}function i(e){return"object"==typeof e&&null!==e}function s(e){return i(e)||"string"==typeof e}let a=function(e){if(i(e)&&Object.values(e).some(s))return{ObjectExpression:r(e.ObjectExpression),ObjectPattern:r(e.ObjectPattern),ImportDeclaration:r(e.ImportDeclaration),ExportNamedDeclaration:r(e.ExportDeclaration),TSTypeLiteral:r(e.TSTypeLiteral),TSInterfaceBody:r(e.TSInterfaceBody),TSEnumBody:r(e.TSEnumBody)};let t=r(e);return{ObjectExpression:t,ObjectPattern:t,ImportDeclaration:t,ExportNamedDeclaration:t,TSTypeLiteral:t,TSInterfaceBody:t,TSEnumBody:t}}(t);function o(t){var r,i;let s,o,l=a[t.type];if("ImportDeclaration"===t.type&&!t.specifiers.some(e=>"ImportSpecifier"===e.type)||"ExportNamedDeclaration"===t.type&&!t.specifiers.some(e=>"ExportSpecifier"===e.type))return;let p=n.getFirstToken(t,e=>"{"===e.value);s="ObjectPattern"===t.type&&t.typeAnnotation?n.getTokenBefore(t.typeAnnotation):n.getLastToken(t,e=>"}"===e.value);let c=n.getTokenAfter(p,{includeComments:!0}),u=n.getTokenBefore(s,{includeComments:!0}),f=(r=c,i=u,(o="ObjectExpression"===t.type||"ObjectPattern"===t.type?t.properties:"TSTypeLiteral"===t.type?t.members:"TSInterfaceBody"===t.type?t.body:"TSEnumBody"===t.type?t.members:t.specifiers.filter(e=>"ImportSpecifier"===e.type||"ExportSpecifier"===e.type)).length>=l.minProperties||l.multiline&&o.length>0&&!(0,nK.isTokenOnSameLine)(i,r)),d=(0,nK.isCommentToken)(c),m=(0,nK.isCommentToken)(u);if(c=n.getTokenAfter(p),u=n.getTokenBefore(s),f)(0,nK.isTokenOnSameLine)(p,c)&&e.report({messageId:"expectedLinebreakAfterOpeningBrace",node:t,loc:p.loc,fix:e=>d?null:e.insertTextAfter(p,"\n")}),(0,nK.isTokenOnSameLine)(u,s)&&e.report({messageId:"expectedLinebreakBeforeClosingBrace",node:t,loc:s.loc,fix:e=>m?null:e.insertTextBefore(s,"\n")});else{let n=l.consistent,r=!(0,nK.isTokenOnSameLine)(p,c),i=!(0,nK.isTokenOnSameLine)(u,s);(!n&&r||n&&r&&!i)&&e.report({messageId:"unexpectedLinebreakAfterOpeningBrace",node:t,loc:p.loc,fix:e=>d?null:e.removeRange([p.range[1],c.range[0]])}),(!n&&i||n&&!r&&i)&&e.report({messageId:"unexpectedLinebreakBeforeClosingBrace",node:t,loc:s.loc,fix:e=>m?null:e.removeRange([u.range[1],s.range[0]])})}}return{ObjectExpression:o,ObjectPattern:o,ImportDeclaration:o,ExportNamedDeclaration:o,TSTypeLiteral:o,TSInterfaceBody:o,TSEnumBody:o}}}),sY=rE({name:"object-curly-spacing",meta:{type:"layout",docs:{description:"Enforce consistent spacing inside braces"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]},{type:"object",properties:{arraysInObjects:{type:"boolean"},objectsInObjects:{type:"boolean"},overrides:{type:"object",properties:Object.fromEntries(["ObjectPattern","ObjectExpression","ImportDeclaration","ImportAttributes","ExportNamedDeclaration","ExportAllDeclaration","TSMappedType","TSTypeLiteral","TSInterfaceBody","TSEnumBody"].map(e=>[e,{type:"string",enum:["always","never"]}])),additionalProperties:!1},emptyObjects:{type:"string",enum:["ignore","always","never"]}},additionalProperties:!1}],defaultOptions:["never"],messages:{requireSpaceBefore:"A space is required before '{{token}}'.",requireSpaceAfter:"A space is required after '{{token}}'.",unexpectedSpaceBefore:"There should be no space before '{{token}}'.",unexpectedSpaceAfter:"There should be no space after '{{token}}'.",requiredSpaceInEmptyObject:"A space is required in empty '{{node}}'.",unexpectedSpaceInEmptyObject:"There should be no space in empty '{{node}}'."}},create(e,[t,n]){let r="always"===t,i=e.sourceCode;function s(e){return!!n&&!r===n[e]}let a={spaced:r,arraysInObjectsException:s("arraysInObjects"),objectsInObjectsException:s("objectsInObjects"),overrides:n?.overrides??{},emptyObjects:n?.emptyObjects??"ignore"};function o(t,n,r,s=t.type){let l=i.getTokenAfter(n,{includeComments:!0}),p=a.overrides[s]?"always"===a.overrides[s]:a.spaced;if((0,nK.isTokenOnSameLine)(n,l)){let s,o=i.isSpaceBetween(n,l),c=i.getNodeByRangeIndex(l.range[0]).type,u=a.arraysInObjectsException&&[e4.AST_NODE_TYPES.TSMappedType,e4.AST_NODE_TYPES.TSIndexSignature].includes(c)?!p:p;u&&!o&&e.report({node:t,loc:n.loc,messageId:"requireSpaceAfter",data:{token:n.value},fix:e=>e.insertTextAfter(n," ")}),u||!o||(0,nK.isCommentToken)(l)&&!(0,nK.isTokenOnSameLine)(n,r)||(s=i.getTokenAfter(n,{includeComments:!0}),e.report({node:t,loc:{start:n.loc.end,end:s.loc.start},messageId:"unexpectedSpaceAfter",data:{token:n.value},fix:e=>e.removeRange([n.range[1],s.range[0]])}))}let c=i.getTokenBefore(r,{includeComments:!0});if((0,nK.isTokenOnSameLine)(c,r)){let n,s=a.arraysInObjectsException&&(0,nK.isClosingBracketToken)(c)||a.objectsInObjectsException&&(0,nK.isClosingBraceToken)(c)?i.getNodeByRangeIndex(c.range[0]).type:void 0,o=a.arraysInObjectsException&&[e4.AST_NODE_TYPES.ArrayExpression,e4.AST_NODE_TYPES.TSTupleType].includes(s)||a.objectsInObjectsException&&void 0!==s&&[e4.AST_NODE_TYPES.ObjectExpression,e4.AST_NODE_TYPES.ObjectPattern,e4.AST_NODE_TYPES.TSMappedType,e4.AST_NODE_TYPES.TSTypeLiteral].includes(s)?!p:p,l=i.isSpaceBetween(c,r);o&&!l&&e.report({node:t,loc:r.loc,messageId:"requireSpaceBefore",data:{token:r.value},fix:e=>e.insertTextBefore(r," ")}),!o&&l&&(n=i.getTokenBefore(r,{includeComments:!0}),e.report({node:t,loc:{start:n.loc.end,end:r.loc.start},messageId:"unexpectedSpaceBefore",data:{token:r.value},fix:e=>e.removeRange([n.range[1],r.range[0]])}))}}function l(t,n,r=t.type){let[s,p]=function(e,t=e.type){switch(t){case"ImportDeclaration":case"ExportNamedDeclaration":case"ExportAllDeclaration":{let t=i.getTokens(e);return[t.find(e=>(0,nK.isOpeningBraceToken)(e)),t.find(e=>(0,nK.isClosingBraceToken)(e))]}case"ImportAttributes":{let t=i.getTokens(e),n=t.findLast(e=>(0,nK.isOpeningBraceToken)(e)),r=t.findLast(e=>(0,nK.isClosingBraceToken)(e));if(!n||!r||!e.source||n.range[0]<e.source.range[0])return[null,null];return[n,r]}case"ObjectPattern":case"ObjectExpression":case"TSMappedType":case"TSTypeLiteral":case"TSInterfaceBody":case"TSEnumBody":{let t=i.getTokens(e);return[t.find(e=>(0,nK.isOpeningBraceToken)(e)),"ObjectPattern"===e.type&&e.typeAnnotation?i.getTokenBefore(e.typeAnnotation):t.findLast(e=>(0,nK.isClosingBraceToken)(e))]}default:throw Error(`Unsupported node type: ${t}`)}}(t,r);if(s&&p){if(0===n.length)return void function(t,n,r,s=t.type){if("ignore"===a.emptyObjects||!(0,nK.isTokenOnSameLine)(n,r)||i.commentsExistBetween(n,r))return;let o=i.getText().slice(n.range[0]+1,r.range[1]-1);if(""===o.trim()){if("always"===a.emptyObjects){if(" "===o)return;e.report({node:t,loc:{start:n.loc.end,end:r.loc.start},messageId:"requiredSpaceInEmptyObject",data:{node:s},fix:e=>e.replaceTextRange([n.range[1],r.range[0]]," ")})}else if("never"===a.emptyObjects){if(""===o)return;e.report({node:t,loc:{start:n.loc.end,end:r.loc.start},messageId:"unexpectedSpaceInEmptyObject",data:{node:s},fix:e=>e.removeRange([n.range[1],r.range[0]])})}}}(t,s,p,r);o(t,s,p,r)}}return{ObjectPattern(e){l(e,e.properties)},ObjectExpression(e){l(e,e.properties)},ImportDeclaration(e){e.attributes&&l(e,e.attributes,"ImportAttributes");let t=e.specifiers.findIndex(e=>"ImportSpecifier"===e.type);-1===t?l(e,[]):l(e,e.specifiers.slice(t))},ExportNamedDeclaration(e){l(e,e.specifiers),e.attributes&&l(e,e.attributes,"ImportAttributes")},ExportAllDeclaration(e){e.attributes&&l(e,e.attributes,"ImportAttributes")},TSMappedType(e){o(e,i.getFirstToken(e),i.getLastToken(e))},TSTypeLiteral(e){l(e,e.members)},TSInterfaceBody(e){l(e,e.body)},TSEnumBody(e){l(e,e.members)}}}}),sX=rE({name:"object-property-newline",meta:{type:"layout",docs:{description:"Enforce placing object properties on separate lines"},fixable:"whitespace",schema:[{type:"object",properties:{allowAllPropertiesOnSameLine:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{allowAllPropertiesOnSameLine:!1}],messages:{propertiesOnNewlineAll:"Object properties must go on a new line if they aren't all on the same line.",propertiesOnNewline:"Object properties must go on a new line."}},create(e,[t]){let n=t.allowAllPropertiesOnSameLine,r=n?"propertiesOnNewlineAll":"propertiesOnNewline",i=e.sourceCode;function s(t,s){if(!(n&&s.length>1&&(0,nK.isTokenOnSameLine)(i.getFirstToken(s[0]),i.getLastToken(s[s.length-1]))))for(let n=1;n<s.length;n++){let a=i.getLastToken(s[n-1]),o=i.getFirstToken(s[n]);(0,nK.isTokenOnSameLine)(a,o)&&e.report({node:t,loc:o.loc,messageId:r,fix(e){let t=[i.getTokenBefore(o).range[1],o.range[0]];return i.text.slice(t[0],t[1]).trim()?null:e.replaceTextRange(t,"\n")}})}}return{ObjectExpression(e){s(e,e.properties)},TSTypeLiteral(e){s(e,e.members)},TSInterfaceBody(e){s(e,e.body)}}}}),sJ=rE({name:"one-var-declaration-per-line",meta:{type:"layout",docs:{description:"Require or disallow newlines around variable declarations"},fixable:"whitespace",schema:[{type:"string",enum:["always","initializations"]}],defaultOptions:["initializations"],messages:{expectVarOnNewline:"Expected variable declaration to be on a new line."}},create(e,[t]){let{sourceCode:n}=e,r="always"===t;return{VariableDeclaration:function(t){var i;if("ForStatement"===(i=t.parent.type)||"ForInStatement"===i||"ForOfStatement"===i)return;let s=t.declarations;for(let i=1;i<s.length;i++){let a=s[i-1],o=s[i];(0,nK.isTokenOnSameLine)(a,o)&&(r||a.init||o.init)&&e.report({node:t,messageId:"expectVarOnNewline",loc:o.loc,fix:e=>{let t=n.getTokenBefore(o);return e.insertTextAfterRange([t.range[1],o.range[0]],"\n")}})}}}}}),sU=rE({name:"operator-linebreak",meta:{type:"layout",docs:{description:"Enforce consistent linebreak style for operators"},fixable:"code",schema:[{oneOf:[{type:"string",enum:["after","before","none"]},{type:"null"}]},{type:"object",properties:{overrides:{type:"object",additionalProperties:{type:"string",enum:["after","before","none","ignore"]}}},additionalProperties:!1}],defaultOptions:[],messages:{operatorAtBeginning:"'{{operator}}' should be placed at the beginning of the line.",operatorAtEnd:"'{{operator}}' should be placed at the end of the line.",badLinebreak:"Bad line breaking before and after '{{operator}}'.",noLinebreak:"There should be no line break before or after '{{operator}}'."}},create(e){let t=!e.options[0],n=e.options[0]||"after",r=e.options[1]||{},i=r.overrides?Object.assign({},r.overrides):{};t&&!i["?"]&&(i["?"]="before"),t&&!i[":"]&&(i[":"]="before");let s=e.sourceCode;function a(t,r,a){let o=s.getTokenBefore(r,e=>e.value===a),l=s.getTokenBefore(o),p=s.getTokenAfter(o),c=i[a],u=c||n,f=e=>{let t,n,r=s.getTokenBefore(o),i=s.getTokenAfter(o),a=s.text.slice(r.range[1],o.range[0]),l=s.text.slice(o.range[1],i.range[0]),p=!(0,nK.isTokenOnSameLine)(r,o);if(!(0,nK.isTokenOnSameLine)(o,i)!==p&&"none"!==u){if(s.getTokenBefore(o,{includeComments:!0})!==r&&s.getTokenAfter(o,{includeComments:!0})!==i)return null;t=l,n=a}else{let e=n3();if(t="before"===u||a.trim()?a:a.replace(e,""),n="after"===u||l.trim()?l:l.replace(e,""),t===a&&n===l)return null}return""===n&&"Punctuator"===i.type&&"+-".includes(o.value)&&i.value===o.value&&(n+=" "),e.replaceTextRange([r.range[1],i.range[0]],t+o.value+n)};(0,nK.isTokenOnSameLine)(l,o)&&(0,nK.isTokenOnSameLine)(o,p)||("ignore"===c||(0,nK.isTokenOnSameLine)(l,o)||(0,nK.isTokenOnSameLine)(o,p)?"before"===u&&(0,nK.isTokenOnSameLine)(l,o)?e.report({node:t,loc:o.loc,messageId:"operatorAtBeginning",data:{operator:a},fix:f}):"after"===u&&(0,nK.isTokenOnSameLine)(o,p)?e.report({node:t,loc:o.loc,messageId:"operatorAtEnd",data:{operator:a},fix:f}):"none"===u&&e.report({node:t,loc:o.loc,messageId:"noLinebreak",data:{operator:a},fix:f}):e.report({node:t,loc:o.loc,messageId:"badLinebreak",data:{operator:a},fix:f}))}function o(e){a(e,e.right,e.operator)}return{BinaryExpression:o,LogicalExpression:o,AssignmentExpression:o,VariableDeclarator(e){e.init&&a(e,e.init,"=")},PropertyDefinition(e){e.value&&a(e,e.value,"=")},AccessorProperty(e){e.value&&a(e,e.value,"=")},ConditionalExpression(e){a(e,e.consequent,"?"),a(e,e.alternate,":")},TSImportEqualsDeclaration(e){a(e,e.moduleReference,"=")},TSTypeAliasDeclaration(e){a(e,e.typeAnnotation,"=")},TSConditionalType(e){a(e,e.trueType,"?"),a(e,e.falseType,":")},TSIntersectionType(e){let{types:t}=e;for(let e=0;e<t.length-1;e++)a(t[e],t[e+1],"&")},TSUnionType(e){let{types:t}=e;for(let e=0;e<t.length-1;e++)a(t[e],t[e+1],"|")},TSTypeParameter(e){e.default&&a(e,e.default,"=")},TSEnumMember(e){e.initializer&&a(e,e.initializer,"=")}}}});let sW=["always","never","start","end"];var sK=rE({name:"padded-blocks",meta:{type:"layout",docs:{description:"Require or disallow padding within blocks"},fixable:"whitespace",schema:[{oneOf:[{type:"string",enum:sW},{type:"object",properties:{blocks:{type:"string",enum:sW},switches:{type:"string",enum:sW},classes:{type:"string",enum:sW}},additionalProperties:!1,minProperties:1}]},{type:"object",properties:{allowSingleLineBlocks:{type:"boolean"}},additionalProperties:!1}],defaultOptions:["always",{allowSingleLineBlocks:!1}],messages:{missingPadBlock:"Block must be padded by blank lines.",extraPadBlock:"Block must not be padded by blank lines."}},create(e,[t,{allowSingleLineBlocks:n}={}]){let r="string"==typeof t?{blocks:t,switches:t,classes:t}:t,i=e.sourceCode;function s(e){return"Line"===e.type||"Block"===e.type}function a(e,t){return t.loc.start.line-e.loc.end.line>=2}function o(t){let o=function(e){let t,n=e;do t=n,n=i.getTokenAfter(n,{includeComments:!0});while(s(n)&&(0,nK.isTokenOnSameLine)(t,n));return n}("SwitchStatement"===t.type?i.getTokenBefore(t.cases[0]):"StaticBlock"===t.type?i.getFirstToken(t,{skip:1}):i.getFirstToken(t)),l=i.getTokenBefore(o,{includeComments:!0}),p=function(e){let t,n=e;do t=n,n=i.getTokenBefore(n,{includeComments:!0});while(s(n)&&(0,nK.isTokenOnSameLine)(n,t));return n}(i.getLastToken(t)),c=i.getTokenAfter(p,{includeComments:!0}),u=a(l,o),f=a(p,c);if(n&&(0,nK.isTokenOnSameLine)(l,c))return;let d=function(e){switch(e.type){case"BlockStatement":case"StaticBlock":return r.blocks;case"SwitchStatement":return r.switches;case"ClassBody":return r.classes;default:throw Error("unreachable")}}(t);u?("never"===d||"end"===d)&&e.report({node:t,loc:{start:l.loc.start,end:o.loc.start},fix:e=>e.replaceTextRange([l.range[1],o.range[0]-o.loc.start.column],"\n"),messageId:"extraPadBlock"}):("always"===d||"start"===d)&&e.report({node:t,loc:{start:l.loc.start,end:o.loc.start},fix:e=>e.insertTextAfter(l,"\n"),messageId:"missingPadBlock"}),f?("never"===d||"start"===d)&&e.report({node:t,loc:{end:c.loc.start,start:p.loc.end},messageId:"extraPadBlock",fix:e=>e.replaceTextRange([p.range[1],c.range[0]-c.loc.start.column],"\n")}):("always"===d||"end"===d)&&e.report({node:t,loc:{end:c.loc.start,start:p.loc.end},fix:e=>e.insertTextBefore(c,"\n"),messageId:"missingPadBlock"})}let l={};return Object.hasOwn(r,"switches")&&(l.SwitchStatement=function(e){0!==e.cases.length&&o(e)}),Object.hasOwn(r,"blocks")&&(l.BlockStatement=function(e){0!==e.body.length&&o(e)},l.StaticBlock=l.BlockStatement),Object.hasOwn(r,"classes")&&(l.ClassBody=function(e){0!==e.body.length&&o(e)}),l}});let sH=/^(?:module\s*\.\s*)?exports(?:\s*\.|\s*\[|$)/u,sz=/^require\(/u,sG=`[${Array.from(nz).join("")}]`,sQ=RegExp(String.raw`^(\s*?${sG})\s*${sG}(\s*;?)$`,"u");function sZ(e){return"object"==typeof e&&!Array.isArray(e)}function s0(e,t){return{test(n,r){let i=r.getFirstToken(n)?.value===t,s=Array.isArray(e)?e.includes(n.type):e===n.type;return i&&s}}}function s1(e){return{test:t=>t.type===e}}function s2(e){if(e.type===e4.AST_NODE_TYPES.ExpressionStatement){let t=n5(e.expression);if(t.type===e4.AST_NODE_TYPES.UnaryExpression&&(t=n5(t.argument)),t.type===e4.AST_NODE_TYPES.CallExpression){let e=t.callee;for(;e.type===e4.AST_NODE_TYPES.SequenceExpression;)e=e.expressions[e.expressions.length-1];return(0,nK.isFunction)(e)}}return!1}function s3(e,t){return ra(e)&&e.expression.type===e4.AST_NODE_TYPES.Literal&&"string"==typeof e.expression.value&&!(0,nK.isParenthesized)(e.expression,t)}function s4(e,t){if(s3(e,t)&&e.parent&&"body"in e.parent&&Array.isArray(e.parent.body)){for(let n of e.parent.body){if(n===e)break;if(!s3(n,t))return!1}return!0}return!1}function s6(e,t){let n=t.getLastToken(e),r=t.getTokenBefore(n),i=t.getTokenAfter(n);return r&&i&&r.range[0]>=e.range[0]&&(0,nK.isSemicolonToken)(n)&&!(0,nK.isTokenOnSameLine)(r,n)&&(0,nK.isTokenOnSameLine)(n,i)?r:n}function s5(e,t,n){return t+n}function s9(e,t){if(rT(e))return e.loc;let n=e.loc.start.line;return{start:e.loc.start,end:{line:n,column:t.lines[n-1].length}}}let s8={any:{verify:function(){}},never:{verify:function(e,t,n,r){0!==r.length&&e.report({node:n,messageId:"unexpectedBlankLine",loc:s9(n,e.sourceCode),fix(t){if(r.length>=2)return null;let n=r[0][0],i=r[0][1],s=n.range[1],a=i.range[0],o=e.sourceCode.text.slice(s,a).replace(sQ,s5);return t.replaceTextRange([s,a],o)}})}},always:{verify:function(e,t,n,r){r.length>0||e.report({node:n,messageId:"expectedBlankLine",loc:s9(n,e.sourceCode),fix(r){let i=e.sourceCode,s=s6(t,i),a=i.getFirstTokenBetween(s,n,{includeComments:!0,filter:e=>!(0,nK.isTokenOnSameLine)(s,e)||(s=e,!1)})||n,o=(0,nK.isTokenOnSameLine)(s,a)?"\n\n":"\n";return r.insertTextAfter(s,o)}})}}},s7={"block-like":{test:function(e,t){if(e.type===e4.AST_NODE_TYPES.DoWhileStatement&&e.body.type===e4.AST_NODE_TYPES.BlockStatement||s2(e))return!0;let n=t.getLastToken(e,nK.isNotSemicolonToken),r=n&&(0,nK.isClosingBraceToken)(n)?t.getNodeByRangeIndex(n.range[0]):null;return!!r&&(r.type===e4.AST_NODE_TYPES.BlockStatement||r.type===e4.AST_NODE_TYPES.SwitchStatement)}},expression:{test:function(e,t){return e.type===e4.AST_NODE_TYPES.ExpressionStatement&&!s4(e,t)}},return:s0(e4.AST_NODE_TYPES.ReturnStatement,"return"),export:s0([e4.AST_NODE_TYPES.ExportAllDeclaration,e4.AST_NODE_TYPES.ExportDefaultDeclaration,e4.AST_NODE_TYPES.ExportNamedDeclaration],"export"),var:s0(e4.AST_NODE_TYPES.VariableDeclaration,"var"),let:s0(e4.AST_NODE_TYPES.VariableDeclaration,"let"),const:s0(e4.AST_NODE_TYPES.VariableDeclaration,"const"),using:{test:e=>"VariableDeclaration"===e.type&&("using"===e.kind||"await using"===e.kind)},type:s0(e4.AST_NODE_TYPES.TSTypeAliasDeclaration,"type")},ae={"*":{test:()=>!0},exports:{test:function(e){if(e.type===e4.AST_NODE_TYPES.ExpressionStatement){let t=e.expression;if(t.type===e4.AST_NODE_TYPES.AssignmentExpression){let e=t.left;if(e.type===e4.AST_NODE_TYPES.MemberExpression){for(;e.object.type===e4.AST_NODE_TYPES.MemberExpression;)e=e.object;return e.object.type===e4.AST_NODE_TYPES.Identifier&&("exports"===e.object.name||"module"===e.object.name&&e.property.type===e4.AST_NODE_TYPES.Identifier&&"exports"===e.property.name)}}}return!1}},require:{test:function(e){if(e.type===e4.AST_NODE_TYPES.VariableDeclaration){let t=e.declarations[0];if(t?.init){let e=t?.init;for(;e.type===e4.AST_NODE_TYPES.MemberExpression;)e=e.object;if(e.type===e4.AST_NODE_TYPES.CallExpression&&e.callee.type===e4.AST_NODE_TYPES.Identifier)return"require"===e.callee.name}}return!1}},directive:{test:s4},iife:{test:s2},block:s1(e4.AST_NODE_TYPES.BlockStatement),empty:s1(e4.AST_NODE_TYPES.EmptyStatement),function:s1(e4.AST_NODE_TYPES.FunctionDeclaration),"ts-method":s1(e4.AST_NODE_TYPES.TSMethodSignature),break:s0(e4.AST_NODE_TYPES.BreakStatement,"break"),case:s0(e4.AST_NODE_TYPES.SwitchCase,"case"),class:s0(e4.AST_NODE_TYPES.ClassDeclaration,"class"),continue:s0(e4.AST_NODE_TYPES.ContinueStatement,"continue"),debugger:s0(e4.AST_NODE_TYPES.DebuggerStatement,"debugger"),default:s0([e4.AST_NODE_TYPES.SwitchCase,e4.AST_NODE_TYPES.ExportDefaultDeclaration],"default"),do:s0(e4.AST_NODE_TYPES.DoWhileStatement,"do"),for:s0([e4.AST_NODE_TYPES.ForStatement,e4.AST_NODE_TYPES.ForInStatement,e4.AST_NODE_TYPES.ForOfStatement],"for"),if:s0(e4.AST_NODE_TYPES.IfStatement,"if"),import:s0(e4.AST_NODE_TYPES.ImportDeclaration,"import"),switch:s0(e4.AST_NODE_TYPES.SwitchStatement,"switch"),throw:s0(e4.AST_NODE_TYPES.ThrowStatement,"throw"),try:s0(e4.AST_NODE_TYPES.TryStatement,"try"),while:s0([e4.AST_NODE_TYPES.WhileStatement,e4.AST_NODE_TYPES.DoWhileStatement],"while"),with:s0(e4.AST_NODE_TYPES.WithStatement,"with"),"cjs-export":{test:(e,t)=>"ExpressionStatement"===e.type&&"AssignmentExpression"===e.expression.type&&sH.test(t.getText(e.expression.left))},"cjs-import":{test:(e,t)=>"VariableDeclaration"===e.type&&e.declarations.length>0&&!!e.declarations[0].init&&sz.test(t.getText(e.declarations[0].init))},enum:s0(e4.AST_NODE_TYPES.TSEnumDeclaration,"enum"),interface:s0(e4.AST_NODE_TYPES.TSInterfaceDeclaration,"interface"),"function-overload":s1(e4.AST_NODE_TYPES.TSDeclareFunction),...Object.fromEntries(Object.entries(s7).flatMap(([e,t])=>[[e,t],[`singleline-${e}`,{...t,test:(e,n)=>t.test(e,n)&&rT(e)}],[`multiline-${e}`,{...t,test:(e,n)=>t.test(e,n)&&!rT(e)}]]))};var at=rE({name:"padding-line-between-statements",meta:{type:"layout",docs:{description:"Require or disallow padding lines between statements"},fixable:"whitespace",hasSuggestions:!1,schema:{$defs:{paddingType:{type:"string",enum:Object.keys(s8)},statementType:{type:"string",enum:Object.keys(ae)},selectorOption:{type:"object",properties:{selector:{type:"string"},lineMode:{type:"string",enum:["any","singleline","multiline"]}},required:["selector"],additionalProperties:!1},statementMatcher:{anyOf:[{$ref:"#/$defs/statementType"},{$ref:"#/$defs/selectorOption"}]},statementOption:{anyOf:[{$ref:"#/$defs/statementMatcher"},{type:"array",items:{$ref:"#/$defs/statementMatcher"},minItems:1,uniqueItems:!0,additionalItems:!1}]}},type:"array",additionalItems:!1,items:{type:"object",properties:{blankLine:{$ref:"#/$defs/paddingType"},prev:{$ref:"#/$defs/statementOption"},next:{$ref:"#/$defs/statementOption"}},additionalProperties:!1,required:["blankLine","prev","next"]}},defaultOptions:[],messages:{unexpectedBlankLine:"Unexpected blank line before this statement.",expectedBlankLine:"Expected blank line before this statement."}},create(e,t){let n=e.sourceCode,r=new Map,i=[];function s(e){if(Array.isArray(e)){for(let t of e)s(t);return}sZ(e)&&r.set(e.selector,new Set)}for(let e of t)s(e.prev),s(e.next);let a=null;function o(){a={upper:a,prevNode:null}}function l(){a&&(a=a.upper)}function p(e,t){let i=e;for(;i.type===e4.AST_NODE_TYPES.LabeledStatement;)i=i.body;if(Array.isArray(t))return t.some(p.bind(null,i));if(!sZ(t))return ae[t].test(i,n);{if(!r.get(t.selector)?.has(i))return!1;let e=t.lineMode;return"singleline"===e?rT(i):"multiline"!==e||!rT(i)}}function c(e){if(!e.parent||![e4.AST_NODE_TYPES.BlockStatement,e4.AST_NODE_TYPES.Program,e4.AST_NODE_TYPES.StaticBlock,e4.AST_NODE_TYPES.SwitchCase,e4.AST_NODE_TYPES.SwitchStatement,e4.AST_NODE_TYPES.TSInterfaceBody,e4.AST_NODE_TYPES.TSModuleBlock,e4.AST_NODE_TYPES.TSTypeLiteral].includes(e.parent.type))return;let t=a.prevNode;t&&i.push({prevNode:t,nextNode:e}),a.prevNode=e}function u(e){c(e),o()}return{Program:o,"Program:exit":()=>{for(let{prevNode:r,nextNode:s}of i){let i=function(e,n){for(let r=t.length-1;r>=0;--r){let i=t[r];if(p(e,i.prev)&&p(n,i.next))return s8[i.blankLine]}return s8.any}(r,s),a=function(e,t){let r=[],i=s6(e,n);if(t.loc.start.line-i.loc.end.line>=2)do{let e=n.getTokenAfter(i,{includeComments:!0});e.loc.start.line-i.loc.end.line>=2&&r.push([i,e]),i=e}while(i.range[0]<t.range[0]);return r}(r,s);i.verify(e,r,s,a)}l()},BlockStatement:o,"BlockStatement:exit":l,SwitchStatement:o,"SwitchStatement:exit":l,SwitchCase:u,"SwitchCase:exit":l,StaticBlock:o,"StaticBlock:exit":l,TSInterfaceBody:o,"TSInterfaceBody:exit":l,TSModuleBlock:o,"TSModuleBlock:exit":l,TSTypeLiteral:o,"TSTypeLiteral:exit":l,TSDeclareFunction:u,"TSDeclareFunction:exit":l,TSMethodSignature:u,"TSMethodSignature:exit":l,":statement":c,...Object.fromEntries(Array.from(r.keys(),e=>[e,t=>{r.get(e)?.add(t)}]))}}}),an=rE({name:"quote-props",meta:{type:"layout",docs:{description:"Require quotes around object literal, type literal, interfaces and enums property names"},fixable:"code",schema:{anyOf:[{type:"array",items:[{type:"string",enum:["always","as-needed","consistent","consistent-as-needed"]}],minItems:0,maxItems:1},{type:"array",items:[{type:"string",enum:["always","as-needed","consistent","consistent-as-needed"]},{type:"object",properties:{keywords:{type:"boolean"},unnecessary:{type:"boolean"},numbers:{type:"boolean"}},additionalProperties:!1}],minItems:0,maxItems:2}]},defaultOptions:["always"],messages:{requireQuotesDueToReservedWord:"Properties should be quoted as '{{property}}' is a reserved word.",inconsistentlyQuotedProperty:"Inconsistently quoted property '{{key}}' found.",unnecessarilyQuotedProperty:"Unnecessarily quoted property '{{property}}' found.",unquotedReservedProperty:"Unquoted reserved word '{{property}}' used as key.",unquotedNumericProperty:"Unquoted number literal '{{property}}' used as key.",unquotedPropertyFound:"Unquoted property '{{property}}' found.",redundantQuoting:"Properties shouldn't be quoted as all quotes are redundant."}},create(e,[t,n={}]){let{keywords:r=!1,unnecessary:i=!0,numbers:s=!1}=n,a=e.sourceCode;function o(e){return n1.includes(e)}function l(e,t,n=!1){return 1===t.length&&0===t[0].start&&t[0].end===e.length&&(["Identifier","Keyword","Null","Boolean"].includes(t[0].type)||"Numeric"===t[0].type&&!n&&String(+t[0].value)===t[0].value)}function p(e){return"Identifier"===e.type?e.name:e.value}function c(e){return ro(e)?a.getText(e):`"${"Identifier"===e.type?e.name:e.value}"`}function u(t){if("Property"===t.type&&(t.method||t.computed||t.shorthand)||"ImportAttribute"!==t.type&&t.computed)return;let n="TSEnumMember"===t.type?t.id:t.key;if("Literal"===n.type&&"string"==typeof n.value){let a;try{a=nM(n.value)}catch{return}if(1!==a.length||o(a[0].value)&&r)return;i&&l(n.value,a,s)&&e.report({node:t,messageId:"unnecessarilyQuotedProperty",data:{property:n.value},fix:e=>e.replaceText(n,p(n))})}else if(r&&"Identifier"===n.type&&o(n.name))e.report({node:t,messageId:"unquotedReservedProperty",data:{property:n.name},fix:e=>e.replaceText(n,c(n))});else{var a;s&&"Literal"===(a=n).type&&("number"==typeof a.value||"bigint"in a&&a.bigint)&&e.report({node:t,messageId:"unquotedNumericProperty",data:{property:n.value},fix:e=>e.replaceText(n,c(n))})}}function f(t){if("Property"===t.type&&(t.method||t.computed||t.shorthand)||"ImportAttribute"!==t.type&&t.computed)return;let n="TSEnumMember"===t.type?t.id:t.key;("Literal"!==n.type||"string"!=typeof n.value)&&e.report({node:t,messageId:"unquotedPropertyFound",data:{property:n.name||n.value},fix:e=>e.replaceText(n,c(n))})}function d(e,t){h(e.filter(e=>"SpreadElement"!==e.type&&e.key&&!e.method&&!e.computed&&!e.shorthand),t)}function m(e){e&&("consistent"===t&&h(e,!1),"consistent-as-needed"===t&&h(e,!0))}function h(t,n){let i=[],s=[],a=null,u=!1;t.forEach(e=>{let t=e.key;if("Literal"===t.type&&"string"==typeof t.value){if(i.push(e),n){let e;try{e=nM(t.value)}catch{u=!0;return}u=u||!l(t.value,e)||r&&o(e[0].value)}}else r&&n&&"Identifier"===t.type&&o(t.name)?(s.push(e),u=!0,a=t.name):s.push(e)}),n&&i.length&&!u?i.forEach(t=>{let n=t.key;e.report({node:t,messageId:"redundantQuoting",fix:e=>e.replaceText(n,p(n))})}):s.length&&a?s.forEach(t=>{e.report({node:t,messageId:"requireQuotesDueToReservedWord",data:{property:a},fix:e=>e.replaceText(t.key,c(t.key))})}):i.length&&s.length&&s.forEach(t=>{e.report({node:t,messageId:"inconsistentlyQuotedProperty",data:{key:t.key.name||t.key.value},fix:e=>e.replaceText(t.key,c(t.key))})})}return{Property(e){"always"!==t&&t||f(e),"as-needed"===t&&u(e)},ObjectExpression(e){"consistent"===t&&d(e.properties,!1),"consistent-as-needed"===t&&d(e.properties,!0)},ImportAttribute(e){"always"!==t&&t||f(e),"as-needed"===t&&u(e)},ImportDeclaration(e){m(e.attributes)},ExportAllDeclaration(e){m(e.attributes)},ExportNamedDeclaration(e){m(e.attributes)},TSPropertySignature(e){"always"!==t&&t||f(e),"as-needed"===t&&u(e)},TSEnumMember(e){"always"!==t&&t||f(e),"as-needed"===t&&u(e)},TSTypeLiteral(e){"consistent"===t&&d(e.members,!1),"consistent-as-needed"===t&&d(e.members,!0)},TSInterfaceBody(e){"consistent"===t&&d(e.body,!1),"consistent-as-needed"===t&&d(e.body,!0)},TSEnumDeclaration(e){let n=(e.body?.members||e.members).map(e=>({...e,key:e.id}));"consistent"===t&&d(n,!1),"consistent-as-needed"===t&&d(n,!0)}}}});function ar(e){let t=this.quote,n=e[0];return t===n?e:t+e.slice(1,-1).replace(/\\(\$\{|\r\n?|\n|.)|["'`]|\$\{|(\r\n?|\n)/gu,(e,r,i)=>r===n||"`"===n&&"${"===r?r:e===t||"`"===t&&"${"===e?`\\${e}`:i&&"`"===n?"\\n":e)+t}let ai={double:{quote:'"',alternateQuote:"'",description:"doublequote",convert:ar},single:{quote:"'",alternateQuote:'"',description:"singlequote",convert:ar},backtick:{quote:"`",alternateQuote:'"',description:"backtick",convert:ar}},as=RegExp(String.raw`(^|[^\\])(\\\\)*[${Array.from(nz).join("")}]`,"u"),aa="avoid-escape";var ao=rE({name:"quotes",meta:{type:"layout",docs:{description:"Enforce the consistent use of either backticks, double, or single quotes"},fixable:"code",schema:[{type:"string",enum:["single","double","backtick"]},{anyOf:[{type:"string",enum:["avoid-escape"]},{type:"object",properties:{avoidEscape:{type:"boolean"},allowTemplateLiterals:{anyOf:[{type:"boolean"},{type:"string",enum:["never","avoidEscape","always"]}]},ignoreStringLiterals:{type:"boolean"}},additionalProperties:!1}]}],defaultOptions:["double",{allowTemplateLiterals:"never",avoidEscape:!1,ignoreStringLiterals:!1}],messages:{wrongQuotes:"Strings must use {{description}}."}},create(e,[t,n]){let r=ai[t||"double"],i=e.sourceCode,s=!1,a=!1,o=!1,l=!1;return"object"==typeof n?(s=!0===n.avoidEscape,a=!0===n.ignoreStringLiterals,"string"==typeof n.allowTemplateLiterals?l=(o="always"===n.allowTemplateLiterals)||"avoidEscape"===n.allowTemplateLiterals:"boolean"==typeof n.allowTemplateLiterals&&(nU('value(boolean) for "allowTemplateLiterals"','"always"/"never"',"quotes"),o=!0===n.allowTemplateLiterals,l=!0===n.allowTemplateLiterals)):n===aa&&(nU(`option("${aa}")`,'"avoidEscape"',"quotes"),s=!0),{Literal(n){if(a)return;let o=n.value,l=n.raw;if(r&&"string"==typeof o){let a="backtick"===t&&function(e){let t=e.parent;if(!t)return!1;switch(t.type){case e4.AST_NODE_TYPES.ExpressionStatement:return!n9(i,e)&&function(e){if(!e.parent||!ra(e.parent))return!1;let t=e.parent.parent;if(!t||!("body"in t)||!Array.isArray(t.body))return!1;for(let n=0;n<t.body.length;++n){let r=t.body[n];if(r===e.parent)return!0;if(!("ExpressionStatement"===r.type&&"Literal"===r.expression.type&&"string"==typeof r.expression.value&&!n9(i,r.expression)))break}return!1}(e);case e4.AST_NODE_TYPES.Property:case e4.AST_NODE_TYPES.MethodDefinition:return t.key===e&&!t.computed;case e4.AST_NODE_TYPES.ImportDeclaration:case e4.AST_NODE_TYPES.ExportNamedDeclaration:return t.source===e;case e4.AST_NODE_TYPES.ExportAllDeclaration:return t.exported===e||t.source===e;case e4.AST_NODE_TYPES.ImportSpecifier:return t.imported===e;case e4.AST_NODE_TYPES.ExportSpecifier:return t.local===e||t.exported===e;case e4.AST_NODE_TYPES.ImportAttribute:return t.value===e;case e4.AST_NODE_TYPES.TSImportType:case e4.AST_NODE_TYPES.TSAbstractMethodDefinition:case e4.AST_NODE_TYPES.TSMethodSignature:case e4.AST_NODE_TYPES.TSPropertySignature:case e4.AST_NODE_TYPES.TSModuleDeclaration:case e4.AST_NODE_TYPES.TSExternalModuleReference:return!0;case e4.AST_NODE_TYPES.TSEnumMember:return e===t.id;case e4.AST_NODE_TYPES.TSAbstractPropertyDefinition:case e4.AST_NODE_TYPES.PropertyDefinition:case e4.AST_NODE_TYPES.AccessorProperty:return t.key===e&&!t.computed;case e4.AST_NODE_TYPES.TSLiteralType:return t.parent?.type===e4.AST_NODE_TYPES.TSImportType;default:return!1}}(n)||!!n.parent&&("JSXAttribute"===n.parent.type||"JSXElement"===n.parent.type||"JSXFragment"===n.parent.type)||rp(l,r.quote);!a&&s&&(a=rp(l,r.alternateQuote)&&l.includes(r.quote)),a||e.report({node:n,messageId:"wrongQuotes",data:{description:r.description},fix:e=>"backtick"===t&&nZ.test(l)?null:e.replaceText(n,r.convert(n.raw))})}},TemplateLiteral(n){o||"backtick"===t||"TaggedTemplateExpression"===n.parent.type&&n===n.parent.quasi||n.expressions.length>0||n.quasis.length>=1&&as.test(n.quasis[0].value.raw)||0||l&&s&&i.getText(n).includes(r.quote)||e.report({node:n,messageId:"wrongQuotes",data:{description:r.description},fix:e=>ra(n.parent)&&!n9(i,n)?null:e.replaceText(n,r.convert(i.getText(n)))})}}}}),al=rE({name:"rest-spread-spacing",meta:{type:"layout",docs:{description:"Enforce spacing between rest and spread operators and their expressions"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]}],defaultOptions:["never"],messages:{unexpectedWhitespace:"Unexpected whitespace after {{type}} operator.",expectedWhitespace:"Expected whitespace after {{type}} operator."}},create(e,[t]){let n=e.sourceCode,r="always"===t;function i(t){let i,s=n.getFirstToken(t),a=n.getTokenAfter(s),o=n.isSpaceBetween(s,a);switch(t.type){case"SpreadElement":i="spread","ObjectExpression"===t.parent.type&&(i+=" property");break;case"RestElement":i="rest","ObjectPattern"===t.parent.type&&(i+=" property");break;default:return}r&&!o?e.report({node:t,loc:s.loc,messageId:"expectedWhitespace",data:{type:i},fix:e=>e.replaceTextRange([s.range[1],a.range[0]]," ")}):!r&&o&&e.report({node:t,loc:{start:s.loc.end,end:a.loc.start},messageId:"unexpectedWhitespace",data:{type:i},fix:e=>e.removeRange([s.range[1],a.range[0]])})}return{SpreadElement:i,RestElement:i}}}),ap=rE({name:"semi-spacing",meta:{type:"layout",docs:{description:"Enforce consistent spacing before and after semicolons"},fixable:"whitespace",schema:[{type:"object",properties:{before:{type:"boolean"},after:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{before:!1,after:!0}],messages:{unexpectedWhitespaceBefore:"Unexpected whitespace before semicolon.",unexpectedWhitespaceAfter:"Unexpected whitespace after semicolon.",missingWhitespaceBefore:"Missing whitespace before semicolon.",missingWhitespaceAfter:"Missing whitespace after semicolon."}},create(e,[t]){let{before:n,after:r}=t,i=e.sourceCode;function s(t,s){if((0,nK.isSemicolonToken)(t)){let a,o,l,p;if((a=i.getTokenBefore(t))&&(0,nK.isTokenOnSameLine)(a,t)&&i.isSpaceBetween(a,t)){if(!n){let n=i.getTokenBefore(t),r={start:n.loc.end,end:t.loc.start};e.report({node:s,loc:r,messageId:"unexpectedWhitespaceBefore",fix:e=>e.removeRange([n.range[1],t.range[0]])})}}else if(n){let n=t.loc;e.report({node:s,loc:n,messageId:"missingWhitespaceBefore",fix:e=>e.insertTextBefore(t," ")})}if((o=i.getTokenBefore(t))&&(0,nK.isTokenOnSameLine)(t,o)&&(l=i.getTokenAfter(t))&&(0,nK.isTokenOnSameLine)(t,l)&&!((p=i.getTokenAfter(t))&&(0,nK.isClosingBraceToken)(p)||(0,nK.isClosingParenToken)(p))){let n;if((n=i.getTokenAfter(t))&&(0,nK.isTokenOnSameLine)(t,n)&&i.isSpaceBetween(t,n)){if(!r){let n=i.getTokenAfter(t),r={start:t.loc.end,end:n.loc.start};e.report({node:s,loc:r,messageId:"unexpectedWhitespaceAfter",fix:e=>e.removeRange([t.range[1],n.range[0]])})}}else if(r){let n=t.loc;e.report({node:s,loc:n,messageId:"missingWhitespaceAfter",fix:e=>e.insertTextAfter(t," ")})}}}}function a(e){s(i.getLastToken(e),e)}return{VariableDeclaration:a,ExpressionStatement:a,BreakStatement:a,ContinueStatement:a,DebuggerStatement:a,DoWhileStatement:a,ReturnStatement:a,ThrowStatement:a,ImportDeclaration:a,ExportNamedDeclaration:a,ExportAllDeclaration:a,ExportDefaultDeclaration:a,ForStatement(e){e.init&&s(i.getTokenAfter(e.init),e),e.test&&s(i.getTokenAfter(e.test),e)},PropertyDefinition:a,AccessorProperty:a,TSDeclareFunction:a,TSTypeAliasDeclaration:a,TSTypeAnnotation(e){let t=new Set([e4.AST_NODE_TYPES.TSDeclareFunction]);e.parent&&!t.has(e.parent.type)&&a(e.parent)}}}}),ac=rE({name:"semi-style",meta:{type:"layout",docs:{description:"Enforce location of semicolons"},fixable:"whitespace",schema:[{type:"string",enum:["last","first"]}],defaultOptions:["last"],messages:{expectedSemiColon:"Expected this semicolon to be at {{pos}}."}},create(e,[t]){let n=e.sourceCode;function r(t,r){let i=n.getTokenBefore(t),s=n.getTokenAfter(t),a=!i||(0,nK.isTokenOnSameLine)(i,t),o=!s||(0,nK.isTokenOnSameLine)(t,s);("last"!==r||a)&&("first"!==r||o)||e.report({loc:t.loc,messageId:"expectedSemiColon",data:{pos:"last"===r?"the end of the previous line":"the beginning of the next line"},fix(e){if(i&&s&&n.commentsExistBetween(i,s))return null;let a=i?i.range[1]:t.range[0],o=s?s.range[0]:t.range[1];return e.replaceTextRange([a,o],"last"===r?";\n":"\n;")}})}return{"BreakStatement,ContinueStatement,DebuggerStatement,DoWhileStatement,ExportAllDeclaration,ExportDefaultDeclaration,ExportNamedDeclaration,ExpressionStatement,ImportDeclaration,ReturnStatement,ThrowStatement,VariableDeclaration,PropertyDefinition,AccessorProperty"(e){if("first"===t&&function(e){var t;let n;if(!e.parent)return!0;let r=e.parent.type;if("IfStatement"===r&&e.parent.consequent===e&&e.parent.alternate||"DoWhileStatement"===r)return!0;let i="BlockStatement"===(n=(t=e.parent).type)||"StaticBlock"===n||"Program"===n||"ClassBody"===n?t.body:"SwitchCase"===n?t.consequent:null;return null!==i&&i[i.length-1]===e}(e))return;let i=n.getLastToken(e);(0,nK.isSemicolonToken)(i)&&r(i,t)},ForStatement(e){let t=e.init&&n.getTokenAfter(e.init,nK.isSemicolonToken),i=e.test&&n.getTokenAfter(e.test,nK.isSemicolonToken);t&&r(t,"last"),i&&r(i,"last")}}}}),au=rE({name:"semi",meta:{type:"layout",docs:{description:"Require or disallow semicolons instead of ASI"},fixable:"code",schema:{anyOf:[{type:"array",items:[{type:"string",enum:["never"]},{type:"object",properties:{beforeStatementContinuationChars:{type:"string",enum:["always","any","never"]}},additionalProperties:!1}],minItems:0,maxItems:2},{type:"array",items:[{type:"string",enum:["always"]},{type:"object",properties:{omitLastInOneLineBlock:{type:"boolean"},omitLastInOneLineClassBody:{type:"boolean"}},additionalProperties:!1}],minItems:0,maxItems:2}]},defaultOptions:["always"],messages:{missingSemi:"Missing semicolon.",extraSemi:"Extra semicolon."}},create(e,[t,n]){let r=/^[-[(/+`]/u,i=new Set(["get","set","static"]),s=new Set(["*","in","instanceof"]),a="never"===t,o=!!(n&&"omitLastInOneLineBlock"in n&&n.omitLastInOneLineBlock),l=!!(n&&"omitLastInOneLineClassBody"in n&&n.omitLastInOneLineClassBody),p=n&&"beforeStatementContinuationChars"in n&&n.beforeStatementContinuationChars||"any",c=e.sourceCode;function u(t,n=!1){let r,i,s=c.getLastToken(t),a="missingSemi";n?(a="extraSemi",i=s.loc,r=function(e){return new rN(e,c).retainSurroundingTokens(s).remove(s)}):(i={start:s.loc.end,end:rf(c,s.loc.end)},r=function(e){return e.insertTextAfter(s,";")}),e.report({node:t,loc:i,messageId:a,fix:r})}function f(e){return!!e&&r.test(e.value)&&"++"!==e.value&&"--"!==e.value}function d(e){let t=(0,nK.isSemicolonToken)(c.getLastToken(e));if(a){let n=c.getTokenAfter(e);t&&function(e){var t;let n,r,a,o;return t=c.getLastToken(e),!!(!(n=c.getTokenAfter(t))||(0,nK.isClosingBraceToken)(n)||(0,nK.isSemicolonToken)(n))||!(function(e){if("PropertyDefinition"!==e.type)return!1;if(!e.computed&&"Identifier"===e.key.type&&"name"in e.key&&i.has(e.key.name)&&!(e.static&&"static"===e.key.name)&&!e.value)return!0;let t=c.getTokenAfter(e);return s.has(t.value)}(e)||(r=c.getLastToken(e,1),(a=c.getTokenAfter(e))&&(0,nK.isTokenOnSameLine)(r,a)))&&!(("PropertyDefinition"===e.type||"never"!==p||"DoWhileStatement"!==(o=e.type)&&"BreakStatement"!==o&&"ContinueStatement"!==o&&"DebuggerStatement"!==o&&"ImportDeclaration"!==o&&"ExportAllDeclaration"!==o&&("ReturnStatement"===o?e.argument:"ExportNamedDeclaration"===o?e.declaration:!function(e){if(!(0,nK.isClosingBraceToken)(e))return!1;let t=c.getNodeByRangeIndex(e.range[0]);return"BlockStatement"===t.type&&"ArrowFunctionExpression"===t.parent.type}(c.getLastToken(e,1))))&&f(c.getTokenAfter(e)))}(e)?u(e,!0):!t&&"always"===p&&"PropertyDefinition"!==e.type&&f(n)&&u(e)}else{let n,r,i,s,a=o&&(n=e.parent,!!(r=c.getTokenAfter(e))&&"}"===r.value&&("BlockStatement"===n.type?rT(n):"StaticBlock"===n.type&&(0,nK.isTokenOnSameLine)(n,c.getFirstToken(n,{skip:1})))),p=l&&(i=e.parent,!!(s=c.getTokenAfter(e))&&"}"===s.value&&"ClassBody"===i.type&&rT(i)),f=a||p;t&&f?u(e,!0):t||f||u(e)}}return{VariableDeclaration(e){let t=e.parent;"ForStatement"===t.type&&t.init===e||/^For(?:In|Of)Statement/u.test(t.type)&&t.left===e||d(e)},ExpressionStatement:d,ReturnStatement:d,ThrowStatement:d,DoWhileStatement:d,DebuggerStatement:d,BreakStatement:d,ContinueStatement:d,ImportDeclaration:d,ExportAllDeclaration:d,ExportNamedDeclaration(e){e.declaration||d(e)},ExportDefaultDeclaration(e){e.declaration.type!==e4.AST_NODE_TYPES.TSInterfaceDeclaration&&(/(?:Class|Function)Declaration/u.test(e.declaration.type)||d(e))},PropertyDefinition:d,AccessorProperty:d,TSAbstractPropertyDefinition:d,TSDeclareFunction:d,TSExportAssignment:d,TSImportEqualsDeclaration:d,TSTypeAliasDeclaration:d,TSEmptyBodyFunctionExpression:d}}}),af=rE({name:"space-before-blocks",meta:{type:"layout",docs:{description:"Enforce consistent spacing before blocks"},fixable:"whitespace",schema:[{oneOf:[{type:"string",enum:["always","never"]},{type:"object",properties:{keywords:{type:"string",enum:["always","never","off"]},functions:{type:"string",enum:["always","never","off"]},classes:{type:"string",enum:["always","never","off"]},modules:{type:"string",enum:["always","never","off"]}},additionalProperties:!1}]}],defaultOptions:["always"],messages:{unexpectedSpace:"Unexpected space before opening brace.",missingSpace:"Missing space before opening brace."}},create(e,[t]){let n=e.sourceCode,r=!0,i=!0,s=!0,a=!0,o=!1,l=!1,p=!1,c=!1;function u(e){if(!("parent"in e))return!1;let t=e.parent;return"BlockStatement"===e.type&&(0,nK.isFunction)(t)&&t.body===e}function f(t){let f=n.getTokenBefore(t);if(f&&!((0,nK.isArrowToken)(f)||re(f)&&!u(t)||(0,nK.isColonToken)(f)&&"parent"in t&&t.parent&&"SwitchCase"===t.parent.type&&f===rs(t.parent,n))&&(0,nK.isTokenOnSameLine)(f,t)){let d,m,h=n.isSpaceBetween(f,t);u(t)?(d=r,m=o):"ClassBody"===t.type||"TSEnumBody"===t.type||"TSInterfaceBody"===t.type?(d=s,m=p):"TSModuleBlock"===t.type?(d=a,m=c):(d=i,m=l),d&&!h?e.report({node:t,messageId:"missingSpace",fix:e=>e.insertTextBefore(t," ")}):m&&h&&e.report({node:t,messageId:"unexpectedSpace",fix:e=>e.removeRange([f.range[1],t.range[0]])})}}return"object"==typeof t?(r="always"===t.functions,i="always"===t.keywords,s="always"===t.classes,a="always"===t.modules,o="never"===t.functions,l="never"===t.keywords,p="never"===t.classes,c="never"===t.modules):"never"===t&&(r=!1,i=!1,s=!1,a=!1,o=!0,l=!0,p=!0,c=!0),{BlockStatement:f,ClassBody:f,SwitchStatement(e){let t=e.cases;f(t.length>0?n.getTokenBefore(t[0]):n.getLastToken(e,1))},TSEnumBody:f,TSInterfaceBody:f,TSModuleBlock:f}}}),ad=rE({name:"space-before-function-paren",meta:{type:"layout",docs:{description:"Enforce consistent spacing before function parenthesis"},fixable:"whitespace",schema:[{oneOf:[{type:"string",enum:["always","never"]},{type:"object",properties:{anonymous:{type:"string",enum:["always","never","ignore"]},named:{type:"string",enum:["always","never","ignore"]},asyncArrow:{type:"string",enum:["always","never","ignore"]},catch:{type:"string",enum:["always","never","ignore"]}},additionalProperties:!1}]}],defaultOptions:["always"],messages:{unexpectedSpace:"Unexpected space before function parentheses.",missingSpace:"Missing space before function parentheses."}},create(e,[t]){let n=e.sourceCode,{asyncArrow:r="always",anonymous:i="always",named:s="always",catch:a="always"}="string"==typeof t?{asyncArrow:t,anonymous:t,named:t,catch:t}:t;function o(e){let t,a,o=function(e){if(e.type===e4.AST_NODE_TYPES.ArrowFunctionExpression){if(e.async&&(0,nK.isOpeningParenToken)(n.getFirstToken(e,{skip:1})))return r}else if(function(e){if(null!=e.id)return!0;let t=e.parent;return t.type===e4.AST_NODE_TYPES.MethodDefinition||t.type===e4.AST_NODE_TYPES.TSAbstractMethodDefinition||t.type===e4.AST_NODE_TYPES.Property&&("get"===t.kind||"set"===t.kind||t.method)}(e))return s;else if(!e.generator)return i;return"ignore"}(e);"ignore"===o||("always"!==o||!e.typeParameters||e.id)&&(e.typeParameters?(t=n.getLastToken(e.typeParameters),a=n.getTokenAfter(t)):(a=n.getFirstToken(e,nK.isOpeningParenToken),t=n.getTokenBefore(a)),l(e,t,a,o))}function l(t,r,i,s){let a=n.isSpaceBetween(r,i);a&&"never"===s?e.report({node:t,loc:{start:r.loc.end,end:i.loc.start},messageId:"unexpectedSpace",fix:e=>{let t=n.getCommentsBefore(i);return t.some(e=>"Line"===e.type)?null:e.replaceTextRange([r.range[1],i.range[0]],t.reduce((e,t)=>e+n.getText(t),""))}}):a||"always"!==s||e.report({node:t,loc:i.loc,messageId:"missingSpace",fix:e=>e.insertTextAfter(r," ")})}return{ArrowFunctionExpression:o,FunctionDeclaration:o,FunctionExpression:o,TSEmptyBodyFunctionExpression:o,TSDeclareFunction:o,CatchClause(e){if(!e.param||"ignore"===a)return;let t=n.getFirstToken(e,nK.isOpeningParenToken);l(e,n.getTokenBefore(t),t,a)}}}}),am=rE({name:"space-in-parens",meta:{type:"layout",docs:{description:"Enforce consistent spacing inside parentheses"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]},{type:"object",properties:{exceptions:{type:"array",items:{type:"string",enum:["{}","[]","()","empty"]},uniqueItems:!0}},additionalProperties:!1}],defaultOptions:["never"],messages:{missingOpeningSpace:"There must be a space after this paren.",missingClosingSpace:"There must be a space before this paren.",rejectedOpeningSpace:"There should be no space after this paren.",rejectedClosingSpace:"There should be no space before this paren."}},create(e,[t,{exceptions:n=[]}={}]){let r="always"===t,i={braceException:!1,bracketException:!1,parenException:!1,empty:!1},s={openers:[],closers:[]};n.length&&(i.braceException=n.includes("{}"),i.bracketException=n.includes("[]"),i.parenException=n.includes("()"),i.empty=n.includes("empty"));let a=e.sourceCode;function o(e){return s.openers.includes(e.value)}function l(e){return s.closers.includes(e.value)}return{Program:function(t){let n,p;n=[],p=[],i.braceException&&(n.push("{"),p.push("}")),i.bracketException&&(n.push("["),p.push("]")),i.parenException&&(n.push("("),p.push(")")),i.empty&&(n.push(")"),p.push("(")),s={openers:n,closers:p};let c=a.tokensAndComments;c.forEach((n,s)=>{let p=c[s-1],u=c[s+1];((0,nK.isOpeningParenToken)(n)||(0,nK.isClosingParenToken)(n))&&("("===n.value&&!(a.isSpaceBetween(n,u)||!i.empty&&(0,nK.isClosingParenToken)(u))&&(r?!o(u):o(u))&&e.report({node:t,loc:n.loc,messageId:"missingOpeningSpace",fix:e=>e.insertTextAfter(n," ")}),"("===n.value&&(0,nK.isTokenOnSameLine)(n,u)&&"Line"!==u.type&&a.isSpaceBetween(n,u)&&(r?o(u):!o(u))&&e.report({node:t,loc:{start:n.loc.end,end:u.loc.start},messageId:"rejectedOpeningSpace",fix:e=>e.removeRange([n.range[1],u.range[0]])}),")"===n.value&&!(a.isSpaceBetween(p,n)||!i.empty&&(0,nK.isOpeningParenToken)(p))&&(r?!l(p):l(p))&&e.report({node:t,loc:n.loc,messageId:"missingClosingSpace",fix:e=>e.insertTextBefore(n," ")}),")"===n.value&&(0,nK.isTokenOnSameLine)(p,n)&&a.isSpaceBetween(p,n)&&(r?l(p):!l(p))&&e.report({node:t,loc:{start:p.loc.end,end:n.loc.start},messageId:"rejectedClosingSpace",fix:e=>e.removeRange([p.range[1],n.range[0]])}))})}}}});let ah=["|","&"];var ag=rE({name:"space-infix-ops",meta:{type:"layout",docs:{description:"Require spacing around infix operators"},fixable:"whitespace",schema:[{type:"object",properties:{int32Hint:{type:"boolean"},ignoreTypes:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{int32Hint:!1,ignoreTypes:!1}],messages:{missingSpace:"Operator '{{operator}}' must be spaced."}},create(e,[t]){let{int32Hint:n,ignoreTypes:r}=t,i=e.sourceCode;function s(t,n){e.report({node:t,loc:n.loc,messageId:"missingSpace",data:{operator:n.value},fix(e){let t=i.getTokenBefore(n),r=i.getTokenAfter(n),s="";return n.range[0]-t.range[1]==0&&(s=" "),s+=n.value,r.range[0]-n.range[1]==0&&(s+=" "),e.replaceText(n,s)}})}function a(e){var t;let r,a,o,l="typeAnnotation"in e.left&&e.left.typeAnnotation?e.left.typeAnnotation:e.left,p=e.right,c=(t="operator"in e&&e.operator?e.operator:"=",r=i.getFirstTokenBetween(l,p,e=>e.value===t),a=i.getTokenBefore(r),o=i.getTokenAfter(r),i.isSpaceBetween(a,r)&&i.isSpaceBetween(r,o)?null:r);c&&!(n&&i.getText(e).endsWith("|0"))&&s(e,c)}function o(e){return e.type===e4.AST_TOKEN_TYPES.Punctuator&&/^[=?:]$/.test(e.value)}function l(e,t,n){if(!n||!t)return;let r=i.getFirstTokenBetween(t,n,o),a=i.getTokenBefore(r),l=i.getTokenAfter(r);i.isSpaceBetween(a,r)&&i.isSpaceBetween(r,l)||s(e,r)}function p(e){l(e,e.optional&&!e.typeAnnotation?i.getTokenAfter(e.key):e.typeAnnotation??e.key,e.value)}function c(e){e.types.forEach(t=>{let n=t.type===e4.AST_NODE_TYPES.TSFunctionType?nK.isNotOpeningParenToken:0,a=i.getTokenBefore(t,n);if(!r&&null!=a&&ah.includes(a.value)){let t=i.getTokenBefore(a),n=i.getTokenAfter(a);i.isSpaceBetween(t,a)&&i.isSpaceBetween(a,n)||s(e,a)}})}return{AssignmentExpression:a,AssignmentPattern:a,BinaryExpression:a,LogicalExpression:a,ConditionalExpression(e){l(e,e.test,e.consequent),l(e,e.consequent,e.alternate)},VariableDeclarator(e){l(e,e.id.typeAnnotation??e.id,e.init)},PropertyDefinition:p,AccessorProperty:p,TSEnumMember(e){l(e,e.id,e.initializer)},TSTypeAliasDeclaration(e){l(e,e.typeParameters??e.id,e.typeAnnotation)},TSUnionType:c,TSIntersectionType:c,TSConditionalType(e){l(e,e.extendsType,e.trueType),l(e,e.trueType,e.falseType)}}}}),ay=rE({name:"space-unary-ops",meta:{type:"layout",docs:{description:"Enforce consistent spacing before or after unary operators"},fixable:"whitespace",schema:[{type:"object",properties:{words:{type:"boolean"},nonwords:{type:"boolean"},overrides:{type:"object",additionalProperties:{type:"boolean"}}},additionalProperties:!1}],defaultOptions:[{words:!0,nonwords:!1}],messages:{unexpectedBefore:"Unexpected space before unary operator '{{operator}}'.",unexpectedAfter:"Unexpected space after unary operator '{{operator}}'.",unexpectedAfterWord:"Unexpected space after unary word operator '{{word}}'.",requireAfterWord:"Unary word operator '{{word}}' must be followed by whitespace.",requireAfter:"Unary operator '{{operator}}' must be followed by whitespace.",requireBefore:"Space is required before unary operator '{{operator}}'."}},create(e,[t]){let{words:n,nonwords:r,overrides:i={}}=t,s=e.sourceCode;function a(t,r,s,a){i[a]??n?s.range[0]===r.range[1]&&e.report({node:t,messageId:"requireAfterWord",data:{word:a},fix:e=>e.insertTextAfter(r," ")}):rd(r,s)&&s.range[0]>r.range[1]&&e.report({node:t,messageId:"unexpectedAfterWord",data:{word:a},fix:e=>e.removeRange([r.range[1],s.range[0]])})}function o(t,n,r){if("prefix"in t&&t.prefix)t&&"UnaryExpression"===t.type&&t.argument&&"UnaryExpression"===t.argument.type&&"!"===t.argument.operator||n.range[1]!==r.range[0]||e.report({node:t,messageId:"requireAfter",data:{operator:n.value},fix:e=>e.insertTextAfter(n," ")});else n.range[1]===r.range[0]&&e.report({node:t,messageId:"requireBefore",data:{operator:r.value},fix:e=>e.insertTextBefore(r," ")})}function l(t,n,r){"prefix"in t&&t.prefix?r.range[0]>n.range[1]&&e.report({node:t,messageId:"unexpectedAfter",data:{operator:n.value},fix:e=>rd(n,r)?e.removeRange([n.range[1],r.range[0]]):null}):r.range[0]>n.range[1]&&e.report({node:t,messageId:"unexpectedBefore",data:{operator:r.value},fix:e=>e.removeRange([n.range[1],r.range[0]])})}function p(e){let t="UpdateExpression"!==e.type||e.prefix?s.getFirstTokens(e,2):s.getLastTokens(e,2),n=t[0],p=t[1];("NewExpression"===e.type||e.prefix)&&re(n)?a(e,n,p,n.value):i["prefix"in e&&e.prefix?t[0].value:t[1].value]??r?o(e,n,p):l(e,n,p)}return{UnaryExpression:p,UpdateExpression:p,NewExpression:p,YieldExpression:function(e){let t=s.getFirstTokens(e,3);e.argument&&!e.delegate&&a(e,t[0],t[1],"yield")},AwaitExpression:function(e){let t=s.getFirstTokens(e,3);a(e,t[0],t[1],"await")},TSNonNullExpression:function(e){let t=s.getLastToken(e,e=>"!"===e.value),n=s.getTokenBefore(t);i["ts-non-null"]??i["!"]??r?o(e,n,t):l(e,n,t)}}}});function ax(e){return`(?:${function(e){if("string"!=typeof e)throw TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(e)})`}function aT(e){return`${ax(e)}+`}function aS(e){let t="";return 0===e.length?t+="\\s":(t+="(?:\\s|",1===e.length?t+=aT(e[0]):(t+="(?:",t+=e.map(aT).join("|"),t+=")"),t+=`(?:$|[${Array.from(nz).join("")}]))`),t}var ab=rE({name:"spaced-comment",meta:{type:"layout",docs:{description:"Enforce consistent spacing after the `//` or `/*` in a comment"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]},{type:"object",properties:{exceptions:{type:"array",items:{type:"string"}},markers:{type:"array",items:{type:"string"}},line:{type:"object",properties:{exceptions:{type:"array",items:{type:"string"}},markers:{type:"array",items:{type:"string"}}},additionalProperties:!1},block:{type:"object",properties:{exceptions:{type:"array",items:{type:"string"}},markers:{type:"array",items:{type:"string"}},balanced:{type:"boolean"}},additionalProperties:!1}},additionalProperties:!1}],defaultOptions:["always"],messages:{unexpectedSpaceAfterMarker:"Unexpected space or tab after marker ({{refChar}}) in comment.",expectedExceptionAfter:"Expected exception block, space or tab after '{{refChar}}' in comment.",unexpectedSpaceBefore:"Unexpected space or tab before '*/' in comment.",unexpectedSpaceAfter:"Unexpected space or tab after '{{refChar}}' in comment.",expectedSpaceBefore:"Expected space or tab before '*/' in comment.",expectedSpaceAfter:"Expected space or tab after '{{refChar}}' in comment."}},create(e,[t,n={}]){let r=e.sourceCode,i="never"!==t,s=n.block&&n.block.balanced,a=["block","line"].reduce((e,t)=>{var r;let a,o=(r=n[t]&&n[t]?.markers||n.markers||[]).includes("*")?r:r.concat("*"),l=n[t]&&n[t]?.exceptions||n.exceptions||[];return e[t]={beginRegex:i?(a="^",1===o.length?a+=ax(o[0]):(a+="(?:",a+=o.map(ax).join("|"),a+=")"),a+="?",RegExp(a+=aS(l),"u")):RegExp(`^(${o.map(ax).join("|")})?[ ]+`,"u"),endRegex:s&&i?RegExp(`${aS(l)}$`,"u"):RegExp("[ ]+$","u"),hasExceptions:l.length>0,captureMarker:RegExp(`^(${o.map(ax).join("|")})`,"u"),markers:new Set(o)},e},{});function o(t,n,r,s){let a="block"===t.type.toLowerCase()?"/*":"//";e.report({node:t,fix(e){let n=t.range[0],s=n+2;return i?(r&&(s+=r[0].length),e.insertTextAfterRange([n,s]," ")):(r&&(s+=r[0].length),e.replaceTextRange([n,s],a+(r&&r[1]?r[1]:"")))},messageId:n,data:{refChar:s}})}function l(t,n,r){e.report({node:t,fix(e){if(i)return e.insertTextAfterRange([t.range[0],t.range[1]-2]," ");let n=t.range[1]-2,s=n;return r&&(s-=r[0].length),e.replaceTextRange([s,n],"")},messageId:n})}return{Program(){r.getAllComments().forEach(e=>{rt(e)||function(e){let t=e.type.toLowerCase(),n=a[t],r="block"===t?"/*":"//";if(0===e.value.length||n.markers.has(e.value)||"line"===t&&(e.value.startsWith("/ <reference")||e.value.startsWith("/ <amd")))return;let p=n.beginRegex.exec(e.value),c=n.endRegex.exec(e.value);if(i){if(!p){let t=n.captureMarker.exec(e.value),i=t?r+t[0]:r;n.hasExceptions?o(e,"expectedExceptionAfter",t,i):o(e,"expectedSpaceAfter",t,i)}s&&"block"===t&&!c&&l(e,"expectedSpaceBefore",null)}else p&&(p[1]?o(e,"unexpectedSpaceAfterMarker",p,p[1]):o(e,"unexpectedSpaceAfter",p,r)),s&&"block"===t&&c&&l(e,"unexpectedSpaceBefore",c)}(e)})}}}}),aE=rE({name:"switch-colon-spacing",meta:{type:"layout",docs:{description:"Enforce spacing around colons of switch statements"},fixable:"whitespace",schema:[{type:"object",properties:{before:{type:"boolean"},after:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{before:!1,after:!0}],messages:{expectedBefore:"Expected space(s) before this colon.",expectedAfter:"Expected space(s) after this colon.",unexpectedBefore:"Unexpected space(s) before this colon.",unexpectedAfter:"Unexpected space(s) after this colon."}},create(e,[t]){let n=e.sourceCode,r=!0===t.before,i=!1!==t.after;function s(e,t,r){return(0,nK.isClosingBraceToken)(t)||!(0,nK.isTokenOnSameLine)(e,t)||n.isSpaceBetween(e,t)===r}function a(e,t,r,i){return n.commentsExistBetween(t,r)?null:i?e.insertTextAfter(t," "):e.removeRange([t.range[1],r.range[0]])}return{SwitchCase(t){let o=rs(t,n),l=n.getTokenBefore(o),p=n.getTokenAfter(o);s(l,o,r)||e.report({node:t,loc:o.loc,messageId:r?"expectedBefore":"unexpectedBefore",fix:e=>a(e,l,o,r)}),s(o,p,i)||e.report({node:t,loc:o.loc,messageId:i?"expectedAfter":"unexpectedAfter",fix:e=>a(e,o,p,i)})}}}}),ak=rE({name:"template-curly-spacing",meta:{type:"layout",docs:{description:"Require or disallow spacing around embedded expressions of template strings"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]}],defaultOptions:["never"],messages:{expectedBefore:"Expected space(s) before '}'.",expectedAfter:"Expected space(s) after '${'.",unexpectedBefore:"Unexpected space(s) before '}'.",unexpectedAfter:"Unexpected space(s) after '${'."}},create(e,[t]){let n=e.sourceCode,r="always"===t;return{TemplateElement(t){let i=n.getFirstToken(t);!function(t){if(!t.value.startsWith("}"))return;let i=n.getTokenBefore(t,{includeComments:!0}),s=n.isSpaceBetween(i,t);(0,nK.isTokenOnSameLine)(i,t)&&(r&&!s&&e.report({loc:{start:t.loc.start,end:{line:t.loc.start.line,column:t.loc.start.column+1}},messageId:"expectedBefore",fix:e=>e.insertTextBefore(t," ")}),!r&&s&&e.report({loc:{start:i.loc.end,end:t.loc.start},messageId:"unexpectedBefore",fix:e=>e.removeRange([i.range[1],t.range[0]])}))}(i),function(t){if(!t.value.endsWith("${"))return;let i=n.getTokenAfter(t,{includeComments:!0}),s=n.isSpaceBetween(t,i);(0,nK.isTokenOnSameLine)(t,i)&&(r&&!s&&e.report({loc:{start:{line:t.loc.end.line,column:t.loc.end.column-2},end:t.loc.end},messageId:"expectedAfter",fix:e=>e.insertTextAfter(t," ")}),!r&&s&&e.report({loc:{start:t.loc.end,end:i.loc.start},messageId:"unexpectedAfter",fix:e=>e.removeRange([t.range[1],i.range[0]])}))}(i)}}}}),av=rE({name:"template-tag-spacing",meta:{type:"layout",docs:{description:"Require or disallow spacing between template tags and their literals"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]}],defaultOptions:["never"],messages:{unexpected:"Unexpected space between template tag and template literal.",missing:"Missing space between template tag and template literal."}},create(e,[t]){let n="always"!==t,r=e.sourceCode;return{TaggedTemplateExpression:function(t){let i=r.getTokenBefore(t.quasi),s=r.getFirstToken(t.quasi),a=r.isSpaceBetween(i,s);n&&a?e.report({node:t,loc:{start:i.loc.end,end:s.loc.start},messageId:"unexpected",fix(e){let n=r.getCommentsBefore(t.quasi);return n.some(e=>"Line"===e.type)?null:e.replaceTextRange([i.range[1],s.range[0]],n.reduce((e,t)=>e+r.getText(t),""))}}):n||a||e.report({node:t,loc:{start:t.loc.start,end:s.loc.start},messageId:"missing",fix:e=>e.insertTextAfter(i," ")})}}}}),aw=rE({name:"type-annotation-spacing",meta:{type:"layout",docs:{description:"Require consistent spacing around type annotations"},fixable:"whitespace",schema:[{$defs:{spacingConfig:{type:"object",properties:{before:{type:"boolean"},after:{type:"boolean"}},additionalProperties:!1}},type:"object",properties:{before:{type:"boolean"},after:{type:"boolean"},overrides:{type:"object",properties:{colon:{$ref:"#/items/0/$defs/spacingConfig"},arrow:{oneOf:[{type:"string",enum:["ignore"]},{$ref:"#/items/0/$defs/spacingConfig"}]},variable:{$ref:"#/items/0/$defs/spacingConfig"},parameter:{$ref:"#/items/0/$defs/spacingConfig"},property:{$ref:"#/items/0/$defs/spacingConfig"},returnType:{$ref:"#/items/0/$defs/spacingConfig"}},additionalProperties:!1}},additionalProperties:!1}],defaultOptions:[{}],messages:{expectedSpaceAfter:"Expected a space after the '{{type}}'.",expectedSpaceBefore:"Expected a space before the '{{type}}'.",unexpectedSpaceAfter:"Unexpected space after the '{{type}}'.",unexpectedSpaceBefore:"Unexpected space before the '{{type}}'.",unexpectedSpaceBetween:"Unexpected space between the '{{previousToken}}' and the '{{type}}'."}},create(e,[t]){let n,r,i,s,a=[":","=>"],o=e.sourceCode,l=(n={...t?.before!==void 0?{before:t.before}:{},...t?.after!==void 0?{after:t.after}:{}},r=t?.overrides??{},i={before:!1,after:!0,...n,...r?.colon},s="string"==typeof r.arrow?r.arrow:{before:!0,after:!0,...n,...r?.arrow},Object.hasOwn(r,"arrow")&&"ignore"!==r.arrow&&nU('options("overrides.arrow")','"arrow-spacing"',"type-annotation-spacing"),{colon:i,arrow:s,variable:{...i,...r?.variable},property:{...i,...r?.property},parameter:{...i,...r?.parameter},returnType:{...i,...r?.returnType}});function p(t){let n=o.getTokenBefore(t,nK.isNotOpeningParenToken),r=n,i=o.getTokenBefore(n),s=n.value;if(!a.includes(s))return;let p=function(e,t){let n=t?.parent?.parent;if((0,nK.isTSFunctionType)(n)||(0,nK.isTSConstructorType)(n))return e.arrow;if((0,nK.isIdentifier)(n)){let t;return t=n?.parent,(0,nK.isVariableDeclarator)(t)?e.variable:(0,nK.isFunctionOrFunctionType)(t)?e.parameter:e.colon}return(0,nK.isClassOrTypeElement)(n)?e.property:(0,nK.isFunction)(n)?e.returnType:e.colon}(l,t);if("ignore"===p)return;let{before:c,after:u}=p;":"===s&&"?"===i.value&&(o.isSpaceBetween(i,r)&&e.report({node:r,messageId:"unexpectedSpaceBetween",data:{type:s,previousToken:i.value},fix:e=>e.removeRange([i.range[1],r.range[0]])}),s="?:",r=i,("+"===(i=o.getTokenBefore(i)).value||"-"===i.value)&&(s=`${i.value}?:`,r=i,i=o.getTokenBefore(i)));let f=o.isSpaceBetween(n,t);u&&!f?e.report({node:n,messageId:"expectedSpaceAfter",data:{type:s},fix:e=>e.insertTextAfter(n," ")}):!u&&f&&e.report({node:n,messageId:"unexpectedSpaceAfter",data:{type:s},fix:e=>e.removeRange([n.range[1],t.range[0]])});let d=o.isSpaceBetween(i,r);c&&!d?e.report({node:r,messageId:"expectedSpaceBefore",data:{type:s},fix:e=>e.insertTextAfter(i," ")}):!c&&d&&e.report({node:r,messageId:"unexpectedSpaceBefore",data:{type:s},fix:e=>e.removeRange([i.range[1],r.range[0]])})}return{TSMappedType(e){e.typeAnnotation&&p(e.typeAnnotation)},TSTypeAnnotation(e){p(e.typeAnnotation)}}}});let aA=new Set(["TSCallSignatureDeclaration","ArrowFunctionExpression","TSFunctionType","TSConstructorType","FunctionExpression","ClassExpression"]);var aC=rE({name:"type-generic-spacing",meta:{type:"layout",docs:{description:"Enforces consistent spacing inside TypeScript type generics"},fixable:"whitespace",schema:[],messages:{genericSpacingMismatch:"Generic spaces mismatch"}},create:e=>{let t=e.sourceCode;function n(n,r){let i=t.text.slice(n.range[1],r.range[0]);/\s/.test(i)&&!/^[\r\n]/.test(i)&&e.report({loc:{start:n.loc.end,end:r.loc.start},messageId:"genericSpacingMismatch",*fix(e){yield e.replaceTextRange([n.range[1],r.range[0]],"")}})}function r(e,r){if(e){let r=t.getTokenAfter(e);r&&n(e,r)}if(r){let e=t.getTokenBefore(r);e&&n(e,r)}}return{TSTypeParameterInstantiation:e=>{let n=e.params;0!==n.length&&r(t.getTokenBefore(n[0]),t.getTokenAfter(n[n.length-1]))},TSTypeParameterDeclaration:n=>{if(!aA.has(n.parent.type)){let r=t.text.slice(0,n.range[0]).match(/(\s+)$/)?.[0];r&&r.length&&e.report({node:n,messageId:"genericSpacingMismatch",*fix(e){yield e.replaceTextRange([n.range[0]-r.length,n.range[0]],"")}})}let i=n.params;0!==i.length&&r(t.getTokenBefore(i[0]),t.getTokenAfter(i[i.length-1]))},TSTypeParameter:n=>{if(!n.default)return;let r=n.constraint||n.name,i=r.range[1],s=n.default.range[0],a=t.text.slice(i,s);a.match(/(?:^|[^ ]) = (?:$|[^ ])/)||e.report({*fix(e){yield e.replaceTextRange([i,s],a.replace(/\s*=\s*/," = "))},loc:{start:r.loc.end,end:n.default.loc.start},messageId:"genericSpacingMismatch",node:n})}}}});let a_=/^([\w$]+)(\s*)(\?\s*)?:(\s*)(.*)$/,aO={meta:{name:"@stylistic/eslint-plugin",version:"5.10.0",namespace:"@stylistic"},rules:{"array-bracket-newline":rL,"array-bracket-spacing":rB,"array-element-newline":rD,"arrow-parens":rj,"arrow-spacing":rR,"block-spacing":rF,"brace-style":rM,"comma-dangle":rV,"comma-spacing":rq,"comma-style":rY,"computed-property-spacing":rX,"curly-newline":rQ,"dot-location":rZ,"eol-last":r0,"function-call-argument-newline":r1,"function-call-spacing":r2,"function-paren-newline":r3,"generator-star-spacing":r6,"implicit-arrow-linebreak":r5,indent:ii,"indent-binary-ops":r9,"jsx-child-element-spacing":ia,"jsx-closing-bracket-location":io,"jsx-closing-tag-location":ip,"jsx-curly-brace-presence":iu,"jsx-curly-newline":id,"jsx-curly-spacing":ix,"jsx-equals-spacing":iT,"jsx-first-prop-new-line":iS,"jsx-function-call-newline":ib,"jsx-indent":ik,"jsx-indent-props":iE,"jsx-max-props-per-line":iv,"jsx-newline":iw,"jsx-one-expression-per-line":iA,"jsx-pascal-case":iL,"jsx-props-no-multi-spaces":iB,"exp-jsx-props-style":iD,"jsx-quotes":iR,"jsx-self-closing-comp":iF,"jsx-sort-props":iJ,"jsx-tag-spacing":iH,"jsx-wrap-multilines":iz,"key-spacing":iQ,"keyword-spacing":i5,"line-comment-position":i9,"linebreak-style":i8,"lines-around-comment":sn,"lines-between-class-members":si,"exp-list-style":ss,"max-len":sl,"max-statements-per-line":sc,"member-delimiter-style":sf,"multiline-comment-style":sd,"multiline-ternary":sm,"new-parens":sh,"newline-per-chained-call":sg,"no-confusing-arrow":sy,"no-extra-parens":sT,"no-extra-semi":sS,"no-floating-decimal":sb,"no-mixed-operators":sP,"no-mixed-spaces-and-tabs":sI,"no-multi-spaces":sN,"no-multiple-empty-lines":sL,"no-tabs":sj,"no-trailing-spaces":sR,"no-whitespace-before-property":sF,"nonblock-statement-body-position":s$,"object-curly-newline":sq,"object-curly-spacing":sY,"object-property-newline":sX,"one-var-declaration-per-line":sJ,"operator-linebreak":sU,"padded-blocks":sK,"padding-line-between-statements":at,"quote-props":an,quotes:ao,"rest-spread-spacing":al,semi:au,"semi-spacing":ap,"semi-style":ac,"space-before-blocks":af,"space-before-function-paren":ad,"space-in-parens":am,"space-infix-ops":ag,"space-unary-ops":ay,"spaced-comment":ab,"switch-colon-spacing":aE,"template-curly-spacing":ak,"template-tag-spacing":av,"type-annotation-spacing":aw,"type-generic-spacing":aC,"type-named-tuple-spacing":rE({name:"type-named-tuple-spacing",meta:{type:"layout",docs:{description:"Expect space before the type declaration in the named tuple"},fixable:"whitespace",schema:[],messages:{expectedSpaceAfter:"Expected a space after the ':'.",unexpectedSpaceBetween:"Unexpected space between '?' and the ':'.",unexpectedSpaceBefore:"Unexpected space before the ':'."}},create:e=>{let t=e.sourceCode;return{TSNamedTupleMember(n){let r=t.text.slice(n.range[0],n.range[1]),i=r.match(a_);if(!i)return;let s=n.label.name,a=i[2],o=i[3],l=i[4],p=i[5];function c(){let e=s;return n.optional&&(e+="?"),e+=": ",e+=p}o?.length>1&&e.report({node:n,messageId:"unexpectedSpaceBetween",*fix(e){yield e.replaceTextRange(n.range,r.replace(a_,c()))}}),a?.length&&e.report({node:n,messageId:"unexpectedSpaceBefore",*fix(e){yield e.replaceTextRange(n.range,r.replace(a_,c()))}}),null!=l&&1!==l.length&&e.report({node:n,messageId:"expectedSpaceAfter",*fix(e){yield e.replaceTextRange(n.range,r.replace(a_,c()))}})}}}}),"wrap-iife":rE({name:"wrap-iife",meta:{type:"layout",docs:{description:"Require parentheses around immediate `function` invocations"},fixable:"code",schema:[{type:"string",enum:["outside","inside","any"]},{type:"object",properties:{functionPrototypeMethods:{type:"boolean"}},additionalProperties:!1}],defaultOptions:["outside",{functionPrototypeMethods:!1}],messages:{wrapInvocation:"Wrap an immediate function invocation in parentheses.",wrapExpression:"Wrap only the function expression in parens.",moveInvocation:"Move the invocation into the parens that contain the function."}},create(e,[t,n]){let r=n.functionPrototypeMethods,i=e.sourceCode;return{CallExpression(n){let s,a="FunctionExpression"===(s=n5(n.callee)).type?s:r&&"MemberExpression"===s.type&&"FunctionExpression"===s.object.type&&("call"===n6(s)||"apply"===n6(s))?s.object:null;if(!a)return;let o=n9(i,n),l=n9(i,a);o||l?"inside"!==t||l?"outside"!==t||o||e.report({node:n,messageId:"moveInvocation",fix(e){let t=i.getTokenAfter(a);return e.replaceTextRange([t.range[0],n.range[1]],`${i.getText().slice(t.range[1],n.range[1])})`)}}):e.report({node:n,messageId:"wrapExpression",fix(e){let t;if((0,nK.isParenthesized)(n,i)&&(t=n.parent?.type==="ChainExpression"?n.parent:n,t.parent?.type!=="NewExpression"||t.parent.callee!==t)){let t=i.getTokenAfter(n);return e.replaceTextRange([a.range[1],t.range[1]],`)${i.getText().slice(a.range[1],t.range[0])}`)}return e.replaceText(a,`(${i.getText(a)})`)}}):e.report({node:n,messageId:"wrapInvocation",fix(e){let r="inside"===t?a:n;return e.replaceText(r,`(${i.getText(r)})`)}})}}}}),"wrap-regex":rE({name:"wrap-regex",meta:{type:"layout",docs:{description:"Require parenthesis around regex literals"},fixable:"code",schema:[],messages:{requireParens:"Wrap the regexp literal in parens to disambiguate the slash."}},create(e){let t=e.sourceCode;return{Literal(n){if("RegularExpression"===t.getFirstToken(n).type){let r=t.getTokenBefore(n),i=t.getTokenAfter(n),{parent:s}=n;"MemberExpression"!==s.type||s.object!==n||r&&"("===r.value&&i&&")"===i.value||e.report({node:n,messageId:"requireParens",fix:e=>e.replaceText(n,`(${t.getText(n)})`)})}}}}}),"yield-star-spacing":rE({name:"yield-star-spacing",meta:{type:"layout",docs:{description:"Require or disallow spacing around the `*` in `yield*` expressions"},fixable:"whitespace",schema:[{oneOf:[{type:"string",enum:["before","after","both","neither"]},{type:"object",properties:{before:{type:"boolean"},after:{type:"boolean"}},additionalProperties:!1}]}],defaultOptions:["after"],messages:{missingBefore:"Missing space before *.",missingAfter:"Missing space after *.",unexpectedBefore:"Unexpected space before *.",unexpectedAfter:"Unexpected space after *."}},create(e,[t]){let n=e.sourceCode,r="string"==typeof t?({before:{before:!0,after:!1},after:{before:!1,after:!0},both:{before:!0,after:!0},neither:{before:!1,after:!1}})[t]:t;function i(t,i,s){if(n.isSpaceBetween(i,s)!==r[t]){let n="*"===i.value,a=r[t],o=n?i:s;e.report({node:o,messageId:a?"before"===t?"missingBefore":"missingAfter":"before"===t?"unexpectedBefore":"unexpectedAfter",fix:e=>a?n?e.insertTextAfter(o," "):e.insertTextBefore(o," "):e.removeRange([i.range[1],s.range[0]])})}}return{YieldExpression:function(e){if(!("delegate"in e&&e.delegate))return;let t=n.getFirstTokens(e,3),r=t[0],s=t[1],a=t[2];i("before",r,s),i("after",s,a)}}}})}};function aP(e={}){let t=aO.meta.namespace,{arrowParens:n=!1,blockSpacing:r=!0,braceStyle:i="stroustrup",commaDangle:s="always-multiline",experimental:a=!1,indent:o=2,jsx:l=!0,pluginName:p=t,quoteProps:c="consistent-as-needed",quotes:u="single",semi:f=!1,severity:d="error"}=e,[m=2,h={ArrayExpression:1,CallExpression:{arguments:1},flatTernaryExpressions:!1,FunctionDeclaration:{body:1,parameters:1,returnType:1},FunctionExpression:{body:1,parameters:1,returnType:1},ignoreComments:!1,ignoredNodes:["TSUnionType","TSIntersectionType"],ImportDeclaration:1,MemberExpression:1,ObjectExpression:1,offsetTernaryExpressions:!0,outerIIFEBody:1,SwitchCase:1,tabLength:"tab"===m?4:m,VariableDeclarator:1}]=Array.isArray(o)?o:[o],g={"@stylistic/array-bracket-spacing":[d,"never"],"@stylistic/arrow-parens":[d,n?"always":"as-needed",{requireForBlockBody:!0}],"@stylistic/arrow-spacing":[d,{after:!0,before:!0}],"@stylistic/block-spacing":[d,r?"always":"never"],"@stylistic/brace-style":[d,i,{allowSingleLine:!0}],"@stylistic/comma-dangle":[d,s],"@stylistic/comma-spacing":[d,{after:!0,before:!1}],"@stylistic/comma-style":[d,"last"],"@stylistic/computed-property-spacing":[d,"never",{enforceForClassMembers:!0}],"@stylistic/dot-location":[d,"property"],"@stylistic/eol-last":d,"@stylistic/generator-star-spacing":[d,{after:!0,before:!1}],"@stylistic/indent":[d,m,h],"@stylistic/indent-binary-ops":[d,m],"@stylistic/key-spacing":[d,{afterColon:!0,beforeColon:!1}],"@stylistic/keyword-spacing":[d,{after:!0,before:!0}],"@stylistic/lines-between-class-members":[d,"always",{exceptAfterSingleLine:!0}],"@stylistic/max-statements-per-line":[d,{max:1}],"@stylistic/member-delimiter-style":[d,{multiline:{delimiter:f?"semi":"none",requireLast:f},multilineDetection:"brackets",overrides:{interface:{multiline:{delimiter:f?"semi":"none",requireLast:f}}},singleline:{delimiter:f?"semi":"comma"}}],"@stylistic/multiline-ternary":[d,"always-multiline"],"@stylistic/new-parens":d,"@stylistic/no-extra-parens":[d,"functions"],"@stylistic/no-floating-decimal":d,"@stylistic/no-mixed-operators":[d,{allowSamePrecedence:!0,groups:[["==","!=","===","!==",">",">=","<","<="],["&&","||"],["in","instanceof"]]}],"@stylistic/no-mixed-spaces-and-tabs":d,"@stylistic/no-multi-spaces":d,"@stylistic/no-multiple-empty-lines":[d,{max:1,maxBOF:0,maxEOF:0}],"@stylistic/no-tabs":"tab"===m?"off":d,"@stylistic/no-trailing-spaces":d,"@stylistic/no-whitespace-before-property":d,"@stylistic/object-curly-spacing":[d,"always"],"@stylistic/operator-linebreak":[d,"before"],"@stylistic/padded-blocks":[d,{blocks:"never",classes:"never",switches:"never"}],"@stylistic/quote-props":[d,c],"@stylistic/quotes":[d,u,{allowTemplateLiterals:"always",avoidEscape:!1}],"@stylistic/rest-spread-spacing":[d,"never"],"@stylistic/semi":[d,f?"always":"never"],"@stylistic/semi-spacing":[d,{after:!0,before:!1}],"@stylistic/space-before-blocks":[d,"always"],"@stylistic/space-before-function-paren":[d,{anonymous:"always",asyncArrow:"always",named:"never"}],"@stylistic/space-in-parens":[d,"never"],"@stylistic/space-infix-ops":d,"@stylistic/space-unary-ops":[d,{nonwords:!1,words:!0}],"@stylistic/spaced-comment":[d,"always",{block:{balanced:!0,exceptions:["*"],markers:["!"]},line:{exceptions:["/","#"],markers:["/"]}}],"@stylistic/template-curly-spacing":d,"@stylistic/template-tag-spacing":[d,"never"],"@stylistic/type-annotation-spacing":[d,{}],"@stylistic/type-generic-spacing":d,"@stylistic/type-named-tuple-spacing":d,"@stylistic/wrap-iife":[d,"any",{functionPrototypeMethods:!0}],"@stylistic/yield-star-spacing":[d,{after:!0,before:!1}],...l?{"@stylistic/jsx-closing-bracket-location":d,"@stylistic/jsx-closing-tag-location":d,"@stylistic/jsx-curly-brace-presence":[d,{propElementValues:"always"}],"@stylistic/jsx-curly-newline":d,"@stylistic/jsx-curly-spacing":[d,"never"],"@stylistic/jsx-equals-spacing":d,"@stylistic/jsx-first-prop-new-line":d,"@stylistic/jsx-function-call-newline":[d,"multiline"],"@stylistic/jsx-indent-props":[d,m],"@stylistic/jsx-max-props-per-line":[d,{maximum:1,when:"multiline"}],"@stylistic/jsx-one-expression-per-line":[d,{allow:"single-child"}],"@stylistic/jsx-quotes":d,"@stylistic/jsx-tag-spacing":[d,{afterOpening:"never",beforeClosing:"never",beforeSelfClosing:"always",closingSlash:"never"}],"@stylistic/jsx-wrap-multilines":[d,{arrow:"parens-new-line",assignment:"parens-new-line",condition:"parens-new-line",declaration:"parens-new-line",logical:"parens-new-line",prop:"parens-new-line",propertyValue:"parens-new-line",return:"parens-new-line"}]}:{}};if(a&&(g={...g,"@stylistic/array-bracket-newline":"off","@stylistic/array-bracket-spacing":"off","@stylistic/array-element-newline":"off","@stylistic/exp-list-style":d,"@stylistic/function-call-argument-newline":"off","@stylistic/function-paren-newline":"off","@stylistic/object-curly-newline":"off","@stylistic/object-curly-spacing":"off","@stylistic/object-property-newline":"off",...l?{"@stylistic/exp-jsx-props-style":d,"@stylistic/jsx-first-prop-new-line":"off","@stylistic/jsx-function-call-newline":"off","@stylistic/jsx-max-props-per-line":"off"}:{}}),p!==t){let e=RegExp(`^${t}/`);g=Object.fromEntries(Object.entries(g).map(([t,n])=>[t.replace(e,`${p}/`),n]))}return{plugins:{[p]:aO},rules:g}}let aI=[/^jsx-/,/^curly-newline$/],aN=(i="@stylistic",s=e=>!aI.some(t=>t.test(e)),n=Object.fromEntries(Object.entries(aO.rules).filter(([e,t])=>t.meta.fixable&&!t.meta.deprecated&&!t.meta.experimental&&e===t.meta.docs.url.split("/").pop()&&(!s||s(e,t))).map(([e])=>[`${i}/${e}`,2])),{plugins:{[i]:aO},rules:n}),aL=aP(),aB=Object.assign(aO,{configs:new Proxy({"disable-legacy":{rules:{"array-bracket-newline":0,"array-bracket-spacing":0,"array-element-newline":0,"arrow-parens":0,"arrow-spacing":0,"block-spacing":0,"brace-style":0,"comma-dangle":0,"comma-spacing":0,"comma-style":0,"computed-property-spacing":0,"dot-location":0,"eol-last":0,"func-call-spacing":0,"function-call-argument-newline":0,"function-paren-newline":0,"generator-star-spacing":0,"implicit-arrow-linebreak":0,indent:0,"jsx-quotes":0,"key-spacing":0,"keyword-spacing":0,"linebreak-style":0,"lines-around-comment":0,"lines-between-class-members":0,"max-len":0,"max-statements-per-line":0,"multiline-ternary":0,"multiline-comment-style":0,"new-parens":0,"newline-per-chained-call":0,"no-confusing-arrow":0,"no-extra-parens":0,"no-extra-semi":0,"no-floating-decimal":0,"no-mixed-operators":0,"no-mixed-spaces-and-tabs":0,"no-multi-spaces":0,"no-multiple-empty-lines":0,"no-tabs":0,"no-trailing-spaces":0,"no-whitespace-before-property":0,"nonblock-statement-body-position":0,"object-curly-newline":0,"object-curly-spacing":0,"object-property-newline":0,"one-var-declaration-per-line":0,"operator-linebreak":0,"padded-blocks":0,"padding-line-between-statements":0,"quote-props":0,quotes:0,"rest-spread-spacing":0,semi:0,"semi-spacing":0,"semi-style":0,"space-before-blocks":0,"space-before-function-paren":0,"space-in-parens":0,"space-infix-ops":0,"space-unary-ops":0,"spaced-comment":0,"switch-colon-spacing":0,"template-curly-spacing":0,"template-tag-spacing":0,"wrap-iife":0,"wrap-regex":0,"yield-star-spacing":0,"@typescript-eslint/block-spacing":0,"@typescript-eslint/brace-style":0,"@typescript-eslint/comma-dangle":0,"@typescript-eslint/comma-spacing":0,"@typescript-eslint/func-call-spacing":0,"@typescript-eslint/indent":0,"@typescript-eslint/key-spacing":0,"@typescript-eslint/keyword-spacing":0,"@typescript-eslint/lines-around-comment":0,"@typescript-eslint/lines-between-class-members":0,"@typescript-eslint/member-delimiter-style":0,"@typescript-eslint/no-extra-parens":0,"@typescript-eslint/no-extra-semi":0,"@typescript-eslint/object-curly-spacing":0,"@typescript-eslint/padding-line-between-statements":0,"@typescript-eslint/quotes":0,"@typescript-eslint/semi":0,"@typescript-eslint/space-before-blocks":0,"@typescript-eslint/space-before-function-paren":0,"@typescript-eslint/space-infix-ops":0,"@typescript-eslint/type-annotation-spacing":0,"react/jsx-child-element-spacing":0,"react/jsx-closing-bracket-location":0,"react/jsx-closing-tag-location":0,"react/jsx-curly-brace-presence":0,"react/jsx-curly-newline":0,"react/jsx-curly-spacing":0,"react/jsx-equals-spacing":0,"react/jsx-first-prop-new-line":0,"react/jsx-indent":0,"react/jsx-indent-props":0,"react/jsx-max-props-per-line":0,"react/jsx-newline":0,"react/jsx-one-expression-per-line":0,"react/jsx-pascal-case":0,"react/jsx-props-no-multi-spaces":0,"react/self-closing-comp":0,"react/jsx-sort-props":0,"react/jsx-tag-spacing":0,"react/jsx-wrap-multilines":0}},customize:aP,recommended:aL,"recommended-flat":aL,all:aN,"all-flat":aN},{get(e,t,n){let r=t.toString();return r.endsWith("-flat")&&nU(`config("${r}")`,`"${r.replace("-flat","")}"`),Reflect.get(e,t,n)}})});exports.stylistic_eslint_plugin=aB;
23
+ ${u(n)}`))})},"bare-block":function(t){if(l(t)||p(t))return;let[n]=t,r=c(t);"Line"===n.type&&r.length>1&&!r.some(e=>e.includes("*/"))&&e.report({loc:{start:n.loc.start,end:t.at(-1).loc.end},messageId:"expectedBlock",fix:e=>e.replaceTextRange([n.range[0],t.at(-1).range[1]],f(n,r))}),o(t)&&e.report({loc:{start:n.loc.start,end:{line:n.loc.start.line,column:n.loc.start.column+2}},messageId:"expectedBareBlock",fix:e=>e.replaceText(n,f(n,r))})}};return{Program:()=>s.getAllComments().filter(e=>{if(rt(e)||nH.test(e.value))return!1;let t=s.getTokenBefore(e,{includeComments:!0});return!t||t.loc.end.line<e.loc.start.line}).reduce((e,t,n,r)=>{let i=s.getTokenBefore(t,{includeComments:!0});return"Line"===t.type&&n&&"Line"===r[n-1].type&&i&&i.loc.end.line===t.loc.start.line-1&&i===r[n-1]?e.at(-1).push(t):e.push([t]),e},[]).forEach(e=>{1===e.length&&rT(e[0])||(0,d[t])(e)})}}}),sm=rE({name:"multiline-ternary",meta:{type:"layout",docs:{description:"Enforce newlines between operands of ternary expressions"},fixable:"whitespace",schema:[{type:"string",enum:["always","always-multiline","never"]},{type:"object",properties:{ignoreJSX:{type:"boolean"}},additionalProperties:!1}],defaultOptions:["always"],messages:{expectedTestCons:"Expected newline between test and consequent of ternary expression.",expectedConsAlt:"Expected newline between consequent and alternate of ternary expression.",unexpectedTestCons:"Unexpected newline between test and consequent of ternary expression.",unexpectedConsAlt:"Unexpected newline between consequent and alternate of ternary expression."}},create(e,[t,n={}]){let r="never"!==t,i="always-multiline"===t,{ignoreJSX:s}=n,a=e.sourceCode;return{ConditionalExpression(t){let n=a.getTokenAfter(t.test,nK.isNotClosingParenToken),o=a.getTokenAfter(t.consequent,nK.isNotClosingParenToken),l=a.getFirstToken(t),p=a.getTokenBefore(n),c=a.getTokenAfter(n),u=a.getTokenBefore(o),f=a.getTokenAfter(o),d=(0,nK.isTokenOnSameLine)(p,c),m=(0,nK.isTokenOnSameLine)(u,f),h=!!a.getCommentsInside(t).length;if(s&&("JSXElement"===t.parent.type||"JSXFragment"===t.parent.type||"JSXExpressionContainer"===t.parent.type))return null;if(r){if(i&&rT(t))return;d&&e.report({node:t.test,loc:{start:l.loc.start,end:p.loc.end},messageId:"expectedTestCons",fix:e=>h?null:e.replaceTextRange([p.range[1],n.range[0]],"\n")}),m&&e.report({node:t.consequent,loc:{start:c.loc.start,end:u.loc.end},messageId:"expectedConsAlt",fix:e=>h?null:e.replaceTextRange([u.range[1],o.range[0]],"\n")})}else d||e.report({node:t.test,loc:{start:l.loc.start,end:p.loc.end},messageId:"unexpectedTestCons",fix(e){if(h)return null;let t=[],r=(0,nK.isTokenOnSameLine)(p,n),i=(0,nK.isTokenOnSameLine)(n,c);return r||t.push(e.removeRange([p.range[1],n.range[0]])),i||t.push(e.removeRange([n.range[1],c.range[0]])),t}}),m||e.report({node:t.consequent,loc:{start:c.loc.start,end:u.loc.end},messageId:"unexpectedConsAlt",fix(e){if(h)return null;let t=[],n=(0,nK.isTokenOnSameLine)(u,o),r=(0,nK.isTokenOnSameLine)(o,f);return n||t.push(e.removeRange([u.range[1],o.range[0]])),r||t.push(e.removeRange([o.range[1],f.range[0]])),t}})}}}}),sh=rE({name:"new-parens",meta:{type:"layout",docs:{description:"Enforce or disallow parentheses when invoking a constructor with no arguments"},fixable:"code",schema:[{type:"string",enum:["always","never"]}],defaultOptions:["always"],messages:{missing:"Missing '()' invoking a constructor.",unnecessary:"Unnecessary '()' invoking a constructor with no arguments."}},create(e,[t]){let n="never"!==t,r=e.sourceCode;return{NewExpression(t){if(0!==t.arguments.length)return;let i=r.getLastToken(t),s=i&&(0,nK.isClosingParenToken)(i),a=r.getTokenBefore(i),o=s&&(0,nK.isOpeningParenToken)(a)&&t.callee.range[1]<t.range[1];n?o||e.report({node:t,messageId:"missing",fix:e=>e.insertTextAfter(t,"()")}):o&&e.report({node:t,messageId:"unnecessary",fix:e=>[e.remove(a),e.remove(i),e.insertTextBefore(t,"("),e.insertTextAfter(t,")")]})}}}}),sg=rE({name:"newline-per-chained-call",meta:{type:"layout",docs:{description:"Require a newline after each call in a method chain"},fixable:"whitespace",schema:[{type:"object",properties:{ignoreChainWithDepth:{type:"integer",minimum:1,maximum:10}},additionalProperties:!1}],defaultOptions:[{ignoreChainWithDepth:2}],messages:{expected:"Expected line break before `{{callee}}`."}},create(e,[t]){let{ignoreChainWithDepth:n}=t,r=e.sourceCode;return{"CallExpression:exit":function(t){let i=n5(t.callee);if("MemberExpression"!==i.type)return;let s=n5(i.object),a=1;for(;s&&"callee"in s&&s.callee;){a+=1;let e=n5(s.callee);if(!("object"in e))break;s=n5(e.object)}if(a>n&&(0,nK.isTokenOnSameLine)(i.object,i.property)){var o;let t,n,s,a=r.getTokenAfter(i.object,nK.isNotClosingParenToken);e.report({node:i.property,loc:{start:a.loc.start,end:i.loc.end},messageId:"expected",data:{callee:(t=(o=i).computed?o.optional?"?.[":"[":o.optional?"?.":".",n=r.getText(i.property).split(nK.LINEBREAK_MATCHER),s=i.computed&&1===n.length?"]":"",t+n[0]+s)},fix:e=>e.insertTextBefore(a,"\n")})}}}}}),sy=rE({name:"no-confusing-arrow",meta:{type:"layout",docs:{description:"Disallow arrow functions where they could be confused with comparisons"},fixable:"code",schema:[{type:"object",properties:{allowParens:{type:"boolean"},onlyOneSimpleParam:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{allowParens:!0,onlyOneSimpleParam:!1}],messages:{confusing:"Arrow function used ambiguously with a conditional expression."}},create(e,[t]){let{allowParens:n,onlyOneSimpleParam:r}=t,i=e.sourceCode;return{ArrowFunctionExpression:function(t){let s=t.body;"ConditionalExpression"!==s.type||n&&n9(i,s)||r&&(1!==t.params.length||"Identifier"!==t.params[0].type)||e.report({node:t,messageId:"confusing",fix:e=>n?e.replaceText(t.body,`(${i.getText(t.body)})`):null})}}}});let sx=(0,nK.isNodeOfTypes)([e4.AST_NODE_TYPES.TSAsExpression,e4.AST_NODE_TYPES.TSNonNullExpression,e4.AST_NODE_TYPES.TSSatisfiesExpression,e4.AST_NODE_TYPES.TSTypeAssertion]);var sT=rE({name:"no-extra-parens",meta:{type:"layout",docs:{description:"Disallow unnecessary parentheses"},fixable:"code",schema:{anyOf:[{type:"array",items:[{type:"string",enum:["functions"]}],minItems:0,maxItems:1},{type:"array",items:[{type:"string",enum:["all"]},{type:"object",properties:{conditionalAssign:{type:"boolean"},ternaryOperandBinaryExpressions:{type:"boolean"},nestedBinaryExpressions:{type:"boolean"},returnAssign:{type:"boolean"},ignoreJSX:{type:"string",enum:["none","all","single-line","multi-line"]},enforceForArrowConditionals:{type:"boolean"},enforceForSequenceExpressions:{type:"boolean"},enforceForNewInMemberExpressions:{type:"boolean"},enforceForFunctionPrototypeMethods:{type:"boolean"},allowParensAfterCommentPattern:{type:"string"},nestedConditionalExpressions:{type:"boolean"},allowNodesInSpreadElement:{type:"object",properties:{ConditionalExpression:{type:"boolean"},LogicalExpression:{type:"boolean"},AwaitExpression:{type:"boolean"}},additionalProperties:!1},ignoredNodes:{type:"array",items:{type:"string",not:{type:"string",pattern:":exit$"}}}},additionalProperties:!1}],minItems:0,maxItems:2}]},defaultOptions:["all"],messages:{unexpected:"Unnecessary parentheses around expression."}},create(e,[t,n]){let r,i=e.sourceCode,s=new WeakSet,a="functions"!==t,o=a&&n?.conditionalAssign===!1,l=a&&n?.ternaryOperandBinaryExpressions===!1,p=a&&n?.nestedBinaryExpressions===!1,c=a&&n?.returnAssign===!1,u=a&&n?.ignoreJSX,f=a&&n?.enforceForArrowConditionals===!1,d=a&&n?.enforceForSequenceExpressions===!1,m=a&&n?.enforceForNewInMemberExpressions===!1,h=a&&n?.enforceForFunctionPrototypeMethods===!1,g=a&&n?.allowParensAfterCommentPattern,y=a&&n?.nestedConditionalExpressions===!1,x=a&&n&&new Set(Object.entries(n.allowNodesInSpreadElement||{}).filter(([e,t])=>t).map(([e])=>e));nW(n,["enforceForArrowConditionals","enforceForNewInMemberExpressions","allowNodesInSpreadElement"],"ignoredNodes","no-extra-parens");let T=rc({type:"AssignmentExpression"}),S=rc({type:"UpdateExpression"});function b(e){let t=n5(e);if("CallExpression"!==t.type)return!1;let n=n5(t.callee);return"MemberExpression"===n.type&&"FunctionExpression"===n.object.type&&["call","apply"].includes(n6(n))}function E(e){if("JSXElement"===e.type||"JSXFragment"===e.type)switch(u){case"all":return!1;case"multi-line":return rT(e);case"single-line":return!rT(e)}return!("SequenceExpression"===e.type&&d||b(e)&&h)&&(a||"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type)}function k(e){return(0,nK.isParenthesized)(1,e,i)}function v(e){return(0,nK.isParenthesized)(2,e,i)}function w(e){return E(e)&&k(e)}function A(e){return E(e)&&v(e)}function C(e,t){return!!(E(e)&&k(e)&&(rc(e)>=t||v(e)))}function _(e){return o&&e.test&&"AssignmentExpression"===e.test.type}function O(e){let t=i.getLastToken(e),n=i.getTokenBefore(t);return e.arguments.length>0||(0,nK.isOpeningParenToken)(n)&&(0,nK.isClosingParenToken)(t)&&e.callee.range[1]<e.range[1]}function P(e){let t=e.object,n=e.object.type;for(;"MemberExpression"===n&&"object"in t;)n=(t=t.object).type;return"CallExpression"===n}function I(e){return"AssignmentExpression"===e.type||"ConditionalExpression"===e.type&&("AssignmentExpression"===e.consequent.type||"AssignmentExpression"===e.alternate.type)||"left"in e&&(!!e.left&&"AssignmentExpression"===e.left.type||!!e.right&&"AssignmentExpression"===e.right.type)}function N(e){return!!c&&!!function(e){for(let t=e;t;t=t.parent)if("ReturnStatement"===t.type||"ArrowFunctionExpression"===t.type&&"BlockStatement"!==t.body.type)return!0;return!1}(e)&&("ReturnStatement"===e.type?e.argument&&I(e.argument):"ArrowFunctionExpression"===e.type&&"BlockStatement"!==e.body.type?I(e.body):I(e))}function L(e,t){return(0,nK.isTokenOnSameLine)(e,t)?w(t):A(t)}function B(e){let t=n5(e);return"CallExpression"===t.type&&"FunctionExpression"===t.callee.type}function D(e){return!!(e&&("Identifier"===e.type||"MemberExpression"===e.type))}function j(t){let n=i.getTokenBefore(t),a=i.getTokenAfter(t);if(!v(t)&&(s.has(i.getFirstToken(t))||B(t)&&!("callee"in t&&k(t.callee))))return;let o=2;for(;function(e){let t=i.getCommentsBefore(e);if(0===t.length)return!1;let n=t.at(-1);return!!("Block"===n.type&&n.value.startsWith("*")&&/@type\s*\{[^}]+\}/.test(n.value)||g&&RegExp(g,"u").test(n.value))}(n);){if(!(0,nK.isParenthesized)(o,t,i))return;n=i.getTokenBefore(n,nK.isOpeningParenToken),a=i.getTokenAfter(a,nK.isClosingParenToken),o++}function l(){e.report({node:t,loc:n.loc,messageId:"unexpected",fix:"Literal"!==t.type||"string"!=typeof t.value||v(t)||!ra(t.parent)?e=>{let r,s,o,l,p,c,u;return[e.replaceText(n,(r=i.getTokenBefore(t),s=i.getTokenBefore(r,{includeComments:!0}),o=i.getTokenAfter(r,{includeComments:!0}),s&&s.range[1]===r.range[0]&&r.range[1]===o.range[0]&&!rd(s,o))?" ":""),e.replaceText(a,(p=(l=i.getTokensAfter(t,{count:2}))[0],c=l[1],u=i.getLastToken(t),p&&c&&!i.isSpaceBetween(p,c)&&!rd(u,c))?" ":"")]}:null})}r?r.reports.push({node:t,finishReport:l}):l()}function R(e){"argument"in e&&e.argument&&C(e.argument,rc(e))&&j(e.argument)}function F(e){let t=sx(e.left),n=sx(e.right);if(t&&n)return;let r=e=>{let t=rc(e),n=rc(e.left),r=rc(e.right),i="**"===e.operator,s=p&&("BinaryExpression"===e.left.type||"LogicalExpression"===e.left.type),a=p&&("BinaryExpression"===e.right.type||"LogicalExpression"===e.right.type);!s&&w(e.left)&&(!(["AwaitExpression","UnaryExpression"].includes(e.left.type)&&i)&&!ri(e.left,e)&&!("ReturnStatement"===e.parent.type&&e.parent.loc.start.line!==e.left.loc.start.line&&!k(e))&&(n>t||n===t&&!i)||v(e.left))&&j(e.left),!a&&w(e.right)&&(!ri(e.right,e)&&(r>t||r===t&&i)||v(e.right))&&j(e.right)};return r(t?{...e,left:{...e.left,type:e4.AST_NODE_TYPES.SequenceExpression}}:n?{...e,right:{...e.right,type:e4.AST_NODE_TYPES.SequenceExpression}}:e)}function M(e){let t=e=>{let t=e.callee;C(t,rc(e))&&(A(t)||!(B(e)||"NewExpression"===t.type&&!O(t)&&!("NewExpression"===e.type&&!O(e))||"NewExpression"===e.type&&"MemberExpression"===t.type&&P(t)||(!("optional"in e)||!e.optional)&&"ChainExpression"===t.type))&&j(e.callee),e.arguments.forEach(e=>{C(e,T)&&j(e)})};return t(sx(e.callee)?{...e,callee:{...e.callee,type:e4.AST_NODE_TYPES.SequenceExpression}}:e)}function $(e){e.superClass&&(rc(e.superClass)>S?w(e.superClass):A(e.superClass))&&j(e.superClass)}function V(e){let t=k(e)?i.getTokenBefore(e):i.getFirstToken(e),n=i.getTokenAfter(t,nK.isNotOpeningParenToken),r=n?i.getTokenAfter(n):null,a=n?i.getTokenAfter(n,nK.isNotClosingParenToken):null;(0,nK.isOpeningParenToken)(t)&&((0,nK.isOpeningBraceToken)(n)||re(n)&&("function"===n.value||"class"===n.value||"let"===n.value&&a&&((0,nK.isOpeningBracketToken)(a)||"Identifier"===a.type))||n&&"Identifier"===n.type&&"async"===n.value&&re(r)&&"function"===r.value)&&s.add(n),("ExportDefaultDeclaration"===e.parent.type?C(e,T):w(e))&&j(e)}function q(e){return sx(e.argument)?R({...e,argument:{...e.argument,type:e4.AST_NODE_TYPES.SequenceExpression}}):R(e)}function Y(e){e.computed&&C(e.key,T)&&j(e.key),e.value&&C(e.value,T)&&j(e.value)}function X(e){e.types.forEach(t=>{(p&&(0,nK.isNodeOfTypes)([e4.AST_NODE_TYPES.TSUnionType,e4.AST_NODE_TYPES.TSIntersectionType])(t)?v(t):C(t,rc(e)))&&j(t)})}let J={ArrayExpression(e){e.elements.map(e=>sx(e)?{...e,type:e4.AST_NODE_TYPES.FunctionExpression}:e).forEach(e=>{e&&C(e,T)&&j(e)})},ArrayPattern(e){e.elements.forEach(e=>{e&&D(e)&&w(e)&&j(e)})},ArrowFunctionExpression(e){if(sx(e.body)||N(e)||"ConditionalExpression"===e.body.type&&f||"BlockStatement"===e.body.type)return;let t=i.getFirstToken(e.body,nK.isNotOpeningParenToken);(0,nK.isOpeningParenToken)(i.getTokenBefore(t))&&(0,nK.isOpeningBraceToken)(t)&&s.add(t),C(e.body,T)&&j(e.body)},AssignmentExpression(e){D(e.left)&&w(e.left)&&(!function({left:e,operator:t,right:n}){if("Identifier"===e.type&&["=","&&=","||=","??="].includes(t)){let e=n.type;if("ArrowFunctionExpression"===e||("FunctionExpression"===e||"ClassExpression"===e)&&!n.id)return!0}return!1}(e)||v(e.left))&&j(e.left),!N(e)&&C(e.right,rc(e))&&j(e.right)},AssignmentPattern(e){let{left:t,right:n}=e;D(t)&&w(t)&&j(t),n&&C(n,T)&&j(n)},AwaitExpression:e=>sx(e.argument)?R({...e,argument:{...e.argument,type:e4.AST_NODE_TYPES.SequenceExpression}}):R(e),BinaryExpression(e){r&&"in"===e.operator&&r.inExpressionNodes.push(e),F(e)},CallExpression:M,ClassDeclaration:e=>e.superClass?.type===e4.AST_NODE_TYPES.TSAsExpression?$({...e,superClass:{...e.superClass,type:e4.AST_NODE_TYPES.SequenceExpression}}):$(e),ClassExpression:e=>e.superClass?.type===e4.AST_NODE_TYPES.TSAsExpression?$({...e,superClass:{...e.superClass,type:e4.AST_NODE_TYPES.SequenceExpression}}):$(e),ConditionalExpression(e){let t=e=>{if(N(e))return;let t=new Set(["BinaryExpression","LogicalExpression"]);!(l&&t.has(e.test.type))&&!(y&&["ConditionalExpression"].includes(e.test.type))&&!_(e)&&C(e.test,rc({type:"LogicalExpression",operator:"||"}))&&j(e.test),!(l&&t.has(e.consequent.type))&&!(y&&["ConditionalExpression"].includes(e.consequent.type))&&C(e.consequent,T)&&j(e.consequent),!(l&&t.has(e.alternate.type))&&!(y&&["ConditionalExpression"].includes(e.alternate.type))&&C(e.alternate,T)&&j(e.alternate)};return t(sx(e.test)?{...e,test:{...e.test,type:e4.AST_NODE_TYPES.SequenceExpression}}:sx(e.consequent)?{...e,consequent:{...e.consequent,type:e4.AST_NODE_TYPES.SequenceExpression}}:sx(e.alternate)?{...e,alternate:{...e.alternate,type:e4.AST_NODE_TYPES.SequenceExpression}}:e)},DoWhileStatement(e){w(e.test)&&!_(e)&&j(e.test)},ExportDefaultDeclaration(e){V(e.declaration)},ExpressionStatement(e){V(e.expression)},ForInStatement(e){if(!sx(e.right)){if("VariableDeclaration"!==e.left.type){let t=i.getFirstToken(e.left,nK.isNotOpeningParenToken);"let"===t.value&&(0,nK.isOpeningBracketToken)(i.getTokenAfter(t,nK.isNotClosingParenToken))&&s.add(t)}w(e.left)&&j(e.left),w(e.right)&&j(e.right)}},ForOfStatement(e){if("VariableDeclaration"!==e.left.type){let t=i.getFirstToken(e.left,nK.isNotOpeningParenToken);"let"===t.value&&s.add(t)}w(e.left)&&j(e.left),!sx(e.right)&&C(e.right,T)&&j(e.right)},ForStatement(e){if(e.test&&w(e.test)&&!_(e)&&!sx(e.test)&&j(e.test),e.update&&w(e.update)&&!sx(e.update)&&j(e.update),e.init&&!sx(e.init)){if("VariableDeclaration"!==e.init.type){let t=i.getFirstToken(e.init,nK.isNotOpeningParenToken);"let"===t.value&&(0,nK.isOpeningBracketToken)(i.getTokenAfter(t,nK.isNotClosingParenToken))&&s.add(t)}r={upper:r,inExpressionNodes:[],reports:[]},w(e.init)&&j(e.init)}},"ForStatement > *.init:exit":function(e){sx(e)||(r?.reports.length&&r.inExpressionNodes.forEach(t=>{var n;let i=(function(e,t){let n=[e],r=e;for(;r!==t;){if(null==(r=r.parent))throw Error("Nodes are not in the ancestor-descendant relationship.");n.push(r)}return n})(t,e).reverse(),s=null;for(let e=0;e<i.length;e++){let t=i[e];if(e<i.length-1&&function(e,t){switch(e.type){case"ArrayExpression":case"ArrayPattern":case"BlockStatement":case"ObjectExpression":case"ObjectPattern":case"TemplateLiteral":return!0;case"ArrowFunctionExpression":case"FunctionExpression":return e.params.includes(t);case"CallExpression":case"NewExpression":return e.arguments.includes(t);case"MemberExpression":return e.computed&&e.property===t;case"ConditionalExpression":return e.consequent===t;default:return!1}}(t,i[e+1]))return;if(k(t))if(!function(e){return r?.reports.some(t=>t.node===e)}(t))return;else{if(v(t))return;s||(s=t)}}s&&(n=s,r&&(r.reports=r.reports.filter(e=>e.node!==n)))}),function(){let{upper:e,inExpressionNodes:t,reports:n}=r??{};e?(e.inExpressionNodes.push(...t??[]),e.reports.push(...n??[])):n?.forEach(({finishReport:e})=>e()),r=e}())},IfStatement(e){w(e.test)&&!_(e)&&j(e.test)},ImportExpression(e){let{source:t}=e;"SequenceExpression"===t.type?A(t)&&j(t):w(t)&&j(t)},LogicalExpression:F,MemberExpression(e){let t=e=>{let t=function e(t){return"MemberExpression"===t.type&&("NewExpression"===t.parent.type&&t.parent.callee===t||"object"in t.parent&&t.parent.object===t&&e(t.parent))}(e)&&P(e)?A(e.object):w(e.object)&&!(b(e.parent)&&"callee"in e.parent&&e.parent.callee===e&&h);t&&rc(e.object)>=rc(e)&&(e.computed||!(ru(e.object)||rl(e.object)))&&j(e.object),t&&"CallExpression"===e.object.type&&j(e.object),t&&!m&&"NewExpression"===e.object.type&&O(e.object)&&j(e.object),t&&e.optional&&"ChainExpression"===e.object.type&&j(e.object),e.computed&&w(e.property)&&j(e.property)};return t(sx(e.object)?{...e,object:{...e.object,type:e4.AST_NODE_TYPES.SequenceExpression}}:sx(e.property)?{...e,property:{...e.property,type:e4.AST_NODE_TYPES.FunctionExpression}}:e)},MethodDefinition(e){e.computed&&C(e.key,T)&&j(e.key)},NewExpression:M,ObjectExpression(e){e.properties.forEach(e=>{"Property"===e.type&&e.value&&C(e.value,T)&&j(e.value)})},ObjectPattern(e){e.properties.forEach(({value:e})=>{e&&D(e)&&w(e)&&j(e)})},Property(e){if(e.computed){let{key:t}=e;t&&C(t,T)&&j(t)}},PropertyDefinition:Y,AccessorProperty:Y,RestElement(e){let t=e.argument;D(t)&&w(t)&&j(t)},ReturnStatement(e){let t=i.getFirstToken(e);!N(e)&&e.argument&&t&&L(t,e.argument)&&!rl(e.argument)&&j(e.argument)},SequenceExpression(e){let t=rc(e);e.expressions.forEach(e=>{C(e,t)&&j(e)})},SpreadElement(e){sx(e.argument)||x&&x.has(e.argument.type)||C(e.argument,T)&&j(e.argument)},SwitchCase(e){e.test&&!sx(e.test)&&w(e.test)&&j(e.test)},SwitchStatement(e){w(e.discriminant)&&j(e.discriminant)},TemplateLiteral(e){e.expressions.forEach(e=>{w(e)&&j(e)})},ThrowStatement(e){if(!e.argument||sx(e.argument))return;let t=i.getFirstToken(e);t&&L(t,e.argument)&&j(e.argument)},UnaryExpression:q,UpdateExpression(e){if(sx(e.argument))return q(e);if(e.prefix)R(e);else{let{argument:t}=e;(0,nK.isTokenOnSameLine)(t,i.getLastToken(e))?R(e):A(t)&&j(t)}},VariableDeclarator(e){let t=e=>{e.init&&C(e.init,T)&&!rl(e.init)&&j(e.init)};return t(sx(e.init)?{...e,type:e4.AST_NODE_TYPES.VariableDeclarator,init:{...e.init,type:e4.AST_NODE_TYPES.FunctionExpression}}:e)},WhileStatement(e){w(e.test)&&!_(e)&&j(e.test)},WithStatement(e){w(e.object)&&j(e.object)},YieldExpression(e){if(!e.argument||sx(e.argument))return;let t=i.getFirstToken(e);(rc(e.argument)>=rc(e)&&t&&L(t,e.argument)||A(e.argument))&&j(e.argument)},TSArrayType(e){C(e.elementType,rc(e))&&j(e.elementType)},TSIntersectionType:X,TSUnionType:X,TSTypeAnnotation(e){w(e.typeAnnotation)&&j(e.typeAnnotation)},TSTypeAliasDeclaration(e){w(e.typeAnnotation)&&j(e.typeAnnotation)},TSEnumMember(e){e.initializer&&w(e.initializer)&&j(e.initializer)}},U={},W=new Set,K=[];for(let e in J)U[e]=t=>K.push({node:t,listener:J[e]});return{...U,...n?.ignoredNodes?.reduce((e,t)=>Object.assign(e,{[t]:e=>W.add(e)}),{}),"Program:exit":function(){for(let e=0;e<K.length;e++){let{node:t,listener:n}=K[e];W.has(t)||n(t)}}}}}),sS=rE({name:"no-extra-semi",meta:{type:"layout",docs:{description:"Disallow unnecessary semicolons"},fixable:"code",schema:[],messages:{unexpected:"Unnecessary semicolon."}},create(e){let t=e.sourceCode;function n(n){let r;e.report({node:n,messageId:"unexpected",fix:(r=t.getTokenAfter(n))&&"String"===r.type&&ra(t.getNodeByRangeIndex(r.range[0]).parent)?null:t=>new rN(t,e.sourceCode).retainSurroundingTokens(n).remove(n)})}function r(e){for(let r=e;"Punctuator"===r.type&&!(0,nK.isClosingBraceToken)(r);r=t.getTokenAfter(r))(0,nK.isSemicolonToken)(r)&&n(r)}return{EmptyStatement(e){["ForStatement","ForInStatement","ForOfStatement","WhileStatement","DoWhileStatement","IfStatement","LabeledStatement","WithStatement"].includes(e.parent.type)||n(e)},ClassBody(e){r(t.getFirstToken(e,1))},MethodDefinition(e){r(t.getTokenAfter(e))},PropertyDefinition(e){r(t.getTokenAfter(e))},AccessorProperty(e){r(t.getTokenAfter(e))},StaticBlock(e){r(t.getTokenAfter(e))},TSAbstractMethodDefinition(e){r(t.getTokenAfter(e))},TSAbstractPropertyDefinition(e){r(t.getTokenAfter(e))}}}}),sb=rE({name:"no-floating-decimal",meta:{type:"layout",docs:{description:"Disallow leading or trailing decimal points in numeric literals"},fixable:"code",schema:[],messages:{leading:"A leading decimal point can be confused with a dot.",trailing:"A trailing decimal point can be confused with a dot."}},create(e){let t=e.sourceCode;return{Literal(n){"number"==typeof n.value&&(n.raw.startsWith(".")&&e.report({node:n,messageId:"leading",fix(e){let r=t.getTokenBefore(n),i=r&&r.range[1]===n.range[0]&&!rd(r,`0${n.raw}`);return e.insertTextBefore(n,i?" 0":"0")}}),n.raw.indexOf(".")===n.raw.length-1&&e.report({node:n,messageId:"trailing",fix:e=>e.insertTextAfter(n,"0")}))}}}});let sE=["+","-","*","/","%","**"],sk=["&","|","^","~","<<",">>",">>>"],sv=["==","!=","===","!==",">",">=","<","<="],sw=["&&","||"],sA=["in","instanceof"],sC=[].concat(sE,sk,sv,sw,sA,["?:"],["??"]),s_=/^(?:Binary|Logical|Conditional)Expression$/u;function sO(e){return"ConditionalExpression"===e.type?e.test:e.left}var sP=rE({name:"no-mixed-operators",meta:{type:"layout",docs:{description:"Disallow mixed binary operators"},schema:[{type:"object",properties:{groups:{type:"array",items:{type:"array",items:{type:"string",enum:sC},minItems:2,uniqueItems:!0},uniqueItems:!0},allowSamePrecedence:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{groups:[sE,sk,sv,sw,sA],allowSamePrecedence:!0}],messages:{unexpectedMixedOperator:"Unexpected mix of '{{leftOperator}}' and '{{rightOperator}}'. Use parentheses to clarify the intended order of operations."}},create(e,[t]){let n=e.sourceCode,{groups:r,allowSamePrecedence:i}=t;function s(e){return n.getTokenAfter(sO(e),nK.isNotClosingParenToken)}function a(t){var a,o,l;let p,c,u,f,d;s_.test(t.parent.type)&&(a=t).operator!==a.parent.operator&&!n9(n,a)&&(p=t.parent,o=t.operator,l="ConditionalExpression"===p.type?"?:":p.operator,r.some(e=>e.includes(o)&&e.includes(l))&&(!i||rc(t)!==rc(p)))&&(u=sO(c=t.parent)===t?t:c,f=sO(c)!==t?t:c,d={leftOperator:u.operator||"?:",rightOperator:f.operator||"?:"},e.report({node:u,loc:s(u).loc,messageId:"unexpectedMixedOperator",data:d}),e.report({node:f,loc:s(f).loc,messageId:"unexpectedMixedOperator",data:d}))}return{BinaryExpression:a,LogicalExpression:a}}}),sI=rE({name:"no-mixed-spaces-and-tabs",meta:{type:"layout",docs:{description:"Disallow mixed spaces and tabs for indentation"},schema:[{oneOf:[{type:"string",enum:["smart-tabs"]},{type:"boolean"}]}],defaultOptions:[!1],messages:{mixedSpacesAndTabs:"Mixed spaces and tabs."}},create(e,[t]){let n=e.sourceCode,r="boolean"==typeof t?t:"smart-tabs"===t;return{"Program:exit":function(t){let i=n.lines,s=n.getAllComments(),a=new Set;s.forEach(e=>{for(let t=e.loc.start.line+1;t<=e.loc.end.line;t++)a.add(t)});let o=/^(?=( +|\t+))\1(?:\t| )/u;r&&(o=/^(?=(\t*))\1(?=( +))\2\t/u),i.forEach((r,i)=>{let s=o.exec(r);if(s){let r=i+1,o={start:{line:r,column:s[0].length-2},end:{line:r,column:s[0].length}};if(!a.has(r)){let r=n.getNodeByRangeIndex(n.getIndexFromLoc(o.start));r&&["Literal","TemplateElement"].includes(r.type)||e.report({node:t,loc:o,messageId:"mixedSpacesAndTabs"})}}})}}}}),sN=rE({name:"no-multi-spaces",meta:{type:"layout",docs:{description:"Disallow multiple spaces"},fixable:"whitespace",schema:[{type:"object",properties:{exceptions:{type:"object",patternProperties:{"^([A-Z][a-z]*)+$":{type:"boolean"}},additionalProperties:!1},ignoreEOLComments:{type:"boolean"},includeTabs:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{exceptions:{Property:!0,ImportAttribute:!0},ignoreEOLComments:!1,includeTabs:!0}],messages:{multipleSpaces:"Multiple spaces found before '{{displayValue}}'."}},create(e,[t]){let{ignoreEOLComments:n,exceptions:r,includeTabs:i}=t,s=e.sourceCode,a=Object.keys(r).some(e=>r[e]),o=i?/[ \t]{2}/:/ {2}/;function l(e){let t=e.value.split("\n"),n=t[0],r=`${n.slice(0,12)}...`;return 1===t.length&&n.length<=12?n:r}return{Program(){s.tokensAndComments.forEach((t,i,p)=>{let c;if(i===p.length-1)return;let u=p[i+1];if(o.test(s.text.slice(t.range[1],u.range[0]))&&!(t.loc.end.line<u.loc.start.line)&&(!(n&&(0,nK.isCommentToken)(u))||i!==p.length-2&&!(u.loc.end.line<p[i+2].loc.start.line))){if(a){let e=s.getNodeByRangeIndex(u.range[0]-1);if(e&&r[e.type])return}c="Block"===u.type?`/*${l(u)}*/`:"Line"===u.type?`//${l(u)}`:u.value,e.report({node:u,loc:{start:t.loc.end,end:u.loc.start},messageId:"multipleSpaces",data:{displayValue:c},fix:e=>e.replaceTextRange([t.range[1],u.range[0]]," ")})}})}}}}),sL=rE({name:"no-multiple-empty-lines",meta:{type:"layout",docs:{description:"Disallow multiple empty lines"},fixable:"whitespace",schema:[{type:"object",properties:{max:{type:"integer",minimum:0},maxEOF:{type:"integer",minimum:0},maxBOF:{type:"integer",minimum:0}},required:["max"],additionalProperties:!1}],defaultOptions:[{max:2}],messages:{blankBeginningOfFile:"Too many blank lines at the beginning of file. Max of {{max}} allowed.",blankEndOfFile:"Too many blank lines at the end of file. Max of {{max}} allowed.",consecutiveBlank:"More than {{max}} blank {{pluralizedLines}} not allowed."}},create(e,[t]){let{max:n,maxEOF:r=n,maxBOF:i=n}=t,s=e.sourceCode,a=""===s.lines[s.lines.length-1]?s.lines.slice(0,-1):s.lines,o=new Set;return{TemplateLiteral(e){e.quasis.forEach(e=>{for(let t=e.loc.start.line;t<e.loc.end.line;t++)o.add(t)})},"Program:exit":function(t){return a.reduce((e,t,n)=>((t.trim()||o.has(n+1))&&e.push(n+1),e),[]).concat(a.length+1).reduce((o,l)=>{let p,c;return 0===o?(p="blankBeginningOfFile",c=i):l===a.length+1?(p="blankEndOfFile",c=r):(p="consecutiveBlank",c=n),l-o-1>c&&e.report({node:t,loc:{start:{line:o+c+1,column:0},end:{line:l,column:0}},messageId:p,data:{max:c,pluralizedLines:1===c?"line":"lines"},fix(e){let t=s.getIndexFromLoc({line:o+1,column:0}),n=l-c,r=n<=a.length?s.getIndexFromLoc({line:n,column:0}):s.text.length;return e.removeRange([t,r])}}),l},0)}}}});let sB=/\t+/gu,sD=/\S/u;var sj=rE({name:"no-tabs",meta:{type:"layout",docs:{description:"Disallow all tabs"},schema:[{type:"object",properties:{allowIndentationTabs:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{allowIndentationTabs:!1}],messages:{unexpectedTab:"Unexpected tab character."}},create(e,[t]){let n=e.sourceCode,{allowIndentationTabs:r}=t;return{Program(t){n.getLines().forEach((n,i)=>{let s;for(;null!==(s=sB.exec(n));)(!r||sD.test(n.slice(0,s.index)))&&e.report({node:t,loc:{start:{line:i+1,column:s.index},end:{line:i+1,column:s.index+s[0].length}},messageId:"unexpectedTab"})})}}}}),sR=rE({name:"no-trailing-spaces",meta:{type:"layout",docs:{description:"Disallow trailing whitespace at the end of lines"},fixable:"whitespace",schema:[{type:"object",properties:{skipBlankLines:{type:"boolean"},ignoreComments:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{skipBlankLines:!1,ignoreComments:!1}],messages:{trailingSpace:"Trailing spaces not allowed."}},create(e,[t]){let n=e.sourceCode,r="[ \xa0 -​ ]",i=`^${r}*$`,s=`${r}+$`,{skipBlankLines:a,ignoreComments:o}=t;return{[e.sourceCode.ast.type||"Program"]:function(t){var r;let l,p=RegExp(s,"u"),c=RegExp(i,"u"),u=n.lines,f=n.getText().match(n3()),d=(r="getAllComments"in n?n.getAllComments():[],l=new Set,r.forEach(e=>{let t="Block"===e.type?e.loc.end.line-1:e.loc.end.line;for(let n=e.loc.start.line;n<=t;n++)l.add(n)}),l),m=0;for(let r=0,i=u.length;r<i;r++){let i=r+1,s=f&&f[r]?f[r].length:1,l=u[r].length+s,h=p.exec(u[r]);if(h){let p={start:{line:i,column:h.index},end:{line:i,column:l-s}},f=m+p.start.column,g=m+p.end.column,y="getNodeByRangeIndex"in n?n.getNodeByRangeIndex(f):null;if(y&&"TemplateElement"===y.type&&f>y.parent.range[0]&&g<y.parent.range[1]||a&&c.test(u[r])){m+=l;continue}let x=[f,g];o&&d.has(i)||function(t,n,r){e.report({node:t,loc:n,messageId:"trailingSpace",fix:e=>e.removeRange(r)})}(t,p,x)}m+=l}}}}}),sF=rE({name:"no-whitespace-before-property",meta:{type:"layout",docs:{description:"Disallow whitespace before properties"},fixable:"whitespace",schema:[],messages:{unexpectedWhitespace:"Unexpected whitespace before property {{propName}}."}},create(e){let t=e.sourceCode;function n(n){let{node:r,leftToken:i,rightToken:s,propName:a,replacementText:o="",preventAutoFix:l}=n;e.report({node:r,messageId:"unexpectedWhitespace",data:{propName:a},fix:l?.()?null:rk(t,i,s,o)})}return{MemberExpression(e){let r,i;if(!(0,nK.isTokenOnSameLine)(e.object,e.property)||(e.computed?(r=t.getTokenBefore(e.property,nK.isOpeningBracketToken),i=t.getTokenBefore(r,+!!e.optional)):(r=t.getFirstToken(e.property),i=t.getTokenBefore(r,1)),!t.isSpaceBetween(i,r)))return;let s="";e.optional?s="?.":e.computed||(s="."),n({node:e,leftToken:i,rightToken:r,propName:t.getText(e.property),replacementText:s,preventAutoFix:()=>!e.computed&&!e.optional&&ru(e.object)})},TSIndexedAccessType(e){let r=t.getTokenBefore(e.indexType,nK.isOpeningBracketToken),i=t.getTokenBefore(r);t.isSpaceBetween(i,r)&&n({node:e,leftToken:i,rightToken:r,propName:t.getText(e.indexType)})},TSQualifiedName(e){let r=e.left,i=e.right;t.isSpaceBetween(r,i)&&n({node:e,leftToken:r,rightToken:i,replacementText:".",propName:t.getText(e.right)})},TSImportType(e){if(!e.qualifier)return;let r=e.qualifier,i=t.getTokenBefore(r,1);t.isSpaceBetween(i,r)&&n({node:e,leftToken:i,rightToken:r,replacementText:".",propName:t.getText(e.qualifier)})}}}});let sM={type:"string",enum:["beside","below","any"]};var s$=rE({name:"nonblock-statement-body-position",meta:{type:"layout",docs:{description:"Enforce the location of single-line statements"},fixable:"whitespace",schema:[sM,{type:"object",properties:{overrides:{type:"object",properties:{if:sM,else:sM,while:sM,do:sM,for:sM},additionalProperties:!1}},additionalProperties:!1}],defaultOptions:["beside"],messages:{expectNoLinebreak:"Expected no linebreak before this statement.",expectLinebreak:"Expected a linebreak before this statement."}},create(e,[t,{overrides:n={}}={}]){let r=e.sourceCode;function i(i,s){let a=n[s]??t;if("BlockStatement"===i.type||"any"===a)return;let o=r.getTokenBefore(i),l=(0,nK.isTokenOnSameLine)(o,i);l&&"below"===a?e.report({node:i,messageId:"expectLinebreak",fix:e=>e.insertTextBefore(i,"\n")}):l||"beside"!==a||e.report({node:i,messageId:"expectNoLinebreak",fix:rk(r,o,i," ")})}return{IfStatement(e){i(e.consequent,"if"),e.alternate&&"IfStatement"!==e.alternate.type&&i(e.alternate,"else")},WhileStatement:e=>i(e.body,"while"),DoWhileStatement:e=>i(e.body,"do"),ForStatement:e=>i(e.body,"for"),ForInStatement:e=>i(e.body,"for"),ForOfStatement:e=>i(e.body,"for")}}});let sV={oneOf:[{type:"string",enum:["always","never"]},{type:"object",properties:{multiline:{type:"boolean"},minProperties:{type:"integer",minimum:0},consistent:{type:"boolean"}},additionalProperties:!1,minProperties:1}]};var sq=rE({name:"object-curly-newline",meta:{type:"layout",docs:{description:"Enforce consistent line breaks after opening and before closing braces"},fixable:"whitespace",schema:[{oneOf:[sV,{type:"object",properties:{ObjectExpression:sV,ObjectPattern:sV,ImportDeclaration:sV,ExportDeclaration:sV,TSTypeLiteral:sV,TSInterfaceBody:sV,TSEnumBody:sV},additionalProperties:!1,minProperties:1}]}],defaultOptions:[],messages:{unexpectedLinebreakBeforeClosingBrace:"Unexpected line break before this closing brace.",unexpectedLinebreakAfterOpeningBrace:"Unexpected line break after this opening brace.",expectedLinebreakBeforeClosingBrace:"Expected a line break before this closing brace.",expectedLinebreakAfterOpeningBrace:"Expected a line break after this opening brace."}},create(e,[t]){let n=e.sourceCode;function r(e){let t=!1,n=1/0,r=!1;return e?"always"===e?n=0:"never"===e?n=1/0:(t=!!e.multiline,n=e.minProperties||1/0,r=!!e.consistent):r=!0,{multiline:t,minProperties:n,consistent:r}}function i(e){return"object"==typeof e&&null!==e}function s(e){return i(e)||"string"==typeof e}let a=function(e){if(i(e)&&Object.values(e).some(s))return{ObjectExpression:r(e.ObjectExpression),ObjectPattern:r(e.ObjectPattern),ImportDeclaration:r(e.ImportDeclaration),ExportNamedDeclaration:r(e.ExportDeclaration),TSTypeLiteral:r(e.TSTypeLiteral),TSInterfaceBody:r(e.TSInterfaceBody),TSEnumBody:r(e.TSEnumBody)};let t=r(e);return{ObjectExpression:t,ObjectPattern:t,ImportDeclaration:t,ExportNamedDeclaration:t,TSTypeLiteral:t,TSInterfaceBody:t,TSEnumBody:t}}(t);function o(t){var r,i;let s,o,l=a[t.type];if("ImportDeclaration"===t.type&&!t.specifiers.some(e=>"ImportSpecifier"===e.type)||"ExportNamedDeclaration"===t.type&&!t.specifiers.some(e=>"ExportSpecifier"===e.type))return;let p=n.getFirstToken(t,e=>"{"===e.value);s="ObjectPattern"===t.type&&t.typeAnnotation?n.getTokenBefore(t.typeAnnotation):n.getLastToken(t,e=>"}"===e.value);let c=n.getTokenAfter(p,{includeComments:!0}),u=n.getTokenBefore(s,{includeComments:!0}),f=(r=c,i=u,(o="ObjectExpression"===t.type||"ObjectPattern"===t.type?t.properties:"TSTypeLiteral"===t.type?t.members:"TSInterfaceBody"===t.type?t.body:"TSEnumBody"===t.type?t.members:t.specifiers.filter(e=>"ImportSpecifier"===e.type||"ExportSpecifier"===e.type)).length>=l.minProperties||l.multiline&&o.length>0&&!(0,nK.isTokenOnSameLine)(i,r)),d=(0,nK.isCommentToken)(c),m=(0,nK.isCommentToken)(u);if(c=n.getTokenAfter(p),u=n.getTokenBefore(s),f)(0,nK.isTokenOnSameLine)(p,c)&&e.report({messageId:"expectedLinebreakAfterOpeningBrace",node:t,loc:p.loc,fix:e=>d?null:e.insertTextAfter(p,"\n")}),(0,nK.isTokenOnSameLine)(u,s)&&e.report({messageId:"expectedLinebreakBeforeClosingBrace",node:t,loc:s.loc,fix:e=>m?null:e.insertTextBefore(s,"\n")});else{let n=l.consistent,r=!(0,nK.isTokenOnSameLine)(p,c),i=!(0,nK.isTokenOnSameLine)(u,s);(!n&&r||n&&r&&!i)&&e.report({messageId:"unexpectedLinebreakAfterOpeningBrace",node:t,loc:p.loc,fix:e=>d?null:e.removeRange([p.range[1],c.range[0]])}),(!n&&i||n&&!r&&i)&&e.report({messageId:"unexpectedLinebreakBeforeClosingBrace",node:t,loc:s.loc,fix:e=>m?null:e.removeRange([u.range[1],s.range[0]])})}}return{ObjectExpression:o,ObjectPattern:o,ImportDeclaration:o,ExportNamedDeclaration:o,TSTypeLiteral:o,TSInterfaceBody:o,TSEnumBody:o}}}),sY=rE({name:"object-curly-spacing",meta:{type:"layout",docs:{description:"Enforce consistent spacing inside braces"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]},{type:"object",properties:{arraysInObjects:{type:"boolean"},objectsInObjects:{type:"boolean"},overrides:{type:"object",properties:Object.fromEntries(["ObjectPattern","ObjectExpression","ImportDeclaration","ImportAttributes","ExportNamedDeclaration","ExportAllDeclaration","TSMappedType","TSTypeLiteral","TSInterfaceBody","TSEnumBody"].map(e=>[e,{type:"string",enum:["always","never"]}])),additionalProperties:!1},emptyObjects:{type:"string",enum:["ignore","always","never"]}},additionalProperties:!1}],defaultOptions:["never"],messages:{requireSpaceBefore:"A space is required before '{{token}}'.",requireSpaceAfter:"A space is required after '{{token}}'.",unexpectedSpaceBefore:"There should be no space before '{{token}}'.",unexpectedSpaceAfter:"There should be no space after '{{token}}'.",requiredSpaceInEmptyObject:"A space is required in empty '{{node}}'.",unexpectedSpaceInEmptyObject:"There should be no space in empty '{{node}}'."}},create(e,[t,n]){let r="always"===t,i=e.sourceCode;function s(e){return!!n&&!r===n[e]}let a={spaced:r,arraysInObjectsException:s("arraysInObjects"),objectsInObjectsException:s("objectsInObjects"),overrides:n?.overrides??{},emptyObjects:n?.emptyObjects??"ignore"};function o(t,n,r,s=t.type){let l=i.getTokenAfter(n,{includeComments:!0}),p=a.overrides[s]?"always"===a.overrides[s]:a.spaced;if((0,nK.isTokenOnSameLine)(n,l)){let s,o=i.isSpaceBetween(n,l),c=i.getNodeByRangeIndex(l.range[0]).type,u=a.arraysInObjectsException&&[e4.AST_NODE_TYPES.TSMappedType,e4.AST_NODE_TYPES.TSIndexSignature].includes(c)?!p:p;u&&!o&&e.report({node:t,loc:n.loc,messageId:"requireSpaceAfter",data:{token:n.value},fix:e=>e.insertTextAfter(n," ")}),u||!o||(0,nK.isCommentToken)(l)&&!(0,nK.isTokenOnSameLine)(n,r)||(s=i.getTokenAfter(n,{includeComments:!0}),e.report({node:t,loc:{start:n.loc.end,end:s.loc.start},messageId:"unexpectedSpaceAfter",data:{token:n.value},fix:e=>e.removeRange([n.range[1],s.range[0]])}))}let c=i.getTokenBefore(r,{includeComments:!0});if((0,nK.isTokenOnSameLine)(c,r)){let n,s=a.arraysInObjectsException&&(0,nK.isClosingBracketToken)(c)||a.objectsInObjectsException&&(0,nK.isClosingBraceToken)(c)?i.getNodeByRangeIndex(c.range[0]).type:void 0,o=a.arraysInObjectsException&&[e4.AST_NODE_TYPES.ArrayExpression,e4.AST_NODE_TYPES.TSTupleType].includes(s)||a.objectsInObjectsException&&void 0!==s&&[e4.AST_NODE_TYPES.ObjectExpression,e4.AST_NODE_TYPES.ObjectPattern,e4.AST_NODE_TYPES.TSMappedType,e4.AST_NODE_TYPES.TSTypeLiteral].includes(s)?!p:p,l=i.isSpaceBetween(c,r);o&&!l&&e.report({node:t,loc:r.loc,messageId:"requireSpaceBefore",data:{token:r.value},fix:e=>e.insertTextBefore(r," ")}),!o&&l&&(n=i.getTokenBefore(r,{includeComments:!0}),e.report({node:t,loc:{start:n.loc.end,end:r.loc.start},messageId:"unexpectedSpaceBefore",data:{token:r.value},fix:e=>e.removeRange([n.range[1],r.range[0]])}))}}function l(t,n,r=t.type){let[s,p]=function(e,t=e.type){switch(t){case"ImportDeclaration":case"ExportNamedDeclaration":case"ExportAllDeclaration":{let t=i.getTokens(e);return[t.find(e=>(0,nK.isOpeningBraceToken)(e)),t.find(e=>(0,nK.isClosingBraceToken)(e))]}case"ImportAttributes":{let t=i.getTokens(e),n=t.findLast(e=>(0,nK.isOpeningBraceToken)(e)),r=t.findLast(e=>(0,nK.isClosingBraceToken)(e));if(!n||!r||!e.source||n.range[0]<e.source.range[0])return[null,null];return[n,r]}case"ObjectPattern":case"ObjectExpression":case"TSMappedType":case"TSTypeLiteral":case"TSInterfaceBody":case"TSEnumBody":{let t=i.getTokens(e);return[t.find(e=>(0,nK.isOpeningBraceToken)(e)),"ObjectPattern"===e.type&&e.typeAnnotation?i.getTokenBefore(e.typeAnnotation):t.findLast(e=>(0,nK.isClosingBraceToken)(e))]}default:throw Error(`Unsupported node type: ${t}`)}}(t,r);if(s&&p){if(0===n.length)return void function(t,n,r,s=t.type){if("ignore"===a.emptyObjects||!(0,nK.isTokenOnSameLine)(n,r)||i.commentsExistBetween(n,r))return;let o=i.getText().slice(n.range[0]+1,r.range[1]-1);if(""===o.trim()){if("always"===a.emptyObjects){if(" "===o)return;e.report({node:t,loc:{start:n.loc.end,end:r.loc.start},messageId:"requiredSpaceInEmptyObject",data:{node:s},fix:e=>e.replaceTextRange([n.range[1],r.range[0]]," ")})}else if("never"===a.emptyObjects){if(""===o)return;e.report({node:t,loc:{start:n.loc.end,end:r.loc.start},messageId:"unexpectedSpaceInEmptyObject",data:{node:s},fix:e=>e.removeRange([n.range[1],r.range[0]])})}}}(t,s,p,r);o(t,s,p,r)}}return{ObjectPattern(e){l(e,e.properties)},ObjectExpression(e){l(e,e.properties)},ImportDeclaration(e){e.attributes&&l(e,e.attributes,"ImportAttributes");let t=e.specifiers.findIndex(e=>"ImportSpecifier"===e.type);-1===t?l(e,[]):l(e,e.specifiers.slice(t))},ExportNamedDeclaration(e){l(e,e.specifiers),e.attributes&&l(e,e.attributes,"ImportAttributes")},ExportAllDeclaration(e){e.attributes&&l(e,e.attributes,"ImportAttributes")},TSMappedType(e){o(e,i.getFirstToken(e),i.getLastToken(e))},TSTypeLiteral(e){l(e,e.members)},TSInterfaceBody(e){l(e,e.body)},TSEnumBody(e){l(e,e.members)}}}}),sX=rE({name:"object-property-newline",meta:{type:"layout",docs:{description:"Enforce placing object properties on separate lines"},fixable:"whitespace",schema:[{type:"object",properties:{allowAllPropertiesOnSameLine:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{allowAllPropertiesOnSameLine:!1}],messages:{propertiesOnNewlineAll:"Object properties must go on a new line if they aren't all on the same line.",propertiesOnNewline:"Object properties must go on a new line."}},create(e,[t]){let n=t.allowAllPropertiesOnSameLine,r=n?"propertiesOnNewlineAll":"propertiesOnNewline",i=e.sourceCode;function s(t,s){if(!(n&&s.length>1&&(0,nK.isTokenOnSameLine)(i.getFirstToken(s[0]),i.getLastToken(s[s.length-1]))))for(let n=1;n<s.length;n++){let a=i.getLastToken(s[n-1]),o=i.getFirstToken(s[n]);(0,nK.isTokenOnSameLine)(a,o)&&e.report({node:t,loc:o.loc,messageId:r,fix(e){let t=[i.getTokenBefore(o).range[1],o.range[0]];return i.text.slice(t[0],t[1]).trim()?null:e.replaceTextRange(t,"\n")}})}}return{ObjectExpression(e){s(e,e.properties)},TSTypeLiteral(e){s(e,e.members)},TSInterfaceBody(e){s(e,e.body)}}}}),sJ=rE({name:"one-var-declaration-per-line",meta:{type:"layout",docs:{description:"Require or disallow newlines around variable declarations"},fixable:"whitespace",schema:[{type:"string",enum:["always","initializations"]}],defaultOptions:["initializations"],messages:{expectVarOnNewline:"Expected variable declaration to be on a new line."}},create(e,[t]){let{sourceCode:n}=e,r="always"===t;return{VariableDeclaration:function(t){var i;if("ForStatement"===(i=t.parent.type)||"ForInStatement"===i||"ForOfStatement"===i)return;let s=t.declarations;for(let i=1;i<s.length;i++){let a=s[i-1],o=s[i];(0,nK.isTokenOnSameLine)(a,o)&&(r||a.init||o.init)&&e.report({node:t,messageId:"expectVarOnNewline",loc:o.loc,fix:e=>{let t=n.getTokenBefore(o);return e.insertTextAfterRange([t.range[1],o.range[0]],"\n")}})}}}}}),sU=rE({name:"operator-linebreak",meta:{type:"layout",docs:{description:"Enforce consistent linebreak style for operators"},fixable:"code",schema:[{oneOf:[{type:"string",enum:["after","before","none"]},{type:"null"}]},{type:"object",properties:{overrides:{type:"object",additionalProperties:{type:"string",enum:["after","before","none","ignore"]}}},additionalProperties:!1}],defaultOptions:[],messages:{operatorAtBeginning:"'{{operator}}' should be placed at the beginning of the line.",operatorAtEnd:"'{{operator}}' should be placed at the end of the line.",badLinebreak:"Bad line breaking before and after '{{operator}}'.",noLinebreak:"There should be no line break before or after '{{operator}}'."}},create(e){let t=!e.options[0],n=e.options[0]||"after",r=e.options[1]||{},i=r.overrides?Object.assign({},r.overrides):{};t&&!i["?"]&&(i["?"]="before"),t&&!i[":"]&&(i[":"]="before");let s=e.sourceCode;function a(t,r,a){let o=s.getTokenBefore(r,e=>e.value===a),l=s.getTokenBefore(o),p=s.getTokenAfter(o),c=i[a],u=c||n,f=e=>{let t,n,r=s.getTokenBefore(o),i=s.getTokenAfter(o),a=s.text.slice(r.range[1],o.range[0]),l=s.text.slice(o.range[1],i.range[0]),p=!(0,nK.isTokenOnSameLine)(r,o);if(!(0,nK.isTokenOnSameLine)(o,i)!==p&&"none"!==u){if(s.getTokenBefore(o,{includeComments:!0})!==r&&s.getTokenAfter(o,{includeComments:!0})!==i)return null;t=l,n=a}else{let e=n3();if(t="before"===u||a.trim()?a:a.replace(e,""),n="after"===u||l.trim()?l:l.replace(e,""),t===a&&n===l)return null}return""===n&&"Punctuator"===i.type&&"+-".includes(o.value)&&i.value===o.value&&(n+=" "),e.replaceTextRange([r.range[1],i.range[0]],t+o.value+n)};(0,nK.isTokenOnSameLine)(l,o)&&(0,nK.isTokenOnSameLine)(o,p)||("ignore"===c||(0,nK.isTokenOnSameLine)(l,o)||(0,nK.isTokenOnSameLine)(o,p)?"before"===u&&(0,nK.isTokenOnSameLine)(l,o)?e.report({node:t,loc:o.loc,messageId:"operatorAtBeginning",data:{operator:a},fix:f}):"after"===u&&(0,nK.isTokenOnSameLine)(o,p)?e.report({node:t,loc:o.loc,messageId:"operatorAtEnd",data:{operator:a},fix:f}):"none"===u&&e.report({node:t,loc:o.loc,messageId:"noLinebreak",data:{operator:a},fix:f}):e.report({node:t,loc:o.loc,messageId:"badLinebreak",data:{operator:a},fix:f}))}function o(e){a(e,e.right,e.operator)}return{BinaryExpression:o,LogicalExpression:o,AssignmentExpression:o,VariableDeclarator(e){e.init&&a(e,e.init,"=")},PropertyDefinition(e){e.value&&a(e,e.value,"=")},AccessorProperty(e){e.value&&a(e,e.value,"=")},ConditionalExpression(e){a(e,e.consequent,"?"),a(e,e.alternate,":")},TSImportEqualsDeclaration(e){a(e,e.moduleReference,"=")},TSTypeAliasDeclaration(e){a(e,e.typeAnnotation,"=")},TSConditionalType(e){a(e,e.trueType,"?"),a(e,e.falseType,":")},TSIntersectionType(e){let{types:t}=e;for(let e=0;e<t.length-1;e++)a(t[e],t[e+1],"&")},TSUnionType(e){let{types:t}=e;for(let e=0;e<t.length-1;e++)a(t[e],t[e+1],"|")},TSTypeParameter(e){e.default&&a(e,e.default,"=")},TSEnumMember(e){e.initializer&&a(e,e.initializer,"=")}}}});let sW=["always","never","start","end"];var sK=rE({name:"padded-blocks",meta:{type:"layout",docs:{description:"Require or disallow padding within blocks"},fixable:"whitespace",schema:[{oneOf:[{type:"string",enum:sW},{type:"object",properties:{blocks:{type:"string",enum:sW},switches:{type:"string",enum:sW},classes:{type:"string",enum:sW}},additionalProperties:!1,minProperties:1}]},{type:"object",properties:{allowSingleLineBlocks:{type:"boolean"}},additionalProperties:!1}],defaultOptions:["always",{allowSingleLineBlocks:!1}],messages:{missingPadBlock:"Block must be padded by blank lines.",extraPadBlock:"Block must not be padded by blank lines."}},create(e,[t,{allowSingleLineBlocks:n}={}]){let r="string"==typeof t?{blocks:t,switches:t,classes:t}:t,i=e.sourceCode;function s(e){return"Line"===e.type||"Block"===e.type}function a(e,t){return t.loc.start.line-e.loc.end.line>=2}function o(t){let o=function(e){let t,n=e;do t=n,n=i.getTokenAfter(n,{includeComments:!0});while(s(n)&&(0,nK.isTokenOnSameLine)(t,n));return n}("SwitchStatement"===t.type?i.getTokenBefore(t.cases[0]):"StaticBlock"===t.type?i.getFirstToken(t,{skip:1}):i.getFirstToken(t)),l=i.getTokenBefore(o,{includeComments:!0}),p=function(e){let t,n=e;do t=n,n=i.getTokenBefore(n,{includeComments:!0});while(s(n)&&(0,nK.isTokenOnSameLine)(n,t));return n}(i.getLastToken(t)),c=i.getTokenAfter(p,{includeComments:!0}),u=a(l,o),f=a(p,c);if(n&&(0,nK.isTokenOnSameLine)(l,c))return;let d=function(e){switch(e.type){case"BlockStatement":case"StaticBlock":return r.blocks;case"SwitchStatement":return r.switches;case"ClassBody":return r.classes;default:throw Error("unreachable")}}(t);u?("never"===d||"end"===d)&&e.report({node:t,loc:{start:l.loc.start,end:o.loc.start},fix:e=>e.replaceTextRange([l.range[1],o.range[0]-o.loc.start.column],"\n"),messageId:"extraPadBlock"}):("always"===d||"start"===d)&&e.report({node:t,loc:{start:l.loc.start,end:o.loc.start},fix:e=>e.insertTextAfter(l,"\n"),messageId:"missingPadBlock"}),f?("never"===d||"start"===d)&&e.report({node:t,loc:{end:c.loc.start,start:p.loc.end},messageId:"extraPadBlock",fix:e=>e.replaceTextRange([p.range[1],c.range[0]-c.loc.start.column],"\n")}):("always"===d||"end"===d)&&e.report({node:t,loc:{end:c.loc.start,start:p.loc.end},fix:e=>e.insertTextBefore(c,"\n"),messageId:"missingPadBlock"})}let l={};return Object.hasOwn(r,"switches")&&(l.SwitchStatement=function(e){0!==e.cases.length&&o(e)}),Object.hasOwn(r,"blocks")&&(l.BlockStatement=function(e){0!==e.body.length&&o(e)},l.StaticBlock=l.BlockStatement),Object.hasOwn(r,"classes")&&(l.ClassBody=function(e){0!==e.body.length&&o(e)}),l}});let sH=/^(?:module\s*\.\s*)?exports(?:\s*\.|\s*\[|$)/u,sz=/^require\(/u,sG=`[${Array.from(nz).join("")}]`,sQ=RegExp(String.raw`^(\s*?${sG})\s*${sG}(\s*;?)$`,"u");function sZ(e){return"object"==typeof e&&!Array.isArray(e)}function s0(e,t){return{test(n,r){let i=r.getFirstToken(n)?.value===t,s=Array.isArray(e)?e.includes(n.type):e===n.type;return i&&s}}}function s1(e){return{test:t=>t.type===e}}function s2(e){if(e.type===e4.AST_NODE_TYPES.ExpressionStatement){let t=n5(e.expression);if(t.type===e4.AST_NODE_TYPES.UnaryExpression&&(t=n5(t.argument)),t.type===e4.AST_NODE_TYPES.CallExpression){let e=t.callee;for(;e.type===e4.AST_NODE_TYPES.SequenceExpression;)e=e.expressions[e.expressions.length-1];return(0,nK.isFunction)(e)}}return!1}function s3(e,t){return ra(e)&&e.expression.type===e4.AST_NODE_TYPES.Literal&&"string"==typeof e.expression.value&&!(0,nK.isParenthesized)(e.expression,t)}function s4(e,t){if(s3(e,t)&&e.parent&&"body"in e.parent&&Array.isArray(e.parent.body)){for(let n of e.parent.body){if(n===e)break;if(!s3(n,t))return!1}return!0}return!1}function s6(e,t){let n=t.getLastToken(e),r=t.getTokenBefore(n),i=t.getTokenAfter(n);return r&&i&&r.range[0]>=e.range[0]&&(0,nK.isSemicolonToken)(n)&&!(0,nK.isTokenOnSameLine)(r,n)&&(0,nK.isTokenOnSameLine)(n,i)?r:n}function s5(e,t,n){return t+n}function s9(e,t){if(rT(e))return e.loc;let n=e.loc.start.line;return{start:e.loc.start,end:{line:n,column:t.lines[n-1].length}}}let s8={any:{verify:function(){}},never:{verify:function(e,t,n,r){0!==r.length&&e.report({node:n,messageId:"unexpectedBlankLine",loc:s9(n,e.sourceCode),fix(t){if(r.length>=2)return null;let n=r[0][0],i=r[0][1],s=n.range[1],a=i.range[0],o=e.sourceCode.text.slice(s,a).replace(sQ,s5);return t.replaceTextRange([s,a],o)}})}},always:{verify:function(e,t,n,r){r.length>0||e.report({node:n,messageId:"expectedBlankLine",loc:s9(n,e.sourceCode),fix(r){let i=e.sourceCode,s=s6(t,i),a=i.getFirstTokenBetween(s,n,{includeComments:!0,filter:e=>!(0,nK.isTokenOnSameLine)(s,e)||(s=e,!1)})||n,o=(0,nK.isTokenOnSameLine)(s,a)?"\n\n":"\n";return r.insertTextAfter(s,o)}})}}},s7={"block-like":{test:function(e,t){if(e.type===e4.AST_NODE_TYPES.DoWhileStatement&&e.body.type===e4.AST_NODE_TYPES.BlockStatement||s2(e))return!0;let n=t.getLastToken(e,nK.isNotSemicolonToken),r=n&&(0,nK.isClosingBraceToken)(n)?t.getNodeByRangeIndex(n.range[0]):null;return!!r&&(r.type===e4.AST_NODE_TYPES.BlockStatement||r.type===e4.AST_NODE_TYPES.SwitchStatement)}},expression:{test:function(e,t){return e.type===e4.AST_NODE_TYPES.ExpressionStatement&&!s4(e,t)}},return:s0(e4.AST_NODE_TYPES.ReturnStatement,"return"),export:s0([e4.AST_NODE_TYPES.ExportAllDeclaration,e4.AST_NODE_TYPES.ExportDefaultDeclaration,e4.AST_NODE_TYPES.ExportNamedDeclaration],"export"),var:s0(e4.AST_NODE_TYPES.VariableDeclaration,"var"),let:s0(e4.AST_NODE_TYPES.VariableDeclaration,"let"),const:s0(e4.AST_NODE_TYPES.VariableDeclaration,"const"),using:{test:e=>"VariableDeclaration"===e.type&&("using"===e.kind||"await using"===e.kind)},type:s0(e4.AST_NODE_TYPES.TSTypeAliasDeclaration,"type")},ae={"*":{test:()=>!0},exports:{test:function(e){if(e.type===e4.AST_NODE_TYPES.ExpressionStatement){let t=e.expression;if(t.type===e4.AST_NODE_TYPES.AssignmentExpression){let e=t.left;if(e.type===e4.AST_NODE_TYPES.MemberExpression){for(;e.object.type===e4.AST_NODE_TYPES.MemberExpression;)e=e.object;return e.object.type===e4.AST_NODE_TYPES.Identifier&&("exports"===e.object.name||"module"===e.object.name&&e.property.type===e4.AST_NODE_TYPES.Identifier&&"exports"===e.property.name)}}}return!1}},require:{test:function(e){if(e.type===e4.AST_NODE_TYPES.VariableDeclaration){let t=e.declarations[0];if(t?.init){let e=t?.init;for(;e.type===e4.AST_NODE_TYPES.MemberExpression;)e=e.object;if(e.type===e4.AST_NODE_TYPES.CallExpression&&e.callee.type===e4.AST_NODE_TYPES.Identifier)return"require"===e.callee.name}}return!1}},directive:{test:s4},iife:{test:s2},block:s1(e4.AST_NODE_TYPES.BlockStatement),empty:s1(e4.AST_NODE_TYPES.EmptyStatement),function:s1(e4.AST_NODE_TYPES.FunctionDeclaration),"ts-method":s1(e4.AST_NODE_TYPES.TSMethodSignature),break:s0(e4.AST_NODE_TYPES.BreakStatement,"break"),case:s0(e4.AST_NODE_TYPES.SwitchCase,"case"),class:s0(e4.AST_NODE_TYPES.ClassDeclaration,"class"),continue:s0(e4.AST_NODE_TYPES.ContinueStatement,"continue"),debugger:s0(e4.AST_NODE_TYPES.DebuggerStatement,"debugger"),default:s0([e4.AST_NODE_TYPES.SwitchCase,e4.AST_NODE_TYPES.ExportDefaultDeclaration],"default"),do:s0(e4.AST_NODE_TYPES.DoWhileStatement,"do"),for:s0([e4.AST_NODE_TYPES.ForStatement,e4.AST_NODE_TYPES.ForInStatement,e4.AST_NODE_TYPES.ForOfStatement],"for"),if:s0(e4.AST_NODE_TYPES.IfStatement,"if"),import:s0(e4.AST_NODE_TYPES.ImportDeclaration,"import"),switch:s0(e4.AST_NODE_TYPES.SwitchStatement,"switch"),throw:s0(e4.AST_NODE_TYPES.ThrowStatement,"throw"),try:s0(e4.AST_NODE_TYPES.TryStatement,"try"),while:s0([e4.AST_NODE_TYPES.WhileStatement,e4.AST_NODE_TYPES.DoWhileStatement],"while"),with:s0(e4.AST_NODE_TYPES.WithStatement,"with"),"cjs-export":{test:(e,t)=>"ExpressionStatement"===e.type&&"AssignmentExpression"===e.expression.type&&sH.test(t.getText(e.expression.left))},"cjs-import":{test:(e,t)=>"VariableDeclaration"===e.type&&e.declarations.length>0&&!!e.declarations[0].init&&sz.test(t.getText(e.declarations[0].init))},enum:s0(e4.AST_NODE_TYPES.TSEnumDeclaration,"enum"),interface:s0(e4.AST_NODE_TYPES.TSInterfaceDeclaration,"interface"),"function-overload":s1(e4.AST_NODE_TYPES.TSDeclareFunction),...Object.fromEntries(Object.entries(s7).flatMap(([e,t])=>[[e,t],[`singleline-${e}`,{...t,test:(e,n)=>t.test(e,n)&&rT(e)}],[`multiline-${e}`,{...t,test:(e,n)=>t.test(e,n)&&!rT(e)}]]))};var at=rE({name:"padding-line-between-statements",meta:{type:"layout",docs:{description:"Require or disallow padding lines between statements"},fixable:"whitespace",hasSuggestions:!1,schema:{$defs:{paddingType:{type:"string",enum:Object.keys(s8)},statementType:{type:"string",enum:Object.keys(ae)},selectorOption:{type:"object",properties:{selector:{type:"string"},lineMode:{type:"string",enum:["any","singleline","multiline"]}},required:["selector"],additionalProperties:!1},statementMatcher:{anyOf:[{$ref:"#/$defs/statementType"},{$ref:"#/$defs/selectorOption"}]},statementOption:{anyOf:[{$ref:"#/$defs/statementMatcher"},{type:"array",items:{$ref:"#/$defs/statementMatcher"},minItems:1,uniqueItems:!0,additionalItems:!1}]}},type:"array",additionalItems:!1,items:{type:"object",properties:{blankLine:{$ref:"#/$defs/paddingType"},prev:{$ref:"#/$defs/statementOption"},next:{$ref:"#/$defs/statementOption"}},additionalProperties:!1,required:["blankLine","prev","next"]}},defaultOptions:[],messages:{unexpectedBlankLine:"Unexpected blank line before this statement.",expectedBlankLine:"Expected blank line before this statement."}},create(e,t){let n=e.sourceCode,r=new Map,i=[];function s(e){if(Array.isArray(e)){for(let t of e)s(t);return}sZ(e)&&r.set(e.selector,new Set)}for(let e of t)s(e.prev),s(e.next);let a=null;function o(){a={upper:a,prevNode:null}}function l(){a&&(a=a.upper)}function p(e,t){let i=e;for(;i.type===e4.AST_NODE_TYPES.LabeledStatement;)i=i.body;if(Array.isArray(t))return t.some(p.bind(null,i));if(!sZ(t))return ae[t].test(i,n);{if(!r.get(t.selector)?.has(i))return!1;let e=t.lineMode;return"singleline"===e?rT(i):"multiline"!==e||!rT(i)}}function c(e){if(!e.parent||![e4.AST_NODE_TYPES.BlockStatement,e4.AST_NODE_TYPES.Program,e4.AST_NODE_TYPES.StaticBlock,e4.AST_NODE_TYPES.SwitchCase,e4.AST_NODE_TYPES.SwitchStatement,e4.AST_NODE_TYPES.TSInterfaceBody,e4.AST_NODE_TYPES.TSModuleBlock,e4.AST_NODE_TYPES.TSTypeLiteral].includes(e.parent.type))return;let t=a.prevNode;t&&i.push({prevNode:t,nextNode:e}),a.prevNode=e}function u(e){c(e),o()}return{Program:o,"Program:exit":()=>{for(let{prevNode:r,nextNode:s}of i){let i=function(e,n){for(let r=t.length-1;r>=0;--r){let i=t[r];if(p(e,i.prev)&&p(n,i.next))return s8[i.blankLine]}return s8.any}(r,s),a=function(e,t){let r=[],i=s6(e,n);if(t.loc.start.line-i.loc.end.line>=2)do{let e=n.getTokenAfter(i,{includeComments:!0});e.loc.start.line-i.loc.end.line>=2&&r.push([i,e]),i=e}while(i.range[0]<t.range[0]);return r}(r,s);i.verify(e,r,s,a)}l()},BlockStatement:o,"BlockStatement:exit":l,SwitchStatement:o,"SwitchStatement:exit":l,SwitchCase:u,"SwitchCase:exit":l,StaticBlock:o,"StaticBlock:exit":l,TSInterfaceBody:o,"TSInterfaceBody:exit":l,TSModuleBlock:o,"TSModuleBlock:exit":l,TSTypeLiteral:o,"TSTypeLiteral:exit":l,TSDeclareFunction:u,"TSDeclareFunction:exit":l,TSMethodSignature:u,"TSMethodSignature:exit":l,":statement":c,...Object.fromEntries(Array.from(r.keys(),e=>[e,t=>{r.get(e)?.add(t)}]))}}}),an=rE({name:"quote-props",meta:{type:"layout",docs:{description:"Require quotes around object literal, type literal, interfaces and enums property names"},fixable:"code",schema:{anyOf:[{type:"array",items:[{type:"string",enum:["always","as-needed","consistent","consistent-as-needed"]}],minItems:0,maxItems:1},{type:"array",items:[{type:"string",enum:["always","as-needed","consistent","consistent-as-needed"]},{type:"object",properties:{keywords:{type:"boolean"},unnecessary:{type:"boolean"},numbers:{type:"boolean"}},additionalProperties:!1}],minItems:0,maxItems:2}]},defaultOptions:["always"],messages:{requireQuotesDueToReservedWord:"Properties should be quoted as '{{property}}' is a reserved word.",inconsistentlyQuotedProperty:"Inconsistently quoted property '{{key}}' found.",unnecessarilyQuotedProperty:"Unnecessarily quoted property '{{property}}' found.",unquotedReservedProperty:"Unquoted reserved word '{{property}}' used as key.",unquotedNumericProperty:"Unquoted number literal '{{property}}' used as key.",unquotedPropertyFound:"Unquoted property '{{property}}' found.",redundantQuoting:"Properties shouldn't be quoted as all quotes are redundant."}},create(e,[t,n={}]){let{keywords:r=!1,unnecessary:i=!0,numbers:s=!1}=n,a=e.sourceCode;function o(e){return n1.includes(e)}function l(e,t,n=!1){return 1===t.length&&0===t[0].start&&t[0].end===e.length&&(["Identifier","Keyword","Null","Boolean"].includes(t[0].type)||"Numeric"===t[0].type&&!n&&String(+t[0].value)===t[0].value)}function p(e){return"Identifier"===e.type?e.name:e.value}function c(e){return ro(e)?a.getText(e):`"${"Identifier"===e.type?e.name:e.value}"`}function u(t){if("Property"===t.type&&(t.method||t.computed||t.shorthand)||"ImportAttribute"!==t.type&&t.computed)return;let n="TSEnumMember"===t.type?t.id:t.key;if("Literal"===n.type&&"string"==typeof n.value){let a;try{a=nM(n.value)}catch{return}if(1!==a.length||o(a[0].value)&&r)return;i&&l(n.value,a,s)&&e.report({node:t,messageId:"unnecessarilyQuotedProperty",data:{property:n.value},fix:e=>e.replaceText(n,p(n))})}else if(r&&"Identifier"===n.type&&o(n.name))e.report({node:t,messageId:"unquotedReservedProperty",data:{property:n.name},fix:e=>e.replaceText(n,c(n))});else{var a;s&&"Literal"===(a=n).type&&("number"==typeof a.value||"bigint"in a&&a.bigint)&&e.report({node:t,messageId:"unquotedNumericProperty",data:{property:n.value},fix:e=>e.replaceText(n,c(n))})}}function f(t){if("Property"===t.type&&(t.method||t.computed||t.shorthand)||"ImportAttribute"!==t.type&&t.computed)return;let n="TSEnumMember"===t.type?t.id:t.key;("Literal"!==n.type||"string"!=typeof n.value)&&e.report({node:t,messageId:"unquotedPropertyFound",data:{property:n.name||n.value},fix:e=>e.replaceText(n,c(n))})}function d(e,t){h(e.filter(e=>"SpreadElement"!==e.type&&e.key&&!e.method&&!e.computed&&!e.shorthand),t)}function m(e){e&&("consistent"===t&&h(e,!1),"consistent-as-needed"===t&&h(e,!0))}function h(t,n){let i=[],s=[],a=null,u=!1;t.forEach(e=>{let t=e.key;if("Literal"===t.type&&"string"==typeof t.value){if(i.push(e),n){let e;try{e=nM(t.value)}catch{u=!0;return}u=u||!l(t.value,e)||r&&o(e[0].value)}}else r&&n&&"Identifier"===t.type&&o(t.name)?(s.push(e),u=!0,a=t.name):s.push(e)}),n&&i.length&&!u?i.forEach(t=>{let n=t.key;e.report({node:t,messageId:"redundantQuoting",fix:e=>e.replaceText(n,p(n))})}):s.length&&a?s.forEach(t=>{e.report({node:t,messageId:"requireQuotesDueToReservedWord",data:{property:a},fix:e=>e.replaceText(t.key,c(t.key))})}):i.length&&s.length&&s.forEach(t=>{e.report({node:t,messageId:"inconsistentlyQuotedProperty",data:{key:t.key.name||t.key.value},fix:e=>e.replaceText(t.key,c(t.key))})})}return{Property(e){"always"!==t&&t||f(e),"as-needed"===t&&u(e)},ObjectExpression(e){"consistent"===t&&d(e.properties,!1),"consistent-as-needed"===t&&d(e.properties,!0)},ImportAttribute(e){"always"!==t&&t||f(e),"as-needed"===t&&u(e)},ImportDeclaration(e){m(e.attributes)},ExportAllDeclaration(e){m(e.attributes)},ExportNamedDeclaration(e){m(e.attributes)},TSPropertySignature(e){"always"!==t&&t||f(e),"as-needed"===t&&u(e)},TSEnumMember(e){"always"!==t&&t||f(e),"as-needed"===t&&u(e)},TSTypeLiteral(e){"consistent"===t&&d(e.members,!1),"consistent-as-needed"===t&&d(e.members,!0)},TSInterfaceBody(e){"consistent"===t&&d(e.body,!1),"consistent-as-needed"===t&&d(e.body,!0)},TSEnumDeclaration(e){let n=(e.body?.members||e.members).map(e=>({...e,key:e.id}));"consistent"===t&&d(n,!1),"consistent-as-needed"===t&&d(n,!0)}}}});function ar(e){let t=this.quote,n=e[0];return t===n?e:t+e.slice(1,-1).replace(/\\(\$\{|\r\n?|\n|.)|["'`]|\$\{|(\r\n?|\n)/gu,(e,r,i)=>r===n||"`"===n&&"${"===r?r:e===t||"`"===t&&"${"===e?`\\${e}`:i&&"`"===n?"\\n":e)+t}let ai={double:{quote:'"',alternateQuote:"'",description:"doublequote",convert:ar},single:{quote:"'",alternateQuote:'"',description:"singlequote",convert:ar},backtick:{quote:"`",alternateQuote:'"',description:"backtick",convert:ar}},as=RegExp(String.raw`(^|[^\\])(\\\\)*[${Array.from(nz).join("")}]`,"u"),aa="avoid-escape";var ao=rE({name:"quotes",meta:{type:"layout",docs:{description:"Enforce the consistent use of either backticks, double, or single quotes"},fixable:"code",schema:[{type:"string",enum:["single","double","backtick"]},{anyOf:[{type:"string",enum:["avoid-escape"]},{type:"object",properties:{avoidEscape:{type:"boolean"},allowTemplateLiterals:{anyOf:[{type:"boolean"},{type:"string",enum:["never","avoidEscape","always"]}]},ignoreStringLiterals:{type:"boolean"}},additionalProperties:!1}]}],defaultOptions:["double",{allowTemplateLiterals:"never",avoidEscape:!1,ignoreStringLiterals:!1}],messages:{wrongQuotes:"Strings must use {{description}}."}},create(e,[t,n]){let r=ai[t||"double"],i=e.sourceCode,s=!1,a=!1,o=!1,l=!1;return"object"==typeof n?(s=!0===n.avoidEscape,a=!0===n.ignoreStringLiterals,"string"==typeof n.allowTemplateLiterals?l=(o="always"===n.allowTemplateLiterals)||"avoidEscape"===n.allowTemplateLiterals:"boolean"==typeof n.allowTemplateLiterals&&(nU('value(boolean) for "allowTemplateLiterals"','"always"/"never"',"quotes"),o=!0===n.allowTemplateLiterals,l=!0===n.allowTemplateLiterals)):n===aa&&(nU(`option("${aa}")`,'"avoidEscape"',"quotes"),s=!0),{Literal(n){if(a)return;let o=n.value,l=n.raw;if(r&&"string"==typeof o){let a="backtick"===t&&function(e){let t=e.parent;if(!t)return!1;switch(t.type){case e4.AST_NODE_TYPES.ExpressionStatement:return!n9(i,e)&&function(e){if(!e.parent||!ra(e.parent))return!1;let t=e.parent.parent;if(!t||!("body"in t)||!Array.isArray(t.body))return!1;for(let n=0;n<t.body.length;++n){let r=t.body[n];if(r===e.parent)return!0;if(!("ExpressionStatement"===r.type&&"Literal"===r.expression.type&&"string"==typeof r.expression.value&&!n9(i,r.expression)))break}return!1}(e);case e4.AST_NODE_TYPES.Property:case e4.AST_NODE_TYPES.MethodDefinition:return t.key===e&&!t.computed;case e4.AST_NODE_TYPES.ImportDeclaration:case e4.AST_NODE_TYPES.ExportNamedDeclaration:return t.source===e;case e4.AST_NODE_TYPES.ExportAllDeclaration:return t.exported===e||t.source===e;case e4.AST_NODE_TYPES.ImportSpecifier:return t.imported===e;case e4.AST_NODE_TYPES.ExportSpecifier:return t.local===e||t.exported===e;case e4.AST_NODE_TYPES.ImportAttribute:return t.value===e;case e4.AST_NODE_TYPES.TSImportType:case e4.AST_NODE_TYPES.TSAbstractMethodDefinition:case e4.AST_NODE_TYPES.TSMethodSignature:case e4.AST_NODE_TYPES.TSPropertySignature:case e4.AST_NODE_TYPES.TSModuleDeclaration:case e4.AST_NODE_TYPES.TSExternalModuleReference:return!0;case e4.AST_NODE_TYPES.TSEnumMember:return e===t.id;case e4.AST_NODE_TYPES.TSAbstractPropertyDefinition:case e4.AST_NODE_TYPES.PropertyDefinition:case e4.AST_NODE_TYPES.AccessorProperty:return t.key===e&&!t.computed;case e4.AST_NODE_TYPES.TSLiteralType:return t.parent?.type===e4.AST_NODE_TYPES.TSImportType;default:return!1}}(n)||!!n.parent&&("JSXAttribute"===n.parent.type||"JSXElement"===n.parent.type||"JSXFragment"===n.parent.type)||rp(l,r.quote);!a&&s&&(a=rp(l,r.alternateQuote)&&l.includes(r.quote)),a||e.report({node:n,messageId:"wrongQuotes",data:{description:r.description},fix:e=>"backtick"===t&&nZ.test(l)?null:e.replaceText(n,r.convert(n.raw))})}},TemplateLiteral(n){o||"backtick"===t||"TaggedTemplateExpression"===n.parent.type&&n===n.parent.quasi||n.expressions.length>0||n.quasis.length>=1&&as.test(n.quasis[0].value.raw)||0||l&&s&&i.getText(n).includes(r.quote)||e.report({node:n,messageId:"wrongQuotes",data:{description:r.description},fix:e=>ra(n.parent)&&!n9(i,n)?null:e.replaceText(n,r.convert(i.getText(n)))})}}}}),al=rE({name:"rest-spread-spacing",meta:{type:"layout",docs:{description:"Enforce spacing between rest and spread operators and their expressions"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]}],defaultOptions:["never"],messages:{unexpectedWhitespace:"Unexpected whitespace after {{type}} operator.",expectedWhitespace:"Expected whitespace after {{type}} operator."}},create(e,[t]){let n=e.sourceCode,r="always"===t;function i(t){let i,s=n.getFirstToken(t),a=n.getTokenAfter(s),o=n.isSpaceBetween(s,a);switch(t.type){case"SpreadElement":i="spread","ObjectExpression"===t.parent.type&&(i+=" property");break;case"RestElement":i="rest","ObjectPattern"===t.parent.type&&(i+=" property");break;default:return}r&&!o?e.report({node:t,loc:s.loc,messageId:"expectedWhitespace",data:{type:i},fix:e=>e.replaceTextRange([s.range[1],a.range[0]]," ")}):!r&&o&&e.report({node:t,loc:{start:s.loc.end,end:a.loc.start},messageId:"unexpectedWhitespace",data:{type:i},fix:e=>e.removeRange([s.range[1],a.range[0]])})}return{SpreadElement:i,RestElement:i}}}),ap=rE({name:"semi-spacing",meta:{type:"layout",docs:{description:"Enforce consistent spacing before and after semicolons"},fixable:"whitespace",schema:[{type:"object",properties:{before:{type:"boolean"},after:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{before:!1,after:!0}],messages:{unexpectedWhitespaceBefore:"Unexpected whitespace before semicolon.",unexpectedWhitespaceAfter:"Unexpected whitespace after semicolon.",missingWhitespaceBefore:"Missing whitespace before semicolon.",missingWhitespaceAfter:"Missing whitespace after semicolon."}},create(e,[t]){let{before:n,after:r}=t,i=e.sourceCode;function s(t,s){if((0,nK.isSemicolonToken)(t)){let a,o,l,p;if((a=i.getTokenBefore(t))&&(0,nK.isTokenOnSameLine)(a,t)&&i.isSpaceBetween(a,t)){if(!n){let n=i.getTokenBefore(t),r={start:n.loc.end,end:t.loc.start};e.report({node:s,loc:r,messageId:"unexpectedWhitespaceBefore",fix:e=>e.removeRange([n.range[1],t.range[0]])})}}else if(n){let n=t.loc;e.report({node:s,loc:n,messageId:"missingWhitespaceBefore",fix:e=>e.insertTextBefore(t," ")})}if((o=i.getTokenBefore(t))&&(0,nK.isTokenOnSameLine)(t,o)&&(l=i.getTokenAfter(t))&&(0,nK.isTokenOnSameLine)(t,l)&&!((p=i.getTokenAfter(t))&&(0,nK.isClosingBraceToken)(p)||(0,nK.isClosingParenToken)(p))){let n;if((n=i.getTokenAfter(t))&&(0,nK.isTokenOnSameLine)(t,n)&&i.isSpaceBetween(t,n)){if(!r){let n=i.getTokenAfter(t),r={start:t.loc.end,end:n.loc.start};e.report({node:s,loc:r,messageId:"unexpectedWhitespaceAfter",fix:e=>e.removeRange([t.range[1],n.range[0]])})}}else if(r){let n=t.loc;e.report({node:s,loc:n,messageId:"missingWhitespaceAfter",fix:e=>e.insertTextAfter(t," ")})}}}}function a(e){s(i.getLastToken(e),e)}return{VariableDeclaration:a,ExpressionStatement:a,BreakStatement:a,ContinueStatement:a,DebuggerStatement:a,DoWhileStatement:a,ReturnStatement:a,ThrowStatement:a,ImportDeclaration:a,ExportNamedDeclaration:a,ExportAllDeclaration:a,ExportDefaultDeclaration:a,ForStatement(e){e.init&&s(i.getTokenAfter(e.init),e),e.test&&s(i.getTokenAfter(e.test),e)},PropertyDefinition:a,AccessorProperty:a,TSDeclareFunction:a,TSTypeAliasDeclaration:a,TSTypeAnnotation(e){let t=new Set([e4.AST_NODE_TYPES.TSDeclareFunction]);e.parent&&!t.has(e.parent.type)&&a(e.parent)}}}}),ac=rE({name:"semi-style",meta:{type:"layout",docs:{description:"Enforce location of semicolons"},fixable:"whitespace",schema:[{type:"string",enum:["last","first"]}],defaultOptions:["last"],messages:{expectedSemiColon:"Expected this semicolon to be at {{pos}}."}},create(e,[t]){let n=e.sourceCode;function r(t,r){let i=n.getTokenBefore(t),s=n.getTokenAfter(t),a=!i||(0,nK.isTokenOnSameLine)(i,t),o=!s||(0,nK.isTokenOnSameLine)(t,s);("last"!==r||a)&&("first"!==r||o)||e.report({loc:t.loc,messageId:"expectedSemiColon",data:{pos:"last"===r?"the end of the previous line":"the beginning of the next line"},fix(e){if(i&&s&&n.commentsExistBetween(i,s))return null;let a=i?i.range[1]:t.range[0],o=s?s.range[0]:t.range[1];return e.replaceTextRange([a,o],"last"===r?";\n":"\n;")}})}return{"BreakStatement,ContinueStatement,DebuggerStatement,DoWhileStatement,ExportAllDeclaration,ExportDefaultDeclaration,ExportNamedDeclaration,ExpressionStatement,ImportDeclaration,ReturnStatement,ThrowStatement,VariableDeclaration,PropertyDefinition,AccessorProperty"(e){if("first"===t&&function(e){var t;let n;if(!e.parent)return!0;let r=e.parent.type;if("IfStatement"===r&&e.parent.consequent===e&&e.parent.alternate||"DoWhileStatement"===r)return!0;let i="BlockStatement"===(n=(t=e.parent).type)||"StaticBlock"===n||"Program"===n||"ClassBody"===n?t.body:"SwitchCase"===n?t.consequent:null;return null!==i&&i[i.length-1]===e}(e))return;let i=n.getLastToken(e);(0,nK.isSemicolonToken)(i)&&r(i,t)},ForStatement(e){let t=e.init&&n.getTokenAfter(e.init,nK.isSemicolonToken),i=e.test&&n.getTokenAfter(e.test,nK.isSemicolonToken);t&&r(t,"last"),i&&r(i,"last")}}}}),au=rE({name:"semi",meta:{type:"layout",docs:{description:"Require or disallow semicolons instead of ASI"},fixable:"code",schema:{anyOf:[{type:"array",items:[{type:"string",enum:["never"]},{type:"object",properties:{beforeStatementContinuationChars:{type:"string",enum:["always","any","never"]}},additionalProperties:!1}],minItems:0,maxItems:2},{type:"array",items:[{type:"string",enum:["always"]},{type:"object",properties:{omitLastInOneLineBlock:{type:"boolean"},omitLastInOneLineClassBody:{type:"boolean"}},additionalProperties:!1}],minItems:0,maxItems:2}]},defaultOptions:["always"],messages:{missingSemi:"Missing semicolon.",extraSemi:"Extra semicolon."}},create(e,[t,n]){let r=/^[-[(/+`]/u,i=new Set(["get","set","static"]),s=new Set(["*","in","instanceof"]),a="never"===t,o=!!(n&&"omitLastInOneLineBlock"in n&&n.omitLastInOneLineBlock),l=!!(n&&"omitLastInOneLineClassBody"in n&&n.omitLastInOneLineClassBody),p=n&&"beforeStatementContinuationChars"in n&&n.beforeStatementContinuationChars||"any",c=e.sourceCode;function u(t,n=!1){let r,i,s=c.getLastToken(t),a="missingSemi";n?(a="extraSemi",i=s.loc,r=function(e){return new rN(e,c).retainSurroundingTokens(s).remove(s)}):(i={start:s.loc.end,end:rf(c,s.loc.end)},r=function(e){return e.insertTextAfter(s,";")}),e.report({node:t,loc:i,messageId:a,fix:r})}function f(e){return!!e&&r.test(e.value)&&"++"!==e.value&&"--"!==e.value}function d(e){let t=(0,nK.isSemicolonToken)(c.getLastToken(e));if(a){let n=c.getTokenAfter(e);t&&function(e){var t;let n,r,a,o;return t=c.getLastToken(e),!!(!(n=c.getTokenAfter(t))||(0,nK.isClosingBraceToken)(n)||(0,nK.isSemicolonToken)(n))||!(function(e){if("PropertyDefinition"!==e.type)return!1;if(!e.computed&&"Identifier"===e.key.type&&"name"in e.key&&i.has(e.key.name)&&!(e.static&&"static"===e.key.name)&&!e.value)return!0;let t=c.getTokenAfter(e);return s.has(t.value)}(e)||(r=c.getLastToken(e,1),(a=c.getTokenAfter(e))&&(0,nK.isTokenOnSameLine)(r,a)))&&!(("PropertyDefinition"===e.type||"never"!==p||"DoWhileStatement"!==(o=e.type)&&"BreakStatement"!==o&&"ContinueStatement"!==o&&"DebuggerStatement"!==o&&"ImportDeclaration"!==o&&"ExportAllDeclaration"!==o&&("ReturnStatement"===o?e.argument:"ExportNamedDeclaration"===o?e.declaration:!function(e){if(!(0,nK.isClosingBraceToken)(e))return!1;let t=c.getNodeByRangeIndex(e.range[0]);return"BlockStatement"===t.type&&"ArrowFunctionExpression"===t.parent.type}(c.getLastToken(e,1))))&&f(c.getTokenAfter(e)))}(e)?u(e,!0):!t&&"always"===p&&"PropertyDefinition"!==e.type&&f(n)&&u(e)}else{let n,r,i,s,a=o&&(n=e.parent,!!(r=c.getTokenAfter(e))&&"}"===r.value&&("BlockStatement"===n.type?rT(n):"StaticBlock"===n.type&&(0,nK.isTokenOnSameLine)(n,c.getFirstToken(n,{skip:1})))),p=l&&(i=e.parent,!!(s=c.getTokenAfter(e))&&"}"===s.value&&"ClassBody"===i.type&&rT(i)),f=a||p;t&&f?u(e,!0):t||f||u(e)}}return{VariableDeclaration(e){let t=e.parent;"ForStatement"===t.type&&t.init===e||/^For(?:In|Of)Statement/u.test(t.type)&&t.left===e||d(e)},ExpressionStatement:d,ReturnStatement:d,ThrowStatement:d,DoWhileStatement:d,DebuggerStatement:d,BreakStatement:d,ContinueStatement:d,ImportDeclaration:d,ExportAllDeclaration:d,ExportNamedDeclaration(e){e.declaration||d(e)},ExportDefaultDeclaration(e){e.declaration.type!==e4.AST_NODE_TYPES.TSInterfaceDeclaration&&(/(?:Class|Function)Declaration/u.test(e.declaration.type)||d(e))},PropertyDefinition:d,AccessorProperty:d,TSAbstractPropertyDefinition:d,TSDeclareFunction:d,TSExportAssignment:d,TSImportEqualsDeclaration:d,TSTypeAliasDeclaration:d,TSEmptyBodyFunctionExpression:d}}}),af=rE({name:"space-before-blocks",meta:{type:"layout",docs:{description:"Enforce consistent spacing before blocks"},fixable:"whitespace",schema:[{oneOf:[{type:"string",enum:["always","never"]},{type:"object",properties:{keywords:{type:"string",enum:["always","never","off"]},functions:{type:"string",enum:["always","never","off"]},classes:{type:"string",enum:["always","never","off"]},modules:{type:"string",enum:["always","never","off"]}},additionalProperties:!1}]}],defaultOptions:["always"],messages:{unexpectedSpace:"Unexpected space before opening brace.",missingSpace:"Missing space before opening brace."}},create(e,[t]){let n=e.sourceCode,r=!0,i=!0,s=!0,a=!0,o=!1,l=!1,p=!1,c=!1;function u(e){if(!("parent"in e))return!1;let t=e.parent;return"BlockStatement"===e.type&&(0,nK.isFunction)(t)&&t.body===e}function f(t){let f=n.getTokenBefore(t);if(f&&!((0,nK.isArrowToken)(f)||re(f)&&!u(t)||(0,nK.isColonToken)(f)&&"parent"in t&&t.parent&&"SwitchCase"===t.parent.type&&f===rs(t.parent,n))&&(0,nK.isTokenOnSameLine)(f,t)){let d,m,h=n.isSpaceBetween(f,t);u(t)?(d=r,m=o):"ClassBody"===t.type||"TSEnumBody"===t.type||"TSInterfaceBody"===t.type?(d=s,m=p):"TSModuleBlock"===t.type?(d=a,m=c):(d=i,m=l),d&&!h?e.report({node:t,messageId:"missingSpace",fix:e=>e.insertTextBefore(t," ")}):m&&h&&e.report({node:t,messageId:"unexpectedSpace",fix:e=>e.removeRange([f.range[1],t.range[0]])})}}return"object"==typeof t?(r="always"===t.functions,i="always"===t.keywords,s="always"===t.classes,a="always"===t.modules,o="never"===t.functions,l="never"===t.keywords,p="never"===t.classes,c="never"===t.modules):"never"===t&&(r=!1,i=!1,s=!1,a=!1,o=!0,l=!0,p=!0,c=!0),{BlockStatement:f,ClassBody:f,SwitchStatement(e){let t=e.cases;f(t.length>0?n.getTokenBefore(t[0]):n.getLastToken(e,1))},TSEnumBody:f,TSInterfaceBody:f,TSModuleBlock:f}}}),ad=rE({name:"space-before-function-paren",meta:{type:"layout",docs:{description:"Enforce consistent spacing before function parenthesis"},fixable:"whitespace",schema:[{oneOf:[{type:"string",enum:["always","never"]},{type:"object",properties:{anonymous:{type:"string",enum:["always","never","ignore"]},named:{type:"string",enum:["always","never","ignore"]},asyncArrow:{type:"string",enum:["always","never","ignore"]},catch:{type:"string",enum:["always","never","ignore"]}},additionalProperties:!1}]}],defaultOptions:["always"],messages:{unexpectedSpace:"Unexpected space before function parentheses.",missingSpace:"Missing space before function parentheses."}},create(e,[t]){let n=e.sourceCode,{asyncArrow:r="always",anonymous:i="always",named:s="always",catch:a="always"}="string"==typeof t?{asyncArrow:t,anonymous:t,named:t,catch:t}:t;function o(e){let t,a,o=function(e){if(e.type===e4.AST_NODE_TYPES.ArrowFunctionExpression){if(e.async&&(0,nK.isOpeningParenToken)(n.getFirstToken(e,{skip:1})))return r}else if(function(e){if(null!=e.id)return!0;let t=e.parent;return t.type===e4.AST_NODE_TYPES.MethodDefinition||t.type===e4.AST_NODE_TYPES.TSAbstractMethodDefinition||t.type===e4.AST_NODE_TYPES.Property&&("get"===t.kind||"set"===t.kind||t.method)}(e))return s;else if(!e.generator)return i;return"ignore"}(e);"ignore"===o||("always"!==o||!e.typeParameters||e.id)&&(e.typeParameters?(t=n.getLastToken(e.typeParameters),a=n.getTokenAfter(t)):(a=n.getFirstToken(e,nK.isOpeningParenToken),t=n.getTokenBefore(a)),l(e,t,a,o))}function l(t,r,i,s){let a=n.isSpaceBetween(r,i);a&&"never"===s?e.report({node:t,loc:{start:r.loc.end,end:i.loc.start},messageId:"unexpectedSpace",fix:e=>{let t=n.getCommentsBefore(i);return t.some(e=>"Line"===e.type)?null:e.replaceTextRange([r.range[1],i.range[0]],t.reduce((e,t)=>e+n.getText(t),""))}}):a||"always"!==s||e.report({node:t,loc:i.loc,messageId:"missingSpace",fix:e=>e.insertTextAfter(r," ")})}return{ArrowFunctionExpression:o,FunctionDeclaration:o,FunctionExpression:o,TSEmptyBodyFunctionExpression:o,TSDeclareFunction:o,CatchClause(e){if(!e.param||"ignore"===a)return;let t=n.getFirstToken(e,nK.isOpeningParenToken);l(e,n.getTokenBefore(t),t,a)}}}}),am=rE({name:"space-in-parens",meta:{type:"layout",docs:{description:"Enforce consistent spacing inside parentheses"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]},{type:"object",properties:{exceptions:{type:"array",items:{type:"string",enum:["{}","[]","()","empty"]},uniqueItems:!0}},additionalProperties:!1}],defaultOptions:["never"],messages:{missingOpeningSpace:"There must be a space after this paren.",missingClosingSpace:"There must be a space before this paren.",rejectedOpeningSpace:"There should be no space after this paren.",rejectedClosingSpace:"There should be no space before this paren."}},create(e,[t,{exceptions:n=[]}={}]){let r="always"===t,i={braceException:!1,bracketException:!1,parenException:!1,empty:!1},s={openers:[],closers:[]};n.length&&(i.braceException=n.includes("{}"),i.bracketException=n.includes("[]"),i.parenException=n.includes("()"),i.empty=n.includes("empty"));let a=e.sourceCode;function o(e){return s.openers.includes(e.value)}function l(e){return s.closers.includes(e.value)}return{Program:function(t){let n,p;n=[],p=[],i.braceException&&(n.push("{"),p.push("}")),i.bracketException&&(n.push("["),p.push("]")),i.parenException&&(n.push("("),p.push(")")),i.empty&&(n.push(")"),p.push("(")),s={openers:n,closers:p};let c=a.tokensAndComments;c.forEach((n,s)=>{let p=c[s-1],u=c[s+1];((0,nK.isOpeningParenToken)(n)||(0,nK.isClosingParenToken)(n))&&("("===n.value&&!(a.isSpaceBetween(n,u)||!i.empty&&(0,nK.isClosingParenToken)(u))&&(r?!o(u):o(u))&&e.report({node:t,loc:n.loc,messageId:"missingOpeningSpace",fix:e=>e.insertTextAfter(n," ")}),"("===n.value&&(0,nK.isTokenOnSameLine)(n,u)&&"Line"!==u.type&&a.isSpaceBetween(n,u)&&(r?o(u):!o(u))&&e.report({node:t,loc:{start:n.loc.end,end:u.loc.start},messageId:"rejectedOpeningSpace",fix:e=>e.removeRange([n.range[1],u.range[0]])}),")"===n.value&&!(a.isSpaceBetween(p,n)||!i.empty&&(0,nK.isOpeningParenToken)(p))&&(r?!l(p):l(p))&&e.report({node:t,loc:n.loc,messageId:"missingClosingSpace",fix:e=>e.insertTextBefore(n," ")}),")"===n.value&&(0,nK.isTokenOnSameLine)(p,n)&&a.isSpaceBetween(p,n)&&(r?l(p):!l(p))&&e.report({node:t,loc:{start:p.loc.end,end:n.loc.start},messageId:"rejectedClosingSpace",fix:e=>e.removeRange([p.range[1],n.range[0]])}))})}}}});let ah=["|","&"];var ag=rE({name:"space-infix-ops",meta:{type:"layout",docs:{description:"Require spacing around infix operators"},fixable:"whitespace",schema:[{type:"object",properties:{int32Hint:{type:"boolean"},ignoreTypes:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{int32Hint:!1,ignoreTypes:!1}],messages:{missingSpace:"Operator '{{operator}}' must be spaced."}},create(e,[t]){let{int32Hint:n,ignoreTypes:r}=t,i=e.sourceCode;function s(t,n){e.report({node:t,loc:n.loc,messageId:"missingSpace",data:{operator:n.value},fix(e){let t=i.getTokenBefore(n),r=i.getTokenAfter(n),s="";return n.range[0]-t.range[1]==0&&(s=" "),s+=n.value,r.range[0]-n.range[1]==0&&(s+=" "),e.replaceText(n,s)}})}function a(e){var t;let r,a,o,l="typeAnnotation"in e.left&&e.left.typeAnnotation?e.left.typeAnnotation:e.left,p=e.right,c=(t="operator"in e&&e.operator?e.operator:"=",r=i.getFirstTokenBetween(l,p,e=>e.value===t),a=i.getTokenBefore(r),o=i.getTokenAfter(r),i.isSpaceBetween(a,r)&&i.isSpaceBetween(r,o)?null:r);c&&!(n&&i.getText(e).endsWith("|0"))&&s(e,c)}function o(e){return e.type===e4.AST_TOKEN_TYPES.Punctuator&&/^[=?:]$/.test(e.value)}function l(e,t,n){if(!n||!t)return;let r=i.getFirstTokenBetween(t,n,o),a=i.getTokenBefore(r),l=i.getTokenAfter(r);i.isSpaceBetween(a,r)&&i.isSpaceBetween(r,l)||s(e,r)}function p(e){l(e,e.optional&&!e.typeAnnotation?i.getTokenAfter(e.key):e.typeAnnotation??e.key,e.value)}function c(e){e.types.forEach(t=>{let n=t.type===e4.AST_NODE_TYPES.TSFunctionType?nK.isNotOpeningParenToken:0,a=i.getTokenBefore(t,n);if(!r&&null!=a&&ah.includes(a.value)){let t=i.getTokenBefore(a),n=i.getTokenAfter(a);i.isSpaceBetween(t,a)&&i.isSpaceBetween(a,n)||s(e,a)}})}return{AssignmentExpression:a,AssignmentPattern:a,BinaryExpression:a,LogicalExpression:a,ConditionalExpression(e){l(e,e.test,e.consequent),l(e,e.consequent,e.alternate)},VariableDeclarator(e){l(e,e.id.typeAnnotation??e.id,e.init)},PropertyDefinition:p,AccessorProperty:p,TSEnumMember(e){l(e,e.id,e.initializer)},TSTypeAliasDeclaration(e){l(e,e.typeParameters??e.id,e.typeAnnotation)},TSUnionType:c,TSIntersectionType:c,TSConditionalType(e){l(e,e.extendsType,e.trueType),l(e,e.trueType,e.falseType)}}}}),ay=rE({name:"space-unary-ops",meta:{type:"layout",docs:{description:"Enforce consistent spacing before or after unary operators"},fixable:"whitespace",schema:[{type:"object",properties:{words:{type:"boolean"},nonwords:{type:"boolean"},overrides:{type:"object",additionalProperties:{type:"boolean"}}},additionalProperties:!1}],defaultOptions:[{words:!0,nonwords:!1}],messages:{unexpectedBefore:"Unexpected space before unary operator '{{operator}}'.",unexpectedAfter:"Unexpected space after unary operator '{{operator}}'.",unexpectedAfterWord:"Unexpected space after unary word operator '{{word}}'.",requireAfterWord:"Unary word operator '{{word}}' must be followed by whitespace.",requireAfter:"Unary operator '{{operator}}' must be followed by whitespace.",requireBefore:"Space is required before unary operator '{{operator}}'."}},create(e,[t]){let{words:n,nonwords:r,overrides:i={}}=t,s=e.sourceCode;function a(t,r,s,a){i[a]??n?s.range[0]===r.range[1]&&e.report({node:t,messageId:"requireAfterWord",data:{word:a},fix:e=>e.insertTextAfter(r," ")}):rd(r,s)&&s.range[0]>r.range[1]&&e.report({node:t,messageId:"unexpectedAfterWord",data:{word:a},fix:e=>e.removeRange([r.range[1],s.range[0]])})}function o(t,n,r){if("prefix"in t&&t.prefix)t&&"UnaryExpression"===t.type&&t.argument&&"UnaryExpression"===t.argument.type&&"!"===t.argument.operator||n.range[1]!==r.range[0]||e.report({node:t,messageId:"requireAfter",data:{operator:n.value},fix:e=>e.insertTextAfter(n," ")});else n.range[1]===r.range[0]&&e.report({node:t,messageId:"requireBefore",data:{operator:r.value},fix:e=>e.insertTextBefore(r," ")})}function l(t,n,r){"prefix"in t&&t.prefix?r.range[0]>n.range[1]&&e.report({node:t,messageId:"unexpectedAfter",data:{operator:n.value},fix:e=>rd(n,r)?e.removeRange([n.range[1],r.range[0]]):null}):r.range[0]>n.range[1]&&e.report({node:t,messageId:"unexpectedBefore",data:{operator:r.value},fix:e=>e.removeRange([n.range[1],r.range[0]])})}function p(e){let t="UpdateExpression"!==e.type||e.prefix?s.getFirstTokens(e,2):s.getLastTokens(e,2),n=t[0],p=t[1];("NewExpression"===e.type||e.prefix)&&re(n)?a(e,n,p,n.value):i["prefix"in e&&e.prefix?t[0].value:t[1].value]??r?o(e,n,p):l(e,n,p)}return{UnaryExpression:p,UpdateExpression:p,NewExpression:p,YieldExpression:function(e){let t=s.getFirstTokens(e,3);e.argument&&!e.delegate&&a(e,t[0],t[1],"yield")},AwaitExpression:function(e){let t=s.getFirstTokens(e,3);a(e,t[0],t[1],"await")},TSNonNullExpression:function(e){let t=s.getLastToken(e,e=>"!"===e.value),n=s.getTokenBefore(t);i["ts-non-null"]??i["!"]??r?o(e,n,t):l(e,n,t)}}}});function ax(e){return`(?:${function(e){if("string"!=typeof e)throw TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(e)})`}function aT(e){return`${ax(e)}+`}function aS(e){let t="";return 0===e.length?t+="\\s":(t+="(?:\\s|",1===e.length?t+=aT(e[0]):(t+="(?:",t+=e.map(aT).join("|"),t+=")"),t+=`(?:$|[${Array.from(nz).join("")}]))`),t}var ab=rE({name:"spaced-comment",meta:{type:"layout",docs:{description:"Enforce consistent spacing after the `//` or `/*` in a comment"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]},{type:"object",properties:{exceptions:{type:"array",items:{type:"string"}},markers:{type:"array",items:{type:"string"}},line:{type:"object",properties:{exceptions:{type:"array",items:{type:"string"}},markers:{type:"array",items:{type:"string"}}},additionalProperties:!1},block:{type:"object",properties:{exceptions:{type:"array",items:{type:"string"}},markers:{type:"array",items:{type:"string"}},balanced:{type:"boolean"}},additionalProperties:!1}},additionalProperties:!1}],defaultOptions:["always"],messages:{unexpectedSpaceAfterMarker:"Unexpected space or tab after marker ({{refChar}}) in comment.",expectedExceptionAfter:"Expected exception block, space or tab after '{{refChar}}' in comment.",unexpectedSpaceBefore:"Unexpected space or tab before '*/' in comment.",unexpectedSpaceAfter:"Unexpected space or tab after '{{refChar}}' in comment.",expectedSpaceBefore:"Expected space or tab before '*/' in comment.",expectedSpaceAfter:"Expected space or tab after '{{refChar}}' in comment."}},create(e,[t,n={}]){let r=e.sourceCode,i="never"!==t,s=n.block&&n.block.balanced,a=["block","line"].reduce((e,t)=>{var r;let a,o=(r=n[t]&&n[t]?.markers||n.markers||[]).includes("*")?r:r.concat("*"),l=n[t]&&n[t]?.exceptions||n.exceptions||[];return e[t]={beginRegex:i?(a="^",1===o.length?a+=ax(o[0]):(a+="(?:",a+=o.map(ax).join("|"),a+=")"),a+="?",RegExp(a+=aS(l),"u")):RegExp(`^(${o.map(ax).join("|")})?[ ]+`,"u"),endRegex:s&&i?RegExp(`${aS(l)}$`,"u"):RegExp("[ ]+$","u"),hasExceptions:l.length>0,captureMarker:RegExp(`^(${o.map(ax).join("|")})`,"u"),markers:new Set(o)},e},{});function o(t,n,r,s){let a="block"===t.type.toLowerCase()?"/*":"//";e.report({node:t,fix(e){let n=t.range[0],s=n+2;return i?(r&&(s+=r[0].length),e.insertTextAfterRange([n,s]," ")):(r&&(s+=r[0].length),e.replaceTextRange([n,s],a+(r&&r[1]?r[1]:"")))},messageId:n,data:{refChar:s}})}function l(t,n,r){e.report({node:t,fix(e){if(i)return e.insertTextAfterRange([t.range[0],t.range[1]-2]," ");let n=t.range[1]-2,s=n;return r&&(s-=r[0].length),e.replaceTextRange([s,n],"")},messageId:n})}return{Program(){r.getAllComments().forEach(e=>{rt(e)||function(e){let t=e.type.toLowerCase(),n=a[t],r="block"===t?"/*":"//";if(0===e.value.length||n.markers.has(e.value)||"line"===t&&(e.value.startsWith("/ <reference")||e.value.startsWith("/ <amd")))return;let p=n.beginRegex.exec(e.value),c=n.endRegex.exec(e.value);if(i){if(!p){let t=n.captureMarker.exec(e.value),i=t?r+t[0]:r;n.hasExceptions?o(e,"expectedExceptionAfter",t,i):o(e,"expectedSpaceAfter",t,i)}s&&"block"===t&&!c&&l(e,"expectedSpaceBefore",null)}else p&&(p[1]?o(e,"unexpectedSpaceAfterMarker",p,p[1]):o(e,"unexpectedSpaceAfter",p,r)),s&&"block"===t&&c&&l(e,"unexpectedSpaceBefore",c)}(e)})}}}}),aE=rE({name:"switch-colon-spacing",meta:{type:"layout",docs:{description:"Enforce spacing around colons of switch statements"},fixable:"whitespace",schema:[{type:"object",properties:{before:{type:"boolean"},after:{type:"boolean"}},additionalProperties:!1}],defaultOptions:[{before:!1,after:!0}],messages:{expectedBefore:"Expected space(s) before this colon.",expectedAfter:"Expected space(s) after this colon.",unexpectedBefore:"Unexpected space(s) before this colon.",unexpectedAfter:"Unexpected space(s) after this colon."}},create(e,[t]){let n=e.sourceCode,r=!0===t.before,i=!1!==t.after;function s(e,t,r){return(0,nK.isClosingBraceToken)(t)||!(0,nK.isTokenOnSameLine)(e,t)||n.isSpaceBetween(e,t)===r}function a(e,t,r,i){return n.commentsExistBetween(t,r)?null:i?e.insertTextAfter(t," "):e.removeRange([t.range[1],r.range[0]])}return{SwitchCase(t){let o=rs(t,n),l=n.getTokenBefore(o),p=n.getTokenAfter(o);s(l,o,r)||e.report({node:t,loc:o.loc,messageId:r?"expectedBefore":"unexpectedBefore",fix:e=>a(e,l,o,r)}),s(o,p,i)||e.report({node:t,loc:o.loc,messageId:i?"expectedAfter":"unexpectedAfter",fix:e=>a(e,o,p,i)})}}}}),ak=rE({name:"template-curly-spacing",meta:{type:"layout",docs:{description:"Require or disallow spacing around embedded expressions of template strings"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]}],defaultOptions:["never"],messages:{expectedBefore:"Expected space(s) before '}'.",expectedAfter:"Expected space(s) after '${'.",unexpectedBefore:"Unexpected space(s) before '}'.",unexpectedAfter:"Unexpected space(s) after '${'."}},create(e,[t]){let n=e.sourceCode,r="always"===t;return{TemplateElement(t){let i=n.getFirstToken(t);!function(t){if(!t.value.startsWith("}"))return;let i=n.getTokenBefore(t,{includeComments:!0}),s=n.isSpaceBetween(i,t);(0,nK.isTokenOnSameLine)(i,t)&&(r&&!s&&e.report({loc:{start:t.loc.start,end:{line:t.loc.start.line,column:t.loc.start.column+1}},messageId:"expectedBefore",fix:e=>e.insertTextBefore(t," ")}),!r&&s&&e.report({loc:{start:i.loc.end,end:t.loc.start},messageId:"unexpectedBefore",fix:e=>e.removeRange([i.range[1],t.range[0]])}))}(i),function(t){if(!t.value.endsWith("${"))return;let i=n.getTokenAfter(t,{includeComments:!0}),s=n.isSpaceBetween(t,i);(0,nK.isTokenOnSameLine)(t,i)&&(r&&!s&&e.report({loc:{start:{line:t.loc.end.line,column:t.loc.end.column-2},end:t.loc.end},messageId:"expectedAfter",fix:e=>e.insertTextAfter(t," ")}),!r&&s&&e.report({loc:{start:t.loc.end,end:i.loc.start},messageId:"unexpectedAfter",fix:e=>e.removeRange([t.range[1],i.range[0]])}))}(i)}}}}),av=rE({name:"template-tag-spacing",meta:{type:"layout",docs:{description:"Require or disallow spacing between template tags and their literals"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]}],defaultOptions:["never"],messages:{unexpected:"Unexpected space between template tag and template literal.",missing:"Missing space between template tag and template literal."}},create(e,[t]){let n="always"!==t,r=e.sourceCode;return{TaggedTemplateExpression:function(t){let i=r.getTokenBefore(t.quasi),s=r.getFirstToken(t.quasi),a=r.isSpaceBetween(i,s);n&&a?e.report({node:t,loc:{start:i.loc.end,end:s.loc.start},messageId:"unexpected",fix(e){let n=r.getCommentsBefore(t.quasi);return n.some(e=>"Line"===e.type)?null:e.replaceTextRange([i.range[1],s.range[0]],n.reduce((e,t)=>e+r.getText(t),""))}}):n||a||e.report({node:t,loc:{start:t.loc.start,end:s.loc.start},messageId:"missing",fix:e=>e.insertTextAfter(i," ")})}}}}),aw=rE({name:"type-annotation-spacing",meta:{type:"layout",docs:{description:"Require consistent spacing around type annotations"},fixable:"whitespace",schema:[{$defs:{spacingConfig:{type:"object",properties:{before:{type:"boolean"},after:{type:"boolean"}},additionalProperties:!1}},type:"object",properties:{before:{type:"boolean"},after:{type:"boolean"},overrides:{type:"object",properties:{colon:{$ref:"#/items/0/$defs/spacingConfig"},arrow:{oneOf:[{type:"string",enum:["ignore"]},{$ref:"#/items/0/$defs/spacingConfig"}]},variable:{$ref:"#/items/0/$defs/spacingConfig"},parameter:{$ref:"#/items/0/$defs/spacingConfig"},property:{$ref:"#/items/0/$defs/spacingConfig"},returnType:{$ref:"#/items/0/$defs/spacingConfig"}},additionalProperties:!1}},additionalProperties:!1}],defaultOptions:[{}],messages:{expectedSpaceAfter:"Expected a space after the '{{type}}'.",expectedSpaceBefore:"Expected a space before the '{{type}}'.",unexpectedSpaceAfter:"Unexpected space after the '{{type}}'.",unexpectedSpaceBefore:"Unexpected space before the '{{type}}'.",unexpectedSpaceBetween:"Unexpected space between the '{{previousToken}}' and the '{{type}}'."}},create(e,[t]){let n,r,i,s,a=[":","=>"],o=e.sourceCode,l=(n={...t?.before!==void 0?{before:t.before}:{},...t?.after!==void 0?{after:t.after}:{}},r=t?.overrides??{},i={before:!1,after:!0,...n,...r?.colon},s="string"==typeof r.arrow?r.arrow:{before:!0,after:!0,...n,...r?.arrow},Object.hasOwn(r,"arrow")&&"ignore"!==r.arrow&&nU('options("overrides.arrow")','"arrow-spacing"',"type-annotation-spacing"),{colon:i,arrow:s,variable:{...i,...r?.variable},property:{...i,...r?.property},parameter:{...i,...r?.parameter},returnType:{...i,...r?.returnType}});function p(t){let n=o.getTokenBefore(t,nK.isNotOpeningParenToken),r=n,i=o.getTokenBefore(n),s=n.value;if(!a.includes(s))return;let p=function(e,t){let n=t?.parent?.parent;if((0,nK.isTSFunctionType)(n)||(0,nK.isTSConstructorType)(n))return e.arrow;if((0,nK.isIdentifier)(n)){let t;return t=n?.parent,(0,nK.isVariableDeclarator)(t)?e.variable:(0,nK.isFunctionOrFunctionType)(t)?e.parameter:e.colon}return(0,nK.isClassOrTypeElement)(n)?e.property:(0,nK.isFunction)(n)?e.returnType:e.colon}(l,t);if("ignore"===p)return;let{before:c,after:u}=p;":"===s&&"?"===i.value&&(o.isSpaceBetween(i,r)&&e.report({node:r,messageId:"unexpectedSpaceBetween",data:{type:s,previousToken:i.value},fix:e=>e.removeRange([i.range[1],r.range[0]])}),s="?:",r=i,("+"===(i=o.getTokenBefore(i)).value||"-"===i.value)&&(s=`${i.value}?:`,r=i,i=o.getTokenBefore(i)));let f=o.isSpaceBetween(n,t);u&&!f?e.report({node:n,messageId:"expectedSpaceAfter",data:{type:s},fix:e=>e.insertTextAfter(n," ")}):!u&&f&&e.report({node:n,messageId:"unexpectedSpaceAfter",data:{type:s},fix:e=>e.removeRange([n.range[1],t.range[0]])});let d=o.isSpaceBetween(i,r);c&&!d?e.report({node:r,messageId:"expectedSpaceBefore",data:{type:s},fix:e=>e.insertTextAfter(i," ")}):!c&&d&&e.report({node:r,messageId:"unexpectedSpaceBefore",data:{type:s},fix:e=>e.removeRange([i.range[1],r.range[0]])})}return{TSMappedType(e){e.typeAnnotation&&p(e.typeAnnotation)},TSTypeAnnotation(e){p(e.typeAnnotation)}}}});let aA=new Set(["TSCallSignatureDeclaration","ArrowFunctionExpression","TSFunctionType","TSConstructorType","FunctionExpression","ClassExpression"]);var aC=rE({name:"type-generic-spacing",meta:{type:"layout",docs:{description:"Enforces consistent spacing inside TypeScript type generics"},fixable:"whitespace",schema:[],messages:{genericSpacingMismatch:"Generic spaces mismatch"}},create:e=>{let t=e.sourceCode;function n(n,r){let i=t.text.slice(n.range[1],r.range[0]);/\s/.test(i)&&!/^[\r\n]/.test(i)&&e.report({loc:{start:n.loc.end,end:r.loc.start},messageId:"genericSpacingMismatch",*fix(e){yield e.replaceTextRange([n.range[1],r.range[0]],"")}})}function r(e,r){if(e){let r=t.getTokenAfter(e);r&&n(e,r)}if(r){let e=t.getTokenBefore(r);e&&n(e,r)}}return{TSTypeParameterInstantiation:e=>{let n=e.params;0!==n.length&&r(t.getTokenBefore(n[0]),t.getTokenAfter(n[n.length-1]))},TSTypeParameterDeclaration:n=>{if(!aA.has(n.parent.type)){let r=t.text.slice(0,n.range[0]).match(/(\s+)$/)?.[0];r&&r.length&&e.report({node:n,messageId:"genericSpacingMismatch",*fix(e){yield e.replaceTextRange([n.range[0]-r.length,n.range[0]],"")}})}let i=n.params;0!==i.length&&r(t.getTokenBefore(i[0]),t.getTokenAfter(i[i.length-1]))},TSTypeParameter:n=>{if(!n.default)return;let r=n.constraint||n.name,i=r.range[1],s=n.default.range[0],a=t.text.slice(i,s);a.match(/(?:^|[^ ]) = (?:$|[^ ])/)||e.report({*fix(e){yield e.replaceTextRange([i,s],a.replace(/\s*=\s*/," = "))},loc:{start:r.loc.end,end:n.default.loc.start},messageId:"genericSpacingMismatch",node:n})}}}});let a_=/^([\w$]+)(\s*)(\?\s*)?:(\s*)(.*)$/,aO={meta:{name:"@stylistic/eslint-plugin",version:"5.10.0",namespace:"@stylistic"},rules:{"array-bracket-newline":rL,"array-bracket-spacing":rB,"array-element-newline":rD,"arrow-parens":rj,"arrow-spacing":rR,"block-spacing":rF,"brace-style":rM,"comma-dangle":rV,"comma-spacing":rq,"comma-style":rY,"computed-property-spacing":rX,"curly-newline":rQ,"dot-location":rZ,"eol-last":r0,"function-call-argument-newline":r1,"function-call-spacing":r2,"function-paren-newline":r3,"generator-star-spacing":r6,"implicit-arrow-linebreak":r5,indent:ii,"indent-binary-ops":r9,"jsx-child-element-spacing":ia,"jsx-closing-bracket-location":io,"jsx-closing-tag-location":ip,"jsx-curly-brace-presence":iu,"jsx-curly-newline":id,"jsx-curly-spacing":ix,"jsx-equals-spacing":iT,"jsx-first-prop-new-line":iS,"jsx-function-call-newline":ib,"jsx-indent":ik,"jsx-indent-props":iE,"jsx-max-props-per-line":iv,"jsx-newline":iw,"jsx-one-expression-per-line":iA,"jsx-pascal-case":iL,"jsx-props-no-multi-spaces":iB,"exp-jsx-props-style":iD,"jsx-quotes":iR,"jsx-self-closing-comp":iF,"jsx-sort-props":iJ,"jsx-tag-spacing":iH,"jsx-wrap-multilines":iz,"key-spacing":iQ,"keyword-spacing":i5,"line-comment-position":i9,"linebreak-style":i8,"lines-around-comment":sn,"lines-between-class-members":si,"exp-list-style":ss,"max-len":sl,"max-statements-per-line":sc,"member-delimiter-style":sf,"multiline-comment-style":sd,"multiline-ternary":sm,"new-parens":sh,"newline-per-chained-call":sg,"no-confusing-arrow":sy,"no-extra-parens":sT,"no-extra-semi":sS,"no-floating-decimal":sb,"no-mixed-operators":sP,"no-mixed-spaces-and-tabs":sI,"no-multi-spaces":sN,"no-multiple-empty-lines":sL,"no-tabs":sj,"no-trailing-spaces":sR,"no-whitespace-before-property":sF,"nonblock-statement-body-position":s$,"object-curly-newline":sq,"object-curly-spacing":sY,"object-property-newline":sX,"one-var-declaration-per-line":sJ,"operator-linebreak":sU,"padded-blocks":sK,"padding-line-between-statements":at,"quote-props":an,quotes:ao,"rest-spread-spacing":al,semi:au,"semi-spacing":ap,"semi-style":ac,"space-before-blocks":af,"space-before-function-paren":ad,"space-in-parens":am,"space-infix-ops":ag,"space-unary-ops":ay,"spaced-comment":ab,"switch-colon-spacing":aE,"template-curly-spacing":ak,"template-tag-spacing":av,"type-annotation-spacing":aw,"type-generic-spacing":aC,"type-named-tuple-spacing":rE({name:"type-named-tuple-spacing",meta:{type:"layout",docs:{description:"Expect space before the type declaration in the named tuple"},fixable:"whitespace",schema:[],messages:{expectedSpaceAfter:"Expected a space after the ':'.",unexpectedSpaceBetween:"Unexpected space between '?' and the ':'.",unexpectedSpaceBefore:"Unexpected space before the ':'."}},create:e=>{let t=e.sourceCode;return{TSNamedTupleMember(n){let r=t.text.slice(n.range[0],n.range[1]),i=r.match(a_);if(!i)return;let s=n.label.name,a=i[2],o=i[3],l=i[4],p=i[5];function c(){let e=s;return n.optional&&(e+="?"),e+=": ",e+=p}o?.length>1&&e.report({node:n,messageId:"unexpectedSpaceBetween",*fix(e){yield e.replaceTextRange(n.range,r.replace(a_,c()))}}),a?.length&&e.report({node:n,messageId:"unexpectedSpaceBefore",*fix(e){yield e.replaceTextRange(n.range,r.replace(a_,c()))}}),null!=l&&1!==l.length&&e.report({node:n,messageId:"expectedSpaceAfter",*fix(e){yield e.replaceTextRange(n.range,r.replace(a_,c()))}})}}}}),"wrap-iife":rE({name:"wrap-iife",meta:{type:"layout",docs:{description:"Require parentheses around immediate `function` invocations"},fixable:"code",schema:[{type:"string",enum:["outside","inside","any"]},{type:"object",properties:{functionPrototypeMethods:{type:"boolean"}},additionalProperties:!1}],defaultOptions:["outside",{functionPrototypeMethods:!1}],messages:{wrapInvocation:"Wrap an immediate function invocation in parentheses.",wrapExpression:"Wrap only the function expression in parens.",moveInvocation:"Move the invocation into the parens that contain the function."}},create(e,[t,n]){let r=n.functionPrototypeMethods,i=e.sourceCode;return{CallExpression(n){let s,a="FunctionExpression"===(s=n5(n.callee)).type?s:r&&"MemberExpression"===s.type&&"FunctionExpression"===s.object.type&&("call"===n6(s)||"apply"===n6(s))?s.object:null;if(!a)return;let o=n9(i,n),l=n9(i,a);o||l?"inside"!==t||l?"outside"!==t||o||e.report({node:n,messageId:"moveInvocation",fix(e){let t=i.getTokenAfter(a);return e.replaceTextRange([t.range[0],n.range[1]],`${i.getText().slice(t.range[1],n.range[1])})`)}}):e.report({node:n,messageId:"wrapExpression",fix(e){let t;if((0,nK.isParenthesized)(n,i)&&(t=n.parent?.type==="ChainExpression"?n.parent:n,t.parent?.type!=="NewExpression"||t.parent.callee!==t)){let t=i.getTokenAfter(n);return e.replaceTextRange([a.range[1],t.range[1]],`)${i.getText().slice(a.range[1],t.range[0])}`)}return e.replaceText(a,`(${i.getText(a)})`)}}):e.report({node:n,messageId:"wrapInvocation",fix(e){let r="inside"===t?a:n;return e.replaceText(r,`(${i.getText(r)})`)}})}}}}),"wrap-regex":rE({name:"wrap-regex",meta:{type:"layout",docs:{description:"Require parenthesis around regex literals"},fixable:"code",schema:[],messages:{requireParens:"Wrap the regexp literal in parens to disambiguate the slash."}},create(e){let t=e.sourceCode;return{Literal(n){if("RegularExpression"===t.getFirstToken(n).type){let r=t.getTokenBefore(n),i=t.getTokenAfter(n),{parent:s}=n;"MemberExpression"!==s.type||s.object!==n||r&&"("===r.value&&i&&")"===i.value||e.report({node:n,messageId:"requireParens",fix:e=>e.replaceText(n,`(${t.getText(n)})`)})}}}}}),"yield-star-spacing":rE({name:"yield-star-spacing",meta:{type:"layout",docs:{description:"Require or disallow spacing around the `*` in `yield*` expressions"},fixable:"whitespace",schema:[{oneOf:[{type:"string",enum:["before","after","both","neither"]},{type:"object",properties:{before:{type:"boolean"},after:{type:"boolean"}},additionalProperties:!1}]}],defaultOptions:["after"],messages:{missingBefore:"Missing space before *.",missingAfter:"Missing space after *.",unexpectedBefore:"Unexpected space before *.",unexpectedAfter:"Unexpected space after *."}},create(e,[t]){let n=e.sourceCode,r="string"==typeof t?({before:{before:!0,after:!1},after:{before:!1,after:!0},both:{before:!0,after:!0},neither:{before:!1,after:!1}})[t]:t;function i(t,i,s){if(n.isSpaceBetween(i,s)!==r[t]){let n="*"===i.value,a=r[t],o=n?i:s;e.report({node:o,messageId:a?"before"===t?"missingBefore":"missingAfter":"before"===t?"unexpectedBefore":"unexpectedAfter",fix:e=>a?n?e.insertTextAfter(o," "):e.insertTextBefore(o," "):e.removeRange([i.range[1],s.range[0]])})}}return{YieldExpression:function(e){if(!("delegate"in e&&e.delegate))return;let t=n.getFirstTokens(e,3),r=t[0],s=t[1],a=t[2];i("before",r,s),i("after",s,a)}}}})}};function aP(e={}){let t=aO.meta.namespace,{arrowParens:n=!1,blockSpacing:r=!0,braceStyle:i="stroustrup",commaDangle:s="always-multiline",experimental:a=!1,indent:o=2,jsx:l=!0,pluginName:p=t,quoteProps:c="consistent-as-needed",quotes:u="single",semi:f=!1,severity:d="error"}=e,[m=2,h={ArrayExpression:1,CallExpression:{arguments:1},flatTernaryExpressions:!1,FunctionDeclaration:{body:1,parameters:1,returnType:1},FunctionExpression:{body:1,parameters:1,returnType:1},ignoreComments:!1,ignoredNodes:["TSUnionType","TSIntersectionType"],ImportDeclaration:1,MemberExpression:1,ObjectExpression:1,offsetTernaryExpressions:!0,outerIIFEBody:1,SwitchCase:1,tabLength:"tab"===m?4:m,VariableDeclarator:1}]=Array.isArray(o)?o:[o],g={"@stylistic/array-bracket-spacing":[d,"never"],"@stylistic/arrow-parens":[d,n?"always":"as-needed",{requireForBlockBody:!0}],"@stylistic/arrow-spacing":[d,{after:!0,before:!0}],"@stylistic/block-spacing":[d,r?"always":"never"],"@stylistic/brace-style":[d,i,{allowSingleLine:!0}],"@stylistic/comma-dangle":[d,s],"@stylistic/comma-spacing":[d,{after:!0,before:!1}],"@stylistic/comma-style":[d,"last"],"@stylistic/computed-property-spacing":[d,"never",{enforceForClassMembers:!0}],"@stylistic/dot-location":[d,"property"],"@stylistic/eol-last":d,"@stylistic/generator-star-spacing":[d,{after:!0,before:!1}],"@stylistic/indent":[d,m,h],"@stylistic/indent-binary-ops":[d,m],"@stylistic/key-spacing":[d,{afterColon:!0,beforeColon:!1}],"@stylistic/keyword-spacing":[d,{after:!0,before:!0}],"@stylistic/lines-between-class-members":[d,"always",{exceptAfterSingleLine:!0}],"@stylistic/max-statements-per-line":[d,{max:1}],"@stylistic/member-delimiter-style":[d,{multiline:{delimiter:f?"semi":"none",requireLast:f},multilineDetection:"brackets",overrides:{interface:{multiline:{delimiter:f?"semi":"none",requireLast:f}}},singleline:{delimiter:f?"semi":"comma"}}],"@stylistic/multiline-ternary":[d,"always-multiline"],"@stylistic/new-parens":d,"@stylistic/no-extra-parens":[d,"functions"],"@stylistic/no-floating-decimal":d,"@stylistic/no-mixed-operators":[d,{allowSamePrecedence:!0,groups:[["==","!=","===","!==",">",">=","<","<="],["&&","||"],["in","instanceof"]]}],"@stylistic/no-mixed-spaces-and-tabs":d,"@stylistic/no-multi-spaces":d,"@stylistic/no-multiple-empty-lines":[d,{max:1,maxBOF:0,maxEOF:0}],"@stylistic/no-tabs":"tab"===m?"off":d,"@stylistic/no-trailing-spaces":d,"@stylistic/no-whitespace-before-property":d,"@stylistic/object-curly-spacing":[d,"always"],"@stylistic/operator-linebreak":[d,"before"],"@stylistic/padded-blocks":[d,{blocks:"never",classes:"never",switches:"never"}],"@stylistic/quote-props":[d,c],"@stylistic/quotes":[d,u,{allowTemplateLiterals:"always",avoidEscape:!1}],"@stylistic/rest-spread-spacing":[d,"never"],"@stylistic/semi":[d,f?"always":"never"],"@stylistic/semi-spacing":[d,{after:!0,before:!1}],"@stylistic/space-before-blocks":[d,"always"],"@stylistic/space-before-function-paren":[d,{anonymous:"always",asyncArrow:"always",named:"never"}],"@stylistic/space-in-parens":[d,"never"],"@stylistic/space-infix-ops":d,"@stylistic/space-unary-ops":[d,{nonwords:!1,words:!0}],"@stylistic/spaced-comment":[d,"always",{block:{balanced:!0,exceptions:["*"],markers:["!"]},line:{exceptions:["/","#"],markers:["/"]}}],"@stylistic/template-curly-spacing":d,"@stylistic/template-tag-spacing":[d,"never"],"@stylistic/type-annotation-spacing":[d,{}],"@stylistic/type-generic-spacing":d,"@stylistic/type-named-tuple-spacing":d,"@stylistic/wrap-iife":[d,"any",{functionPrototypeMethods:!0}],"@stylistic/yield-star-spacing":[d,{after:!0,before:!1}],...l?{"@stylistic/jsx-closing-bracket-location":d,"@stylistic/jsx-closing-tag-location":d,"@stylistic/jsx-curly-brace-presence":[d,{propElementValues:"always"}],"@stylistic/jsx-curly-newline":d,"@stylistic/jsx-curly-spacing":[d,"never"],"@stylistic/jsx-equals-spacing":d,"@stylistic/jsx-first-prop-new-line":d,"@stylistic/jsx-function-call-newline":[d,"multiline"],"@stylistic/jsx-indent-props":[d,m],"@stylistic/jsx-max-props-per-line":[d,{maximum:1,when:"multiline"}],"@stylistic/jsx-one-expression-per-line":[d,{allow:"single-child"}],"@stylistic/jsx-quotes":d,"@stylistic/jsx-tag-spacing":[d,{afterOpening:"never",beforeClosing:"never",beforeSelfClosing:"always",closingSlash:"never"}],"@stylistic/jsx-wrap-multilines":[d,{arrow:"parens-new-line",assignment:"parens-new-line",condition:"parens-new-line",declaration:"parens-new-line",logical:"parens-new-line",prop:"parens-new-line",propertyValue:"parens-new-line",return:"parens-new-line"}]}:{}};if(a&&(g={...g,"@stylistic/array-bracket-newline":"off","@stylistic/array-bracket-spacing":"off","@stylistic/array-element-newline":"off","@stylistic/exp-list-style":d,"@stylistic/function-call-argument-newline":"off","@stylistic/function-paren-newline":"off","@stylistic/object-curly-newline":"off","@stylistic/object-curly-spacing":"off","@stylistic/object-property-newline":"off",...l?{"@stylistic/exp-jsx-props-style":d,"@stylistic/jsx-first-prop-new-line":"off","@stylistic/jsx-function-call-newline":"off","@stylistic/jsx-max-props-per-line":"off"}:{}}),p!==t){let e=RegExp(`^${t}/`);g=Object.fromEntries(Object.entries(g).map(([t,n])=>[t.replace(e,`${p}/`),n]))}return{plugins:{[p]:aO},rules:g}}let aI=[/^jsx-/,/^curly-newline$/],aN=(i="@stylistic",s=e=>!aI.some(t=>t.test(e)),n=Object.fromEntries(Object.entries(aO.rules).filter(([e,t])=>t.meta.fixable&&!t.meta.deprecated&&!t.meta.experimental&&e===t.meta.docs.url.split("/").pop()&&(!s||s(e))).map(([e])=>[`${i}/${e}`,2])),{plugins:{[i]:aO},rules:n}),aL=aP(),aB=Object.assign(aO,{configs:new Proxy({"disable-legacy":{rules:{"array-bracket-newline":0,"array-bracket-spacing":0,"array-element-newline":0,"arrow-parens":0,"arrow-spacing":0,"block-spacing":0,"brace-style":0,"comma-dangle":0,"comma-spacing":0,"comma-style":0,"computed-property-spacing":0,"dot-location":0,"eol-last":0,"func-call-spacing":0,"function-call-argument-newline":0,"function-paren-newline":0,"generator-star-spacing":0,"implicit-arrow-linebreak":0,indent:0,"jsx-quotes":0,"key-spacing":0,"keyword-spacing":0,"linebreak-style":0,"lines-around-comment":0,"lines-between-class-members":0,"max-len":0,"max-statements-per-line":0,"multiline-ternary":0,"multiline-comment-style":0,"new-parens":0,"newline-per-chained-call":0,"no-confusing-arrow":0,"no-extra-parens":0,"no-extra-semi":0,"no-floating-decimal":0,"no-mixed-operators":0,"no-mixed-spaces-and-tabs":0,"no-multi-spaces":0,"no-multiple-empty-lines":0,"no-tabs":0,"no-trailing-spaces":0,"no-whitespace-before-property":0,"nonblock-statement-body-position":0,"object-curly-newline":0,"object-curly-spacing":0,"object-property-newline":0,"one-var-declaration-per-line":0,"operator-linebreak":0,"padded-blocks":0,"padding-line-between-statements":0,"quote-props":0,quotes:0,"rest-spread-spacing":0,semi:0,"semi-spacing":0,"semi-style":0,"space-before-blocks":0,"space-before-function-paren":0,"space-in-parens":0,"space-infix-ops":0,"space-unary-ops":0,"spaced-comment":0,"switch-colon-spacing":0,"template-curly-spacing":0,"template-tag-spacing":0,"wrap-iife":0,"wrap-regex":0,"yield-star-spacing":0,"@typescript-eslint/block-spacing":0,"@typescript-eslint/brace-style":0,"@typescript-eslint/comma-dangle":0,"@typescript-eslint/comma-spacing":0,"@typescript-eslint/func-call-spacing":0,"@typescript-eslint/indent":0,"@typescript-eslint/key-spacing":0,"@typescript-eslint/keyword-spacing":0,"@typescript-eslint/lines-around-comment":0,"@typescript-eslint/lines-between-class-members":0,"@typescript-eslint/member-delimiter-style":0,"@typescript-eslint/no-extra-parens":0,"@typescript-eslint/no-extra-semi":0,"@typescript-eslint/object-curly-spacing":0,"@typescript-eslint/padding-line-between-statements":0,"@typescript-eslint/quotes":0,"@typescript-eslint/semi":0,"@typescript-eslint/space-before-blocks":0,"@typescript-eslint/space-before-function-paren":0,"@typescript-eslint/space-infix-ops":0,"@typescript-eslint/type-annotation-spacing":0,"react/jsx-child-element-spacing":0,"react/jsx-closing-bracket-location":0,"react/jsx-closing-tag-location":0,"react/jsx-curly-brace-presence":0,"react/jsx-curly-newline":0,"react/jsx-curly-spacing":0,"react/jsx-equals-spacing":0,"react/jsx-first-prop-new-line":0,"react/jsx-indent":0,"react/jsx-indent-props":0,"react/jsx-max-props-per-line":0,"react/jsx-newline":0,"react/jsx-one-expression-per-line":0,"react/jsx-pascal-case":0,"react/jsx-props-no-multi-spaces":0,"react/self-closing-comp":0,"react/jsx-sort-props":0,"react/jsx-tag-spacing":0,"react/jsx-wrap-multilines":0}},customize:aP,recommended:aL,"recommended-flat":aL,all:aN,"all-flat":aN},{get(e,t,n){let r=t.toString();return r.endsWith("-flat")&&nU(`config("${r}")`,`"${r.replace("-flat","")}"`),Reflect.get(e,t,n)}})});exports.stylistic_eslint_plugin=aB;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eslint-sukka/eslint-plugin-stylistic",
3
- "version": "8.9.1",
3
+ "version": "8.9.2",
4
4
  "homepage": "https://github.com/SukkaW/eslint-config-sukka",
5
5
  "repository": {
6
6
  "url": "https://github.com/SukkaW/eslint-config-sukka",
@@ -22,7 +22,7 @@
22
22
  "license": "MIT",
23
23
  "devDependencies": {
24
24
  "@stylistic/eslint-plugin": "^5.10.0",
25
- "@eslint-sukka/rollup-config": "8.9.1"
25
+ "@eslint-sukka/rollup-config": "8.9.2"
26
26
  },
27
27
  "peerDependencies": {
28
28
  "eslint": "*"