import type { Fn, FnReturn, Option, Result } from '../../mod.js'; import { AnyError } from '../mod.js'; /** 快捷的逻辑判断操作 */ /** ## and : 以函数的形式执行`与`操作 + 严格只接收`boolean`类型的数据;否则报错 @category logic */ export declare function and(args: boolean[]): boolean; export declare function and(...args: boolean[]): boolean; /** ## or : 以函数的形式执行`或`操作 + 严格只接收`boolean`类型的数据;否则报错 @category logic */ export declare function or(args: boolean[]): boolean; export declare function or(...args: boolean[]): boolean; /** ## if_then : 以函数的形式执行`if`操作 + 严格只接收`boolean`类型的数据作为判断条件,否则返回`Err` @example Usage ```ts const res = if_then(true, () => 1) assert(res.is_ok)//Pass assert(res.unwrap().is_some)//Pass ``` @category logic */ export declare function if_then(condition: boolean, then: FnReturn): Result, AnyError | TypeError>; /** ## `if_let` : 以函数的形式执行`if let`操作 + 主要作用是快速生成一个`Option`类型 + 严格只接收`boolean`类型的数据作为判断条件,否则直接报错 @example Usage ```ts const res = if_let(true, 1) assert(res.is_some)//Pass assert(res.unwrap() === 1)//Pass ``` @category logic */ export declare function if_let(ef: boolean, lat: T): Option; /** ## `if_else` : 以函数的形式执行`if else`操作 + 严格只接收`boolean`类型的数据作为判断条件,否则直接报错 + 主要作用是将能生成结果的if else操作封装成函数,以下场景使用有很好的效果: 1. `if - else`语句中有执行操作,而不是单纯的返回数据(单纯返回数据建议使用三目表达式) @example Usage ```ts const ran_num = random_int() function run_in(num: number): void { assert(num < 100) } const result = if_else( () => { run_in(ran_num) return '>50' }, () => { run_in(ran_num) return '<=50' }, )(ran_num > 50) assert(result === '>50' || result === '<=50') ``` @category logic */ export declare function if_else(yes: FnReturn, no: FnReturn): Fn; /** ## `not` : 以函数的形式执行`非`操作 + 值等于执行`!value`的结果 @example Usage ```ts const val = false assert(not(valu) === !val) ``` @category logic */ export declare function not(value: unknown): unknown; //# sourceMappingURL=logic.d.ts.map