const watch = (target, callback)=>{ for(const key in target){ if(typeof target[key] === 'object'){ target[key] = watch(target[key], callback) } } return new Proxy( target, { set: (target, prop, newValue) => { target[prop] = newValue if(Array.isArray(target) && prop === 'length'){ return true } callback() return true } } ) } export default watch