# es6-proxy-polyfill

> Proxy polyfill based on ES3 supports IE8, Node.js, etc.

Latest version **2.1.1** (published 2021-04-13) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install es6-proxy-polyfill
pnpm add es6-proxy-polyfill
yarn add es6-proxy-polyfill
bun add es6-proxy-polyfill
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.1.1 |
| Published | 2021-04-13 |
| First published | 2018-09-01 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 22.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 58 |
| Author | Ambit-Tsai |
| Maintainers | ambit_tsai |
| Keywords | proxy, es6-proxy, proxy-polyfill, polyfill, ie8 |

## Links

- npm: https://www.npmjs.com/package/es6-proxy-polyfill
- Repository: https://github.com/ambit-tsai/es6-proxy-polyfill
- Homepage: https://github.com/ambit-tsai/es6-proxy-polyfill#readme
- Issues: https://github.com/ambit-tsai/es6-proxy-polyfill/issues
- npm.io page: https://npm.io/package/es6-proxy-polyfill

## Recent versions

- 2.1.1 (latest) — 2021-04-13
- 2.1.0 — 2020-10-27
- 2.0.1 — 2020-03-24
- 2.0.0 — 2020-03-19
- 1.2.1 — 2018-10-26
- 1.2.0 — 2018-09-16
- 1.0.0 — 2018-09-01

## README

[简体中文](https://gitee.com/ambit/es6-proxy-polyfill#git-readme) | English


# ES6 Proxy Polyfill&nbsp;&nbsp;![Version](https://img.shields.io/npm/v/es6-proxy-polyfill.svg)

This is a polyfill for ES6 `Proxy`, supports  **IE6+** , Node.js, etc.

So far, it supports more features than the <a href="https://github.com/GoogleChrome/proxy-polyfill" target="_blank">proxy-polyfill</a> 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
```javascript
npm i -S es6-proxy-polyfill
```


#### Usage
1. Browser:
```html
<!--[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>
```
2. Node.js:
```javascript
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**;
1. In IE8 or below, it depends on `Object.defineProperties` and `Object.getOwnPropertyDescriptor` provided by library "<a href="https://github.com/ambit-tsai/object-defineproperty-ie" target="_blank">object-defineproperty-ie</a>";
1. 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
1. Tested in IE6-8, IE11


#### Contact Us
1. WeChat: ambit_tsai
1. QQ Group: 663286147
1. E-mail: ambit_tsai@qq.com

---
_Source: https://npm.io/package/es6-proxy-polyfill · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
