@eslint-sukka/react 6.22.0 → 6.22.1

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.
package/dist/index.mjs CHANGED
@@ -19,4 +19,4 @@ ${t.map(e=>`${n} * ${e}`).join("\n")}
19
19
  ${n} */`}(r,i))}});else{let n=r.value.split(i7),i=o(r),a=`${i} *`;if(!/^\*?\s*$/u.test(n[0])){let t=r.value.startsWith("*")?r.range[0]+1:r.range[0];e.report({loc:{start:r.loc.start,end:{line:r.loc.start.line,column:r.loc.start.column+2}},messageId:"startNewline",fix:e=>e.insertTextAfterRange([t,t+2],`
20
20
  ${a}`)})}/^\s*$/u.test(n.at(-1))||e.report({loc:{start:{line:r.loc.end.line,column:r.loc.end.column-2},end:r.loc.end},messageId:"endNewline",fix:e=>e.replaceTextRange([r.range[1]-2,r.range[1]],`
21
21
  ${a}/`)});for(let i=r.loc.start.line+1;i<=r.loc.end.line;i++){let s=t.lines[i-1],o=/^\s*\*/u.test(s)?"alignment":"missingStar";s.startsWith(a)||e.report({loc:{start:{line:i,column:0},end:{line:i,column:s.length}},messageId:o,fix(e){let l,c=t.getIndexFromLoc({line:i,column:0});if("alignment"===o){let[,t=""]=s.match(/^(\s*\*)/u)||[],n=c+t.length;return e.replaceTextRange([c,n],a)}let[,p=""]=s.match(/^(\s*)/u)||[],u=c+p.length;for(let[e,i]of n.entries()){if(!/\S+/u.test(i))continue;let[,n="",a=""]=t.lines[r.loc.start.line-1+e].match(/^(\s*(?:\/?\*)?(\s*))/u)||[];l=`${p.slice(n.length)}${a}`,/^\s*\//u.test(s)&&0===l.length&&(l+=" ");break}return e.replaceTextRange([c,u],`${a}${l}`)}})}}},"separate-lines":function(n){let[i]=n,l=a(n);if("Block"!==i.type||!r&&l)return;let c=s(n);l&&(c=c.slice(1,c.length-1));let p=t.getTokenAfter(i,{includeComments:!0});p&&i.loc.end.line===p.loc.start.line||e.report({loc:{start:i.loc.start,end:{line:i.loc.start.line,column:i.loc.start.column+2}},messageId:"expectedLines",fix:e=>e.replaceText(i,c.map(e=>`// ${e}`).join(`
