use OperationError to handle errors and also normalise input handling

This commit is contained in:
atsiv sivat 2026-03-08 01:04:26 +00:00
parent e18a9b04d4
commit 5e427e8531

View File

@ -4,6 +4,7 @@
* @license Apache-2.0 * @license Apache-2.0
*/ */
import OperationError from "../errors/OperationError.mjs";
import Operation from "../Operation.mjs"; import Operation from "../Operation.mjs";
import { FromIEEE754Float64 } from "../lib/IEEEBinary.mjs"; import { FromIEEE754Float64 } from "../lib/IEEEBinary.mjs";
@ -35,13 +36,22 @@ class FromIEEEBinary extends Operation {
* @param {Object[]} args * @param {Object[]} args
* @returns {string} * @returns {string}
*/ */
run(input, args) {
if (!input || input.trim().length === 0) {
return "";
}
run(input, args) {
if (input === null || input === undefined)
return "";
input = String(input);
if (input.trim().length === 0)
return "";
try {
return FromIEEE754Float64(input); return FromIEEE754Float64(input);
} catch (err) {
throw new OperationError(err.message);
} }
}
} }
export default FromIEEEBinary; export default FromIEEEBinary;