1.0.8 • Published 1 year ago

isobject-ts v1.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

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.

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago