You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.0 KiB
38 lines
1.0 KiB
"use strict"; |
|
|
|
exports.__esModule = true; |
|
|
|
var _getPrototypeOf = require("../core-js/object/get-prototype-of"); |
|
|
|
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); |
|
|
|
var _getOwnPropertyDescriptor = require("../core-js/object/get-own-property-descriptor"); |
|
|
|
var _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor); |
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
|
|
|
exports.default = function get(object, property, receiver) { |
|
if (object === null) object = Function.prototype; |
|
var desc = (0, _getOwnPropertyDescriptor2.default)(object, property); |
|
|
|
if (desc === undefined) { |
|
var parent = (0, _getPrototypeOf2.default)(object); |
|
|
|
if (parent === null) { |
|
return undefined; |
|
} else { |
|
return get(parent, property, receiver); |
|
} |
|
} else if ("value" in desc) { |
|
return desc.value; |
|
} else { |
|
var getter = desc.get; |
|
|
|
if (getter === undefined) { |
|
return undefined; |
|
} |
|
|
|
return getter.call(receiver); |
|
} |
|
}; |