mirror of
https://github.com/Tria-plc/emaui.git
synced 2026-08-27 07:22:56 +00:00
33 lines
937 B
JavaScript
33 lines
937 B
JavaScript
import { toNumber } from "../util/toNumber.mjs";
|
|
import { toString } from "../util/toString.mjs";
|
|
//#region src/compat/math/multiply.ts
|
|
/**
|
|
* Multiply two numbers.
|
|
*
|
|
* If either of the numbers is `NaN`, the function returns `NaN`.
|
|
*
|
|
* @param {number} value The first number in a multiplication
|
|
* @param {number} other The second number in a multiplication
|
|
* @returns {number} The product of value and other
|
|
*
|
|
* @example
|
|
* multiply(2, 3); // => 6
|
|
* multiply(2, NaN); // => NaN
|
|
* multiply(NaN, 3); // => NaN
|
|
* multiply(NaN, NaN); // => NaN
|
|
*/
|
|
function multiply(value, other) {
|
|
if (value === void 0 && other === void 0) return 1;
|
|
if (value === void 0 || other === void 0) return value ?? other;
|
|
if (typeof value === "string" || typeof other === "string") {
|
|
value = toString(value);
|
|
other = toString(other);
|
|
} else {
|
|
value = toNumber(value);
|
|
other = toNumber(other);
|
|
}
|
|
return value * other;
|
|
}
|
|
//#endregion
|
|
export { multiply };
|