---
# System prepended metadata

title: Predicates
tags: [zeta-dom]

---

---
tags: zeta-dom
---

# Predicates

### `either`

A shorthand for `a ^ b` in TypeScript without need of casting.

```typescript
either(a, b)
```

### `is`

Tests whether a given object is an instance of the specified function.

```typescript
is(value, functionOrClass)
```

### `isUndefinedOrNull`

Tests whether a given value is `undefined` or `null`.

```typescript
isUndefinedOrNull(value)
```

### `isArray`

Tests whether the value is an array.

```typescript
isArray(obj)
```

### `isFunction`

Tests whether the value is a fuction.

```typescript
isFunction(obj)
```

Returns the same instance of function if it is a function; otherwise `false`.

### `isThenable`

Tests whether the value is thenable, i.e. can be chained as a Promise.

```typescript
isThenable(obj)
```

Returns The same instance of function if it is thenable; otherwise `false`.

### `isPlainObject`

Tests whether the value is a simple object, i.e. created with object literal {}, or with no prototype chain.

```typescript
isPlainObject(obj)
```

Returns The same instance of object if it is a simple object; otherwise `false`.

### `isArrayLike`
