Find the bypasses and forwarding bug in this generated validator.
JavaScript
function createValidatedUser(target) {
return new Proxy(target, {
set(target, key, value) {
if (key === "age" && (!Number.isInteger(value) || value < 0)) {
throw new TypeError("invalid age");
}
target[key] = value;
return true;
},
});
}
const rawUser = { age: 20 };
const user = createValidatedUser(rawUser);
Object.defineProperty(user, "age", { value: -1, writable: true });
rawUser.age = -2;