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

1.0.5 • Public • Published

key-path-mirror

Build Status Version License JavaScript Style Guide

Similar to keymirror but supports nested objects, built with TypeScript.

§ Installation

$ npm i key-path-mirror
# or 
$ yarn add key-path-mirror

§ Usage

import { keyPathMirror } from 'key-path-mirror'
 
keyPathMirror(objobject, prefix?: string)

§ Examples

👉 REPL online example

const nestedObject = {
  a: 123,
  b: {
    c: 'hello',
    d: {
      e: 'world'
    }
  },
  f: {
    g: {
      h: {
        i: () => { console.log('hello world') }
      },
      j: 123
    },
    k: undefined
  },
  l: new Date()
}
 
const expectedKeyPathMirroredObject = {
  a: 'a',
  b: {
    c: 'b.c',
    d: {
      e: 'b.d.e'
    }
  },
  f: {
    g: {
      h: {
        i: 'f.g.h.i'
      },
      j: 'f.g.j'
    },
    k: 'f.k'
  },
  l: 'l'
}
 
console.assert(
  JSON.stringify(keyPathMirror(nestedObject)) ===
  JSON.stringify(expectedKeyPathMirroredObject)
) // no errors :)
const prefix = 'foobar:'
const nestedObject = {
  a: 123,
  b: {
    c: 'hello',
    d: {
      e: null
    }
  }
}
 
const expectedPrefixedKeyPathMirroredObject = {
  a: 'foobar:a',
  b: {
    c: 'foobar:b.c',
    d: {
      e: 'foobar:b.d.e'
    }
  }
}
 
console.assert(
  JSON.stringify(keyPathMirror(nestedObject, prefix)) ===
  JSON.stringify(expectedPrefixedKeyPathMirroredObject)
) // no errors :)

§ Alternatives

Package Sidebar

Install

npm i key-path-mirror

Weekly Downloads

2,672

Version

1.0.5

License

MIT

Unpacked Size

5.83 kB

Total Files

5

Last publish

Collaborators

  • kenberkeley