[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Type](https://evolu.dev/docs/api-reference/common/Type) › nullishOr

```ts
function nullishOr<T>(
  type: T,
): UnionType<
  [
    Type<
      "Undefined",
      undefined,
      undefined,
      UndefinedError,
      undefined,
      UndefinedError
    >,
    Type<"Null", null, null, NullError, null, NullError>,
    T,
  ]
>;
```

Defined in: [packages/common/src/Type.ts:3908](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Type.ts#L3908)

`union(undefined, null, T)` [Type](https://evolu.dev/docs/api-reference/common/Type/interfaces/Type).

Learn more:
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#nullish-coalescing

### Example

```ts
const NullishOrString = nullishOr(String);
NullishOrString.from("test"); // ok("test")
NullishOrString.from(null); // ok(null)
NullishOrString.from(undefined); // ok()
NullishOrString.from(42); // err(...)
```