A tiny library to recursively wrap an object and all its sub-objects with ES2015 Proxy
.
npm install --save @slikts/deepproxy
import { deepProxy } from "@slikts/deepproxy"
const a = deepProxy({ b: { c: 1 } }, {
get(target, key) {
return target[key] ? target[key] : 123;
}
});
a.b; // -> { c: 1 }
a.foo; // -> 123
a.b.c; // -> 1
a.b.foo; // -> 123
The target object is wrapped with an additional Proxy
that traps property access and also wraps any values of object type. The created proxies are memoized to avoid re-creating them for the same target and handler.
MIT
slikts [email protected]