Predicate Function
谓词是返回布尔值的函数,常用于校验、过滤、filter 与高阶组合;可配合类型谓词收窄类型。
项目中的实现
- 源码:
src/predicateFunction.ts - 导出:
isNonEmptyString、isPositiveNumber、andPredicate、orPredicate
各函数示例
isNonEmptyString
import { isNonEmptyString } from 'wssf-kage-js';
isNonEmptyString(' hi '); // => true
isPositiveNumber
import { isPositiveNumber } from 'wssf-kage-js';
isPositiveNumber(3); // => true
andPredicate
import { andPredicate } from 'wssf-kage-js';
const validName = andPredicate<string>(
(s) => s.trim().length > 0,
(s) => s.length < 100
);
validName('Ada');
orPredicate
import { orPredicate } from 'wssf-kage-js';
orPredicate<number>((n) => n === 0, (n) => n > 10)(0); // => true
什么时候优先用
- 表单校验、列表过滤条件组合
- 把可读的小规则拼成可复用的复合谓词