Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
static getUnsignedIntSizeInBytes(value: JSBI): number {
// TODO: Profile on real data sets to see if binary search is preferable to a low-to-high linear search.
for (let m = 0; m < this.SIZE_THRESHOLDS.length; m++) {
let threshold = this.SIZE_THRESHOLDS[m];
if (JSBI.lessThanOrEqual(value, threshold)) {
return m + 1;
}
}
let sizeInBytes = this.SIZE_THRESHOLDS.length;
let threshold: JSBI = this.calculateSizeThreshold(sizeInBytes);
while (JSBI.greaterThan(value, threshold)) {
// TODO: Make larger jumps, then refine the search.
sizeInBytes++;
threshold = this.calculateSizeThreshold(sizeInBytes);
}
return sizeInBytes;
}
JSBI.divide(a, b);
JSBI.remainder(a, b);
JSBI.exponentiate(a, b);
const c = JSBI.unaryMinus(a);
const d = JSBI.bitwiseNot(a);
JSBI.leftShift(a, b);
JSBI.signedRightShift(a, b);
JSBI.bitwiseAnd(a, b);
JSBI.bitwiseOr(a, b);
JSBI.bitwiseXor(a, b);
JSBI.equal(a, b);
JSBI.notEqual(a, b);
JSBI.lessThan(a, b);
JSBI.lessThanOrEqual(a, b);
JSBI.greaterThan(a, b);
JSBI.greaterThanOrEqual(a, b);
JSBI.EQ(a, b);
JSBI.NE(a, b);
JSBI.LT(a, b);
JSBI.LE(a, b);
JSBI.GT(a, b);
JSBI.GE(a, b);
a.toString();
JSBI.toNumber(a);
a instanceof JSBI;
JSBI.asIntN(64, JSBI.BigInt('42'));
JSBI.asUintN(64, JSBI.BigInt('42'));
public static clampToSafeIntegerRange(value: JSBI): number {
if (JSBI.greaterThan(value, this.NUMBER_MAX_SAFE_INTEGER)) {
return Number.MAX_SAFE_INTEGER;
}
if (JSBI.lessThan(value, this.NUMBER_MIN_SAFE_INTEGER)) {
return Number.MIN_SAFE_INTEGER;
}
return JSBI.toNumber(value);
}