corrade-nucleus-nucleons
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/bluebird/js/release/es5.js |
@@ -0,0 +1,80 @@ |
var isES5 = (function(){ |
"use strict"; |
return this === undefined; |
})(); |
|
if (isES5) { |
module.exports = { |
freeze: Object.freeze, |
defineProperty: Object.defineProperty, |
getDescriptor: Object.getOwnPropertyDescriptor, |
keys: Object.keys, |
names: Object.getOwnPropertyNames, |
getPrototypeOf: Object.getPrototypeOf, |
isArray: Array.isArray, |
isES5: isES5, |
propertyIsWritable: function(obj, prop) { |
var descriptor = Object.getOwnPropertyDescriptor(obj, prop); |
return !!(!descriptor || descriptor.writable || descriptor.set); |
} |
}; |
} else { |
var has = {}.hasOwnProperty; |
var str = {}.toString; |
var proto = {}.constructor.prototype; |
|
var ObjectKeys = function (o) { |
var ret = []; |
for (var key in o) { |
if (has.call(o, key)) { |
ret.push(key); |
} |
} |
return ret; |
}; |
|
var ObjectGetDescriptor = function(o, key) { |
return {value: o[key]}; |
}; |
|
var ObjectDefineProperty = function (o, key, desc) { |
o[key] = desc.value; |
return o; |
}; |
|
var ObjectFreeze = function (obj) { |
return obj; |
}; |
|
var ObjectGetPrototypeOf = function (obj) { |
try { |
return Object(obj).constructor.prototype; |
} |
catch (e) { |
return proto; |
} |
}; |
|
var ArrayIsArray = function (obj) { |
try { |
return str.call(obj) === "[object Array]"; |
} |
catch(e) { |
return false; |
} |
}; |
|
module.exports = { |
isArray: ArrayIsArray, |
keys: ObjectKeys, |
names: ObjectKeys, |
defineProperty: ObjectDefineProperty, |
getDescriptor: ObjectGetDescriptor, |
freeze: ObjectFreeze, |
getPrototypeOf: ObjectGetPrototypeOf, |
isES5: isES5, |
propertyIsWritable: function() { |
return true; |
} |
}; |
} |