deep-key-mirror
TypeScript icon, indicating that this package has built-in type declarations

0.6.1 • Public • Published

Deep Key Mirror

npm version License CI

Alternative to React's keyMirror which further mirrors properties deep inside the object graph.

Installation

npm install deep-key-mirror

Usage

deepKeyMirror(obj)

Returns a new object that has values equal to its property names in the given object.

Simple example

import deepKeyMirror from 'deep-key-mirror';

deepKeyMirror({ name: '', age: null }); // { name: 'name', age: 'age' }

If the given object has child arrays or objects, they are also "key-mirrored" recursively, with the .-concatenated paths from the root object assigned to each of their value.

Nested example

import deepKeyMirror from 'deep-key-mirror';

const breakfast = {
  bread: null,
  beverage: {
    milk: null,
    coffee: null,
    beer: 'BEER!',
  },
  fruits: [{ name: 'orange' }, { name: 'apple' }],
};
const mirrored = deepKeyMirror(breakfast);
/*
mirrored === {
  bread: 'bread',
  beverage: {
    milk: 'beverage.milk',
    coffee: 'beverage.coffee',
    beer: 'beverage.beer'
  },
  fruits: [
    { name: 'fruits[0].name' },
    { name: 'fruits[1].name' },
  ]
}
*/

TypeScript

TypeDoc-generated documentation is available here

/deep-key-mirror/

    Package Sidebar

    Install

    npm i deep-key-mirror

    Weekly Downloads

    20

    Version

    0.6.1

    License

    MIT

    Unpacked Size

    12.1 kB

    Total Files

    19

    Last publish

    Collaborators

    • tkqubo