@newdash/newdash
Version:
javascript/typescript utility library
110 lines (109 loc) • 2.43 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.logic = exports.asyncAnyTrue = exports.anyTrue = exports.asyncAllTrue = exports.allTrue = void 0;
const isFunction_1 = __importDefault(require("./isFunction"));
/**
* (sync) allTrue
*
* @since 5.15.0
* @param expressions
* @returns all expressions return true
*/
function allTrue(...expressions) {
for (const expression of expressions) {
let b;
if ((0, isFunction_1.default)(expression)) {
b = expression();
}
else {
b = expression;
}
if (b === false) {
return false;
}
}
return true;
}
exports.allTrue = allTrue;
/**
*
* (async) allTrue
* @since 5.15.0
* @param expressions
* @returns all expressions return true
*/
async function asyncAllTrue(...expressions) {
for (const expression of expressions) {
let b;
if ((0, isFunction_1.default)(expression)) {
b = expression();
if (b instanceof Promise) {
b = await b;
}
}
else {
b = expression;
}
if (b === false) {
return false;
}
}
return true;
}
exports.asyncAllTrue = asyncAllTrue;
/**
* (sync) anyTrue
*
* @since 5.15.0
* @param expressions
*/
function anyTrue(...expressions) {
for (const expression of expressions) {
let b;
if ((0, isFunction_1.default)(expression)) {
b = expression();
}
else {
b = expression;
}
if (b) {
return true;
}
}
return false;
}
exports.anyTrue = anyTrue;
/**
* (async) anyTrue
*
* @since 5.15.0
* @param expressions
*/
async function asyncAnyTrue(...expressions) {
for (const expression of expressions) {
let b;
if ((0, isFunction_1.default)(expression)) {
b = expression();
if (b instanceof Promise) {
b = await b;
}
}
else {
b = expression;
}
if (b) {
return true;
}
}
return false;
}
exports.asyncAnyTrue = asyncAnyTrue;
exports.logic = {
asyncAllTrue,
asyncAnyTrue,
allTrue,
anyTrue
};