react / wstein / node_modules / jest-cli / node_modules / jsdom / node_modules / request / node_modules / har-validator / node_modules / bluebird / js / main / es5.js
81160 viewsvar isES5 = (function(){1"use strict";2return this === undefined;3})();45if (isES5) {6module.exports = {7freeze: Object.freeze,8defineProperty: Object.defineProperty,9getDescriptor: Object.getOwnPropertyDescriptor,10keys: Object.keys,11names: Object.getOwnPropertyNames,12getPrototypeOf: Object.getPrototypeOf,13isArray: Array.isArray,14isES5: isES5,15propertyIsWritable: function(obj, prop) {16var descriptor = Object.getOwnPropertyDescriptor(obj, prop);17return !!(!descriptor || descriptor.writable || descriptor.set);18}19};20} else {21var has = {}.hasOwnProperty;22var str = {}.toString;23var proto = {}.constructor.prototype;2425var ObjectKeys = function (o) {26var ret = [];27for (var key in o) {28if (has.call(o, key)) {29ret.push(key);30}31}32return ret;33};3435var ObjectGetDescriptor = function(o, key) {36return {value: o[key]};37};3839var ObjectDefineProperty = function (o, key, desc) {40o[key] = desc.value;41return o;42};4344var ObjectFreeze = function (obj) {45return obj;46};4748var ObjectGetPrototypeOf = function (obj) {49try {50return Object(obj).constructor.prototype;51}52catch (e) {53return proto;54}55};5657var ArrayIsArray = function (obj) {58try {59return str.call(obj) === "[object Array]";60}61catch(e) {62return false;63}64};6566module.exports = {67isArray: ArrayIsArray,68keys: ObjectKeys,69names: ObjectKeys,70defineProperty: ObjectDefineProperty,71getDescriptor: ObjectGetDescriptor,72freeze: ObjectFreeze,73getPrototypeOf: ObjectGetPrototypeOf,74isES5: isES5,75propertyIsWritable: function() {76return true;77}78};79}808182