vue-app-sdk
Version:
25 lines (24 loc) • 1.49 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const _baseTimes = require("./_baseTimes.cjs");
const isArguments = require("./isArguments.cjs");
const isArray = require("./isArray.cjs");
const isBuffer = require("./isBuffer.cjs");
const _isIndex = require("./_isIndex.cjs");
const isTypedArray = require("./isTypedArray.cjs");
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
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;
}
exports.default = arrayLikeKeys;