A simple and lightweight dot-notation based property resolver.
- Fast
- Lightweight, well-documented source code bundled as CJS, EM and UMD
- 100% test coverage
- Supports objects and arrays
To install JS-Get, just run the following:
$ npm install @hypefactors/js-get
Note: This package was only tested on Node.js versions 9 and 8 or higher.
Import the module via import get from '@hypefactors/js-get'
or if you're not using a bundler use require instead (Node environment).
Given that there is an object with the following structure:
const profile = {
age: 15,
name: {
first: 'John'
},
activities: [
'sports',
{
name: 'fishing',
frequency: 'weekly'
}
]
}
The properties can be accessed using dot notation:
get(profile, 'age') // 15
get(profile, 'name.first') // 'John'
get(profile, 'activities.0') // 'sports'
get(profile, 'activities.1.frequency') // 'weekly'
get(profile, 'foobar', 'not-found') // 'not-found'
Or using array syntax:
get(profile, ['age']) // 15
get(profile, ['name', 'first']) // 'John'
get(profile, ['activities', '0']) // 'sports'
get(profile, ['activities', '1', 'frequency']) // 'weekly'
get(profile, ['foobar'], 'not-found') // 'not-found'
Thanks for your interest in JS-Get! If you'd like to contribute, please read our contribution guide.
JS-Get is open-sourced software licensed under the ISC license. If you'd like to read the license agreement, click here.