use OperationError to handle errors and also normalise input handling in operation To IEEEBinary
This commit is contained in:
parent
5e427e8531
commit
b087317acd
@ -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;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user