Logging access property for an Object using ES Proxy API.
MIT License
Access Proxy for an Object.
Install with npm:
npm install accessor-log-proxy
import { createProxy } from "accessor-log-proxy";
const object = {
a: {
b: {
c: 123
}
}
};
const { accessSet, proxyObject } = createProxy(object);
// Accecs
proxyObject.a.b.c
// Log
console.log(accessSet); // => Set{ "a", "a.b", "a.b.c" }
const { createProxy } = await import("https://cdn.skypack.dev/accessor-log-proxy");
const object = {
a: {
b: {
c: 123
}
}
};
const { accessSet, proxyObject } = createProxy(object);
// Accecs
console.log(proxyObject.a.b.c);
// Log
console.log(accessSet); // => Set{ "a", "a.b", "a.b.c" }
export type createProxyOptions = {
log?: (keyStack: string[], value?: any) => void;
// include prototype property like "hasOwnProperty"
// default: true
includePrototypeProperties?: boolean;
};
See Releases page.
Install devDependencies and Run npm test
:
npm test
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature
MIT azu