feat: docker compose maybe
This commit is contained in:
		
							
								
								
									
										55
									
								
								node_modules/eslint-plugin-svelte/lib/utils/ast-utils.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								node_modules/eslint-plugin-svelte/lib/utils/ast-utils.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
import type { ASTNode, RuleContext, SourceCode } from '../types';
 | 
			
		||||
import type { TSESTree } from '@typescript-eslint/types';
 | 
			
		||||
import type { Scope, Variable } from '@typescript-eslint/scope-manager';
 | 
			
		||||
import type { AST as SvAST } from 'svelte-eslint-parser';
 | 
			
		||||
export declare function equalTokens(left: ASTNode, right: ASTNode, sourceCode: SourceCode): boolean;
 | 
			
		||||
export declare function getStringIfConstant(node: TSESTree.Expression | TSESTree.PrivateIdentifier): string | null;
 | 
			
		||||
export declare function needParentheses(node: TSESTree.Expression, kind: 'not' | 'logical'): boolean;
 | 
			
		||||
export declare function isHTMLElementLike(node: SvAST.SvelteElement | SvAST.SvelteScriptElement | SvAST.SvelteStyleElement): node is SvAST.SvelteHTMLElement | (SvAST.SvelteSpecialElement & {
 | 
			
		||||
    name: SvAST.SvelteName & {
 | 
			
		||||
        name: 'svelte:element';
 | 
			
		||||
    };
 | 
			
		||||
});
 | 
			
		||||
export declare function findAttribute<N extends string>(node: SvAST.SvelteElement | SvAST.SvelteScriptElement | SvAST.SvelteStyleElement | SvAST.SvelteStartTag, name: N): (SvAST.SvelteAttribute & {
 | 
			
		||||
    key: SvAST.SvelteAttribute['key'] & {
 | 
			
		||||
        name: N;
 | 
			
		||||
    };
 | 
			
		||||
}) | null;
 | 
			
		||||
export declare function findShorthandAttribute<N extends string>(node: SvAST.SvelteElement | SvAST.SvelteScriptElement | SvAST.SvelteStyleElement | SvAST.SvelteStartTag, name: N): (SvAST.SvelteShorthandAttribute & {
 | 
			
		||||
    key: SvAST.SvelteShorthandAttribute['key'] & {
 | 
			
		||||
        name: N;
 | 
			
		||||
    };
 | 
			
		||||
}) | null;
 | 
			
		||||
export declare function findBindDirective<N extends string>(node: SvAST.SvelteElement | SvAST.SvelteScriptElement | SvAST.SvelteStyleElement | SvAST.SvelteStartTag, name: N): (SvAST.SvelteBindingDirective & {
 | 
			
		||||
    key: SvAST.SvelteDirectiveKey & {
 | 
			
		||||
        name: SvAST.SvelteDirectiveKey['name'] & {
 | 
			
		||||
            name: N;
 | 
			
		||||
        };
 | 
			
		||||
    };
 | 
			
		||||
}) | null;
 | 
			
		||||
export declare function getStaticAttributeValue(node: SvAST.SvelteAttribute): string | null;
 | 
			
		||||
export declare function getLangValue(node: SvAST.SvelteScriptElement | SvAST.SvelteStyleElement): string | null;
 | 
			
		||||
export declare function findVariable(context: RuleContext, node: TSESTree.Identifier): Variable | null;
 | 
			
		||||
export declare function iterateIdentifiers(node: TSESTree.DestructuringPattern): Iterable<TSESTree.Identifier>;
 | 
			
		||||
export declare function getScope(context: RuleContext, currentNode: TSESTree.Node): Scope;
 | 
			
		||||
export declare function getParent(node: TSESTree.Node): TSESTree.Node | null;
 | 
			
		||||
export type QuoteAndRange = {
 | 
			
		||||
    quote: 'unquoted' | 'double' | 'single';
 | 
			
		||||
    range: [number, number];
 | 
			
		||||
    firstToken: SvAST.Token | SvAST.Comment;
 | 
			
		||||
    lastToken: SvAST.Token | SvAST.Comment;
 | 
			
		||||
};
 | 
			
		||||
export declare function getAttributeValueQuoteAndRange(attr: SvAST.SvelteAttribute | SvAST.SvelteDirective | SvAST.SvelteStyleDirective | SvAST.SvelteSpecialDirective, sourceCode: SourceCode): QuoteAndRange | null;
 | 
			
		||||
export declare function getMustacheTokens(node: SvAST.SvelteMustacheTag | SvAST.SvelteShorthandAttribute | SvAST.SvelteSpreadAttribute | SvAST.SvelteDebugTag, sourceCode: SourceCode): {
 | 
			
		||||
    openToken: SvAST.Token;
 | 
			
		||||
    closeToken: SvAST.Token;
 | 
			
		||||
};
 | 
			
		||||
export declare function getMustacheTokens(node: SvAST.SvelteDirective | SvAST.SvelteSpecialDirective | SvAST.SvelteMustacheTag | SvAST.SvelteShorthandAttribute | SvAST.SvelteSpreadAttribute | SvAST.SvelteDebugTag, sourceCode: SourceCode): {
 | 
			
		||||
    openToken: SvAST.Token;
 | 
			
		||||
    closeToken: SvAST.Token;
 | 
			
		||||
} | null;
 | 
			
		||||
export declare function getAttributeKeyText(node: SvAST.SvelteAttribute | SvAST.SvelteShorthandAttribute | SvAST.SvelteStyleDirective | SvAST.SvelteDirective | SvAST.SvelteSpecialDirective, context: RuleContext): string;
 | 
			
		||||
export declare function getDirectiveName(node: SvAST.SvelteDirective): string;
 | 
			
		||||
export declare function getNodeName(node: SvAST.SvelteElement): string;
 | 
			
		||||
export declare function isVoidHtmlElement(node: SvAST.SvelteElement): boolean;
 | 
			
		||||
export declare function isExpressionIdentifier(node: TSESTree.Identifier): boolean;
 | 
			
		||||
							
								
								
									
										430
									
								
								node_modules/eslint-plugin-svelte/lib/utils/ast-utils.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										430
									
								
								node_modules/eslint-plugin-svelte/lib/utils/ast-utils.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,430 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
			
		||||
    if (k2 === undefined) k2 = k;
 | 
			
		||||
    var desc = Object.getOwnPropertyDescriptor(m, k);
 | 
			
		||||
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
 | 
			
		||||
      desc = { enumerable: true, get: function() { return m[k]; } };
 | 
			
		||||
    }
 | 
			
		||||
    Object.defineProperty(o, k2, desc);
 | 
			
		||||
}) : (function(o, m, k, k2) {
 | 
			
		||||
    if (k2 === undefined) k2 = k;
 | 
			
		||||
    o[k2] = m[k];
 | 
			
		||||
}));
 | 
			
		||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
 | 
			
		||||
    Object.defineProperty(o, "default", { enumerable: true, value: v });
 | 
			
		||||
}) : function(o, v) {
 | 
			
		||||
    o["default"] = v;
 | 
			
		||||
});
 | 
			
		||||
var __importStar = (this && this.__importStar) || function (mod) {
 | 
			
		||||
    if (mod && mod.__esModule) return mod;
 | 
			
		||||
    var result = {};
 | 
			
		||||
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
 | 
			
		||||
    __setModuleDefault(result, mod);
 | 
			
		||||
    return result;
 | 
			
		||||
};
 | 
			
		||||
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
			
		||||
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
			
		||||
};
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.isExpressionIdentifier = exports.isVoidHtmlElement = exports.getNodeName = exports.getDirectiveName = exports.getAttributeKeyText = exports.getMustacheTokens = exports.getAttributeValueQuoteAndRange = exports.getParent = exports.getScope = exports.iterateIdentifiers = exports.findVariable = exports.getLangValue = exports.getStaticAttributeValue = exports.findBindDirective = exports.findShorthandAttribute = exports.findAttribute = exports.isHTMLElementLike = exports.needParentheses = exports.getStringIfConstant = exports.equalTokens = void 0;
 | 
			
		||||
const eslintUtils = __importStar(require("@eslint-community/eslint-utils"));
 | 
			
		||||
const void_elements_1 = __importDefault(require("./void-elements"));
 | 
			
		||||
const compat_1 = require("./compat");
 | 
			
		||||
