Sha256: 28c2e8a1884c90353cc6e0a25ae658ab74efca9ed35c9608bf94010b0909ba41
Contents?: true
Size: 959 Bytes
Versions: 43
Compression:
Stored size: 959 Bytes
Contents
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = extractValueFromUpdateExpression; /** * 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. */ function extractValueFromUpdateExpression(value) { // eslint-disable-next-line global-require var getValue = require('./index.js').default; var operator = value.operator, argument = value.argument, prefix = value.prefix; var 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