nested-obj
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);
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);
Has
Check if a path exists within an object.
const hasCity = objectPath.has(obj, 'user.address.city');
console.log(hasCity);
Running Tests
To run tests, execute the following command:
npm test
or for continuous
npm test:watch
Development
Setup
git clone https://github.com/constructive-io/dev-utils.git
cd dev-utils
pnpm install
pnpm build
- 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.