1
This commit is contained in:
+25
@@ -0,0 +1,25 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = proxyObject;
|
||||
/**
|
||||
* Proxy object if environment supported
|
||||
*/
|
||||
function proxyObject(obj, extendProps) {
|
||||
if (typeof Proxy !== 'undefined' && obj) {
|
||||
return new Proxy(obj, {
|
||||
get(target, prop) {
|
||||
if (extendProps[prop]) {
|
||||
return extendProps[prop];
|
||||
}
|
||||
|
||||
// Proxy origin property
|
||||
const originProp = target[prop];
|
||||
return typeof originProp === 'function' ? originProp.bind(target) : originProp;
|
||||
}
|
||||
});
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
Reference in New Issue
Block a user