8000 GitHub - arnaud-zg/selector: Generic selector library
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

arnaud-zg/selector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Welcome to selector ๐Ÿ‘‹

codecov Node.js CI release-please

Generic selector library in Typescript

Version Commit Activity Build Status Bundle Size

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

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

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

About

Generic selector library

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 5

0