( patterns: ReadonlyArray<unknown> )
| 180 | } |
| 181 | |
| 182 | const makeAndPredicate = ( |
| 183 | patterns: ReadonlyArray<unknown> |
| 184 | ): Predicate.Predicate<unknown> => { |
| 185 | const predicates = patterns.map(makePredicate) |
| 186 | const len = predicates.length |
| 187 | |
| 188 | return (u: unknown) => { |
| 189 | for (let i = 0; i < len; i++) { |
| 190 | if (predicates[i](u) === false) { |
| 191 | return false |
| 192 | } |
| 193 | } |
| 194 | |
| 195 | return true |
| 196 | } |
| 197 | } |
| 198 | |
| 199 | /** @internal */ |
| 200 | export const type = <I>(): Matcher< |