ts-is-record

Typescript utilities

Usage no npm install needed!

<script type="module">
  import tsIsRecord from 'https://cdn.skypack.dev/ts-is-record';
</script>

README

ts-is-record

npm CircleCI Libraries.io dependency status for latest release Bundlephobia npm

Typescript utilities

import invariant from 'ts-tiny-invariant'

type Key = string | number | symbol

export function isRecord(value: unknown): value is Record<Key, unknown> {
  return (
    value !== null &&
    (typeof value === 'object' || typeof value === 'function') &&
    !Array.isArray(value)
  )
}

export function assertRecord(
  value: unknown,
  message: string
): asserts value is Record<Key, unknown> {
  invariant(isRecord(value), message)
}