isobject-ts
TypeScript icon, indicating that this package has built-in type declarations

1.0.8 • Public • Published

isobject-ts NPM version NPM monthly downloads NPM total downloads

Return true, if a given value is an object. Uses a type predicate for Typescript users to return additional type information. The type returned is Record<string | number | symbol, unknown>.

Install

Install using npm:

$ npm install --save isobject-ts

Usage

import isObject from "isobject-ts"

All of the following return true:

isObject({})
isObject(Object.create({}))
isObject(Object.create(Object.prototype))
isObject(Object.create(null))
isObject({})
isObject(new Foo())
isObject(/foo/)

All of the following return false:

isObject(function () {})
isObject(1)
isObject([])
isObject(undefined)
isObject(null)

You can use the type information like this:

const foo(bar: unknown) => {
    if(!isObject(bar)) return undefined
    /* Type is now inferred to be Record<string | number | symbol, unknown>, 
       so we can now check for keys we want to access */
    const hasBaz = 'baz' in bar
    if(!hasBaz) return undefined
    // We know that our key "baz" is in the object, so we can safely access it
    return bar.baz
}

Author

Tom Heinemeyer

License

Copyright © 2024, Tom Heinemeyer. Released under the MIT License.

Package Sidebar

Install

npm i isobject-ts

Weekly Downloads

6

Version

1.0.8

License

MIT

Unpacked Size

6.48 kB

Total Files

8

Last publish

Collaborators

  • tomheinemeyer