/
home
/
techb158
/
balavpn.abdallabala.com
/
node_modules
/
eslint-plugin-react
/
lib
/
util
/
/home/techb158/balavpn.abdallabala.com/node_modules/eslint-plugin-react/lib/util
mkdir
upload
Name
Size
Mode
Actions
annotations.d.ts
390
0666
edit
dl
rm
annotations.d.ts.map
155
0666
edit
dl
rm
annotations.js
1090
0666
edit
dl
rm
ast.d.ts
5186
0666
edit
dl
rm
ast.d.ts.map
1135
0666
edit
dl
rm
ast.js
12197
0666
edit
dl
rm
Components.d.ts
2396
0666
edit
dl
rm
Components.d.ts.map
466
0666
edit
dl
rm
Components.js
30079
0666
edit
dl
rm
componentUtil.d.ts
1397
0666
edit
dl
rm
componentUtil.d.ts.map
517
0666
edit
dl
rm
componentUtil.js
4824
0666
edit
dl
rm
defaultProps.d.ts
311
0666
edit
dl
rm
defaultProps.d.ts.map
128
0666
edit
dl
rm
defaultProps.js
8501
0666
edit
dl
rm
docsUrl.d.ts
104
0666
edit
dl
rm
docsUrl.d.ts.map
112
0666
edit
dl
rm
docsUrl.js
173
0666
edit
dl
rm
error.d.ts
207
0666
edit
dl
rm
error.d.ts.map
131
0666
edit
dl
rm
error.js
308
0666
edit
dl
rm
eslint.d.ts
413
0666
edit
dl
rm
eslint.d.ts.map
169
0666
edit
dl
rm
eslint.js
1296
0666
edit
dl
rm
getTokenBeforeClosingBracket.d.ts
327
0666
edit
dl
rm
getTokenBeforeClosingBracket.d.ts.map
188
0666
edit
dl
rm
getTokenBeforeClosingBracket.js
428
0666
edit
dl
rm
isCreateContext.d.ts
115
0666
edit
dl
rm
isCreateContext.d.ts.map
150
0666
edit
dl
rm
isCreateContext.js
1213
0666
edit
dl
rm
isCreateElement.d.ts
133
0666
edit
dl
rm
isCreateElement.d.ts.map
160
0666
edit
dl
rm
isCreateElement.js
894
0666
edit
dl
rm
isDestructuredFromPragmaImport.d.ts
182
0666
edit
dl
rm
isDestructuredFromPragmaImport.d.ts.map
201
0666
edit
dl
rm
isDestructuredFromPragmaImport.js
2708
0666
edit
dl
rm
isFirstLetterCapitalized.d.ts
123
0666
edit
dl
rm
isFirstLetterCapitalized.d.ts.map
167
0666
edit
dl
rm
isFirstLetterCapitalized.js
387
0666
edit
dl
rm
jsx.d.ts
1974
0666
edit
dl
rm
jsx.d.ts.map
480
0666
edit
dl
rm
jsx.js
5374
0666
edit
dl
rm
lifecycleMethods.d.ts
140
0666
edit
dl
rm
lifecycleMethods.d.ts.map
119
0666
edit
dl
rm
lifecycleMethods.js
611
0666
edit
dl
rm
linkComponents.d.ts
172
0666
edit
dl
rm
linkComponents.d.ts.map
137
0666
edit
dl
rm
linkComponents.js
1520
0666
edit
dl
rm
log.d.ts
201
0666
edit
dl
rm
log.d.ts.map
127
0666
edit
dl
rm
log.js
302
0666
edit
dl
rm
makeNoMethodSetStateRule.d.ts
233
0666
edit
dl
rm
makeNoMethodSetStateRule.d.ts.map
241
0666
edit
dl
rm
makeNoMethodSetStateRule.js
3747
0666
edit
dl
rm
message.d.ts
214
0666
edit
dl
rm
message.d.ts.map
117
0666
edit
dl
rm
message.js
266
0666
edit
dl
rm
pragma.d.ts
400
0666
edit
dl
rm
pragma.d.ts.map
231
0666
edit
dl
rm
pragma.js
2218
0666
edit
dl
rm
props.d.ts
2716
0666
edit
dl
rm
props.d.ts.map
501
0666
edit
dl
rm
props.js
4242
0666
edit
dl
rm
propTypes.d.ts
799
0666
edit
dl
rm
propTypes.d.ts.map
176
0666
edit
dl
rm
propTypes.js
46449
0666
edit
dl
rm
propTypesSort.d.ts
1933
0666
edit
dl
rm
propTypesSort.d.ts.map
419
0666
edit
dl
rm
propTypesSort.js
7353
0666
edit
dl
rm
propWrapper.d.ts
398
0666
edit
dl
rm
propWrapper.d.ts.map
168
0666
edit
dl
rm
propWrapper.js
1851
0666
edit
dl
rm
report.d.ts
143
0666
edit
dl
rm
report.d.ts.map
111
0666
edit
dl
rm
report.js
235
0666
edit
dl
rm
usedPropTypes.d.ts
638
0666
edit
dl
rm
usedPropTypes.d.ts.map
168
0666
edit
dl
rm
usedPropTypes.js
18578
0666
edit
dl
rm
variable.d.ts
1724
0666
edit
dl
rm
variable.d.ts.map
359
0666
edit
dl
rm
variable.js
2876
0666
edit
dl
rm
version.d.ts
319
0666
edit
dl
rm
version.d.ts.map
158
0666
edit
dl
rm
version.js
6964
0666
edit
dl
rm
Edit:
/home/techb158/balavpn.abdallabala.com/node_modules/eslint-plugin-react/lib/util/jsx.js
(5374B)
/** * @fileoverview Utility functions for JSX */ 'use strict'; const elementType = require('jsx-ast-utils/elementType'); const astUtil = require('./ast'); const isCreateElement = require('./isCreateElement'); const variableUtil = require('./variable'); // See https://github.com/babel/babel/blob/ce420ba51c68591e057696ef43e028f41c6e04cd/packages/babel-types/src/validators/react/isCompatTag.js // for why we only test for the first character const COMPAT_TAG_REGEX = /^[a-z]/; /** * Checks if a node represents a DOM element according to React. * @param {object} node - JSXOpeningElement to check. * @returns {boolean} Whether or not the node corresponds to a DOM element. */ function isDOMComponent(node) { const name = elementType(node); return COMPAT_TAG_REGEX.test(name); } /** * Test whether a JSXElement is a fragment * @param {JSXElement} node * @param {string} reactPragma * @param {string} fragmentPragma * @returns {boolean} */ function isFragment(node, reactPragma, fragmentPragma) { const name = node.openingElement.name; // <Fragment> if (name.type === 'JSXIdentifier' && name.name === fragmentPragma) { return true; } // <React.Fragment> if ( name.type === 'JSXMemberExpression' && name.object.type === 'JSXIdentifier' && name.object.name === reactPragma && name.property.type === 'JSXIdentifier' && name.property.name === fragmentPragma ) { return true; } return false; } /** * Checks if a node represents a JSX element or fragment. * @param {object} node - node to check. * @returns {boolean} Whether or not the node if a JSX element or fragment. */ function isJSX(node) { return node && ['JSXElement', 'JSXFragment'].indexOf(node.type) >= 0; } /** * Check if node is like `key={...}` as in `<Foo key={...} />` * @param {ASTNode} node * @returns {boolean} */ function isJSXAttributeKey(node) { return node.type === 'JSXAttribute' && node.name && node.name.type === 'JSXIdentifier' && node.name.name === 'key'; } /** * Check if value has only whitespaces * @param {unknown} value * @returns {boolean} */ function isWhiteSpaces(value) { return typeof value === 'string' ? /^\s*$/.test(value) : false; } /** * Check if the node is returning JSX or null * * @param {Context} context The context of `ASTNode`. * @param {ASTNode} ASTnode The AST node being checked * @param {boolean} [strict] If true, in a ternary condition the node must return JSX in both cases * @param {boolean} [ignoreNull] If true, null return values will be ignored * @returns {boolean} True if the node is returning JSX or null, false if not */ function isReturningJSX(context, ASTnode, strict, ignoreNull) { const isJSXValue = (node) => { if (!node) { return false; } switch (node.type) { case 'ConditionalExpression': if (strict) { return isJSXValue(node.consequent) && isJSXValue(node.alternate); } return isJSXValue(node.consequent) || isJSXValue(node.alternate); case 'LogicalExpression': if (strict) { return isJSXValue(node.left) && isJSXValue(node.right); } return isJSXValue(node.left) || isJSXValue(node.right); case 'SequenceExpression': return isJSXValue(node.expressions[node.expressions.length - 1]); case 'JSXElement': case 'JSXFragment': return true; case 'CallExpression': return isCreateElement(context, node); case 'Literal': if (!ignoreNull && node.value === null) { return true; } return false; case 'Identifier': { const variable = variableUtil.findVariableByName(context, node, node.name); return isJSX(variable); } default: return false; } }; let found = false; astUtil.traverseReturns(ASTnode, context, (node, breakTraverse) => { if (isJSXValue(node)) { found = true; breakTraverse(); } }); return found; } /** * Check if the node is returning only null values * * @param {ASTNode} ASTnode The AST node being checked * @param {Context} context The context of `ASTNode`. * @returns {boolean} True if the node is returning only null values */ function isReturningOnlyNull(ASTnode, context) { let found = false; let foundSomethingElse = false; astUtil.traverseReturns(ASTnode, context, (node) => { // Traverse return statement astUtil.traverse(node, { enter(childNode) { const setFound = () => { found = true; this.skip(); }; const setFoundSomethingElse = () => { foundSomethingElse = true; this.skip(); }; switch (childNode.type) { case 'ReturnStatement': break; case 'ConditionalExpression': if (childNode.consequent.value === null && childNode.alternate.value === null) { setFound(); } break; case 'Literal': if (childNode.value === null) { setFound(); } break; default: setFoundSomethingElse(); } }, }); }); return found && !foundSomethingElse; } module.exports = { isDOMComponent, isFragment, isJSX, isJSXAttributeKey, isWhiteSpaces, isReturningJSX, isReturningOnlyNull, };
Save
cmd:
run