MCPcopy Create free account
hub / github.com/PageLeay/celestial-runtime / getNumber

Function getNumber

lib.commonjs/utils/maths.js:132–153  ·  view source on GitHub ↗

* Gets a //number// from %%value%%. If it is an invalid value for * a //number//, then an ArgumentError will be thrown for %%name%%.

(value, name)

Source from the content-addressed store, hash-verified

130 * a //number//, then an ArgumentError will be thrown for %%name%%.
131 */
132function getNumber(value, name) {
133 switch (typeof (value)) {
134 case "bigint":
135 (0, errors_js_1.assertArgument)(value >= -maxValue && value <= maxValue, "overflow", name || "value", value);
136 return Number(value);
137 case "number":
138 (0, errors_js_1.assertArgument)(Number.isInteger(value), "underflow", name || "value", value);
139 (0, errors_js_1.assertArgument)(value >= -maxValue && value <= maxValue, "overflow", name || "value", value);
140 return value;
141 case "string":
142 try {
143 if (value === "") {
144 throw new Error("empty string");
145 }
146 return getNumber(BigInt(value), name);
147 }
148 catch (e) {
149 (0, errors_js_1.assertArgument)(false, `invalid numeric string: ${e.message}`, name || "value", value);
150 }
151 }
152 (0, errors_js_1.assertArgument)(false, "invalid numeric value", name || "value", value);
153}
154exports.getNumber = getNumber;
155/**
156 * Converts %%value%% to a number. If %%value%% is a Uint8Array, it

Callers 5

fromTwosFunction · 0.70
toTwosFunction · 0.70
maskFunction · 0.70
toNumberFunction · 0.70
toBeHexFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected