lowercase-keys

  • Version 4.0.1
  • Published
  • 5.05 kB
  • No dependencies
  • MIT license

Install

npm i lowercase-keys
yarn add lowercase-keys
pnpm add lowercase-keys

Overview

Lowercase the keys of an object

Index

Functions

function lowercaseKeys

lowercaseKeys: <T>(
object: Record<string, T>,
options?: Options<T>
) => Record<string, T>;
  • Lowercase the keys of an object.

    Returns

    A new object with the keys lowercased.

    Example 1

    import lowercaseKeys from 'lowercase-keys';
    lowercaseKeys({FOO: true, bAr: false});
    //=> {foo: true, bar: false}

Type Aliases

type OnConflictArgument

type OnConflictArgument<T> = {
/**
The lowercased key that conflicts.
*/
key: string;
/**
The new value that is being set.
*/
newValue: T;
/**
The existing value that was already set.
*/
existingValue: T;
};

    type Options

    type Options<T> = {
    /**
    A function that is called when multiple keys in the input object map to the same lowercased key.
    The function receives the lowercased key, the new value, and the existing value, and should return the value to use.
    By default, the last value wins.
    @example
    ```
    import lowercaseKeys from 'lowercase-keys';
    // Throw on conflict
    lowercaseKeys({Key: 'value1', key: 'value2'}, {
    onConflict({key}) {
    throw new Error(`Duplicate key: ${key}`);
    }
    });
    // Keep the first value
    lowercaseKeys({Key: 'value1', key: 'value2'}, {
    onConflict: ({existingValue}) => existingValue,
    });
    //=> {key: 'value1'}
    ```
    */
    onConflict?: (argument: OnConflictArgument<T>) => T;
    };

      Package Files (1)

      Dependencies (0)

      No dependencies.

      Dev Dependencies (3)

      Peer Dependencies (0)

      No peer dependencies.

      Badge

      To add a badge like this onejsDocs.io badgeto your package's README, use the codes available below.

      You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/lowercase-keys.

      • Markdown
        [![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/lowercase-keys)
      • HTML
        <a href="https://www.jsdocs.io/package/lowercase-keys"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>