匹配
match 函数提供了一种强大的方式来处理不同类型的输入,并根据输入类型返回相应的输出,就像一个类型安全的 switch 语句。
案例记录 API
定义匹配器的最简单方法是使用 ArkType 定义字符串作为键,对应的处理程序作为值:
在这个例子中,sizeOf 是一个匹配器,接受字符串、数组、数字或 bigint 作为输入。它返回字符串和数组的长度,以及数字和 bigint 的值。
default 接受以下 4 个值之一:
"assert": 接受unknown,如果没有匹配的案例则抛出错误"never": 基于推断的案例接受输入,如果没有匹配则抛出错误"reject": 接受unknown,如果没有匹配的案例则返回ArkErrors(data: In) => unknown: 直接处理不匹配其他案例的数据
案例将按照它们指定的顺序进行检查,无论是作为对象字面量键还是通过链式方法。
流式 API
match 函数还提供了一个流式 API。这对于非字符串可嵌入的定义非常方便: