@newdash/newdash
Version:
javascript/typescript utility library
31 lines (30 loc) • 1.33 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.multiply = void 0;
const createMathOperation_1 = __importDefault(require("./.internal/createMathOperation"));
const map_1 = __importDefault(require("./map"));
const isArray_1 = __importDefault(require("./isArray"));
/**
* @ignore
*/
const internalMultiply = (0, createMathOperation_1.default)((multiplier, multiplicand) => multiplier * multiplicand, 1);
function multiply(multiplier, multiplicand) {
if ((0, isArray_1.default)(multiplier) && (0, isArray_1.default)(multiplicand)) {
const rt = [];
multiplier.forEach((v1i) => {
multiplicand.forEach((v2i) => rt.push([v1i, v2i]));
});
return rt;
}
else if ((0, isArray_1.default)(multiplier) || (0, isArray_1.default)(multiplicand)) {
const arr = (0, isArray_1.default)(multiplier) ? multiplier : multiplicand;
const value = (0, isArray_1.default)(multiplier) ? multiplicand : multiplier;
return (0, map_1.default)(arr, (v) => internalMultiply(v, value));
}
return internalMultiply(multiplier, multiplicand);
}
exports.multiply = multiply;
exports.default = multiply;