selector
v2.1.1
Published
Generic selector library
Downloads
177
Readme
Installing
Using npm:
npm i --save selector
Using yarn:
yarn add --dev selector
Usage
Here are examples of how you can use selector
.
createSelector
Return a selector helper
Examples
Get first item
const data = ['John']
const getFirstItemSelector = createSelector(0)
const item = getFirstItemSelector(data)
console.log(item) // It'll display 'John'
Get first item's name
const data = { item: { name: 'Television', isActive: true } }
const selector = createSelector('item', 'name')
const itemName = selector(data)
console.log(itemName) // It'll display 'Television'
Get first item active
const data = {
items: [
{
name: 'Television',
isActive: false,
},
{
name: 'Sofa',
isActive: true,
},
{
name: 'Door',
isActive: true,
},
],
}
const firstActiveItemSelector = createSelector('items', (items: IItem[]) =>
items.find((item: IItem) => item.isActive)
)
const item = firstActiveItemSelector(data)
console.log(item) // It'll display '{ "isActive": true, "name": "Sofa" }'
Select item with path
const path = 'items.0.name'
const data = { items: [{ name: 'Television', isActive: true }] }
const selector = createSelector(...path.split('.'))
const itemName = selector(data)
console.log(itemName) // It'll display 'Television'
Running the tests
Tests are written with jest
Unit tests
Using jest:
yarn run test
Deployment
Deployment is done with Travis.
Built With
- TSDX - TSDX
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Arnaud Zheng - Initial work - arnaud-zg
See also the list of contributors who participated in this project.
Show your support
Give a ⭐️ if this project helped you!
License
This project is licensed under the MIT License - see the LICENSE.md file for details