Hi,
I use the version 2.5.0 (I'll update, but I don't now when actually).
This plugin fails if more than 32-33 (I don't remember exactly) items flaggables, because the javascript bitwise OR truncate:
see documentation.
I have created a flaggable enum using the BigInt object, and the plugin crash only in one method:
if(!(e.value!==0&&!(e.value&e.value-1))) { return false; }
Fails because cannot use the minus operator between Number and BigInt.
I have tested using typeof and resolved. When I will update to latest version, if this problem will be present yet I'll create a PL.
Solution:
if((typeof e.value==="number")&&(!(e.value !== 0 && !(e.value & e.value - 1)))) { return false; } else if((typeof e.value==="bigint")&&(!(e.value!==0&&!(e.value&e.value-BigInt(1))))) { return false; }
B.r.
Cristiano Larghi
Hi,
I use the version 2.5.0 (I'll update, but I don't now when actually).
This plugin fails if more than 32-33 (I don't remember exactly) items flaggables, because the javascript bitwise OR truncate:
see documentation.
I have created a flaggable enum using the BigInt object, and the plugin crash only in one method:
if(!(e.value!==0&&!(e.value&e.value-1))) { return false; }Fails because cannot use the minus operator between Number and BigInt.
I have tested using typeof and resolved. When I will update to latest version, if this problem will be present yet I'll create a PL.
Solution:
if((typeof e.value==="number")&&(!(e.value !== 0 && !(e.value & e.value - 1)))) { return false; } else if((typeof e.value==="bigint")&&(!(e.value!==0&&!(e.value&e.value-BigInt(1))))) { return false; }B.r.
Cristiano Larghi