UNPKG

bloom-layout

Version:
25 lines (21 loc) 735 B
import getValue from './index'; /** * 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) { 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; } }