Similar to keymirror but supports nested objects, built with TypeScript
npm install key-path-mirror> Similar to keymirror but supports nested objects, built with TypeScript.
``sh`
$ npm i key-path-mirroror
$ yarn add key-path-mirror
`ts
import { keyPathMirror } from 'key-path-mirror'
keyPathMirror(obj: object, prefix?: string)
`
`ts
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 :)
`
`ts
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 :)
``
* https://github.com/apolkingg8/KeyMirrorNested
* https://github.com/werk85/pathmirror
* https://github.com/venkyjs/KeyMirrorPlus
* https://github.com/filenwind/keymirror-nested