/* function jval(obj,prop,a2,a3){ clog("JVAL",arguments,this) return "JVAL ~~" } jk = [ // Symbol.toPrimitive, "toString", // "valueOf", // Symbol.toStringTag, ] function jget(obj,prop,a2,a3){ var ret = obj[prop] // if (typeof(ret) == "object"){ // ret = new Proxy(ret,ph) // } clog("jdv jget",jk.includes(prop),prop in obj,prop,obj) if (jk.includes(prop)){ clog("RET",this) return "RET_" + jk.indexOf(prop) } else if (prop == "valueOf"){ return this.valueOf } // if (prop in ) // if (!(prop in obj) && prop != "undefined_key" ){ // obj.undefined_key = 1 // } return ret } function _jset(obj,prop,val,a3){ obj[prop] =val var ret = obj[prop] // if (typeof(ret) == "object"){ // ret = new Proxy(ret,ph) // } clog("jdv jget",prop,arguments) return ret } jprox = { get:jget, valueOf:jval, // set:jset, // apply:jcall, } */ rfns = { rfn_apply(){ clog("RFN:apply") return Reflect.apply(...arguments) }, rfn_construct(){ clog("RFN:construct") return Reflect.construct(...arguments) }, rfn_defineProperty(){ clog("RFN:defineProperty") return Reflect.defineProperty(...arguments) }, rfn_deleteProperty(){ clog("RFN:deleteProperty") return Reflect.deleteProperty(...arguments) }, rfn_get0(obj, prop,receiver){ // clog("RFN:get",this.cnt,prop) if (prop == "dev"){ clog("RFN:GET DEV!") } if (!mx_glob.stop){ // clog(",>>>>",prop,typeof(prop)) var err = new Error() window.log_tb(err,"get") try { // isNan(Number(prop)) var sprop sprop = prop.toString() if (isNaN(Number(sprop))){ sprop = prop.toString() } else { sprop = "number" } // sprop = typeof(prop)=="symbol" : ? window.log_tb(err,"get_"+sprop) } catch (e) { clog("RFN:ERR",prop) window.log_tb(err,"get_"+e) } } // mx_glob.stop ? 1 : window.log_tb(new Error(),"get") // window.log_tb(new Error(),"get") return Reflect.get(...arguments) }, rfn_get(obj, prop,receiver){ // clog("RFN:get",this.cnt,prop) if (prop == "dev"){ clog("RFN:GET DEV!") } else if (prop == "length" && !mx_glob.stop){ window.log_tb(new Error(),"getlen") return obj[prop] // return obj[prop] + 1 } // mx_glob.stop ? 1 : window.log_tb(new Error(),"get") // window.log_tb(new Error(),"get") return Reflect.get(...arguments) }, rfn_getOwnPropertyDescriptor(){ clog("RFN:getOwnPropertyDescriptor") return Reflect.getOwnPropertyDescriptor(...arguments) }, rfn_getPrototypeOf(){ clog("RFN:getPrototypeOf") return Reflect.getPrototypeOf(...arguments) }, rfn_has(){ // clog("RFN:has") mx_glob.stop ? 1 : window.log_tb(new Error(),"has") // window.log_tb(new Error(),"has") return Reflect.has(...arguments) }, rfn_isExtensible(){ clog("RFN:isExtensible") return Reflect.isExtensible(...arguments) }, rfn_ownKeys(){ clog("RFN:ownKeys") return Reflect.ownKeys(...arguments) }, rfn_preventExtensions(){ clog("RFN:preventExtensions") return Reflect.preventExtensions(...arguments) }, rfn_set(){ clog("RFN:set") return Reflect.set(...arguments) }, rfn_setPrototypeOf(){ clog("RFN:setPrototypeOf") return Reflect.setPrototypeOf(...arguments) }, } rprox_base = window.rprox_base || { cnt:0, // stop:0, } rprox0 = { cnt:0, apply: rfns.rfn_apply, construct: rfns.rfn_construct, defineProperty: rfns.rfn_defineProperty, deleteProperty: rfns.rfn_deleteProperty, get: rfns.rfn_get, getOwnPropertyDescriptor: rfns.rfn_getOwnPropertyDescriptor, getPrototypeOf: rfns.rfn_getPrototypeOf, has: rfns.rfn_has, isExtensible: rfns.rfn_isExtensible, ownKeys: rfns.rfn_ownKeys, preventExtensions: rfns.rfn_preventExtensions, set: rfns.rfn_set, setPrototypeOf: rfns.rfn_setPrototypeOf, } rprox = { cnt:0, // apply: rfns.rfn_apply, // construct: rfns.rfn_construct, // defineProperty: rfns.rfn_defineProperty, // deleteProperty: rfns.rfn_deleteProperty, get: rfns.rfn_get, // getOwnPropertyDescriptor: rfns.rfn_getOwnPropertyDescriptor, // getPrototypeOf: rfns.rfn_getPrototypeOf, // has: rfns.rfn_has, // isExtensible: rfns.rfn_isExtensible, // ownKeys: rfns.rfn_ownKeys, // preventExtensions: rfns.rfn_preventExtensions, // set: rfns.rfn_set, // setPrototypeOf: rfns.rfn_setPrototypeOf, } fbp = [] mx_glob = window.mx_glob || { mx:60, stop:0, } function stop_mx(){ clog("RFN STOP MX") mx_glob.stop = !0 } function gen_proxy(){ jc(rprox) var ret = Object.assign({},rprox,rprox_base) rprox_base.cnt+=1 return ret } function get_states_timer(t,mx){ // clog("rfn get state...",t,mx) if (mx >= 0){ setTimeout(get_states_timer,t,t,mx - 1) } else { clog("TIMER FIN rfn") } setTimeout(get_states,1,mx) } function get_states(mx){ // clog("rfn get state",mx,fbp,) try { fbp.push(APP.store.getState()['features/base/participants']) } catch (err) { fbp.push(err) } } setTimeout(stop_mx,6000) // get_states_timer(300,30) // get_states_timer(1,400) // get_states_timer(1000,2) // fbp = APP.store.getState()['features/base/participants'] // _j = {a:":"} // j = new Proxy(_j,rprox) // s = new Set([]) // clog("~~~~~~",arrs)