use OperationError to handle errors and also normalise input handling in operation To IEEEBinary

This commit is contained in:
atsiv sivat 2026-03-08 01:05:06 +00:00
parent 5e427e8531
commit b087317acd

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 { ToIEEE754Float64 } from "../lib/IEEEBinary.mjs"; import { ToIEEE754Float64 } from "../lib/IEEEBinary.mjs";
@ -34,13 +35,23 @@ class ToIEEEBinary extends Operation {
* @param {Object[]} args * @param {Object[]} args
* @returns {string} * @returns {string}
*/ */
run(input, args) { run(input, args) {
if (!input || input.trim().length === 0) { if (input === null || input === undefined)
return ""; return "";
}
input = String(input);
if (input.trim().length === 0)
return "";
try {
return ToIEEE754Float64(input); return ToIEEE754Float64(input);
} catch (err) {
throw new OperationError(err.message);
} }
} }
}
export default ToIEEEBinary; export default ToIEEEBinary;