New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

nested-prop-resolver

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nested-prop-resolver

"This library helps you to find and get a nested property from a complex json object. It protects your code from null or undefined errors"

latest
npmnpm
Version
1.0.4
Version published
Maintainers
1
Created
Source

Nested Prop Resolver

This library helps you to find and get a nested property from a complex json object without any runtime error. You can use this to resolve json properties from an api response.

eg:

const responseObj = {
  user: {
    name: 'Hiran'
  }
};


const officeAddress = responseObj.office.address; // This will give you a runtime error since there is no 'office' property in api response object.

So, use the 'nested-prop-resolver' to prevent runtime errors.


// With the default value
const officeAddress = resolve(responseObj, 'office.address', 'N/A'); // Output is 'N/A'. No runtime error.

// Without the default value
const officeAddress = resolve(responseObj, 'office.address'); // Output is 'undefined'. No runtime error.

// Note: Default value is optional

const userName = resolve(responseObj, 'user.name'); // Output is 'Hiran'.

Install

yarn nested-prop-resolver

or

npm install nested-prop-resolver --save

Example

import { resolve } from 'nested-prop-resolver';

// For nested props
const responseObj = {
  user: {
    name: 'Hiran'
  }
};

const name = resolve(responseObj, 'user.name'); // Output is 'Hiran'.


// For nested arrays
const responseObj = {
  users: [
    {
      name: 'Hiran'
    }
  ]
};

const name = resolve(responseObj, 'users[0].name'); // Output is 'Hiran'.


// For complex nested arrays
const responseObj = [
  {
    users: [
      {
        name: 'Hiran'
      }
    ]
  }
];

const name = resolve(responseObj, '[0].users[0].name'); // Output is 'Hiran'.


// For unpresent nested props.
const responseObj = {
  user: {
    name: 'Hiran'
  }
};

// With default value
const age = resolve(responseObj, 'user.age', 'Not Given'); // Output is 'Not Given'.

// Without default value.
const age = resolve(responseObj, 'user.age'); // Output is 'undefined'.

License

MIT © H.R. Hiran Peiris

Keywords

nested

FAQs

Package last updated on 26 Mar 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts