Sha256: 81f68d89a4e906997ed62b210341999c6e2f61c4aaf6e1404e661a87ba79d61a

Contents?: true

Size: 952 Bytes

Versions: 300

Compression:

Stored size: 952 Bytes

Contents

/** Used as references for various `Number` constants. */
var MAX_SAFE_INTEGER = 9007199254740991;

/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeFloor = Math.floor;

/**
 * The base implementation of `_.repeat` which doesn't coerce arguments.
 *
 * @private
 * @param {string} string The string to repeat.
 * @param {number} n The number of times to repeat the string.
 * @returns {string} Returns the repeated string.
 */
function baseRepeat(string, n) {
  var result = '';
  if (!string || n < 1 || n > MAX_SAFE_INTEGER) {
    return result;
  }
  // Leverage the exponentiation by squaring algorithm for a faster repeat.
  // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.
  do {
    if (n % 2) {
      result += string;
    }
    n = nativeFloor(n / 2);
    if (n) {
      string += string;
    }
  } while (n);

  return result;
}

module.exports = baseRepeat;

Version data entries

300 entries across 276 versions & 32 rubygems

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