22
- ${o(i)}`))})},"bare-block":function(t){if(a(t))return;let[n]=t,r=s(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]],l(n,r))}),i(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,l(n,r))})}};return{Program:()=>t.getAllComments().filter(e=>"Shebang"!==e.type).filter(e=>!i9.test(e.value)).filter(e=>{let n=t.getTokenBefore(e,{includeComments:!0});return!n||n.loc.end.line<e.loc.start.line}).reduce((e,n,r,i)=>{let a=t.getTokenBefore(n,{includeComments:!0});return"Line"===n.type&&r&&"Line"===i[r-1].type&&a&&a.loc.end.line===n.loc.start.line-1&&a===i[r-1]?e.at(-1).push(n):e.push([n]),e},[]).filter(e=>1!==e.length||e[0].loc.start.line!==e[0].loc.end.line).forEach(c[n])}}}),fJ=a$({name:"multiline-ternary",package:"js",meta:{type:"layout",docs:{description:"Enforce newlines between operands of ternary expressions"},schema:[{type:"string",enum:["always","always-multiline","never"]},{type:"object",properties:{ignoreJSX:{type:"boolean",default:!1}}}],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."},fixable:"whitespace"},create(e){let t=e.sourceCode,n="never"!==e.options[0],r="always-multiline"===e.options[0],i=e.options[1]&&e.options[1].ignoreJSX;return{ConditionalExpression(a){let s=t.getTokenAfter(a.test,aL),o=t.getTokenAfter(a.consequent,aL),l=t.getFirstToken(a),c=t.getTokenBefore(s),p=t.getTokenAfter(s),u=t.getTokenBefore(o),d=t.getTokenAfter(o),f=ak(c,p),m=ak(u,d),E=!!t.getCommentsInside(a).length;if(i&&("JSXElement"===a.parent.type||"JSXFragment"===a.parent.type||"JSXExpressionContainer"===a.parent.type))return null;if(n){if(r&&a.loc.start.line===a.loc.end.line)return;f&&e.report({node:a.test,loc:{start:l.loc.start,end:c.loc.end},messageId:"expectedTestCons",fix:e=>E?null:e.replaceTextRange([c.range[1],s.range[0]],"\n")}),m&&e.report({node:a.consequent,loc:{start:p.loc.start,end:u.loc.end},messageId:"expectedConsAlt",fix:e=>E?null:e.replaceTextRange([u.range[1],o.range[0]],"\n")})}else f||e.report({node:a.test,loc:{start:l.loc.start,end:c.loc.end},messageId:"unexpectedTestCons",fix(e){if(E)return null;let t=[],n=ak(c,s),r=ak(s,p);return n||t.push(e.removeRange([c.range[1],s.range[0]])),r||t.push(e.removeRange([s.range[1],p.range[0]])),t}}),m||e.report({node:a.consequent,loc:{start:p.loc.start,end:u.loc.end},messageId:"unexpectedConsAlt",fix(e){if(E)return null;let t=[],n=ak(u,o),r=ak(o,d);return n||t.push(e.removeRange([u.range[1],o.range[0]])),r||t.push(e.removeRange([o.range[1],d.range[0]])),t}})}}}}),fK=a$({name:"new-parens",package:"js",meta:{type:"layout",docs:{description:"Enforce or disallow parentheses when invoking a constructor with no arguments"},fixable:"code",schema:[{type:"string",enum:["always","never"]}],messages:{missing:"Missing '()' invoking a constructor.",unnecessary:"Unnecessary '()' invoking a constructor with no arguments."}},create(e){let t="never"!==e.options[0],n=e.sourceCode;return{NewExpression(r){if(0!==r.arguments.length)return;let i=n.getLastToken(r),a=i&&ah(i),s=n.getTokenBefore(i),o=a&&aT(s)&&r.callee.range[1]<r.range[1];t?o||e.report({node:r,messageId:"missing",fix:e=>e.insertTextAfter(r,"()")}):o&&e.report({node:r,messageId:"unnecessary",fix:e=>[e.remove(s),e.remove(i),e.insertTextBefore(r,"("),e.insertTextAfter(r,")")]})}}}}),fz=a$({name:"newline-per-chained-call",package:"js",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,default:2}},additionalProperties:!1}],messages:{expected:"Expected line break before `{{callee}}`."}},create(e){let t=(e.options[0]||{}).ignoreChainWithDepth||2,n=e.sourceCode;return{"CallExpression:exit":function(r){let i=ao(r.callee);if("MemberExpression"!==i.type)return;let a=ao(i.object),s=1;for(;a&&"callee"in a&&a.callee;){s+=1;let e=ao(a.callee);if(!("object"in e))break;a=ao(e.object)}if(s>t&&ak(i.object,i.property)){let t=n.getTokenAfter(i.object,aL);e.report({node:i.property,loc:{start:t.loc.start,end:i.loc.end},messageId:"expected",data:{callee:function(e){var t;let r=(t=e).computed?t.optional?"?.[":"[":t.optional?"?.":".",i=n.getText(e.property).split(i7),a=e.computed&&1===i.length?"]":"";return r+i[0]+a}(i)},fix:e=>e.insertTextBefore(t,"\n")})}}}}}),fQ=a$({name:"no-confusing-arrow",package:"js",meta:{type:"layout",docs:{description:"Disallow arrow functions where they could be confused with comparisons"},fixable:"code",schema:[{type:"object",properties:{allowParens:{type:"boolean",default:!0},onlyOneSimpleParam:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{confusing:"Arrow function used ambiguously with a conditional expression."}},create(e){let t=e.options[0]||{},n=t.allowParens||void 0===t.allowParens,r=t.onlyOneSimpleParam,i=e.sourceCode;return{ArrowFunctionExpression:function(t){let a=t.body;"ConditionalExpression"!==a.type||n&&ac(i,a)||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})}}}}),fZ=a$({name:"no-extra-parens",package:"ts",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"}},additionalProperties:!1}],minItems:0,maxItems:2}]},messages:{unexpected:"Unnecessary parentheses around expression."}},defaultOptions:["all"],create(e){let t,n=e.sourceCode,r=new WeakSet,i="functions"!==e.options[0],a=i&&e.options[1]&&!1===e.options[1].conditionalAssign,s=i&&e.options[1]&&!1===e.options[1].ternaryOperandBinaryExpressions,o=i&&e.options[1]&&!1===e.options[1].nestedBinaryExpressions,l=i&&e.options[1]&&!1===e.options[1].returnAssign,c=i&&e.options[1]&&e.options[1].ignoreJSX,p=i&&e.options[1]&&!1===e.options[1].enforceForArrowConditionals,u=i&&e.options[1]&&!1===e.options[1].enforceForSequenceExpressions,d=i&&e.options[1]&&!1===e.options[1].enforceForNewInMemberExpressions,f=i&&e.options[1]&&!1===e.options[1].enforceForFunctionPrototypeMethods,m=i&&e.options[1]&&e.options[1].allowParensAfterCommentPattern,E=i&&e.options[1]&&!1===e.options[1].nestedConditionalExpressions,T=aD({type:"AssignmentExpression"}),h=aD({type:"UpdateExpression"});function g(e){let t=ao(e);if("CallExpression"!==t.type)return!1;let n=ao(t.callee);return"MemberExpression"===n.type&&"FunctionExpression"===n.object.type&&["call","apply"].includes(as(n))}function y(e){if("JSXElement"===e.type||"JSXFragment"===e.type){let t=e.loc.start.line===e.loc.end.line;switch(c){case"all":return!1;case"multi-line":return t;case"single-line":return!t}}return!("SequenceExpression"===e.type&&u||g(e)&&f)&&(i||"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type)}function S(e){return aF(e,n,1)}function P(e){return aF(e,n,2)}function b(e){return y(e)&&S(e)}function x(e){return y(e)&&P(e)}function _(e,t){return!!(y(e)&&S(e)&&(aD(e)>=t||P(e)))}function v(e){return a&&e.test&&"AssignmentExpression"===e.test.type}function A(e){let t=n.getLastToken(e),r=n.getTokenBefore(t);return e.arguments.length>0||da.isOpeningParenToken(r)&&ah(t)&&e.callee.range[1]<e.range[1]}function Y(e){let t=e.object,n=e.object.type;for(;"MemberExpression"===n&&"object"in t;)n=(t=t.object).type;return"CallExpression"===n}function C(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 k(e){return!!l&&!!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&&C(e.argument):"ArrowFunctionExpression"===e.type&&"BlockStatement"!==e.body.type?C(e.body):C(e))}function L(e,t){return e.loc.end.line===t.loc.start.line?b(t):x(t)}function w(e){let t=ao(e);return"CallExpression"===t.type&&"FunctionExpression"===t.callee.type}function O(e){return!!(e&&("Identifier"===e.type||"MemberExpression"===e.type))}function I(i){let a=n.getTokenBefore(i),s=n.getTokenAfter(i);if(!P(i)){if(r.has(n.getFirstToken(i))||w(i)&&!("callee"in i&&S(i.callee)))return;if(m){let e=n.getCommentsBefore(a),t=e.length,r=RegExp(m,"u");if(t>0&&r.test(e[t-1].value))return}}function o(){e.report({node:i,loc:a.loc,messageId:"unexpected",fix:"Literal"!==i.type||"string"!=typeof i.value||P(i)||!aC(i.parent)?e=>{let t=n.text.slice(a.range[1],s.range[0]);return e.replaceTextRange([a.range[0],s.range[1]],(!function(e){let t=n.getTokenBefore(e),r=n.getTokenBefore(t,{includeComments:!0}),i=n.getTokenAfter(t,{includeComments:!0});return r&&r.range[1]===t.range[0]&&t.range[1]===i.range[0]&&!aR(r,i)}(i)?"":" ")+t+(!function(e){let t=n.getTokensAfter(e,{count:2}),r=t[0],i=t[1],a=n.getLastToken(e);return r&&i&&!n.isSpaceBetween(r,i)&&!aR(a,i)}(i)?"":" "))}:null})}if(t)return void t.reports.push({node:i,finishReport:o});o()}function V(e){"argument"in e&&e.argument&&_(e.argument,aD(e))&&I(e.argument)}function D(e){let t=da.isTypeAssertion(e.left),n=da.isTypeAssertion(e.right);if(t&&n)return;let r=e=>{let t=aD(e),n=aD(e.left),r=aD(e.right),i="**"===e.operator,a=o&&("BinaryExpression"===e.left.type||"LogicalExpression"===e.left.type),s=o&&("BinaryExpression"===e.right.type||"LogicalExpression"===e.right.type);!a&&b(e.left)&&(!(["AwaitExpression","UnaryExpression"].includes(e.left.type)&&i)&&!aA(e.left,e)&&!("ReturnStatement"===e.parent.type&&e.parent.loc.start.line!==e.left.loc.start.line&&!S(e))&&(n>t||n===t&&!i)||P(e.left))&&I(e.left),!s&&b(e.right)&&(!aA(e.right,e)&&(r>t||r===t&&i)||P(e.right))&&I(e.right)};return r(t?{...e,left:{...e.left,type:di.AST_NODE_TYPES.SequenceExpression}}:n?{...e,right:{...e.right,type:di.AST_NODE_TYPES.SequenceExpression}}:e)}function N(e){let t=e=>{let t=e.callee;_(t,aD(e))&&(x(t)||!(w(e)||"NewExpression"===t.type&&!A(t)&&!("NewExpression"===e.type&&!A(e))||"NewExpression"===e.type&&"MemberExpression"===t.type&&Y(t)||(!("optional"in e)||!e.optional)&&"ChainExpression"===t.type))&&I(e.callee),e.arguments.filter(e=>_(e,T)).forEach(I)};return t(da.isTypeAssertion(e.callee)?{...e,callee:{...e.callee,type:di.AST_NODE_TYPES.SequenceExpression}}:e.typeArguments&&1===e.arguments.length&&n.getTokenAfter(e.callee,da.isOpeningParenToken)!==n.getTokenBefore(e.arguments[0],da.isOpeningParenToken)?{...e,arguments:[{...e.arguments[0],type:di.AST_NODE_TYPES.SequenceExpression}]}:e)}function M(e){e.superClass&&(aD(e.superClass)>h?b(e.superClass):x(e.superClass))&&I(e.superClass)}function R(e){let t=S(e)?n.getTokenBefore(e):n.getFirstToken(e),i=n.getTokenAfter(t,aO),a=i?n.getTokenAfter(i):null,s=i?n.getTokenAfter(i,aL):null;da.isOpeningParenToken(t)&&(aS(i)||"Keyword"===i.type&&("function"===i.value||"class"===i.value||"let"===i.value&&s&&(ag(s)||"Identifier"===s.type))||i&&"Identifier"===i.type&&"async"===i.value&&a&&"Keyword"===a.type&&"function"===a.value)&&r.add(i),("ExportDefaultDeclaration"===e.parent.type?_(e,T):b(e))&&I(e)}function B(e){return da.isTypeAssertion(e.argument)?V({...e,argument:{...e.argument,type:di.AST_NODE_TYPES.SequenceExpression}}):V(e)}return{ArrayExpression(e){e.elements.map(e=>da.isTypeAssertion(e)?{...e,type:di.AST_NODE_TYPES.FunctionExpression}:e).filter(e=>!!e&&_(e,T)).forEach(I)},ArrayPattern(e){e.elements.filter(e=>!!e&&O(e)&&b(e)).forEach(I)},ArrowFunctionExpression(e){if(da.isTypeAssertion(e.body)||k(e)||"ConditionalExpression"===e.body.type&&p||"BlockStatement"===e.body.type)return;let t=n.getFirstToken(e.body,aO),i=n.getTokenBefore(t);da.isOpeningParenToken(i)&&aS(t)&&r.add(t),_(e.body,T)&&I(e.body)},AssignmentExpression(e){O(e.left)&&b(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)||P(e.left))&&I(e.left),!k(e)&&_(e.right,aD(e))&&I(e.right)},AssignmentPattern(e){let{left:t,right:n}=e;O(t)&&b(t)&&I(t),n&&_(n,T)&&I(n)},AwaitExpression:e=>da.isTypeAssertion(e.argument)?V({...e,argument:{...e.argument,type:di.AST_NODE_TYPES.SequenceExpression}}):V(e),BinaryExpression(e){t&&"in"===e.operator&&t.inExpressionNodes.push(e),D(e)},CallExpression:N,ClassDeclaration:e=>e.superClass?.type===di.AST_NODE_TYPES.TSAsExpression?M({...e,superClass:{...e.superClass,type:di.AST_NODE_TYPES.SequenceExpression}}):M(e),ClassExpression:e=>e.superClass?.type===di.AST_NODE_TYPES.TSAsExpression?M({...e,superClass:{...e.superClass,type:di.AST_NODE_TYPES.SequenceExpression}}):M(e),ConditionalExpression(e){let t=e=>{if(k(e))return;let t=new Set(["BinaryExpression","LogicalExpression"]);!(s&&t.has(e.test.type))&&!(E&&["ConditionalExpression"].includes(e.test.type))&&!v(e)&&_(e.test,aD({type:"LogicalExpression",operator:"||"}))&&I(e.test),!(s&&t.has(e.consequent.type))&&!(E&&["ConditionalExpression"].includes(e.consequent.type))&&_(e.consequent,T)&&I(e.consequent),!(s&&t.has(e.alternate.type))&&!(E&&["ConditionalExpression"].includes(e.alternate.type))&&_(e.alternate,T)&&I(e.alternate)};return t(da.isTypeAssertion(e.test)?{...e,test:{...e.test,type:di.AST_NODE_TYPES.SequenceExpression}}:da.isTypeAssertion(e.consequent)?{...e,consequent:{...e.consequent,type:di.AST_NODE_TYPES.SequenceExpression}}:da.isTypeAssertion(e.alternate)?{...e,alternate:{...e.alternate,type:di.AST_NODE_TYPES.SequenceExpression}}:e)},DoWhileStatement(e){b(e.test)&&!v(e)&&I(e.test)},ExportDefaultDeclaration(e){R(e.declaration)},ExpressionStatement(e){R(e.expression)},ForInStatement(e){if(!da.isTypeAssertion(e.right)){if("VariableDeclaration"!==e.left.type){let t=n.getFirstToken(e.left,aO);"let"===t.value&&ag(n.getTokenAfter(t,aL))&&r.add(t)}b(e.left)&&I(e.left),b(e.right)&&I(e.right)}},ForOfStatement(e){if("VariableDeclaration"!==e.left.type){let t=n.getFirstToken(e.left,aO);"let"===t.value&&r.add(t)}b(e.left)&&I(e.left),!da.isTypeAssertion(e.right)&&_(e.right,T)&&I(e.right)},ForStatement(e){if(e.test&&b(e.test)&&!v(e)&&!da.isTypeAssertion(e.test)&&I(e.test),e.update&&b(e.update)&&!da.isTypeAssertion(e.update)&&I(e.update),e.init&&!da.isTypeAssertion(e.init)){if("VariableDeclaration"!==e.init.type){let t=n.getFirstToken(e.init,aO);"let"===t.value&&ag(n.getTokenAfter(t,aL))&&r.add(t)}t={upper:t,inExpressionNodes:[],reports:[]},b(e.init)&&I(e.init)}},"ForStatement > *.init:exit":function(e){if(!da.isTypeAssertion(e)){t?.reports.length&&t.inExpressionNodes.forEach(n=>{var r;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})(n,e).reverse(),a=null;for(let e=0;e<i.length;e++){let n=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}}(n,i[e+1]))return;if(S(n))if(!function(e){return t?.reports.some(t=>t.node===e)}(n))return;else{if(P(n))return;a||(a=n)}}a&&(r=a,t&&(t.reports=t.reports.filter(e=>e.node!==r)))});let{upper:n,inExpressionNodes:r,reports:i}=t??{};n?(n.inExpressionNodes.push(...r??[]),n.reports.push(...i??[])):i?.forEach(({finishReport:e})=>e()),t=n}},IfStatement(e){b(e.test)&&!v(e)&&I(e.test)},ImportExpression(e){let{source:t}=e;"SequenceExpression"===t.type?x(t)&&I(t):b(t)&&I(t)},LogicalExpression:D,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)&&Y(e)?x(e.object):b(e.object)&&!(g(e.parent)&&"callee"in e.parent&&e.parent.callee===e&&f);t&&aD(e.object)>=aD(e)&&(e.computed||!(aN(e.object)||"Literal"===e.object.type&&"regex"in e.object&&e.object.regex))&&I(e.object),t&&"CallExpression"===e.object.type&&I(e.object),t&&!d&&"NewExpression"===e.object.type&&A(e.object)&&I(e.object),t&&e.optional&&"ChainExpression"===e.object.type&&I(e.object),e.computed&&b(e.property)&&I(e.property)};return t(da.isTypeAssertion(e.object)?{...e,object:{...e.object,type:di.AST_NODE_TYPES.SequenceExpression}}:da.isTypeAssertion(e.property)?{...e,property:{...e.property,type:di.AST_NODE_TYPES.FunctionExpression}}:e)},MethodDefinition(e){e.computed&&_(e.key,T)&&I(e.key)},NewExpression:N,ObjectExpression(e){e.properties.filter(e=>"Property"===e.type&&e.value&&_(e.value,T)).forEach(e=>I(e.value))},ObjectPattern(e){e.properties.filter(e=>{let t=e.value;return t&&O(t)&&b(t)}).forEach(e=>I(e.value))},Property(e){if(e.computed){let{key:t}=e;t&&_(t,T)&&I(t)}},PropertyDefinition(e){e.computed&&_(e.key,T)&&I(e.key),e.value&&_(e.value,T)&&I(e.value)},RestElement(e){let t=e.argument;O(t)&&b(t)&&I(t)},ReturnStatement(e){let t=n.getFirstToken(e);!k(e)&&e.argument&&t&&L(t,e.argument)&&!("Literal"===e.argument.type&&"regex"in e.argument&&e.argument.regex)&&I(e.argument)},SequenceExpression(e){let t=aD(e);e.expressions.filter(e=>_(e,t)).forEach(I)},SpreadElement(e){!da.isTypeAssertion(e.argument)&&_(e.argument,T)&&I(e.argument)},SwitchCase(e){e.test&&!da.isTypeAssertion(e.test)&&b(e.test)&&I(e.test)},SwitchStatement(e){b(e.discriminant)&&I(e.discriminant)},TemplateLiteral(e){e.expressions.filter(e=>e&&b(e)).forEach(I)},ThrowStatement(e){if(!e.argument||da.isTypeAssertion(e.argument))return;let t=n.getFirstToken(e);t&&L(t,e.argument)&&I(e.argument)},UnaryExpression:B,UpdateExpression(e){if(da.isTypeAssertion(e.argument))return B(e);if(e.prefix)V(e);else{let{argument:t}=e,r=n.getLastToken(e);t.loc.end.line===r.loc.start.line?V(e):x(t)&&I(t)}},VariableDeclarator(e){let t=e=>{e.init&&_(e.init,T)&&!("Literal"===e.init.type&&"regex"in e.init&&e.init.regex)&&I(e.init)};return t(da.isTypeAssertion(e.init)?{...e,type:di.AST_NODE_TYPES.VariableDeclarator,init:{...e.init,type:di.AST_NODE_TYPES.FunctionExpression}}:e)},WhileStatement(e){b(e.test)&&!v(e)&&I(e.test)},WithStatement(e){b(e.object)&&I(e.object)},YieldExpression(e){if(!e.argument||da.isTypeAssertion(e.argument))return;let t=n.getFirstToken(e);(aD(e.argument)>=aD(e)&&t&&L(t,e.argument)||x(e.argument))&&I(e.argument)},TSStringKeyword(e){b(e)&&I({...e,type:di.AST_NODE_TYPES.FunctionExpression})}}}}),f0=a$({name:"no-extra-semi",package:"ts",meta:{type:"layout",docs:{description:"Disallow unnecessary semicolons"},fixable:"code",schema:[],messages:{unexpected:"Unnecessary semicolon."}},defaultOptions:[],create(e){let t=e.sourceCode;function n(n){e.report({node:n,messageId:"unexpected",fix:!function(e){let n=t.getTokenAfter(e);return!n||"String"!==n.type||!aC(t.getNodeByRangeIndex(n.range[0]).parent)}(n)?null:t=>new a2(t,e.sourceCode).retainSurroundingTokens(n).remove(n)})}function r(e){for(let r=e;"Punctuator"===r.type&&!aP(r);r=t.getTokenAfter(r))am(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))},StaticBlock(e){r(t.getTokenAfter(e))},TSAbstractMethodDefinition(e){r(t.getTokenAfter(e))},TSAbstractPropertyDefinition(e){r(t.getTokenAfter(e))}}}}),f1=a$({name:"no-floating-decimal",package:"js",meta:{type:"layout",docs:{description:"Disallow leading or trailing decimal points in numeric literals"},schema:[],fixable:"code",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]&&!aR(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 f2=["+","-","*","/","%","**"],f3=["&","|","^","~","<<",">>",">>>"],f6=["==","!=","===","!==",">",">=","<","<="],f4=["&&","||"],f5=["in","instanceof"],f9=[].concat(f2,f3,f6,f4,f5,["?:"],["??"]),f8=[f2,f3,f6,f4,f5],f7=/^(?:Binary|Logical|Conditional)Expression$/u;function me(e){return"ConditionalExpression"===e.type?e.test:e.left}var mt=a$({name:"no-mixed-operators",package:"js",meta:{type:"layout",docs:{description:"Disallow mixed binary operators"},schema:[{type:"object",properties:{groups:{type:"array",items:{type:"array",items:{type:"string",enum:f9},minItems:2,uniqueItems:!0},uniqueItems:!0},allowSamePrecedence:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{unexpectedMixedOperator:"Unexpected mix of '{{leftOperator}}' and '{{rightOperator}}'. Use parentheses to clarify the intended order of operations."}},create(e){let t=e.sourceCode,n=function(e={}){return{groups:e.groups&&e.groups.length>0?e.groups:f8,allowSamePrecedence:!1!==e.allowSamePrecedence}}(e.options[0]);function r(e){return t.getTokenAfter(me(e),aL)}function i(i){var a;f7.test(i.parent.type)&&(a=i).operator!==a.parent.operator&&!ac(t,a)&&!function(e){var t,r,i;let a=e.parent;return t=n.groups??[],r=e.operator,i="ConditionalExpression"===a.type?"?:":a.operator,!t.some(e=>e.includes(r)&&e.includes(i))||n.allowSamePrecedence&&aD(e)===aD(a)}(i)&&function(t){let n=t.parent,i=me(n)===t?t:n,a=me(n)!==t?t:n,s={leftOperator:i.operator||"?:",rightOperator:a.operator||"?:"};e.report({node:i,loc:r(i).loc,messageId:"unexpectedMixedOperator",data:s}),e.report({node:a,loc:r(a).loc,messageId:"unexpectedMixedOperator",data:s})}(i)}return{BinaryExpression:i,LogicalExpression:i}}}),mn=a$({name:"no-mixed-spaces-and-tabs",package:"js",meta:{type:"layout",docs:{description:"Disallow mixed spaces and tabs for indentation"},schema:[{oneOf:[{type:"string",enum:["smart-tabs"]},{type:"boolean"}]}],messages:{mixedSpacesAndTabs:"Mixed spaces and tabs."}},create(e){let t,n=e.sourceCode;switch(e.options[0]){case!0:case"smart-tabs":t=!0;break;default:t=!1}return{"Program:exit":function(r){let i=n.lines,a=n.getAllComments(),s=new Set;a.forEach(e=>{for(let t=e.loc.start.line+1;t<=e.loc.end.line;t++)s.add(t)});let o=/^(?=( +|\t+))\1(?:\t| )/u;t&&(o=/^(?=(\t*))\1(?=( +))\2\t/u),i.forEach((t,i)=>{let a=o.exec(t);if(a){let t=i+1,o={start:{line:t,column:a[0].length-2},end:{line:t,column:a[0].length}};if(!s.has(t)){let t=n.getNodeByRangeIndex(n.getIndexFromLoc(o.start));t&&["Literal","TemplateElement"].includes(t.type)||e.report({node:r,loc:o,messageId:"mixedSpacesAndTabs"})}}})}}}}),mr=a$({name:"no-multi-spaces",package:"js",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",default:!1},includeTabs:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{multipleSpaces:"Multiple spaces found before '{{displayValue}}'."}},create(e){let t=e.sourceCode,n=e.options[0]||{},r=n.ignoreEOLComments,i=Object.assign({Property:!0,ImportAttribute:!0},n.exceptions),a=Object.keys(i).some(e=>i[e]),s=!1===n.includeTabs?/ {2}/:/[ \t]{2}/;function o(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(){t.tokensAndComments.forEach((n,l,c)=>{let p;if(l===c.length-1)return;let u=c[l+1];if(s.test(t.text.slice(n.range[1],u.range[0]))&&!(n.loc.end.line<u.loc.start.line)&&(!(r&&ab(u))||l!==c.length-2&&!(u.loc.end.line<c[l+2].loc.start.line))){if(a){let e=t.getNodeByRangeIndex(u.range[0]-1);if(e&&i[e.type])return}p="Block"===u.type?`/*${o(u)}*/`:"Line"===u.type?`//${o(u)}`:u.value,e.report({node:u,loc:{start:n.loc.end,end:u.loc.start},messageId:"multipleSpaces",data:{displayValue:p},fix:e=>e.replaceTextRange([n.range[1],u.range[0]]," ")})}})}}}}),mi=a$({name:"no-multiple-empty-lines",package:"js",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}],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){let t=2,n=2,r=2;e.options.length&&e.options[0]&&(t=e.options[0].max,n=void 0!==e.options[0].maxEOF?e.options[0].maxEOF:t,r=void 0!==e.options[0].maxBOF?e.options[0].maxBOF:t);let i=e.sourceCode,a=""===i.lines[i.lines.length-1]?i.lines.slice(0,-1):i.lines,s=new Set;return{TemplateLiteral(e){e.quasis.forEach(e=>{for(let t=e.loc.start.line;t<e.loc.end.line;t++)s.add(t)})},"Program:exit":function(o){return a.reduce((e,t,n)=>((t.trim()||s.has(n+1))&&e.push(n+1),e),[]).concat(a.length+1).reduce((s,l)=>{let c,p;return 0===s?(c="blankBeginningOfFile",p=r):l===a.length+1?(c="blankEndOfFile",p=n):(c="consecutiveBlank",p=t),l-s-1>p&&e.report({node:o,loc:{start:{line:s+p+1,column:0},end:{line:l,column:0}},messageId:c,data:{max:p,pluralizedLines:1===p?"line":"lines"},fix(e){let t=i.getIndexFromLoc({line:s+1,column:0}),n=l-p,r=n<=a.length?i.getIndexFromLoc({line:n,column:0}):i.text.length;return e.removeRange([t,r])}}),l},0)}}}});let ma=/\t+/gu,ms=/\S/u;var mo=a$({name:"no-tabs",package:"js",meta:{type:"layout",docs:{description:"Disallow all tabs"},schema:[{type:"object",properties:{allowIndentationTabs:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{unexpectedTab:"Unexpected tab character."}},create(e){let t=e.sourceCode,n=e.options&&e.options[0]&&e.options[0].allowIndentationTabs;return{Program(r){t.getLines().forEach((t,i)=>{let a;for(;null!==(a=ma.exec(t));)(!n||ms.test(t.slice(0,a.index)))&&e.report({node:r,loc:{start:{line:i+1,column:a.index},end:{line:i+1,column:a.index+a[0].length}},messageId:"unexpectedTab"})})}}}}),ml=a$({name:"no-trailing-spaces",package:"js",meta:{type:"layout",docs:{description:"Disallow trailing whitespace at the end of lines"},fixable:"whitespace",schema:[{type:"object",properties:{skipBlankLines:{type:"boolean",default:!1},ignoreComments:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{trailingSpace:"Trailing spaces not allowed."}},create(e){let t=e.sourceCode,n="[ \xa0 -​ ]",r=`^${n}*$`,i=`${n}+$`,a=e.options[0]||{},s=a.skipBlankLines||!1,o=a.ignoreComments||!1;return{Program:function(n){let a=RegExp(i,"u"),l=RegExp(r,"u"),c=t.lines,p=t.getText().match(ai()),u=function(e){let t=new Set;return e.forEach(e=>{let n="Block"===e.type?e.loc.end.line-1:e.loc.end.line;for(let r=e.loc.start.line;r<=n;r++)t.add(r)}),t}(t.getAllComments()),d=0;for(let r=0,i=c.length;r<i;r++){let i=r+1,f=p&&p[r]?p[r].length:1,m=c[r].length+f,E=a.exec(c[r]);if(E){let a={start:{line:i,column:E.index},end:{line:i,column:m-f}},p=d+a.start.column,T=d+a.end.column,h=t.getNodeByRangeIndex(p);if(h&&"TemplateElement"===h.type&&p>h.parent.range[0]&&T<h.parent.range[1]||s&&l.test(c[r])){d+=m;continue}let g=[p,T];o&&u.has(i)||function(t,n,r){e.report({node:t,loc:n,messageId:"trailingSpace",fix:e=>e.removeRange(r)})}(n,a,g)}d+=m}}}}}),mc=a$({name:"no-whitespace-before-property",package:"js",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;return{MemberExpression(n){let r,i;if(ak(n.object,n.property)){var a,s;n.computed?(r=t.getTokenBefore(n.property,ag),i=t.getTokenBefore(r,+!!n.optional)):(r=t.getFirstToken(n.property),i=t.getTokenBefore(r,1)),t.isSpaceBetween(i,r)&&(a=i,s=r,e.report({node:n,messageId:"unexpectedWhitespace",data:{propName:t.getText(n.property)},fix(e){let r="";return!n.computed&&!n.optional&&aN(n.object)||t.commentsExistBetween(a,s)?null:(n.optional?r="?.":n.computed||(r="."),e.replaceTextRange([a.range[1],s.range[0]],r))}}))}}}}});let mp={type:"string",enum:["beside","below","any"]};var mu=a$({name:"nonblock-statement-body-position",package:"js",meta:{type:"layout",docs:{description:"Enforce the location of single-line statements"},fixable:"whitespace",schema:[mp,{type:"object",properties:{overrides:{type:"object",properties:{if:mp,else:mp,while:mp,do:mp,for:mp},additionalProperties:!1}},additionalProperties:!1}],messages:{expectNoLinebreak:"Expected no linebreak before this statement.",expectLinebreak:"Expected a linebreak before this statement."}},create(e){let t=e.sourceCode;function n(n,r){let i=e.options[1]&&e.options[1].overrides&&e.options[1].overrides[r]||e.options[0]||"beside";if("BlockStatement"===n.type||"any"===i)return;let a=t.getTokenBefore(n);a.loc.end.line===n.loc.start.line&&"below"===i?e.report({node:n,messageId:"expectLinebreak",fix:e=>e.insertTextBefore(n,"\n")}):a.loc.end.line!==n.loc.start.line&&"beside"===i&&e.report({node:n,messageId:"expectNoLinebreak",fix:e=>t.getText().slice(a.range[1],n.range[0]).trim()?null:e.replaceTextRange([a.range[1],n.range[0]]," ")})}return{IfStatement(e){n(e.consequent,"if"),e.alternate&&"IfStatement"!==e.alternate.type&&n(e.alternate,"else")},WhileStatement:e=>n(e.body,"while"),DoWhileStatement:e=>n(e.body,"do"),ForStatement:e=>n(e.body,"for"),ForInStatement:e=>n(e.body,"for"),ForOfStatement:e=>n(e.body,"for")}}});let md={oneOf:[{type:"string",enum:["always","never"]},{type:"object",properties:{multiline:{type:"boolean"},minProperties:{type:"integer",minimum:0},consistent:{type:"boolean"}},additionalProperties:!1,minProperties:1}]},mf={multiline:!1,minProperties:Number.POSITIVE_INFINITY,consistent:!0};var mm=a$({name:"object-curly-newline",package:"ts",meta:{type:"layout",docs:{description:"Enforce consistent line breaks after opening and before closing braces"},fixable:"whitespace",schema:[{oneOf:[md,{type:"object",properties:{ObjectExpression:md,ObjectPattern:md,ImportDeclaration:md,ExportDeclaration:md,TSTypeLiteral:md,TSInterfaceBody:md},additionalProperties:!1,minProperties:1}]}],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."}},defaultOptions:[{ObjectExpression:mf,ObjectPattern:mf,ImportDeclaration:mf,ExportDeclaration:mf,TSTypeLiteral:mf,TSInterfaceBody:mf}],create(e){let t=e.sourceCode;function n(e){let t=!1,n=Number.POSITIVE_INFINITY,r=!1;return e?"always"===e?n=0:"never"===e?n=Number.POSITIVE_INFINITY:(t=!!e.multiline,n=e.minProperties||Number.POSITIVE_INFINITY,r=!!e.consistent):r=!0,{multiline:t,minProperties:n,consistent:r}}function r(e){return"object"==typeof e&&null!==e}function i(e){return r(e)||"string"==typeof e}let a=function(e){if(r(e)&&Object.values(e).some(i))return{ObjectExpression:n(e.ObjectExpression),ObjectPattern:n(e.ObjectPattern),ImportDeclaration:n(e.ImportDeclaration),ExportNamedDeclaration:n(e.ExportDeclaration),TSTypeLiteral:n(e.TSTypeLiteral),TSInterfaceBody:n(e.TSInterfaceBody)};let t=n(e);return{ObjectExpression:t,ObjectPattern:t,ImportDeclaration:t,ExportNamedDeclaration:t,TSTypeLiteral:t,TSInterfaceBody:t}}(e.options[0]);function s(n){var r,i;let s,o,l=a[n.type];if("ImportDeclaration"===n.type&&!n.specifiers.some(e=>"ImportSpecifier"===e.type)||"ExportNamedDeclaration"===n.type&&!n.specifiers.some(e=>"ExportSpecifier"===e.type))return;let c=t.getFirstToken(n,e=>"{"===e.value);s="ObjectPattern"===n.type&&n.typeAnnotation?t.getTokenBefore(n.typeAnnotation):t.getLastToken(n,e=>"}"===e.value);let p=t.getTokenAfter(c,{includeComments:!0}),u=t.getTokenBefore(s,{includeComments:!0}),d=(r=p,i=u,(o="ObjectExpression"===n.type||"ObjectPattern"===n.type?n.properties:"TSTypeLiteral"===n.type?n.members:"TSInterfaceBody"===n.type?n.body:n.specifiers.filter(e=>"ImportSpecifier"===e.type||"ExportSpecifier"===e.type)).length>=l.minProperties||l.multiline&&o.length>0&&r.loc.start.line!==i.loc.end.line),f=ab(p),m=ab(u);if(p=t.getTokenAfter(c),u=t.getTokenBefore(s),d)ak(c,p)&&e.report({messageId:"expectedLinebreakAfterOpeningBrace",node:n,loc:c.loc,fix:e=>f?null:e.insertTextAfter(c,"\n")}),ak(u,s)&&e.report({messageId:"expectedLinebreakBeforeClosingBrace",node:n,loc:s.loc,fix:e=>m?null:e.insertTextBefore(s,"\n")});else{let t=l.consistent,r=!ak(c,p),i=!ak(u,s);(!t&&r||t&&r&&!i)&&e.report({messageId:"unexpectedLinebreakAfterOpeningBrace",node:n,loc:c.loc,fix:e=>f?null:e.removeRange([c.range[1],p.range[0]])}),(!t&&i||t&&!r&&i)&&e.report({messageId:"unexpectedLinebreakBeforeClosingBrace",node:n,loc:s.loc,fix:e=>m?null:e.removeRange([u.range[1],s.range[0]])})}}return{ObjectExpression:s,ObjectPattern:s,ImportDeclaration:s,ExportNamedDeclaration:s,TSTypeLiteral:s,TSInterfaceBody:s}}}),mE=a$({name:"object-curly-spacing",package:"ts",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"}},additionalProperties:!1}],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}}'."}},defaultOptions:["never"],create(e){let[t,n]=e.options,r="always"===t,i=e.sourceCode;function a(e){return!!n&&!r===n[e]}let s={spaced:r,arraysInObjectsException:a("arraysInObjects"),objectsInObjectsException:a("objectsInObjects")};function o(t,n,r,a,o){if(da.isTokenOnSameLine(n,r)){let a=i.isSpaceBetween(n,r),o=i.getNodeByRangeIndex(r.range[0]).type,l=s.arraysInObjectsException&&[di.AST_NODE_TYPES.TSMappedType,di.AST_NODE_TYPES.TSIndexSignature].includes(o)?!s.spaced:s.spaced;l&&!a&&e.report({node:t,loc:n.loc,messageId:"requireSpaceAfter",data:{token:n.value},fix:e=>e.insertTextAfter(n," ")}),!l&&a&&r.type!==di.AST_TOKEN_TYPES.Line&&function(t,n){let r=i.getTokenAfter(n,{includeComments:!0});e.report({node:t,loc:{start:n.loc.end,end:r.loc.start},messageId:"unexpectedSpaceAfter",data:{token:n.value},fix:e=>e.removeRange([n.range[1],r.range[0]])})}(t,n)}if(da.isTokenOnSameLine(a,o)){let n=s.arraysInObjectsException&&da.isClosingBracketToken(a)||s.objectsInObjectsException&&da.isClosingBraceToken(a)?i.getNodeByRangeIndex(a.range[0]).type:void 0,r=s.arraysInObjectsException&&[di.AST_NODE_TYPES.ArrayExpression,di.AST_NODE_TYPES.TSTupleType].includes(n)||s.objectsInObjectsException&&void 0!==n&&[di.AST_NODE_TYPES.ObjectExpression,di.AST_NODE_TYPES.ObjectPattern,di.AST_NODE_TYPES.TSMappedType,di.AST_NODE_TYPES.TSTypeLiteral].includes(n)?!s.spaced:s.spaced,l=i.isSpaceBetween(a,o);r&&!l&&e.report({node:t,loc:o.loc,messageId:"requireSpaceBefore",data:{token:o.value},fix:e=>e.insertTextBefore(o," ")}),!r&&l&&function(t,n){let r=i.getTokenBefore(n,{includeComments:!0});e.report({node:t,loc:{start:r.loc.end,end:n.loc.start},messageId:"unexpectedSpaceBefore",data:{token:n.value},fix:e=>e.removeRange([r.range[1],n.range[0]])})}(t,o)}}function l(e){let t="TSTypeLiteral"===e.type?e.members[e.members.length-1]:e.properties[e.properties.length-1];return i.getTokenAfter(t,da.isClosingBraceToken)}function c(e){if(0===e.properties.length)return;let t=i.getFirstToken(e),n=l(e),r=i.getTokenAfter(t,{includeComments:!0});o(e,t,r,i.getTokenBefore(n,{includeComments:!0}),n)}return{ObjectPattern:c,ObjectExpression:c,ImportDeclaration:function(e){if(0===e.specifiers.length)return;let t=e.specifiers[0],n=e.specifiers[e.specifiers.length-1];if("ImportSpecifier"!==n.type)return;"ImportSpecifier"!==t.type&&(t=e.specifiers[1]);let r=i.getTokenBefore(t),a=i.getTokenAfter(n,aw),s=i.getTokenAfter(r,{includeComments:!0});o(e,r,s,i.getTokenBefore(a,{includeComments:!0}),a)},ExportNamedDeclaration:function(e){if(0===e.specifiers.length)return;let t=e.specifiers[0],n=e.specifiers[e.specifiers.length-1],r=i.getTokenBefore(t),a=i.getTokenAfter(n,aw),s=i.getTokenAfter(r,{includeComments:!0});o(e,r,s,i.getTokenBefore(a,{includeComments:!0}),a)},TSMappedType(e){let t=i.getFirstToken(e),n=i.getLastToken(e),r=i.getTokenAfter(t,{includeComments:!0});o(e,t,r,i.getTokenBefore(n,{includeComments:!0}),n)},TSTypeLiteral(e){if(0===e.members.length)return;let t=i.getFirstToken(e),n=l(e),r=i.getTokenAfter(t,{includeComments:!0});o(e,t,r,i.getTokenBefore(n,{includeComments:!0}),n)}}}}),mT=a$({name:"object-property-newline",package:"ts",meta:{type:"layout",docs:{description:"Enforce placing object properties on separate lines"},schema:[{type:"object",properties:{allowAllPropertiesOnSameLine:{type:"boolean",default:!1},allowMultiplePropertiesPerLine:{type:"boolean",default:!1}},additionalProperties:!1}],fixable:"whitespace",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."}},defaultOptions:[{allowAllPropertiesOnSameLine:!1,allowMultiplePropertiesPerLine:!1}],create(e){let t=e.options[0]&&(e.options[0].allowAllPropertiesOnSameLine||e.options[0].allowMultiplePropertiesPerLine),n=t?"propertiesOnNewlineAll":"propertiesOnNewline",r=e.sourceCode;function i(i,a){if(t&&a.length>1){let e=r.getFirstToken(a[0]),t=r.getLastToken(a[a.length-1]);if(e.loc.end.line===t.loc.start.line)return}for(let t=1;t<a.length;t++){let s=r.getLastToken(a[t-1]),o=r.getFirstToken(a[t]);s.loc.end.line===o.loc.start.line&&e.report({node:i,loc:o.loc,messageId:n,fix(e){let t=[r.getTokenBefore(o).range[1],o.range[0]];return r.text.slice(t[0],t[1]).trim()?null:e.replaceTextRange(t,"\n")}})}}return{ObjectExpression(e){i(e,e.properties)},TSTypeLiteral(e){i(e,e.members)},TSInterfaceBody(e){i(e,e.body)}}}}),mh=a$({name:"one-var-declaration-per-line",package:"js",meta:{type:"layout",docs:{description:"Require or disallow newlines around variable declarations"},schema:[{type:"string",enum:["always","initializations"]}],fixable:"whitespace",messages:{expectVarOnNewline:"Expected variable declaration to be on a new line."}},create(e){let t="always"===e.options[0];return{VariableDeclaration:function(n){var r;let i;"ForStatement"!==(r=n.parent.type)&&"ForInStatement"!==r&&"ForOfStatement"!==r&&n.declarations.forEach(r=>{i&&i.loc.end.line===r.loc.start.line&&(t||i.init||r.init)&&e.report({node:n,messageId:"expectVarOnNewline",loc:r.loc,fix:e=>e.insertTextBefore(r,"\n")}),i=r})}}}}),mg=a$({name:"operator-linebreak",package:"js",meta:{type:"layout",docs:{description:"Enforce consistent linebreak style for operators"},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}],fixable:"code",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 a=e.sourceCode;function s(t,r,s){let o=a.getTokenBefore(r,e=>e.value===s),l=a.getTokenBefore(o),c=a.getTokenAfter(o),p=i[s],u=p||n,d=e=>{let t,n,r=a.getTokenBefore(o),i=a.getTokenAfter(o),s=a.text.slice(r.range[1],o.range[0]),l=a.text.slice(o.range[1],i.range[0]),c=!ak(r,o);if(!ak(o,i)!==c&&"none"!==u){if(a.getTokenBefore(o,{includeComments:!0})!==r&&a.getTokenAfter(o,{includeComments:!0})!==i)return null;t=l,n=s}else{let e=ai();if(t="before"===u||s.trim()?s:s.replace(e,""),n="after"===u||l.trim()?l:l.replace(e,""),t===s&&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)};ak(l,o)&&ak(o,c)||("ignore"===p||ak(l,o)||ak(o,c)?"before"===u&&ak(l,o)?e.report({node:t,loc:o.loc,messageId:"operatorAtBeginning",data:{operator:s},fix:d}):"after"===u&&ak(o,c)?e.report({node:t,loc:o.loc,messageId:"operatorAtEnd",data:{operator:s},fix:d}):"none"===u&&e.report({node:t,loc:o.loc,messageId:"noLinebreak",data:{operator:s},fix:d}):e.report({node:t,loc:o.loc,messageId:"badLinebreak",data:{operator:s},fix:d}))}function o(e){s(e,e.right,e.operator)}return{BinaryExpression:o,LogicalExpression:o,AssignmentExpression:o,VariableDeclarator(e){e.init&&s(e,e.init,"=")},PropertyDefinition(e){e.value&&s(e,e.value,"=")},ConditionalExpression(e){s(e,e.consequent,"?"),s(e,e.alternate,":")}}}});let my=["always","never","start","end"];var mS=a$({name:"padded-blocks",package:"js",meta:{type:"layout",docs:{description:"Require or disallow padding within blocks"},fixable:"whitespace",schema:[{oneOf:[{type:"string",enum:my},{type:"object",properties:{blocks:{type:"string",enum:my},switches:{type:"string",enum:my},classes:{type:"string",enum:my}},additionalProperties:!1,minProperties:1}]},{type:"object",properties:{allowSingleLineBlocks:{type:"boolean"}},additionalProperties:!1}],messages:{missingPadBlock:"Block must be padded by blank lines.",extraPadBlock:"Block must not be padded by blank lines."}},create(e){let t={},n=e.options[0]||"always",r=e.options[1]||{};"string"==typeof n?(t.blocks=n,t.switches=n,t.classes=n):Object.assign(t,n),r.allowSingleLineBlocks??=!1;let i=e.sourceCode;function a(e){return"Line"===e.type||"Block"===e.type}function s(e,t){return t.loc.start.line-e.loc.end.line>=2}function o(n){let o=function(e){let t,n=e;do t=n,n=i.getTokenAfter(n,{includeComments:!0});while(a(n)&&n.loc.start.line===t.loc.end.line);return n}("SwitchStatement"===n.type?i.getTokenBefore(n.cases[0]):"StaticBlock"===n.type?i.getFirstToken(n,{skip:1}):i.getFirstToken(n)),l=i.getTokenBefore(o,{includeComments:!0}),c=function(e){let t,n=e;do t=n,n=i.getTokenBefore(n,{includeComments:!0});while(a(n)&&n.loc.end.line===t.loc.start.line);return n}(i.getLastToken(n)),p=i.getTokenAfter(c,{includeComments:!0}),u=s(l,o),d=s(c,p);if(r.allowSingleLineBlocks&&ak(l,p))return;let f=function(e){switch(e.type){case"BlockStatement":case"StaticBlock":return t.blocks;case"SwitchStatement":return t.switches;case"ClassBody":return t.classes;default:throw Error("unreachable")}}(n);u?("never"===f||"end"===f)&&e.report({node:n,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"===f||"start"===f)&&e.report({node:n,loc:{start:l.loc.start,end:o.loc.start},fix:e=>e.insertTextAfter(l,"\n"),messageId:"missingPadBlock"}),d?("never"===f||"start"===f)&&e.report({node:n,loc:{end:p.loc.start,start:c.loc.end},messageId:"extraPadBlock",fix:e=>e.replaceTextRange([c.range[1],p.range[0]-p.loc.start.column],"\n")}):("always"===f||"end"===f)&&e.report({node:n,loc:{end:p.loc.start,start:c.loc.end},fix:e=>e.insertTextBefore(p,"\n"),messageId:"missingPadBlock"})}let l={};return Object.prototype.hasOwnProperty.call(t,"switches")&&(l.SwitchStatement=function(e){0!==e.cases.length&&o(e)}),Object.prototype.hasOwnProperty.call(t,"blocks")&&(l.BlockStatement=function(e){0!==e.body.length&&o(e)},l.StaticBlock=l.BlockStatement),Object.prototype.hasOwnProperty.call(t,"classes")&&(l.ClassBody=function(e){0!==e.body.length&&o(e)}),l}});let mP=/^(?:module\s*\.\s*)?exports(?:\s*\.|\s*\[|$)/u,mb=/^require\(/u,mx=`[${Array.from(new Set(["\r\n","\r","\n","\u2028","\u2029"])).join("")}]`,m_=RegExp(String.raw`^(\s*?${mx})\s*${mx}(\s*;?)$`,"u");function mv(e,t){return{test(n,r){let i=r.getFirstToken(n)?.value===t,a=Array.isArray(e)?e.includes(n.type):e===n.type;return i&&a}}}function mA(e){return{test:(t,n)=>t.loc.start.line===t.loc.end.line&&n.getFirstToken(t).value===e}}function mY(e){return{test:(t,n)=>t.loc.start.line!==t.loc.end.line&&n.getFirstToken(t).value===e}}function mC(e){return{test:t=>t.type===e}}function mk(e){return e&&e.type===di.AST_NODE_TYPES.ChainExpression?e.expression:e}function mL(e){if(e.type===di.AST_NODE_TYPES.ExpressionStatement){let t=mk(e.expression);if(t.type===di.AST_NODE_TYPES.UnaryExpression&&(t=mk(t.argument)),t.type===di.AST_NODE_TYPES.CallExpression){let e=t.callee;for(;e.type===di.AST_NODE_TYPES.SequenceExpression;)e=e.expressions[e.expressions.length-1];return da.isFunction(e)}}return!1}function mw(e,t){if(e.type===di.AST_NODE_TYPES.DoWhileStatement&&e.body.type===di.AST_NODE_TYPES.BlockStatement||mL(e))return!0;let n=t.getLastToken(e,da.isNotSemicolonToken),r=n&&da.isClosingBraceToken(n)?t.getNodeByRangeIndex(n.range[0]):null;return!!r&&(r.type===di.AST_NODE_TYPES.BlockStatement||r.type===di.AST_NODE_TYPES.SwitchStatement)}function mO(e,t){return e.type===di.AST_NODE_TYPES.ExpressionStatement&&(e.parent?.type===di.AST_NODE_TYPES.Program||e.parent?.type===di.AST_NODE_TYPES.BlockStatement&&da.isFunction(e.parent.parent))&&e.expression.type===di.AST_NODE_TYPES.Literal&&"string"==typeof e.expression.value&&!da.isParenthesized(e.expression,t)}function mI(e,t){if(mO(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(!mO(n,t))return!1}return!0}return!1}function mV(e,t){let n=t.getLastToken(e),r=t.getTokenBefore(n),i=t.getTokenAfter(n);return r&&i&&r.range[0]>=e.range[0]&&da.isSemicolonToken(n)&&n.loc.start.line!==r.loc.end.line&&n.loc.end.line===i.loc.start.line?r:n}function mD(e,t,n){return t+n}let mN={any:{verify:function(){}},never:{verify:function(e,t,n,r){0!==r.length&&e.report({node:n,messageId:"unexpectedBlankLine",fix(t){if(r.length>=2)return null;let n=r[0][0],i=r[0][1],a=n.range[1],s=i.range[0],o=e.getSourceCode().text.slice(a,s).replace(m_,mD);return t.replaceTextRange([a,s],o)}})}},always:{verify:function(e,t,n,r){r.length>0||e.report({node:n,messageId:"expectedBlankLine",fix(r){let i=e.sourceCode,a=mV(t,i),s=i.getFirstTokenBetween(a,n,{includeComments:!0,filter:e=>!da.isTokenOnSameLine(a,e)||(a=e,!1)})||n,o=da.isTokenOnSameLine(a,s)?"\n\n":"\n";return r.insertTextAfter(a,o)}})}}},mM={"*":{test:()=>!0},"block-like":{test:mw},exports:{test:function(e){if(e.type===di.AST_NODE_TYPES.ExpressionStatement){let t=e.expression;if(t.type===di.AST_NODE_TYPES.AssignmentExpression){let e=t.left;if(e.type===di.AST_NODE_TYPES.MemberExpression){for(;e.object.type===di.AST_NODE_TYPES.MemberExpression;)e=e.object;return e.object.type===di.AST_NODE_TYPES.Identifier&&("exports"===e.object.name||"module"===e.object.name&&e.property.type===di.AST_NODE_TYPES.Identifier&&"exports"===e.property.name)}}}return!1}},require:{test:function(e){if(e.type===di.AST_NODE_TYPES.VariableDeclaration){let t=e.declarations[0];if(t?.init){let e=t?.init;for(;e.type===di.AST_NODE_TYPES.MemberExpression;)e=e.object;if(e.type===di.AST_NODE_TYPES.CallExpression&&e.callee.type===di.AST_NODE_TYPES.Identifier)return"require"===e.callee.name}}return!1}},directive:{test:mI},expression:{test:function(e,t){return e.type===di.AST_NODE_TYPES.ExpressionStatement&&!mI(e,t)}},iife:{test:mL},"multiline-block-like":{test:(e,t)=>e.loc.start.line!==e.loc.end.line&&mw(e,t)},"multiline-expression":{test:(e,t)=>e.loc.start.line!==e.loc.end.line&&e.type===di.AST_NODE_TYPES.ExpressionStatement&&!mI(e,t)},"multiline-const":mY("const"),"multiline-export":mY("export"),"multiline-let":mY("let"),"multiline-var":mY("var"),"singleline-const":mA("const"),"singleline-export":mA("export"),"singleline-let":mA("let"),"singleline-var":mA("var"),block:mC(di.AST_NODE_TYPES.BlockStatement),empty:mC(di.AST_NODE_TYPES.EmptyStatement),function:mC(di.AST_NODE_TYPES.FunctionDeclaration),"ts-method":mC(di.AST_NODE_TYPES.TSMethodSignature),break:mv(di.AST_NODE_TYPES.BreakStatement,"break"),case:mv(di.AST_NODE_TYPES.SwitchCase,"case"),class:mv(di.AST_NODE_TYPES.ClassDeclaration,"class"),const:mv(di.AST_NODE_TYPES.VariableDeclaration,"const"),continue:mv(di.AST_NODE_TYPES.ContinueStatement,"continue"),debugger:mv(di.AST_NODE_TYPES.DebuggerStatement,"debugger"),default:mv([di.AST_NODE_TYPES.SwitchCase,di.AST_NODE_TYPES.ExportDefaultDeclaration],"default"),do:mv(di.AST_NODE_TYPES.DoWhileStatement,"do"),export:mv([di.AST_NODE_TYPES.ExportAllDeclaration,di.AST_NODE_TYPES.ExportDefaultDeclaration,di.AST_NODE_TYPES.ExportNamedDeclaration],"export"),for:mv([di.AST_NODE_TYPES.ForStatement,di.AST_NODE_TYPES.ForInStatement,di.AST_NODE_TYPES.ForOfStatement],"for"),if:mv(di.AST_NODE_TYPES.IfStatement,"if"),import:mv(di.AST_NODE_TYPES.ImportDeclaration,"import"),let:mv(di.AST_NODE_TYPES.VariableDeclaration,"let"),return:mv(di.AST_NODE_TYPES.ReturnStatement,"return"),switch:mv(di.AST_NODE_TYPES.SwitchStatement,"switch"),throw:mv(di.AST_NODE_TYPES.ThrowStatement,"throw"),try:mv(di.AST_NODE_TYPES.TryStatement,"try"),var:mv(di.AST_NODE_TYPES.VariableDeclaration,"var"),while:mv([di.AST_NODE_TYPES.WhileStatement,di.AST_NODE_TYPES.DoWhileStatement],"while"),with:mv(di.AST_NODE_TYPES.WithStatement,"with"),"cjs-export":{test:(e,t)=>"ExpressionStatement"===e.type&&"AssignmentExpression"===e.expression.type&&mP.test(t.getText(e.expression.left))},"cjs-import":{test:(e,t)=>"VariableDeclaration"===e.type&&e.declarations.length>0&&!!e.declarations[0].init&&mb.test(t.getText(e.declarations[0].init))},enum:mv(di.AST_NODE_TYPES.TSEnumDeclaration,"enum"),interface:mv(di.AST_NODE_TYPES.TSInterfaceDeclaration,"interface"),type:mv(di.AST_NODE_TYPES.TSTypeAliasDeclaration,"type"),"function-overload":{test:e=>"TSDeclareFunction"===e.type}};var mR=a$({name:"padding-line-between-statements",package:"ts",meta:{type:"layout",docs:{description:"Require or disallow padding lines between statements"},fixable:"whitespace",hasSuggestions:!1,schema:{$defs:{paddingType:{type:"string",enum:Object.keys(mN)},statementType:{anyOf:[{type:"string",enum:Object.keys(mM)},{type:"array",items:{type:"string",enum:Object.keys(mM)},minItems:1,uniqueItems:!0,additionalItems:!1}]}},type:"array",additionalItems:!1,items:{type:"object",properties:{blankLine:{$ref:"#/$defs/paddingType"},prev:{$ref:"#/$defs/statementType"},next:{$ref:"#/$defs/statementType"}},additionalProperties:!1,required:["blankLine","prev","next"]}},messages:{unexpectedBlankLine:"Unexpected blank line before this statement.",expectedBlankLine:"Expected blank line before this statement."}},defaultOptions:[],create(e){let t=e.sourceCode,n=e.options||[],r=null;function i(){r={upper:r,prevNode:null}}function a(){r&&(r=r.upper)}function s(e,n){let r=e;for(;r.type===di.AST_NODE_TYPES.LabeledStatement;)r=r.body;return Array.isArray(n)?n.some(s.bind(null,r)):mM[n].test(r,t)}function o(i){if(!i.parent||![di.AST_NODE_TYPES.BlockStatement,di.AST_NODE_TYPES.Program,di.AST_NODE_TYPES.StaticBlock,di.AST_NODE_TYPES.SwitchCase,di.AST_NODE_TYPES.SwitchStatement,di.AST_NODE_TYPES.TSInterfaceBody,di.AST_NODE_TYPES.TSModuleBlock,di.AST_NODE_TYPES.TSTypeLiteral].includes(i.parent.type))return;let a=r.prevNode;if(a){let r=function(e,t){for(let r=n.length-1;r>=0;--r){let i=n[r];if(s(e,i.prev)&&s(t,i.next))return mN[i.blankLine]}return mN.any}(a,i),o=function(e,n){let r=[],i=mV(e,t);if(n.loc.start.line-i.loc.end.line>=2)do{let e=t.getTokenAfter(i,{includeComments:!0});e.loc.start.line-i.loc.end.line>=2&&r.push([i,e]),i=e}while(i.range[0]<n.range[0]);return r}(a,i);r.verify(e,a,i,o)}r.prevNode=i}function l(e){o(e),i()}return{Program:i,BlockStatement:i,SwitchStatement:i,StaticBlock:i,TSInterfaceBody:i,TSModuleBlock:i,TSTypeLiteral:i,"Program:exit":a,"BlockStatement:exit":a,"SwitchStatement:exit":a,"StaticBlock:exit":a,"TSInterfaceBody:exit":a,"TSModuleBlock:exit":a,"TSTypeLiteral:exit":a,":statement":o,SwitchCase:l,TSDeclareFunction:l,TSMethodSignature:l,"SwitchCase:exit":a,"TSDeclareFunction:exit":a,"TSMethodSignature:exit":a}}}),mB=a$({name:"quote-props",package:"ts",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}]},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."}},defaultOptions:["always"],create(e){let t=e.options[0],n=e.options[1]&&e.options[1].keywords,r=!e.options[1]||!1!==e.options[1].unnecessary,i=e.options[1]&&e.options[1].numbers,a=e.sourceCode;function s(e){return a1.includes(e)}function o(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 l(e){return"Identifier"===e.type?e.name:e.value}function c(e){return"Literal"===e.type&&"string"==typeof e.value?a.getText(e):`"${"Identifier"===e.type?e.name:e.value}"`}function p(t){if("Property"===t.type&&(t.method||t.computed||t.shorthand)||"ImportAttribute"!==t.type&&t.computed)return;let a="TSEnumMember"===t.type?t.id:t.key;if("Literal"===a.type&&"string"==typeof a.value){let c;try{c=i0(a.value)}catch{return}if(1!==c.length||s(c[0].value)&&n)return;r&&o(a.value,c,i)&&e.report({node:t,messageId:"unnecessarilyQuotedProperty",data:{property:a.value},fix:e=>e.replaceText(a,l(a))})}else if(n&&"Identifier"===a.type&&s(a.name))e.report({node:t,messageId:"unquotedReservedProperty",data:{property:a.name},fix:e=>e.replaceText(a,c(a))});else{var p;i&&"Literal"===a.type&&"Literal"===(p=a).type&&("number"==typeof p.value||"bigint"in p&&p.bigint)&&e.report({node:t,messageId:"unquotedNumericProperty",data:{property:a.value},fix:e=>e.replaceText(a,c(a))})}}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;("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){m(e.filter(e=>"SpreadElement"!==e.type&&e.key&&!e.method&&!e.computed&&!e.shorthand),t)}function f(e){e&&("consistent"===t&&m(e,!1),"consistent-as-needed"===t&&m(e,!0))}function m(t,r){let i=[],a=[],p=null,u=!1;t.forEach(e=>{let t=e.key;if("Literal"===t.type&&"string"==typeof t.value){if(i.push(e),r){let e;try{e=i0(t.value)}catch{u=!0;return}u=u||!o(t.value,e)||n&&s(e[0].value)}}else n&&r&&"Identifier"===t.type&&s(t.name)?(a.push(e),u=!0,p=t.name):a.push(e)}),r&&i.length&&!u?i.forEach(t=>{let n=t.key;e.report({node:t,messageId:"redundantQuoting",fix:e=>e.replaceText(n,l(n))})}):a.length&&p?a.forEach(t=>{e.report({node:t,messageId:"requireQuotesDueToReservedWord",data:{property:p},fix:e=>e.replaceText(t.key,c(t.key))})}):i.length&&a.length&&a.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||u(e),"as-needed"===t&&p(e)},ObjectExpression(e){"consistent"===t&&d(e.properties,!1),"consistent-as-needed"===t&&d(e.properties,!0)},ImportAttribute(e){"always"!==t&&t||u(e),"as-needed"===t&&p(e)},ImportDeclaration(e){f(e.attributes)},ExportAllDeclaration(e){f(e.attributes)},ExportNamedDeclaration(e){f(e.attributes)},TSPropertySignature(e){"always"!==t&&t||u(e),"as-needed"===t&&p(e)},TSEnumMember(e){"always"!==t&&t||u(e),"as-needed"===t&&p(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 mU(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 mj={double:{quote:'"',alternateQuote:"'",description:"doublequote",convert:mU},single:{quote:"'",alternateQuote:'"',description:"singlequote",convert:mU},backtick:{quote:"`",alternateQuote:'"',description:"backtick",convert:mU}},mF=RegExp(String.raw`(^|[^\\])(\\\\)*[${Array.from(i8).join("")}]`,"u");var mW=a$({name:"quotes",package:"ts",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}]}],messages:{wrongQuotes:"Strings must use {{description}}."}},defaultOptions:["double",{allowTemplateLiterals:"never",avoidEscape:!1,ignoreStringLiterals:!1}],create(e){let t=e.options[0],n=mj[t||"double"],r=e.options[1],i=e.sourceCode,a=!1,s=!1,o=!1,l=!1;return"object"==typeof r?(a=!0===r.avoidEscape,s=!0===r.ignoreStringLiterals,"string"==typeof r.allowTemplateLiterals?l=(o="always"===r.allowTemplateLiterals)||"avoidEscape"===r.allowTemplateLiterals:"boolean"==typeof r.allowTemplateLiterals&&(o=!0===r.allowTemplateLiterals,l=!0===r.allowTemplateLiterals)):"avoid-escape"===r&&(a=!0),{Literal(r){if(s)return;let o=r.value,l=r.raw;if(n&&"string"==typeof o){let s="backtick"===t&&function(e){let t=e.parent;if(!t)return!1;switch(t.type){case di.AST_NODE_TYPES.ExpressionStatement:return!ac(i,e)&&function(e){if(!e.parent||!aC(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&&!ac(i,r.expression)))break}return!1}(e);case di.AST_NODE_TYPES.Property:case di.AST_NODE_TYPES.MethodDefinition:return t.key===e&&!t.computed;case di.AST_NODE_TYPES.ImportDeclaration:case di.AST_NODE_TYPES.ExportNamedDeclaration:return t.source===e;case di.AST_NODE_TYPES.ExportAllDeclaration:return t.exported===e||t.source===e;case di.AST_NODE_TYPES.ImportSpecifier:return t.imported===e;case di.AST_NODE_TYPES.ExportSpecifier:return t.local===e||t.exported===e;case di.AST_NODE_TYPES.ImportAttribute:return t.value===e;case di.AST_NODE_TYPES.TSAbstractMethodDefinition:case di.AST_NODE_TYPES.TSMethodSignature:case di.AST_NODE_TYPES.TSPropertySignature:case di.AST_NODE_TYPES.TSModuleDeclaration:case di.AST_NODE_TYPES.TSExternalModuleReference:return!0;case di.AST_NODE_TYPES.TSEnumMember:return e===t.id;case di.AST_NODE_TYPES.TSAbstractPropertyDefinition:case di.AST_NODE_TYPES.PropertyDefinition:return t.key===e&&!t.computed;case di.AST_NODE_TYPES.TSLiteralType:return t.parent?.type===di.AST_NODE_TYPES.TSImportType;default:return!1}}(r)||!!r.parent&&("JSXAttribute"===r.parent.type||"JSXElement"===r.parent.type||"JSXFragment"===r.parent.type)||aV(l,n.quote);!s&&a&&(s=aV(l,n.alternateQuote)&&l.includes(n.quote)),s||e.report({node:r,messageId:"wrongQuotes",data:{description:n.description},fix:e=>"backtick"===t&&an.test(l)?null:e.replaceText(r,n.convert(r.raw))})}},TemplateLiteral(r){!(o||"backtick"===t||"TaggedTemplateExpression"===r.parent.type&&r===r.parent.quasi||r.expressions.length>0||r.quasis.length>=1&&mF.test(r.quasis[0].value.raw))&&(l&&a&&i.getText(r).includes(n.quote)||e.report({node:r,messageId:"wrongQuotes",data:{description:n.description},fix:e=>aC(r.parent)&&!ac(i,r)?null:e.replaceText(r,n.convert(i.getText(r)))}))}}}}),mG=a$({name:"rest-spread-spacing",package:"js",meta:{type:"layout",docs:{description:"Enforce spacing between rest and spread operators and their expressions"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]}],messages:{unexpectedWhitespace:"Unexpected whitespace after {{type}} operator.",expectedWhitespace:"Expected whitespace after {{type}} operator."}},create(e){let t=e.sourceCode,n="always"===e.options[0];function r(r){let i,a=t.getFirstToken(r),s=t.getTokenAfter(a),o=t.isSpaceBetween(a,s);switch(r.type){case"SpreadElement":i="spread","ObjectExpression"===r.parent.type&&(i+=" property");break;case"RestElement":i="rest","ObjectPattern"===r.parent.type&&(i+=" property");break;default:return}n&&!o?e.report({node:r,loc:a.loc,messageId:"expectedWhitespace",data:{type:i},fix:e=>e.replaceTextRange([a.range[1],s.range[0]]," ")}):!n&&o&&e.report({node:r,loc:{start:a.loc.end,end:s.loc.start},messageId:"unexpectedWhitespace",data:{type:i},fix:e=>e.removeRange([a.range[1],s.range[0]])})}return{SpreadElement:r,RestElement:r}}}),m$=a$({name:"semi-spacing",package:"ts",meta:{type:"layout",docs:{description:"Enforce consistent spacing before and after semicolons"},fixable:"whitespace",schema:[{type:"object",properties:{before:{type:"boolean",default:!1},after:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{unexpectedWhitespaceBefore:"Unexpected whitespace before semicolon.",unexpectedWhitespaceAfter:"Unexpected whitespace after semicolon.",missingWhitespaceBefore:"Missing whitespace before semicolon.",missingWhitespaceAfter:"Missing whitespace after semicolon."}},create(e){let t=e.options[0],n=e.sourceCode,r=!1,i=!0;function a(t,a){if(am(t)){if(function(e){let t=n.getTokenBefore(e);return t&&ak(t,e)&&n.isSpaceBetween(t,e)}(t)){if(!r){let r=n.getTokenBefore(t),i={start:r.loc.end,end:t.loc.start};e.report({node:a,loc:i,messageId:"unexpectedWhitespaceBefore",fix:e=>e.removeRange([r.range[1],t.range[0]])})}}else if(r){let n=t.loc;e.report({node:a,loc:n,messageId:"missingWhitespaceBefore",fix:e=>e.insertTextBefore(t," ")})}if(!function(e){let t=n.getTokenBefore(e);return!(t&&ak(e,t))}(t)&&!function(e){let t=n.getTokenAfter(e);return!(t&&ak(e,t))}(t)&&!function(e){let t=n.getTokenAfter(e);return t&&aP(t)||ah(t)}(t)){if(function(e){let t=n.getTokenAfter(e);return t&&ak(e,t)&&n.isSpaceBetween(e,t)}(t)){if(!i){let r=n.getTokenAfter(t),i={start:t.loc.end,end:r.loc.start};e.report({node:a,loc:i,messageId:"unexpectedWhitespaceAfter",fix:e=>e.removeRange([t.range[1],r.range[0]])})}}else if(i){let n=t.loc;e.report({node:a,loc:n,messageId:"missingWhitespaceAfter",fix:e=>e.insertTextAfter(t," ")})}}}}function s(e){a(n.getLastToken(e),e)}return"object"==typeof t&&(r=t.before,i=t.after),{VariableDeclaration:s,ExpressionStatement:s,BreakStatement:s,ContinueStatement:s,DebuggerStatement:s,DoWhileStatement:s,ReturnStatement:s,ThrowStatement:s,ImportDeclaration:s,ExportNamedDeclaration:s,ExportAllDeclaration:s,ExportDefaultDeclaration:s,ForStatement(e){e.init&&a(n.getTokenAfter(e.init),e),e.test&&a(n.getTokenAfter(e.test),e)},PropertyDefinition:s,TSDeclareFunction:s,TSTypeAliasDeclaration:s,TSTypeAnnotation(e){let t=new Set([di.AST_NODE_TYPES.TSDeclareFunction]);e.parent&&!t.has(e.parent.type)&&s(e.parent)}}}}),mq=a$({name:"semi-style",package:"js",meta:{type:"layout",docs:{description:"Enforce location of semicolons"},schema:[{type:"string",enum:["last","first"]}],fixable:"whitespace",messages:{expectedSemiColon:"Expected this semicolon to be at {{pos}}."}},create(e){let t=e.sourceCode,n=e.options[0]||"last";function r(n,r){let i=t.getTokenBefore(n),a=t.getTokenAfter(n),s=!i||ak(i,n),o=!a||ak(n,a);("last"!==r||s)&&("first"!==r||o)||e.report({loc:n.loc,messageId:"expectedSemiColon",data:{pos:"last"===r?"the end of the previous line":"the beginning of the next line"},fix(e){if(i&&a&&t.commentsExistBetween(i,a))return null;let s=i?i.range[1]:n.range[0],o=a?a.range[0]:n.range[1];return e.replaceTextRange([s,o],"last"===r?";\n":"\n;")}})}return{"BreakStatement,ContinueStatement,DebuggerStatement,DoWhileStatement,ExportAllDeclaration,ExportDefaultDeclaration,ExportNamedDeclaration,ExpressionStatement,ImportDeclaration,ReturnStatement,ThrowStatement,VariableDeclaration,PropertyDefinition"(e){if("first"===n&&function(e){if(!e.parent)return!0;let t=e.parent.type;if("IfStatement"===t&&e.parent.consequent===e&&e.parent.alternate||"DoWhileStatement"===t)return!0;let n=function(e){let t=e.type;return"BlockStatement"===t||"StaticBlock"===t||"Program"===t||"ClassBody"===t?e.body:"SwitchCase"===t?e.consequent:null}(e.parent);return null!==n&&n[n.length-1]===e}(e))return;let i=t.getLastToken(e);am(i)&&r(i,n)},ForStatement(e){let n=e.init&&t.getTokenAfter(e.init,am),i=e.test&&t.getTokenAfter(e.test,am);n&&r(n,"last"),i&&r(i,"last")}}}}),mX=a$({name:"semi",package:"ts",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}]},messages:{missingSemi:"Missing semicolon.",extraSemi:"Extra semicolon."}},defaultOptions:["always",{omitLastInOneLineBlock:!1,beforeStatementContinuationChars:"any"}],create(e){let t=/^[-[(/+`]/u,n=new Set(["get","set","static"]),r=new Set(["*","in","instanceof"]),i=e.options[1],a="never"===e.options[0],s=!!(i&&"omitLastInOneLineBlock"in i&&i.omitLastInOneLineBlock),o=!!(i&&"omitLastInOneLineClassBody"in i&&i.omitLastInOneLineClassBody),l=i&&"beforeStatementContinuationChars"in i&&i.beforeStatementContinuationChars||"any",c=e.sourceCode;function p(t,n=!1){let r,i,a=c.getLastToken(t),s="missingSemi";n?(s="extraSemi",i=a.loc,r=function(e){return new a2(e,c).retainSurroundingTokens(a).remove(a)}):(i={start:a.loc.end,end:aM(c,a.loc.end)},r=function(e){return e.insertTextAfter(a,";")}),e.report({node:t,loc:i,messageId:s,fix:r})}function u(e){return!!e&&t.test(e.value)&&"++"!==e.value&&"--"!==e.value}function d(e){let t=am(c.getLastToken(e));if(a){let i=c.getTokenAfter(e);!t||(!function(e){let t=c.getTokenAfter(e);return!t||aP(t)||am(t)}(c.getLastToken(e))?function(e){if("PropertyDefinition"!==e.type)return!1;if(!e.computed&&"Identifier"===e.key.type&&"name"in e.key&&n.has(e.key.name)&&!(e.static&&"static"===e.key.name)&&!e.value)return!0;let t=c.getTokenAfter(e);return r.has(t.value)}(e)||function(e){let t=c.getLastToken(e,1),n=c.getTokenAfter(e);return!!n&&ak(t,n)}(e)||("PropertyDefinition"===e.type||"never"!==l||function(e){let t=e.type;return"DoWhileStatement"!==t&&"BreakStatement"!==t&&"ContinueStatement"!==t&&"DebuggerStatement"!==t&&"ImportDeclaration"!==t&&"ExportAllDeclaration"!==t&&("ReturnStatement"===t?!!e.argument:"ExportNamedDeclaration"===t?!!e.declaration:!function(e){if(!aP(e))return!1;let t=c.getNodeByRangeIndex(e.range[0]);return"BlockStatement"===t.type&&"ArrowFunctionExpression"===t.parent.type}(c.getLastToken(e,1)))}(e))&&u(c.getTokenAfter(e))?1:0:0)?!t&&"always"===l&&"PropertyDefinition"!==e.type&&u(i)&&p(e):p(e,!0)}else{let n=s&&function(e){let t=e.parent,n=c.getTokenAfter(e);return!!n&&"}"===n.value&&("BlockStatement"===t.type?t.loc.start.line===t.loc.end.line:"StaticBlock"===t.type&&c.getFirstToken(t,{skip:1}).loc.start.line===t.loc.end.line)}(e),r=o&&function(e){let t=e.parent,n=c.getTokenAfter(e);return!!n&&"}"===n.value&&"ClassBody"===t.type&&t.loc.start.line===t.loc.end.line}(e),i=n||r;t&&i?p(e,!0):t||i||p(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!==di.AST_NODE_TYPES.TSInterfaceDeclaration&&(/(?:Class|Function)Declaration/u.test(e.declaration.type)||d(e))},PropertyDefinition:d,TSAbstractPropertyDefinition:d,TSDeclareFunction:d,TSExportAssignment:d,TSImportEqualsDeclaration:d,TSTypeAliasDeclaration:d,TSEmptyBodyFunctionExpression:d}}}),mH=a$({name:"space-before-blocks",package:"ts",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"]}},additionalProperties:!1}]}],messages:{unexpectedSpace:"Unexpected space before opening brace.",missingSpace:"Missing space before opening brace."}},defaultOptions:["always"],create(e,[t]){let n=e.sourceCode,r=!0,i=!0,a=!0,s=!1,o=!1,l=!1;function c(e){let t=e.parent;return"BlockStatement"===e.type&&aa(t)&&t.body===e}function p(t){let p=n.getTokenBefore(t);if(p&&!(au(p)||ax(p)&&!c(t)||aE(p)&&"parent"in t&&t.parent&&"SwitchCase"===t.parent.type&&p===aY(t.parent,n))&&ak(p,t)){let u,d,f=n.isSpaceBetween(p,t);c(t)?(u=r,d=s):"ClassBody"===t.type||"TSEnumBody"===t.type||"TSInterfaceBody"===t.type?(u=a,d=l):(u=i,d=o),u&&!f?e.report({node:t,messageId:"missingSpace",fix:e=>e.insertTextBefore(t," ")}):d&&f&&e.report({node:t,messageId:"unexpectedSpace",fix:e=>e.removeRange([p.range[1],t.range[0]])})}}return"object"==typeof t?(r="always"===t.functions,i="always"===t.keywords,a="always"===t.classes,s="never"===t.functions,o="never"===t.keywords,l="never"===t.classes):"never"===t&&(r=!1,i=!1,a=!1,s=!0,o=!0,l=!0),{BlockStatement:p,ClassBody:p,SwitchStatement(e){let t,r=e.cases;p(r.length>0?n.getTokenBefore(r[0]):n.getLastToken(e,1))},TSEnumBody:p,TSInterfaceBody:p}}}),mJ=a$({name:"space-before-function-paren",package:"ts",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"]}},additionalProperties:!1}]}],messages:{unexpectedSpace:"Unexpected space before function parentheses.",missingSpace:"Missing space before function parentheses."}},defaultOptions:["always"],create(e,[t]){let n=e.sourceCode,r="string"==typeof t?t:"always",i="object"==typeof t?t:{};function a(t){let a,s,o=function(e){if(e.type===di.AST_NODE_TYPES.ArrowFunctionExpression){if(e.async&&da.isOpeningParenToken(n.getFirstToken(e,{skip:1})))return i.asyncArrow??r}else if(function(e){if(null!=e.id)return!0;let t=e.parent;return t.type===di.AST_NODE_TYPES.MethodDefinition||t.type===di.AST_NODE_TYPES.TSAbstractMethodDefinition||t.type===di.AST_NODE_TYPES.Property&&("get"===t.kind||"set"===t.kind||t.method)}(e))return i.named??r;else if(!e.generator)return i.anonymous??r;return"ignore"}(t);if("ignore"===o)return;t.typeParameters?(a=n.getLastToken(t.typeParameters),s=n.getTokenAfter(a)):(s=n.getFirstToken(t,da.isOpeningParenToken),a=n.getTokenBefore(s));let l=n.isSpaceBetween(a,s);l&&"never"===o?e.report({node:t,loc:{start:a.loc.end,end:s.loc.start},messageId:"unexpectedSpace",fix:e=>{let t=n.getCommentsBefore(s);return t.some(e=>"Line"===e.type)?null:e.replaceTextRange([a.range[1],s.range[0]],t.reduce((e,t)=>e+n.getText(t),""))}}):l||"always"!==o||t.typeParameters&&!t.id||e.report({node:t,loc:s.loc,messageId:"missingSpace",fix:e=>e.insertTextAfter(a," ")})}return{ArrowFunctionExpression:a,FunctionDeclaration:a,FunctionExpression:a,TSEmptyBodyFunctionExpression:a,TSDeclareFunction:a}}}),mK=a$({name:"space-in-parens",package:"js",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}],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){let t="always"===e.options[0],n=e.options[1]&&e.options[1].exceptions||[],r={braceException:!1,bracketException:!1,parenException:!1,empty:!1},i={openers:[],closers:[]};n.length&&(r.braceException=n.includes("{}"),r.bracketException=n.includes("[]"),r.parenException=n.includes("()"),r.empty=n.includes("empty"));let a=e.sourceCode;function s(e){return i.openers.includes(e.value)}function o(e){return i.closers.includes(e.value)}return{Program:function(n){i=function(){let e=[],t=[];return r.braceException&&(e.push("{"),t.push("}")),r.bracketException&&(e.push("["),t.push("]")),r.parenException&&(e.push("("),t.push(")")),r.empty&&(e.push(")"),t.push("(")),{openers:e,closers:t}}();let l=a.tokensAndComments;l.forEach((i,c)=>{let p=l[c-1],u=l[c+1];(aT(i)||ah(i))&&("("===i.value&&!(a.isSpaceBetween(i,u)||!r.empty&&ah(u))&&(t?!s(u):s(u))&&e.report({node:n,loc:i.loc,messageId:"missingOpeningSpace",fix:e=>e.insertTextAfter(i," ")}),"("===i.value&&ak(i,u)&&"Line"!==u.type&&a.isSpaceBetween(i,u)&&(t?s(u):!s(u))&&e.report({node:n,loc:{start:i.loc.end,end:u.loc.start},messageId:"rejectedOpeningSpace",fix:e=>e.removeRange([i.range[1],u.range[0]])}),")"===i.value&&!(a.isSpaceBetween(p,i)||!r.empty&&aT(p))&&(t?!o(p):o(p))&&e.report({node:n,loc:i.loc,messageId:"missingClosingSpace",fix:e=>e.insertTextBefore(i," ")}),")"===i.value&&ak(p,i)&&a.isSpaceBetween(p,i)&&(t?o(p):!o(p))&&e.report({node:n,loc:{start:p.loc.end,end:i.loc.start},messageId:"rejectedClosingSpace",fix:e=>e.removeRange([p.range[1],i.range[0]])}))})}}}});let mz=["|","&"];var mQ=a$({name:"space-infix-ops",package:"ts",meta:{type:"layout",docs:{description:"Require spacing around infix operators"},fixable:"whitespace",schema:[{type:"object",properties:{int32Hint:{type:"boolean",default:!1},ignoreTypes:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{missingSpace:"Operator '{{operator}}' must be spaced."}},defaultOptions:[{int32Hint:!1,ignoreTypes:!1}],create(e){let t=!!e.options[0]&&!0===e.options[0].int32Hint,n=!!e.options[0]&&!0===e.options[0].ignoreTypes,r=e.sourceCode;function i(t,n){e.report({node:t,loc:n.loc,messageId:"missingSpace",data:{operator:n.value},fix(e){let t=r.getTokenBefore(n),i=r.getTokenAfter(n),a="";return n.range[0]-t.range[1]==0&&(a=" "),a+=n.value,i.range[0]-n.range[1]==0&&(a+=" "),e.replaceText(n,a)}})}function a(e,t,n){let i=r.getFirstTokenBetween(e,t,e=>e.value===n),a=r.getTokenBefore(i),s=r.getTokenAfter(i);return r.isSpaceBetween(a,i)&&r.isSpaceBetween(i,s)?null:i}function s(e){let n="typeAnnotation"in e.left&&e.left.typeAnnotation?e.left.typeAnnotation:e.left,s=a(n,e.right,"operator"in e&&e.operator?e.operator:"=");s&&!(t&&r.getText(e).endsWith("|0"))&&i(e,s)}function o(e){return e.type===di.AST_TOKEN_TYPES.Punctuator&&/^[=?:]$/.test(e.value)}function l(e,t,n){if(!n||!t)return;let a=r.getFirstTokenBetween(t,n,o),s=r.getTokenBefore(a),l=r.getTokenAfter(a);r.isSpaceBetween(s,a)&&r.isSpaceBetween(a,l)||i(e,a)}function c(e){e.types.forEach(t=>{let a=t.type===di.AST_NODE_TYPES.TSFunctionType?da.isNotOpeningParenToken:0,s=r.getTokenBefore(t,a);if(!n&&null!=s&&mz.includes(s.value)){let t=r.getTokenBefore(s),n=r.getTokenAfter(s);r.isSpaceBetween(t,s)&&r.isSpaceBetween(s,n)||i(e,s)}})}return{AssignmentExpression:s,AssignmentPattern:s,BinaryExpression:s,LogicalExpression:s,ConditionalExpression:function(e){let t=a(e.test,e.consequent,"?"),n=a(e.consequent,e.alternate,":");t&&i(e,t),n&&i(e,n)},VariableDeclarator:function(e){let t=e.id.typeAnnotation?e.id.typeAnnotation:e.id,n=e.init;if(n){let r=a(t,n,"=");r&&i(e,r)}},TSEnumMember:function(e){l(e,e.id,e.initializer)},PropertyDefinition:function(e){let t=e.optional&&!e.typeAnnotation?r.getTokenAfter(e.key):e.typeAnnotation??e.key;l(e,t,e.value)},TSTypeAliasDeclaration:function(e){l(e,e.typeParameters??e.id,e.typeAnnotation)},TSUnionType:c,TSIntersectionType:c,TSConditionalType:function(e){l(e,e.extendsType,e.trueType),l(e,e.trueType,e.falseType)}}}}),mZ=a$({name:"space-unary-ops",package:"js",meta:{type:"layout",docs:{description:"Enforce consistent spacing before or after unary operators"},fixable:"whitespace",schema:[{type:"object",properties:{words:{type:"boolean",default:!0},nonwords:{type:"boolean",default:!1},overrides:{type:"object",additionalProperties:{type:"boolean"}}},additionalProperties:!1}],messages:{unexpectedBefore:"Unexpected space before unary operator '{{operator}}'.",unexpectedAfter:"Unexpected space after unary operator '{{operator}}'.",unexpectedAfterWord:"Unexpected space after unary word operator '{{word}}'.",wordOperator:"Unary word operator '{{word}}' must be followed by whitespace.",operator:"Unary operator '{{operator}}' must be followed by whitespace.",beforeUnaryExpressions:"Space is required before unary expressions '{{token}}'."}},create(e){let t=e.options[0]||{words:!0,nonwords:!1},n=e.sourceCode;function r(e){return t.overrides&&Object.prototype.hasOwnProperty.call(t.overrides,e)}function i(e){return t.overrides?.[e]}function a(t,n,r,i){r.range[0]===n.range[1]&&e.report({node:t,messageId:"wordOperator",data:{word:i},fix:e=>e.insertTextAfter(n," ")})}function s(t,n,r,i){aR(n,r)&&r.range[0]>n.range[1]&&e.report({node:t,messageId:"unexpectedAfterWord",data:{word:i},fix:e=>e.removeRange([n.range[1],r.range[0]])})}function o(e,n,o,l){r(l)?i(l)?a(e,n,o,l):s(e,n,o,l):t.words?a(e,n,o,l):s(e,n,o,l)}function l(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:"operator",data:{operator:n.value},fix:e=>e.insertTextAfter(n," ")});else n.range[1]===r.range[0]&&e.report({node:t,messageId:"beforeUnaryExpressions",data:{token:r.value},fix:e=>e.insertTextBefore(r," ")})}function c(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=>aR(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 a="UpdateExpression"!==e.type||e.prefix?n.getFirstTokens(e,2):n.getLastTokens(e,2),s=a[0],p=a[1];if(("NewExpression"===e.type||e.prefix)&&"Keyword"===s.type)return void o(e,s,p,s.value);let u="prefix"in e&&e.prefix?a[0].value:a[1].value;r(u)?i(u)?l(e,s,p):c(e,s,p):t.nonwords?l(e,s,p):c(e,s,p)}return{UnaryExpression:p,UpdateExpression:p,NewExpression:p,YieldExpression:function(e){let t=n.getFirstTokens(e,3);e.argument&&!e.delegate&&o(e,t[0],t[1],"yield")},AwaitExpression:function(e){let t=n.getFirstTokens(e,3);o(e,t[0],t[1],"await")}}}});function m0(e){return`(?:${function(e){if("string"!=typeof e)throw TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(e)})`}function m1(e){return`${m0(e)}+`}function m2(e){let t="";return 0===e.length?t+="\\s":(t+="(?:\\s|",1===e.length?t+=m1(e[0]):(t+="(?:",t+=e.map(m1).join("|"),t+=")"),t+=`(?:$|[${Array.from(i8).join("")}]))`),t}var m3=a$({name:"spaced-comment",package:"js",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",default:!1}},additionalProperties:!1}},additionalProperties:!1}],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){let t=e.sourceCode,n="never"!==e.options[0],r=e.options[1]||{},i=r.block&&r.block.balanced,a=["block","line"].reduce((e,t)=>{var a;let s,o=(a=r[t]&&r[t]?.markers||r.markers||[]).includes("*")?a:a.concat("*"),l=r[t]&&r[t]?.exceptions||r.exceptions||[];return e[t]={beginRegex:n?(s="^",1===o.length?s+=m0(o[0]):(s+="(?:",s+=o.map(m0).join("|"),s+=")"),s+="?",RegExp(s+=m2(l),"u")):RegExp(`^(${o.map(m0).join("|")})?[ ]+`,"u"),endRegex:i&&n?RegExp(`${m2(l)}$`,"u"):RegExp("[ ]+$","u"),hasExceptions:l.length>0,captureMarker:RegExp(`^(${o.map(m0).join("|")})`,"u"),markers:new Set(o)},e},{});function s(t,r,i,a){let s="block"===t.type.toLowerCase()?"/*":"//";e.report({node:t,fix(e){let r=t.range[0],a=r+2;return n?(i&&(a+=i[0].length),e.insertTextAfterRange([r,a]," ")):(i&&(a+=i[0].length),e.replaceTextRange([r,a],s+(i&&i[1]?i[1]:"")))},messageId:r,data:{refChar:a}})}function o(t,r,i){e.report({node:t,fix(e){if(n)return e.insertTextAfterRange([t.range[0],t.range[1]-2]," ");let r=t.range[1]-2,a=r;return i&&(a-=i[0].length),e.replaceTextRange([a,r],"")},messageId:r})}function l(e){let t=e.type.toLowerCase(),r=a[t],l="block"===t?"/*":"//";if(0===e.value.length||r.markers.has(e.value)||"line"===t&&(e.value.startsWith("/ <reference")||e.value.startsWith("/ <amd")))return;let c=r.beginRegex.exec(e.value),p=r.endRegex.exec(e.value);if(n){if(!c){let t=r.captureMarker.exec(e.value),n=t?l+t[0]:l;r.hasExceptions?s(e,"expectedExceptionAfter",t,n):s(e,"expectedSpaceAfter",t,n)}i&&"block"===t&&!p&&o(e,"expectedSpaceBefore",null)}else c&&(c[1]?s(e,"unexpectedSpaceAfterMarker",c,c[1]):s(e,"unexpectedSpaceAfter",c,l)),i&&"block"===t&&p&&o(e,"unexpectedSpaceBefore",p)}return{Program(){t.getAllComments().filter(e=>"Shebang"!==e.type).forEach(l)}}}}),m6=a$({name:"switch-colon-spacing",package:"js",meta:{type:"layout",docs:{description:"Enforce spacing around colons of switch statements"},schema:[{type:"object",properties:{before:{type:"boolean",default:!1},after:{type:"boolean",default:!0}},additionalProperties:!1}],fixable:"whitespace",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){let t=e.sourceCode,n=e.options[0]||{},r=!0===n.before,i=!1!==n.after;function a(e,n,r){return aP(n)||!ak(e,n)||t.isSpaceBetween(e,n)===r}function s(e,n,r,i){return null!==t.getFirstTokenBetween(n,r,{includeComments:!0,filter:ab})?null:i?e.insertTextAfter(n," "):e.removeRange([n.range[1],r.range[0]])}return{SwitchCase(n){let o=aY(n,t),l=t.getTokenBefore(o),c=t.getTokenAfter(o);a(l,o,r)||e.report({node:n,loc:o.loc,messageId:r?"expectedBefore":"unexpectedBefore",fix:e=>s(e,l,o,r)}),a(o,c,i)||e.report({node:n,loc:o.loc,messageId:i?"expectedAfter":"unexpectedAfter",fix:e=>s(e,o,c,i)})}}}}),m4=a$({name:"template-curly-spacing",package:"js",meta:{type:"layout",docs:{description:"Require or disallow spacing around embedded expressions of template strings"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]}],messages:{expectedBefore:"Expected space(s) before '}'.",expectedAfter:"Expected space(s) after '${'.",unexpectedBefore:"Unexpected space(s) before '}'.",unexpectedAfter:"Unexpected space(s) after '${'."}},create(e){let t=e.sourceCode,n="always"===e.options[0];return{TemplateElement(r){let i=t.getFirstToken(r);!function(r){if(!r.value.startsWith("}"))return;let i=t.getTokenBefore(r,{includeComments:!0}),a=t.isSpaceBetween(i,r);ak(i,r)&&(n&&!a&&e.report({loc:{start:r.loc.start,end:{line:r.loc.start.line,column:r.loc.start.column+1}},messageId:"expectedBefore",fix:e=>e.insertTextBefore(r," ")}),!n&&a&&e.report({loc:{start:i.loc.end,end:r.loc.start},messageId:"unexpectedBefore",fix:e=>e.removeRange([i.range[1],r.range[0]])}))}(i),function(r){if(!r.value.endsWith("${"))return;let i=t.getTokenAfter(r,{includeComments:!0}),a=t.isSpaceBetween(r,i);ak(r,i)&&(n&&!a&&e.report({loc:{start:{line:r.loc.end.line,column:r.loc.end.column-2},end:r.loc.end},messageId:"expectedAfter",fix:e=>e.insertTextAfter(r," ")}),!n&&a&&e.report({loc:{start:r.loc.end,end:i.loc.start},messageId:"unexpectedAfter",fix:e=>e.removeRange([r.range[1],i.range[0]])}))}(i)}}}}),m5=a$({name:"template-tag-spacing",package:"js",meta:{type:"layout",docs:{description:"Require or disallow spacing between template tags and their literals"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]}],messages:{unexpected:"Unexpected space between template tag and template literal.",missing:"Missing space between template tag and template literal."}},create(e){let t="always"!==e.options[0],n=e.sourceCode;return{TaggedTemplateExpression:function(r){let i=n.getTokenBefore(r.quasi),a=n.getFirstToken(r.quasi),s=n.isSpaceBetween(i,a);t&&s?e.report({node:r,loc:{start:i.loc.end,end:a.loc.start},messageId:"unexpected",fix(e){let t=n.getCommentsBefore(r.quasi);return t.some(e=>"Line"===e.type)?null:e.replaceTextRange([i.range[1],a.range[0]],t.reduce((e,t)=>e+n.getText(t),""))}}):t||s||e.report({node:r,loc:{start:r.loc.start,end:a.loc.start},messageId:"missing",fix:e=>e.insertTextAfter(i," ")})}}}}),m9=a$({name:"type-annotation-spacing",package:"ts",meta:{type:"layout",docs:{description:"Require consistent spacing around type annotations"},fixable:"whitespace",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}}'."},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:{$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:[{}],create(e,[t]){let n=[":","=>"],r=e.sourceCode,i=function(e){let t={...e?.before!==void 0?{before:e.before}:{},...e?.after!==void 0?{after:e.after}:{}},n=e?.overrides??{},r={before:!1,after:!0,...t,...n?.colon};return{colon:r,arrow:{before:!0,after:!0,...t,...n?.arrow},variable:{...r,...n?.variable},property:{...r,...n?.property},parameter:{...r,...n?.parameter},returnType:{...r,...n?.returnType}}}(t);function a(t){let a=r.getTokenBefore(t),s=a,o=r.getTokenBefore(a),l=a.value;if(!n.includes(l))return;let{before:c,after:p}=function(e,t){let n=t?.parent?.parent;if(da.isTSFunctionType(n)||da.isTSConstructorType(n))return e.arrow;if(da.isIdentifier(n)){let t=n?.parent;return da.isVariableDeclarator(t)?e.variable:da.isFunctionOrFunctionType(t)?e.parameter:e.colon}return da.isClassOrTypeElement(n)?e.property:da.isFunction(n)?e.returnType:e.colon}(i,t);":"===l&&"?"===o.value&&(r.isSpaceBetween(o,s)&&e.report({node:s,messageId:"unexpectedSpaceBetween",data:{type:l,previousToken:o.value},fix:e=>e.removeRange([o.range[1],s.range[0]])}),l="?:",s=o,("+"===(o=r.getTokenBefore(o)).value||"-"===o.value)&&(l=`${o.value}?:`,s=o,o=r.getTokenBefore(o)));let u=s.range[0]-o.range[1],d=t.range[0]-a.range[1];p&&0===d?e.report({node:a,messageId:"expectedSpaceAfter",data:{type:l},fix:e=>e.insertTextAfter(a," ")}):!p&&d>0&&e.report({node:a,messageId:"unexpectedSpaceAfter",data:{type:l},fix:e=>e.removeRange([a.range[1],t.range[0]])}),c&&0===u?e.report({node:s,messageId:"expectedSpaceBefore",data:{type:l},fix:e=>e.insertTextAfter(o," ")}):!c&&u>0&&e.report({node:s,messageId:"unexpectedSpaceBefore",data:{type:l},fix:e=>e.removeRange([o.range[1],s.range[0]])})}return{TSMappedType(e){e.typeAnnotation&&a(e.typeAnnotation)},TSTypeAnnotation(e){a(e.typeAnnotation)}}}});let m8=new Set(["TSCallSignatureDeclaration","ArrowFunctionExpression","TSFunctionType","FunctionExpression"]);var m7=a$({name:"type-generic-spacing",package:"plus",meta:{type:"layout",docs:{description:"Enforces consistent spacing inside TypeScript type generics"},fixable:"whitespace",schema:[],messages:{genericSpacingMismatch:"Generic spaces mismatch"}},defaultOptions:[],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;r(t.getTokenBefore(n[0]),t.getTokenAfter(n[n.length-1]))},TSTypeParameterDeclaration:n=>{if(!m8.has(n.parent.type)){let r=t.text.slice(0,n.range[0]),i=r.match(/(\s+)$/)?.[0];i&&i.length&&e.report({node:n,messageId:"genericSpacingMismatch",*fix(e){yield e.replaceTextRange([n.range[0]-i.length,n.range[0]],"")}})}let i=n.params;r(t.getTokenBefore(i[0]),t.getTokenAfter(i[i.length-1]));for(let r=1;r<i.length;r++){let a=i[r-1],s=i[r],o=a.range[1],l=s.range[0],c=t.text.slice(o,l);", "===c||c.match(/,\s*\n/)||e.report({*fix(e){yield e.replaceTextRange([o,l],", ")},loc:{start:a.loc.end,end:s.loc.start},messageId:"genericSpacingMismatch",node:n})}},TSTypeParameter:n=>{if(!n.default)return;let r=n.constraint||n.name,i=r.range[1],a=n.default.range[0],s=t.text.slice(i,a);s.match(/(?:^|[^ ]) = (?:$|[^ ])/)||e.report({*fix(e){yield e.replaceTextRange([i,a],s.replace(/\s*=\s*/," = "))},loc:{start:r.loc.end,end:n.default.loc.start},messageId:"genericSpacingMismatch",node:n})}}}});let Ee=/^([\w$]+)(\s*)(\?\s*)?:(\s*)(.*)$/,Et={rules:{"array-bracket-newline":a3,"array-bracket-spacing":a6,"array-element-newline":a4,"arrow-parens":a5,"arrow-spacing":a9,"block-spacing":ds,"brace-style":dl,"comma-dangle":dp,"comma-spacing":du,"comma-style":dd,"computed-property-spacing":df,"curly-newline":dy,"dot-location":dS,"eol-last":dP,"func-call-spacing":dx,"function-call-argument-newline":db,"function-call-spacing":dx,"function-paren-newline":d_,"generator-star-spacing":dA,"implicit-arrow-linebreak":dY,indent:dV,"indent-binary-ops":dC,"jsx-child-element-spacing":dN,"jsx-closing-bracket-location":dM,"jsx-closing-tag-location":dU,"jsx-curly-brace-presence":dq,"jsx-curly-newline":dX,"jsx-curly-spacing":dK,"jsx-equals-spacing":dz,"jsx-first-prop-new-line":dQ,"jsx-function-call-newline":dZ,"jsx-indent":d1,"jsx-indent-props":d0,"jsx-max-props-per-line":d2,"jsx-newline":d6,"jsx-one-expression-per-line":d5,"jsx-pascal-case":fr,"jsx-props-no-multi-spaces":fi,"jsx-quotes":fs,"jsx-self-closing-comp":fl,"jsx-sort-props":fT,"jsx-tag-spacing":fP,"jsx-wrap-multilines":fx,"key-spacing":fv,"keyword-spacing":fV,"line-comment-position":fD,"linebreak-style":fN,"lines-around-comment":fR,"lines-between-class-members":fU,"max-len":fW,"max-statements-per-line":f$,"member-delimiter-style":fX,"multiline-comment-style":fH,"multiline-ternary":fJ,"new-parens":fK,"newline-per-chained-call":fz,"no-confusing-arrow":fQ,"no-extra-parens":fZ,"no-extra-semi":f0,"no-floating-decimal":f1,"no-mixed-operators":mt,"no-mixed-spaces-and-tabs":mn,"no-multi-spaces":mr,"no-multiple-empty-lines":mi,"no-tabs":mo,"no-trailing-spaces":ml,"no-whitespace-before-property":mc,"nonblock-statement-body-position":mu,"object-curly-newline":mm,"object-curly-spacing":mE,"object-property-newline":mT,"one-var-declaration-per-line":mh,"operator-linebreak":mg,"padded-blocks":mS,"padding-line-between-statements":mR,"quote-props":mB,quotes:mW,"rest-spread-spacing":mG,semi:mX,"semi-spacing":m$,"semi-style":mq,"space-before-blocks":mH,"space-before-function-paren":mJ,"space-in-parens":mK,"space-infix-ops":mQ,"space-unary-ops":mZ,"spaced-comment":m3,"switch-colon-spacing":m6,"template-curly-spacing":m4,"template-tag-spacing":m5,"type-annotation-spacing":m9,"type-generic-spacing":m7,"type-named-tuple-spacing":a$({name:"type-named-tuple-spacing",package:"plus",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 ':'."}},defaultOptions:[],create:e=>{let t=e.getSourceCode();return{TSNamedTupleMember:n=>{let r=t.text.slice(n.range[0],n.range[1]),i=r.match(Ee);if(!i)return;let a=n.label.name,s=i[2],o=i[3],l=i[4],c=i[5];function p(){let e=a;return n.optional&&(e+="?"),e+=": ",e+=c}o?.length>1&&e.report({node:n,messageId:"unexpectedSpaceBetween",*fix(e){yield e.replaceTextRange(n.range,r.replace(Ee,p()))}}),s?.length&&e.report({node:n,messageId:"unexpectedSpaceBefore",*fix(e){yield e.replaceTextRange(n.range,r.replace(Ee,p()))}}),null!=l&&1!==l.length&&e.report({node:n,messageId:"expectedSpaceAfter",*fix(e){yield e.replaceTextRange(n.range,r.replace(Ee,p()))}})}}}}),"wrap-iife":a$({name:"wrap-iife",package:"js",meta:{type:"layout",docs:{description:"Require parentheses around immediate `function` invocations"},schema:[{type:"string",enum:["outside","inside","any"]},{type:"object",properties:{functionPrototypeMethods:{type:"boolean",default:!1}},additionalProperties:!1}],fixable:"code",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){let t=e.options[0]||"outside",n=e.options[1]&&e.options[1].functionPrototypeMethods,r=e.sourceCode;return{CallExpression(i){let a=function(e){let t=ao(e.callee);return"FunctionExpression"===t.type?t:n&&"MemberExpression"===t.type&&"FunctionExpression"===t.object.type&&("call"===as(t)||"apply"===as(t))?t.object:null}(i);if(!a)return;let s=ac(r,i),o=ac(r,a);s||o?"inside"!==t||o?"outside"!==t||s||e.report({node:i,messageId:"moveInvocation",fix(e){let t=r.getTokenAfter(a);return e.replaceTextRange([t.range[0],i.range[1]],`${r.getText().slice(t.range[1],i.range[1])})`)}}):e.report({node:i,messageId:"wrapExpression",fix(e){if(aF(i,r,1)&&!function(e){let t=e.parent?.type==="ChainExpression"?e.parent:e;return t.parent?.type==="NewExpression"&&t.parent.callee===t}(i)){let t=r.getTokenAfter(i);return e.replaceTextRange([a.range[1],t.range[1]],`)${r.getText().slice(a.range[1],t.range[0])}`)}return e.replaceText(a,`(${r.getText(a)})`)}}):e.report({node:i,messageId:"wrapInvocation",fix(e){let n="inside"===t?a:i;return e.replaceText(n,`(${r.getText(n)})`)}})}}}}),"wrap-regex":a$({name:"wrap-regex",package:"js",meta:{type:"layout",docs:{description:"Require parenthesis around regex literals"},schema:[],fixable:"code",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:a}=n;"MemberExpression"!==a.type||a.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":a$({name:"yield-star-spacing",package:"js",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}]}],messages:{missingBefore:"Missing space before *.",missingAfter:"Missing space after *.",unexpectedBefore:"Unexpected space before *.",unexpectedAfter:"Unexpected space after *."}},create(e){let t=e.sourceCode,n=function(e="after"){return"string"==typeof e?({before:{before:!0,after:!1},after:{before:!1,after:!0},both:{before:!0,after:!0},neither:{before:!1,after:!1}})[e]:e}(e.options[0]);function r(r,i,a){if(t.isSpaceBetween(i,a)!==n[r]){let t="*"===i.value,s=n[r],o=t?i:a;e.report({node:o,messageId:s?"before"===r?"missingBefore":"missingAfter":"before"===r?"unexpectedBefore":"unexpectedAfter",fix:e=>s?t?e.insertTextAfter(o," "):e.insertTextBefore(o," "):e.removeRange([i.range[1],a.range[0]])})}}return{YieldExpression:function(e){if(!("delegate"in e&&e.delegate))return;let n=t.getFirstTokens(e,3),i=n[0],a=n[1],s=n[2];r("before",i,a),r("after",a,s)}}}})}};function En(e={}){let{arrowParens:t=!1,blockSpacing:n=!0,braceStyle:r="stroustrup",commaDangle:i="always-multiline",indent:a=2,jsx:s=!0,pluginName:o="@stylistic",quoteProps:l="consistent-as-needed",quotes:c="single",semi:p=!1,severity:u="error"}=e,d={"@stylistic/array-bracket-spacing":[u,"never"],"@stylistic/arrow-parens":[u,t?"always":"as-needed",{requireForBlockBody:!0}],"@stylistic/arrow-spacing":[u,{after:!0,before:!0}],"@stylistic/block-spacing":[u,n?"always":"never"],"@stylistic/brace-style":[u,r,{allowSingleLine:!0}],"@stylistic/comma-dangle":[u,i],"@stylistic/comma-spacing":[u,{after:!0,before:!1}],"@stylistic/comma-style":[u,"last"],"@stylistic/computed-property-spacing":[u,"never",{enforceForClassMembers:!0}],"@stylistic/dot-location":[u,"property"],"@stylistic/eol-last":u,"@stylistic/generator-star-spacing":[u,{after:!0,before:!1}],"@stylistic/indent":[u,a,{ArrayExpression:1,CallExpression:{arguments:1},flatTernaryExpressions:!1,FunctionDeclaration:{body:1,parameters:1},FunctionExpression:{body:1,parameters:1},ignoreComments:!1,ignoredNodes:["TSUnionType","TSIntersectionType","TSTypeParameterInstantiation","FunctionExpression > .params[decorators.length > 0]","FunctionExpression > .params > :matches(Decorator, :not(:first-child))"],ImportDeclaration:1,MemberExpression:1,ObjectExpression:1,offsetTernaryExpressions:!0,outerIIFEBody:1,SwitchCase:1,tabLength:"tab"===a?4:a,VariableDeclarator:1}],"@stylistic/indent-binary-ops":[u,a],"@stylistic/key-spacing":[u,{afterColon:!0,beforeColon:!1}],"@stylistic/keyword-spacing":[u,{after:!0,before:!0}],"@stylistic/lines-between-class-members":[u,"always",{exceptAfterSingleLine:!0}],"@stylistic/max-statements-per-line":[u,{max:1}],"@stylistic/member-delimiter-style":[u,{multiline:{delimiter:p?"semi":"none",requireLast:p},multilineDetection:"brackets",overrides:{interface:{multiline:{delimiter:p?"semi":"none",requireLast:p}}},singleline:{delimiter:p?"semi":"comma"}}],"@stylistic/multiline-ternary":[u,"always-multiline"],"@stylistic/new-parens":u,"@stylistic/no-extra-parens":[u,"functions"],"@stylistic/no-floating-decimal":u,"@stylistic/no-mixed-operators":[u,{allowSamePrecedence:!0,groups:[["==","!=","===","!==",">",">=","<","<="],["&&","||"],["in","instanceof"]]}],"@stylistic/no-mixed-spaces-and-tabs":u,"@stylistic/no-multi-spaces":u,"@stylistic/no-multiple-empty-lines":[u,{max:1,maxBOF:0,maxEOF:0}],"@stylistic/no-tabs":"tab"===a?"off":u,"@stylistic/no-trailing-spaces":u,"@stylistic/no-whitespace-before-property":u,"@stylistic/object-curly-spacing":[u,"always"],"@stylistic/operator-linebreak":[u,"before"],"@stylistic/padded-blocks":[u,{blocks:"never",classes:"never",switches:"never"}],"@stylistic/quote-props":[u,l],"@stylistic/quotes":[u,c,{allowTemplateLiterals:!0,avoidEscape:!1}],"@stylistic/rest-spread-spacing":[u,"never"],"@stylistic/semi":[u,p?"always":"never"],"@stylistic/semi-spacing":[u,{after:!0,before:!1}],"@stylistic/space-before-blocks":[u,"always"],"@stylistic/space-before-function-paren":[u,{anonymous:"always",asyncArrow:"always",named:"never"}],"@stylistic/space-in-parens":[u,"never"],"@stylistic/space-infix-ops":u,"@stylistic/space-unary-ops":[u,{nonwords:!1,words:!0}],"@stylistic/spaced-comment":[u,"always",{block:{balanced:!0,exceptions:["*"],markers:["!"]},line:{exceptions:["/","#"],markers:["/"]}}],"@stylistic/template-curly-spacing":u,"@stylistic/template-tag-spacing":[u,"never"],"@stylistic/type-annotation-spacing":[u,{}],"@stylistic/type-generic-spacing":u,"@stylistic/type-named-tuple-spacing":u,"@stylistic/wrap-iife":[u,"any",{functionPrototypeMethods:!0}],"@stylistic/yield-star-spacing":[u,{after:!0,before:!1}],...s?{"@stylistic/jsx-closing-bracket-location":u,"@stylistic/jsx-closing-tag-location":u,"@stylistic/jsx-curly-brace-presence":[u,{propElementValues:"always"}],"@stylistic/jsx-curly-newline":u,"@stylistic/jsx-curly-spacing":[u,"never"],"@stylistic/jsx-equals-spacing":u,"@stylistic/jsx-first-prop-new-line":u,"@stylistic/jsx-function-call-newline":[u,"multiline"],"@stylistic/jsx-indent-props":[u,a],"@stylistic/jsx-max-props-per-line":[u,{maximum:1,when:"multiline"}],"@stylistic/jsx-one-expression-per-line":[u,{allow:"single-child"}],"@stylistic/jsx-quotes":u,"@stylistic/jsx-tag-spacing":[u,{afterOpening:"never",beforeClosing:"never",beforeSelfClosing:"always",closingSlash:"never"}],"@stylistic/jsx-wrap-multilines":[u,{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("@stylistic"!==o){let e=/^@stylistic\//;d=Object.fromEntries(Object.entries(d).map(([t,n])=>[t.replace(e,`${o}/`),n]))}return{plugins:{[o]:Et},rules:d}}let Er=[/^jsx-/,/^curly-newline$/],Ei=function(e,t,n){let r=Object.fromEntries(Object.entries(e.rules).filter(([e,t])=>t.meta.fixable&&!t.meta.deprecated&&e===t.meta.docs.url.split("/").pop()&&(!n||n(e,t))).map(([e])=>[`${t}/${e}`,2]));return{plugins:{[t]:e},rules:r}}(Et,"@stylistic",e=>!Er.some(t=>t.test(e))),Ea=En(),Es=Object.assign(Et,{configs:{"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,"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-props-no-multi-spaces":0,"react/jsx-self-closing-comp":0,"react/jsx-sort-props":0,"react/jsx-tag-spacing":0,"react/jsx-wrap-multilines":0}},customize:En,recommended:Ea,"recommended-flat":Ea,all:Ei,"all-flat":Ei}}),Eo=r(p,"@eslint-react/eslint-plugin"),El=r(m(f),"eslint-plugin-ssr-friendly");function Ec({reactCompiler:e="error",additionalHooks:t="(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample)",nextjs:a=!1,remix:p=!1,reactRefresh:u={},additionalHooksWithType:d={useLayoutEffect:["useIsomorphicLayoutEffect"],useEffect:["useAbortableEffect"]},additionalComponents:f=[{name:"Link",as:"a",attributes:[{name:"to",as:"href"},{name:"rel",as:"rel"}]}]}={}){let{allowConstantExport:m=!1}=u;return[{name:"@eslint-sukka/react base",files:[n.GLOB_TS,n.GLOB_TSX,n.GLOB_JSX],plugins:{"jsx-a11y-minimal":r(s,"@eslint-sukka/eslint-plugin-react-jsx-a11y#eslint_plugin_jsx_a11y_minimal"),"react-hooks":r(o,"eslint-plugin-react-hooks"),"@stylistic":r(Es,"@stylistic/eslint-plugin"),"react-prefer-function-component":r(ra,"eslint-plugin-react-prefer-function-component"),"react-compiler":r(l,"eslint-plugin-react-compiler"),...Eo.configs.recommended.plugins,"ssr-friendly":El,"react-refresh":c},settings:{"react-x":{version:"detect",additionalHooks:d,additionalComponents:f}},languageOptions:{globals:i.browser},rules:{...o.configs.recommended.rules,"react-compiler/react-compiler":e,"react-hooks/exhaustive-deps":["error",{additionalHooks:t}],"@stylistic/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],...Eo.configs.recommended.rules,"@eslint-react/no-string-refs":"error","@eslint-react/no-comment-textnodes":"error","@eslint-react/dom/no-unsafe-target-blank":"error","@eslint-react/no-children-prop":"error","@eslint-react/dom/no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom/no-render-return-value":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/dom/no-find-dom-node":"error","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/prefer-destructuring-assignment":"warn","@eslint-react/no-unused-state":"error","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/dom/no-script-url":"error","@eslint-react/no-unused-class-component-members":"error","@eslint-react/naming-convention/component-name":["error",{rule:"PascalCase"}],"@eslint-react/naming-convention/filename":["error",{rule:"kebab-case"}],"@eslint-react/naming-convention/filename-extension":["error",{allow:"as-needed"}],"@eslint-react/naming-convention/use-state":"error","react-prefer-function-component/react-prefer-function-component":"error","@stylistic/jsx-self-closing-comp":"error","@eslint-react/prefer-shorthand-boolean":"error","@stylistic/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"@stylistic/jsx-indent-props":["error",2],"@stylistic/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"@stylistic/jsx-wrap-multilines":["error",{declaration:"parens-new-line",assignment:"parens-new-line",return:"parens-new-line",arrow:"parens-new-line",condition:"ignore",logical:"ignore",prop:"ignore"}],"@stylistic/jsx-first-prop-new-line":["error","multiline-multiprop"],"@stylistic/jsx-function-call-newline":["error","multiline"],"@stylistic/jsx-equals-spacing":["error","never"],"@stylistic/jsx-indent":"off","@stylistic/jsx-child-element-spacing":"error","@stylistic/jsx-closing-bracket-location":["error","line-aligned"],"@stylistic/jsx-tag-spacing":["error",{closingSlash:"never",beforeSelfClosing:"always",afterOpening:"never",beforeClosing:"never"}],"@eslint-react/dom/no-children-in-void-dom-elements":"error","@stylistic/jsx-curly-brace-presence":["error",{props:"never",children:"never"}],"@stylistic/jsx-props-no-multi-spaces":"error","@eslint-react/prefer-shorthand-fragment":"error","@stylistic/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"@eslint-react/no-missing-key":"error","@eslint-react/no-array-index-key":"error","@eslint-react/no-duplicate-key":"error","@eslint-react/no-implicit-key":"error","@eslint-react/jsx-uses-react":"off","@eslint-react/no-useless-fragment":"error","@eslint-react/no-unstable-context-value":"error","@eslint-react/no-nested-components":"error","@eslint-react/dom/no-missing-iframe-sandbox":"warn","@eslint-react/dom/no-unsafe-iframe-sandbox":"warn","@eslint-react/no-leaked-conditional-rendering":"error","@eslint-react/no-unstable-default-props":"error","@eslint-react/dom/no-missing-button-type":"error","@eslint-react/dom/no-namespace":"error","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"],ignoreClassesThatImplementAnInterface:"public-fields"}],"jsx-a11y-minimal/alt-text":["warn",{elements:["img"],img:["Image"]}],"jsx-a11y-minimal/aria-props":"warn","jsx-a11y-minimal/aria-proptypes":"warn","jsx-a11y-minimal/aria-role":"warn","jsx-a11y-minimal/aria-unsupported-elements":"warn","jsx-a11y-minimal/iframe-has-title":"warn","jsx-a11y-minimal/no-access-key":"warn","jsx-a11y-minimal/role-has-required-aria-props":"warn","jsx-a11y-minimal/role-supports-aria-props":"warn","jsx-a11y-minimal/tabindex-no-positive":"warn","react-refresh/only-export-components":["warn",{allowConstantExport:m,allowExportNames:[...a?["config","generateStaticParams","metadata","generateMetadata","viewport","generateViewport"]:[],...p?["meta","links","headers","loader","action"]:[]]}]}},{files:["**/app/**/_*.?([cm])[jt]s?(x)",String.raw`**/app/**/\[*.?([cm])[jt]s?(x)`],rules:{"@eslint-react/naming-convention/filename":"off"}}]}function Ep({opt:e={}}={}){return[{plugins:{"@stylexjs":E},files:[n.GLOB_TS,n.GLOB_TSX,n.GLOB_JSX],rules:{"@stylexjs/valid-styles":["error",e],"@stylexjs/valid-shorthands":["error",e],"@stylexjs/sort-keys":"off"}}]}export{T as next,Ec as react,Ep as stylex};
22
+ ${o(i)}`))})},"bare-block":function(t){if(a(t))return;let[n]=t,r=s(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]],l(n,r))}),i(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,l(n,r))})}};return{Program:()=>t.getAllComments().filter(e=>"Shebang"!==e.type).filter(e=>!i9.test(e.value)).filter(e=>{let n=t.getTokenBefore(e,{includeComments:!0});return!n||n.loc.end.line<e.loc.start.line}).reduce((e,n,r,i)=>{let a=t.getTokenBefore(n,{includeComments:!0});return"Line"===n.type&&r&&"Line"===i[r-1].type&&a&&a.loc.end.line===n.loc.start.line-1&&a===i[r-1]?e.at(-1).push(n):e.push([n]),e},[]).filter(e=>1!==e.length||e[0].loc.start.line!==e[0].loc.end.line).forEach(c[n])}}}),fJ=a$({name:"multiline-ternary",package:"js",meta:{type:"layout",docs:{description:"Enforce newlines between operands of ternary expressions"},schema:[{type:"string",enum:["always","always-multiline","never"]},{type:"object",properties:{ignoreJSX:{type:"boolean",default:!1}}}],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."},fixable:"whitespace"},create(e){let t=e.sourceCode,n="never"!==e.options[0],r="always-multiline"===e.options[0],i=e.options[1]&&e.options[1].ignoreJSX;return{ConditionalExpression(a){let s=t.getTokenAfter(a.test,aL),o=t.getTokenAfter(a.consequent,aL),l=t.getFirstToken(a),c=t.getTokenBefore(s),p=t.getTokenAfter(s),u=t.getTokenBefore(o),d=t.getTokenAfter(o),f=ak(c,p),m=ak(u,d),E=!!t.getCommentsInside(a).length;if(i&&("JSXElement"===a.parent.type||"JSXFragment"===a.parent.type||"JSXExpressionContainer"===a.parent.type))return null;if(n){if(r&&a.loc.start.line===a.loc.end.line)return;f&&e.report({node:a.test,loc:{start:l.loc.start,end:c.loc.end},messageId:"expectedTestCons",fix:e=>E?null:e.replaceTextRange([c.range[1],s.range[0]],"\n")}),m&&e.report({node:a.consequent,loc:{start:p.loc.start,end:u.loc.end},messageId:"expectedConsAlt",fix:e=>E?null:e.replaceTextRange([u.range[1],o.range[0]],"\n")})}else f||e.report({node:a.test,loc:{start:l.loc.start,end:c.loc.end},messageId:"unexpectedTestCons",fix(e){if(E)return null;let t=[],n=ak(c,s),r=ak(s,p);return n||t.push(e.removeRange([c.range[1],s.range[0]])),r||t.push(e.removeRange([s.range[1],p.range[0]])),t}}),m||e.report({node:a.consequent,loc:{start:p.loc.start,end:u.loc.end},messageId:"unexpectedConsAlt",fix(e){if(E)return null;let t=[],n=ak(u,o),r=ak(o,d);return n||t.push(e.removeRange([u.range[1],o.range[0]])),r||t.push(e.removeRange([o.range[1],d.range[0]])),t}})}}}}),fK=a$({name:"new-parens",package:"js",meta:{type:"layout",docs:{description:"Enforce or disallow parentheses when invoking a constructor with no arguments"},fixable:"code",schema:[{type:"string",enum:["always","never"]}],messages:{missing:"Missing '()' invoking a constructor.",unnecessary:"Unnecessary '()' invoking a constructor with no arguments."}},create(e){let t="never"!==e.options[0],n=e.sourceCode;return{NewExpression(r){if(0!==r.arguments.length)return;let i=n.getLastToken(r),a=i&&ah(i),s=n.getTokenBefore(i),o=a&&aT(s)&&r.callee.range[1]<r.range[1];t?o||e.report({node:r,messageId:"missing",fix:e=>e.insertTextAfter(r,"()")}):o&&e.report({node:r,messageId:"unnecessary",fix:e=>[e.remove(s),e.remove(i),e.insertTextBefore(r,"("),e.insertTextAfter(r,")")]})}}}}),fz=a$({name:"newline-per-chained-call",package:"js",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,default:2}},additionalProperties:!1}],messages:{expected:"Expected line break before `{{callee}}`."}},create(e){let t=(e.options[0]||{}).ignoreChainWithDepth||2,n=e.sourceCode;return{"CallExpression:exit":function(r){let i=ao(r.callee);if("MemberExpression"!==i.type)return;let a=ao(i.object),s=1;for(;a&&"callee"in a&&a.callee;){s+=1;let e=ao(a.callee);if(!("object"in e))break;a=ao(e.object)}if(s>t&&ak(i.object,i.property)){let t=n.getTokenAfter(i.object,aL);e.report({node:i.property,loc:{start:t.loc.start,end:i.loc.end},messageId:"expected",data:{callee:function(e){var t;let r=(t=e).computed?t.optional?"?.[":"[":t.optional?"?.":".",i=n.getText(e.property).split(i7),a=e.computed&&1===i.length?"]":"";return r+i[0]+a}(i)},fix:e=>e.insertTextBefore(t,"\n")})}}}}}),fQ=a$({name:"no-confusing-arrow",package:"js",meta:{type:"layout",docs:{description:"Disallow arrow functions where they could be confused with comparisons"},fixable:"code",schema:[{type:"object",properties:{allowParens:{type:"boolean",default:!0},onlyOneSimpleParam:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{confusing:"Arrow function used ambiguously with a conditional expression."}},create(e){let t=e.options[0]||{},n=t.allowParens||void 0===t.allowParens,r=t.onlyOneSimpleParam,i=e.sourceCode;return{ArrowFunctionExpression:function(t){let a=t.body;"ConditionalExpression"!==a.type||n&&ac(i,a)||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})}}}}),fZ=a$({name:"no-extra-parens",package:"ts",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"}},additionalProperties:!1}],minItems:0,maxItems:2}]},messages:{unexpected:"Unnecessary parentheses around expression."}},defaultOptions:["all"],create(e){let t,n=e.sourceCode,r=new WeakSet,i="functions"!==e.options[0],a=i&&e.options[1]&&!1===e.options[1].conditionalAssign,s=i&&e.options[1]&&!1===e.options[1].ternaryOperandBinaryExpressions,o=i&&e.options[1]&&!1===e.options[1].nestedBinaryExpressions,l=i&&e.options[1]&&!1===e.options[1].returnAssign,c=i&&e.options[1]&&e.options[1].ignoreJSX,p=i&&e.options[1]&&!1===e.options[1].enforceForArrowConditionals,u=i&&e.options[1]&&!1===e.options[1].enforceForSequenceExpressions,d=i&&e.options[1]&&!1===e.options[1].enforceForNewInMemberExpressions,f=i&&e.options[1]&&!1===e.options[1].enforceForFunctionPrototypeMethods,m=i&&e.options[1]&&e.options[1].allowParensAfterCommentPattern,E=i&&e.options[1]&&!1===e.options[1].nestedConditionalExpressions,T=aD({type:"AssignmentExpression"}),h=aD({type:"UpdateExpression"});function g(e){let t=ao(e);if("CallExpression"!==t.type)return!1;let n=ao(t.callee);return"MemberExpression"===n.type&&"FunctionExpression"===n.object.type&&["call","apply"].includes(as(n))}function y(e){if("JSXElement"===e.type||"JSXFragment"===e.type){let t=e.loc.start.line===e.loc.end.line;switch(c){case"all":return!1;case"multi-line":return t;case"single-line":return!t}}return!("SequenceExpression"===e.type&&u||g(e)&&f)&&(i||"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type)}function S(e){return aF(e,n,1)}function P(e){return aF(e,n,2)}function b(e){return y(e)&&S(e)}function x(e){return y(e)&&P(e)}function _(e,t){return!!(y(e)&&S(e)&&(aD(e)>=t||P(e)))}function v(e){return a&&e.test&&"AssignmentExpression"===e.test.type}function A(e){let t=n.getLastToken(e),r=n.getTokenBefore(t);return e.arguments.length>0||da.isOpeningParenToken(r)&&ah(t)&&e.callee.range[1]<e.range[1]}function Y(e){let t=e.object,n=e.object.type;for(;"MemberExpression"===n&&"object"in t;)n=(t=t.object).type;return"CallExpression"===n}function C(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 k(e){return!!l&&!!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&&C(e.argument):"ArrowFunctionExpression"===e.type&&"BlockStatement"!==e.body.type?C(e.body):C(e))}function L(e,t){return e.loc.end.line===t.loc.start.line?b(t):x(t)}function w(e){let t=ao(e);return"CallExpression"===t.type&&"FunctionExpression"===t.callee.type}function O(e){return!!(e&&("Identifier"===e.type||"MemberExpression"===e.type))}function I(i){let a=n.getTokenBefore(i),s=n.getTokenAfter(i);if(!P(i)){if(r.has(n.getFirstToken(i))||w(i)&&!("callee"in i&&S(i.callee)))return;if(m){let e=n.getCommentsBefore(a),t=e.length,r=RegExp(m,"u");if(t>0&&r.test(e[t-1].value))return}}function o(){e.report({node:i,loc:a.loc,messageId:"unexpected",fix:"Literal"!==i.type||"string"!=typeof i.value||P(i)||!aC(i.parent)?e=>{let t=n.text.slice(a.range[1],s.range[0]);return e.replaceTextRange([a.range[0],s.range[1]],(!function(e){let t=n.getTokenBefore(e),r=n.getTokenBefore(t,{includeComments:!0}),i=n.getTokenAfter(t,{includeComments:!0});return r&&r.range[1]===t.range[0]&&t.range[1]===i.range[0]&&!aR(r,i)}(i)?"":" ")+t+(!function(e){let t=n.getTokensAfter(e,{count:2}),r=t[0],i=t[1],a=n.getLastToken(e);return r&&i&&!n.isSpaceBetween(r,i)&&!aR(a,i)}(i)?"":" "))}:null})}if(t)return void t.reports.push({node:i,finishReport:o});o()}function V(e){"argument"in e&&e.argument&&_(e.argument,aD(e))&&I(e.argument)}function D(e){let t=da.isTypeAssertion(e.left),n=da.isTypeAssertion(e.right);if(t&&n)return;let r=e=>{let t=aD(e),n=aD(e.left),r=aD(e.right),i="**"===e.operator,a=o&&("BinaryExpression"===e.left.type||"LogicalExpression"===e.left.type),s=o&&("BinaryExpression"===e.right.type||"LogicalExpression"===e.right.type);!a&&b(e.left)&&(!(["AwaitExpression","UnaryExpression"].includes(e.left.type)&&i)&&!aA(e.left,e)&&!("ReturnStatement"===e.parent.type&&e.parent.loc.start.line!==e.left.loc.start.line&&!S(e))&&(n>t||n===t&&!i)||P(e.left))&&I(e.left),!s&&b(e.right)&&(!aA(e.right,e)&&(r>t||r===t&&i)||P(e.right))&&I(e.right)};return r(t?{...e,left:{...e.left,type:di.AST_NODE_TYPES.SequenceExpression}}:n?{...e,right:{...e.right,type:di.AST_NODE_TYPES.SequenceExpression}}:e)}function N(e){let t=e=>{let t=e.callee;_(t,aD(e))&&(x(t)||!(w(e)||"NewExpression"===t.type&&!A(t)&&!("NewExpression"===e.type&&!A(e))||"NewExpression"===e.type&&"MemberExpression"===t.type&&Y(t)||(!("optional"in e)||!e.optional)&&"ChainExpression"===t.type))&&I(e.callee),e.arguments.filter(e=>_(e,T)).forEach(I)};return t(da.isTypeAssertion(e.callee)?{...e,callee:{...e.callee,type:di.AST_NODE_TYPES.SequenceExpression}}:e.typeArguments&&1===e.arguments.length&&n.getTokenAfter(e.callee,da.isOpeningParenToken)!==n.getTokenBefore(e.arguments[0],da.isOpeningParenToken)?{...e,arguments:[{...e.arguments[0],type:di.AST_NODE_TYPES.SequenceExpression}]}:e)}function M(e){e.superClass&&(aD(e.superClass)>h?b(e.superClass):x(e.superClass))&&I(e.superClass)}function R(e){let t=S(e)?n.getTokenBefore(e):n.getFirstToken(e),i=n.getTokenAfter(t,aO),a=i?n.getTokenAfter(i):null,s=i?n.getTokenAfter(i,aL):null;da.isOpeningParenToken(t)&&(aS(i)||"Keyword"===i.type&&("function"===i.value||"class"===i.value||"let"===i.value&&s&&(ag(s)||"Identifier"===s.type))||i&&"Identifier"===i.type&&"async"===i.value&&a&&"Keyword"===a.type&&"function"===a.value)&&r.add(i),("ExportDefaultDeclaration"===e.parent.type?_(e,T):b(e))&&I(e)}function B(e){return da.isTypeAssertion(e.argument)?V({...e,argument:{...e.argument,type:di.AST_NODE_TYPES.SequenceExpression}}):V(e)}return{ArrayExpression(e){e.elements.map(e=>da.isTypeAssertion(e)?{...e,type:di.AST_NODE_TYPES.FunctionExpression}:e).filter(e=>!!e&&_(e,T)).forEach(I)},ArrayPattern(e){e.elements.filter(e=>!!e&&O(e)&&b(e)).forEach(I)},ArrowFunctionExpression(e){if(da.isTypeAssertion(e.body)||k(e)||"ConditionalExpression"===e.body.type&&p||"BlockStatement"===e.body.type)return;let t=n.getFirstToken(e.body,aO),i=n.getTokenBefore(t);da.isOpeningParenToken(i)&&aS(t)&&r.add(t),_(e.body,T)&&I(e.body)},AssignmentExpression(e){O(e.left)&&b(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)||P(e.left))&&I(e.left),!k(e)&&_(e.right,aD(e))&&I(e.right)},AssignmentPattern(e){let{left:t,right:n}=e;O(t)&&b(t)&&I(t),n&&_(n,T)&&I(n)},AwaitExpression:e=>da.isTypeAssertion(e.argument)?V({...e,argument:{...e.argument,type:di.AST_NODE_TYPES.SequenceExpression}}):V(e),BinaryExpression(e){t&&"in"===e.operator&&t.inExpressionNodes.push(e),D(e)},CallExpression:N,ClassDeclaration:e=>e.superClass?.type===di.AST_NODE_TYPES.TSAsExpression?M({...e,superClass:{...e.superClass,type:di.AST_NODE_TYPES.SequenceExpression}}):M(e),ClassExpression:e=>e.superClass?.type===di.AST_NODE_TYPES.TSAsExpression?M({...e,superClass:{...e.superClass,type:di.AST_NODE_TYPES.SequenceExpression}}):M(e),ConditionalExpression(e){let t=e=>{if(k(e))return;let t=new Set(["BinaryExpression","LogicalExpression"]);!(s&&t.has(e.test.type))&&!(E&&["ConditionalExpression"].includes(e.test.type))&&!v(e)&&_(e.test,aD({type:"LogicalExpression",operator:"||"}))&&I(e.test),!(s&&t.has(e.consequent.type))&&!(E&&["ConditionalExpression"].includes(e.consequent.type))&&_(e.consequent,T)&&I(e.consequent),!(s&&t.has(e.alternate.type))&&!(E&&["ConditionalExpression"].includes(e.alternate.type))&&_(e.alternate,T)&&I(e.alternate)};return t(da.isTypeAssertion(e.test)?{...e,test:{...e.test,type:di.AST_NODE_TYPES.SequenceExpression}}:da.isTypeAssertion(e.consequent)?{...e,consequent:{...e.consequent,type:di.AST_NODE_TYPES.SequenceExpression}}:da.isTypeAssertion(e.alternate)?{...e,alternate:{...e.alternate,type:di.AST_NODE_TYPES.SequenceExpression}}:e)},DoWhileStatement(e){b(e.test)&&!v(e)&&I(e.test)},ExportDefaultDeclaration(e){R(e.declaration)},ExpressionStatement(e){R(e.expression)},ForInStatement(e){if(!da.isTypeAssertion(e.right)){if("VariableDeclaration"!==e.left.type){let t=n.getFirstToken(e.left,aO);"let"===t.value&&ag(n.getTokenAfter(t,aL))&&r.add(t)}b(e.left)&&I(e.left),b(e.right)&&I(e.right)}},ForOfStatement(e){if("VariableDeclaration"!==e.left.type){let t=n.getFirstToken(e.left,aO);"let"===t.value&&r.add(t)}b(e.left)&&I(e.left),!da.isTypeAssertion(e.right)&&_(e.right,T)&&I(e.right)},ForStatement(e){if(e.test&&b(e.test)&&!v(e)&&!da.isTypeAssertion(e.test)&&I(e.test),e.update&&b(e.update)&&!da.isTypeAssertion(e.update)&&I(e.update),e.init&&!da.isTypeAssertion(e.init)){if("VariableDeclaration"!==e.init.type){let t=n.getFirstToken(e.init,aO);"let"===t.value&&ag(n.getTokenAfter(t,aL))&&r.add(t)}t={upper:t,inExpressionNodes:[],reports:[]},b(e.init)&&I(e.init)}},"ForStatement > *.init:exit":function(e){if(!da.isTypeAssertion(e)){t?.reports.length&&t.inExpressionNodes.forEach(n=>{var r;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})(n,e).reverse(),a=null;for(let e=0;e<i.length;e++){let n=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}}(n,i[e+1]))return;if(S(n))if(!function(e){return t?.reports.some(t=>t.node===e)}(n))return;else{if(P(n))return;a||(a=n)}}a&&(r=a,t&&(t.reports=t.reports.filter(e=>e.node!==r)))});let{upper:n,inExpressionNodes:r,reports:i}=t??{};n?(n.inExpressionNodes.push(...r??[]),n.reports.push(...i??[])):i?.forEach(({finishReport:e})=>e()),t=n}},IfStatement(e){b(e.test)&&!v(e)&&I(e.test)},ImportExpression(e){let{source:t}=e;"SequenceExpression"===t.type?x(t)&&I(t):b(t)&&I(t)},LogicalExpression:D,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)&&Y(e)?x(e.object):b(e.object)&&!(g(e.parent)&&"callee"in e.parent&&e.parent.callee===e&&f);t&&aD(e.object)>=aD(e)&&(e.computed||!(aN(e.object)||"Literal"===e.object.type&&"regex"in e.object&&e.object.regex))&&I(e.object),t&&"CallExpression"===e.object.type&&I(e.object),t&&!d&&"NewExpression"===e.object.type&&A(e.object)&&I(e.object),t&&e.optional&&"ChainExpression"===e.object.type&&I(e.object),e.computed&&b(e.property)&&I(e.property)};return t(da.isTypeAssertion(e.object)?{...e,object:{...e.object,type:di.AST_NODE_TYPES.SequenceExpression}}:da.isTypeAssertion(e.property)?{...e,property:{...e.property,type:di.AST_NODE_TYPES.FunctionExpression}}:e)},MethodDefinition(e){e.computed&&_(e.key,T)&&I(e.key)},NewExpression:N,ObjectExpression(e){e.properties.filter(e=>"Property"===e.type&&e.value&&_(e.value,T)).forEach(e=>I(e.value))},ObjectPattern(e){e.properties.filter(e=>{let t=e.value;return t&&O(t)&&b(t)}).forEach(e=>I(e.value))},Property(e){if(e.computed){let{key:t}=e;t&&_(t,T)&&I(t)}},PropertyDefinition(e){e.computed&&_(e.key,T)&&I(e.key),e.value&&_(e.value,T)&&I(e.value)},RestElement(e){let t=e.argument;O(t)&&b(t)&&I(t)},ReturnStatement(e){let t=n.getFirstToken(e);!k(e)&&e.argument&&t&&L(t,e.argument)&&!("Literal"===e.argument.type&&"regex"in e.argument&&e.argument.regex)&&I(e.argument)},SequenceExpression(e){let t=aD(e);e.expressions.filter(e=>_(e,t)).forEach(I)},SpreadElement(e){!da.isTypeAssertion(e.argument)&&_(e.argument,T)&&I(e.argument)},SwitchCase(e){e.test&&!da.isTypeAssertion(e.test)&&b(e.test)&&I(e.test)},SwitchStatement(e){b(e.discriminant)&&I(e.discriminant)},TemplateLiteral(e){e.expressions.filter(e=>e&&b(e)).forEach(I)},ThrowStatement(e){if(!e.argument||da.isTypeAssertion(e.argument))return;let t=n.getFirstToken(e);t&&L(t,e.argument)&&I(e.argument)},UnaryExpression:B,UpdateExpression(e){if(da.isTypeAssertion(e.argument))return B(e);if(e.prefix)V(e);else{let{argument:t}=e,r=n.getLastToken(e);t.loc.end.line===r.loc.start.line?V(e):x(t)&&I(t)}},VariableDeclarator(e){let t=e=>{e.init&&_(e.init,T)&&!("Literal"===e.init.type&&"regex"in e.init&&e.init.regex)&&I(e.init)};return t(da.isTypeAssertion(e.init)?{...e,type:di.AST_NODE_TYPES.VariableDeclarator,init:{...e.init,type:di.AST_NODE_TYPES.FunctionExpression}}:e)},WhileStatement(e){b(e.test)&&!v(e)&&I(e.test)},WithStatement(e){b(e.object)&&I(e.object)},YieldExpression(e){if(!e.argument||da.isTypeAssertion(e.argument))return;let t=n.getFirstToken(e);(aD(e.argument)>=aD(e)&&t&&L(t,e.argument)||x(e.argument))&&I(e.argument)},TSStringKeyword(e){b(e)&&I({...e,type:di.AST_NODE_TYPES.FunctionExpression})}}}}),f0=a$({name:"no-extra-semi",package:"ts",meta:{type:"layout",docs:{description:"Disallow unnecessary semicolons"},fixable:"code",schema:[],messages:{unexpected:"Unnecessary semicolon."}},defaultOptions:[],create(e){let t=e.sourceCode;function n(n){e.report({node:n,messageId:"unexpected",fix:!function(e){let n=t.getTokenAfter(e);return!n||"String"!==n.type||!aC(t.getNodeByRangeIndex(n.range[0]).parent)}(n)?null:t=>new a2(t,e.sourceCode).retainSurroundingTokens(n).remove(n)})}function r(e){for(let r=e;"Punctuator"===r.type&&!aP(r);r=t.getTokenAfter(r))am(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))},StaticBlock(e){r(t.getTokenAfter(e))},TSAbstractMethodDefinition(e){r(t.getTokenAfter(e))},TSAbstractPropertyDefinition(e){r(t.getTokenAfter(e))}}}}),f1=a$({name:"no-floating-decimal",package:"js",meta:{type:"layout",docs:{description:"Disallow leading or trailing decimal points in numeric literals"},schema:[],fixable:"code",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]&&!aR(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 f2=["+","-","*","/","%","**"],f3=["&","|","^","~","<<",">>",">>>"],f6=["==","!=","===","!==",">",">=","<","<="],f4=["&&","||"],f5=["in","instanceof"],f9=[].concat(f2,f3,f6,f4,f5,["?:"],["??"]),f8=[f2,f3,f6,f4,f5],f7=/^(?:Binary|Logical|Conditional)Expression$/u;function me(e){return"ConditionalExpression"===e.type?e.test:e.left}var mt=a$({name:"no-mixed-operators",package:"js",meta:{type:"layout",docs:{description:"Disallow mixed binary operators"},schema:[{type:"object",properties:{groups:{type:"array",items:{type:"array",items:{type:"string",enum:f9},minItems:2,uniqueItems:!0},uniqueItems:!0},allowSamePrecedence:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{unexpectedMixedOperator:"Unexpected mix of '{{leftOperator}}' and '{{rightOperator}}'. Use parentheses to clarify the intended order of operations."}},create(e){let t=e.sourceCode,n=function(e={}){return{groups:e.groups&&e.groups.length>0?e.groups:f8,allowSamePrecedence:!1!==e.allowSamePrecedence}}(e.options[0]);function r(e){return t.getTokenAfter(me(e),aL)}function i(i){var a;f7.test(i.parent.type)&&(a=i).operator!==a.parent.operator&&!ac(t,a)&&!function(e){var t,r,i;let a=e.parent;return t=n.groups??[],r=e.operator,i="ConditionalExpression"===a.type?"?:":a.operator,!t.some(e=>e.includes(r)&&e.includes(i))||n.allowSamePrecedence&&aD(e)===aD(a)}(i)&&function(t){let n=t.parent,i=me(n)===t?t:n,a=me(n)!==t?t:n,s={leftOperator:i.operator||"?:",rightOperator:a.operator||"?:"};e.report({node:i,loc:r(i).loc,messageId:"unexpectedMixedOperator",data:s}),e.report({node:a,loc:r(a).loc,messageId:"unexpectedMixedOperator",data:s})}(i)}return{BinaryExpression:i,LogicalExpression:i}}}),mn=a$({name:"no-mixed-spaces-and-tabs",package:"js",meta:{type:"layout",docs:{description:"Disallow mixed spaces and tabs for indentation"},schema:[{oneOf:[{type:"string",enum:["smart-tabs"]},{type:"boolean"}]}],messages:{mixedSpacesAndTabs:"Mixed spaces and tabs."}},create(e){let t,n=e.sourceCode;switch(e.options[0]){case!0:case"smart-tabs":t=!0;break;default:t=!1}return{"Program:exit":function(r){let i=n.lines,a=n.getAllComments(),s=new Set;a.forEach(e=>{for(let t=e.loc.start.line+1;t<=e.loc.end.line;t++)s.add(t)});let o=/^(?=( +|\t+))\1(?:\t| )/u;t&&(o=/^(?=(\t*))\1(?=( +))\2\t/u),i.forEach((t,i)=>{let a=o.exec(t);if(a){let t=i+1,o={start:{line:t,column:a[0].length-2},end:{line:t,column:a[0].length}};if(!s.has(t)){let t=n.getNodeByRangeIndex(n.getIndexFromLoc(o.start));t&&["Literal","TemplateElement"].includes(t.type)||e.report({node:r,loc:o,messageId:"mixedSpacesAndTabs"})}}})}}}}),mr=a$({name:"no-multi-spaces",package:"js",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",default:!1},includeTabs:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{multipleSpaces:"Multiple spaces found before '{{displayValue}}'."}},create(e){let t=e.sourceCode,n=e.options[0]||{},r=n.ignoreEOLComments,i=Object.assign({Property:!0,ImportAttribute:!0},n.exceptions),a=Object.keys(i).some(e=>i[e]),s=!1===n.includeTabs?/ {2}/:/[ \t]{2}/;function o(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(){t.tokensAndComments.forEach((n,l,c)=>{let p;if(l===c.length-1)return;let u=c[l+1];if(s.test(t.text.slice(n.range[1],u.range[0]))&&!(n.loc.end.line<u.loc.start.line)&&(!(r&&ab(u))||l!==c.length-2&&!(u.loc.end.line<c[l+2].loc.start.line))){if(a){let e=t.getNodeByRangeIndex(u.range[0]-1);if(e&&i[e.type])return}p="Block"===u.type?`/*${o(u)}*/`:"Line"===u.type?`//${o(u)}`:u.value,e.report({node:u,loc:{start:n.loc.end,end:u.loc.start},messageId:"multipleSpaces",data:{displayValue:p},fix:e=>e.replaceTextRange([n.range[1],u.range[0]]," ")})}})}}}}),mi=a$({name:"no-multiple-empty-lines",package:"js",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}],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){let t=2,n=2,r=2;e.options.length&&e.options[0]&&(t=e.options[0].max,n=void 0!==e.options[0].maxEOF?e.options[0].maxEOF:t,r=void 0!==e.options[0].maxBOF?e.options[0].maxBOF:t);let i=e.sourceCode,a=""===i.lines[i.lines.length-1]?i.lines.slice(0,-1):i.lines,s=new Set;return{TemplateLiteral(e){e.quasis.forEach(e=>{for(let t=e.loc.start.line;t<e.loc.end.line;t++)s.add(t)})},"Program:exit":function(o){return a.reduce((e,t,n)=>((t.trim()||s.has(n+1))&&e.push(n+1),e),[]).concat(a.length+1).reduce((s,l)=>{let c,p;return 0===s?(c="blankBeginningOfFile",p=r):l===a.length+1?(c="blankEndOfFile",p=n):(c="consecutiveBlank",p=t),l-s-1>p&&e.report({node:o,loc:{start:{line:s+p+1,column:0},end:{line:l,column:0}},messageId:c,data:{max:p,pluralizedLines:1===p?"line":"lines"},fix(e){let t=i.getIndexFromLoc({line:s+1,column:0}),n=l-p,r=n<=a.length?i.getIndexFromLoc({line:n,column:0}):i.text.length;return e.removeRange([t,r])}}),l},0)}}}});let ma=/\t+/gu,ms=/\S/u;var mo=a$({name:"no-tabs",package:"js",meta:{type:"layout",docs:{description:"Disallow all tabs"},schema:[{type:"object",properties:{allowIndentationTabs:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{unexpectedTab:"Unexpected tab character."}},create(e){let t=e.sourceCode,n=e.options&&e.options[0]&&e.options[0].allowIndentationTabs;return{Program(r){t.getLines().forEach((t,i)=>{let a;for(;null!==(a=ma.exec(t));)(!n||ms.test(t.slice(0,a.index)))&&e.report({node:r,loc:{start:{line:i+1,column:a.index},end:{line:i+1,column:a.index+a[0].length}},messageId:"unexpectedTab"})})}}}}),ml=a$({name:"no-trailing-spaces",package:"js",meta:{type:"layout",docs:{description:"Disallow trailing whitespace at the end of lines"},fixable:"whitespace",schema:[{type:"object",properties:{skipBlankLines:{type:"boolean",default:!1},ignoreComments:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{trailingSpace:"Trailing spaces not allowed."}},create(e){let t=e.sourceCode,n="[ \xa0 -​ ]",r=`^${n}*$`,i=`${n}+$`,a=e.options[0]||{},s=a.skipBlankLines||!1,o=a.ignoreComments||!1;return{Program:function(n){let a=RegExp(i,"u"),l=RegExp(r,"u"),c=t.lines,p=t.getText().match(ai()),u=function(e){let t=new Set;return e.forEach(e=>{let n="Block"===e.type?e.loc.end.line-1:e.loc.end.line;for(let r=e.loc.start.line;r<=n;r++)t.add(r)}),t}(t.getAllComments()),d=0;for(let r=0,i=c.length;r<i;r++){let i=r+1,f=p&&p[r]?p[r].length:1,m=c[r].length+f,E=a.exec(c[r]);if(E){let a={start:{line:i,column:E.index},end:{line:i,column:m-f}},p=d+a.start.column,T=d+a.end.column,h=t.getNodeByRangeIndex(p);if(h&&"TemplateElement"===h.type&&p>h.parent.range[0]&&T<h.parent.range[1]||s&&l.test(c[r])){d+=m;continue}let g=[p,T];o&&u.has(i)||function(t,n,r){e.report({node:t,loc:n,messageId:"trailingSpace",fix:e=>e.removeRange(r)})}(n,a,g)}d+=m}}}}}),mc=a$({name:"no-whitespace-before-property",package:"js",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;return{MemberExpression(n){let r,i;if(ak(n.object,n.property)){var a,s;n.computed?(r=t.getTokenBefore(n.property,ag),i=t.getTokenBefore(r,+!!n.optional)):(r=t.getFirstToken(n.property),i=t.getTokenBefore(r,1)),t.isSpaceBetween(i,r)&&(a=i,s=r,e.report({node:n,messageId:"unexpectedWhitespace",data:{propName:t.getText(n.property)},fix(e){let r="";return!n.computed&&!n.optional&&aN(n.object)||t.commentsExistBetween(a,s)?null:(n.optional?r="?.":n.computed||(r="."),e.replaceTextRange([a.range[1],s.range[0]],r))}}))}}}}});let mp={type:"string",enum:["beside","below","any"]};var mu=a$({name:"nonblock-statement-body-position",package:"js",meta:{type:"layout",docs:{description:"Enforce the location of single-line statements"},fixable:"whitespace",schema:[mp,{type:"object",properties:{overrides:{type:"object",properties:{if:mp,else:mp,while:mp,do:mp,for:mp},additionalProperties:!1}},additionalProperties:!1}],messages:{expectNoLinebreak:"Expected no linebreak before this statement.",expectLinebreak:"Expected a linebreak before this statement."}},create(e){let t=e.sourceCode;function n(n,r){let i=e.options[1]&&e.options[1].overrides&&e.options[1].overrides[r]||e.options[0]||"beside";if("BlockStatement"===n.type||"any"===i)return;let a=t.getTokenBefore(n);a.loc.end.line===n.loc.start.line&&"below"===i?e.report({node:n,messageId:"expectLinebreak",fix:e=>e.insertTextBefore(n,"\n")}):a.loc.end.line!==n.loc.start.line&&"beside"===i&&e.report({node:n,messageId:"expectNoLinebreak",fix:e=>t.getText().slice(a.range[1],n.range[0]).trim()?null:e.replaceTextRange([a.range[1],n.range[0]]," ")})}return{IfStatement(e){n(e.consequent,"if"),e.alternate&&"IfStatement"!==e.alternate.type&&n(e.alternate,"else")},WhileStatement:e=>n(e.body,"while"),DoWhileStatement:e=>n(e.body,"do"),ForStatement:e=>n(e.body,"for"),ForInStatement:e=>n(e.body,"for"),ForOfStatement:e=>n(e.body,"for")}}});let md={oneOf:[{type:"string",enum:["always","never"]},{type:"object",properties:{multiline:{type:"boolean"},minProperties:{type:"integer",minimum:0},consistent:{type:"boolean"}},additionalProperties:!1,minProperties:1}]},mf={multiline:!1,minProperties:Number.POSITIVE_INFINITY,consistent:!0};var mm=a$({name:"object-curly-newline",package:"ts",meta:{type:"layout",docs:{description:"Enforce consistent line breaks after opening and before closing braces"},fixable:"whitespace",schema:[{oneOf:[md,{type:"object",properties:{ObjectExpression:md,ObjectPattern:md,ImportDeclaration:md,ExportDeclaration:md,TSTypeLiteral:md,TSInterfaceBody:md},additionalProperties:!1,minProperties:1}]}],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."}},defaultOptions:[{ObjectExpression:mf,ObjectPattern:mf,ImportDeclaration:mf,ExportDeclaration:mf,TSTypeLiteral:mf,TSInterfaceBody:mf}],create(e){let t=e.sourceCode;function n(e){let t=!1,n=Number.POSITIVE_INFINITY,r=!1;return e?"always"===e?n=0:"never"===e?n=Number.POSITIVE_INFINITY:(t=!!e.multiline,n=e.minProperties||Number.POSITIVE_INFINITY,r=!!e.consistent):r=!0,{multiline:t,minProperties:n,consistent:r}}function r(e){return"object"==typeof e&&null!==e}function i(e){return r(e)||"string"==typeof e}let a=function(e){if(r(e)&&Object.values(e).some(i))return{ObjectExpression:n(e.ObjectExpression),ObjectPattern:n(e.ObjectPattern),ImportDeclaration:n(e.ImportDeclaration),ExportNamedDeclaration:n(e.ExportDeclaration),TSTypeLiteral:n(e.TSTypeLiteral),TSInterfaceBody:n(e.TSInterfaceBody)};let t=n(e);return{ObjectExpression:t,ObjectPattern:t,ImportDeclaration:t,ExportNamedDeclaration:t,TSTypeLiteral:t,TSInterfaceBody:t}}(e.options[0]);function s(n){var r,i;let s,o,l=a[n.type];if("ImportDeclaration"===n.type&&!n.specifiers.some(e=>"ImportSpecifier"===e.type)||"ExportNamedDeclaration"===n.type&&!n.specifiers.some(e=>"ExportSpecifier"===e.type))return;let c=t.getFirstToken(n,e=>"{"===e.value);s="ObjectPattern"===n.type&&n.typeAnnotation?t.getTokenBefore(n.typeAnnotation):t.getLastToken(n,e=>"}"===e.value);let p=t.getTokenAfter(c,{includeComments:!0}),u=t.getTokenBefore(s,{includeComments:!0}),d=(r=p,i=u,(o="ObjectExpression"===n.type||"ObjectPattern"===n.type?n.properties:"TSTypeLiteral"===n.type?n.members:"TSInterfaceBody"===n.type?n.body:n.specifiers.filter(e=>"ImportSpecifier"===e.type||"ExportSpecifier"===e.type)).length>=l.minProperties||l.multiline&&o.length>0&&r.loc.start.line!==i.loc.end.line),f=ab(p),m=ab(u);if(p=t.getTokenAfter(c),u=t.getTokenBefore(s),d)ak(c,p)&&e.report({messageId:"expectedLinebreakAfterOpeningBrace",node:n,loc:c.loc,fix:e=>f?null:e.insertTextAfter(c,"\n")}),ak(u,s)&&e.report({messageId:"expectedLinebreakBeforeClosingBrace",node:n,loc:s.loc,fix:e=>m?null:e.insertTextBefore(s,"\n")});else{let t=l.consistent,r=!ak(c,p),i=!ak(u,s);(!t&&r||t&&r&&!i)&&e.report({messageId:"unexpectedLinebreakAfterOpeningBrace",node:n,loc:c.loc,fix:e=>f?null:e.removeRange([c.range[1],p.range[0]])}),(!t&&i||t&&!r&&i)&&e.report({messageId:"unexpectedLinebreakBeforeClosingBrace",node:n,loc:s.loc,fix:e=>m?null:e.removeRange([u.range[1],s.range[0]])})}}return{ObjectExpression:s,ObjectPattern:s,ImportDeclaration:s,ExportNamedDeclaration:s,TSTypeLiteral:s,TSInterfaceBody:s}}}),mE=a$({name:"object-curly-spacing",package:"ts",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"}},additionalProperties:!1}],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}}'."}},defaultOptions:["never"],create(e){let[t,n]=e.options,r="always"===t,i=e.sourceCode;function a(e){return!!n&&!r===n[e]}let s={spaced:r,arraysInObjectsException:a("arraysInObjects"),objectsInObjectsException:a("objectsInObjects")};function o(t,n,r,a,o){if(da.isTokenOnSameLine(n,r)){let a=i.isSpaceBetween(n,r),o=i.getNodeByRangeIndex(r.range[0]).type,l=s.arraysInObjectsException&&[di.AST_NODE_TYPES.TSMappedType,di.AST_NODE_TYPES.TSIndexSignature].includes(o)?!s.spaced:s.spaced;l&&!a&&e.report({node:t,loc:n.loc,messageId:"requireSpaceAfter",data:{token:n.value},fix:e=>e.insertTextAfter(n," ")}),!l&&a&&r.type!==di.AST_TOKEN_TYPES.Line&&function(t,n){let r=i.getTokenAfter(n,{includeComments:!0});e.report({node:t,loc:{start:n.loc.end,end:r.loc.start},messageId:"unexpectedSpaceAfter",data:{token:n.value},fix:e=>e.removeRange([n.range[1],r.range[0]])})}(t,n)}if(da.isTokenOnSameLine(a,o)){let n=s.arraysInObjectsException&&da.isClosingBracketToken(a)||s.objectsInObjectsException&&da.isClosingBraceToken(a)?i.getNodeByRangeIndex(a.range[0]).type:void 0,r=s.arraysInObjectsException&&[di.AST_NODE_TYPES.ArrayExpression,di.AST_NODE_TYPES.TSTupleType].includes(n)||s.objectsInObjectsException&&void 0!==n&&[di.AST_NODE_TYPES.ObjectExpression,di.AST_NODE_TYPES.ObjectPattern,di.AST_NODE_TYPES.TSMappedType,di.AST_NODE_TYPES.TSTypeLiteral].includes(n)?!s.spaced:s.spaced,l=i.isSpaceBetween(a,o);r&&!l&&e.report({node:t,loc:o.loc,messageId:"requireSpaceBefore",data:{token:o.value},fix:e=>e.insertTextBefore(o," ")}),!r&&l&&function(t,n){let r=i.getTokenBefore(n,{includeComments:!0});e.report({node:t,loc:{start:r.loc.end,end:n.loc.start},messageId:"unexpectedSpaceBefore",data:{token:n.value},fix:e=>e.removeRange([r.range[1],n.range[0]])})}(t,o)}}function l(e){let t="TSTypeLiteral"===e.type?e.members[e.members.length-1]:e.properties[e.properties.length-1];return i.getTokenAfter(t,da.isClosingBraceToken)}function c(e){if(0===e.properties.length)return;let t=i.getFirstToken(e),n=l(e),r=i.getTokenAfter(t,{includeComments:!0});o(e,t,r,i.getTokenBefore(n,{includeComments:!0}),n)}return{ObjectPattern:c,ObjectExpression:c,ImportDeclaration:function(e){if(0===e.specifiers.length)return;let t=e.specifiers[0],n=e.specifiers[e.specifiers.length-1];if("ImportSpecifier"!==n.type)return;"ImportSpecifier"!==t.type&&(t=e.specifiers[1]);let r=i.getTokenBefore(t),a=i.getTokenAfter(n,aw),s=i.getTokenAfter(r,{includeComments:!0});o(e,r,s,i.getTokenBefore(a,{includeComments:!0}),a)},ExportNamedDeclaration:function(e){if(0===e.specifiers.length)return;let t=e.specifiers[0],n=e.specifiers[e.specifiers.length-1],r=i.getTokenBefore(t),a=i.getTokenAfter(n,aw),s=i.getTokenAfter(r,{includeComments:!0});o(e,r,s,i.getTokenBefore(a,{includeComments:!0}),a)},TSMappedType(e){let t=i.getFirstToken(e),n=i.getLastToken(e),r=i.getTokenAfter(t,{includeComments:!0});o(e,t,r,i.getTokenBefore(n,{includeComments:!0}),n)},TSTypeLiteral(e){if(0===e.members.length)return;let t=i.getFirstToken(e),n=l(e),r=i.getTokenAfter(t,{includeComments:!0});o(e,t,r,i.getTokenBefore(n,{includeComments:!0}),n)}}}}),mT=a$({name:"object-property-newline",package:"ts",meta:{type:"layout",docs:{description:"Enforce placing object properties on separate lines"},schema:[{type:"object",properties:{allowAllPropertiesOnSameLine:{type:"boolean",default:!1},allowMultiplePropertiesPerLine:{type:"boolean",default:!1}},additionalProperties:!1}],fixable:"whitespace",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."}},defaultOptions:[{allowAllPropertiesOnSameLine:!1,allowMultiplePropertiesPerLine:!1}],create(e){let t=e.options[0]&&(e.options[0].allowAllPropertiesOnSameLine||e.options[0].allowMultiplePropertiesPerLine),n=t?"propertiesOnNewlineAll":"propertiesOnNewline",r=e.sourceCode;function i(i,a){if(t&&a.length>1){let e=r.getFirstToken(a[0]),t=r.getLastToken(a[a.length-1]);if(e.loc.end.line===t.loc.start.line)return}for(let t=1;t<a.length;t++){let s=r.getLastToken(a[t-1]),o=r.getFirstToken(a[t]);s.loc.end.line===o.loc.start.line&&e.report({node:i,loc:o.loc,messageId:n,fix(e){let t=[r.getTokenBefore(o).range[1],o.range[0]];return r.text.slice(t[0],t[1]).trim()?null:e.replaceTextRange(t,"\n")}})}}return{ObjectExpression(e){i(e,e.properties)},TSTypeLiteral(e){i(e,e.members)},TSInterfaceBody(e){i(e,e.body)}}}}),mh=a$({name:"one-var-declaration-per-line",package:"js",meta:{type:"layout",docs:{description:"Require or disallow newlines around variable declarations"},schema:[{type:"string",enum:["always","initializations"]}],fixable:"whitespace",messages:{expectVarOnNewline:"Expected variable declaration to be on a new line."}},create(e){let t="always"===e.options[0];return{VariableDeclaration:function(n){var r;let i;"ForStatement"!==(r=n.parent.type)&&"ForInStatement"!==r&&"ForOfStatement"!==r&&n.declarations.forEach(r=>{i&&i.loc.end.line===r.loc.start.line&&(t||i.init||r.init)&&e.report({node:n,messageId:"expectVarOnNewline",loc:r.loc,fix:e=>e.insertTextBefore(r,"\n")}),i=r})}}}}),mg=a$({name:"operator-linebreak",package:"js",meta:{type:"layout",docs:{description:"Enforce consistent linebreak style for operators"},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}],fixable:"code",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 a=e.sourceCode;function s(t,r,s){let o=a.getTokenBefore(r,e=>e.value===s),l=a.getTokenBefore(o),c=a.getTokenAfter(o),p=i[s],u=p||n,d=e=>{let t,n,r=a.getTokenBefore(o),i=a.getTokenAfter(o),s=a.text.slice(r.range[1],o.range[0]),l=a.text.slice(o.range[1],i.range[0]),c=!ak(r,o);if(!ak(o,i)!==c&&"none"!==u){if(a.getTokenBefore(o,{includeComments:!0})!==r&&a.getTokenAfter(o,{includeComments:!0})!==i)return null;t=l,n=s}else{let e=ai();if(t="before"===u||s.trim()?s:s.replace(e,""),n="after"===u||l.trim()?l:l.replace(e,""),t===s&&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)};ak(l,o)&&ak(o,c)||("ignore"===p||ak(l,o)||ak(o,c)?"before"===u&&ak(l,o)?e.report({node:t,loc:o.loc,messageId:"operatorAtBeginning",data:{operator:s},fix:d}):"after"===u&&ak(o,c)?e.report({node:t,loc:o.loc,messageId:"operatorAtEnd",data:{operator:s},fix:d}):"none"===u&&e.report({node:t,loc:o.loc,messageId:"noLinebreak",data:{operator:s},fix:d}):e.report({node:t,loc:o.loc,messageId:"badLinebreak",data:{operator:s},fix:d}))}function o(e){s(e,e.right,e.operator)}return{BinaryExpression:o,LogicalExpression:o,AssignmentExpression:o,VariableDeclarator(e){e.init&&s(e,e.init,"=")},PropertyDefinition(e){e.value&&s(e,e.value,"=")},ConditionalExpression(e){s(e,e.consequent,"?"),s(e,e.alternate,":")}}}});let my=["always","never","start","end"];var mS=a$({name:"padded-blocks",package:"js",meta:{type:"layout",docs:{description:"Require or disallow padding within blocks"},fixable:"whitespace",schema:[{oneOf:[{type:"string",enum:my},{type:"object",properties:{blocks:{type:"string",enum:my},switches:{type:"string",enum:my},classes:{type:"string",enum:my}},additionalProperties:!1,minProperties:1}]},{type:"object",properties:{allowSingleLineBlocks:{type:"boolean"}},additionalProperties:!1}],messages:{missingPadBlock:"Block must be padded by blank lines.",extraPadBlock:"Block must not be padded by blank lines."}},create(e){let t={},n=e.options[0]||"always",r=e.options[1]||{};"string"==typeof n?(t.blocks=n,t.switches=n,t.classes=n):Object.assign(t,n),r.allowSingleLineBlocks??=!1;let i=e.sourceCode;function a(e){return"Line"===e.type||"Block"===e.type}function s(e,t){return t.loc.start.line-e.loc.end.line>=2}function o(n){let o=function(e){let t,n=e;do t=n,n=i.getTokenAfter(n,{includeComments:!0});while(a(n)&&n.loc.start.line===t.loc.end.line);return n}("SwitchStatement"===n.type?i.getTokenBefore(n.cases[0]):"StaticBlock"===n.type?i.getFirstToken(n,{skip:1}):i.getFirstToken(n)),l=i.getTokenBefore(o,{includeComments:!0}),c=function(e){let t,n=e;do t=n,n=i.getTokenBefore(n,{includeComments:!0});while(a(n)&&n.loc.end.line===t.loc.start.line);return n}(i.getLastToken(n)),p=i.getTokenAfter(c,{includeComments:!0}),u=s(l,o),d=s(c,p);if(r.allowSingleLineBlocks&&ak(l,p))return;let f=function(e){switch(e.type){case"BlockStatement":case"StaticBlock":return t.blocks;case"SwitchStatement":return t.switches;case"ClassBody":return t.classes;default:throw Error("unreachable")}}(n);u?("never"===f||"end"===f)&&e.report({node:n,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"===f||"start"===f)&&e.report({node:n,loc:{start:l.loc.start,end:o.loc.start},fix:e=>e.insertTextAfter(l,"\n"),messageId:"missingPadBlock"}),d?("never"===f||"start"===f)&&e.report({node:n,loc:{end:p.loc.start,start:c.loc.end},messageId:"extraPadBlock",fix:e=>e.replaceTextRange([c.range[1],p.range[0]-p.loc.start.column],"\n")}):("always"===f||"end"===f)&&e.report({node:n,loc:{end:p.loc.start,start:c.loc.end},fix:e=>e.insertTextBefore(p,"\n"),messageId:"missingPadBlock"})}let l={};return Object.prototype.hasOwnProperty.call(t,"switches")&&(l.SwitchStatement=function(e){0!==e.cases.length&&o(e)}),Object.prototype.hasOwnProperty.call(t,"blocks")&&(l.BlockStatement=function(e){0!==e.body.length&&o(e)},l.StaticBlock=l.BlockStatement),Object.prototype.hasOwnProperty.call(t,"classes")&&(l.ClassBody=function(e){0!==e.body.length&&o(e)}),l}});let mP=/^(?:module\s*\.\s*)?exports(?:\s*\.|\s*\[|$)/u,mb=/^require\(/u,mx=`[${Array.from(new Set(["\r\n","\r","\n","\u2028","\u2029"])).join("")}]`,m_=RegExp(String.raw`^(\s*?${mx})\s*${mx}(\s*;?)$`,"u");function mv(e,t){return{test(n,r){let i=r.getFirstToken(n)?.value===t,a=Array.isArray(e)?e.includes(n.type):e===n.type;return i&&a}}}function mA(e){return{test:(t,n)=>t.loc.start.line===t.loc.end.line&&n.getFirstToken(t).value===e}}function mY(e){return{test:(t,n)=>t.loc.start.line!==t.loc.end.line&&n.getFirstToken(t).value===e}}function mC(e){return{test:t=>t.type===e}}function mk(e){return e&&e.type===di.AST_NODE_TYPES.ChainExpression?e.expression:e}function mL(e){if(e.type===di.AST_NODE_TYPES.ExpressionStatement){let t=mk(e.expression);if(t.type===di.AST_NODE_TYPES.UnaryExpression&&(t=mk(t.argument)),t.type===di.AST_NODE_TYPES.CallExpression){let e=t.callee;for(;e.type===di.AST_NODE_TYPES.SequenceExpression;)e=e.expressions[e.expressions.length-1];return da.isFunction(e)}}return!1}function mw(e,t){if(e.type===di.AST_NODE_TYPES.DoWhileStatement&&e.body.type===di.AST_NODE_TYPES.BlockStatement||mL(e))return!0;let n=t.getLastToken(e,da.isNotSemicolonToken),r=n&&da.isClosingBraceToken(n)?t.getNodeByRangeIndex(n.range[0]):null;return!!r&&(r.type===di.AST_NODE_TYPES.BlockStatement||r.type===di.AST_NODE_TYPES.SwitchStatement)}function mO(e,t){return e.type===di.AST_NODE_TYPES.ExpressionStatement&&(e.parent?.type===di.AST_NODE_TYPES.Program||e.parent?.type===di.AST_NODE_TYPES.BlockStatement&&da.isFunction(e.parent.parent))&&e.expression.type===di.AST_NODE_TYPES.Literal&&"string"==typeof e.expression.value&&!da.isParenthesized(e.expression,t)}function mI(e,t){if(mO(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(!mO(n,t))return!1}return!0}return!1}function mV(e,t){let n=t.getLastToken(e),r=t.getTokenBefore(n),i=t.getTokenAfter(n);return r&&i&&r.range[0]>=e.range[0]&&da.isSemicolonToken(n)&&n.loc.start.line!==r.loc.end.line&&n.loc.end.line===i.loc.start.line?r:n}function mD(e,t,n){return t+n}let mN={any:{verify:function(){}},never:{verify:function(e,t,n,r){0!==r.length&&e.report({node:n,messageId:"unexpectedBlankLine",fix(t){if(r.length>=2)return null;let n=r[0][0],i=r[0][1],a=n.range[1],s=i.range[0],o=e.getSourceCode().text.slice(a,s).replace(m_,mD);return t.replaceTextRange([a,s],o)}})}},always:{verify:function(e,t,n,r){r.length>0||e.report({node:n,messageId:"expectedBlankLine",fix(r){let i=e.sourceCode,a=mV(t,i),s=i.getFirstTokenBetween(a,n,{includeComments:!0,filter:e=>!da.isTokenOnSameLine(a,e)||(a=e,!1)})||n,o=da.isTokenOnSameLine(a,s)?"\n\n":"\n";return r.insertTextAfter(a,o)}})}}},mM={"*":{test:()=>!0},"block-like":{test:mw},exports:{test:function(e){if(e.type===di.AST_NODE_TYPES.ExpressionStatement){let t=e.expression;if(t.type===di.AST_NODE_TYPES.AssignmentExpression){let e=t.left;if(e.type===di.AST_NODE_TYPES.MemberExpression){for(;e.object.type===di.AST_NODE_TYPES.MemberExpression;)e=e.object;return e.object.type===di.AST_NODE_TYPES.Identifier&&("exports"===e.object.name||"module"===e.object.name&&e.property.type===di.AST_NODE_TYPES.Identifier&&"exports"===e.property.name)}}}return!1}},require:{test:function(e){if(e.type===di.AST_NODE_TYPES.VariableDeclaration){let t=e.declarations[0];if(t?.init){let e=t?.init;for(;e.type===di.AST_NODE_TYPES.MemberExpression;)e=e.object;if(e.type===di.AST_NODE_TYPES.CallExpression&&e.callee.type===di.AST_NODE_TYPES.Identifier)return"require"===e.callee.name}}return!1}},directive:{test:mI},expression:{test:function(e,t){return e.type===di.AST_NODE_TYPES.ExpressionStatement&&!mI(e,t)}},iife:{test:mL},"multiline-block-like":{test:(e,t)=>e.loc.start.line!==e.loc.end.line&&mw(e,t)},"multiline-expression":{test:(e,t)=>e.loc.start.line!==e.loc.end.line&&e.type===di.AST_NODE_TYPES.ExpressionStatement&&!mI(e,t)},"multiline-const":mY("const"),"multiline-export":mY("export"),"multiline-let":mY("let"),"multiline-var":mY("var"),"singleline-const":mA("const"),"singleline-export":mA("export"),"singleline-let":mA("let"),"singleline-var":mA("var"),block:mC(di.AST_NODE_TYPES.BlockStatement),empty:mC(di.AST_NODE_TYPES.EmptyStatement),function:mC(di.AST_NODE_TYPES.FunctionDeclaration),"ts-method":mC(di.AST_NODE_TYPES.TSMethodSignature),break:mv(di.AST_NODE_TYPES.BreakStatement,"break"),case:mv(di.AST_NODE_TYPES.SwitchCase,"case"),class:mv(di.AST_NODE_TYPES.ClassDeclaration,"class"),const:mv(di.AST_NODE_TYPES.VariableDeclaration,"const"),continue:mv(di.AST_NODE_TYPES.ContinueStatement,"continue"),debugger:mv(di.AST_NODE_TYPES.DebuggerStatement,"debugger"),default:mv([di.AST_NODE_TYPES.SwitchCase,di.AST_NODE_TYPES.ExportDefaultDeclaration],"default"),do:mv(di.AST_NODE_TYPES.DoWhileStatement,"do"),export:mv([di.AST_NODE_TYPES.ExportAllDeclaration,di.AST_NODE_TYPES.ExportDefaultDeclaration,di.AST_NODE_TYPES.ExportNamedDeclaration],"export"),for:mv([di.AST_NODE_TYPES.ForStatement,di.AST_NODE_TYPES.ForInStatement,di.AST_NODE_TYPES.ForOfStatement],"for"),if:mv(di.AST_NODE_TYPES.IfStatement,"if"),import:mv(di.AST_NODE_TYPES.ImportDeclaration,"import"),let:mv(di.AST_NODE_TYPES.VariableDeclaration,"let"),return:mv(di.AST_NODE_TYPES.ReturnStatement,"return"),switch:mv(di.AST_NODE_TYPES.SwitchStatement,"switch"),throw:mv(di.AST_NODE_TYPES.ThrowStatement,"throw"),try:mv(di.AST_NODE_TYPES.TryStatement,"try"),var:mv(di.AST_NODE_TYPES.VariableDeclaration,"var"),while:mv([di.AST_NODE_TYPES.WhileStatement,di.AST_NODE_TYPES.DoWhileStatement],"while"),with:mv(di.AST_NODE_TYPES.WithStatement,"with"),"cjs-export":{test:(e,t)=>"ExpressionStatement"===e.type&&"AssignmentExpression"===e.expression.type&&mP.test(t.getText(e.expression.left))},"cjs-import":{test:(e,t)=>"VariableDeclaration"===e.type&&e.declarations.length>0&&!!e.declarations[0].init&&mb.test(t.getText(e.declarations[0].init))},enum:mv(di.AST_NODE_TYPES.TSEnumDeclaration,"enum"),interface:mv(di.AST_NODE_TYPES.TSInterfaceDeclaration,"interface"),type:mv(di.AST_NODE_TYPES.TSTypeAliasDeclaration,"type"),"function-overload":{test:e=>"TSDeclareFunction"===e.type}};var mR=a$({name:"padding-line-between-statements",package:"ts",meta:{type:"layout",docs:{description:"Require or disallow padding lines between statements"},fixable:"whitespace",hasSuggestions:!1,schema:{$defs:{paddingType:{type:"string",enum:Object.keys(mN)},statementType:{anyOf:[{type:"string",enum:Object.keys(mM)},{type:"array",items:{type:"string",enum:Object.keys(mM)},minItems:1,uniqueItems:!0,additionalItems:!1}]}},type:"array",additionalItems:!1,items:{type:"object",properties:{blankLine:{$ref:"#/$defs/paddingType"},prev:{$ref:"#/$defs/statementType"},next:{$ref:"#/$defs/statementType"}},additionalProperties:!1,required:["blankLine","prev","next"]}},messages:{unexpectedBlankLine:"Unexpected blank line before this statement.",expectedBlankLine:"Expected blank line before this statement."}},defaultOptions:[],create(e){let t=e.sourceCode,n=e.options||[],r=null;function i(){r={upper:r,prevNode:null}}function a(){r&&(r=r.upper)}function s(e,n){let r=e;for(;r.type===di.AST_NODE_TYPES.LabeledStatement;)r=r.body;return Array.isArray(n)?n.some(s.bind(null,r)):mM[n].test(r,t)}function o(i){if(!i.parent||![di.AST_NODE_TYPES.BlockStatement,di.AST_NODE_TYPES.Program,di.AST_NODE_TYPES.StaticBlock,di.AST_NODE_TYPES.SwitchCase,di.AST_NODE_TYPES.SwitchStatement,di.AST_NODE_TYPES.TSInterfaceBody,di.AST_NODE_TYPES.TSModuleBlock,di.AST_NODE_TYPES.TSTypeLiteral].includes(i.parent.type))return;let a=r.prevNode;if(a){let r=function(e,t){for(let r=n.length-1;r>=0;--r){let i=n[r];if(s(e,i.prev)&&s(t,i.next))return mN[i.blankLine]}return mN.any}(a,i),o=function(e,n){let r=[],i=mV(e,t);if(n.loc.start.line-i.loc.end.line>=2)do{let e=t.getTokenAfter(i,{includeComments:!0});e.loc.start.line-i.loc.end.line>=2&&r.push([i,e]),i=e}while(i.range[0]<n.range[0]);return r}(a,i);r.verify(e,a,i,o)}r.prevNode=i}function l(e){o(e),i()}return{Program:i,BlockStatement:i,SwitchStatement:i,StaticBlock:i,TSInterfaceBody:i,TSModuleBlock:i,TSTypeLiteral:i,"Program:exit":a,"BlockStatement:exit":a,"SwitchStatement:exit":a,"StaticBlock:exit":a,"TSInterfaceBody:exit":a,"TSModuleBlock:exit":a,"TSTypeLiteral:exit":a,":statement":o,SwitchCase:l,TSDeclareFunction:l,TSMethodSignature:l,"SwitchCase:exit":a,"TSDeclareFunction:exit":a,"TSMethodSignature:exit":a}}}),mB=a$({name:"quote-props",package:"ts",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}]},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."}},defaultOptions:["always"],create(e){let t=e.options[0],n=e.options[1]&&e.options[1].keywords,r=!e.options[1]||!1!==e.options[1].unnecessary,i=e.options[1]&&e.options[1].numbers,a=e.sourceCode;function s(e){return a1.includes(e)}function o(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 l(e){return"Identifier"===e.type?e.name:e.value}function c(e){return"Literal"===e.type&&"string"==typeof e.value?a.getText(e):`"${"Identifier"===e.type?e.name:e.value}"`}function p(t){if("Property"===t.type&&(t.method||t.computed||t.shorthand)||"ImportAttribute"!==t.type&&t.computed)return;let a="TSEnumMember"===t.type?t.id:t.key;if("Literal"===a.type&&"string"==typeof a.value){let c;try{c=i0(a.value)}catch{return}if(1!==c.length||s(c[0].value)&&n)return;r&&o(a.value,c,i)&&e.report({node:t,messageId:"unnecessarilyQuotedProperty",data:{property:a.value},fix:e=>e.replaceText(a,l(a))})}else if(n&&"Identifier"===a.type&&s(a.name))e.report({node:t,messageId:"unquotedReservedProperty",data:{property:a.name},fix:e=>e.replaceText(a,c(a))});else{var p;i&&"Literal"===a.type&&"Literal"===(p=a).type&&("number"==typeof p.value||"bigint"in p&&p.bigint)&&e.report({node:t,messageId:"unquotedNumericProperty",data:{property:a.value},fix:e=>e.replaceText(a,c(a))})}}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;("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){m(e.filter(e=>"SpreadElement"!==e.type&&e.key&&!e.method&&!e.computed&&!e.shorthand),t)}function f(e){e&&("consistent"===t&&m(e,!1),"consistent-as-needed"===t&&m(e,!0))}function m(t,r){let i=[],a=[],p=null,u=!1;t.forEach(e=>{let t=e.key;if("Literal"===t.type&&"string"==typeof t.value){if(i.push(e),r){let e;try{e=i0(t.value)}catch{u=!0;return}u=u||!o(t.value,e)||n&&s(e[0].value)}}else n&&r&&"Identifier"===t.type&&s(t.name)?(a.push(e),u=!0,p=t.name):a.push(e)}),r&&i.length&&!u?i.forEach(t=>{let n=t.key;e.report({node:t,messageId:"redundantQuoting",fix:e=>e.replaceText(n,l(n))})}):a.length&&p?a.forEach(t=>{e.report({node:t,messageId:"requireQuotesDueToReservedWord",data:{property:p},fix:e=>e.replaceText(t.key,c(t.key))})}):i.length&&a.length&&a.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||u(e),"as-needed"===t&&p(e)},ObjectExpression(e){"consistent"===t&&d(e.properties,!1),"consistent-as-needed"===t&&d(e.properties,!0)},ImportAttribute(e){"always"!==t&&t||u(e),"as-needed"===t&&p(e)},ImportDeclaration(e){f(e.attributes)},ExportAllDeclaration(e){f(e.attributes)},ExportNamedDeclaration(e){f(e.attributes)},TSPropertySignature(e){"always"!==t&&t||u(e),"as-needed"===t&&p(e)},TSEnumMember(e){"always"!==t&&t||u(e),"as-needed"===t&&p(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 mU(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 mj={double:{quote:'"',alternateQuote:"'",description:"doublequote",convert:mU},single:{quote:"'",alternateQuote:'"',description:"singlequote",convert:mU},backtick:{quote:"`",alternateQuote:'"',description:"backtick",convert:mU}},mF=RegExp(String.raw`(^|[^\\])(\\\\)*[${Array.from(i8).join("")}]`,"u");var mW=a$({name:"quotes",package:"ts",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}]}],messages:{wrongQuotes:"Strings must use {{description}}."}},defaultOptions:["double",{allowTemplateLiterals:"never",avoidEscape:!1,ignoreStringLiterals:!1}],create(e){let t=e.options[0],n=mj[t||"double"],r=e.options[1],i=e.sourceCode,a=!1,s=!1,o=!1,l=!1;return"object"==typeof r?(a=!0===r.avoidEscape,s=!0===r.ignoreStringLiterals,"string"==typeof r.allowTemplateLiterals?l=(o="always"===r.allowTemplateLiterals)||"avoidEscape"===r.allowTemplateLiterals:"boolean"==typeof r.allowTemplateLiterals&&(o=!0===r.allowTemplateLiterals,l=!0===r.allowTemplateLiterals)):"avoid-escape"===r&&(a=!0),{Literal(r){if(s)return;let o=r.value,l=r.raw;if(n&&"string"==typeof o){let s="backtick"===t&&function(e){let t=e.parent;if(!t)return!1;switch(t.type){case di.AST_NODE_TYPES.ExpressionStatement:return!ac(i,e)&&function(e){if(!e.parent||!aC(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&&!ac(i,r.expression)))break}return!1}(e);case di.AST_NODE_TYPES.Property:case di.AST_NODE_TYPES.MethodDefinition:return t.key===e&&!t.computed;case di.AST_NODE_TYPES.ImportDeclaration:case di.AST_NODE_TYPES.ExportNamedDeclaration:return t.source===e;case di.AST_NODE_TYPES.ExportAllDeclaration:return t.exported===e||t.source===e;case di.AST_NODE_TYPES.ImportSpecifier:return t.imported===e;case di.AST_NODE_TYPES.ExportSpecifier:return t.local===e||t.exported===e;case di.AST_NODE_TYPES.ImportAttribute:return t.value===e;case di.AST_NODE_TYPES.TSAbstractMethodDefinition:case di.AST_NODE_TYPES.TSMethodSignature:case di.AST_NODE_TYPES.TSPropertySignature:case di.AST_NODE_TYPES.TSModuleDeclaration:case di.AST_NODE_TYPES.TSExternalModuleReference:return!0;case di.AST_NODE_TYPES.TSEnumMember:return e===t.id;case di.AST_NODE_TYPES.TSAbstractPropertyDefinition:case di.AST_NODE_TYPES.PropertyDefinition:return t.key===e&&!t.computed;case di.AST_NODE_TYPES.TSLiteralType:return t.parent?.type===di.AST_NODE_TYPES.TSImportType;default:return!1}}(r)||!!r.parent&&("JSXAttribute"===r.parent.type||"JSXElement"===r.parent.type||"JSXFragment"===r.parent.type)||aV(l,n.quote);!s&&a&&(s=aV(l,n.alternateQuote)&&l.includes(n.quote)),s||e.report({node:r,messageId:"wrongQuotes",data:{description:n.description},fix:e=>"backtick"===t&&an.test(l)?null:e.replaceText(r,n.convert(r.raw))})}},TemplateLiteral(r){!(o||"backtick"===t||"TaggedTemplateExpression"===r.parent.type&&r===r.parent.quasi||r.expressions.length>0||r.quasis.length>=1&&mF.test(r.quasis[0].value.raw))&&(l&&a&&i.getText(r).includes(n.quote)||e.report({node:r,messageId:"wrongQuotes",data:{description:n.description},fix:e=>aC(r.parent)&&!ac(i,r)?null:e.replaceText(r,n.convert(i.getText(r)))}))}}}}),mG=a$({name:"rest-spread-spacing",package:"js",meta:{type:"layout",docs:{description:"Enforce spacing between rest and spread operators and their expressions"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]}],messages:{unexpectedWhitespace:"Unexpected whitespace after {{type}} operator.",expectedWhitespace:"Expected whitespace after {{type}} operator."}},create(e){let t=e.sourceCode,n="always"===e.options[0];function r(r){let i,a=t.getFirstToken(r),s=t.getTokenAfter(a),o=t.isSpaceBetween(a,s);switch(r.type){case"SpreadElement":i="spread","ObjectExpression"===r.parent.type&&(i+=" property");break;case"RestElement":i="rest","ObjectPattern"===r.parent.type&&(i+=" property");break;default:return}n&&!o?e.report({node:r,loc:a.loc,messageId:"expectedWhitespace",data:{type:i},fix:e=>e.replaceTextRange([a.range[1],s.range[0]]," ")}):!n&&o&&e.report({node:r,loc:{start:a.loc.end,end:s.loc.start},messageId:"unexpectedWhitespace",data:{type:i},fix:e=>e.removeRange([a.range[1],s.range[0]])})}return{SpreadElement:r,RestElement:r}}}),m$=a$({name:"semi-spacing",package:"ts",meta:{type:"layout",docs:{description:"Enforce consistent spacing before and after semicolons"},fixable:"whitespace",schema:[{type:"object",properties:{before:{type:"boolean",default:!1},after:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{unexpectedWhitespaceBefore:"Unexpected whitespace before semicolon.",unexpectedWhitespaceAfter:"Unexpected whitespace after semicolon.",missingWhitespaceBefore:"Missing whitespace before semicolon.",missingWhitespaceAfter:"Missing whitespace after semicolon."}},create(e){let t=e.options[0],n=e.sourceCode,r=!1,i=!0;function a(t,a){if(am(t)){if(function(e){let t=n.getTokenBefore(e);return t&&ak(t,e)&&n.isSpaceBetween(t,e)}(t)){if(!r){let r=n.getTokenBefore(t),i={start:r.loc.end,end:t.loc.start};e.report({node:a,loc:i,messageId:"unexpectedWhitespaceBefore",fix:e=>e.removeRange([r.range[1],t.range[0]])})}}else if(r){let n=t.loc;e.report({node:a,loc:n,messageId:"missingWhitespaceBefore",fix:e=>e.insertTextBefore(t," ")})}if(!function(e){let t=n.getTokenBefore(e);return!(t&&ak(e,t))}(t)&&!function(e){let t=n.getTokenAfter(e);return!(t&&ak(e,t))}(t)&&!function(e){let t=n.getTokenAfter(e);return t&&aP(t)||ah(t)}(t)){if(function(e){let t=n.getTokenAfter(e);return t&&ak(e,t)&&n.isSpaceBetween(e,t)}(t)){if(!i){let r=n.getTokenAfter(t),i={start:t.loc.end,end:r.loc.start};e.report({node:a,loc:i,messageId:"unexpectedWhitespaceAfter",fix:e=>e.removeRange([t.range[1],r.range[0]])})}}else if(i){let n=t.loc;e.report({node:a,loc:n,messageId:"missingWhitespaceAfter",fix:e=>e.insertTextAfter(t," ")})}}}}function s(e){a(n.getLastToken(e),e)}return"object"==typeof t&&(r=t.before,i=t.after),{VariableDeclaration:s,ExpressionStatement:s,BreakStatement:s,ContinueStatement:s,DebuggerStatement:s,DoWhileStatement:s,ReturnStatement:s,ThrowStatement:s,ImportDeclaration:s,ExportNamedDeclaration:s,ExportAllDeclaration:s,ExportDefaultDeclaration:s,ForStatement(e){e.init&&a(n.getTokenAfter(e.init),e),e.test&&a(n.getTokenAfter(e.test),e)},PropertyDefinition:s,TSDeclareFunction:s,TSTypeAliasDeclaration:s,TSTypeAnnotation(e){let t=new Set([di.AST_NODE_TYPES.TSDeclareFunction]);e.parent&&!t.has(e.parent.type)&&s(e.parent)}}}}),mq=a$({name:"semi-style",package:"js",meta:{type:"layout",docs:{description:"Enforce location of semicolons"},schema:[{type:"string",enum:["last","first"]}],fixable:"whitespace",messages:{expectedSemiColon:"Expected this semicolon to be at {{pos}}."}},create(e){let t=e.sourceCode,n=e.options[0]||"last";function r(n,r){let i=t.getTokenBefore(n),a=t.getTokenAfter(n),s=!i||ak(i,n),o=!a||ak(n,a);("last"!==r||s)&&("first"!==r||o)||e.report({loc:n.loc,messageId:"expectedSemiColon",data:{pos:"last"===r?"the end of the previous line":"the beginning of the next line"},fix(e){if(i&&a&&t.commentsExistBetween(i,a))return null;let s=i?i.range[1]:n.range[0],o=a?a.range[0]:n.range[1];return e.replaceTextRange([s,o],"last"===r?";\n":"\n;")}})}return{"BreakStatement,ContinueStatement,DebuggerStatement,DoWhileStatement,ExportAllDeclaration,ExportDefaultDeclaration,ExportNamedDeclaration,ExpressionStatement,ImportDeclaration,ReturnStatement,ThrowStatement,VariableDeclaration,PropertyDefinition"(e){if("first"===n&&function(e){if(!e.parent)return!0;let t=e.parent.type;if("IfStatement"===t&&e.parent.consequent===e&&e.parent.alternate||"DoWhileStatement"===t)return!0;let n=function(e){let t=e.type;return"BlockStatement"===t||"StaticBlock"===t||"Program"===t||"ClassBody"===t?e.body:"SwitchCase"===t?e.consequent:null}(e.parent);return null!==n&&n[n.length-1]===e}(e))return;let i=t.getLastToken(e);am(i)&&r(i,n)},ForStatement(e){let n=e.init&&t.getTokenAfter(e.init,am),i=e.test&&t.getTokenAfter(e.test,am);n&&r(n,"last"),i&&r(i,"last")}}}}),mX=a$({name:"semi",package:"ts",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}]},messages:{missingSemi:"Missing semicolon.",extraSemi:"Extra semicolon."}},defaultOptions:["always",{omitLastInOneLineBlock:!1,beforeStatementContinuationChars:"any"}],create(e){let t=/^[-[(/+`]/u,n=new Set(["get","set","static"]),r=new Set(["*","in","instanceof"]),i=e.options[1],a="never"===e.options[0],s=!!(i&&"omitLastInOneLineBlock"in i&&i.omitLastInOneLineBlock),o=!!(i&&"omitLastInOneLineClassBody"in i&&i.omitLastInOneLineClassBody),l=i&&"beforeStatementContinuationChars"in i&&i.beforeStatementContinuationChars||"any",c=e.sourceCode;function p(t,n=!1){let r,i,a=c.getLastToken(t),s="missingSemi";n?(s="extraSemi",i=a.loc,r=function(e){return new a2(e,c).retainSurroundingTokens(a).remove(a)}):(i={start:a.loc.end,end:aM(c,a.loc.end)},r=function(e){return e.insertTextAfter(a,";")}),e.report({node:t,loc:i,messageId:s,fix:r})}function u(e){return!!e&&t.test(e.value)&&"++"!==e.value&&"--"!==e.value}function d(e){let t=am(c.getLastToken(e));if(a){let i=c.getTokenAfter(e);!t||(!function(e){let t=c.getTokenAfter(e);return!t||aP(t)||am(t)}(c.getLastToken(e))?function(e){if("PropertyDefinition"!==e.type)return!1;if(!e.computed&&"Identifier"===e.key.type&&"name"in e.key&&n.has(e.key.name)&&!(e.static&&"static"===e.key.name)&&!e.value)return!0;let t=c.getTokenAfter(e);return r.has(t.value)}(e)||function(e){let t=c.getLastToken(e,1),n=c.getTokenAfter(e);return!!n&&ak(t,n)}(e)||("PropertyDefinition"===e.type||"never"!==l||function(e){let t=e.type;return"DoWhileStatement"!==t&&"BreakStatement"!==t&&"ContinueStatement"!==t&&"DebuggerStatement"!==t&&"ImportDeclaration"!==t&&"ExportAllDeclaration"!==t&&("ReturnStatement"===t?!!e.argument:"ExportNamedDeclaration"===t?!!e.declaration:!function(e){if(!aP(e))return!1;let t=c.getNodeByRangeIndex(e.range[0]);return"BlockStatement"===t.type&&"ArrowFunctionExpression"===t.parent.type}(c.getLastToken(e,1)))}(e))&&u(c.getTokenAfter(e))?1:0:0)?!t&&"always"===l&&"PropertyDefinition"!==e.type&&u(i)&&p(e):p(e,!0)}else{let n=s&&function(e){let t=e.parent,n=c.getTokenAfter(e);return!!n&&"}"===n.value&&("BlockStatement"===t.type?t.loc.start.line===t.loc.end.line:"StaticBlock"===t.type&&c.getFirstToken(t,{skip:1}).loc.start.line===t.loc.end.line)}(e),r=o&&function(e){let t=e.parent,n=c.getTokenAfter(e);return!!n&&"}"===n.value&&"ClassBody"===t.type&&t.loc.start.line===t.loc.end.line}(e),i=n||r;t&&i?p(e,!0):t||i||p(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!==di.AST_NODE_TYPES.TSInterfaceDeclaration&&(/(?:Class|Function)Declaration/u.test(e.declaration.type)||d(e))},PropertyDefinition:d,TSAbstractPropertyDefinition:d,TSDeclareFunction:d,TSExportAssignment:d,TSImportEqualsDeclaration:d,TSTypeAliasDeclaration:d,TSEmptyBodyFunctionExpression:d}}}),mH=a$({name:"space-before-blocks",package:"ts",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"]}},additionalProperties:!1}]}],messages:{unexpectedSpace:"Unexpected space before opening brace.",missingSpace:"Missing space before opening brace."}},defaultOptions:["always"],create(e,[t]){let n=e.sourceCode,r=!0,i=!0,a=!0,s=!1,o=!1,l=!1;function c(e){let t=e.parent;return"BlockStatement"===e.type&&aa(t)&&t.body===e}function p(t){let p=n.getTokenBefore(t);if(p&&!(au(p)||ax(p)&&!c(t)||aE(p)&&"parent"in t&&t.parent&&"SwitchCase"===t.parent.type&&p===aY(t.parent,n))&&ak(p,t)){let u,d,f=n.isSpaceBetween(p,t);c(t)?(u=r,d=s):"ClassBody"===t.type||"TSEnumBody"===t.type||"TSInterfaceBody"===t.type?(u=a,d=l):(u=i,d=o),u&&!f?e.report({node:t,messageId:"missingSpace",fix:e=>e.insertTextBefore(t," ")}):d&&f&&e.report({node:t,messageId:"unexpectedSpace",fix:e=>e.removeRange([p.range[1],t.range[0]])})}}return"object"==typeof t?(r="always"===t.functions,i="always"===t.keywords,a="always"===t.classes,s="never"===t.functions,o="never"===t.keywords,l="never"===t.classes):"never"===t&&(r=!1,i=!1,a=!1,s=!0,o=!0,l=!0),{BlockStatement:p,ClassBody:p,SwitchStatement(e){let t,r=e.cases;p(r.length>0?n.getTokenBefore(r[0]):n.getLastToken(e,1))},TSEnumBody:p,TSInterfaceBody:p}}}),mJ=a$({name:"space-before-function-paren",package:"ts",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"]}},additionalProperties:!1}]}],messages:{unexpectedSpace:"Unexpected space before function parentheses.",missingSpace:"Missing space before function parentheses."}},defaultOptions:["always"],create(e,[t]){let n=e.sourceCode,r="string"==typeof t?t:"always",i="object"==typeof t?t:{};function a(t){let a,s,o=function(e){if(e.type===di.AST_NODE_TYPES.ArrowFunctionExpression){if(e.async&&da.isOpeningParenToken(n.getFirstToken(e,{skip:1})))return i.asyncArrow??r}else if(function(e){if(null!=e.id)return!0;let t=e.parent;return t.type===di.AST_NODE_TYPES.MethodDefinition||t.type===di.AST_NODE_TYPES.TSAbstractMethodDefinition||t.type===di.AST_NODE_TYPES.Property&&("get"===t.kind||"set"===t.kind||t.method)}(e))return i.named??r;else if(!e.generator)return i.anonymous??r;return"ignore"}(t);if("ignore"===o)return;t.typeParameters?(a=n.getLastToken(t.typeParameters),s=n.getTokenAfter(a)):(s=n.getFirstToken(t,da.isOpeningParenToken),a=n.getTokenBefore(s));let l=n.isSpaceBetween(a,s);l&&"never"===o?e.report({node:t,loc:{start:a.loc.end,end:s.loc.start},messageId:"unexpectedSpace",fix:e=>{let t=n.getCommentsBefore(s);return t.some(e=>"Line"===e.type)?null:e.replaceTextRange([a.range[1],s.range[0]],t.reduce((e,t)=>e+n.getText(t),""))}}):l||"always"!==o||t.typeParameters&&!t.id||e.report({node:t,loc:s.loc,messageId:"missingSpace",fix:e=>e.insertTextAfter(a," ")})}return{ArrowFunctionExpression:a,FunctionDeclaration:a,FunctionExpression:a,TSEmptyBodyFunctionExpression:a,TSDeclareFunction:a}}}),mK=a$({name:"space-in-parens",package:"js",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}],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){let t="always"===e.options[0],n=e.options[1]&&e.options[1].exceptions||[],r={braceException:!1,bracketException:!1,parenException:!1,empty:!1},i={openers:[],closers:[]};n.length&&(r.braceException=n.includes("{}"),r.bracketException=n.includes("[]"),r.parenException=n.includes("()"),r.empty=n.includes("empty"));let a=e.sourceCode;function s(e){return i.openers.includes(e.value)}function o(e){return i.closers.includes(e.value)}return{Program:function(n){i=function(){let e=[],t=[];return r.braceException&&(e.push("{"),t.push("}")),r.bracketException&&(e.push("["),t.push("]")),r.parenException&&(e.push("("),t.push(")")),r.empty&&(e.push(")"),t.push("(")),{openers:e,closers:t}}();let l=a.tokensAndComments;l.forEach((i,c)=>{let p=l[c-1],u=l[c+1];(aT(i)||ah(i))&&("("===i.value&&!(a.isSpaceBetween(i,u)||!r.empty&&ah(u))&&(t?!s(u):s(u))&&e.report({node:n,loc:i.loc,messageId:"missingOpeningSpace",fix:e=>e.insertTextAfter(i," ")}),"("===i.value&&ak(i,u)&&"Line"!==u.type&&a.isSpaceBetween(i,u)&&(t?s(u):!s(u))&&e.report({node:n,loc:{start:i.loc.end,end:u.loc.start},messageId:"rejectedOpeningSpace",fix:e=>e.removeRange([i.range[1],u.range[0]])}),")"===i.value&&!(a.isSpaceBetween(p,i)||!r.empty&&aT(p))&&(t?!o(p):o(p))&&e.report({node:n,loc:i.loc,messageId:"missingClosingSpace",fix:e=>e.insertTextBefore(i," ")}),")"===i.value&&ak(p,i)&&a.isSpaceBetween(p,i)&&(t?o(p):!o(p))&&e.report({node:n,loc:{start:p.loc.end,end:i.loc.start},messageId:"rejectedClosingSpace",fix:e=>e.removeRange([p.range[1],i.range[0]])}))})}}}});let mz=["|","&"];var mQ=a$({name:"space-infix-ops",package:"ts",meta:{type:"layout",docs:{description:"Require spacing around infix operators"},fixable:"whitespace",schema:[{type:"object",properties:{int32Hint:{type:"boolean",default:!1},ignoreTypes:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{missingSpace:"Operator '{{operator}}' must be spaced."}},defaultOptions:[{int32Hint:!1,ignoreTypes:!1}],create(e){let t=!!e.options[0]&&!0===e.options[0].int32Hint,n=!!e.options[0]&&!0===e.options[0].ignoreTypes,r=e.sourceCode;function i(t,n){e.report({node:t,loc:n.loc,messageId:"missingSpace",data:{operator:n.value},fix(e){let t=r.getTokenBefore(n),i=r.getTokenAfter(n),a="";return n.range[0]-t.range[1]==0&&(a=" "),a+=n.value,i.range[0]-n.range[1]==0&&(a+=" "),e.replaceText(n,a)}})}function a(e,t,n){let i=r.getFirstTokenBetween(e,t,e=>e.value===n),a=r.getTokenBefore(i),s=r.getTokenAfter(i);return r.isSpaceBetween(a,i)&&r.isSpaceBetween(i,s)?null:i}function s(e){let n="typeAnnotation"in e.left&&e.left.typeAnnotation?e.left.typeAnnotation:e.left,s=a(n,e.right,"operator"in e&&e.operator?e.operator:"=");s&&!(t&&r.getText(e).endsWith("|0"))&&i(e,s)}function o(e){return e.type===di.AST_TOKEN_TYPES.Punctuator&&/^[=?:]$/.test(e.value)}function l(e,t,n){if(!n||!t)return;let a=r.getFirstTokenBetween(t,n,o),s=r.getTokenBefore(a),l=r.getTokenAfter(a);r.isSpaceBetween(s,a)&&r.isSpaceBetween(a,l)||i(e,a)}function c(e){e.types.forEach(t=>{let a=t.type===di.AST_NODE_TYPES.TSFunctionType?da.isNotOpeningParenToken:0,s=r.getTokenBefore(t,a);if(!n&&null!=s&&mz.includes(s.value)){let t=r.getTokenBefore(s),n=r.getTokenAfter(s);r.isSpaceBetween(t,s)&&r.isSpaceBetween(s,n)||i(e,s)}})}return{AssignmentExpression:s,AssignmentPattern:s,BinaryExpression:s,LogicalExpression:s,ConditionalExpression:function(e){let t=a(e.test,e.consequent,"?"),n=a(e.consequent,e.alternate,":");t&&i(e,t),n&&i(e,n)},VariableDeclarator:function(e){let t=e.id.typeAnnotation?e.id.typeAnnotation:e.id,n=e.init;if(n){let r=a(t,n,"=");r&&i(e,r)}},TSEnumMember:function(e){l(e,e.id,e.initializer)},PropertyDefinition:function(e){let t=e.optional&&!e.typeAnnotation?r.getTokenAfter(e.key):e.typeAnnotation??e.key;l(e,t,e.value)},TSTypeAliasDeclaration:function(e){l(e,e.typeParameters??e.id,e.typeAnnotation)},TSUnionType:c,TSIntersectionType:c,TSConditionalType:function(e){l(e,e.extendsType,e.trueType),l(e,e.trueType,e.falseType)}}}}),mZ=a$({name:"space-unary-ops",package:"js",meta:{type:"layout",docs:{description:"Enforce consistent spacing before or after unary operators"},fixable:"whitespace",schema:[{type:"object",properties:{words:{type:"boolean",default:!0},nonwords:{type:"boolean",default:!1},overrides:{type:"object",additionalProperties:{type:"boolean"}}},additionalProperties:!1}],messages:{unexpectedBefore:"Unexpected space before unary operator '{{operator}}'.",unexpectedAfter:"Unexpected space after unary operator '{{operator}}'.",unexpectedAfterWord:"Unexpected space after unary word operator '{{word}}'.",wordOperator:"Unary word operator '{{word}}' must be followed by whitespace.",operator:"Unary operator '{{operator}}' must be followed by whitespace.",beforeUnaryExpressions:"Space is required before unary expressions '{{token}}'."}},create(e){let t=e.options[0]||{words:!0,nonwords:!1},n=e.sourceCode;function r(e){return t.overrides&&Object.prototype.hasOwnProperty.call(t.overrides,e)}function i(e){return t.overrides?.[e]}function a(t,n,r,i){r.range[0]===n.range[1]&&e.report({node:t,messageId:"wordOperator",data:{word:i},fix:e=>e.insertTextAfter(n," ")})}function s(t,n,r,i){aR(n,r)&&r.range[0]>n.range[1]&&e.report({node:t,messageId:"unexpectedAfterWord",data:{word:i},fix:e=>e.removeRange([n.range[1],r.range[0]])})}function o(e,n,o,l){r(l)?i(l)?a(e,n,o,l):s(e,n,o,l):t.words?a(e,n,o,l):s(e,n,o,l)}function l(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:"operator",data:{operator:n.value},fix:e=>e.insertTextAfter(n," ")});else n.range[1]===r.range[0]&&e.report({node:t,messageId:"beforeUnaryExpressions",data:{token:r.value},fix:e=>e.insertTextBefore(r," ")})}function c(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=>aR(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 a="UpdateExpression"!==e.type||e.prefix?n.getFirstTokens(e,2):n.getLastTokens(e,2),s=a[0],p=a[1];if(("NewExpression"===e.type||e.prefix)&&"Keyword"===s.type)return void o(e,s,p,s.value);let u="prefix"in e&&e.prefix?a[0].value:a[1].value;r(u)?i(u)?l(e,s,p):c(e,s,p):t.nonwords?l(e,s,p):c(e,s,p)}return{UnaryExpression:p,UpdateExpression:p,NewExpression:p,YieldExpression:function(e){let t=n.getFirstTokens(e,3);e.argument&&!e.delegate&&o(e,t[0],t[1],"yield")},AwaitExpression:function(e){let t=n.getFirstTokens(e,3);o(e,t[0],t[1],"await")}}}});function m0(e){return`(?:${function(e){if("string"!=typeof e)throw TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(e)})`}function m1(e){return`${m0(e)}+`}function m2(e){let t="";return 0===e.length?t+="\\s":(t+="(?:\\s|",1===e.length?t+=m1(e[0]):(t+="(?:",t+=e.map(m1).join("|"),t+=")"),t+=`(?:$|[${Array.from(i8).join("")}]))`),t}var m3=a$({name:"spaced-comment",package:"js",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",default:!1}},additionalProperties:!1}},additionalProperties:!1}],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){let t=e.sourceCode,n="never"!==e.options[0],r=e.options[1]||{},i=r.block&&r.block.balanced,a=["block","line"].reduce((e,t)=>{var a;let s,o=(a=r[t]&&r[t]?.markers||r.markers||[]).includes("*")?a:a.concat("*"),l=r[t]&&r[t]?.exceptions||r.exceptions||[];return e[t]={beginRegex:n?(s="^",1===o.length?s+=m0(o[0]):(s+="(?:",s+=o.map(m0).join("|"),s+=")"),s+="?",RegExp(s+=m2(l),"u")):RegExp(`^(${o.map(m0).join("|")})?[ ]+`,"u"),endRegex:i&&n?RegExp(`${m2(l)}$`,"u"):RegExp("[ ]+$","u"),hasExceptions:l.length>0,captureMarker:RegExp(`^(${o.map(m0).join("|")})`,"u"),markers:new Set(o)},e},{});function s(t,r,i,a){let s="block"===t.type.toLowerCase()?"/*":"//";e.report({node:t,fix(e){let r=t.range[0],a=r+2;return n?(i&&(a+=i[0].length),e.insertTextAfterRange([r,a]," ")):(i&&(a+=i[0].length),e.replaceTextRange([r,a],s+(i&&i[1]?i[1]:"")))},messageId:r,data:{refChar:a}})}function o(t,r,i){e.report({node:t,fix(e){if(n)return e.insertTextAfterRange([t.range[0],t.range[1]-2]," ");let r=t.range[1]-2,a=r;return i&&(a-=i[0].length),e.replaceTextRange([a,r],"")},messageId:r})}function l(e){let t=e.type.toLowerCase(),r=a[t],l="block"===t?"/*":"//";if(0===e.value.length||r.markers.has(e.value)||"line"===t&&(e.value.startsWith("/ <reference")||e.value.startsWith("/ <amd")))return;let c=r.beginRegex.exec(e.value),p=r.endRegex.exec(e.value);if(n){if(!c){let t=r.captureMarker.exec(e.value),n=t?l+t[0]:l;r.hasExceptions?s(e,"expectedExceptionAfter",t,n):s(e,"expectedSpaceAfter",t,n)}i&&"block"===t&&!p&&o(e,"expectedSpaceBefore",null)}else c&&(c[1]?s(e,"unexpectedSpaceAfterMarker",c,c[1]):s(e,"unexpectedSpaceAfter",c,l)),i&&"block"===t&&p&&o(e,"unexpectedSpaceBefore",p)}return{Program(){t.getAllComments().filter(e=>"Shebang"!==e.type).forEach(l)}}}}),m6=a$({name:"switch-colon-spacing",package:"js",meta:{type:"layout",docs:{description:"Enforce spacing around colons of switch statements"},schema:[{type:"object",properties:{before:{type:"boolean",default:!1},after:{type:"boolean",default:!0}},additionalProperties:!1}],fixable:"whitespace",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){let t=e.sourceCode,n=e.options[0]||{},r=!0===n.before,i=!1!==n.after;function a(e,n,r){return aP(n)||!ak(e,n)||t.isSpaceBetween(e,n)===r}function s(e,n,r,i){return null!==t.getFirstTokenBetween(n,r,{includeComments:!0,filter:ab})?null:i?e.insertTextAfter(n," "):e.removeRange([n.range[1],r.range[0]])}return{SwitchCase(n){let o=aY(n,t),l=t.getTokenBefore(o),c=t.getTokenAfter(o);a(l,o,r)||e.report({node:n,loc:o.loc,messageId:r?"expectedBefore":"unexpectedBefore",fix:e=>s(e,l,o,r)}),a(o,c,i)||e.report({node:n,loc:o.loc,messageId:i?"expectedAfter":"unexpectedAfter",fix:e=>s(e,o,c,i)})}}}}),m4=a$({name:"template-curly-spacing",package:"js",meta:{type:"layout",docs:{description:"Require or disallow spacing around embedded expressions of template strings"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]}],messages:{expectedBefore:"Expected space(s) before '}'.",expectedAfter:"Expected space(s) after '${'.",unexpectedBefore:"Unexpected space(s) before '}'.",unexpectedAfter:"Unexpected space(s) after '${'."}},create(e){let t=e.sourceCode,n="always"===e.options[0];return{TemplateElement(r){let i=t.getFirstToken(r);!function(r){if(!r.value.startsWith("}"))return;let i=t.getTokenBefore(r,{includeComments:!0}),a=t.isSpaceBetween(i,r);ak(i,r)&&(n&&!a&&e.report({loc:{start:r.loc.start,end:{line:r.loc.start.line,column:r.loc.start.column+1}},messageId:"expectedBefore",fix:e=>e.insertTextBefore(r," ")}),!n&&a&&e.report({loc:{start:i.loc.end,end:r.loc.start},messageId:"unexpectedBefore",fix:e=>e.removeRange([i.range[1],r.range[0]])}))}(i),function(r){if(!r.value.endsWith("${"))return;let i=t.getTokenAfter(r,{includeComments:!0}),a=t.isSpaceBetween(r,i);ak(r,i)&&(n&&!a&&e.report({loc:{start:{line:r.loc.end.line,column:r.loc.end.column-2},end:r.loc.end},messageId:"expectedAfter",fix:e=>e.insertTextAfter(r," ")}),!n&&a&&e.report({loc:{start:r.loc.end,end:i.loc.start},messageId:"unexpectedAfter",fix:e=>e.removeRange([r.range[1],i.range[0]])}))}(i)}}}}),m5=a$({name:"template-tag-spacing",package:"js",meta:{type:"layout",docs:{description:"Require or disallow spacing between template tags and their literals"},fixable:"whitespace",schema:[{type:"string",enum:["always","never"]}],messages:{unexpected:"Unexpected space between template tag and template literal.",missing:"Missing space between template tag and template literal."}},create(e){let t="always"!==e.options[0],n=e.sourceCode;return{TaggedTemplateExpression:function(r){let i=n.getTokenBefore(r.quasi),a=n.getFirstToken(r.quasi),s=n.isSpaceBetween(i,a);t&&s?e.report({node:r,loc:{start:i.loc.end,end:a.loc.start},messageId:"unexpected",fix(e){let t=n.getCommentsBefore(r.quasi);return t.some(e=>"Line"===e.type)?null:e.replaceTextRange([i.range[1],a.range[0]],t.reduce((e,t)=>e+n.getText(t),""))}}):t||s||e.report({node:r,loc:{start:r.loc.start,end:a.loc.start},messageId:"missing",fix:e=>e.insertTextAfter(i," ")})}}}}),m9=a$({name:"type-annotation-spacing",package:"ts",meta:{type:"layout",docs:{description:"Require consistent spacing around type annotations"},fixable:"whitespace",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}}'."},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:{$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:[{}],create(e,[t]){let n=[":","=>"],r=e.sourceCode,i=function(e){let t={...e?.before!==void 0?{before:e.before}:{},...e?.after!==void 0?{after:e.after}:{}},n=e?.overrides??{},r={before:!1,after:!0,...t,...n?.colon};return{colon:r,arrow:{before:!0,after:!0,...t,...n?.arrow},variable:{...r,...n?.variable},property:{...r,...n?.property},parameter:{...r,...n?.parameter},returnType:{...r,...n?.returnType}}}(t);function a(t){let a=r.getTokenBefore(t),s=a,o=r.getTokenBefore(a),l=a.value;if(!n.includes(l))return;let{before:c,after:p}=function(e,t){let n=t?.parent?.parent;if(da.isTSFunctionType(n)||da.isTSConstructorType(n))return e.arrow;if(da.isIdentifier(n)){let t=n?.parent;return da.isVariableDeclarator(t)?e.variable:da.isFunctionOrFunctionType(t)?e.parameter:e.colon}return da.isClassOrTypeElement(n)?e.property:da.isFunction(n)?e.returnType:e.colon}(i,t);":"===l&&"?"===o.value&&(r.isSpaceBetween(o,s)&&e.report({node:s,messageId:"unexpectedSpaceBetween",data:{type:l,previousToken:o.value},fix:e=>e.removeRange([o.range[1],s.range[0]])}),l="?:",s=o,("+"===(o=r.getTokenBefore(o)).value||"-"===o.value)&&(l=`${o.value}?:`,s=o,o=r.getTokenBefore(o)));let u=s.range[0]-o.range[1],d=t.range[0]-a.range[1];p&&0===d?e.report({node:a,messageId:"expectedSpaceAfter",data:{type:l},fix:e=>e.insertTextAfter(a," ")}):!p&&d>0&&e.report({node:a,messageId:"unexpectedSpaceAfter",data:{type:l},fix:e=>e.removeRange([a.range[1],t.range[0]])}),c&&0===u?e.report({node:s,messageId:"expectedSpaceBefore",data:{type:l},fix:e=>e.insertTextAfter(o," ")}):!c&&u>0&&e.report({node:s,messageId:"unexpectedSpaceBefore",data:{type:l},fix:e=>e.removeRange([o.range[1],s.range[0]])})}return{TSMappedType(e){e.typeAnnotation&&a(e.typeAnnotation)},TSTypeAnnotation(e){a(e.typeAnnotation)}}}});let m8=new Set(["TSCallSignatureDeclaration","ArrowFunctionExpression","TSFunctionType","FunctionExpression"]);var m7=a$({name:"type-generic-spacing",package:"plus",meta:{type:"layout",docs:{description:"Enforces consistent spacing inside TypeScript type generics"},fixable:"whitespace",schema:[],messages:{genericSpacingMismatch:"Generic spaces mismatch"}},defaultOptions:[],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;r(t.getTokenBefore(n[0]),t.getTokenAfter(n[n.length-1]))},TSTypeParameterDeclaration:n=>{if(!m8.has(n.parent.type)){let r=t.text.slice(0,n.range[0]),i=r.match(/(\s+)$/)?.[0];i&&i.length&&e.report({node:n,messageId:"genericSpacingMismatch",*fix(e){yield e.replaceTextRange([n.range[0]-i.length,n.range[0]],"")}})}let i=n.params;r(t.getTokenBefore(i[0]),t.getTokenAfter(i[i.length-1]));for(let r=1;r<i.length;r++){let a=i[r-1],s=i[r],o=a.range[1],l=s.range[0],c=t.text.slice(o,l);", "===c||c.match(/,\s*\n/)||e.report({*fix(e){yield e.replaceTextRange([o,l],", ")},loc:{start:a.loc.end,end:s.loc.start},messageId:"genericSpacingMismatch",node:n})}},TSTypeParameter:n=>{if(!n.default)return;let r=n.constraint||n.name,i=r.range[1],a=n.default.range[0],s=t.text.slice(i,a);s.match(/(?:^|[^ ]) = (?:$|[^ ])/)||e.report({*fix(e){yield e.replaceTextRange([i,a],s.replace(/\s*=\s*/," = "))},loc:{start:r.loc.end,end:n.default.loc.start},messageId:"genericSpacingMismatch",node:n})}}}});let Ee=/^([\w$]+)(\s*)(\?\s*)?:(\s*)(.*)$/,Et={rules:{"array-bracket-newline":a3,"array-bracket-spacing":a6,"array-element-newline":a4,"arrow-parens":a5,"arrow-spacing":a9,"block-spacing":ds,"brace-style":dl,"comma-dangle":dp,"comma-spacing":du,"comma-style":dd,"computed-property-spacing":df,"curly-newline":dy,"dot-location":dS,"eol-last":dP,"func-call-spacing":dx,"function-call-argument-newline":db,"function-call-spacing":dx,"function-paren-newline":d_,"generator-star-spacing":dA,"implicit-arrow-linebreak":dY,indent:dV,"indent-binary-ops":dC,"jsx-child-element-spacing":dN,"jsx-closing-bracket-location":dM,"jsx-closing-tag-location":dU,"jsx-curly-brace-presence":dq,"jsx-curly-newline":dX,"jsx-curly-spacing":dK,"jsx-equals-spacing":dz,"jsx-first-prop-new-line":dQ,"jsx-function-call-newline":dZ,"jsx-indent":d1,"jsx-indent-props":d0,"jsx-max-props-per-line":d2,"jsx-newline":d6,"jsx-one-expression-per-line":d5,"jsx-pascal-case":fr,"jsx-props-no-multi-spaces":fi,"jsx-quotes":fs,"jsx-self-closing-comp":fl,"jsx-sort-props":fT,"jsx-tag-spacing":fP,"jsx-wrap-multilines":fx,"key-spacing":fv,"keyword-spacing":fV,"line-comment-position":fD,"linebreak-style":fN,"lines-around-comment":fR,"lines-between-class-members":fU,"max-len":fW,"max-statements-per-line":f$,"member-delimiter-style":fX,"multiline-comment-style":fH,"multiline-ternary":fJ,"new-parens":fK,"newline-per-chained-call":fz,"no-confusing-arrow":fQ,"no-extra-parens":fZ,"no-extra-semi":f0,"no-floating-decimal":f1,"no-mixed-operators":mt,"no-mixed-spaces-and-tabs":mn,"no-multi-spaces":mr,"no-multiple-empty-lines":mi,"no-tabs":mo,"no-trailing-spaces":ml,"no-whitespace-before-property":mc,"nonblock-statement-body-position":mu,"object-curly-newline":mm,"object-curly-spacing":mE,"object-property-newline":mT,"one-var-declaration-per-line":mh,"operator-linebreak":mg,"padded-blocks":mS,"padding-line-between-statements":mR,"quote-props":mB,quotes:mW,"rest-spread-spacing":mG,semi:mX,"semi-spacing":m$,"semi-style":mq,"space-before-blocks":mH,"space-before-function-paren":mJ,"space-in-parens":mK,"space-infix-ops":mQ,"space-unary-ops":mZ,"spaced-comment":m3,"switch-colon-spacing":m6,"template-curly-spacing":m4,"template-tag-spacing":m5,"type-annotation-spacing":m9,"type-generic-spacing":m7,"type-named-tuple-spacing":a$({name:"type-named-tuple-spacing",package:"plus",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 ':'."}},defaultOptions:[],create:e=>{let t=e.getSourceCode();return{TSNamedTupleMember:n=>{let r=t.text.slice(n.range[0],n.range[1]),i=r.match(Ee);if(!i)return;let a=n.label.name,s=i[2],o=i[3],l=i[4],c=i[5];function p(){let e=a;return n.optional&&(e+="?"),e+=": ",e+=c}o?.length>1&&e.report({node:n,messageId:"unexpectedSpaceBetween",*fix(e){yield e.replaceTextRange(n.range,r.replace(Ee,p()))}}),s?.length&&e.report({node:n,messageId:"unexpectedSpaceBefore",*fix(e){yield e.replaceTextRange(n.range,r.replace(Ee,p()))}}),null!=l&&1!==l.length&&e.report({node:n,messageId:"expectedSpaceAfter",*fix(e){yield e.replaceTextRange(n.range,r.replace(Ee,p()))}})}}}}),"wrap-iife":a$({name:"wrap-iife",package:"js",meta:{type:"layout",docs:{description:"Require parentheses around immediate `function` invocations"},schema:[{type:"string",enum:["outside","inside","any"]},{type:"object",properties:{functionPrototypeMethods:{type:"boolean",default:!1}},additionalProperties:!1}],fixable:"code",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){let t=e.options[0]||"outside",n=e.options[1]&&e.options[1].functionPrototypeMethods,r=e.sourceCode;return{CallExpression(i){let a=function(e){let t=ao(e.callee);return"FunctionExpression"===t.type?t:n&&"MemberExpression"===t.type&&"FunctionExpression"===t.object.type&&("call"===as(t)||"apply"===as(t))?t.object:null}(i);if(!a)return;let s=ac(r,i),o=ac(r,a);s||o?"inside"!==t||o?"outside"!==t||s||e.report({node:i,messageId:"moveInvocation",fix(e){let t=r.getTokenAfter(a);return e.replaceTextRange([t.range[0],i.range[1]],`${r.getText().slice(t.range[1],i.range[1])})`)}}):e.report({node:i,messageId:"wrapExpression",fix(e){if(aF(i,r,1)&&!function(e){let t=e.parent?.type==="ChainExpression"?e.parent:e;return t.parent?.type==="NewExpression"&&t.parent.callee===t}(i)){let t=r.getTokenAfter(i);return e.replaceTextRange([a.range[1],t.range[1]],`)${r.getText().slice(a.range[1],t.range[0])}`)}return e.replaceText(a,`(${r.getText(a)})`)}}):e.report({node:i,messageId:"wrapInvocation",fix(e){let n="inside"===t?a:i;return e.replaceText(n,`(${r.getText(n)})`)}})}}}}),"wrap-regex":a$({name:"wrap-regex",package:"js",meta:{type:"layout",docs:{description:"Require parenthesis around regex literals"},schema:[],fixable:"code",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:a}=n;"MemberExpression"!==a.type||a.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":a$({name:"yield-star-spacing",package:"js",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}]}],messages:{missingBefore:"Missing space before *.",missingAfter:"Missing space after *.",unexpectedBefore:"Unexpected space before *.",unexpectedAfter:"Unexpected space after *."}},create(e){let t=e.sourceCode,n=function(e="after"){return"string"==typeof e?({before:{before:!0,after:!1},after:{before:!1,after:!0},both:{before:!0,after:!0},neither:{before:!1,after:!1}})[e]:e}(e.options[0]);function r(r,i,a){if(t.isSpaceBetween(i,a)!==n[r]){let t="*"===i.value,s=n[r],o=t?i:a;e.report({node:o,messageId:s?"before"===r?"missingBefore":"missingAfter":"before"===r?"unexpectedBefore":"unexpectedAfter",fix:e=>s?t?e.insertTextAfter(o," "):e.insertTextBefore(o," "):e.removeRange([i.range[1],a.range[0]])})}}return{YieldExpression:function(e){if(!("delegate"in e&&e.delegate))return;let n=t.getFirstTokens(e,3),i=n[0],a=n[1],s=n[2];r("before",i,a),r("after",a,s)}}}})}};function En(e={}){let{arrowParens:t=!1,blockSpacing:n=!0,braceStyle:r="stroustrup",commaDangle:i="always-multiline",indent:a=2,jsx:s=!0,pluginName:o="@stylistic",quoteProps:l="consistent-as-needed",quotes:c="single",semi:p=!1,severity:u="error"}=e,d={"@stylistic/array-bracket-spacing":[u,"never"],"@stylistic/arrow-parens":[u,t?"always":"as-needed",{requireForBlockBody:!0}],"@stylistic/arrow-spacing":[u,{after:!0,before:!0}],"@stylistic/block-spacing":[u,n?"always":"never"],"@stylistic/brace-style":[u,r,{allowSingleLine:!0}],"@stylistic/comma-dangle":[u,i],"@stylistic/comma-spacing":[u,{after:!0,before:!1}],"@stylistic/comma-style":[u,"last"],"@stylistic/computed-property-spacing":[u,"never",{enforceForClassMembers:!0}],"@stylistic/dot-location":[u,"property"],"@stylistic/eol-last":u,"@stylistic/generator-star-spacing":[u,{after:!0,before:!1}],"@stylistic/indent":[u,a,{ArrayExpression:1,CallExpression:{arguments:1},flatTernaryExpressions:!1,FunctionDeclaration:{body:1,parameters:1},FunctionExpression:{body:1,parameters:1},ignoreComments:!1,ignoredNodes:["TSUnionType","TSIntersectionType","TSTypeParameterInstantiation","FunctionExpression > .params[decorators.length > 0]","FunctionExpression > .params > :matches(Decorator, :not(:first-child))"],ImportDeclaration:1,MemberExpression:1,ObjectExpression:1,offsetTernaryExpressions:!0,outerIIFEBody:1,SwitchCase:1,tabLength:"tab"===a?4:a,VariableDeclarator:1}],"@stylistic/indent-binary-ops":[u,a],"@stylistic/key-spacing":[u,{afterColon:!0,beforeColon:!1}],"@stylistic/keyword-spacing":[u,{after:!0,before:!0}],"@stylistic/lines-between-class-members":[u,"always",{exceptAfterSingleLine:!0}],"@stylistic/max-statements-per-line":[u,{max:1}],"@stylistic/member-delimiter-style":[u,{multiline:{delimiter:p?"semi":"none",requireLast:p},multilineDetection:"brackets",overrides:{interface:{multiline:{delimiter:p?"semi":"none",requireLast:p}}},singleline:{delimiter:p?"semi":"comma"}}],"@stylistic/multiline-ternary":[u,"always-multiline"],"@stylistic/new-parens":u,"@stylistic/no-extra-parens":[u,"functions"],"@stylistic/no-floating-decimal":u,"@stylistic/no-mixed-operators":[u,{allowSamePrecedence:!0,groups:[["==","!=","===","!==",">",">=","<","<="],["&&","||"],["in","instanceof"]]}],"@stylistic/no-mixed-spaces-and-tabs":u,"@stylistic/no-multi-spaces":u,"@stylistic/no-multiple-empty-lines":[u,{max:1,maxBOF:0,maxEOF:0}],"@stylistic/no-tabs":"tab"===a?"off":u,"@stylistic/no-trailing-spaces":u,"@stylistic/no-whitespace-before-property":u,"@stylistic/object-curly-spacing":[u,"always"],"@stylistic/operator-linebreak":[u,"before"],"@stylistic/padded-blocks":[u,{blocks:"never",classes:"never",switches:"never"}],"@stylistic/quote-props":[u,l],"@stylistic/quotes":[u,c,{allowTemplateLiterals:!0,avoidEscape:!1}],"@stylistic/rest-spread-spacing":[u,"never"],"@stylistic/semi":[u,p?"always":"never"],"@stylistic/semi-spacing":[u,{after:!0,before:!1}],"@stylistic/space-before-blocks":[u,"always"],"@stylistic/space-before-function-paren":[u,{anonymous:"always",asyncArrow:"always",named:"never"}],"@stylistic/space-in-parens":[u,"never"],"@stylistic/space-infix-ops":u,"@stylistic/space-unary-ops":[u,{nonwords:!1,words:!0}],"@stylistic/spaced-comment":[u,"always",{block:{balanced:!0,exceptions:["*"],markers:["!"]},line:{exceptions:["/","#"],markers:["/"]}}],"@stylistic/template-curly-spacing":u,"@stylistic/template-tag-spacing":[u,"never"],"@stylistic/type-annotation-spacing":[u,{}],"@stylistic/type-generic-spacing":u,"@stylistic/type-named-tuple-spacing":u,"@stylistic/wrap-iife":[u,"any",{functionPrototypeMethods:!0}],"@stylistic/yield-star-spacing":[u,{after:!0,before:!1}],...s?{"@stylistic/jsx-closing-bracket-location":u,"@stylistic/jsx-closing-tag-location":u,"@stylistic/jsx-curly-brace-presence":[u,{propElementValues:"always"}],"@stylistic/jsx-curly-newline":u,"@stylistic/jsx-curly-spacing":[u,"never"],"@stylistic/jsx-equals-spacing":u,"@stylistic/jsx-first-prop-new-line":u,"@stylistic/jsx-function-call-newline":[u,"multiline"],"@stylistic/jsx-indent-props":[u,a],"@stylistic/jsx-max-props-per-line":[u,{maximum:1,when:"multiline"}],"@stylistic/jsx-one-expression-per-line":[u,{allow:"single-child"}],"@stylistic/jsx-quotes":u,"@stylistic/jsx-tag-spacing":[u,{afterOpening:"never",beforeClosing:"never",beforeSelfClosing:"always",closingSlash:"never"}],"@stylistic/jsx-wrap-multilines":[u,{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("@stylistic"!==o){let e=/^@stylistic\//;d=Object.fromEntries(Object.entries(d).map(([t,n])=>[t.replace(e,`${o}/`),n]))}return{plugins:{[o]:Et},rules:d}}let Er=[/^jsx-/,/^curly-newline$/],Ei=function(e,t,n){let r=Object.fromEntries(Object.entries(e.rules).filter(([e,t])=>t.meta.fixable&&!t.meta.deprecated&&e===t.meta.docs.url.split("/").pop()&&(!n||n(e,t))).map(([e])=>[`${t}/${e}`,2]));return{plugins:{[t]:e},rules:r}}(Et,"@stylistic",e=>!Er.some(t=>t.test(e))),Ea=En(),Es=Object.assign(Et,{configs:{"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,"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-props-no-multi-spaces":0,"react/jsx-self-closing-comp":0,"react/jsx-sort-props":0,"react/jsx-tag-spacing":0,"react/jsx-wrap-multilines":0}},customize:En,recommended:Ea,"recommended-flat":Ea,all:Ei,"all-flat":Ei}}),Eo=r(p,"@eslint-react/eslint-plugin"),El=r(m(f),"eslint-plugin-ssr-friendly");function Ec({reactCompiler:e="error",additionalHooks:t="(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample)",nextjs:a=!1,remix:p=!1,reactRefresh:u={},additionalHooksWithType:d={useLayoutEffect:["useIsomorphicLayoutEffect"],useEffect:["useAbortableEffect"]},additionalComponents:f=[{name:"Link",as:"a",attributes:[{name:"to",as:"href"},{name:"rel",as:"rel"}]}]}={}){let{allowConstantExport:m=!1}=u;return[{name:"@eslint-sukka/react base",files:[n.GLOB_TS,n.GLOB_TSX,n.GLOB_JSX],plugins:{"jsx-a11y-minimal":r(s,"@eslint-sukka/eslint-plugin-react-jsx-a11y#eslint_plugin_jsx_a11y_minimal"),"react-hooks":r(o,"eslint-plugin-react-hooks"),"@stylistic":r(Es,"@stylistic/eslint-plugin"),"react-prefer-function-component":r(ra,"eslint-plugin-react-prefer-function-component"),"react-compiler":r(l,"eslint-plugin-react-compiler"),...Eo.configs.recommended.plugins,"ssr-friendly":El,"react-refresh":c},settings:{"react-x":{version:"detect",additionalHooks:d,additionalComponents:f}},languageOptions:{globals:i.browser},rules:{...o.configs.recommended.rules,"react-compiler/react-compiler":e,"react-hooks/exhaustive-deps":["error",{additionalHooks:t}],"@stylistic/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],...Eo.configs.recommended.rules,"@eslint-react/no-string-refs":"error","@eslint-react/no-comment-textnodes":"error","@eslint-react/dom/no-unsafe-target-blank":"error","@eslint-react/no-children-prop":"error","@eslint-react/dom/no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom/no-render-return-value":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/dom/no-find-dom-node":"error","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/prefer-destructuring-assignment":"warn","@eslint-react/no-unused-state":"error","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/dom/no-script-url":"error","@eslint-react/no-unused-class-component-members":"error","@eslint-react/naming-convention/component-name":["error",{rule:"PascalCase"}],"@eslint-react/naming-convention/filename":["error",{rule:"kebab-case"}],"@eslint-react/naming-convention/filename-extension":["error",{allow:"as-needed"}],"@eslint-react/naming-convention/use-state":"error","react-prefer-function-component/react-prefer-function-component":"error","@stylistic/jsx-self-closing-comp":"error","@eslint-react/prefer-shorthand-boolean":"error","@stylistic/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"@stylistic/jsx-indent-props":["error",2],"@stylistic/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"@stylistic/jsx-wrap-multilines":["error",{declaration:"parens-new-line",assignment:"parens-new-line",return:"parens-new-line",arrow:"parens-new-line",condition:"ignore",logical:"ignore",prop:"ignore"}],"@stylistic/jsx-first-prop-new-line":["error","multiline-multiprop"],"@stylistic/jsx-function-call-newline":["error","multiline"],"@stylistic/jsx-equals-spacing":["error","never"],"@stylistic/jsx-indent":"off","@stylistic/jsx-child-element-spacing":"error","@stylistic/jsx-closing-bracket-location":["error","line-aligned"],"@stylistic/jsx-tag-spacing":["error",{closingSlash:"never",beforeSelfClosing:"always",afterOpening:"never",beforeClosing:"never"}],"@eslint-react/dom/no-children-in-void-dom-elements":"error","@stylistic/jsx-curly-brace-presence":["error",{props:"never",children:"never"}],"@stylistic/jsx-props-no-multi-spaces":"error","@eslint-react/prefer-shorthand-fragment":"error","@stylistic/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"@eslint-react/no-missing-key":"error","@eslint-react/no-array-index-key":"error","@eslint-react/no-duplicate-key":"error","@eslint-react/no-implicit-key":"error","@eslint-react/jsx-uses-react":"off","@eslint-react/no-useless-fragment":"error","@eslint-react/no-unstable-context-value":"error","@eslint-react/no-nested-components":"error","@eslint-react/dom/no-missing-iframe-sandbox":"warn","@eslint-react/dom/no-unsafe-iframe-sandbox":"warn","@eslint-react/no-leaked-conditional-rendering":"error","@eslint-react/no-unstable-default-props":"error","@eslint-react/dom/no-missing-button-type":"error","@eslint-react/dom/no-namespace":"error","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"],ignoreClassesThatImplementAnInterface:"public-fields"}],"jsx-a11y-minimal/alt-text":["warn",{elements:["img"],img:["Image"]}],"jsx-a11y-minimal/aria-props":"warn","jsx-a11y-minimal/aria-proptypes":"warn","jsx-a11y-minimal/aria-role":"warn","jsx-a11y-minimal/aria-unsupported-elements":"warn","jsx-a11y-minimal/iframe-has-title":"warn","jsx-a11y-minimal/no-access-key":"warn","jsx-a11y-minimal/role-has-required-aria-props":"warn","jsx-a11y-minimal/role-supports-aria-props":"warn","jsx-a11y-minimal/tabindex-no-positive":"warn","react-refresh/only-export-components":["warn",{allowConstantExport:m,allowExportNames:[...a?["config","generateStaticParams","metadata","generateMetadata","viewport","generateViewport"]:[],...p?["meta","links","headers","loader","action"]:[]]}]}},{files:["**/app/**/_*.cjs",String.raw`**/app/**/\[*.?([cm])[j]s?(x)`,"**/pages/_(app|document).?([cm])[jt]s?(x)"],rules:{"@eslint-react/naming-convention/filename":"off"}}]}function Ep({opt:e={}}={}){return[{plugins:{"@stylexjs":E},files:[n.GLOB_TS,n.GLOB_TSX,n.GLOB_JSX],rules:{"@stylexjs/valid-styles":["error",e],"@stylexjs/valid-shorthands":["error",e],"@stylexjs/sort-keys":"off"}}]}export{T as next,Ec as react,Ep as stylex};