• Given a deep-search query path, returns an object property or array value of an object or array as an object, or undefined if a value was not found or was not type-compatible.

    const obj = { foo: { bar: [{ name: 'baz' }] } };
    const value = getObject(obj, 'foo.bar[0]');
    // type of value -> object; value -> { name: 'baz' }

    Type Parameters

    • T extends object = object

    Parameters

    • from: unknown

      Any value to query.

    • path: string

      The query path.

    Returns Nullable<T>

  • Given a deep-search query path, returns an object property or array value of an object or array as an object, or undefined if a value was not found or was not type-compatible.

    const obj = { foo: { bar: [{ name: 'baz' }] } };
    const value = getObject(obj, 'foo.bar[1]', { name: 'buzz' });
    // type of value -> object; value -> { name: 'buzz' }

    Type Parameters

    • T extends object = object

    Parameters

    • from: unknown

      Any value to query.

    • path: string

      The query path.

    • defaultValue: T

      The default to return if the query result was not defined.

    Returns T