adrai / adrai/enum

BigInt

Open
#51 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
JavaScript
Stars
201
Forks
30
PR merge metrics
No merged PRs in 30d

Description

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

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.