resolve-dotstringkey
v1.1.1
Published
Resolves the dot object notation string to its value.
Downloads
4
Maintainers
Readme
resolve-dotstringkey
Description
This package resolves stringified dot object notation (e.g., "person.address.city") to its value.
It will be useful in parsing and matching nested properties of object (e.g.,
{"person.address.city": "New York"}
as in MongoDB queries).
Note: use square bracket notation for array indexes and dot notation for object properties. e.g.
addresses[1].city
.
Installation
$ npm i resolve-dotstringkey
Usage
resolveDotStringKey(rootObject, dottedString)
- rootObject | datatype: object | default: none | required
- dottedString | datatype: string | default: none | required
- returns | datatype: any
Examples:
const resolveKey = require("resolve-dotstringkey");
const persons = [{
name: "John",
age: 28,
contacts: [{
address: { city: "New York", state: "NY", country: "USA" },
phone: "+1 20000 50000"
},
{
address: { city: "New Jersey", state: "NJ", country: "USA" },
phone: "+1 21421 41254"
}]
},
{
name: "Robin",
age: 40,
contacts: [{
address: { city: "New York", state: "NY", country: "USA" },
phone: "+1 21426 41255"
}]
}]
Case 1:
resolveKey(persons, "[0].name") // returns "John"
Case 2:
resolveKey(persons, "[0].contacts[1].address.city") // returns "New Jersey"
Case 3:
resolveKey(persons, "[0].contacts")
returns
[
{
address: { city: "New York", state: "NY", country: "USA" },
phone: "+1 20000 50000"
},
{
address: { city: "New Jersey", state: "NJ", country: "USA" },
phone: "+1 21421 41254"
}
]
Case 4:
resolveKey(persons)
returns
[{
name: "John",
age: 28,
contacts: [{
address: { city: "New York", state: "NY", country: "USA" },
phone: "+1 20000 50000"
},
{
address: { city: "New Jersey", state: "NJ", country: "USA" },
phone: "+1 21421 41254"
}]
},
{
name: "Robin",
age: 40,
contacts: [{
address: { city: "New York", state: "NY", country: "USA" },
phone: "+1 21426 41255"
}]
}]