/es6-proxy-polyfill

ES6 Proxy polyfill, supports IE8+, Node.js, etc.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

简体中文 | English

ES6 Proxy Polyfill  Version

This is a polyfill for ES6 Proxy, supports IE6+ , Node.js, etc.

So far, it supports more features than the proxy-polyfill of GoogleChrome.

The polyfill supports just a limited number of proxy 'trap':

  • get
  • set
  • apply
  • construct

The Proxy.revocable method is also supported, but only for calls to the above traps.

Installation

npm i -S es6-proxy-polyfill

Usage

  1. Browser:
<!--[if lte IE 8]>
<script src="path/to/object-defineproperty-ie.js" type="text/javascript"></script>
<![endif]-->
<script src="path/to/es6-proxy-polyfill.js" type="text/javascript"></script>
<script type="text/javascript">
    var proxy = new Proxy({}, {});
</script>
  1. Node.js:
const Proxy = require('es6-proxy-polyfill');

let proxy = new Proxy({}, {});

Notice

  1. For non-array object, the properties you want to proxy must be known at creation time;
  2. In IE8 or below, it depends on Object.defineProperties and Object.getOwnPropertyDescriptor provided by library "object-defineproperty-ie";
  3. The support of traps:
Object Function Array
>=IE9 get, set get, set, apply, construct get, set
<=IE8 get, set apply, construct -

Testing

  1. Access test/browser/index.html with browser
  2. Tested in IE6-8, IE11

Contact Us

  1. WeChat: ambit_tsai
  2. QQ Group: 663286147
  3. E-mail: ambit_tsai@qq.com