Sha256: 3f978b51e597e9e78149bf5df230052d60f2125dbae544dc7b1e28a098cd7aa0

Contents?: true

Size: 1 KB

Versions: 300

Compression:

Stored size: 1 KB

Contents

/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeMax = Math.max,
    nativeMin = Math.min;

/**
 * Gets the view, applying any `transforms` to the `start` and `end` positions.
 *
 * @private
 * @param {number} start The start of the view.
 * @param {number} end The end of the view.
 * @param {Array} transforms The transformations to apply to the view.
 * @returns {Object} Returns an object containing the `start` and `end`
 *  positions of the view.
 */
function getView(start, end, transforms) {
  var index = -1,
      length = transforms.length;

  while (++index < length) {
    var data = transforms[index],
        size = data.size;

    switch (data.type) {
      case 'drop':      start += size; break;
      case 'dropRight': end -= size; break;
      case 'take':      end = nativeMin(end, start + size); break;
      case 'takeRight': start = nativeMax(start, end - size); break;
    }
  }
  return { 'start': start, 'end': end };
}

module.exports = getView;

Version data entries

300 entries across 276 versions & 32 rubygems

Version Path
clapton-0.0.19 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.18 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.17 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.16 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.15 lib/clapton/javascripts/node_modules/lodash/_getView.js
immosquare-cleaner-0.1.49 node_modules/lodash/_getView.js
clapton-0.0.14 lib/clapton/javascripts/node_modules/lodash/_getView.js
immosquare-cleaner-0.1.48 node_modules/lodash/_getView.js
clapton-0.0.13 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.12 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.11 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.10 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.9 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.8 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.7 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.6 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.5 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.4 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.3 lib/clapton/javascripts/node_modules/lodash/_getView.js
clapton-0.0.2 lib/clapton/javascripts/node_modules/lodash/_getView.js