Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@doodle/i18n / dist / cjs / node_modules / lodash / _arrayLikeKeys.js
Size: Mime:
'use strict';

Object.defineProperty(exports, '__esModule', { value: true });

var _baseTimes = require('./_baseTimes.js');
var isArguments = require('./isArguments.js');
var isArray = require('./isArray.js');
var isBuffer = require('./isBuffer.js');
var _isIndex = require('./_isIndex.js');
var isTypedArray = require('./isTypedArray.js');

/** Used for built-in method references. */
var objectProto = Object.prototype;

/** Used to check objects for own properties. */
var hasOwnProperty = objectProto.hasOwnProperty;

/**
 * Creates an array of the enumerable property names of the array-like `value`.
 *
 * @private
 * @param {*} value The value to query.
 * @param {boolean} inherited Specify returning inherited property names.
 * @returns {Array} Returns the array of property names.
 */
function arrayLikeKeys(value, inherited) {
  var isArr = isArray.default(value),
      isArg = !isArr && isArguments.default(value),
      isBuff = !isArr && !isArg && isBuffer.default(value),
      isType = !isArr && !isArg && !isBuff && isTypedArray.default(value),
      skipIndexes = isArr || isArg || isBuff || isType,
      result = skipIndexes ? _baseTimes.default(value.length, String) : [],
      length = result.length;

  for (var key in value) {
    if ((inherited || hasOwnProperty.call(value, key)) &&
        !(skipIndexes && (
           // Safari 9 has enumerable `arguments.length` in strict mode.
           key == 'length' ||
           // Node.js 0.10 has enumerable non-index properties on buffers.
           (isBuff && (key == 'offset' || key == 'parent')) ||
           // PhantomJS 2 has enumerable non-index properties on typed arrays.
           (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
           // Skip index properties.
           _isIndex.default(key, length)
        ))) {
      result.push(key);
    }
  }
  return result;
}

var _arrayLikeKeys = arrayLikeKeys;

exports.__moduleExports = _arrayLikeKeys;
exports.default = _arrayLikeKeys;
//# sourceMappingURL=_arrayLikeKeys.js.map