corrade-nucleus-nucleons – Blame information for rev 20
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
20 | office | 1 | var isES5 = (function(){ |
2 | "use strict"; |
||
3 | return this === undefined; |
||
4 | })(); |
||
5 | |||
6 | if (isES5) { |
||
7 | module.exports = { |
||
8 | freeze: Object.freeze, |
||
9 | defineProperty: Object.defineProperty, |
||
10 | getDescriptor: Object.getOwnPropertyDescriptor, |
||
11 | keys: Object.keys, |
||
12 | names: Object.getOwnPropertyNames, |
||
13 | getPrototypeOf: Object.getPrototypeOf, |
||
14 | isArray: Array.isArray, |
||
15 | isES5: isES5, |
||
16 | propertyIsWritable: function(obj, prop) { |
||
17 | var descriptor = Object.getOwnPropertyDescriptor(obj, prop); |
||
18 | return !!(!descriptor || descriptor.writable || descriptor.set); |
||
19 | } |
||
20 | }; |
||
21 | } else { |
||
22 | var has = {}.hasOwnProperty; |
||
23 | var str = {}.toString; |
||
24 | var proto = {}.constructor.prototype; |
||
25 | |||
26 | var ObjectKeys = function (o) { |
||
27 | var ret = []; |
||
28 | for (var key in o) { |
||
29 | if (has.call(o, key)) { |
||
30 | ret.push(key); |
||
31 | } |
||
32 | } |
||
33 | return ret; |
||
34 | }; |
||
35 | |||
36 | var ObjectGetDescriptor = function(o, key) { |
||
37 | return {value: o[key]}; |
||
38 | }; |
||
39 | |||
40 | var ObjectDefineProperty = function (o, key, desc) { |
||
41 | o[key] = desc.value; |
||
42 | return o; |
||
43 | }; |
||
44 | |||
45 | var ObjectFreeze = function (obj) { |
||
46 | return obj; |
||
47 | }; |
||
48 | |||
49 | var ObjectGetPrototypeOf = function (obj) { |
||
50 | try { |
||
51 | return Object(obj).constructor.prototype; |
||
52 | } |
||
53 | catch (e) { |
||
54 | return proto; |
||
55 | } |
||
56 | }; |
||
57 | |||
58 | var ArrayIsArray = function (obj) { |
||
59 | try { |
||
60 | return str.call(obj) === "[object Array]"; |
||
61 | } |
||
62 | catch(e) { |
||
63 | return false; |
||
64 | } |
||
65 | }; |
||
66 | |||
67 | module.exports = { |
||
68 | isArray: ArrayIsArray, |
||
69 | keys: ObjectKeys, |
||
70 | names: ObjectKeys, |
||
71 | defineProperty: ObjectDefineProperty, |
||
72 | getDescriptor: ObjectGetDescriptor, |
||
73 | freeze: ObjectFreeze, |
||
74 | getPrototypeOf: ObjectGetPrototypeOf, |
||
75 | isES5: isES5, |
||
76 | propertyIsWritable: function() { |
||
77 | return true; |
||
78 | } |
||
79 | }; |
||
80 | } |