1 | /**
|
2 | * Proxy object if environment supported
|
3 | */
|
4 | export default function proxyObject(obj, extendProps) {
|
5 | if (typeof Proxy !== 'undefined' && obj) {
|
6 | return new Proxy(obj, {
|
7 | get: function get(target, prop) {
|
8 | if (extendProps[prop]) {
|
9 | return extendProps[prop];
|
10 | }
|
11 |
|
12 | // Proxy origin property
|
13 | var originProp = target[prop];
|
14 | return typeof originProp === 'function' ? originProp.bind(target) : originProp;
|
15 | }
|
16 | });
|
17 | }
|
18 | return obj;
|
19 | } |
\ | No newline at end of file |