All files / is isPlainObject.ts

100% Statements 6/6
100% Branches 5/5
100% Functions 2/2
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24                          32x     15x 1x 1x 1x 1x      
import { isArray } from './isArray'
import { isFunction } from './isFunction'
import { isObject } from './isObject'
 
/**
 * @param value The value to check
 * @returns {boolean} Returns true if the value is a plain object, else false
 *
 * @see {@link https://lodash.com/docs#isPlainObject}
 *
 * @since v0.1.0-beta.1
 */
export function isPlainObject(value: unknown): value is Record<string, any> {
  return isObject(value) && !isArray(value) && !isFunction(value)
}
 
if (import.meta.vitest) {
  const { test, expect } = import.meta.vitest
  test('isPlainObject', () => {
    expect(isPlainObject({})).toBe(true)
    expect(isPlainObject([])).toBe(false)
  })
}