1 | function _get(object, property, receiver) {
|
2 | if (object === null) object = Function.prototype;
|
3 | var desc = Object.getOwnPropertyDescriptor(object, property);
|
4 |
|
5 | if (desc === undefined) {
|
6 | var parent = Object.getPrototypeOf(object);
|
7 |
|
8 | if (parent === null) {
|
9 | return undefined;
|
10 | } else {
|
11 | return _get(parent, property, receiver);
|
12 | }
|
13 | } else if ("value" in desc) {
|
14 | return desc.value;
|
15 | } else {
|
16 | var getter = desc.get;
|
17 |
|
18 | if (getter === undefined) {
|
19 | return undefined;
|
20 | }
|
21 |
|
22 | return getter.call(receiver);
|
23 | }
|
24 | }
|
25 |
|
26 | module.exports = _get; |
\ | No newline at end of file |