packages/util/src/is/object.ts
// Copyright 2017-2024 @polkadot/util authors & contributors
// SPDX-License-Identifier: Apache-2.0
// eslint-disable-next-line @typescript-eslint/no-explicit-any
type ObjectIndexed = Record<string, any>;
/**
* @name isObject
* @summary Tests for an `object`.
* @description
* Checks to see if the input value is a JavaScript object.
* @example
* <BR>
*
* ```javascript
* import { isObject } from '@polkadot/util';
*
* isObject({}); // => true
* isObject('something'); // => false
* ```
*/
export function isObject <T extends ObjectIndexed = ObjectIndexed> (value?: unknown): value is T {
return !!value && typeof value === 'object';
}