resolve-dotstringkey

1.1.1 • Public • Published

resolve-dotstringkey

NPM version NPM downloads Known Vulnerabilities

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"
    }] 
  }]

Package Sidebar

Install

npm i resolve-dotstringkey

Weekly Downloads

1

Version

1.1.1

License

ISC

Unpacked Size

47.1 kB

Total Files

9

Last publish

Collaborators

  • grjan7npm