{"_id":"@bryandbor/selector-utils","_rev":"2-95113942f0ccf88a64d5c7aea7e9137f","name":"@bryandbor/selector-utils","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.1":{"name":"@bryandbor/selector-utils","version":"0.0.1","description":"Utilities for selectors","author":{"name":"bryandbor"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/bryandbor/selector-utils.git"},"main":"dist/index.js","module":"dist/index.es.js","jsnext:main":"dist/index.es.js","engines":{"node":">=8","npm":">=5"},"scripts":{"test":"cross-env CI=1 react-scripts test --env=jsdom","test:watch":"react-scripts test --env=jsdom","build":"rollup -c","start":"rollup -c -w","prepare":"yarn run build","predeploy":"cd example && yarn install && yarn run build","deploy":"gh-pages -d example/build"},"peerDependencies":{},"devDependencies":{"@svgr/rollup":"^2.4.1","babel-core":"^6.26.3","babel-eslint":"^8.2.5","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.7.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","cross-env":"^5.1.4","eslint":"^5.0.1","eslint-config-standard":"^11.0.0","eslint-config-standard-react":"^6.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.0","eslint-plugin-react":"^7.10.0","eslint-plugin-standard":"^3.1.0","gh-pages":"^1.2.0","react-scripts":"^1.1.4","rollup":"^0.64.1","rollup-plugin-babel":"^3.0.7","rollup-plugin-commonjs":"^9.1.3","rollup-plugin-node-resolve":"^3.3.0","rollup-plugin-peer-deps-external":"^2.2.0","rollup-plugin-postcss":"^1.6.2","rollup-plugin-url":"^1.4.0"},"dependencies":{"deep-equal":"^1.0.1"},"gitHead":"6e4ffc8e7f1eed2490122ffd6a7c880c5b97d09a","bugs":{"url":"https://github.com/bryandbor/selector-utils/issues"},"homepage":"https://github.com/bryandbor/selector-utils#readme","_id":"@bryandbor/selector-utils@0.0.1","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","_npmUser":{"name":"bryandbor","email":"bryan@my-gala.com"},"dist":{"integrity":"sha512-0bn8Ga21CDyymXxCZuSb+TIxejgIrZQi5b/Yldp+n99lQWHlW+Vnke2fcBpLp5u6ys1/AhmMaZpD0mGyUpuo2A==","shasum":"da2a078aa2c1478212e409341fb96c8349d00a5f","tarball":"https://registry.npmjs.org/@bryandbor/selector-utils/-/selector-utils-0.0.1.tgz","fileCount":6,"unpackedSize":67093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc7JEvCRA9TVsSAnZWagAAkjEP/iCCSAusbzy88A/fDGEX\npIgUTg7Vc2MDVIoxilF1cWKVTl9/tlIql+fkhnt6UX3zNAuia1bAitsOoBDS\nBK5ERl0ZcGDuq/ymxv0Nlr1D19QrKexnCrswEqxm6UpUOImWc57o8UaIjMM0\nNZ4c0xTNcKUuVRv9RYoyTkgenRFPSRtrlxqjUuGXKtAwEfIZ2/HILdjz1CAQ\nuyQlLPCdr21f4C7M6a3DfadbbgEhh9YoYAJZQRR4pmtQ/VgR4ZFlwKdgT3Dq\nl9X6GOKjpcisAZBfDcHvHsbFWggyfChHSTguuMrEQOVDc6GgeLWf+6TL0jXM\n216UoC08YanTNW0Gsj09mE6+yz48iO0efdgfuqZWF/BPiB1GhczgTYHLIjzK\ntDOMWoyFhQq4HBTZ2jvboi6FJ3Mk16MK/sjq6PsMid+u6/72GpiU6inot3s4\n79NN9Jr0ArOxE6PD9+0lSUvu4OVnKxAJnBbQdmIL0mYcUPvvXNAX77P6fEcP\nZwUvl2Coa31PRkP3clAI723NV3IvxQvZzCyZZYhzq+71e3m8QDLbjZvVFrqB\nmi+PHLz4enAg9FJupkzwDjUf/XL72pJAV7OrSjKNMK1kC3Dr8F1XS22GOBhR\nR0DON44D845rW5hK2WL5zRs/Z0S3cGq+UGIoCveRxOmdQzweDTPNplcz9/39\nfUub\r\n=OehB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWGUEWiBamSsBZ2dR/xGsgNB8o4+Iblst8g+0MxJzvyAiEA6EhYkDyoygrzh1aGAnyROwVR3G5vRwMe4AAYOlQLD6I="}]},"maintainers":[{"name":"bryandbor","email":"bryan@my-gala.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/selector-utils_0.0.1_1559007534436_0.44153802889806704"},"_hasShrinkwrap":false},"0.0.2":{"name":"@bryandbor/selector-utils","version":"0.0.2","description":"Utilities for selectors","author":{"name":"bryandbor"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/bryandbor/selector-utils.git"},"main":"dist/index.js","module":"dist/index.es.js","jsnext:main":"dist/index.es.js","engines":{"node":">=8","npm":">=5"},"scripts":{"test":"cross-env CI=1 react-scripts test --env=jsdom","test:watch":"react-scripts test --env=jsdom","build":"rollup -c","start":"rollup -c -w","prepare":"yarn run build","predeploy":"cd example && yarn install && yarn run build","deploy":"gh-pages -d example/build"},"peerDependencies":{},"devDependencies":{"@svgr/rollup":"^2.4.1","babel-core":"^6.26.3","babel-eslint":"^8.2.5","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.7.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","cross-env":"^5.1.4","eslint":"^5.0.1","eslint-config-standard":"^11.0.0","eslint-config-standard-react":"^6.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.0","eslint-plugin-react":"^7.10.0","eslint-plugin-standard":"^3.1.0","gh-pages":"^1.2.0","react-scripts":"^1.1.4","rollup":"^0.64.1","rollup-plugin-babel":"^3.0.7","rollup-plugin-commonjs":"^9.1.3","rollup-plugin-node-resolve":"^3.3.0","rollup-plugin-peer-deps-external":"^2.2.0","rollup-plugin-postcss":"^1.6.2","rollup-plugin-url":"^1.4.0"},"dependencies":{"deep-equal":"^1.0.1"},"keywords":["selector","redux","reselect","utils","state"],"gitHead":"34e4f76f2e555c92bc2da1053f19c583266e82d4","bugs":{"url":"https://github.com/bryandbor/selector-utils/issues"},"homepage":"https://github.com/bryandbor/selector-utils#readme","_id":"@bryandbor/selector-utils@0.0.2","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","_npmUser":{"name":"bryandbor","email":"bryan@my-gala.com"},"dist":{"integrity":"sha512-sfc9jRhhActB2s/JWQa3icvnx7DNwlHiJPpJZRM+3JTbMdIATtHaPB6yFKfcURL/RR96uWApzrVhb1m3fwtxOg==","shasum":"dd5de3635a61f2fb298c28beaafe764603cb160a","tarball":"https://registry.npmjs.org/@bryandbor/selector-utils/-/selector-utils-0.0.2.tgz","fileCount":6,"unpackedSize":67288,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc7MpBCRA9TVsSAnZWagAAlCcP/jsM15jYc1HR4NJeWQv7\nftH8B40xjiO73wtu2hedVrxo9qMyfMQojPSn2rM6+MpicQ+wB0nvhgA0iA73\ngFf1/SeNMMa/Ezi6j4TjAwZX4PcMw/g90jMyegXVvyFV9zSaTWkmqLqcjCTc\nk5eRF7anGflsZhrkKOIJXuwykMhpLoUxDx1z7XHAjx72aAMJTap8TUci5Xoa\nUBTanuIjC2pAPZMyVFtAsGLy7TYdzUIfdzeitbVyibSr1iUU++tROR8wDiwl\njO5k8clFBEyTJsubN+FNqm7uxh0I7gya59DC1S7PBhCPXj1tmzT5hbFycI6c\naM68cVFma691GxgW/G7bGl47o8a6YjmNi9BHkyTtADBiIp3uEzowL+1NpshB\nONozH4ULGjzZiFgHwZzAGWdif5liod2E8tY4juqFXepDBGQD6WdBq6lEWI2N\nNA2e+aYHZpluNoswn7+GhYwuN3vfAdndp7KTbUGnHZz+RM6yQB0amp3VBmkj\njz7/BLERsMLc/ORp/lSBDYdO3b5zQZExnMXQxfvc1z9PGkxaJXC0r+nOOdh8\nn2aCxr80CdrPhfi2AwyyqMB6Jo0Q62VKzjg/iRgxsCAky4nQHzR1i/gtwuVl\nRC0rfH4sgAi37yRvP4+O4WChZRKBcPPtrvALdPg39bFxN30pbRC+V6OEXnEB\nnihl\r\n=t7Hz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID0ABcDVW5YdyNQkNJ9uq4LP+l5uAv3REV0eRGy3k684AiEA+wR1Dqj7Z6lAuKbJ4ddlwX0JHoRd96iQXd04Q8xGADE="}]},"maintainers":[{"name":"bryandbor","email":"bryan@my-gala.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/selector-utils_0.0.2_1559022144243_0.9302721500616447"},"_hasShrinkwrap":false}},"time":{"created":"2019-05-28T01:38:54.435Z","0.0.1":"2019-05-28T01:38:54.585Z","modified":"2022-04-04T20:49:41.553Z","0.0.2":"2019-05-28T05:42:24.379Z"},"maintainers":[{"name":"bryandbor","email":"bryan@my-gala.com"}],"description":"Utilities for selectors","homepage":"https://github.com/bryandbor/selector-utils#readme","repository":{"type":"git","url":"git+https://github.com/bryandbor/selector-utils.git"},"author":{"name":"bryandbor"},"bugs":{"url":"https://github.com/bryandbor/selector-utils/issues"},"license":"MIT","readme":"# @bryandbor/selector-utils\n\n> Utilities for selectors\n\n[![NPM](https://img.shields.io/npm/v/@bryandbor/selector-utils.svg)](https://www.npmjs.com/package/@bryandbor/selector-utils) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com) [![Package Size](https://badgen.net/packagephobia/publish/@bryandbor/selector-utils)](https://packagephobia.now.sh/result?p=%40bryandbor%2Fselector-utils) [![Weekly downloads](https://badgen.net/npm/dw/@bryandbor/selector-utils)](https://www.npmjs.com/package/@bryandbor/selector-utils)\n\n## Install\n\n```bash\nnpm install --save @bryandbor/selector-utils\n```\n\n## Usage\n\n_The use of the [reselect](https://github.com/reduxjs/reselect) library is suggested, but not required._\n\n```js\nimport {createSelector} from 'reselect';\nimport {\n  trueIfAllAreTrue,\n  trueIfAnyAreTrue,\n  not,\n  sum,\n  getIsGreaterThanOrEqual,\n  getIsEqual,\n  joinStrings,\n  // There are many more utils exported from this library, this is just a subset used for demo purposes\n} from '@bryandbor/selector-utils';\n\nexport const getNumberOfFriends = createSelector(\n  getFriendsFromSchool,\n  getFriendsFromWork,\n  getFamilyFriends,\n  sum,\n);\n\nexport const getHasLotsOfFriends = createSelector(\n  getNumberOfFriends,\n  getIsGreaterThanOrEqual(25)\n);\n\nexport const getIsFirstNameSilly = createSelector(\n  getFirstName,\n  getIsEqual('Bozo')\n);\n\nexport const getIsLastNameGreat = createSelector(\n  getLastName,\n  getIsEqual('Powers')\n);\n\nexport const getIsNameCool = createSelector(\n  not(getIsFirstNameSilly),\n  getIsLastNameGreat,\n  trueIfAnyAreTrue\n);\n\nexport const getIsCoolPerson = createSelector(\n  getHasLotsOfFriends,\n  getIsNameCool,\n  trueIfAllAreTrue\n);\n\nexport const getCoolPersonGreeting = createSelector(\n  'Hello,'\n  getFirstName,\n  'you are officially cool!'\n);\n```\n\n## License\n\nMIT © [bryandbor](https://github.com/bryandbor)\n","readmeFilename":"README.md","keywords":["selector","redux","reselect","utils","state"]}