Sha256: 02703516b1d594c96987c84f7d016411d0ed7825bec23280fb974e86db178fc8

Contents?: true

Size: 1.13 KB

Versions: 264

Compression:

Stored size: 1.13 KB

Contents

var Symbol = require('./_Symbol'),
    arrayMap = require('./_arrayMap'),
    isArray = require('./isArray'),
    isSymbol = require('./isSymbol');

/** Used as references for various `Number` constants. */
var INFINITY = 1 / 0;

/** Used to convert symbols to primitives and strings. */
var symbolProto = Symbol ? Symbol.prototype : undefined,
    symbolToString = symbolProto ? symbolProto.toString : undefined;

/**
 * The base implementation of `_.toString` which doesn't convert nullish
 * values to empty strings.
 *
 * @private
 * @param {*} value The value to process.
 * @returns {string} Returns the string.
 */
function baseToString(value) {
  // Exit early for strings to avoid a performance hit in some environments.
  if (typeof value == 'string') {
    return value;
  }
  if (isArray(value)) {
    // Recursively convert values (susceptible to call stack limits).
    return arrayMap(value, baseToString) + '';
  }
  if (isSymbol(value)) {
    return symbolToString ? symbolToString.call(value) : '';
  }
  var result = (value + '');
  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
}

module.exports = baseToString;

Version data entries

264 entries across 262 versions & 29 rubygems

Version Path
guard-sass-lint-0.1.2 node_modules/lodash/_baseToString.js
guard-sass-lint-0.1.1 node_modules/lodash/_baseToString.js
lanes-0.8.0 node_modules/lodash/_baseToString.js
lanes-0.8.0 node_modules/globule/node_modules/lodash/_baseToString.js