跳到主要内容

Predicate Function

谓词是返回布尔值的函数,常用于校验、过滤、filter 与高阶组合;可配合类型谓词收窄类型。

项目中的实现

  • 源码: src/predicateFunction.ts
  • 导出: isNonEmptyStringisPositiveNumberandPredicateorPredicate

各函数示例

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

什么时候优先用

  • 表单校验、列表过滤条件组合
  • 把可读的小规则拼成可复用的复合谓词