JSFiddle - React, Tailwind, and code Playground
by Tonio Loewald
TypeScript
const regHandler = (path: string | null) => ({
get(target, prop) {
switch (prop) {
case '__path':
return path + '.' + prop
}
return target[prop];
},
set(target, prop, value) {
target[prop] = value;
return true;
}
})
class Reg {
path: string;
_value: unknown;
get value() {
return new Proxy(this._value, regHandler())
}
constructor(v, path = string | null) {
this.path = path
this._value = v
}
}
const reg = new Reg({})
reg.foo = {
bar: 17
}