obtener
v0.0.1
Published
Safely and Easily Obtain Nested Object Property Values
Maintainers
Readme
obtener
Safely and Easily Access Nested Object Property Values
why obtener
"obtener" is Spanish for "to obtain".
demo
http://danieljdufour.com/obtener/
install
<script src="https://unpkg.com/obtener"></script>or
import { get } from "obtener";basic usage
data = {
"agency": "GSA",
"measurementType": {
"method": "modules"
},
"version": "2.0.0",
"releases": [
{
"name": "usasearch",
"description": "System now maintained in open repo https://github.com/GSA/search-gov.",
"permissions": {
"licenses": null,
"usageType": "governmentWideReuse"
},
"tags": [
"GSA"
]
},
// ...
}
}get(data, 'agency');
["GSA"]
// get nested properties using dot syntax
get(data, 'releases.permissions.licenses.name');
["CC0 1.0 Universal", "PD", "agpl-3.0", ... ]
// get nested properties using double underscore syntax
get(data, 'releases__permissions__licenses__name');
["CC0 1.0 Universal", "PD", "agpl-3.0", ... ]advanced usage
unique
If you only want unique results returned:
// default
get(data, 'releases.tags');
["GSA", "GSA", "GSA", ...]
// uniques only
get(data, 'releases.tags', { unique: true });
["GSA","gsa","socialmedia", "mobileapps", ...]sort
If you want your results sorted
get(data, 'releases.tags', { sort: true });
["508", "API", "Bing", "DigitalGovSearch", ...]separator
By default, obtener tries syntax where the steps are separted by
"." or "__". If you'd like to restrict the syntax or use a custom separator:
get(data, 'releases--tags', { sep: '--' });
// accepts releases--tags and releases__tags
get(data, 'releases--tags', { sep: ['--', '__'] });