⚠️

nested-obj
TypeScript icon, indicating that this package has built-in type declarations

0.1.7 • Public • Published

nested-obj

Image

Image Image

nested-obj is a simple and lightweight JavaScript utility library for safely accessing and modifying nested properties in objects using string paths.

Features

  • Get: Safely access nested properties in an object.
  • Set: Set a value at a specific path in an object. Does not overwrite if the value is undefined.
  • Has: Check if a specific path exists within an object.

Installation

npm install nested-obj

Usage

Get

Retrieve a nested property value from an object.

import objectPath from 'nested-obj';

const obj = {
  user: {
    name: 'John Doe',
    address: {
      street: '123 Main St',
      city: 'Anytown'
    }
  }
};

const userName = objectPath.get(obj, 'user.name');
console.log(userName); // 'John Doe'

Set

Set a value at a specific path in an object. If any part of the path does not exist, it will be created.

objectPath.set(obj, 'user.address.zip', '12345');
console.log(obj.user.address.zip); // '12345'

Has

Check if a path exists within an object.

const hasCity = objectPath.has(obj, 'user.address.city');
console.log(hasCity); // true

Running Tests

To run tests, execute the following command:

npm test

or for continuous

npm test:watch

Development

Setup

  1. Clone the repository:
git clone https://github.com/constructive-io/dev-utils.git
  1. Install dependencies:
cd dev-utils
pnpm install
pnpm build
  1. Test the package of interest:
cd packages/<packagename>
pnpm test:watch

Credits

Built for developers, with developers.
👉 https://launchql.com | https://hyperweb.io

Disclaimer

AS DESCRIBED IN THE LICENSES, THE SOFTWARE IS PROVIDED "AS IS", AT YOUR OWN RISK, AND WITHOUT WARRANTIES OF ANY KIND.

No developer or entity involved in creating this software will be liable for any claims or damages whatsoever associated with your use, inability to use, or your interaction with other users of the code, including any direct, indirect, incidental, special, exemplary, punitive or consequential damages, or loss of profits, cryptocurrencies, tokens, or anything else of value.

Readme

Keywords

none