proxyObject.js 589 B

12345678910111213141516171819202122232425
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = proxyObject;
  6. /**
  7. * Proxy object if environment supported
  8. */
  9. function proxyObject(obj, extendProps) {
  10. if (typeof Proxy !== 'undefined' && obj) {
  11. return new Proxy(obj, {
  12. get: function get(target, prop) {
  13. if (extendProps[prop]) {
  14. return extendProps[prop];
  15. }
  16. // Proxy origin property
  17. var originProp = target[prop];
  18. return typeof originProp === 'function' ? originProp.bind(target) : originProp;
  19. }
  20. });
  21. }
  22. return obj;
  23. }