Sha256: c044dbf03ed4d61a4a5f0113dd5e065d322125793b4b86bb89daeec11ef27aec
Contents?: true
Size: 797 Bytes
Versions: 43
Compression:
Stored size: 797 Bytes
Contents
/** * Extractor function for an UpdateExpression type value node. * An update expression is an expression with an update operator. * For example, foo++ will evaluate to foo + 1. * * @param - value - AST Value object with type `UpdateExpression` * @returns - The extracted value converted to correct type. */ export default function extractValueFromUpdateExpression(value) { // eslint-disable-next-line global-require const getValue = require('./index.js').default; const { operator, argument, prefix } = value; let val = getValue(argument); switch (operator) { case '++': return prefix ? ++val : val++; // eslint-disable-line no-plusplus case '--': return prefix ? --val : val--; // eslint-disable-line no-plusplus default: return undefined; } }
Version data entries
43 entries across 43 versions & 1 rubygems