Hyperlinkv0.8.0-beta.28

Predicate

Predicate.isIterablefunctioneffect/Predicate.ts:1288
(input: unknown): input is Iterable<unknown>

Checks whether a value is iterable.

When to use

Use when you need a Predicate guard before iterating an unknown value.

Details

Accepts strings as iterable and uses hasProperty for Symbol.iterator.

Example (Guarding iterables)

import { Predicate } from "effect"

const data: unknown = [1, 2, 3]

console.log(Predicate.isIterable(data))
export function isIterable(input: unknown): input is Iterable<unknown> {
  return hasProperty(input, Symbol.iterator) || isString(input)
}