Bugs fixed
This commit is contained in:
parent
360a89993d
commit
d20f8dc25f
|
@ -5,9 +5,6 @@
|
|||
"private": false,
|
||||
"description": "Dont use variable, use smart variable wires !",
|
||||
"main": "wire.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://git.saqut.com/saqut/wirejs.git"
|
||||
|
|
|
@ -67,7 +67,35 @@
|
|||
}
|
||||
é.fingerPrint = Symbol("wire");
|
||||
é.isWire = n => n?.fp == é.fingerPrint;
|
||||
é.extract = (e,v) => typeof e=='function'?e(v):e;
|
||||
é.extract = (e,v) => {
|
||||
if(typeof e=='function')
|
||||
{
|
||||
return é.freeze(e(v))
|
||||
}else{
|
||||
return é.freeze(e);
|
||||
}
|
||||
};
|
||||
é.freeze = a => {
|
||||
if(Object.isFrozen(a))
|
||||
{
|
||||
return a;
|
||||
}
|
||||
switch(typeof a)
|
||||
{
|
||||
case "object":{
|
||||
let k = Object.assign({}, a);
|
||||
for (const [name, value] of Object.entries(k)) {
|
||||
if(typeof value == "object")
|
||||
{
|
||||
k[name]=é.freeze(value);
|
||||
}
|
||||
};
|
||||
Object.freeze(k);
|
||||
return k;
|
||||
}
|
||||
default: return a;
|
||||
};
|
||||
};
|
||||
é.isSame = (a,b) => !é.diff(a,b);
|
||||
é.watch = (fn, assoc) => {
|
||||
for (const wireVar of assoc)
|
||||
|
@ -149,17 +177,17 @@
|
|||
{
|
||||
case "undefined":
|
||||
case "function":{
|
||||
return typeof a == typeof b ? é.cDiff.some : é.cDiff.different
|
||||
return typeof a == typeof b ? cDiff.some : cDiff.different
|
||||
}
|
||||
case "symbol":
|
||||
case "bigint":
|
||||
case "boolean":
|
||||
case "number":
|
||||
case "string":{
|
||||
return a === b ? é.cDiff.some : é.cDiff.different;
|
||||
return a === b ? cDiff.some : cDiff.different;
|
||||
}
|
||||
case "object":{
|
||||
return é.cDiff.adiff;
|
||||
return cDiff.adiff;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -209,7 +237,7 @@
|
|||
};
|
||||
const schedule = function(fn){
|
||||
schedule.jobs.push(fn)
|
||||
if(!é.schedule.executing)
|
||||
if(!schedule.executing)
|
||||
{
|
||||
requestAnimationFrame(()=>{
|
||||
for (const fn of schedule.jobs) {
|
||||
|
@ -218,7 +246,8 @@
|
|||
}catch(e){
|
||||
console.error(e)
|
||||
}
|
||||
}
|
||||
};
|
||||
schedule.jobs=[];
|
||||
})
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue