adrai / adrai/enum

BigInt

未关闭
#51 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。