/ cloudformation-templates / node_modules / lodash / _baseWrapperValue.js
_baseWrapperValue.js
 1  var LazyWrapper = require('./_LazyWrapper'),
 2      arrayPush = require('./_arrayPush'),
 3      arrayReduce = require('./_arrayReduce');
 4  
 5  /**
 6   * The base implementation of `wrapperValue` which returns the result of
 7   * performing a sequence of actions on the unwrapped `value`, where each
 8   * successive action is supplied the return value of the previous.
 9   *
10   * @private
11   * @param {*} value The unwrapped value.
12   * @param {Array} actions Actions to perform to resolve the unwrapped value.
13   * @returns {*} Returns the resolved value.
14   */
15  function baseWrapperValue(value, actions) {
16    var result = value;
17    if (result instanceof LazyWrapper) {
18      result = result.value();
19    }
20    return arrayReduce(actions, function(result, action) {
21      return action.func.apply(action.thisArg, arrayPush([result], action.args));
22    }, result);
23  }
24  
25  module.exports = baseWrapperValue;