我正在进行io-ts验证,我想验证列表长度(它必须在最小和最大之间)。我想知道是否有办法实现这种行为,因为它可以在运行时非常方便地进行 API 端点验证。
到目前为止我所拥有的是
interface IMinMaxArray {
readonly minMaxArray: unique symbol // use `unique symbol` here to ensure uniqueness across modules / packages
}
const minMaxArray = (min: number, max: number) => t.brand(
t.array,
(n: Array): n is t.Branded<Array, IMinMaxArray> => min < n.length && n.length < max,
'minMaxArray'
);
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用,它需要Array-s的参数并且t.array也不被接受。我怎样才能以通用的方式使这项工作?