aboutsummaryrefslogtreecommitdiff
path: root/node_modules/core-js/modules/es6.reflect.get.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/core-js/modules/es6.reflect.get.js')
-rw-r--r--node_modules/core-js/modules/es6.reflect.get.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/node_modules/core-js/modules/es6.reflect.get.js b/node_modules/core-js/modules/es6.reflect.get.js
new file mode 100644
index 000000000..f8c39f500
--- /dev/null
+++ b/node_modules/core-js/modules/es6.reflect.get.js
@@ -0,0 +1,21 @@
+// 26.1.6 Reflect.get(target, propertyKey [, receiver])
+var gOPD = require('./_object-gopd')
+ , getPrototypeOf = require('./_object-gpo')
+ , has = require('./_has')
+ , $export = require('./_export')
+ , isObject = require('./_is-object')
+ , anObject = require('./_an-object');
+
+function get(target, propertyKey/*, receiver*/){
+ var receiver = arguments.length < 3 ? target : arguments[2]
+ , desc, proto;
+ if(anObject(target) === receiver)return target[propertyKey];
+ if(desc = gOPD.f(target, propertyKey))return has(desc, 'value')
+ ? desc.value
+ : desc.get !== undefined
+ ? desc.get.call(receiver)
+ : undefined;
+ if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver);
+}
+
+$export($export.S, 'Reflect', {get: get}); \ No newline at end of file