Files
NapCatQQ/.pnpm-store/v3/files/8b/003a18c3632af1ba73cb64ad09f412fd55d587a56995afb858e07917275b2d6b073acf6546db9854cbf2fe54dd9d4b7b16484ec6948279e3300d594f0cb4a5
T
TanTan e311ca3275
Build NapCat Artifacts / Windows Loader Test (push) Canceled after 0s
Build NapCat Artifacts / Type Check & Test (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Framework (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Shell (push) Canceled after 0s
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

67 lines
2.0 KiB
Plaintext

'use strict';
var utils = require('../utils.js');
require('eslint-visitor-keys');
require('espree');
require('estraverse');
var noWhitespaceBeforeProperty = utils.createRule({
name: "no-whitespace-before-property",
package: "js",
meta: {
type: "layout",
docs: {
description: "Disallow whitespace before properties"
},
fixable: "whitespace",
schema: [],
messages: {
unexpectedWhitespace: "Unexpected whitespace before property {{propName}}."
}
},
create(context) {
const sourceCode = context.sourceCode;
function reportError(node, leftToken, rightToken) {
context.report({
node,
messageId: "unexpectedWhitespace",
data: {
propName: sourceCode.getText(node.property)
},
fix(fixer) {
let replacementText = "";
if (!node.computed && !node.optional && utils.isDecimalInteger(node.object)) {
return null;
}
if (sourceCode.commentsExistBetween(leftToken, rightToken))
return null;
if (node.optional)
replacementText = "?.";
else if (!node.computed)
replacementText = ".";
return fixer.replaceTextRange([leftToken.range[1], rightToken.range[0]], replacementText);
}
});
}
return {
MemberExpression(node) {
let rightToken;
let leftToken;
if (!utils.isTokenOnSameLine(node.object, node.property))
return;
if (node.computed) {
rightToken = sourceCode.getTokenBefore(node.property, utils.isOpeningBracketToken);
leftToken = sourceCode.getTokenBefore(rightToken, node.optional ? 1 : 0);
} else {
rightToken = sourceCode.getFirstToken(node.property);
leftToken = sourceCode.getTokenBefore(rightToken, 1);
}
if (sourceCode.isSpaceBetweenTokens(leftToken, rightToken))
reportError(node, leftToken, rightToken);
}
};
}
});
module.exports = noWhitespaceBeforeProperty;