Build NapCat Artifacts / Windows Loader Test (push) Canceled after 0s
Build NapCat Artifacts / Type Check & Test (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Framework (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Shell (push) Canceled after 0s
28 lines
656 B
Plaintext
28 lines
656 B
Plaintext
import Decimal from 'decimal.js';
|
|
import { ToPrimitive } from './262';
|
|
export function ToIntlMathematicalValue(input) {
|
|
var primValue = ToPrimitive(input, 'number');
|
|
if (typeof primValue === 'bigint') {
|
|
return new Decimal(primValue);
|
|
}
|
|
// IMPL
|
|
if (primValue === undefined) {
|
|
return new Decimal(NaN);
|
|
}
|
|
if (primValue === true) {
|
|
return new Decimal(1);
|
|
}
|
|
if (primValue === false) {
|
|
return new Decimal(0);
|
|
}
|
|
if (primValue === null) {
|
|
return new Decimal(0);
|
|
}
|
|
try {
|
|
return new Decimal(primValue);
|
|
}
|
|
catch (e) {
|
|
return new Decimal(NaN);
|
|
}
|
|
}
|