Linux v69820.1blu.de 4.15.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64
Apache/2.4.58
Server IP : 195.90.215.149 & Your IP : 216.73.217.80
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
nodejs /
eslint /
lib /
linter /
Delete
Unzip
Name
Size
Permission
Date
Action
code-path-analysis
[ DIR ]
drwxr-xr-x
2024-07-10 10:55
apply-disable-directives.js
7.28
KB
-rw-r--r--
2019-09-14 01:35
config-comment-parser.js
4.41
KB
-rw-r--r--
2019-09-14 01:35
index.js
250
B
-rw-r--r--
2019-09-14 01:35
interpolate.js
764
B
-rw-r--r--
2019-09-14 01:35
linter.js
53.21
KB
-rw-r--r--
2019-09-14 01:35
node-event-generator.js
11.19
KB
-rw-r--r--
2019-09-14 01:35
report-translator.js
9.86
KB
-rw-r--r--
2019-09-14 01:35
rule-fixer.js
4.52
KB
-rw-r--r--
2019-09-14 01:35
rules.js
2.23
KB
-rw-r--r--
2019-09-14 01:35
safe-emitter.js
2.09
KB
-rw-r--r--
2019-09-14 01:35
source-code-fixer.js
4.58
KB
-rw-r--r--
2019-09-14 01:35
timing.js
3.3
KB
-rw-r--r--
2019-09-14 01:35
Save
Rename
/** * @fileoverview An object that caches and applies source code fixes. * @author Nicholas C. Zakas */ "use strict"; //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ const debug = require("debug")("eslint:source-code-fixer"); //------------------------------------------------------------------------------ // Helpers //------------------------------------------------------------------------------ const BOM = "\uFEFF"; /** * Compares items in a messages array by range. * @param {Message} a The first message. * @param {Message} b The second message. * @returns {int} -1 if a comes before b, 1 if a comes after b, 0 if equal. * @private */ function compareMessagesByFixRange(a, b) { return a.fix.range[0] - b.fix.range[0] || a.fix.range[1] - b.fix.range[1]; } /** * Compares items in a messages array by line and column. * @param {Message} a The first message. * @param {Message} b The second message. * @returns {int} -1 if a comes before b, 1 if a comes after b, 0 if equal. * @private */ function compareMessagesByLocation(a, b) { return a.line - b.line || a.column - b.column; } //------------------------------------------------------------------------------ // Public Interface //------------------------------------------------------------------------------ /** * Utility for apply fixes to source code. * @constructor */ function SourceCodeFixer() { Object.freeze(this); } /** * Applies the fixes specified by the messages to the given text. Tries to be * smart about the fixes and won't apply fixes over the same area in the text. * @param {string} sourceText The text to apply the changes to. * @param {Message[]} messages The array of messages reported by ESLint. * @param {boolean|Function} [shouldFix=true] Determines whether each message should be fixed * @returns {Object} An object containing the fixed text and any unfixed messages. */ SourceCodeFixer.applyFixes = function(sourceText, messages, shouldFix) { debug("Applying fixes"); if (shouldFix === false) { debug("shouldFix parameter was false, not attempting fixes"); return { fixed: false, messages, output: sourceText }; } // clone the array const remainingMessages = [], fixes = [], bom = sourceText.startsWith(BOM) ? BOM : "", text = bom ? sourceText.slice(1) : sourceText; let lastPos = Number.NEGATIVE_INFINITY, output = bom; /** * Try to use the 'fix' from a problem. * @param {Message} problem The message object to apply fixes from * @returns {boolean} Whether fix was successfully applied */ function attemptFix(problem) { const fix = problem.fix; const start = fix.range[0]; const end = fix.range[1]; // Remain it as a problem if it's overlapped or it's a negative range if (lastPos >= start || start > end) { remainingMessages.push(problem); return false; } // Remove BOM. if ((start < 0 && end >= 0) || (start === 0 && fix.text.startsWith(BOM))) { output = ""; } // Make output to this fix. output += text.slice(Math.max(0, lastPos), Math.max(0, start)); output += fix.text; lastPos = end; return true; } messages.forEach(problem => { if (Object.prototype.hasOwnProperty.call(problem, "fix")) { fixes.push(problem); } else { remainingMessages.push(problem); } }); if (fixes.length) { debug("Found fixes to apply"); let fixesWereApplied = false; for (const problem of fixes.sort(compareMessagesByFixRange)) { if (typeof shouldFix !== "function" || shouldFix(problem)) { attemptFix(problem); /* * The only time attemptFix will fail is if a previous fix was * applied which conflicts with it. So we can mark this as true. */ fixesWereApplied = true; } else { remainingMessages.push(problem); } } output += text.slice(Math.max(0, lastPos)); return { fixed: fixesWereApplied, messages: remainingMessages.sort(compareMessagesByLocation), output }; } debug("No fixes to apply"); return { fixed: false, messages, output: bom + text }; }; module.exports = SourceCodeFixer;