Sha256: 22218155cadefb92fd37b464e9d2e6673f17845268ac51fa8ba89ec21421b3d2
Contents?: true
Size: 1002 Bytes
Versions: 43
Compression:
Stored size: 1002 Bytes
Contents
/** * 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. */ export default function extractValueFromUnaryExpression(value) { // eslint-disable-next-line global-require const getValue = require('./index.js').default; const { operator, argument } = value; 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; } }
Version data entries
43 entries across 43 versions & 1 rubygems