BigInt
- 主要语言
- JavaScript
- 星标
- 201
- 派生
- 30
- PR 合并指标
- 30 天内没有已合并 PR
描述
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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_OR).
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
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。