proxyObject.js 493 B

12345678910111213141516171819
  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. // Proxy origin property
  12. var originProp = target[prop];
  13. return typeof originProp === 'function' ? originProp.bind(target) : originProp;
  14. }
  15. });
  16. }
  17. return obj;
  18. }