⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.1
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
invoice
/
node_modules
/
eslint
/
lib
/
rules
/
Edit File: no-bitwise.js
/** * @fileoverview Rule to flag bitwise identifiers * @author Nicholas C. Zakas */ "use strict"; /* * * Set of bitwise operators. * */ const BITWISE_OPERATORS = [ "^", "|", "&", "<<", ">>", ">>>", "^=", "|=", "&=", "<<=", ">>=", ">>>=", "~" ]; //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ module.exports = { meta: { type: "suggestion", docs: { description: "disallow bitwise operators", category: "Stylistic Issues", recommended: false, url: "https://eslint.org/docs/rules/no-bitwise" }, schema: [ { type: "object", properties: { allow: { type: "array", items: { enum: BITWISE_OPERATORS }, uniqueItems: true }, int32Hint: { type: "boolean", default: false } }, additionalProperties: false } ], messages: { unexpected: "Unexpected use of '{{operator}}'." } }, create(context) { const options = context.options[0] || {}; const allowed = options.allow || []; const int32Hint = options.int32Hint === true; /** * Reports an unexpected use of a bitwise operator. * @param {ASTNode} node Node which contains the bitwise operator. * @returns {void} */ function report(node) { context.report({ node, messageId: "unexpected", data: { operator: node.operator } }); } /** * Checks if the given node has a bitwise operator. * @param {ASTNode} node The node to check. * @returns {boolean} Whether or not the node has a bitwise operator. */ function hasBitwiseOperator(node) { return BITWISE_OPERATORS.indexOf(node.operator) !== -1; } /** * Checks if exceptions were provided, e.g. `{ allow: ['~', '|'] }`. * @param {ASTNode} node The node to check. * @returns {boolean} Whether or not the node has a bitwise operator. */ function allowedOperator(node) { return allowed.indexOf(node.operator) !== -1; } /** * Checks if the given bitwise operator is used for integer typecasting, i.e. "|0" * @param {ASTNode} node The node to check. * @returns {boolean} whether the node is used in integer typecasting. */ function isInt32Hint(node) { return int32Hint && node.operator === "|" && node.right && node.right.type === "Literal" && node.right.value === 0; } /** * Report if the given node contains a bitwise operator. * @param {ASTNode} node The node to check. * @returns {void} */ function checkNodeForBitwiseOperator(node) { if (hasBitwiseOperator(node) && !allowedOperator(node) && !isInt32Hint(node)) { report(node); } } return { AssignmentExpression: checkNodeForBitwiseOperator, BinaryExpression: checkNodeForBitwiseOperator, UnaryExpression: checkNodeForBitwiseOperator }; } };
Simpan