%PDF- %PDF-
Direktori : /var/www/html/node_modules/jsx-ast-utils/lib/values/expressions/ |
Current File : /var/www/html/node_modules/jsx-ast-utils/lib/values/expressions/UnaryExpression.js |
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = extractValueFromUnaryExpression; /** * Extractor function for a UnaryExpression type value node. * A unary expression is an expression with a unary operator. * For example, !"foobar" will evaluate to false, so this will return false. * * @param - value - AST Value object with type `UnaryExpression` * @returns - The extracted value converted to correct type. */ function extractValueFromUnaryExpression(value) { // eslint-disable-next-line global-require var getValue = require('.').default; var operator = value.operator, argument = value.argument; switch (operator) { case '-': return -getValue(argument); case '+': return +getValue(argument); // eslint-disable-line no-implicit-coercion case '!': return !getValue(argument); case '~': return ~getValue(argument); // eslint-disable-line no-bitwise case 'delete': // I believe delete statements evaluate to true. return true; case 'typeof': case 'void': default: return undefined; } }