function equalTokens(left, right, sourceCode) {
 | 
			
		||||
    const tokensL = sourceCode.getTokens(left);
 | 
			
		||||
    const tokensR = sourceCode.getTokens(right);
 | 
			
		||||
    if (tokensL.length !== tokensR.length) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    for (let i = 0; i < tokensL.length; ++i) {
 | 
			
		||||
        if (tokensL[i].type !== tokensR[i].type || tokensL[i].value !== tokensR[i].value) {
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
exports.equalTokens = equalTokens;
 | 
			
		||||
function getStringIfConstant(node) {
 | 
			
		||||
    if (node.type === 'Literal') {
 | 
			
		||||
        if (typeof node.value === 'string')
 | 
			
		||||
            return node.value;
 | 
			
		||||
    }
 | 
			
		||||
    else if (node.type === 'TemplateLiteral') {
 | 
			
		||||
        let str = '';
 | 
			
		||||
        const quasis = [...node.quasis];
 | 
			
		||||
        const expressions = [...node.expressions];
 | 
			
		||||
        let quasi, expr;
 | 
			
		||||
        while ((quasi = quasis.shift())) {
 | 
			
		||||
            str += quasi.value.cooked;
 | 
			
		||||
            expr = expressions.shift();
 | 
			
		||||
            if (expr) {
 | 
			
		||||
                const exprStr = getStringIfConstant(expr);
 | 
			
		||||
                if (exprStr == null) {
 | 
			
		||||
                    return null;
 | 
			
		||||
                }
 | 
			
		||||
                str += exprStr;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return str;
 | 
			
		||||
    }
 | 
			
		||||
    else if (node.type === 'BinaryExpression') {
 | 
			
		||||
        if (node.operator === '+') {
 | 
			
		||||
            const left = getStringIfConstant(node.left);
 | 
			
		||||
            if (left == null) {
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            const right = getStringIfConstant(node.right);
 | 
			
		||||
            if (right == null) {
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            return left + right;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return null;
 | 
			
		||||
}
 | 
			
		||||
exports.getStringIfConstant = getStringIfConstant;
 | 
			
		||||
function needParentheses(node, kind) {
 | 
			
		||||
    if (node.type === 'ArrowFunctionExpression' ||
 | 
			
		||||
        node.type === 'AssignmentExpression' ||
 | 
			
		||||
        node.type === 'BinaryExpression' ||
 | 
			
		||||
        node.type === 'ConditionalExpression' ||
 | 
			
		||||
        node.type === 'LogicalExpression' ||
 | 
			
		||||
        node.type === 'SequenceExpression' ||
 | 
			
		||||
        node.type === 'UnaryExpression' ||
 | 
			
		||||
        node.type === 'UpdateExpression')
 | 
			
		||||
        return true;
 | 
			
		||||
    if (kind === 'logical') {
 | 
			
		||||
        return node.type === 'FunctionExpression';
 | 
			
		||||
    }
 | 
			
		||||
    return false;
 | 
			
		||||
}
 | 
			
		||||
exports.needParentheses = needParentheses;
 | 
			
		||||
function isHTMLElementLike(node) {
 | 
			
		||||
    if (node.type !== 'SvelteElement') {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    switch (node.kind) {
 | 
			
		||||
        case 'html':
 | 
			
		||||
            return true;
 | 
			
		||||
        case 'special':
 | 
			
		||||
            return node.name.name === 'svelte:element';
 | 
			
		||||
        default:
 | 
			
		||||
            return false;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
exports.isHTMLElementLike = isHTMLElementLike;
 | 
			
		||||
function findAttribute(node, name) {
 | 
			
		||||
    const startTag = node.type === 'SvelteStartTag' ? node : node.startTag;
 | 
			
		||||
    for (const attr of startTag.attributes) {
 | 
			
		||||
        if (attr.type === 'SvelteAttribute') {
 | 
			
		||||
            if (attr.key.name === name) {
 | 
			
		||||
                return attr;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return null;
 | 
			
		||||
}
 | 
			
		||||
exports.findAttribute = findAttribute;
 | 
			
		||||
function findShorthandAttribute(node, name) {
 | 
			
		||||
    const startTag = node.type === 'SvelteStartTag' ? node : node.startTag;
 | 
			
		||||
    for (const attr of startTag.attributes) {
 | 
			
		||||
        if (attr.type === 'SvelteShorthandAttribute') {
 | 
			
		||||
            if (attr.key.name === name) {
 | 
			
		||||
                return attr;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return null;
 | 
			
		||||
}
 | 
			
		||||
exports.findShorthandAttribute = findShorthandAttribute;
 | 
			
		||||
function findBindDirective(node, name) {
 | 
			
		||||
    const startTag = node.type === 'SvelteStartTag' ? node : node.startTag;
 | 
			
		||||
    for (const attr of startTag.attributes) {
 | 
			
		||||
        if (attr.type === 'SvelteDirective') {
 | 
			
		||||
            if (attr.kind === 'Binding' && attr.key.name.name === name) {
 | 
			
		||||
                return attr;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return null;
 | 
			
		||||
}
 | 
			
		||||
exports.findBindDirective = findBindDirective;
 | 
			
		||||
function getStaticAttributeValue(node) {
 | 
			
		||||
    let str = '';
 | 
			
		||||
    for (const value of node.value) {
 | 
			
		||||
        if (value.type === 'SvelteLiteral') {
 | 
			
		||||
            str += value.value;
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return str;
 | 
			
		||||
}
 | 
			
		||||
exports.getStaticAttributeValue = getStaticAttributeValue;
 | 
			
		||||
function getLangValue(node) {
 | 
			
		||||
    const langAttr = findAttribute(node, 'lang');
 | 
			
		||||
    return langAttr && getStaticAttributeValue(langAttr);
 | 
			
		||||
}
 | 
			
		||||
exports.getLangValue = getLangValue;
 | 
			
		||||
function findVariable(context, node) {
 | 
			
		||||
    const initialScope = eslintUtils.getInnermostScope(getScope(context, node), node);
 | 
			
		||||
    const variable = eslintUtils.findVariable(initialScope, node);
 | 
			
		||||
    if (variable) {
 | 
			
		||||
        return variable;
 | 
			
		||||
    }
 | 
			
		||||
    if (!node.name.startsWith('$')) {
 | 
			
		||||
        return variable;
 | 
			
		||||
    }
 | 
			
		||||
    return eslintUtils.findVariable(initialScope, node.name.slice(1));
 | 
			
		||||
}
 | 
			
		||||
exports.findVariable = findVariable;
 | 
			
		||||
function* iterateIdentifiers(node) {
 | 
			
		||||
    const buffer = [node];
 | 
			
		||||
    let pattern;
 | 
			
		||||
    while ((pattern = buffer.shift())) {
 | 
			
		||||
        if (pattern.type === 'Identifier') {
 | 
			
		||||
            yield pattern;
 | 
			
		||||
        }
 | 
			
		||||
        else if (pattern.type === 'ArrayPattern') {
 | 
			
		||||
            for (const element of pattern.elements) {
 | 
			
		||||
                if (element) {
 | 
			
		||||
                    buffer.push(element);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        else if (pattern.type === 'ObjectPattern') {
 | 
			
		||||
            for (const property of pattern.properties) {
 | 
			
		||||
                if (property.type === 'Property') {
 | 
			
		||||
                    buffer.push(property.value);
 | 
			
		||||
                }
 | 
			
		||||
                else if (property.type === 'RestElement') {
 | 
			
		||||
                    buffer.push(property);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        else if (pattern.type === 'AssignmentPattern') {
 | 
			
		||||
            buffer.push(pattern.left);
 | 
			
		||||
        }
 | 
			
		||||
        else if (pattern.type === 'RestElement') {
 | 
			
		||||
            buffer.push(pattern.argument);
 | 
			
		||||
        }
 | 
			
		||||
        else if (pattern.type === 'MemberExpression') {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
exports.iterateIdentifiers = iterateIdentifiers;
 | 
			
		||||
function getScope(context, currentNode) {
 | 
			
		||||
    const scopeManager = (0, compat_1.getSourceCode)(context).scopeManager;
 | 
			
		||||
    let node = currentNode;
 | 
			
		||||
    for (; node; node = node.parent || null) {
 | 
			
		||||
        const scope = scopeManager.acquire(node, false);
 | 
			
		||||
        if (scope) {
 | 
			
		||||
            if (scope.type === 'function-expression-name') {
 | 
			
		||||
                return scope.childScopes[0];
 | 
			
		||||
            }
 | 
			
		||||
            return scope;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return scopeManager.scopes[0];
 | 
			
		||||
}
 | 
			
		||||
exports.getScope = getScope;
 | 
			
		||||
function getParent(node) {
 | 
			
		||||
    return node.parent || null;
 | 
			
		||||
}
 | 
			
		||||
exports.getParent = getParent;
 | 
			
		||||
function getAttributeValueQuoteAndRange(attr, sourceCode) {
 | 
			
		||||
    const valueTokens = getAttributeValueRangeTokens(attr, sourceCode);
 | 
			
		||||
    if (valueTokens == null) {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    const { firstToken: valueFirstToken, lastToken: valueLastToken } = valueTokens;
 | 
			
		||||
    const eqToken = sourceCode.getTokenAfter(attr.key);
 | 
			
		||||
    if (!eqToken || eqToken.value !== '=' || valueFirstToken.range[0] < eqToken.range[1]) {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    const beforeTokens = sourceCode.getTokensBetween(eqToken, valueFirstToken);
 | 
			
		||||
    if (beforeTokens.length === 0) {
 | 
			
		||||
        return {
 | 
			
		||||
            quote: 'unquoted',
 | 
			
		||||
            range: [valueFirstToken.range[0], valueLastToken.range[1]],
 | 
			
		||||
            firstToken: valueFirstToken,
 | 
			
		||||
            lastToken: valueLastToken
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
    else if (beforeTokens.length > 1 ||
 | 
			
		||||
        (beforeTokens[0].value !== '"' && beforeTokens[0].value !== "'")) {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    const beforeToken = beforeTokens[0];
 | 
			
		||||
    const afterToken = sourceCode.getTokenAfter(valueLastToken);
 | 
			
		||||
    if (!afterToken || afterToken.value !== beforeToken.value) {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    return {
 | 
			
		||||
        quote: beforeToken.value === '"' ? 'double' : 'single',
 | 
			
		||||
        range: [beforeToken.range[0], afterToken.range[1]],
 | 
			
		||||
        firstToken: beforeToken,
 | 
			
		||||
        lastToken: afterToken
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
exports.getAttributeValueQuoteAndRange = getAttributeValueQuoteAndRange;
 | 
			
		||||
function getMustacheTokens(node, sourceCode) {
 | 
			
		||||
    if (node.type === 'SvelteMustacheTag' ||
 | 
			
		||||
        node.type === 'SvelteShorthandAttribute' ||
 | 
			
		||||
        node.type === 'SvelteSpreadAttribute' ||
 | 
			
		||||
        node.type === 'SvelteDebugTag') {
 | 
			
		||||
        const openToken = sourceCode.getFirstToken(node);
 | 
			
		||||
        const closeToken = sourceCode.getLastToken(node);
 | 
			
		||||
        return {
 | 
			
		||||
            openToken,
 | 
			
		||||
            closeToken
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
    if (node.expression == null) {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    if (node.key.range[0] <= node.expression.range[0] &&
 | 
			
		||||
        node.expression.range[1] <= node.key.range[1]) {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    let openToken = sourceCode.getTokenBefore(node.expression);
 | 
			
		||||
    let closeToken = sourceCode.getTokenAfter(node.expression);
 | 
			
		||||
    while (openToken &&
 | 
			
		||||
        closeToken &&
 | 
			
		||||
        eslintUtils.isOpeningParenToken(openToken) &&
 | 
			
		||||
        eslintUtils.isClosingParenToken(closeToken)) {
 | 
			
		||||
        openToken = sourceCode.getTokenBefore(openToken);
 | 
			
		||||
        closeToken = sourceCode.getTokenAfter(closeToken);
 | 
			
		||||
    }
 | 
			
		||||
    if (!openToken ||
 | 
			
		||||
        !closeToken ||
 | 
			
		||||
        eslintUtils.isNotOpeningBraceToken(openToken) ||
 | 
			
		||||
        eslintUtils.isNotClosingBraceToken(closeToken)) {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    return {
 | 
			
		||||
        openToken,
 | 
			
		||||
        closeToken
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
exports.getMustacheTokens = getMustacheTokens;
 | 
			
		||||
function getAttributeKeyText(node, context) {
 | 
			
		||||
    switch (node.type) {
 | 
			
		||||
        case 'SvelteAttribute':
 | 
			
		||||
        case 'SvelteShorthandAttribute':
 | 
			
		||||
            return node.key.name;
 | 
			
		||||
        case 'SvelteStyleDirective':
 | 
			
		||||
            return `style:${node.key.name.name}`;
 | 
			
		||||
        case 'SvelteSpecialDirective':
 | 
			
		||||
            return node.kind;
 | 
			
		||||
        case 'SvelteDirective': {
 | 
			
		||||
            const dir = getDirectiveName(node);
 | 
			
		||||
            return `${dir}:${getSimpleNameFromNode(node.key.name, context)}${node.key.modifiers.length ? `|${node.key.modifiers.join('|')}` : ''}`;
 | 
			
		||||
        }
 | 
			
		||||
        default:
 | 
			
		||||
            throw new Error(`Unknown node type: ${node.type}`);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
exports.getAttributeKeyText = getAttributeKeyText;
 | 
			
		||||
function getDirectiveName(node) {
 | 
			
		||||
    switch (node.kind) {
 | 
			
		||||
        case 'Action':
 | 
			
		||||
            return 'use';
 | 
			
		||||
        case 'Animation':
 | 
			
		||||
            return 'animate';
 | 
			
		||||
        case 'Binding':
 | 
			
		||||
            return 'bind';
 | 
			
		||||
        case 'Class':
 | 
			
		||||
            return 'class';
 | 
			
		||||
        case 'EventHandler':
 | 
			
		||||
            return 'on';
 | 
			
		||||
        case 'Let':
 | 
			
		||||
            return 'let';
 | 
			
		||||
        case 'Transition':
 | 
			
		||||
            return node.intro && node.outro ? 'transition' : node.intro ? 'in' : 'out';
 | 
			
		||||
        case 'Ref':
 | 
			
		||||
            return 'ref';
 | 
			
		||||
        default:
 | 
			
		||||
            throw new Error('Unknown directive kind');
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
exports.getDirectiveName = getDirectiveName;
 | 
			
		||||
function getAttributeValueRangeTokens(attr, sourceCode) {
 | 
			
		||||
    if (attr.type === 'SvelteAttribute' || attr.type === 'SvelteStyleDirective') {
 | 
			
		||||
        if (!attr.value.length) {
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
        const first = attr.value[0];
 | 
			
		||||
        const last = attr.value[attr.value.length - 1];
 | 
			
		||||
        return {
 | 
			
		||||
            firstToken: sourceCode.getFirstToken(first),
 | 
			
		||||
            lastToken: sourceCode.getLastToken(last)
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
    const tokens = getMustacheTokens(attr, sourceCode);
 | 
			
		||||
    if (!tokens) {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    return {
 | 
			
		||||
        firstToken: tokens.openToken,
 | 
			
		||||
        lastToken: tokens.closeToken
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
function getNodeName(node) {
 | 
			
		||||
    return getSimpleNameFromNode(node.name);
 | 
			
		||||
}
 | 
			
		||||
exports.getNodeName = getNodeName;
 | 
			
		||||
function isVoidHtmlElement(node) {
 | 
			
		||||
    return void_elements_1.default.includes(getNodeName(node));
 | 
			
		||||
}
 | 
			
		||||
exports.isVoidHtmlElement = isVoidHtmlElement;
 | 
			
		||||
function isExpressionIdentifier(node) {
 | 
			
		||||
    const parent = node.parent;
 | 
			
		||||
    if (!parent) {
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
    if (parent.type === 'MemberExpression') {
 | 
			
		||||
        return !parent.computed || parent.property !== node;
 | 
			
		||||
    }
 | 
			
		||||
    if (parent.type === 'Property' ||
 | 
			
		||||
        parent.type === 'MethodDefinition' ||
 | 
			
		||||
        parent.type === 'PropertyDefinition') {
 | 
			
		||||
        return !parent.computed || parent.key !== node;
 | 
			
		||||
    }
 | 
			
		||||
    if (parent.type === 'FunctionDeclaration' ||
 | 
			
		||||
        parent.type === 'FunctionExpression' ||
 | 
			
		||||
        parent.type === 'ClassDeclaration' ||
 | 
			
		||||
        parent.type === 'ClassExpression') {
 | 
			
		||||
        return parent.id !== node;
 | 
			
		||||
    }
 | 
			
		||||
    if (parent.type === 'LabeledStatement' ||
 | 
			
		||||
        parent.type === 'BreakStatement' ||
 | 
			
		||||
        parent.type === 'ContinueStatement') {
 | 
			
		||||
        return parent.label !== node;
 | 
			
		||||
    }
 | 
			
		||||
    if (parent.type === 'MetaProperty') {
 | 
			
		||||
        return parent.property !== node;
 | 
			
		||||
    }
 | 
			
		||||
    if (parent.type === 'ImportSpecifier') {
 | 
			
		||||
        return parent.imported !== node;
 | 
			
		||||
    }
 | 
			
		||||
    if (parent.type === 'ExportSpecifier') {
 | 
			
		||||
        return parent.exported !== node;
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
exports.isExpressionIdentifier = isExpressionIdentifier;
 | 
			
		||||
function getSimpleNameFromNode(node, context) {
 | 
			
		||||
    if (node.type === 'Identifier' || node.type === 'SvelteName') {
 | 
			
		||||
        return node.name;
 | 
			
		||||
    }
 | 
			
		||||
    if (node.type === 'SvelteMemberExpressionName' ||
 | 
			
		||||
        (node.type === 'MemberExpression' && !node.computed)) {
 | 
			
		||||
        return `${getSimpleNameFromNode(node.object, context)}.${getSimpleNameFromNode(node.property, context)}`;
 | 
			
		||||
    }
 | 
			
		||||
    if (!context) {
 | 
			
		||||
        throw new Error('Rule context is required');
 | 
			
		||||
    }
 | 
			
		||||
    return (0, compat_1.getSourceCode)(context).getText(node);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										4
									
								
								node_modules/eslint-plugin-svelte/lib/utils/cache.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								node_modules/eslint-plugin-svelte/lib/utils/cache.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
export declare function createCache<T>(): {
 | 
			
		||||
    get: (key: string) => T | null;
 | 
			
		||||
    set: (key: string, value: T) => void;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										32
									
								
								node_modules/eslint-plugin-svelte/lib/utils/cache.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								node_modules/eslint-plugin-svelte/lib/utils/cache.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.createCache = void 0;
 | 
			
		||||
const SKIP_TIME = 5000;
 | 
			
		||||
function createCache() {
 | 
			
		||||
    const map = new Map();
 | 
			
		||||
    function get(key) {
 | 
			
		||||
        const entry = map.get(key);
 | 
			
		||||
        const now = Date.now();
 | 
			
		||||
        if (entry) {
 | 
			
		||||
            if (entry.expire > now) {
 | 
			
		||||
                entry.expire = now + SKIP_TIME;
 | 
			
		||||
                return entry.value;
 | 
			
		||||
            }
 | 
			
		||||
            map.delete(key);
 | 
			
		||||
        }
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    function set(key, value) {
 | 
			
		||||
        const entry = map.get(key);
 | 
			
		||||
        const expire = Date.now() + SKIP_TIME;
 | 
			
		||||
        if (entry) {
 | 
			
		||||
            entry.value = value;
 | 
			
		||||
            entry.expire = expire;
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            map.set(key, { value, expire });
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return { get, set };
 | 
			
		||||
}
 | 
			
		||||
exports.createCache = createCache;
 | 
			
		||||
							
								
								
									
										5
									
								
								node_modules/eslint-plugin-svelte/lib/utils/compat.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								node_modules/eslint-plugin-svelte/lib/utils/compat.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
import type { RuleContext, SourceCode } from '../types';
 | 
			
		||||
export declare function getSourceCode(context: RuleContext): SourceCode;
 | 
			
		||||
export declare function getFilename(context: RuleContext): string;
 | 
			
		||||
export declare function getPhysicalFilename(context: RuleContext): string;
 | 
			
		||||
export declare function getCwd(context: RuleContext): string;
 | 
			
		||||
							
								
								
									
										20
									
								
								node_modules/eslint-plugin-svelte/lib/utils/compat.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								node_modules/eslint-plugin-svelte/lib/utils/compat.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.getCwd = exports.getPhysicalFilename = exports.getFilename = exports.getSourceCode = void 0;
 | 
			
		||||
const eslint_compat_utils_1 = require("eslint-compat-utils");
 | 
			
		||||
function getSourceCode(context) {
 | 
			
		||||
    return (0, eslint_compat_utils_1.getSourceCode)(context);
 | 
			
		||||
}
 | 
			
		||||
exports.getSourceCode = getSourceCode;
 | 
			
		||||
function getFilename(context) {
 | 
			
		||||
    return (0, eslint_compat_utils_1.getFilename)(context);
 | 
			
		||||
}
 | 
			
		||||
exports.getFilename = getFilename;
 | 
			
		||||
function getPhysicalFilename(context) {
 | 
			
		||||
    return (0, eslint_compat_utils_1.getPhysicalFilename)(context);
 | 
			
		||||
}
 | 
			
		||||
exports.getPhysicalFilename = getPhysicalFilename;
 | 
			
		||||
function getCwd(context) {
 | 
			
		||||
    return (0, eslint_compat_utils_1.getCwd)(context);
 | 
			
		||||
}
 | 
			
		||||
exports.getCwd = getCwd;
 | 
			
		||||
							
								
								
									
										3
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/index.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/index.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
export * from './style-attribute';
 | 
			
		||||
export * from './resource';
 | 
			
		||||
export * from './utils';
 | 
			
		||||
							
								
								
									
										19
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
			
		||||
    if (k2 === undefined) k2 = k;
 | 
			
		||||
    var desc = Object.getOwnPropertyDescriptor(m, k);
 | 
			
		||||
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
 | 
			
		||||
      desc = { enumerable: true, get: function() { return m[k]; } };
 | 
			
		||||
    }
 | 
			
		||||
    Object.defineProperty(o, k2, desc);
 | 
			
		||||
}) : (function(o, m, k, k2) {
 | 
			
		||||
    if (k2 === undefined) k2 = k;
 | 
			
		||||
    o[k2] = m[k];
 | 
			
		||||
}));
 | 
			
		||||
var __exportStar = (this && this.__exportStar) || function(m, exports) {
 | 
			
		||||
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
 | 
			
		||||
};
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
__exportStar(require("./style-attribute"), exports);
 | 
			
		||||
__exportStar(require("./resource"), exports);
 | 
			
		||||
__exportStar(require("./utils"), exports);
 | 
			
		||||
							
								
								
									
										1
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/resource.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/resource.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
export declare const SHORTHAND_PROPERTIES: Map<string, string[]>;
 | 
			
		||||
							
								
								
									
										156
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/resource.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										156
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/resource.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,156 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.SHORTHAND_PROPERTIES = void 0;
 | 
			
		||||
exports.SHORTHAND_PROPERTIES = new Map([
 | 
			
		||||
    ['margin', ['margin-top', 'margin-bottom', 'margin-left', 'margin-right']],
 | 
			
		||||
    ['padding', ['padding-top', 'padding-bottom', 'padding-left', 'padding-right']],
 | 
			
		||||
    [
 | 
			
		||||
        'background',
 | 
			
		||||
        [
 | 
			
		||||
            'background-image',
 | 
			
		||||
            'background-size',
 | 
			
		||||
            'background-position',
 | 
			
		||||
            'background-repeat',
 | 
			
		||||
            'background-origin',
 | 
			
		||||
            'background-clip',
 | 
			
		||||
            'background-attachment',
 | 
			
		||||
            'background-color'
 | 
			
		||||
        ]
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
        'font',
 | 
			
		||||
        [
 | 
			
		||||
            'font-style',
 | 
			
		||||
            'font-variant',
 | 
			
		||||
            'font-weight',
 | 
			
		||||
            'font-stretch',
 | 
			
		||||
            'font-size',
 | 
			
		||||
            'font-family',
 | 
			
		||||
            'line-height'
 | 
			
		||||
        ]
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
        'border',
 | 
			
		||||
        [
 | 
			
		||||
            'border-top-width',
 | 
			
		||||
            'border-bottom-width',
 | 
			
		||||
            'border-left-width',
 | 
			
		||||
            'border-right-width',
 | 
			
		||||
            'border-top-style',
 | 
			
		||||
            'border-bottom-style',
 | 
			
		||||
            'border-left-style',
 | 
			
		||||
            'border-right-style',
 | 
			
		||||
            'border-top-color',
 | 
			
		||||
            'border-bottom-color',
 | 
			
		||||
            'border-left-color',
 | 
			
		||||
            'border-right-color'
 | 
			
		||||
        ]
 | 
			
		||||
    ],
 | 
			
		||||
    ['border-top', ['border-top-width', 'border-top-style', 'border-top-color']],
 | 
			
		||||
    ['border-bottom', ['border-bottom-width', 'border-bottom-style', 'border-bottom-color']],
 | 
			
		||||
    ['border-left', ['border-left-width', 'border-left-style', 'border-left-color']],
 | 
			
		||||
    ['border-right', ['border-right-width', 'border-right-style', 'border-right-color']],
 | 
			
		||||
    [
 | 
			
		||||
        'border-width',
 | 
			
		||||
        ['border-top-width', 'border-bottom-width', 'border-left-width', 'border-right-width']
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
        'border-style',
 | 
			
		||||
        ['border-top-style', 'border-bottom-style', 'border-left-style', 'border-right-style']
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
        'border-color',
 | 
			
		||||
        ['border-top-color', 'border-bottom-color', 'border-left-color', 'border-right-color']
 | 
			
		||||
    ],
 | 
			
		||||
    ['list-style', ['list-style-type', 'list-style-position', 'list-style-image']],
 | 
			
		||||
    [
 | 
			
		||||
        'border-radius',
 | 
			
		||||
        [
 | 
			
		||||
            'border-top-right-radius',
 | 
			
		||||
            'border-top-left-radius',
 | 
			
		||||
            'border-bottom-right-radius',
 | 
			
		||||
            'border-bottom-left-radius'
 | 
			
		||||
        ]
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
        'transition',
 | 
			
		||||
        ['transition-delay', 'transition-duration', 'transition-property', 'transition-timing-function']
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
        'animation',
 | 
			
		||||
        [
 | 
			
		||||
            'animation-name',
 | 
			
		||||
            'animation-duration',
 | 
			
		||||
            'animation-timing-function',
 | 
			
		||||
            'animation-delay',
 | 
			
		||||
            'animation-iteration-count',
 | 
			
		||||
            'animation-direction',
 | 
			
		||||
            'animation-fill-mode',
 | 
			
		||||
            'animation-play-state'
 | 
			
		||||
        ]
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
        'border-block-end',
 | 
			
		||||
        ['border-block-end-width', 'border-block-end-style', 'border-block-end-color']
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
        'border-block-start',
 | 
			
		||||
        ['border-block-start-width', 'border-block-start-style', 'border-block-start-color']
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
        'border-image',
 | 
			
		||||
        [
 | 
			
		||||
            'border-image-source',
 | 
			
		||||
            'border-image-slice',
 | 
			
		||||
            'border-image-width',
 | 
			
		||||
            'border-image-outset',
 | 
			
		||||
            'border-image-repeat'
 | 
			
		||||
        ]
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
        'border-inline-end',
 | 
			
		||||
        ['border-inline-end-width', 'border-inline-end-style', 'border-inline-end-color']
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
        'border-inline-start',
 | 
			
		||||
        ['border-inline-start-width', 'border-inline-start-style', 'border-inline-start-color']
 | 
			
		||||
    ],
 | 
			
		||||
    ['column-rule', ['column-rule-width', 'column-rule-style', 'column-rule-color']],
 | 
			
		||||
    ['columns', ['column-width', 'column-count']],
 | 
			
		||||
    ['flex', ['flex-grow', 'flex-shrink', 'flex-basis']],
 | 
			
		||||
    ['flex-flow', ['flex-direction', 'flex-wrap']],
 | 
			
		||||
    [
 | 
			
		||||
        'grid',
 | 
			
		||||
        [
 | 
			
		||||
            'grid-template-rows',
 | 
			
		||||
            'grid-template-columns',
 | 
			
		||||
            'grid-template-areas',
 | 
			
		||||
            'grid-auto-rows',
 | 
			
		||||
            'grid-auto-columns',
 | 
			
		||||
            'grid-auto-flow',
 | 
			
		||||
            'grid-column-gap',
 | 
			
		||||
            'grid-row-gap'
 | 
			
		||||
        ]
 | 
			
		||||
    ],
 | 
			
		||||
    ['grid-area', ['grid-row-start', 'grid-column-start', 'grid-row-end', 'grid-column-end']],
 | 
			
		||||
    ['grid-column', ['grid-column-start', 'grid-column-end']],
 | 
			
		||||
    ['grid-gap', ['grid-row-gap', 'grid-column-gap']],
 | 
			
		||||
    ['grid-row', ['grid-row-start', 'grid-row-end']],
 | 
			
		||||
    ['grid-template', ['grid-template-columns', 'grid-template-rows', 'grid-template-areas']],
 | 
			
		||||
    ['outline', ['outline-color', 'outline-style', 'outline-width']],
 | 
			
		||||
    ['text-decoration', ['text-decoration-color', 'text-decoration-style', 'text-decoration-line']],
 | 
			
		||||
    ['text-emphasis', ['text-emphasis-style', 'text-emphasis-color']],
 | 
			
		||||
    [
 | 
			
		||||
        'mask',
 | 
			
		||||
        [
 | 
			
		||||
            'mask-image',
 | 
			
		||||
            'mask-mode',
 | 
			
		||||
            'mask-position',
 | 
			
		||||
            'mask-size',
 | 
			
		||||
            'mask-repeat',
 | 
			
		||||
            'mask-origin',
 | 
			
		||||
            'mask-clip',
 | 
			
		||||
            'mask-composite'
 | 
			
		||||
        ]
 | 
			
		||||
    ]
 | 
			
		||||
]);
 | 
			
		||||
							
								
								
									
										43
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/style-attribute.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/style-attribute.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
			
		||||
import type { AST } from 'svelte-eslint-parser';
 | 
			
		||||
import type { RuleContext } from '../../types';
 | 
			
		||||
import type { TSESTree } from '@typescript-eslint/types';
 | 
			
		||||
export declare function parseStyleAttributeValue(node: AST.SvelteAttribute, context: RuleContext): SvelteStyleRoot<AST.SvelteMustacheTagText> | null;
 | 
			
		||||
export type SvelteStyleInterpolation = AST.SvelteMustacheTagText | TSESTree.Expression;
 | 
			
		||||
export interface SvelteStyleNode<E extends SvelteStyleInterpolation> {
 | 
			
		||||
    nodes?: SvelteStyleChildNode<E>[];
 | 
			
		||||
    range: AST.Range;
 | 
			
		||||
    loc: AST.SourceLocation;
 | 
			
		||||
}
 | 
			
		||||
export interface SvelteStyleRoot<E extends SvelteStyleInterpolation = SvelteStyleInterpolation> {
 | 
			
		||||
    type: 'root';
 | 
			
		||||
    nodes: (SvelteStyleChildNode<E> | SvelteStyleInline<E>)[];
 | 
			
		||||
}
 | 
			
		||||
export interface SvelteStyleInline<E extends SvelteStyleInterpolation = SvelteStyleInterpolation> extends SvelteStyleNode<E> {
 | 
			
		||||
    type: 'inline';
 | 
			
		||||
    node: E;
 | 
			
		||||
    getInlineStyle(node: TSESTree.Expression): SvelteStyleRoot<TSESTree.Expression> | null;
 | 
			
		||||
    getAllInlineStyles(): Map<TSESTree.Expression, SvelteStyleRoot<TSESTree.Expression>>;
 | 
			
		||||
}
 | 
			
		||||
export interface SvelteStyleDeclaration<E extends SvelteStyleInterpolation = SvelteStyleInterpolation> extends SvelteStyleNode<E> {
 | 
			
		||||
    type: 'decl';
 | 
			
		||||
    prop: {
 | 
			
		||||
        name: string;
 | 
			
		||||
        range: AST.Range;
 | 
			
		||||
        loc: AST.SourceLocation;
 | 
			
		||||
        interpolations: E[];
 | 
			
		||||
    };
 | 
			
		||||
    value: {
 | 
			
		||||
        value: string;
 | 
			
		||||
        range: AST.Range;
 | 
			
		||||
        loc: AST.SourceLocation;
 | 
			
		||||
        interpolations: E[];
 | 
			
		||||
    };
 | 
			
		||||
    important: boolean;
 | 
			
		||||
    addInterpolation: (tagOrExpr: E) => void;
 | 
			
		||||
    unknownInterpolations: E[];
 | 
			
		||||
}
 | 
			
		||||
export interface SvelteStyleComment extends SvelteStyleNode<never> {
 | 
			
		||||
    type: 'comment';
 | 
			
		||||
    addInterpolation: (tagOrExpr: SvelteStyleInterpolation) => void;
 | 
			
		||||
}
 | 
			
		||||
export type SvelteStyleChildNode<E extends SvelteStyleInterpolation = SvelteStyleInterpolation> = SvelteStyleDeclaration<E> | SvelteStyleComment;
 | 
			
		||||
							
								
								
									
										261
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/style-attribute.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										261
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/style-attribute.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,261 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
			
		||||
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
			
		||||
};
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.parseStyleAttributeValue = void 0;
 | 
			
		||||
const template_safe_parser_1 = __importDefault(require("./template-safe-parser"));
 | 
			
		||||
const postcss_1 = require("postcss");
 | 
			
		||||
const compat_1 = require("../compat");
 | 
			
		||||
function safeParseCss(css) {
 | 
			
		||||
    try {
 | 
			
		||||
        const input = new postcss_1.Input(css);
 | 
			
		||||
        const parser = new template_safe_parser_1.default(input);
 | 
			
		||||
        parser.parse();
 | 
			
		||||
        return parser.root;
 | 
			
		||||
    }
 | 
			
		||||
    catch {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
const cache = new WeakMap();
 | 
			
		||||
function parseStyleAttributeValue(node, context) {
 | 
			
		||||
    if (cache.has(node)) {
 | 
			
		||||
        return cache.get(node) || null;
 | 
			
		||||
    }
 | 
			
		||||
    cache.set(node, null);
 | 
			
		||||
    if (!node.value?.length) {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    const startOffset = node.value[0].range[0];
 | 
			
		||||
    const sourceCode = (0, compat_1.getSourceCode)(context);
 | 
			
		||||
    const cssCode = node.value.map((value) => sourceCode.getText(value)).join('');
 | 
			
		||||
    const root = safeParseCss(cssCode);
 | 
			
		||||
    if (!root) {
 | 
			
		||||
        return root;
 | 
			
		||||
    }
 | 
			
		||||
    const ctx = {
 | 
			
		||||
        startOffset,
 | 
			
		||||
        value: node.value,
 | 
			
		||||
        context
 | 
			
		||||
    };
 | 
			
		||||
    const mustacheTags = node.value.filter((v) => v.type === 'SvelteMustacheTag');
 | 
			
		||||
    const converted = convertRoot(root, mustacheTags, (e) => e.range, ctx);
 | 
			
		||||
    cache.set(node, converted);
 | 
			
		||||
    return converted;
 | 
			
		||||
}
 | 
			
		||||
exports.parseStyleAttributeValue = parseStyleAttributeValue;
 | 
			
		||||
class IgnoreError extends Error {
 | 
			
		||||
}
 | 
			
		||||
function isStringLiteral(node) {
 | 
			
		||||
    return node.type === 'Literal' && typeof node.value === 'string';
 | 
			
		||||
}
 | 
			
		||||
function convertRoot(root, interpolations, getRange, ctx) {
 | 
			
		||||
    const nodes = [];
 | 
			
		||||
    for (const child of root.nodes) {
 | 
			
		||||
        const converted = convertChild(child, ctx);
 | 
			
		||||
        if (!converted) {
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
        while (interpolations[0]) {
 | 
			
		||||
            const tagOrExpr = interpolations[0];
 | 
			
		||||
            if (tagOrExpr.range[1] <= converted.range[0]) {
 | 
			
		||||
                nodes.push(buildSvelteStyleInline(tagOrExpr));
 | 
			
		||||
                interpolations.shift();
 | 
			
		||||
                continue;
 | 
			
		||||
            }
 | 
			
		||||
            if (tagOrExpr.range[0] < converted.range[1]) {
 | 
			
		||||
                try {
 | 
			
		||||
                    converted.addInterpolation(tagOrExpr);
 | 
			
		||||
                }
 | 
			
		||||
                catch (e) {
 | 
			
		||||
                    if (e instanceof IgnoreError)
 | 
			
		||||
                        return null;
 | 
			
		||||
                    throw e;
 | 
			
		||||
                }
 | 
			
		||||
                interpolations.shift();
 | 
			
		||||
                continue;
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
        nodes.push(converted);
 | 
			
		||||
    }
 | 
			
		||||
    nodes.push(...interpolations.map(buildSvelteStyleInline));
 | 
			
		||||
    return {
 | 
			
		||||
        type: 'root',
 | 
			
		||||
        nodes
 | 
			
		||||
    };
 | 
			
		||||
    function buildSvelteStyleInline(tagOrExpr) {
 | 
			
		||||
        const inlineStyles = new Map();
 | 
			
		||||
        let range = null;
 | 
			
		||||
        function getRangeForInline() {
 | 
			
		||||
            if (range) {
 | 
			
		||||
                return range;
 | 
			
		||||
            }
 | 
			
		||||
            return range ?? (range = getRange(tagOrExpr));
 | 
			
		||||
        }
 | 
			
		||||
        return {
 | 
			
		||||
            type: 'inline',
 | 
			
		||||
            node: tagOrExpr,
 | 
			
		||||
            get range() {
 | 
			
		||||
                return getRangeForInline();
 | 
			
		||||
            },
 | 
			
		||||
            get loc() {
 | 
			
		||||
                return toLoc(getRangeForInline(), ctx);
 | 
			
		||||
            },
 | 
			
		||||
            getInlineStyle(node) {
 | 
			
		||||
                return getInlineStyle(node);
 | 
			
		||||
            },
 | 
			
		||||
            getAllInlineStyles() {
 | 
			
		||||
                const allInlineStyles = new Map();
 | 
			
		||||
                for (const node of extractExpressions(tagOrExpr)) {
 | 
			
		||||
                    const style = getInlineStyle(node);
 | 
			
		||||
                    if (style) {
 | 
			
		||||
                        allInlineStyles.set(node, style);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                return allInlineStyles;
 | 
			
		||||
            }
 | 
			
		||||
        };
 | 
			
		||||
        function getInlineStyle(node) {
 | 
			
		||||
            if (node.type === 'SvelteMustacheTag') {
 | 
			
		||||
                return getInlineStyle(node.expression);
 | 
			
		||||
            }
 | 
			
		||||
            if (inlineStyles.has(node)) {
 | 
			
		||||
                return inlineStyles.get(node) || null;
 | 
			
		||||
            }
 | 
			
		||||
            const sourceCode = (0, compat_1.getSourceCode)(ctx.context);
 | 
			
		||||
            inlineStyles.set(node, null);
 | 
			
		||||
            let converted;
 | 
			
		||||
            if (isStringLiteral(node)) {
 | 
			
		||||
                const root = safeParseCss(sourceCode.getText(node).slice(1, -1));
 | 
			
		||||
                if (!root) {
 | 
			
		||||
                    return null;
 | 
			
		||||
                }
 | 
			
		||||
                converted = convertRoot(root, [], () => [0, 0], {
 | 
			
		||||
                    ...ctx,
 | 
			
		||||
                    startOffset: node.range[0] + 1
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
            else if (node.type === 'TemplateLiteral') {
 | 
			
		||||
                const root = safeParseCss(sourceCode.getText(node).slice(1, -1));
 | 
			
		||||
                if (!root) {
 | 
			
		||||
                    return null;
 | 
			
		||||
                }
 | 
			
		||||
                converted = convertRoot(root, [...node.expressions], (e) => {
 | 
			
		||||
                    const index = node.expressions.indexOf(e);
 | 
			
		||||
                    return [node.quasis[index].range[1] - 2, node.quasis[index + 1].range[0] + 1];
 | 
			
		||||
                }, {
 | 
			
		||||
                    ...ctx,
 | 
			
		||||
                    startOffset: node.range[0] + 1
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            inlineStyles.set(node, converted);
 | 
			
		||||
            return converted;
 | 
			
		||||
        }
 | 
			
		||||
        function* extractExpressions(node) {
 | 
			
		||||
            if (node.type === 'SvelteMustacheTag') {
 | 
			
		||||
                yield* extractExpressions(node.expression);
 | 
			
		||||
            }
 | 
			
		||||
            else if (isStringLiteral(node)) {
 | 
			
		||||
                yield node;
 | 
			
		||||
            }
 | 
			
		||||
            else if (node.type === 'TemplateLiteral') {
 | 
			
		||||
                yield node;
 | 
			
		||||
            }
 | 
			
		||||
            else if (node.type === 'ConditionalExpression') {
 | 
			
		||||
                yield* extractExpressions(node.consequent);
 | 
			
		||||
                yield* extractExpressions(node.alternate);
 | 
			
		||||
            }
 | 
			
		||||
            else if (node.type === 'LogicalExpression') {
 | 
			
		||||
                yield* extractExpressions(node.left);
 | 
			
		||||
                yield* extractExpressions(node.right);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
function convertChild(node, ctx) {
 | 
			
		||||
    const range = convertRange(node, ctx);
 | 
			
		||||
    if (node.type === 'decl') {
 | 
			
		||||
        const propRange = [range[0], range[0] + node.prop.length];
 | 
			
		||||
        const declValueStartIndex = propRange[1] + (node.raws.between || '').length;
 | 
			
		||||
        const valueRange = [
 | 
			
		||||
            declValueStartIndex,
 | 
			
		||||
            declValueStartIndex + (node.raws.value?.value || node.value).length
 | 
			
		||||
        ];
 | 
			
		||||
        const prop = {
 | 
			
		||||
            name: node.prop,
 | 
			
		||||
            range: propRange,
 | 
			
		||||
            get loc() {
 | 
			
		||||
                return toLoc(propRange, ctx);
 | 
			
		||||
            },
 | 
			
		||||
            interpolations: []
 | 
			
		||||
        };
 | 
			
		||||
        const value = {
 | 
			
		||||
            value: node.value,
 | 
			
		||||
            range: valueRange,
 | 
			
		||||
            get loc() {
 | 
			
		||||
                return toLoc(valueRange, ctx);
 | 
			
		||||
            },
 | 
			
		||||
            interpolations: []
 | 
			
		||||
        };
 | 
			
		||||
        const unknownInterpolations = [];
 | 
			
		||||
        return {
 | 
			
		||||
            type: 'decl',
 | 
			
		||||
            prop,
 | 
			
		||||
            value,
 | 
			
		||||
            important: node.important,
 | 
			
		||||
            range,
 | 
			
		||||
            get loc() {
 | 
			
		||||
                return toLoc(range, ctx);
 | 
			
		||||
            },
 | 
			
		||||
            addInterpolation(tagOrExpr) {
 | 
			
		||||
                const index = tagOrExpr.range[0];
 | 
			
		||||
                if (prop.range[0] <= index && index < prop.range[1]) {
 | 
			
		||||
                    prop.interpolations.push(tagOrExpr);
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                if (value.range[0] <= index && index < value.range[1]) {
 | 
			
		||||
                    value.interpolations.push(tagOrExpr);
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                unknownInterpolations.push(tagOrExpr);
 | 
			
		||||
            },
 | 
			
		||||
            unknownInterpolations
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
    if (node.type === 'comment') {
 | 
			
		||||
        return {
 | 
			
		||||
            type: 'comment',
 | 
			
		||||
            range,
 | 
			
		||||
            get loc() {
 | 
			
		||||
                return toLoc(range, ctx);
 | 
			
		||||
            },
 | 
			
		||||
            addInterpolation: () => {
 | 
			
		||||
                throw new IgnoreError();
 | 
			
		||||
            }
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
    if (node.type === 'atrule') {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    if (node.type === 'rule') {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    return null;
 | 
			
		||||
}
 | 
			
		||||
function convertRange(node, ctx) {
 | 
			
		||||
    return [
 | 
			
		||||
        ctx.startOffset + node.source.start.offset,
 | 
			
		||||
        ctx.startOffset + node.source.end.offset + 1
 | 
			
		||||
    ];
 | 
			
		||||
}
 | 
			
		||||
function toLoc(range, ctx) {
 | 
			
		||||
    return {
 | 
			
		||||
        start: (0, compat_1.getSourceCode)(ctx.context).getLocFromIndex(range[0]),
 | 
			
		||||
        end: (0, compat_1.getSourceCode)(ctx.context).getLocFromIndex(range[1])
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										5
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/template-safe-parser.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/template-safe-parser.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
import SafeParser from 'postcss-safe-parser/lib/safe-parser';
 | 
			
		||||
declare class TemplateSafeParser extends SafeParser {
 | 
			
		||||
    protected createTokenizer(): void;
 | 
			
		||||
}
 | 
			
		||||
export default TemplateSafeParser;
 | 
			
		||||
							
								
								
									
										13
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/template-safe-parser.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/template-safe-parser.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
			
		||||
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
			
		||||
};
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
const safe_parser_1 = __importDefault(require("postcss-safe-parser/lib/safe-parser"));
 | 
			
		||||
const template_tokenize_1 = __importDefault(require("./template-tokenize"));
 | 
			
		||||
class TemplateSafeParser extends safe_parser_1.default {
 | 
			
		||||
    createTokenizer() {
 | 
			
		||||
        this.tokenizer = (0, template_tokenize_1.default)(this.input, { ignoreErrors: true });
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
exports.default = TemplateSafeParser;
 | 
			
		||||
							
								
								
									
										5
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/template-tokenize.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/template-tokenize.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
import type { Tokenizer } from 'postcss/lib/tokenize';
 | 
			
		||||
import tokenize from 'postcss/lib/tokenize';
 | 
			
		||||
type Tokenize = typeof tokenize;
 | 
			
		||||
declare function templateTokenize(...args: Parameters<Tokenize>): Tokenizer;
 | 
			
		||||
export default templateTokenize;
 | 
			
		||||
							
								
								
									
										39
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/template-tokenize.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/template-tokenize.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
			
		||||
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
			
		||||
};
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
const tokenize_1 = __importDefault(require("postcss/lib/tokenize"));
 | 
			
		||||
function templateTokenize(...args) {
 | 
			
		||||
    const tokenizer = (0, tokenize_1.default)(...args);
 | 
			
		||||
    function nextToken(...args) {
 | 
			
		||||
        const returned = [];
 | 
			
		||||
        let token, lastPos;
 | 
			
		||||
        let depth = 0;
 | 
			
		||||
        while ((token = tokenizer.nextToken(...args))) {
 | 
			
		||||
            if (token[0] !== 'word') {
 | 
			
		||||
                if (token[0] === '{') {
 | 
			
		||||
                    ++depth;
 | 
			
		||||
                }
 | 
			
		||||
                else if (token[0] === '}') {
 | 
			
		||||
                    --depth;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            if (depth || returned.length) {
 | 
			
		||||
                lastPos = token[3] || token[2] || lastPos;
 | 
			
		||||
                returned.push(token);
 | 
			
		||||
            }
 | 
			
		||||
            if (!depth) {
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        if (returned.length) {
 | 
			
		||||
            token = ['word', returned.map((token) => token[1]).join(''), returned[0][2], lastPos];
 | 
			
		||||
        }
 | 
			
		||||
        return token;
 | 
			
		||||
    }
 | 
			
		||||
    return Object.assign({}, tokenizer, {
 | 
			
		||||
        nextToken
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.default = templateTokenize;
 | 
			
		||||
							
								
								
									
										3
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/utils.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/utils.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
export declare function hasVendorPrefix(prop: string): boolean;
 | 
			
		||||
export declare function getVendorPrefix(prop: string): string;
 | 
			
		||||
export declare function stripVendorPrefix(prop: string): string;
 | 
			
		||||
							
								
								
									
										15
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/utils.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								node_modules/eslint-plugin-svelte/lib/utils/css-utils/utils.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.stripVendorPrefix = exports.getVendorPrefix = exports.hasVendorPrefix = void 0;
 | 
			
		||||
function hasVendorPrefix(prop) {
 | 
			
		||||
    return Boolean(getVendorPrefix(prop));
 | 
			
		||||
}
 | 
			
		||||
exports.hasVendorPrefix = hasVendorPrefix;
 | 
			
		||||
function getVendorPrefix(prop) {
 | 
			
		||||
    return /^-\w+-/u.exec(prop)?.[0] || '';
 | 
			
		||||
}
 | 
			
		||||
exports.getVendorPrefix = getVendorPrefix;
 | 
			
		||||
function stripVendorPrefix(prop) {
 | 
			
		||||
    return prop.slice(getVendorPrefix(prop).length);
 | 
			
		||||
}
 | 
			
		||||
exports.stripVendorPrefix = stripVendorPrefix;
 | 
			
		||||
							
								
								
									
										13
									
								
								node_modules/eslint-plugin-svelte/lib/utils/eslint-core.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								node_modules/eslint-plugin-svelte/lib/utils/eslint-core.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
import type { RuleListener, RuleContext, RuleModule } from '../types';
 | 
			
		||||
import type { TSESTree } from '@typescript-eslint/types';
 | 
			
		||||
import type { AST as SvAST } from 'svelte-eslint-parser';
 | 
			
		||||
export declare function defineWrapperListener(coreRule: RuleModule, context: RuleContext, proxyOptions: {
 | 
			
		||||
    createListenerProxy?: (listener: RuleListener) => RuleListener;
 | 
			
		||||
}): RuleListener;
 | 
			
		||||
export declare function getProxyNode(node: {
 | 
			
		||||
    type: string;
 | 
			
		||||
}, properties: any): any;
 | 
			
		||||
export declare function buildProxyListener(base: RuleListener, convertNode: (node: SvAST.SvelteNode | (TSESTree.Node & {
 | 
			
		||||
    parent: SvAST.SvelteNode | TSESTree.Node | null;
 | 
			
		||||
})) => any): RuleListener;
 | 
			
		||||
export declare function getCoreRule(ruleName: string): RuleModule;
 | 
			
		||||
							
								
								
									
										55
									
								
								node_modules/eslint-plugin-svelte/lib/utils/eslint-core.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								node_modules/eslint-plugin-svelte/lib/utils/eslint-core.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.getCoreRule = exports.buildProxyListener = exports.getProxyNode = exports.defineWrapperListener = void 0;
 | 
			
		||||
const eslint_1 = require("eslint");
 | 
			
		||||
function defineWrapperListener(coreRule, context, proxyOptions) {
 | 
			
		||||
    const listener = coreRule.create(context);
 | 
			
		||||
    const svelteListener = proxyOptions.createListenerProxy?.(listener) ?? listener;
 | 
			
		||||
    return svelteListener;
 | 
			
		||||
}
 | 
			
		||||
exports.defineWrapperListener = defineWrapperListener;
 | 
			
		||||
function getProxyNode(node, properties) {
 | 
			
		||||
    const cache = {};
 | 
			
		||||
    return new Proxy(node, {
 | 
			
		||||
        get(_t, key) {
 | 
			
		||||
            if (key in cache) {
 | 
			
		||||
                return cache[key];
 | 
			
		||||
            }
 | 
			
		||||
            if (key in properties) {
 | 
			
		||||
                return (cache[key] = properties[key]);
 | 
			
		||||
            }
 | 
			
		||||
            return node[key];
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.getProxyNode = getProxyNode;
 | 
			
		||||
function buildProxyListener(base, convertNode) {
 | 
			
		||||
    const listeners = {};
 | 
			
		||||
    for (const [key, listener] of Object.entries(base)) {
 | 
			
		||||
        listeners[key] = function (...args) {
 | 
			
		||||
            listener.call(this, ...args.map((arg) => {
 | 
			
		||||
                if (typeof arg === 'object' &&
 | 
			
		||||
                    'type' in arg &&
 | 
			
		||||
                    typeof arg.type === 'string' &&
 | 
			
		||||
                    'range' in arg) {
 | 
			
		||||
                    return convertNode(arg);
 | 
			
		||||
                }
 | 
			
		||||
                return arg;
 | 
			
		||||
            }));
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
    return listeners;
 | 
			
		||||
}
 | 
			
		||||
exports.buildProxyListener = buildProxyListener;
 | 
			
		||||
let ruleMap = null;
 | 
			
		||||
function getCoreRule(ruleName) {
 | 
			
		||||
    let map;
 | 
			
		||||
    if (ruleMap) {
 | 
			
		||||
        map = ruleMap;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        ruleMap = map = new eslint_1.Linter().getRules();
 | 
			
		||||
    }
 | 
			
		||||
    return map.get(ruleName);
 | 
			
		||||
}
 | 
			
		||||
exports.getCoreRule = getCoreRule;
 | 
			
		||||
							
								
								
									
										12
									
								
								node_modules/eslint-plugin-svelte/lib/utils/get-package-json.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								node_modules/eslint-plugin-svelte/lib/utils/get-package-json.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
type PackageJson = {
 | 
			
		||||
    name?: unknown;
 | 
			
		||||
    dependencies?: {
 | 
			
		||||
        [key in string]?: unknown;
 | 
			
		||||
    };
 | 
			
		||||
    devDependencies?: {
 | 
			
		||||
        [key in string]?: unknown;
 | 
			
		||||
    };
 | 
			
		||||
    filePath: string;
 | 
			
		||||
};
 | 
			
		||||
export declare function getPackageJson(startPath?: string): PackageJson | null;
 | 
			
		||||
export {};
 | 
			
		||||
							
								
								
									
										55
									
								
								node_modules/eslint-plugin-svelte/lib/utils/get-package-json.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								node_modules/eslint-plugin-svelte/lib/utils/get-package-json.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
			
		||||
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
			
		||||
};
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.getPackageJson = void 0;
 | 
			
		||||
const fs_1 = __importDefault(require("fs"));
 | 
			
		||||
const path_1 = __importDefault(require("path"));
 | 
			
		||||
const cache_1 = require("./cache");
 | 
			
		||||
const isRunOnBrowser = !fs_1.default.readFileSync;
 | 
			
		||||
const cache = (0, cache_1.createCache)();
 | 
			
		||||
function readPackageJson(dir) {
 | 
			
		||||
    if (isRunOnBrowser)
 | 
			
		||||
        return null;
 | 
			
		||||
    const filePath = path_1.default.join(dir, 'package.json');
 | 
			
		||||
    try {
 | 
			
		||||
        const text = fs_1.default.readFileSync(filePath, 'utf8');
 | 
			
		||||
        const data = JSON.parse(text);
 | 
			
		||||
        if (typeof data === 'object' && data !== null) {
 | 
			
		||||
            data.filePath = filePath;
 | 
			
		||||
            return data;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    catch (_err) {
 | 
			
		||||
    }
 | 
			
		||||
    return null;
 | 
			
		||||
}
 | 
			
		||||
function getPackageJson(startPath = 'a.js') {
 | 
			
		||||
    if (isRunOnBrowser)
 | 
			
		||||
        return null;
 | 
			
		||||
    const startDir = path_1.default.dirname(path_1.default.resolve(startPath));
 | 
			
		||||
    let dir = startDir;
 | 
			
		||||
    let prevDir = '';
 | 
			
		||||
    let data = null;
 | 
			
		||||
    do {
 | 
			
		||||
        data = cache.get(dir);
 | 
			
		||||
        if (data) {
 | 
			
		||||
            if (dir !== startDir) {
 | 
			
		||||
                cache.set(startDir, data);
 | 
			
		||||
            }
 | 
			
		||||
            return data;
 | 
			
		||||
        }
 | 
			
		||||
        data = readPackageJson(dir);
 | 
			
		||||
        if (data) {
 | 
			
		||||
            cache.set(dir, data);
 | 
			
		||||
            cache.set(startDir, data);
 | 
			
		||||
            return data;
 | 
			
		||||
        }
 | 
			
		||||
        prevDir = dir;
 | 
			
		||||
        dir = path_1.default.resolve(dir, '..');
 | 
			
		||||
    } while (dir !== prevDir);
 | 
			
		||||
    cache.set(startDir, null);
 | 
			
		||||
    return null;
 | 
			
		||||
}
 | 
			
		||||
exports.getPackageJson = getPackageJson;
 | 
			
		||||
							
								
								
									
										2
									
								
								node_modules/eslint-plugin-svelte/lib/utils/index.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								node_modules/eslint-plugin-svelte/lib/utils/index.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
import type { RuleModule, PartialRuleModule } from '../types';
 | 
			
		||||
export declare function createRule(ruleName: string, rule: PartialRuleModule): RuleModule;
 | 
			
		||||
							
								
								
									
										18
									
								
								node_modules/eslint-plugin-svelte/lib/utils/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/eslint-plugin-svelte/lib/utils/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.createRule = void 0;
 | 
			
		||||
function createRule(ruleName, rule) {
 | 
			
		||||
    return {
 | 
			
		||||
        meta: {
 | 
			
		||||
            ...rule.meta,
 | 
			
		||||
            docs: {
 | 
			
		||||
                ...rule.meta.docs,
 | 
			
		||||
                url: `https://sveltejs.github.io/eslint-plugin-svelte/rules/${ruleName}/`,
 | 
			
		||||
                ruleId: `svelte/${ruleName}`,
 | 
			
		||||
                ruleName
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        create: rule.create
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
exports.createRule = createRule;
 | 
			
		||||
							
								
								
									
										12
									
								
								node_modules/eslint-plugin-svelte/lib/utils/lines-and-columns.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								node_modules/eslint-plugin-svelte/lib/utils/lines-and-columns.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
export declare class LinesAndColumns {
 | 
			
		||||
    private readonly lineStartIndices;
 | 
			
		||||
    constructor(code: string);
 | 
			
		||||
    getLocFromIndex(index: number): {
 | 
			
		||||
        line: number;
 | 
			
		||||
        column: number;
 | 
			
		||||
    };
 | 
			
		||||
    getIndexFromLoc(loc: {
 | 
			
		||||
        line: number;
 | 
			
		||||
        column: number;
 | 
			
		||||
    }): number;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										54
									
								
								node_modules/eslint-plugin-svelte/lib/utils/lines-and-columns.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								node_modules/eslint-plugin-svelte/lib/utils/lines-and-columns.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.LinesAndColumns = void 0;
 | 
			
		||||
class LinesAndColumns {
 | 
			
		||||
    constructor(code) {
 | 
			
		||||
        const len = code.length;
 | 
			
		||||
        const lineStartIndices = [0];
 | 
			
		||||
        for (let index = 0; index < len; index++) {
 | 
			
		||||
            const c = code[index];
 | 
			
		||||
            if (c === '\r') {
 | 
			
		||||
                const next = code[index + 1] || '';
 | 
			
		||||
                if (next === '\n') {
 | 
			
		||||
                    index++;
 | 
			
		||||
                }
 | 
			
		||||
                lineStartIndices.push(index + 1);
 | 
			
		||||
            }
 | 
			
		||||
            else if (c === '\n') {
 | 
			
		||||
                lineStartIndices.push(index + 1);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        this.lineStartIndices = lineStartIndices;
 | 
			
		||||
    }
 | 
			
		||||
    getLocFromIndex(index) {
 | 
			
		||||
        const lineNumber = sortedLastIndex(this.lineStartIndices, index);
 | 
			
		||||
        return {
 | 
			
		||||
            line: lineNumber,
 | 
			
		||||
            column: index - this.lineStartIndices[lineNumber - 1]
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
    getIndexFromLoc(loc) {
 | 
			
		||||
        const lineStartIndex = this.lineStartIndices[loc.line - 1];
 | 
			
		||||
        const positionIndex = lineStartIndex + loc.column;
 | 
			
		||||
        return positionIndex;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
exports.LinesAndColumns = LinesAndColumns;
 | 
			
		||||
function sortedLastIndex(array, value) {
 | 
			
		||||
    let lower = 0;
 | 
			
		||||
    let upper = array.length;
 | 
			
		||||
    while (lower < upper) {
 | 
			
		||||
        const mid = Math.floor(lower + (upper - lower) / 2);
 | 
			
		||||
        const target = array[mid];
 | 
			
		||||
        if (target < value) {
 | 
			
		||||
            lower = mid + 1;
 | 
			
		||||
        }
 | 
			
		||||
        else if (target > value) {
 | 
			
		||||
            upper = mid;
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            return mid + 1;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return upper;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										3
									
								
								node_modules/eslint-plugin-svelte/lib/utils/load-module.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								node_modules/eslint-plugin-svelte/lib/utils/load-module.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
import type { RuleContext } from '../types';
 | 
			
		||||
export declare function loadModule<R>(context: RuleContext, name: string): R | null;
 | 
			
		||||
export declare function loadModulesForBrowser(): Promise<void>;
 | 
			
		||||
							
								
								
									
										50
									
								
								node_modules/eslint-plugin-svelte/lib/utils/load-module.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								node_modules/eslint-plugin-svelte/lib/utils/load-module.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
			
		||||
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
			
		||||
};
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.loadModulesForBrowser = exports.loadModule = void 0;
 | 
			
		||||
const module_1 = __importDefault(require("module"));
 | 
			
		||||
const path_1 = __importDefault(require("path"));
 | 
			
		||||
const compat_1 = require("./compat");
 | 
			
		||||
const cache = new WeakMap();
 | 
			
		||||
const cache4b = new Map();
 | 
			
		||||
function loadModule(context, name) {
 | 
			
		||||
    const key = (0, compat_1.getSourceCode)(context).ast;
 | 
			
		||||
    let modules = cache.get(key);
 | 
			
		||||
    if (!modules) {
 | 
			
		||||
        modules = {};
 | 
			
		||||
        cache.set(key, modules);
 | 
			
		||||
    }
 | 
			
		||||
    const mod = modules[name] || cache4b.get(name);
 | 
			
		||||
    if (mod)
 | 
			
		||||
        return mod;
 | 
			
		||||
    try {
 | 
			
		||||
        const cwd = (0, compat_1.getCwd)(context);
 | 
			
		||||
        const relativeTo = path_1.default.join(cwd, '__placeholder__.js');
 | 
			
		||||
        return (modules[name] = module_1.default.createRequire(relativeTo)(name));
 | 
			
		||||
    }
 | 
			
		||||
    catch {
 | 
			
		||||
    }
 | 
			
		||||
    for (const relativeTo of [
 | 
			
		||||
        (0, compat_1.getFilename)(context),
 | 
			
		||||
        (0, compat_1.getPhysicalFilename)(context),
 | 
			
		||||
        typeof __filename !== 'undefined' ? __filename : ''
 | 
			
		||||
    ]) {
 | 
			
		||||
        if (relativeTo) {
 | 
			
		||||
            try {
 | 
			
		||||
                return (modules[name] = module_1.default.createRequire(relativeTo)(name));
 | 
			
		||||
            }
 | 
			
		||||
            catch {
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return null;
 | 
			
		||||
}
 | 
			
		||||
exports.loadModule = loadModule;
 | 
			
		||||
async function loadModulesForBrowser() {
 | 
			
		||||
    const [sass, typescript] = await Promise.all([import('sass'), import('typescript')]);
 | 
			
		||||
    cache4b.set('sass', sass);
 | 
			
		||||
    cache4b.set('typescript', typescript);
 | 
			
		||||
}
 | 
			
		||||
exports.loadModulesForBrowser = loadModulesForBrowser;
 | 
			
		||||
							
								
								
									
										4
									
								
								node_modules/eslint-plugin-svelte/lib/utils/regexp.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								node_modules/eslint-plugin-svelte/lib/utils/regexp.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
export declare function toRegExp(string: string): {
 | 
			
		||||
    test(s: string): boolean;
 | 
			
		||||
};
 | 
			
		||||
export declare function isRegExp(string: string): boolean;
 | 
			
		||||
							
								
								
									
										16
									
								
								node_modules/eslint-plugin-svelte/lib/utils/regexp.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								node_modules/eslint-plugin-svelte/lib/utils/regexp.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.isRegExp = exports.toRegExp = void 0;
 | 
			
		||||
const RE_REGEXP_STR = /^\/(.+)\/([A-Za-z]*)$/u;
 | 
			
		||||
function toRegExp(string) {
 | 
			
		||||
    const parts = RE_REGEXP_STR.exec(string);
 | 
			
		||||
    if (parts) {
 | 
			
		||||
        return new RegExp(parts[1], parts[2]);
 | 
			
		||||
    }
 | 
			
		||||
    return { test: (s) => s === string };
 | 
			
		||||
}
 | 
			
		||||
exports.toRegExp = toRegExp;
 | 
			
		||||
function isRegExp(string) {
 | 
			
		||||
    return Boolean(RE_REGEXP_STR.test(string));
 | 
			
		||||
}
 | 
			
		||||
exports.isRegExp = isRegExp;
 | 
			
		||||
							
								
								
									
										2
									
								
								node_modules/eslint-plugin-svelte/lib/utils/rules.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								node_modules/eslint-plugin-svelte/lib/utils/rules.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
import type { RuleModule } from '../types';
 | 
			
		||||
export declare const rules: RuleModule[];
 | 
			
		||||
							
								
								
									
										130
									
								
								node_modules/eslint-plugin-svelte/lib/utils/rules.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								node_modules/eslint-plugin-svelte/lib/utils/rules.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,130 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
			
		||||
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
			
		||||
};
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.rules = void 0;
 | 
			
		||||
const no_unnecessary_condition_1 = __importDefault(require("../rules/@typescript-eslint/no-unnecessary-condition"));
 | 
			
		||||
const block_lang_1 = __importDefault(require("../rules/block-lang"));
 | 
			
		||||
const button_has_type_1 = __importDefault(require("../rules/button-has-type"));
 | 
			
		||||
const comment_directive_1 = __importDefault(require("../rules/comment-directive"));
 | 
			
		||||
const derived_has_same_inputs_outputs_1 = __importDefault(require("../rules/derived-has-same-inputs-outputs"));
 | 
			
		||||
const experimental_require_slot_types_1 = __importDefault(require("../rules/experimental-require-slot-types"));
 | 
			
		||||
const experimental_require_strict_events_1 = __importDefault(require("../rules/experimental-require-strict-events"));
 | 
			
		||||
const first_attribute_linebreak_1 = __importDefault(require("../rules/first-attribute-linebreak"));
 | 
			
		||||
const html_closing_bracket_spacing_1 = __importDefault(require("../rules/html-closing-bracket-spacing"));
 | 
			
		||||
const html_quotes_1 = __importDefault(require("../rules/html-quotes"));
 | 
			
		||||
const html_self_closing_1 = __importDefault(require("../rules/html-self-closing"));
 | 
			
		||||
const indent_1 = __importDefault(require("../rules/indent"));
 | 
			
		||||
const infinite_reactive_loop_1 = __importDefault(require("../rules/infinite-reactive-loop"));
 | 
			
		||||
const max_attributes_per_line_1 = __importDefault(require("../rules/max-attributes-per-line"));
 | 
			
		||||
const mustache_spacing_1 = __importDefault(require("../rules/mustache-spacing"));
 | 
			
		||||
const no_at_debug_tags_1 = __importDefault(require("../rules/no-at-debug-tags"));
 | 
			
		||||
const no_at_html_tags_1 = __importDefault(require("../rules/no-at-html-tags"));
 | 
			
		||||
const no_dom_manipulating_1 = __importDefault(require("../rules/no-dom-manipulating"));
 | 
			
		||||
const no_dupe_else_if_blocks_1 = __importDefault(require("../rules/no-dupe-else-if-blocks"));
 | 
			
		||||
const no_dupe_on_directives_1 = __importDefault(require("../rules/no-dupe-on-directives"));
 | 
			
		||||
const no_dupe_style_properties_1 = __importDefault(require("../rules/no-dupe-style-properties"));
 | 
			
		||||
const no_dupe_use_directives_1 = __importDefault(require("../rules/no-dupe-use-directives"));
 | 
			
		||||
const no_dynamic_slot_name_1 = __importDefault(require("../rules/no-dynamic-slot-name"));
 | 
			
		||||
const no_export_load_in_svelte_module_in_kit_pages_1 = __importDefault(require("../rules/no-export-load-in-svelte-module-in-kit-pages"));
 | 
			
		||||
const no_extra_reactive_curlies_1 = __importDefault(require("../rules/no-extra-reactive-curlies"));
 | 
			
		||||
const no_ignored_unsubscribe_1 = __importDefault(require("../rules/no-ignored-unsubscribe"));
 | 
			
		||||
const no_immutable_reactive_statements_1 = __importDefault(require("../rules/no-immutable-reactive-statements"));
 | 
			
		||||
const no_inline_styles_1 = __importDefault(require("../rules/no-inline-styles"));
 | 
			
		||||
const no_inner_declarations_1 = __importDefault(require("../rules/no-inner-declarations"));
 | 
			
		||||
const no_not_function_handler_1 = __importDefault(require("../rules/no-not-function-handler"));
 | 
			
		||||
const no_object_in_text_mustaches_1 = __importDefault(require("../rules/no-object-in-text-mustaches"));
 | 
			
		||||
const no_reactive_functions_1 = __importDefault(require("../rules/no-reactive-functions"));
 | 
			
		||||
const no_reactive_literals_1 = __importDefault(require("../rules/no-reactive-literals"));
 | 
			
		||||
const no_reactive_reassign_1 = __importDefault(require("../rules/no-reactive-reassign"));
 | 
			
		||||
const no_restricted_html_elements_1 = __importDefault(require("../rules/no-restricted-html-elements"));
 | 
			
		||||
const no_shorthand_style_property_overrides_1 = __importDefault(require("../rules/no-shorthand-style-property-overrides"));
 | 
			
		||||
const no_spaces_around_equal_signs_in_attribute_1 = __importDefault(require("../rules/no-spaces-around-equal-signs-in-attribute"));
 | 
			
		||||
const no_store_async_1 = __importDefault(require("../rules/no-store-async"));
 | 
			
		||||
const no_target_blank_1 = __importDefault(require("../rules/no-target-blank"));
 | 
			
		||||
const no_trailing_spaces_1 = __importDefault(require("../rules/no-trailing-spaces"));
 | 
			
		||||
const no_unknown_style_directive_property_1 = __importDefault(require("../rules/no-unknown-style-directive-property"));
 | 
			
		||||
const no_unused_class_name_1 = __importDefault(require("../rules/no-unused-class-name"));
 | 
			
		||||
const no_unused_svelte_ignore_1 = __importDefault(require("../rules/no-unused-svelte-ignore"));
 | 
			
		||||
const no_useless_mustaches_1 = __importDefault(require("../rules/no-useless-mustaches"));
 | 
			
		||||
const prefer_class_directive_1 = __importDefault(require("../rules/prefer-class-directive"));
 | 
			
		||||
const prefer_destructured_store_props_1 = __importDefault(require("../rules/prefer-destructured-store-props"));
 | 
			
		||||
const prefer_style_directive_1 = __importDefault(require("../rules/prefer-style-directive"));
 | 
			
		||||
const require_each_key_1 = __importDefault(require("../rules/require-each-key"));
 | 
			
		||||
const require_event_dispatcher_types_1 = __importDefault(require("../rules/require-event-dispatcher-types"));
 | 
			
		||||
const require_optimized_style_attribute_1 = __importDefault(require("../rules/require-optimized-style-attribute"));
 | 
			
		||||
const require_store_callbacks_use_set_param_1 = __importDefault(require("../rules/require-store-callbacks-use-set-param"));
 | 
			
		||||
const require_store_reactive_access_1 = __importDefault(require("../rules/require-store-reactive-access"));
 | 
			
		||||
const require_stores_init_1 = __importDefault(require("../rules/require-stores-init"));
 | 
			
		||||
const shorthand_attribute_1 = __importDefault(require("../rules/shorthand-attribute"));
 | 
			
		||||
const shorthand_directive_1 = __importDefault(require("../rules/shorthand-directive"));
 | 
			
		||||
const sort_attributes_1 = __importDefault(require("../rules/sort-attributes"));
 | 
			
		||||
const spaced_html_comment_1 = __importDefault(require("../rules/spaced-html-comment"));
 | 
			
		||||
const system_1 = __importDefault(require("../rules/system"));
 | 
			
		||||
const valid_compile_1 = __importDefault(require("../rules/valid-compile"));
 | 
			
		||||
const valid_each_key_1 = __importDefault(require("../rules/valid-each-key"));
 | 
			
		||||
const valid_prop_names_in_kit_pages_1 = __importDefault(require("../rules/valid-prop-names-in-kit-pages"));
 | 
			
		||||
exports.rules = [
 | 
			
		||||
    no_unnecessary_condition_1.default,
 | 
			
		||||
    block_lang_1.default,
 | 
			
		||||
    button_has_type_1.default,
 | 
			
		||||
    comment_directive_1.default,
 | 
			
		||||
    derived_has_same_inputs_outputs_1.default,
 | 
			
		||||
    experimental_require_slot_types_1.default,
 | 
			
		||||
    experimental_require_strict_events_1.default,
 | 
			
		||||
    first_attribute_linebreak_1.default,
 | 
			
		||||
    html_closing_bracket_spacing_1.default,
 | 
			
		||||
    html_quotes_1.default,
 | 
			
		||||
    html_self_closing_1.default,
 | 
			
		||||
    indent_1.default,
 | 
			
		||||
    infinite_reactive_loop_1.default,
 | 
			
		||||
    max_attributes_per_line_1.default,
 | 
			
		||||
    mustache_spacing_1.default,
 | 
			
		||||
    no_at_debug_tags_1.default,
 | 
			
		||||
    no_at_html_tags_1.default,
 | 
			
		||||
    no_dom_manipulating_1.default,
 | 
			
		||||
    no_dupe_else_if_blocks_1.default,
 | 
			
		||||
    no_dupe_on_directives_1.default,
 | 
			
		||||
    no_dupe_style_properties_1.default,
 | 
			
		||||
    no_dupe_use_directives_1.default,
 | 
			
		||||
    no_dynamic_slot_name_1.default,
 | 
			
		||||
    no_export_load_in_svelte_module_in_kit_pages_1.default,
 | 
			
		||||
    no_extra_reactive_curlies_1.default,
 | 
			
		||||
    no_ignored_unsubscribe_1.default,
 | 
			
		||||
    no_immutable_reactive_statements_1.default,
 | 
			
		||||
    no_inline_styles_1.default,
 | 
			
		||||
    no_inner_declarations_1.default,
 | 
			
		||||
    no_not_function_handler_1.default,
 | 
			
		||||
    no_object_in_text_mustaches_1.default,
 | 
			
		||||
    no_reactive_functions_1.default,
 | 
			
		||||
    no_reactive_literals_1.default,
 | 
			
		||||
    no_reactive_reassign_1.default,
 | 
			
		||||
    no_restricted_html_elements_1.default,
 | 
			
		||||
    no_shorthand_style_property_overrides_1.default,
 | 
			
		||||
    no_spaces_around_equal_signs_in_attribute_1.default,
 | 
			
		||||
    no_store_async_1.default,
 | 
			
		||||
    no_target_blank_1.default,
 | 
			
		||||
    no_trailing_spaces_1.default,
 | 
			
		||||
    no_unknown_style_directive_property_1.default,
 | 
			
		||||
    no_unused_class_name_1.default,
 | 
			
		||||
    no_unused_svelte_ignore_1.default,
 | 
			
		||||
    no_useless_mustaches_1.default,
 | 
			
		||||
    prefer_class_directive_1.default,
 | 
			
		||||
    prefer_destructured_store_props_1.default,
 | 
			
		||||
    prefer_style_directive_1.default,
 | 
			
		||||
    require_each_key_1.default,
 | 
			
		||||
    require_event_dispatcher_types_1.default,
 | 
			
		||||
    require_optimized_style_attribute_1.default,
 | 
			
		||||
    require_store_callbacks_use_set_param_1.default,
 | 
			
		||||
    require_store_reactive_access_1.default,
 | 
			
		||||
    require_stores_init_1.default,
 | 
			
		||||
    shorthand_attribute_1.default,
 | 
			
		||||
    shorthand_directive_1.default,
 | 
			
		||||
    sort_attributes_1.default,
 | 
			
		||||
    spaced_html_comment_1.default,
 | 
			
		||||
    system_1.default,
 | 
			
		||||
    valid_compile_1.default,
 | 
			
		||||
    valid_each_key_1.default,
 | 
			
		||||
    valid_prop_names_in_kit_pages_1.default
 | 
			
		||||
];
 | 
			
		||||
							
								
								
									
										2
									
								
								node_modules/eslint-plugin-svelte/lib/utils/svelte-kit.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								node_modules/eslint-plugin-svelte/lib/utils/svelte-kit.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
import type { RuleContext } from '../types';
 | 
			
		||||
export declare function isKitPageComponent(context: RuleContext): boolean;
 | 
			
		||||
							
								
								
									
										47
									
								
								node_modules/eslint-plugin-svelte/lib/utils/svelte-kit.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								node_modules/eslint-plugin-svelte/lib/utils/svelte-kit.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
			
		||||
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
			
		||||
};
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.isKitPageComponent = void 0;
 | 
			
		||||
const fs_1 = __importDefault(require("fs"));
 | 
			
		||||
const path_1 = __importDefault(require("path"));
 | 
			
		||||
const get_package_json_1 = require("./get-package-json");
 | 
			
		||||
const compat_1 = require("./compat");
 | 
			
		||||
const isRunOnBrowser = !fs_1.default.readFileSync;
 | 
			
		||||
function isKitPageComponent(context) {
 | 
			
		||||
    if (isRunOnBrowser)
 | 
			
		||||
        return true;
 | 
			
		||||
    if (!hasSvelteKit((0, compat_1.getFilename)(context)))
 | 
			
		||||
        return false;
 | 
			
		||||
    const routes = context.settings?.svelte?.kit?.files?.routes?.replace(/^\//, '') ?? 'src/routes';
 | 
			
		||||
    const filePath = (0, compat_1.getFilename)(context);
 | 
			
		||||
    const projectRootDir = getProjectRootDir((0, compat_1.getFilename)(context)) ?? '';
 | 
			
		||||
    const fileName = path_1.default.basename(filePath);
 | 
			
		||||
    return (filePath.startsWith(path_1.default.join(projectRootDir, routes)) &&
 | 
			
		||||
        Boolean(/^\+.+\.svelte$/.test(fileName)));
 | 
			
		||||
}
 | 
			
		||||
exports.isKitPageComponent = isKitPageComponent;
 | 
			
		||||
function hasSvelteKit(filePath) {
 | 
			
		||||
    if (isRunOnBrowser)
 | 
			
		||||
        return true;
 | 
			
		||||
    try {
 | 
			
		||||
        const packageJson = (0, get_package_json_1.getPackageJson)(filePath);
 | 
			
		||||
        if (!packageJson)
 | 
			
		||||
            return false;
 | 
			
		||||
        if (packageJson.name === 'eslint-plugin-svelte')
 | 
			
		||||
            return true;
 | 
			
		||||
        return Boolean(packageJson.dependencies?.['@sveltejs/kit'] ?? packageJson.devDependencies?.['@sveltejs/kit']);
 | 
			
		||||
    }
 | 
			
		||||
    catch (_e) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
function getProjectRootDir(filePath) {
 | 
			
		||||
    if (isRunOnBrowser)
 | 
			
		||||
        return null;
 | 
			
		||||
    const packageJsonFilePath = (0, get_package_json_1.getPackageJson)(filePath)?.filePath;
 | 
			
		||||
    if (!packageJsonFilePath)
 | 
			
		||||
        return null;
 | 
			
		||||
    return path_1.default.dirname(path_1.default.resolve(packageJsonFilePath));
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										35
									
								
								node_modules/eslint-plugin-svelte/lib/utils/ts-utils/index.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								node_modules/eslint-plugin-svelte/lib/utils/ts-utils/index.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
import type { RuleContext, ASTNode } from '../../types';
 | 
			
		||||
import type * as TS from 'typescript';
 | 
			
		||||
export type TypeScript = typeof TS;
 | 
			
		||||
export type { TS };
 | 
			
		||||
export type TSTools = {
 | 
			
		||||
    service: {
 | 
			
		||||
        esTreeNodeToTSNodeMap: ReadonlyMap<unknown, TS.Node>;
 | 
			
		||||
        tsNodeToESTreeNodeMap: ReadonlyMap<TS.Node, ASTNode>;
 | 
			
		||||
        program: TS.Program;
 | 
			
		||||
        hasFullTypeInformation: boolean;
 | 
			
		||||
    };
 | 
			
		||||
    ts: TypeScript;
 | 
			
		||||
};
 | 
			
		||||
export declare function getTypeScriptTools(context: RuleContext): TSTools | null;
 | 
			
		||||
export declare function getTypeScript(context: RuleContext): TypeScript | null;
 | 
			
		||||
export declare function isTruthyLiteral(type: TS.Type, tsTools: TSTools): boolean;
 | 
			
		||||
export declare function isFalsyType(type: TS.Type, tsTools: TSTools): boolean;
 | 
			
		||||
export declare function isNullishType(type: TS.Type, ts: TypeScript): boolean;
 | 
			
		||||
export declare function isNullableType(type: TS.Type, ts: TypeScript): boolean;
 | 
			
		||||
export declare function isBooleanLiteralType(type: TS.Type, ts: TypeScript): boolean;
 | 
			
		||||
export declare function isObjectType(type: TS.Type, ts: TypeScript): type is TS.ObjectType;
 | 
			
		||||
export declare function isReferenceObjectType(type: TS.Type, ts: TypeScript): type is TS.TypeReference;
 | 
			
		||||
export declare function isTupleObjectType(type: TS.Type, ts: TypeScript): type is TS.TupleType;
 | 
			
		||||
export declare function isTupleType(type: TS.Type, ts: TypeScript): boolean;
 | 
			
		||||
export declare function isAnyType(type: TS.Type, ts: TypeScript): boolean;
 | 
			
		||||
export declare function isUnknownType(type: TS.Type, ts: TypeScript): boolean;
 | 
			
		||||
export declare function isNeverType(type: TS.Type, ts: TypeScript): boolean;
 | 
			
		||||
export declare function isUndefinedType(type: TS.Type, ts: TypeScript): boolean;
 | 
			
		||||
export declare function isVoidType(type: TS.Type, ts: TypeScript): boolean;
 | 
			
		||||
export declare function isNullType(type: TS.Type, ts: TypeScript): boolean;
 | 
			
		||||
export declare function isPossiblyFalsyType(type: TS.Type, ts: TypeScript): boolean;
 | 
			
		||||
export declare function getCallSignaturesOfType(type: TS.Type): readonly TS.Signature[];
 | 
			
		||||
export declare function getConstrainedTypeAtLocation(checker: TS.TypeChecker, node: TS.Node): TS.Type;
 | 
			
		||||
export declare function getTypeName(type: TS.Type, tsTools: TSTools): string;
 | 
			
		||||
export declare function getTypeOfPropertyOfType(type: TS.Type, name: string, checker: TS.TypeChecker): TS.Type | undefined;
 | 
			
		||||
							
								
								
									
										191
									
								
								node_modules/eslint-plugin-svelte/lib/utils/ts-utils/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								node_modules/eslint-plugin-svelte/lib/utils/ts-utils/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,191 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
exports.getTypeOfPropertyOfType = exports.getTypeName = exports.getConstrainedTypeAtLocation = exports.getCallSignaturesOfType = exports.isPossiblyFalsyType = exports.isNullType = exports.isVoidType = exports.isUndefinedType = exports.isNeverType = exports.isUnknownType = exports.isAnyType = exports.isTupleType = exports.isTupleObjectType = exports.isReferenceObjectType = exports.isObjectType = exports.isBooleanLiteralType = exports.isNullableType = exports.isNullishType = exports.isFalsyType = exports.isTruthyLiteral = exports.getTypeScript = exports.getTypeScriptTools = void 0;
 | 
			
		||||
const load_module_1 = require("../load-module");
 | 
			
		||||
const compat_1 = require("../compat");
 | 
			
		||||
function getTypeScriptTools(context) {
 | 
			
		||||
    const ts = getTypeScript(context);
 | 
			
		||||
    if (!ts) {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    const sourceCode = (0, compat_1.getSourceCode)(context);
 | 
			
		||||
    const { program, esTreeNodeToTSNodeMap, tsNodeToESTreeNodeMap } = sourceCode.parserServices;
 | 
			
		||||
    if (!program || !esTreeNodeToTSNodeMap || !tsNodeToESTreeNodeMap) {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    const hasFullTypeInformation = sourceCode.parserServices.hasFullTypeInformation ?? true;
 | 
			
		||||
    if (!hasFullTypeInformation) {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    return {
 | 
			
		||||
        service: {
 | 
			
		||||
            esTreeNodeToTSNodeMap,
 | 
			
		||||
            tsNodeToESTreeNodeMap,
 | 
			
		||||
            hasFullTypeInformation,
 | 
			
		||||
            program
 | 
			
		||||
        },
 | 
			
		||||
        ts
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
exports.getTypeScriptTools = getTypeScriptTools;
 | 
			
		||||
let cacheTypeScript = null;
 | 
			
		||||
function getTypeScript(context) {
 | 
			
		||||
    if (cacheTypeScript) {
 | 
			
		||||
        return cacheTypeScript;
 | 
			
		||||
    }
 | 
			
		||||
    cacheTypeScript = (0, load_module_1.loadModule)(context, 'typescript');
 | 
			
		||||
    if (cacheTypeScript) {
 | 
			
		||||
        return cacheTypeScript;
 | 
			
		||||
    }
 | 
			
		||||
    try {
 | 
			
		||||
        cacheTypeScript ?? (cacheTypeScript = require('typescript'));
 | 
			
		||||
    }
 | 
			
		||||
    catch {
 | 
			
		||||
    }
 | 
			
		||||
    return cacheTypeScript;
 | 
			
		||||
}
 | 
			
		||||
exports.getTypeScript = getTypeScript;
 | 
			
		||||
function isTruthyLiteral(type, tsTools) {
 | 
			
		||||
    if (type.isUnion()) {
 | 
			
		||||
        return type.types.every((t) => isTruthyLiteral(t, tsTools));
 | 
			
		||||
    }
 | 
			
		||||
    return ((isBooleanLiteralType(type, tsTools.ts) &&
 | 
			
		||||
        tsTools.service.program.getTypeChecker().typeToString(type) === 'true') ||
 | 
			
		||||
        (type.isLiteral() && Boolean(type.value)));
 | 
			
		||||
}
 | 
			
		||||
exports.isTruthyLiteral = isTruthyLiteral;
 | 
			
		||||
function isFalsyType(type, tsTools) {
 | 
			
		||||
    if (type.isUnion()) {
 | 
			
		||||
        return type.types.every((t) => isFalsyType(t, tsTools));
 | 
			
		||||
    }
 | 
			
		||||
    if (isUndefinedType(type, tsTools.ts) ||
 | 
			
		||||
        isNullType(type, tsTools.ts) ||
 | 
			
		||||
        isVoidType(type, tsTools.ts))
 | 
			
		||||
        return true;
 | 
			
		||||
    if (type.isLiteral())
 | 
			
		||||
        return !type.value;
 | 
			
		||||
    return (isBooleanLiteralType(type, tsTools.ts) &&
 | 
			
		||||
        tsTools.service.program.getTypeChecker().typeToString(type) === 'false');
 | 
			
		||||
}
 | 
			
		||||
exports.isFalsyType = isFalsyType;
 | 
			
		||||
function isNullishType(type, ts) {
 | 
			
		||||
    if (type.isUnion()) {
 | 
			
		||||
        return type.types.every((t) => isNullishType(t, ts));
 | 
			
		||||
    }
 | 
			
		||||
    return isNullType(type, ts) || isUndefinedType(type, ts);
 | 
			
		||||
}
 | 
			
		||||
exports.isNullishType = isNullishType;
 | 
			
		||||
function isNullableType(type, ts) {
 | 
			
		||||
    if (type.isUnion()) {
 | 
			
		||||
        return type.types.some((t) => isNullableType(t, ts));
 | 
			
		||||
    }
 | 
			
		||||
    return isNullType(type, ts) || isUndefinedType(type, ts);
 | 
			
		||||
}
 | 
			
		||||
exports.isNullableType = isNullableType;
 | 
			
		||||
function isBooleanLiteralType(type, ts) {
 | 
			
		||||
    return (type.flags & ts.TypeFlags.BooleanLiteral) !== 0;
 | 
			
		||||
}
 | 
			
		||||
exports.isBooleanLiteralType = isBooleanLiteralType;
 | 
			
		||||
function isObjectType(type, ts) {
 | 
			
		||||
    return (type.flags & ts.TypeFlags.Object) !== 0;
 | 
			
		||||
}
 | 
			
		||||
exports.isObjectType = isObjectType;
 | 
			
		||||
function isReferenceObjectType(type, ts) {
 | 
			
		||||
    return isObjectType(type, ts) && (type.objectFlags & ts.ObjectFlags.Reference) !== 0;
 | 
			
		||||
}
 | 
			
		||||
exports.isReferenceObjectType = isReferenceObjectType;
 | 
			
		||||
function isTupleObjectType(type, ts) {
 | 
			
		||||
    return isObjectType(type, ts) && (type.objectFlags & ts.ObjectFlags.Tuple) !== 0;
 | 
			
		||||
}
 | 
			
		||||
exports.isTupleObjectType = isTupleObjectType;
 | 
			
		||||
function isTupleType(type, ts) {
 | 
			
		||||
    return (isTupleObjectType(type, ts) ||
 | 
			
		||||
        (isReferenceObjectType(type, ts) && isTupleObjectType(type.target, ts)));
 | 
			
		||||
}
 | 
			
		||||
exports.isTupleType = isTupleType;
 | 
			
		||||
function isAnyType(type, ts) {
 | 
			
		||||
    return (type.flags & ts.TypeFlags.Any) !== 0;
 | 
			
		||||
}
 | 
			
		||||
exports.isAnyType = isAnyType;
 | 
			
		||||
function isUnknownType(type, ts) {
 | 
			
		||||
    return (type.flags & ts.TypeFlags.Unknown) !== 0;
 | 
			
		||||
}
 | 
			
		||||
exports.isUnknownType = isUnknownType;
 | 
			
		||||
function isNeverType(type, ts) {
 | 
			
		||||
    return (type.flags & ts.TypeFlags.Never) !== 0;
 | 
			
		||||
}
 | 
			
		||||
exports.isNeverType = isNeverType;
 | 
			
		||||
function isUndefinedType(type, ts) {
 | 
			
		||||
    return (type.flags & ts.TypeFlags.Undefined) !== 0;
 | 
			
		||||
}
 | 
			
		||||
exports.isUndefinedType = isUndefinedType;
 | 
			
		||||
function isVoidType(type, ts) {
 | 
			
		||||
    return (type.flags & ts.TypeFlags.Void) !== 0;
 | 
			
		||||
}
 | 
			
		||||
exports.isVoidType = isVoidType;
 | 
			
		||||
function isNullType(type, ts) {
 | 
			
		||||
    return (type.flags & ts.TypeFlags.Null) !== 0;
 | 
			
		||||
}
 | 
			
		||||
exports.isNullType = isNullType;
 | 
			
		||||
function isPossiblyFalsyType(type, ts) {
 | 
			
		||||
    if (type.isUnion()) {
 | 
			
		||||
        return type.types.some((t) => isPossiblyFalsyType(t, ts));
 | 
			
		||||
    }
 | 
			
		||||
    return (type.flags & ts.TypeFlags.PossiblyFalsy) !== 0;
 | 
			
		||||
}
 | 
			
		||||
exports.isPossiblyFalsyType = isPossiblyFalsyType;
 | 
			
		||||
function getCallSignaturesOfType(type) {
 | 
			
		||||
    if (type.isUnion()) {
 | 
			
		||||
        return type.types.flatMap((t) => getCallSignaturesOfType(t));
 | 
			
		||||
    }
 | 
			
		||||
    if (type.isIntersection()) {
 | 
			
		||||
        let signatures = [];
 | 
			
		||||
        for (const t of type.types) {
 | 
			
		||||
            const sig = getCallSignaturesOfType(t);
 | 
			
		||||
            if (sig.length !== 0) {
 | 
			
		||||
                if (signatures.length) {
 | 
			
		||||
                    return [];
 | 
			
		||||
                }
 | 
			
		||||
                signatures = sig;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return signatures;
 | 
			
		||||
    }
 | 
			
		||||
    return type.getCallSignatures();
 | 
			
		||||
}
 | 
			
		||||
exports.getCallSignaturesOfType = getCallSignaturesOfType;
 | 
			
		||||
function getConstrainedTypeAtLocation(checker, node) {
 | 
			
		||||
    const nodeType = checker.getTypeAtLocation(node);
 | 
			
		||||
    const constrained = checker.getBaseConstraintOfType(nodeType);
 | 
			
		||||
    return constrained ?? nodeType;
 | 
			
		||||
}
 | 
			
		||||
exports.getConstrainedTypeAtLocation = getConstrainedTypeAtLocation;
 | 
			
		||||
function getTypeName(type, tsTools) {
 | 
			
		||||
    const { ts } = tsTools;
 | 
			
		||||
    if ((type.flags & ts.TypeFlags.StringLike) !== 0) {
 | 
			
		||||
        return 'string';
 | 
			
		||||
    }
 | 
			
		||||
    const typeChecker = tsTools.service.program.getTypeChecker();
 | 
			
		||||
    if ((type.flags & ts.TypeFlags.TypeParameter) !== 0) {
 | 
			
		||||
        const symbol = type.getSymbol();
 | 
			
		||||
        const decls = symbol?.getDeclarations();
 | 
			
		||||
        const typeParamDecl = decls?.[0];
 | 
			
		||||
        if (ts.isTypeParameterDeclaration(typeParamDecl) && typeParamDecl.constraint != null) {
 | 
			
		||||
            return getTypeName(typeChecker.getTypeFromTypeNode(typeParamDecl.constraint), tsTools);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    if (type.isUnion() &&
 | 
			
		||||
        type.types.map((value) => getTypeName(value, tsTools)).every((t) => t === 'string')) {
 | 
			
		||||
        return 'string';
 | 
			
		||||
    }
 | 
			
		||||
    if (type.isIntersection() &&
 | 
			
		||||
        type.types.map((value) => getTypeName(value, tsTools)).some((t) => t === 'string')) {
 | 
			
		||||
        return 'string';
 | 
			
		||||
    }
 | 
			
		||||
    return typeChecker.typeToString(type);
 | 
			
		||||
}
 | 
			
		||||
exports.getTypeName = getTypeName;
 | 
			
		||||
function getTypeOfPropertyOfType(type, name, checker) {
 | 
			
		||||
    return checker.getTypeOfPropertyOfType(type, name);
 | 
			
		||||
}
 | 
			
		||||
exports.getTypeOfPropertyOfType = getTypeOfPropertyOfType;
 | 
			
		||||
							
								
								
									
										2
									
								
								node_modules/eslint-plugin-svelte/lib/utils/void-elements.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								node_modules/eslint-plugin-svelte/lib/utils/void-elements.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
declare const voidElements: string[];
 | 
			
		||||
export default voidElements;
 | 
			
		||||
							
								
								
									
										21
									
								
								node_modules/eslint-plugin-svelte/lib/utils/void-elements.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								node_modules/eslint-plugin-svelte/lib/utils/void-elements.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
			
		||||
const voidElements = [
 | 
			
		||||
    'area',
 | 
			
		||||
    'base',
 | 
			
		||||
    'br',
 | 
			
		||||
    'col',
 | 
			
		||||
    'embed',
 | 
			
		||||
    'hr',
 | 
			
		||||
    'img',
 | 
			
		||||
    'input',
 | 
			
		||||
    'keygen',
 | 
			
		||||
    'link',
 | 
			
		||||
    'menuitem',
 | 
			
		||||
    'meta',
 | 
			
		||||
    'param',
 | 
			
		||||
    'source',
 | 
			
		||||
    'track',
 | 
			
		||||
    'wbr'
 | 
			
		||||
];
 | 
			
		||||
exports.default = voidElements;
 | 
			
		||||
		Reference in New Issue
	
	Block a user