https://github.com/smoren/nested-accessor-ts
Accessor for getting and setting values of nested data structures (arrays or objects)
https://github.com/smoren/nested-accessor-ts
accessor nested-structures ts typescript
Last synced: 7 months ago
JSON representation
Accessor for getting and setting values of nested data structures (arrays or objects)
- Host: GitHub
- URL: https://github.com/smoren/nested-accessor-ts
- Owner: Smoren
- License: mit
- Created: 2022-12-08T08:46:23.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T14:49:03.000Z (almost 3 years ago)
- Last Synced: 2025-03-12T13:52:29.179Z (7 months ago)
- Topics: accessor, nested-structures, ts, typescript
- Language: TypeScript
- Homepage:
- Size: 38.1 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nested-accessor
Accessor for getting and setting values of nested data structures (arrays or objects).
### Unit testing
```
npm i
npm run test
```### Usage
#### NestedAccessor
```ts
const source = {
"data": {
"id": 1,
"name": "Countries classifier"
},
"countries": [{
"name": "Russia",
"cities": [{
"name": "Moscow",
"extra": {
"codes": [{
"value": 7495
},
{
"value": 7499
}
]
}
},
{
"name": "Petersburg",
"extra": {
"codes": [{
"value": 7812
}]
}
}
]
},
{
"name": "Belarus",
"cities": [{
"name": "Minsk",
"extra": {
"codes": [{
"value": 375017
}]
}
}]
}
]
};const accessor = new NestedAccessor(input);
console.log(accessor.get('data.name')); // 'Countries classifier'
console.log(accessor.get('countries.name')); // ['Russia', 'Belarus']
console.log(accessor.get('countries.cities.name')); // ['Moscow', 'Petersburg', 'Minsk']
console.log(accessor.get('countries.cities.extra.codes.value')); // [7495, 7499, 7812, 375017]accessor.set('data.name', 'New name');
console.log(accessor.get('data.name')); // 'New name'
```