{"_id":"argsbytype","_rev":"81-959f8443c6d1fcd849421bcf27a1f5e0","name":"argsbytype","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","dist-tags":{"latest":"3.21.0","next":"3.21.0-next.1603919847.a0f6cd1e352dfaf4c27a775acb8628aefc833e7e"},"versions":{"1.0.0":{"title":"Arguments By Type","name":"argsbytype","version":"1.0.0","description":"Provide say `[1, 'asd']` and get back `{number:[1], string:['asd']}`. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","keywords":["a","b","c"],"license":{"type":"MIT"},"badges":{"travis":true,"npm":true,"david":true,"daviddev":true,"gittip":"bevry","flattr":"344188/balupton-on-Flattr","paypal":"QB8GQPZAH84N6","bitcoin":"https://coinbase.com/checkouts/9ef59f5479eec1d97d63382c9ebcb93a","wishlist":"http://amzn.com/w/2F8TXKSNAFG4V"},"author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"name":"balupton","email":"b@lupton.cc"}],"contributors":[],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"http://github.com/bevry/argsbytype.git"},"engines":{"node":">=0.4"},"dependencies":{"typechecker":"^2.0.8"},"devDependencies":{"coffee-script":"~1.7.1","joe":"~1.5.0","joe-reporter-console":"~1.2.1","chai":"~1.9.1","projectz":"~0.3.11"},"directories":{"lib":"./out/lib"},"scripts":{"test":"node ./test/argsbytype-test.js"},"main":"./lib/argsbytype.js","browsers":true,"gitHead":"9254d65071f926b5d444247fb99d1eff2fb31f17","_id":"argsbytype@1.0.0","_shasum":"c6d84b63eb99881372be39456749969b997c63a3","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"balupton","email":"b@lupton.cc"},"dist":{"shasum":"c6d84b63eb99881372be39456749969b997c63a3","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-1.0.0.tgz","integrity":"sha512-qjItpLnE5Gq1goeugh5iAI8pb2pjZafhO1FjXaAQh4fFNfx2yYwq/W3JqihbGBN9qGUl5zn0w3zB5kjY3EZJ/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZFsmtLW3sRMb5QkdS49vucY2Hb+jwTLS/V7Q1/78gYAIhAIx0rqDbqekTQVhAXAmNnNtf7Z7/1JSgk+JqlQ256S8H"}]}},"1.0.1":{"title":"Arguments By Type","name":"argsbytype","version":"1.0.1","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","keywords":["arguments","args","utility"],"license":"MIT","badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","slackin","patreon","gratipay","flattr","paypal","bitcoin","wishlist"],"config":{"patreonUsername":"bevry","gratipayUsername":"bevry","flattrCode":"344188/balupton-on-Flattr","paypalURL":"https://bevry.me/paypal","bitcoinURL":"https://bevry.me/bitcoin","wishlistURL":"https://bevry.me/wishlist","slackinURL":"https://slack.bevry.me"}},"author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"https://bevry.me"},"maintainers":[{"name":"balupton","email":"b@lupton.cc"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://balupton.com"},{"name":"Benjamin Lupton","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+ssh://git@github.com/bevry/argsbytype.git"},"engines":{"node":">=0.4"},"browsers":true,"main":"./lib/argsbytype.js","dependencies":{"typechecker":"^4.0.1"},"devDependencies":{"assert-helpers":"^4.1.0","joe":"~1.6.0","joe-reporter-console":"~1.2.1","projectz":"^1.0.0"},"scripts":{"clean":"node --harmony nakefile.js clean","setup":"node --harmony nakefile.js setup","compile":"node --harmony nakefile.js compile","watch":"node --harmony nakefile.js watch","verify":"node --harmony nakefile.js verify","meta":"node --harmony nakefile.js meta","prepare":"node --harmony nakefile.js prepare","release":"node --harmony nakefile.js release","test":"node --harmony ./test/argsbytype-test.js"},"gitHead":"a7fd3b878d349de118f8498ab28ae6ea98a5c080","_id":"argsbytype@1.0.1","_shasum":"89cee2442fb1c2cca1ed4342879342f132c6ec3f","_from":".","_npmVersion":"3.5.1","_nodeVersion":"5.2.0","_npmUser":{"name":"balupton","email":"b@lupton.cc"},"dist":{"shasum":"89cee2442fb1c2cca1ed4342879342f132c6ec3f","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-1.0.1.tgz","integrity":"sha512-e+mgDChXGbnSfZatjV8SeyQGt///hcCLB+4/41SL3NueRfVNhhnKAo/NxYMRnfK6I+atWCk+GCSZGewc1vcWrA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9F98lNxLg+Sry9j/IW4k/kKNuIxiw9gTlIK/GcGNENQIhAOXAT/CoSvCzr3LcrZxtuxjz74Z9rF19ozyTGTLQ7Zmi"}]},"directories":{}},"1.1.0":{"title":"Arguments By Type","name":"argsbytype","version":"1.1.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","opencollective","gratipay","flattr","paypal","bitcoin","wishlist","---","slackin"],"config":{"patreonUsername":"bevry","opencollectiveUsername":"bevry","gratipayUsername":"bevry","flattrUsername":"balupton","paypalURL":"https://bevry.me/paypal","bitcoinURL":"https://bevry.me/bitcoin","wishlistURL":"https://bevry.me/wishlist","slackinURL":"https://slack.bevry.me"}},"author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"us@bevry.me","name":"bevryme"},{"email":"b@lupton.cc","name":"balupton"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=0.8"},"editions":[{"description":"Source + ESNext + Require","directory":"source","entry":"index.js","syntaxes":["javascript","esnext","require"]},{"description":"Babel Compiled + ES2015 + Require","directory":"es2015","entry":"index.js","syntaxes":["javascript","es2015","require"]}],"main":"index.js","browser":"es2015/index.js","dependencies":{"editions":"^1.3.4","typechecker":"^4.0.1"},"devDependencies":{"assert-helpers":"^4.5.1","babel-cli":"^6.26.0","babel-preset-es2015":"^6.24.1","eslint":"^4.16.0","joe":"^2.0.2","joe-reporter-console":"^2.0.1","projectz":"^1.4.0"},"scripts":{"our:setup":"npm run our:setup:npm","our:setup:npm":"npm install","our:clean":"rm -Rf ./docs ./es2015 ./es5 ./out","our:compile":"npm run our:compile:es2015","our:compile:es2015":"babel ./source --out-dir ./es2015 --presets es2015","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:verify":"npm run our:verify:eslint","our:verify:eslint":"eslint --fix ./source","our:test":"npm run our:verify && npm test","our:release":"npm run our:release:prepare && npm run our:release:check && npm run our:release:tag && npm run our:release:push","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:check":"npm run our:release:check:changelog && npm run our:release:check:dirty","our:release:check:changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check:dirty":"git diff --exit-code","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:release:push":"git push origin master && git push origin --tags","test":"node --harmony ./test.js --joe-reporter=console"},"browsers":true,"gitHead":"af6437542ffeb1681eecd919347f850f04e8e1d3","_id":"argsbytype@1.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"bevryme","email":"us@bevry.me"},"dist":{"integrity":"sha512-DWANR6Up7rZUF1d0xOLqKxIiLoEtiC0PATbRO5USM3t1D1+jzrqZJ5ttQtB0vwmrk7+XVJ+AdixE+ddWbswQRg==","shasum":"a3db08cd809bf71b0e0985e072cb06aecac37a87","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-1.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfMJRxjwhQJ+hZMaDuteV7vCwkWZ3HqXDbJl6k78fP9AIgVl3O4ejw7BA00A5/u5JZt032V/hpvkOxyRbphpf2XPk="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype-1.1.0.tgz_1517357981030_0.7173198747914284"},"directories":{}},"1.2.0":{"title":"Arguments By Type","name":"argsbytype","version":"1.2.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","thanksapp","boostlab","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist"}},"author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=0.8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 11","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}},{"description":"esnext compiled for node.js 0.8 with require for modules","directory":"edition-node-0.8","entry":"index.js","tags":["javascript","require"],"engines":{"node":"0.8 || 0.10 || 0.12 || 4 || 6 || 8 || 10 || 11","browsers":false}}],"main":"index.js","browser":"edition-browsers/index.js","dependencies":{"editions":"^2.1.3","typechecker":"^4.0.1"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.2.2","@babel/plugin-proposal-object-rest-spread":"^7.2.0","@babel/preset-env":"^7.2.3","assert-helpers":"^4.9.3","eslint":"^5.11.1","eslint-config-bevry":"^1.1.1","eslint-config-prettier":"^3.3.0","eslint-plugin-prettier":"^3.0.1","kava":"^3.1.0","prettier":"^1.15.3","projectz":"^1.7.4","valid-directory":"^1.0.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers && npm run our:compile:edition-node-0.8","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:compile:edition-node-0.8":"env BABEL_ENV=edition-node-0.8 babel --out-dir ./edition-node-0.8 ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:npm","our:setup:npm":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","test":"node ./test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]},"edition-node-0.8":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"node":"0.8"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"9fc75430e72834bda214c081929b46f1869bfb69","_id":"argsbytype@1.2.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"bevryme","email":"us@bevry.me"},"dist":{"integrity":"sha512-WrUSxWpqC/RoyPNbMK8FjFdQ1DTK0wDcDfnglYL2RPEZXRG20zU/tNSQdOks1mMhiP6JfU3B4dWkmxFLWHUauA==","shasum":"675b447ee45ca47931c32397452723921b816903","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-1.2.0.tgz","fileCount":8,"unpackedSize":19699,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcKxGJCRA9TVsSAnZWagAAbfcP/3+yXmGLOlPS1ecLldkM\ng0rG0Gsz6pO+ak+pJAszoEbhLkbO1g61nl5Wn9EKSS/TgGuj8cxc44ZCUDS0\nczXyoKfoY2bugNCwgl/ezGm8wkKkK3AhGTOyiHn33o8pBl56ivGNrL6FJCeN\n0JqHjqrI3Ah7vcWaq5cFzieGt/HpHt6O1SbTYME7i6wxzpnqNG8gmcTeF+nS\nB/QERcebyZyjHILzlw3Z8LaZuatq9LaN1EVFGQatiBslopFsvmCGqUIQj0aA\nH+2Or9290IqZdwfeI9H3sT+tXDg2ZKpUO5fEKIXuHbkaZFvoIsop4C2NS4h9\nebRT6Tf2xxJ1kItobNIekrGIqjT4Lc1VD3h9knrOniWt9+Yzegal1iPWYLTX\ntNL2WI3UOgfPWQqhRB7hWWM4nNH0v1nVkvKHx+voK4LOC54gDRLzooxwzhnc\nald9A0SQuNU7R/jbVoCyU8+UR2l94OESWtBv5ncz4eFk3XT+GaJx8czlCJEw\n2bp+DkpJUbOoKBXkmeT8DOIxNfcNBwgCJyVGlBm4rt0By3EMrhP5jnZ5QY21\nu15R4/dZqqk6jncXPGg7fhxdT74hDPSdg4rWy0ecLrSwDnG+Gs4UXczbaYmV\nbgqwESSVQ0bqJwQVfCbnwm2diWeCG7sU2YEeXnHS42MxMlCBXX30DfK7YJOt\nMYtb\r\n=UqMJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGmo51o//ux5OO13qxOE81zIcxerXbPLRuLk/cLBiMB2AiEA7yxIbemBy8gP8RP4H25swv+dZnjQMkuud0eQBHJT1Qk="}]},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_1.2.0_1546326408612_0.973155948227242"},"_hasShrinkwrap":false},"1.3.0":{"title":"Arguments By Type","name":"argsbytype","version":"1.3.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=0.8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 13","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}},{"description":"esnext compiled for node.js 0.8 with require for modules","directory":"edition-node-0.8","entry":"index.js","tags":["javascript","require"],"engines":{"node":"0.8 || 0.10 || 0.12 || 4 || 6 || 8 || 10 || 12 || 13","browsers":false}}],"main":"index.js","browser":"edition-browsers/index.js","dependencies":{"editions":"^2.2.0","typechecker":"^4.9.0"},"devDependencies":{"@babel/cli":"^7.7.0","@babel/core":"^7.7.2","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/preset-env":"^7.7.1","assert-helpers":"4.10.0","eslint":"^6.6.0","eslint-config-bevry":"^1.2.1","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1","kava":"^3.2.0","prettier":"^1.19.1","projectz":"^1.10.0","valid-directory":"^1.0.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers && npm run our:compile:edition-node-0.8","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:compile:edition-node-0.8":"env BABEL_ENV=edition-node-0.8 babel --out-dir ./edition-node-0.8 ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]},"edition-node-0.8":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"node":"0.8"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"ab479384d01b739c50ccfdc06d6083873fc5a538","_id":"argsbytype@1.3.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-OZ3ge+0k3lys8P0LA5r7UE8fvr5JHBhkAZPe/iXi7R+d1ZOVdTm88B1dAz8VtdQB9EKJ5Jmy1GfL/hDvktlvxg==","shasum":"6f029b7e9fdea1bd63a8d12841c02fe02997da48","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-1.3.0.tgz","fileCount":10,"unpackedSize":19428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdy4CoCRA9TVsSAnZWagAAkxQP/jbbjsSVZKrj8zlunK3e\nnu8OpS+1UwkQwW93yi0gQlWIJYLJjBW4llpzE5uxcF50cNRwb56t3gz2BlU3\nx6WBJK7Y8ob7QEu3fz3iiHF0UPVdVVpKwPZIPLerLR/XKhdSwLFOxb1sw6kw\nWWcHuoOKqNHR0KHmGlYJ0gjhUN2Zd6+OOZkvffqOUyV+/X4dnGne71n0hkW0\nptrFVV26czsqsY2nKGVN/jh/imEFOwq9H12O/Ttow0F+kiODjmOlWFTchuRl\neDpjzSYlCZIce1tDGDGF84D4NuQkYSajl+T0qV8MuPnNsgO3FPYU6OgqUAd4\np6b7amUuc8ZC1CaTj8G9fubUAtwuOPX0kuG1zEGNSUeoyvFPDnko0dySbHgf\nR4cwWQB9tAu3OOHqWpErvt3KWMnfyYLGXlRB5li2+Cwse/edWh/mbVwHqwdT\n7UO2bUsGLlyzAQrlZnf16qV2u7jwAPpRNWC+fpt+w8E/qRpJ2s3ePGwTFHAz\nq+DwlpIVw9ZnPkKMQelLyXr5gKGoGM0us/6U4BbyN5GhriEsmEIIFoIwN4Z1\n4bKeXIzD7AYyNUxp/cX+V0Enn0zoMPaQziMTwmHgscItzisPinJc752ji+Q+\n2K6OHHYTomp8e+MUd+9/I7KhzDMVEGnY6vZiZxfpd9eC2uMJKKxCYnPtX0nJ\nhISk\r\n=EQZ6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGLbLkRYT/sjggq8PP0KV7WiQxIvkG8AtlpM+s92pPXGAiA1X5mzYeVwhZJQcX33z2QKPFHdbsdGE8gPRXJAM5Zhzw=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_1.3.0_1573617832318_0.20485270949033452"},"_hasShrinkwrap":false},"1.3.0-next.1573625418.7773779c2e45de7d05e26f4907374b9db610eaf8":{"title":"Arguments By Type","name":"argsbytype","version":"1.3.0-next.1573625418.7773779c2e45de7d05e26f4907374b9db610eaf8","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=0.8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 13","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}},{"description":"esnext compiled for node.js 0.8 with require for modules","directory":"edition-node-0.8","entry":"index.js","tags":["javascript","require"],"engines":{"node":"0.8 || 0.10 || 0.12 || 4 || 6 || 8 || 10 || 12 || 13","browsers":false}}],"main":"index.js","browser":"edition-browsers/index.js","dependencies":{"editions":"^2.2.0","typechecker":"^4.9.0"},"devDependencies":{"@babel/cli":"^7.7.0","@babel/core":"^7.7.2","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/preset-env":"^7.7.1","assert-helpers":"4.10.0","eslint":"^6.6.0","eslint-config-bevry":"^1.2.1","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1","kava":"^3.2.0","prettier":"^1.19.1","projectz":"^1.10.0","valid-directory":"^1.0.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers && npm run our:compile:edition-node-0.8","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:compile:edition-node-0.8":"env BABEL_ENV=edition-node-0.8 babel --out-dir ./edition-node-0.8 ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]},"edition-node-0.8":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"node":"0.8"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"7773779c2e45de7d05e26f4907374b9db610eaf8","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Require: <code>require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n``` html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/index.js</code> which uses <a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a> to automatically select the correct edition for the consumers environment</li>\n<li><code>argsbytype/source/index.js</code> is esnext source code with require for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is esnext compiled for browsers with require for modules</li>\n<li><code>argsbytype/edition-node-0.8/index.js</code> is esnext compiled for node.js 0.8 with require for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n- Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n- Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@1.3.0-next.1573625418.7773779c2e45de7d05e26f4907374b9db610eaf8","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-GjLsh0f9N3FLOXoeA/lpLA2b5EUhigAJj4cs8R6FuQ8Yvb09uQckXGNpYF++qiMRw2xDaHyVWJp0uRuW60F3qg==","shasum":"3549c75b3899732e012299d86a9d260f10d88436","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-1.3.0-next.1573625418.7773779c2e45de7d05e26f4907374b9db610eaf8.tgz","fileCount":10,"unpackedSize":19485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdy55MCRA9TVsSAnZWagAAwwgP/A/zkxv2u1wv6GRijgdD\n3nYxbvx9ely93U4evP1iCh52GGvhQlVfavZOG3QJt+PR8vy/np/PjM9J4WEV\ncoMCT0ESbJyke46YASjiiKUSImsRBetphC54wm1/x7NEPUsj4qmIUHiZMm2n\nGSE/kUXrmJdN9pAAzcM7i26+M5S5iqGDWJKyFiRJp7bS7ChLMADdtfn276sg\n/FNnNc8MhSaOSwByD94l3WBoVUHEC7NvDIvHkTPov0OF2usBr2mGjecf3XQ3\ntuLvLDDitFg9ETjYBER+XaK4iw2uM6vUX+k1ysPIjvD0vOSbXK/a47NQV2QP\nE+Zc3PEqyOmbaox2PZRrIBWXarT+5tHXDM14zxbEQQjikqHjul7rwyHwGDtQ\n+r9ruZg0dUQN1CV1CA4UqE6e/sKLcS/fBBk7OmRBawK1g0AsFMAGryR/TvE4\nbeyKmxETBxhFei6wXeoRaFwDUUHwqeW9ntRrLk+0+jHhwGqLzqrsw9EiDGNl\nmWATYTu/uXqsFBFiL/g2JWvvBl47JZ8xFovEpmEoZ49wt41gRJ08YlKytLjw\nZlMrZxdrrajwVhcOg1DBVX64ztjWHM79cKx79vr3A0Ny0V2dMgLQuJaAnabd\n25vH7IseoPtMEG2OocijJm9bogX/r2mHPqId3w9EqaxJwSFg3b9ehzFzKOc0\nzKgy\r\n=1DPo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEBShLdkngIUGHgvr/9xR0nDc++iu7VD/vkscUqlaYiHAiAzHIydSMCmduAGfwMICMNDC5rZAdt5rMFrsbdNKQwGtw=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_1.3.0-next.1573625418.7773779c2e45de7d05e26f4907374b9db610eaf8_1573625420209_0.16239320345177655"},"_hasShrinkwrap":false},"1.3.0-next.1573740652.843f986150b1637459158d78f9433f7286d64cb3":{"title":"Arguments By Type","name":"argsbytype","version":"1.3.0-next.1573740652.843f986150b1637459158d78f9433f7286d64cb3","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=0.8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"6 || 8 || 10 || 12 || 13","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}},{"description":"esnext compiled for node.js 0.8 with require for modules","directory":"edition-node-0.8","entry":"index.js","tags":["javascript","require"],"engines":{"node":"0.8 || 0.10 || 0.12 || 4 || 6 || 8 || 10 || 12 || 13","browsers":false}}],"main":"index.js","browser":"edition-browsers/index.js","dependencies":{"editions":"^2.2.0","typechecker":"^4.9.0"},"devDependencies":{"@babel/cli":"^7.7.0","@babel/core":"^7.7.2","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/preset-env":"^7.7.1","assert-helpers":"4.10.0","eslint":"^6.6.0","eslint-config-bevry":"^1.2.1","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1","kava":"^3.2.0","prettier":"^1.19.1","projectz":"^1.10.0","valid-directory":"^1.0.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers && npm run our:compile:edition-node-0.8","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:compile:edition-node-0.8":"env BABEL_ENV=edition-node-0.8 babel --out-dir ./edition-node-0.8 ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]},"edition-node-0.8":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"node":"0.8"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"843f986150b1637459158d78f9433f7286d64cb3","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Require: <code>require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n``` html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/index.js</code> which uses <a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a> to automatically select the correct edition for the consumers environment</li>\n<li><code>argsbytype/source/index.js</code> is esnext source code with require for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is esnext compiled for browsers with require for modules</li>\n<li><code>argsbytype/edition-node-0.8/index.js</code> is esnext compiled for node.js 0.8 with require for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n- Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n- Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@1.3.0-next.1573740652.843f986150b1637459158d78f9433f7286d64cb3","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-wMtEqvnOePlge9TDl1S9aY+bkMchzh9mTdF8A3YuxCduAJfze/9hPkG8zTCfnh6dygqyGzegqZjkGIsZCutGLA==","shasum":"c9310a458c959ad32cb8681880c13eaf04b7e6be","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-1.3.0-next.1573740652.843f986150b1637459158d78f9433f7286d64cb3.tgz","fileCount":10,"unpackedSize":19485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzWBuCRA9TVsSAnZWagAAv54P/iQC3WsFR5zyqxe2o4c9\nOjtTk4DljRFkDMK22z+DG/FzjWBPkxU4kcaQxzXninZaSOkmU8ty5NNrQLYj\n/6hpG4GYARKPum6PaONHg6NMEYHjMhH4lYU5lnqt/Bn/POKPcn0R6ePxaRN2\nAzfh2kDkKmOP94XPtUHR6Ez++TcWETkcML55ZsAMwp0f7hyMHlnMwmPRJ+FL\naooc/03xNArWfE+JrEvk4hFLlkARz9qxRgs0m05qc4gwJ0YBM0ns6Kgcc+X8\nxZyr0EYv33ZVh2BACGcJc3pVOOI9eb92cFTuCUlTcK1dLG4yxy/DSov7xHJ+\nVns9G95nIbBWIQsVHNHtMSNhy41pVP3gKC9k7ZB6XpmfRidfPAmU0pLc8jek\nU9S6fVLbS+TdzbJcTQXKPmkJCAxI05m9wLPCkTjp5GzR/BUTmUFtXIy+2iQ1\nQI7s3yDu3e/FcEuQyPfKSPC11ByNLbkFW4awlppeqKZFgw6kaTujbhHUFq3x\ndoclut/4l+JjxLtyFu3XMBfep5DSBT4OveQRPfw5/Cuah1YYVLWTGG6SWTE+\nu11x6FHuLBKYLP80frqxrwqc6VL9DnkprIZqbEFtUktW8MQbZwCRIpPfnZec\n30h/ETw7JqUaEpf3jVKDjWm4hszkyTCGUgBAHBrA5Z9+KXNN4XpOAEc4CY33\nfj6f\r\n=AOHH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwPh5Ip/3EXz2DWE1jRazs8p699aWmiS0hWqeiZETUIwIgXytgjx4U4D1H/Ia6MhR/YOL/SD7tQkpBayOE4XA7LZg="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_1.3.0-next.1573740652.843f986150b1637459158d78f9433f7286d64cb3_1573740653984_0.8168388964676101"},"_hasShrinkwrap":false},"2.0.0-next.1574035024.13e17a1434588cb23c58c54261da277227def3b8":{"title":"Arguments By Type","name":"argsbytype","version":"2.0.0-next.1574035024.13e17a1434588cb23c58c54261da277227def3b8","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.7.0","@babel/core":"^7.7.2","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/preset-env":"^7.7.1","assert-helpers":"5.3.0","eslint":"^6.6.0","eslint-config-bevry":"^1.2.1","eslint-config-prettier":"^6.6.0","eslint-plugin-prettier":"^3.1.1","kava":"4.0.0","prettier":"^1.19.1","projectz":"^1.10.0","valid-directory":"^1.1.1"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"13e17a1434588cb23c58c54261da277227def3b8","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Require: <code>require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n``` html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is esnext source code with require for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is esnext compiled for browsers with require for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n- Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n- Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@2.0.0-next.1574035024.13e17a1434588cb23c58c54261da277227def3b8","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-DJOEoa5GTnAe1vKWoOoMV7oJaFlcwCbyVHts2AQk9R/+FMftkqkaF36qGM7EKEYy8axBqSm8YiOehyCpdqJhvQ==","shasum":"d775717bfb5a589fa2bb5c48acd3a1e400438637","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-2.0.0-next.1574035024.13e17a1434588cb23c58c54261da277227def3b8.tgz","fileCount":8,"unpackedSize":18208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0d5SCRA9TVsSAnZWagAAw9YP/1eRGiFdCoVsG6m3DSrx\ntRvDcmHXY2oWZ+b1XmkfNEk5sPfpXFPzfJwaKMRT8UrkNRtlqvSFb5RoTHvt\n3qxHHO+ed+pyY97arTqF0PPHhJXlVYgrKwfthVh3OVRbjhX7+QvSp5RE9Vm0\njeqmPWVGr5r14xGzgJQQLDqwDaEa8slrv5AcLRVTMmkY/t7lzRRciRAXtfj+\nq0vSx6W6Hh1ErFM6a6UpvtfH1XbYqe2O8SH9TDFv5ODodKubL9bMcSFVmnCf\nl3XRy3RCvG7oDDsFO4ot3F6Ow0oaCrPb0qnmssmLSIFK5EPaMIBZXu8/2n1D\n80VKOP+6xgqX+ZIVfvdcxBQwY1iP+OrWOfALmZUvnrltaCcDfVmPeSWVw6lh\nrkbSlRF8H4Mz3Zi9ljZoHP+Q6x1jeE83YiVRkrNp5Nf8XmRF8XkorbniN6Jv\nxoj9FA2R/xL0d0VB/BhOx43OffQrx8EeaVmIdal5yScVme1TA3cW4BTIXZgl\n37UCePDofi0LwivY1sMOVUli6BCQsyCVRpFyoYes0gC2mNL++M2SPUEZtalm\nPn6Js2orJZV7VGP0z3MDeifnIH2ovXKdKRNM6AK6tp04Wcau4A2va+G6hnWe\nis2JkdaFHxDV3xIKZ38EmtVfWRhjEOqty05/WJZkeRzDZ1IQ27jkxyagCoEn\nQctu\r\n=3usa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEkYbEubstQdX1ddgPzhBu638s4Y1FPFQSISmMQYJhXLAiEA/net/HYVJnlk5OENssR5y3kUAbc9odn36GHfEBbu/S4="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_2.0.0-next.1574035024.13e17a1434588cb23c58c54261da277227def3b8_1574035025886_0.6539731087137621"},"_hasShrinkwrap":false},"2.0.0":{"title":"Arguments By Type","name":"argsbytype","version":"2.0.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.7.0","@babel/core":"^7.7.2","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/preset-env":"^7.7.1","assert-helpers":"5.3.0","eslint":"^6.6.0","eslint-config-bevry":"^1.2.1","eslint-config-prettier":"^6.6.0","eslint-plugin-prettier":"^3.1.1","kava":"4.0.0","prettier":"^1.19.1","projectz":"^1.10.0","valid-directory":"^1.1.1"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"13e17a1434588cb23c58c54261da277227def3b8","_id":"argsbytype@2.0.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-J0aYekyk9ijfQsK7oWe323ngbPAmMmreFyEM0Ht5r6BLvGIFLcqrta2CNqZajSyCmzRH0C7GdaK7a3pOmCmogQ==","shasum":"46121fe0cc8fc85fc2d7e816de43dafcfa7afd30","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-2.0.0.tgz","fileCount":8,"unpackedSize":18151,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0d6QCRA9TVsSAnZWagAALq8P/3OesgaKpOEslNxcBRwJ\ntD8oNnA0b8DWjhFC4DPWf58vzbTdVyiCXoeGXk61WL1TmP3FL4+POwjc65wJ\n7MLmpYPMM8ZwB79LbJkOSR2+/djdRynZelFRpJ6tDeCZieriXkaip8xvJE/n\nwYIIzhACOKZz/+mj2wc0rClpCqRAe2OylWXD/NHb5n1VNQmYkHmbWtGUCbL7\nDb5vODf/7Eylc822Wb89Yj/6sYpHoRzq1gl0hcZr1MDF05cPWoW56Uk7v2FO\nC50XrRb5b06kXKz0G/VXZgBlcIcDpNeXJE2h3XOI0/utGJ0SXbbSCTD9wHqL\nvKZAYlk0Y3C7Wgr1XQ7E5H+AX99N1wZkPrqqoTAyi9P4EW1lGnwX2yVQ1NEh\nbzyNsY72stAkHoANxnqiP/xk7kdDBj/gukGa3Cefm/bAUzb12CwXhLaf1H8l\nBO7uOXAo6fY2Jb9uML+uxP4V4eUlizys5wL0+5cj4VBblJQYvS3ObVnYAfHb\npdNKOyyxsxuvV9kb2ID7NOye47RUD4T1M/wtX9IyGDze5QBYu8nPz44uLPpG\ntwLRWrtCdPysh87erJpYsU48bCVc7u8JhhrPDcLfHux5KAcQWkq9FR2VCfOu\noL8UoOMBqZ4NVgD9SB4e6b8jGrwxm+2wXzla2XKN1I0RNRrbn7Qphz/xMq08\nMClj\r\n=FsvS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB9V3U3lUEVIlLn2dQy2aKlCJB4Vb3GtPayFQdQouY6FAiAzjNT5iszCDG/lQA71srE+f0WlN4wMDgYptcALQarrgA=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_2.0.0_1574035088442_0.18550830328764523"},"_hasShrinkwrap":false},"2.0.0-next.1574657161.9f8523d9c2c4736136bf59e4b578b4dd346d5c23":{"title":"Arguments By Type","name":"argsbytype","version":"2.0.0-next.1574657161.9f8523d9c2c4736136bf59e4b578b4dd346d5c23","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.7.0","@babel/core":"^7.7.2","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/preset-env":"^7.7.1","assert-helpers":"5.4.0","eslint":"^6.6.0","eslint-config-bevry":"^1.2.1","eslint-config-prettier":"^6.6.0","eslint-plugin-prettier":"^3.1.1","kava":"4.1.0","prettier":"^1.19.1","projectz":"^1.10.0","valid-directory":"^1.1.1"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"9f8523d9c2c4736136bf59e4b578b4dd346d5c23","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Require: <code>require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n``` html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is esnext source code with require for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is esnext compiled for browsers with require for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n- Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n- Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@2.0.0-next.1574657161.9f8523d9c2c4736136bf59e4b578b4dd346d5c23","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-EjDceQAsSSIt2lly4aXodSp0zaIpsv19aOTmYBAHZDQ51NDxK7eJYOOHYsbBRU5N3wFzbvzYluwKRvQqYxB1HA==","shasum":"2273c3a17fc8d9da988b661cf88eafc26b501624","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-2.0.0-next.1574657161.9f8523d9c2c4736136bf59e4b578b4dd346d5c23.tgz","fileCount":8,"unpackedSize":18208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd21yMCRA9TVsSAnZWagAAMCsP/18vVlz+994TcIXwAdpC\nRJ41ZHzsrkLgsL+jm2l0XT7r00vlW8u6cHWVBwN6r67xKQKwwSAmtyJcxSVS\nnRDpBcol8gxM8qM9TU7nFOW6wXDFXS5XPuRLSIhVCbVVU/G4u4Srq/BkU0Vd\nrtplKsc6B+2QC9ChIKM3tvnLJm4jN+vmXq5T39tKXGmMQGSGjMvPc/nUb7Sd\nCFsX5Njgv5XwsJ06iX8qHLNj+Qj7yp2k573TIGyCQkDdYCD8hYo49Lj/+fTb\nMBnPXRwkntEHZxxBeIV2lJruNmS3AO2bdy9ERLasTupNo0L4ao6k+CtyhfkS\no42Rc2SD/Lp1oa7g/zg1Zr0MJ1J6STZcul7KNlXhDuH1iBQrGGD8deZO6q0n\nyPrUo0uqETVjGmpiVFKVGwe7MHdR3iRMkgeRDkWr06bppkDfPoq9ObEzr1FZ\n+9BYFIkGhnhaCg6obRoILaE5WbhaVkngs8uywthQk3TfqTXBmxrf+p4e0rqs\nNeGQezyfdZYozEDzFLkNrIPjxSnoHYlSp6WRuUMScDlsPlm1uC4k8VYD782s\nAUYzUXBDY+R9zWmn7vFYIr63mRmuY4JsmNL+HZmuchxO2FHBZ8OEf0/69ya/\nL4cAxypcGxlDfn+LnFYGyR2scfkj48dA3wxjS3Ni2SJpIrj10obQqN95uFMr\nSpTr\r\n=G+DL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjviFxBq8yajE++FZCQcfOmQ8mitUCt9ueReIcDcAaAgIhAIF2CeQGF93GFE6OWL1qRO4BG1vWz2+Zv4VZjpvZxQSo"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_2.0.0-next.1574657161.9f8523d9c2c4736136bf59e4b578b4dd346d5c23_1574657163646_0.5880413390025725"},"_hasShrinkwrap":false},"2.0.0-next.1574660670.d3208e56baca32ebde8c5330630796c17df0e8d6":{"title":"Arguments By Type","name":"argsbytype","version":"2.0.0-next.1574660670.d3208e56baca32ebde8c5330630796c17df0e8d6","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^4.10.0"},"devDependencies":{"@babel/cli":"^7.7.0","@babel/core":"^7.7.2","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/preset-env":"^7.7.1","assert-helpers":"5.4.0","eslint":"^6.6.0","eslint-config-bevry":"^1.2.1","eslint-config-prettier":"^6.6.0","eslint-plugin-prettier":"^3.1.1","kava":"4.1.0","prettier":"^1.19.1","projectz":"^1.10.0","valid-directory":"^1.1.1"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"d3208e56baca32ebde8c5330630796c17df0e8d6","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Require: <code>require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n``` html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is esnext source code with require for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is esnext compiled for browsers with require for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n- Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n- Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@2.0.0-next.1574660670.d3208e56baca32ebde8c5330630796c17df0e8d6","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-KpRtDWrGDMyKONfxC9h+T2+yyn+74pXmIQh0+VEQOt/QC8vFGE0zpCTtjx+Zyw7W0fsopC+j2dTy3E45VJdR5w==","shasum":"21229c3db1846e5e80305c21c1054795da8f9c63","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-2.0.0-next.1574660670.d3208e56baca32ebde8c5330630796c17df0e8d6.tgz","fileCount":8,"unpackedSize":18208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd22pBCRA9TVsSAnZWagAAYNgQAIzlVMOsAWoj1dOF6ihF\nP8eULjsRkB540ucRP9I42lA4Gfr6NU2JLlIR3A/BHIRGJM+VwL7q6mpQDS7G\nyJXqFoBNLICwrcKdyFVAobal1EwBS82Gwxa/Rr1pVgL/UnRVU0hR5h7sdnTw\ngDEBVw9chf7v+R741sqHXAKXglBfAjk6LaoIF7IsmHkq6+spwlxnzwiebPhX\nYSJ87wppP6tKaMFlu9l83PHMmQ4KTwZ1sRYxxb/w6OaAq6MOmfrY9MMX+MkU\nkvyEZxjrTibd1+24R/xamsW6sm480pxk6j22/WIhm2Ca9q/AI6jyJf0qVgI5\nfB2Vby6GhLeaHlMA8P24/vQRRDUAnbQcxBtvxOcMSWkfpm+lQuWDBYVCU8oC\nuDZjRRq1OTpMGfIwu9hPhyu4LgrJLzyf0COLZIyxdVC9r/4GqqSf3rnqfPlr\n3pAsYxrTq9aYOQCA0A1ewJBrVO+jrax2jUeY1d9ej4bi9ZXQAwlnsXMKhgPO\nCEEKTq+XvvJSfz212ziCqldl02JyVrnGbiXf1qb7meLh7uvNEcrJD4+eeUHG\nDJr3xb4DEaMIcIfTuXLV7ovFXyMQ6f8xKGgPW232bjb98OikFIKXDvAioh02\n6hxKjrsBroJL5ihWor67TRdOonlGhlAZCe4gNfDZauGrThOWGUsgOLRCEGTS\nLjIa\r\n=Cy3J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcdJ5rTx8wzWrd74S/QVYy8B4XO3wrPQub1t66+L0W7AIgQpzIKG2C8dpZkYdNJRg+F0rWrcqA6/9RxRk48s6l5sc="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_2.0.0-next.1574660670.d3208e56baca32ebde8c5330630796c17df0e8d6_1574660672557_0.7061610827154456"},"_hasShrinkwrap":false},"2.1.0-next.1575136462.225eb4a3cc0a030cbb06d6238e7380b217182356":{"title":"Arguments By Type","name":"argsbytype","version":"2.1.0-next.1575136462.225eb4a3cc0a030cbb06d6238e7380b217182356","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^5.0.0"},"devDependencies":{"@babel/cli":"^7.7.4","@babel/core":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.4","@babel/preset-env":"^7.7.4","assert-helpers":"5.4.0","eslint":"^6.7.2","eslint-config-bevry":"^1.3.0","eslint-config-prettier":"^6.7.0","eslint-plugin-prettier":"^3.1.1","kava":"4.1.0","prettier":"^1.19.1","projectz":"^1.12.0","valid-directory":"^1.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"225eb4a3cc0a030cbb06d6238e7380b217182356","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Require: <code>require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n``` html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is esnext source code with require for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is esnext compiled for browsers with require for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n- Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n- Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@2.1.0-next.1575136462.225eb4a3cc0a030cbb06d6238e7380b217182356","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-vtGCGRo1r7X1/IUeTp4JrnkPfw1DOAnGe1obgoWZ8aF2KlpRT8g2qIco8PiRh3Vlv6eRW69mpcUVW5eRlBvi6g==","shasum":"d96435f1e02eddad281e3cecf40fe39d5b8fb772","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-2.1.0-next.1575136462.225eb4a3cc0a030cbb06d6238e7380b217182356.tgz","fileCount":8,"unpackedSize":18409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4qzQCRA9TVsSAnZWagAA1PYP/1Rao2Df+vk7yQF0Mnpw\nsS/SEd2+VV3C5ZJ60GcH6RF1uJcJMsYeR73CqJkae+IN6YtqswP7EvgYgqLD\nKaPhNekdSE8pWkAqyp9xxvui+AM4GEwyqR6IiDed8sBcaOIY/LibQyV4wXO4\nAP2ybLYxDjpkBM6XV17ad5WtGk8mkzzigPGIN3XMnIKm0UBgrwywoIYbuSRh\nha/UvEQCPhzq6hM7VoT0/p7U2QDa0uuklP3NVGzxdq9sxt8nRuF9CV2oXjNR\nZGVqHsWP5mAzTGZLYCwCHvbaJfk1aZeTWIx0b21dEN/McixM9xHiTCqbdtOv\nxowxE1Y8jvOqP0TxR8VgxMl5qmwaC51j4xJnAngOHF7OYpOTMXnbTHhGKGH/\n6O1xjCgnun4wyE4LhjMOlXmdssxIScpj0Nzr0TKvQidyhHrlyA/IJUkdffno\nbc+KiRCk5JpgJApYPuO04aQ1cHZ25h5n+nKIPHPBSg5ZUDGvJyusiuD6hETY\nVAiXccMdZ/XQCWwWrBBN4+xrSCp2g4Tt86mFtM+E0F/Q7Cu83FVopB2SH0+u\npCTEScWkhrGCKzKJRlmnZGrAfUxC9F+v4uVmSbHZP2P0BKPPWzySpVxZzpf9\nrN4KyzodTinbzufrbnKzBn1XYGt7pZtMJn7FbFrjAdvJB68PcfZ+fHNYV7hM\nZpgW\r\n=U1jn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDVXvJdHDKWwhgGXVHC4woCwX8GzhCdMzBLINcJCyHg9AiEA9nOIkcdJhRJ6i/6UT9s5n9Qx1ZNOG4Owe4E7YcDXuLY="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_2.1.0-next.1575136462.225eb4a3cc0a030cbb06d6238e7380b217182356_1575136464260_0.8077646222680996"},"_hasShrinkwrap":false},"2.1.0":{"title":"Arguments By Type","name":"argsbytype","version":"2.1.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^5.0.0"},"devDependencies":{"@babel/cli":"^7.7.4","@babel/core":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.4","@babel/preset-env":"^7.7.4","assert-helpers":"5.4.0","eslint":"^6.7.2","eslint-config-bevry":"^1.3.0","eslint-config-prettier":"^6.7.0","eslint-plugin-prettier":"^3.1.1","kava":"4.1.0","prettier":"^1.19.1","projectz":"^1.12.0","valid-directory":"^1.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"225eb4a3cc0a030cbb06d6238e7380b217182356","_id":"argsbytype@2.1.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-2Qm/rG96/J8IQHUsdXKBZlAq3gN58odS3tNjwKmpOlsRB+ZP8riHDQXDoZ/Ms5B6Bjqtb7aovh0O6YB/vYrNLw==","shasum":"26cbce1b0a95c7c989b48ce8d98398a38004fd2c","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-2.1.0.tgz","fileCount":8,"unpackedSize":18352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4q0KCRA9TVsSAnZWagAABjsQAKIgbvQTeEVkBZI0A2yx\nA1FVR1eGYSjYftppI5hto29dXtMhC7OTVCVQOSGWAEyOnK3DoUG1JZeRhxMj\nq0UNnErVSSRvuh+wAphcAoy3L37OD36G9Uybb45D3zNluhwyI5GMZ6P8bmD+\nO+x5fIzkxprl+Dh5FT2i7KNKrqT9dCdqww4/JpfXkD9qvY+jJoG4AQkzG7t3\nHbgiILYmK3AuJ9heTbMRjm+dYA4vg+NQlvtIfUmJwGasQaSCYCjLlHM4/1Lo\n9gngWxIEzw+0XvpO3IxHsv5Ku//mSlcJpjlTHB307X0mAJYZlWwBCuu8kvKr\nCb3x74V+FhZUpK59jPWaRTbPlMYXy19tYgjQH6kvc4+K7wyukZXrss18zQBI\nOC/xc0L09FpI9gOkWZFqYJPH6ez66D2U7eyJalf4Ce+mepqgjDeuJxfxT58x\n4kmEGp3zsGGYiShsQGBOr/b1jJwpCiJn7hwNgIVyYdVApVozecNt+JURn5uC\nXD1iRj+cRlV3nu3lQ9Z58UAO2M2RhYT9cnUumwgCZc/XhRDP9+opiNxz1kWZ\nqV1vVc5gfDRERpr/L4ei4d6OiJOaVHcdwhwOIKlAtzwWzpHAbJzrbLE3ULZL\nMgsXTLriunBrAM9ow6EgvdVk7A9KUNwNRnwlCWDMkZAx403ZShKnP47GndNI\nMOsE\r\n=PxXR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHg6WLTupGLc2BmwxiJXoGEL+JjiV+UqMeycS5vo3erMAiEAoa4QePAvkGzHCmnyCyGiBdPTI2YcZb5aN/gIJMy1vS0="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_2.1.0_1575136521658_0.6426720700393449"},"_hasShrinkwrap":false},"2.2.0-next.1575143247.026f15e96b8e0797af88fb64be8f6f20bb698169":{"title":"Arguments By Type","name":"argsbytype","version":"2.2.0-next.1575143247.026f15e96b8e0797af88fb64be8f6f20bb698169","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^5.0.0"},"devDependencies":{"@babel/cli":"^7.7.4","@babel/core":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.4","@babel/preset-env":"^7.7.4","assert-helpers":"^5.5.0","eslint":"^6.7.2","eslint-config-bevry":"^2.0.0","eslint-config-prettier":"^6.7.0","eslint-plugin-prettier":"^3.1.1","kava":"^4.1.0","prettier":"^1.19.1","projectz":"^1.12.0","valid-directory":"^1.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"026f15e96b8e0797af88fb64be8f6f20bb698169","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Require: <code>require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n``` html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is esnext source code with require for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is esnext compiled for browsers with require for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n- Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n- Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@2.2.0-next.1575143247.026f15e96b8e0797af88fb64be8f6f20bb698169","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-sD0jluZk9gGKK+uYEG7J2el4fAoGH8rhnPHrp+i7ctgUeU/faSIPpnEuWajKrJHMk3mcYWAuearZjFvByOxiXw==","shasum":"286910899b0de82f98de74a8010a211fb1b9eeaf","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-2.2.0-next.1575143247.026f15e96b8e0797af88fb64be8f6f20bb698169.tgz","fileCount":8,"unpackedSize":18608,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4sdRCRA9TVsSAnZWagAAiiAP/ifb0Rk3MOUbC0ju+m9P\n3QRWdAHGSUbSqyGo6dGl/hnUX6i3BgUhXpyUe9ZUN+Zgng6jP2Kt2jEQpIPr\nh+TiotuVDqW0P1dY8l3rhhcIw9WNICRdwLMQvPuPePzQ78+9p5o7b3K6YEjQ\nCnzonWKAjL/150wDHLAVOpdWNz7d/L3WzdZKcPOv6Ye6uU24y3RBB+E61C6y\n7Uy9P6zbr5+p+B8R/Ou9apR9Vegu/ZbY8QAqGcx+dWZRg/AbRNkum9XeEjLr\n30hhGJ1Vv7JalUnNldvPQoPUu6npKsvRGq8771VR3SayLr4+bqiaInBtY/Ck\n4i2hc3KnqYQu2Mb0ZgHlhZavVJidip5yaNXc6XwiJhfn/fdgFVl15j5/pyCf\nFEZaiUk6X9+eOmA2lPpvhkgp6VadeNwzBFVo2kD528zW4g0sGXtcdAEydrAM\nj2tw4I0WwwEMD7VqXCYmIJOoAHOndEZTt4GW17XP3fo4+dVD2Cw4Vvu48Rtp\n5p/XnQ4jiuIe6tmzGotggwIobdaGqta7sIKFkr4eM0K/S8dEedWdmxFkn6GQ\ncC32A0Rk9taJcoEXbuPI2ui/aFpsuyyA+0DAch1nfCcawZWgdPYImmjnTgqK\n5dT5dT8qmohyZy1WBDLhmBPwD04j2J6333TgACeAW0bzzf4N940Q4bwvy/DE\nLJ4H\r\n=S2yH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGb8h4jc2/7l5EOfkCj2hQRLCOfYdS6HfJDcyQ6l2UbUAiEAssWPp8HmSmYL0wdDUYYHuK0pQgjKHvk4TThnq05pRVY="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_2.2.0-next.1575143247.026f15e96b8e0797af88fb64be8f6f20bb698169_1575143248816_0.91713170609741"},"_hasShrinkwrap":false},"2.2.0":{"title":"Arguments By Type","name":"argsbytype","version":"2.2.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^5.0.0"},"devDependencies":{"@babel/cli":"^7.7.4","@babel/core":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.4","@babel/preset-env":"^7.7.4","assert-helpers":"^5.5.0","eslint":"^6.7.2","eslint-config-bevry":"^2.0.0","eslint-config-prettier":"^6.7.0","eslint-plugin-prettier":"^3.1.1","kava":"^4.1.0","prettier":"^1.19.1","projectz":"^1.12.0","valid-directory":"^1.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"026f15e96b8e0797af88fb64be8f6f20bb698169","_id":"argsbytype@2.2.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-uQCWMlYMVPAfTr/zJt9Ck4nQzQvMQQa+lEu03/8cZyipSdqrDbVJtZDwtQn50TQzy0IPebUOidDcO46ssePesg==","shasum":"0dbabba94d8fd85afb7118a8adfd097a06b3f1aa","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-2.2.0.tgz","fileCount":8,"unpackedSize":18551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4seVCRA9TVsSAnZWagAAK3YP+wVbRcuhxPAeFgdFl0wK\nMCT7hTTjD4otwYqJW5peKC+UVIPWdBTaCogkSH1xwoFLAdEDLKsC3DKx0XW8\nrnCUAo+pvNkeeb3x3TsQA1r+5SHFBIMMChtLOhKYRhhWpk0UwsziMYw4T/6k\n+/FcZaj7YU5dDG6/b1kre+52Ik/8mcrHqeyOe5pZBBuTucdfWGS0XOs8iNs6\nsOTeMrll2hm2OsmfPx5Hu1ABspAX5YK2YZVIiipXaQSzeuAog49fajFwQdUx\nbHzBcSUL2a3vm+JUxJbrGbtlqbwgDgdTw4rUPuVqabuC5fV20CVLCTAeZRuz\naK/HoV7NOcmiR6sWQKdq4Lvl8hA6wCSjUJ9AQNrpZPjh8JDtKVsRXYNMP584\nHkWYDyyuez3nuoY/tdBvTev2OcPY/xvYIGzqUtf/TYsH3+6IAFG4pBdAqCR4\noVNxl3BSHRdosfH9rgNMqzmxzeBNhcq9te51hh7DcypsACh7kTR6M+KV04tt\nnByJUKwRDON8raCydlQJFpCvrKO0V6bGy8cadO5P3pFTnr5jTwSzkyYtV6UY\nHVEWFhG8BK30aFKTlck8ig/E3fAcXVmonNaLOO0Q0i0kd4OmCfjydLjjwmvS\nMgw5GBYvfOOjJl5qPWMkXIiGEryt2A9OTb9SXo5LZHmGUOxNzq6Nnbnq/YjW\naAB9\r\n=6Fdf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtayK9gPEuzUlx0v5FMWOVL0zq0MnVpkzUsnu2XmvVfwIhAP1z+Kzovwpi/LaTB4CWZ8l9v35kXRqjPBL/MwGW5w1Y"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_2.2.0_1575143316641_0.42563871865929737"},"_hasShrinkwrap":false},"2.3.0-next.1575161960.9f9c6ae6e4b0d302db0f7be27ff87c6010f39112":{"title":"Arguments By Type","name":"argsbytype","version":"2.3.0-next.1575161960.9f9c6ae6e4b0d302db0f7be27ff87c6010f39112","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^5.1.0"},"devDependencies":{"@babel/cli":"^7.7.4","@babel/core":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.4","@babel/preset-env":"^7.7.4","assert-helpers":"^5.6.0","eslint":"^6.7.2","eslint-config-bevry":"^2.1.0","eslint-config-prettier":"^6.7.0","eslint-plugin-prettier":"^3.1.1","kava":"^4.2.0","prettier":"^1.19.1","projectz":"^1.13.0","valid-directory":"^1.4.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"9f9c6ae6e4b0d302db0f7be27ff87c6010f39112","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Require: <code>require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n``` html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is esnext source code with require for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is esnext compiled for browsers with require for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n- Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n- Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@2.3.0-next.1575161960.9f9c6ae6e4b0d302db0f7be27ff87c6010f39112","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-YBrkyJOmaEOK1vkGVx+BLHnGCRaFkyB9spS40q9cGckjOQkGugGfYfLNu4A/Ef7UqCzIZVwqyhfD1QkqJjvmng==","shasum":"04639d5744a3ec08b18a84d3c02032bcc1643900","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-2.3.0-next.1575161960.9f9c6ae6e4b0d302db0f7be27ff87c6010f39112.tgz","fileCount":8,"unpackedSize":18813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4xBqCRA9TVsSAnZWagAAx7MP/iVBbkDp8sd+++tHyaMi\nWpElACLaRCAAa2irvgnkyJ+xel35V6p/QxO7N4lg2MqgEOfBA7wubs6mRo/b\nAnJ8YMGR20Pm8JyFVvA6JVqvN9LEB10ce8DwwxKXjV/p3e6db4G86aV6DThA\nqT8bbzk/p7WhkQIGjcn/nrhjw3ac8q2cbH7LkTlKFIt6ECDrceu6nqzTWbt0\nys79H2OgAU0mKmVWaM2xCQroJbLk0ANBlXfdVqJg9buLPH3/u+sAZBmINtDx\nijcSkVpxu1K1uFqq3VNbY71K2ZXUEVitHbws5x36mnara0zgNCJmJqWIvbWU\ns6MENrsSIEatQ09lI8Tyhc6zxO0CoNldjXoJOtFOkGw/H/NikwlxGiMVU6mY\n/Qq4VwH+G+CdW8mJB/igALNZHpsDbQWty+OwJb0AZ7oMg+jOEXyl+XbghBwW\npbP463GWmvs/Rqs7V791aAt9aQ8eAsUjsJjObB48PBoZDbN6ODyVNhd9/tdA\nfVhWjzfxwbu8rBW0EmcKRhCNNXV1sc7QzU79B3UDQVXsllNPUIJuG3zcVFRj\nfBqUVH/FHWzwwv9Lo3/4+m5/BYHIxDzBaq4d3c8OYjWP7cVAcQVOdqDsIUIN\nAzRP5hAovZv6Et8qtgqdhtFl41zF7BwE64e/FiZeO9l85FvURNhBe74vTozj\n1RYO\r\n=8P6K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCz1rObSka6qOlu72xa3Mu88XlBpQJLo2SODbsgMGQ3QAIhAMDSRPk6O+mRoIp8VZ6OBMbCwEPqQDxo/VgqZMggg1uB"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_2.3.0-next.1575161960.9f9c6ae6e4b0d302db0f7be27ff87c6010f39112_1575161961618_0.29312647412983384"},"_hasShrinkwrap":false},"2.3.0":{"title":"Arguments By Type","name":"argsbytype","version":"2.3.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^5.1.0"},"devDependencies":{"@babel/cli":"^7.7.4","@babel/core":"^7.7.4","@babel/plugin-proposal-object-rest-spread":"^7.7.4","@babel/preset-env":"^7.7.4","assert-helpers":"^5.6.0","eslint":"^6.7.2","eslint-config-bevry":"^2.1.0","eslint-config-prettier":"^6.7.0","eslint-plugin-prettier":"^3.1.1","kava":"^4.2.0","prettier":"^1.19.1","projectz":"^1.13.0","valid-directory":"^1.4.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"9f9c6ae6e4b0d302db0f7be27ff87c6010f39112","_id":"argsbytype@2.3.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-Y5joFxq5XLjEKmmdiG7n4oXCvwh1MufZvg4ywVjwv5wG3UwqYtKzLbtp8Zr40hJdqtFUzr+PZm4sMqCSpe+AnQ==","shasum":"e14c36ef50c336daf8bc81944f43c687db1663f2","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-2.3.0.tgz","fileCount":8,"unpackedSize":18756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4xCkCRA9TVsSAnZWagAAdUQP/2NNNlKNhoeGBR/DSM3c\nOA66bcT0CuquuMVXk5lA9KHIQUNRBFt6FTW5x38CZ5h2JmxB09Mol3CXBo06\n8ZDiCqt3/pC9wskflxzcgU6IrmIpLOW6YwtRgexWfNcYtIjYtSvw1nhc0NWa\nHKxGMQMU/RG5dbrz1XyuJJZ96CdB0oJiqEjOjFa7SLjUV53ywTThs5FQqPgn\n9qwBXl5EOkUZm3GQbWpYzAUjLfNCU2WS+ovepsQAzMYDmFo4b197rVIueZ7/\nvvoP/GwdYdzNpoDxXrgfSMv4U8OV0+nk91GHbBHDFR7yqIG2Tib3lP9oKHYL\nIg3M2sd1nrF8fEbhQYTpKZiyuFwc6YQo9b+BrxtbSOPuSf8uPh1BKCBQYXa+\nRTwllcE1EuXSsbulO9GgrTWo1/gIGch45kMSM7ke6x7eOGUSLnXi/5ta34Wb\nUvD81LbVBtzL17g0FDwWug9Vy2Igjz72LpGMZq8X90n2SRACxGY9ONH+AlvX\nxD5mxf+IYciKFww1vVX+TOzIolv8HSnJXwdaEbtxynhix6OtydXmjYKrHb1d\njSycTW3XoqxwPoSlhdCsY9KAum3FaFBGoHMlTyVswvdrXCMSb12CWACW490w\nPd7oEw+9vbz6tLZitynXxTnD/u3iauLPC3jr7sZEGBs4seH8TsT1z3FN3iAE\nm8LQ\r\n=jmll\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICCZLWjVd/sIsGxMnVjEQuV2Ex35i4t5sfBtGQOtBN1gAiAdEf2wTRB0vCJQb1G/7u/ReHdP4pAutlT7dlgHbyZvbQ=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_2.3.0_1575162019544_0.7250387139404215"},"_hasShrinkwrap":false},"2.4.0":{"title":"Arguments By Type","name":"argsbytype","version":"2.4.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^6.2.0"},"devDependencies":{"@babel/cli":"^7.7.5","@babel/core":"^7.7.5","@babel/plugin-proposal-object-rest-spread":"^7.7.4","@babel/preset-env":"^7.7.6","assert-helpers":"^5.7.0","eslint":"^6.7.2","eslint-config-bevry":"^2.2.0","eslint-config-prettier":"^6.7.0","eslint-plugin-prettier":"^3.1.1","kava":"^4.3.0","prettier":"^1.19.1","projectz":"^1.15.0","valid-directory":"^1.5.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"29e2f1cfb67cab77f8996d161aaf4dae09582235","_id":"argsbytype@2.4.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-3LTOY7YxU9f1a7/2zqcskxIilYQ39c22u15wYYqg+ijQRDWLCu8saSTQ5UJKmHUM22ffKnoSVEjBgozG4l0+Iw==","shasum":"9178cbb6d4d05bf38e6424bb108a5b8f7a932a98","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-2.4.0.tgz","fileCount":8,"unpackedSize":19593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd7fCJCRA9TVsSAnZWagAAudQP/jmKWiJHBQ9IW1tFomeI\nrIGpyOhFRTWG50PJpIJSOqtHxyrFsFuGza4jYespAuJZIcgqvcZ6CTY+Gz7q\nopG5Ij6bMGLiW7fVByzauH8Nu6PK6eG61UxjuWzKChXqu9pqXonvlsFcDhRw\nriOF4cpOg2sFI3C0fBPOptggc0l8vHTuy6e7zMpq8sT+s0eFiDkEF5v7HZiQ\nlMb7L1cFP8sxTYMPLhmH1rrOF7bDf+aBrK/9Hz1RRLiVXAMfbghtuqW9cIA7\nmdfp1H4I+WT97VBrViacATE4JOeg9TWATTWFRRv6ipqRPyzDvaZtzb6BxDFL\nn/9pLOLtoV+FqB817fE4RXwRvVBFAqQ9yaYY2KtBbETZweJpRGoEdujp1f18\nalCw6LWpfwruQ+aLGb+wkTjbkHl4pmZrDK9e75kKrQPRMBtS2rHeI94E67FE\nPUVhVoMs+5Hs5BvQgVhTu1sq1D0xDdr5biOHH66JcPInaAPL7C01lQfEv1xZ\ncJKYFUmASLv1MhqFVkETtIABWa9wsQ8W4ehpojAaXrXkjB5P72c/sw4z4LkT\nyBc+AKzcswuG3IB+KhT+4fpcPvMhXGQtsJzA3ehKcesOOBo8Rx9+xntTxiNT\npzbLBug10ksZHyKAtCOozxLklx3cFKSZzsBsHDAReuN9I9mSGDbh91hX94Iz\nw6Rm\r\n=rfbT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC7cpQJfFtmv/6SwZZBwPMWyxtWIR933/PpnYki1x7BGAiEA8Knn/C9RjJWfLkXRx36SYz8W1y9AVlz8rRofwDPWxcU="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_2.4.0_1575874696883_0.5708630969762383"},"_hasShrinkwrap":false},"2.4.0-next.1575874763.29e2f1cfb67cab77f8996d161aaf4dae09582235":{"title":"Arguments By Type","name":"argsbytype","version":"2.4.0-next.1575874763.29e2f1cfb67cab77f8996d161aaf4dae09582235","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^6.2.0"},"devDependencies":{"@babel/cli":"^7.7.5","@babel/core":"^7.7.5","@babel/plugin-proposal-object-rest-spread":"^7.7.4","@babel/preset-env":"^7.7.6","assert-helpers":"^5.7.0","eslint":"^6.7.2","eslint-config-bevry":"^2.2.0","eslint-config-prettier":"^6.7.0","eslint-plugin-prettier":"^3.1.1","kava":"^4.3.0","prettier":"^1.19.1","projectz":"^1.15.0","valid-directory":"^1.5.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"29e2f1cfb67cab77f8996d161aaf4dae09582235","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Require: <code>require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n``` html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is esnext source code with require for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is esnext compiled for browsers with require for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n- Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n- Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@2.4.0-next.1575874763.29e2f1cfb67cab77f8996d161aaf4dae09582235","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-T3a4SRwepbx6ciK+lh1/IRp0vGu7Y1S9RrzI2ejsg6kJo9r1bTBtEMFEXV7rkGBmOTWzW9JU44Y1kOigCH/X4Q==","shasum":"379ef647ed2aa216286f1879ff687840cb352b12","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-2.4.0-next.1575874763.29e2f1cfb67cab77f8996d161aaf4dae09582235.tgz","fileCount":8,"unpackedSize":19650,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd7fDNCRA9TVsSAnZWagAAlasQAIPl5QAvqYIaioUXkIMY\nUOa5Z6Cpw3K321vhWoT3vhPe5mu1ZeVjV58WkPZe/QVPqKL4kTf0nCYohBTn\nqqvzzJIjukLbP45zRYcAu9qHb2GDdGvJO3BzzeeGaQ5iaA56V75OOF6iH3JK\ndCc6hRtmmltB8+U8XpTPG5CDCBxtN+JIfwUy5WAjFx7kyVW0djHfA30chcbH\nTC94LC0n35Hz3ESa84ZlXPRYj+N3unw9GhcbUnNVcqRErenWwfXWRNzj8SbY\nXR4YynsGgD8LSwyHurOgqkhPfTfDVQtmfdT1WMehzEcoWDadyTb2ShafR0Yk\nPTZA4wkQxasqHGGieKVKfAgYtRixweNC8zvUzShK7MJxHvBneStrXAb6eZhS\nKndV3nQfUE9Y7BOzZKb77Wzb0Y74BUGrPEEnolvRS3lvXXT2952hnY3JL7af\n8Ab8HuXEDMEp8n6fypPnZKF2Q8jK9u6vIoxqZI1ZaEHZ8hA1ircUUM2gq2GO\nF2arKX8I741YEzJDdnnnWKu6rXrgripX+FDWOAdV5V1JK6NnCkZaqTTYY0V0\nhFfmZ3uaNsTKD24X/u4Mblk1nWkl7HZ5n8Qn1a5730sI4Y2Q/uUtnnqxtfcc\n1cbVMevuXG7WlauGcjx0ofPrFLLrApwNQiUdiVfGA9+49uciwYl7/Zyvusuu\nN2Re\r\n=CHwB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhNTG6fz0U2V8ljlr+towa/hSTV0LMft013iO8ecITqAIgXbgTFoMHno7PdnSWEfNGn81amt2FZTZKmHjeJ+GXoH8="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_2.4.0-next.1575874763.29e2f1cfb67cab77f8996d161aaf4dae09582235_1575874764774_0.7213924646522554"},"_hasShrinkwrap":false},"2.4.0-next.1584137890.ca904251446c3e3f05c7a2d835d69a5941f02c51":{"title":"Arguments By Type","name":"argsbytype","version":"2.4.0-next.1584137890.ca904251446c3e3f05c7a2d835d69a5941f02c51","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["arguments","args","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"},{"name":"dependabot-preview[bot]","url":"http://github.com/apps/dependabot-preview"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=8"},"editions":[{"description":"esnext source code with require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"8 || 10 || 12","browsers":false}},{"description":"esnext compiled for browsers with require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^6.2.0"},"devDependencies":{"@babel/cli":"^7.7.5","@babel/core":"^7.7.5","@babel/plugin-proposal-object-rest-spread":"^7.7.4","@babel/preset-env":"^7.7.6","assert-helpers":"^5.7.0","eslint":"^6.7.2","eslint-config-bevry":"^2.2.0","eslint-config-prettier":"^6.7.0","eslint-plugin-prettier":"^3.1.1","kava":"^4.3.0","prettier":"^1.19.1","projectz":"^1.15.0","valid-directory":"^1.5.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write ./source/**","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":"defaults","modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"ca904251446c3e3f05c7a2d835d69a5941f02c51","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Require: <code>require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n``` html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is esnext source code with require for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is esnext compiled for browsers with require for modules</li></ul>\n\n<!-- /INSTALL -->\n\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n- Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n- Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@2.4.0-next.1584137890.ca904251446c3e3f05c7a2d835d69a5941f02c51","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-WjtS0cVeIFZdf64ItjETL2f40yiX8CtKAbmUYXpqE/Zyj4LRCMJOrvn297OzKeliX0wwwDfME0M8mZal/u6PpA==","shasum":"25a3d93e94827ecaa6ecb5c09e6d75f4545d798f","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-2.4.0-next.1584137890.ca904251446c3e3f05c7a2d835d69a5941f02c51.tgz","fileCount":8,"unpackedSize":19650,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJebAajCRA9TVsSAnZWagAAmtkP/1mu0JPHQfzs9zGeTni2\n0CaFGvjoBA7zkJpKvC0pl/T5CMm/mglCwe6+9P9P4z8TuRo6Wa5/xLho8q1O\n7Dssbj1ZPN/LnCKQOpAnescmIdqynJd7hEIvr+APG849qWU6xS5k71YHu2Fh\n/r8yVBvjLcYDUg5NKFXLoYJYeclAJ/gxF6RuAskJtyTxld2FD9eSWun1vVyg\nrVPzXgo/987ALHXYKzCSTKbSi5p8Zhw0XyLNCeOa72nULagI2RtkgWBvVsaO\nrZKcjilAcdNWlwROMGFWu7qKsxhLBJA82PJRBQSZUY/PrBevMGTLRu0uJxY3\nHhKAWnL54Y4QYVObERRC6W1BXsHStN0Tkmml7E20YunRLgmKda2bRT/tNgxX\n3S08AhXSmL7fq+069odgkkJyW4m89MD+D07AQ2i5t71UXYpNBq2SL4nuwir0\njvujX3esVMMEt/Q4lRguxqNTx+/WHSdmxGPM+jNOGH3U68dVmuVQnkpZttJm\n80AUJewPnguwS0ckjKcZoq/75gzbROWj8S7T8HnSSgYiJdhDWGoc8gEK89+0\nMMsRO+eb3HoHIOeWFP7H4YAempMPeK4EURdGN4ZpyDc7JNb++mhztMJXz7tT\nF+qT1y79E4WYQkOqM0pdPgmKFQKPGL51Lw0QUqc87tt9qLtgkc0W98fpYRRT\n1V3G\r\n=A4fs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDctA8sEvz5qz29PD9upSET5/js2KXq9GK9Zu8Up6YbKQIhAK78lgo58FGB6pmgEftxK0PnqrxO+Vq7+IFWjwijsU7Z"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_2.4.0-next.1584137890.ca904251446c3e3f05c7a2d835d69a5941f02c51_1584137891376_0.7419077438044936"},"_hasShrinkwrap":false},"3.0.0-next.1585172772.1089d315ff8a32d08cd4833c73dd846e8be239a3":{"title":"Arguments By Type","name":"argsbytype","version":"3.0.0-next.1585172772.1089d315ff8a32d08cd4833c73dd846e8be239a3","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^6.3.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/plugin-proposal-object-rest-spread":"^7.9.0","@babel/preset-env":"^7.9.0","assert-helpers":"^5.8.0","eslint":"^6.8.0","eslint-config-bevry":"^2.3.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","kava":"^4.4.0","prettier":"^2.0.2","projectz":"^1.19.0","valid-directory":"^1.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"1089d315ff8a32d08cd4833c73dd846e8be239a3","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.0.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.0.0-next.1585172772.1089d315ff8a32d08cd4833c73dd846e8be239a3","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-az6iw1e5GnHfxJnUi6mMh7EhnBLT43nGJUsYvuUsokct272motPjTmc5FpIvY5R6TRbBUw8Zx2MnpLBRFk4B1w==","shasum":"250bea56a665ef81780a06b24543e22c328bc607","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.0.0-next.1585172772.1089d315ff8a32d08cd4833c73dd846e8be239a3.tgz","fileCount":7,"unpackedSize":20398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJee9ElCRA9TVsSAnZWagAA7D8P/R8PyU+TsxueiRFtW1I4\nbFw9lq3vlcn8ELTj9MZTVPP8VSx02p/v1KKieyBwCh4BqQa+a6CqXKB02Gd4\nbxCYTKZ6Won5OQ/mpxFB4fId/OZQm7ljQz4rId9tCaca/KaxN9FAQXW5wF7z\n6AQb7HA2m5DuE1gXiVd7idZ5sIQCF3VPY0CeMXEKoGGXyb6ee907WOcHh9bI\nWI3sRzTFjfwDSHgg6WN107+nCKnkTZdCfvV2/HXOAaijIfAsmiTXReCR8uG2\n1ghsxtaRItlBKzExVfGDerYXenjX6IAJMxW8m0fgEAsJpTbs8SC0HaT/on+Z\na6rn2Llao3DI2lnuA9YzVIp0LCfUZXka4MB71KdiwLPc/vh7uua3JY1kskYM\n7SYRbXdAz0M5ZAVS54SIeBu/tg2wGJcE09i+lHgEQkSrU8hlqnNV38tprotx\nTBQRrDy2TFAjxlTjZs+2jmuhaBNsL9scWHpwoE7FA0djqd8OtlHbWI2E5C7A\nOxpj8b7IqbEnRbj2efQqdcxkkyxlBDo3ykEUGL5ZkthF/bUBgWl094fxt8/y\nJPJEr2AKl7EdWIKIQYXevTf5z0l79UqCf94o5B6z8LcpQTWh9wp4Po4j9hrZ\n9iSBd9NUBkKHXE1J3U4Bj8SCBSGnI9Mk/jlQVYLNokWAZvJNmotYfy6Gl0TO\n7AZa\r\n=sQLb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDfqRgYAMSass2Uk8RqDWXqpeN59x8kryfwPRMyQu/87AiEAsKIlfcIEOfEmpyUr1NtBfegbmKXAzkrA18nC+0XoZSA="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.0.0-next.1585172772.1089d315ff8a32d08cd4833c73dd846e8be239a3_1585172773284_0.9740172531915019"},"_hasShrinkwrap":false},"3.0.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.0.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^6.3.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/plugin-proposal-object-rest-spread":"^7.9.0","@babel/preset-env":"^7.9.0","assert-helpers":"^5.8.0","eslint":"^6.8.0","eslint-config-bevry":"^2.3.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","kava":"^4.4.0","prettier":"^2.0.2","projectz":"^1.19.0","valid-directory":"^1.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:projectz","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"1089d315ff8a32d08cd4833c73dd846e8be239a3","_id":"argsbytype@3.0.0","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-c7MdRi3PTWBigF8Urx5YBlF/b5e8uYJ0kC/TtRzoFdZn1YTBQj/Sb+UlWB3T0ZN+DbvAnIAQmsQvLpymWzKFxw==","shasum":"afcc9c56c4fd6a6fcaa987db2041fe63099af38c","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.0.0.tgz","fileCount":7,"unpackedSize":20341,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJee9E0CRA9TVsSAnZWagAAIXQP/1v9DF/HEpLqr2OQfIDC\nS7GeQRQldBvkYlID7Ui+GA1JPQvudfrSNHK0Zv1Dw9AO3F3hYpEd3gXB+CB2\nwYAPCsll5Ngyek30PdNBmwTydQzimgt8/Y3WNxQVc92OHY6l8DbYXdXIz+zx\n8DGoovvoCGTAxG0wduT3L8KsRLnESDGNiXAyiHHe6iVH5PifS3ZX5+qkDxLa\n6LOTpzDSWu2bDb8CTlfYc/I4ZYKQlvBT23RUGVBlnIWg+WBtWb7kZ9FgIfOy\nHTfztxgQ2Rvh9EsIwWOcM1qQwBrVYdkdGJB/yVJE20Pfp+MK9TnpXjL8dC21\n4Z8lDXPkIhdZHbzn6/vqwHq9mK+GyXdHEVfYnRoaYXQJBkW+pGFlwos55ACJ\nrRUrFEdQ//y8Efci8e5cZwvGDIrdccp4EOT9NJPRz6sbCJxxz7uFbK/fL2Zh\njG6NOHgKfJK05c0N4vcA62BQ2o2ZL4XHAEoKiUw32j29MHzR9xHhrxl7Pc6S\nPkz75jLpMW9GCuazCXDyhxu6qKQhsiML730eYyCeJuynDq6cMhcS8WCCHb5P\n5qDvFa8FfAoC6e9q6T7tVYmCGjTJGPKyLszRiv2cKiX1KFEQA3eXeyEpslcR\nuJIqzOoaOtq0Y6Ff7Z9wx/V5BcffzBkxLVQUtwdNYZ3iPKyUTVgXEK4LDLd2\ncfZA\r\n=epe+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8JYsB6aXzKXEyh3+82ppyXghaiDxoS3mYb8NhvtADHAIgKjpUgjfoF0Ez96uH2GDQdCk8bp4/u6ENE2hFpuZuSls="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.0.0_1585172788535_0.1497040807326946"},"_hasShrinkwrap":false},"3.1.0-next.1588592933.92f424eaf1bce6973596ad28d09638bda4ac29e7":{"title":"Arguments By Type","name":"argsbytype","version":"3.1.0-next.1588592933.92f424eaf1bce6973596ad28d09638bda4ac29e7","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","dom","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^6.4.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.6","@babel/plugin-proposal-object-rest-spread":"^7.9.6","@babel/preset-env":"^7.9.6","@bevry/update-contributors":"^1.0.1","assert-helpers":"^6.1.0","eslint":"^6.8.0","eslint-config-bevry":"^3.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","kava":"^4.4.0","prettier":"^2.0.5","projectz":"^1.19.1","valid-directory":"^1.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"npx @bevry/update-contributors","our:meta:projectz":"npx projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"npx eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"92f424eaf1bce6973596ad28d09638bda4ac29e7","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.1.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"http://balupton.com\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li>\n<li><a href=\"http://github.com/apps/dependabot-preview\">dependabot-preview[bot]</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.1.0-next.1588592933.92f424eaf1bce6973596ad28d09638bda4ac29e7","_nodeVersion":"14.1.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-BYEs4u1FCb49Xkwzksn2jAvRTRaNHVYuV8a/CGTA8FXWxD9N63G1GwEnC+NUtGf8r/CGLi+K1AnFnGlYxBW37A==","shasum":"7dd4f4e11357ce25a79bfc980763c03aba0edf71","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.1.0-next.1588592933.92f424eaf1bce6973596ad28d09638bda4ac29e7.tgz","fileCount":7,"unpackedSize":20791,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesAEmCRA9TVsSAnZWagAAeloP/iKBThDVvV6k5MkCo5vb\n5BE7LvGWYLA0Og1UQuO0tEFuQbj3d31DYDBbhtHAaW6ff0fxqDljxf46m99s\nLvnhuyPS7wTWgz6xe6o/B317UB9N3YCrl2eKd7H3A/mA381NtggCccrJy/O8\nfQxiqqo4cP4yXp9QO1xakTMIA3OgqxMvzMiXcmBZ4OeaNg3vD2wnebsxvXQW\npU+UULuODW8vExGbA7PAJUBNpy5iQ2QfhkhxFWETu4t3f1+eQKZn1OcWiK3+\nu+4HAJyVmVBiL+zTKV+rWNj6Kb/hKGGO6qvjdkBeIHid8p7Ajx9UVG6Y93vK\nbbsb5Zt3OkjSCKe3Rm4CkoU8qoDLGBCRoT/Z4l6ZaHiwJPNGUCl6M6gWA3HB\nV0KE3WpMHWKIciDdS0Wf9VS/wCHurNaVsL+CbhZpcNznNG3zxssTJP0ieTHn\ne819dEs9l+/e+EV+SRj7r/vR6CIpy9vfSk/Ycz0yvH8qdJwVqnka0umssGcX\n2vHV4TtZOCUsKAxs88AbZsawPm1MJCpzrBFZs5ZYlLfUIHtNS8vMuv/7hE2p\nHxmAhCODpqoU2g7UWHNq03jcPgCTcyvcr4htoUngXn4SSBtNhf+UMW6MW0Qi\nb5op9ll+up+KxRpL6iTRrvE23v+qESLgIZXoZKqj0+RTXhbUUJ7YxQ2iqWTd\n4BY/\r\n=to3z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFwq83wHJO1BXKBa5YyU3tQRJNkeYww1qVz2JG0WH5poAiEAilTGgrY5KeE9rMiecxl5ISpnZmfnJndEf4thpsA7pKQ="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.1.0-next.1588592933.92f424eaf1bce6973596ad28d09638bda4ac29e7_1588592934218_0.7440995541056736"},"_hasShrinkwrap":false},"3.1.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.1.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","dom","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"http://balupton.com"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^6.4.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.6","@babel/plugin-proposal-object-rest-spread":"^7.9.6","@babel/preset-env":"^7.9.6","@bevry/update-contributors":"^1.0.1","assert-helpers":"^6.1.0","eslint":"^6.8.0","eslint-config-bevry":"^3.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","kava":"^4.4.0","prettier":"^2.0.5","projectz":"^1.19.1","valid-directory":"^1.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"npx @bevry/update-contributors","our:meta:projectz":"npx projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"npx eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"92f424eaf1bce6973596ad28d09638bda4ac29e7","_id":"argsbytype@3.1.0","_nodeVersion":"14.1.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-2I7T0ygajcmyqQADFZ8jnVLWaKUTNNFabDuyANF/9h0TNGqGr9I9k2BpKSWUZF1j6OzacOssDSmukpnuFilWxg==","shasum":"3fd6df38ae4410df6b0b9e006d8dc532f22a38b1","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.1.0.tgz","fileCount":7,"unpackedSize":20734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesAFmCRA9TVsSAnZWagAAAD0P/3fJj43fKGYq76tGXT/Y\nYySDTBZ1OUuE5Z/kvhjMQds2dHwkRO+8K8dfB70+8RgPUrXGRoY8c6jrrbwB\nBg/5y6hRPXQF71Suvr81py1vXvMgwDUJCrN89dxGwE1ERffNnlVUSeKSLoBT\n9CVERCZsItoVaQ27Qt0oC7gv6lsc0PhDwsNarSRu48vQsiA0hmN2kcQIdbEJ\nuWxJ4K0rn6x54o+UNrxHcNF11Vl5qQlMGMvJJ1L7aH+BYEStlO15BElS+kZL\nnFRSJzzSRSHhxlTZGLur6oTsNqP+zFWIyTOEX8plUK6BIvbxhhVC/RTZI04M\nnwaaF2v2qFNZB0waSaoXX5aAzO68LT2HgkrzryuUWDRYFwhkIyJFivf0zh55\nvnQYqomVBdl5QbhJeEaRT6LPzX7oQYnfa12kW11esQ7oDTuibhAVUCudP4rA\nsJZpAy79lmuhgA/YqrqCyLiXuLlox0C/nAl676vs+OqOtoweQDAkYvXrj6II\nZiwHGz2u4sfOsIzoSCa6H7LPhUZdcYi6SfMMAuyi59otEaTS9os8SvibQOiD\nu4gETaNYMa4zCfsna0Nd5OVJzUs50bINbpbTO/H2TA3AS12/dWHCHBQ9pVsd\nkwj+knbyYpV8ok3x2ucOARzSAc24GFHpPVLfmqderMWsuv2plG/E9emh9UuB\nyEKT\r\n=HK5P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNGYP/ijaKeFsgEJfLEc920JX0Xoesh29c6kioYSemIQIhAPyV/+l3EXGIWOrjN937/r6J38sx7IupwR0e/g6Psko5"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.1.0_1588592998486_0.8526120574763882"},"_hasShrinkwrap":false},"3.2.0-next.1589199455.ee6e7c2a56833b930befb8cbc81094e20866c17d":{"title":"Arguments By Type","name":"argsbytype","version":"3.2.0-next.1589199455.ee6e7c2a56833b930befb8cbc81094e20866c17d","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"index.js","browser":"edition-browsers/index.js","dependencies":{"editions":"^2.3.0","typechecker":"^7.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.6","@babel/plugin-proposal-object-rest-spread":"^7.9.6","@babel/preset-env":"^7.9.6","@bevry/update-contributors":"^1.5.0","assert-helpers":"^6.2.0","eslint":"^7.0.0","eslint-config-bevry":"^3.4.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","kava":"^5.0.0","prettier":"^2.0.5","projectz":"^2.1.0","valid-directory":"^1.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"npx @bevry/update-contributors","our:meta:projectz":"npx projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"npx eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"npx prettier --write .","test":"node ./test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"ee6e7c2a56833b930befb8cbc81094e20866c17d","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.2.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/index.js</code> which uses the <a href=\"https://github.com/bevry/editions\" title=\"You can use the Editions Autoloader to autoload the appropriate edition for your consumers environment\">Editions Autoloader</a> to automatically select the correct edition for the consumer's environment</li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.2.0-next.1589199455.ee6e7c2a56833b930befb8cbc81094e20866c17d","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-GKt6PgsDMCUWO+gJ1ckhakCFfHEUOjEt8zLlo2mZK66UgqoKKVB8mxMWBC/L8QHedXGiMAo2PqK6CZjtYTMxOw==","shasum":"fe20877a5c872d58a8c9a4272489b5741cc53230","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.2.0-next.1589199455.ee6e7c2a56833b930befb8cbc81094e20866c17d.tgz","fileCount":8,"unpackedSize":21273,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuUJhCRA9TVsSAnZWagAALbUP/RZ8BqBmQUC0tphLgTQN\nzXjHEpsDqlASWmIPQBlArBiOdS9ZE2Nom4NRiCFgQcSqE9lY44zRydfVOg/L\ns90BzCkrRpXx2cihzr8YT2RRcx/1OztgxlV7zdzuasR9bU2qy6JXwYvI+7UP\n+TO4AHgwoxwFkflH5P8V32niYo8cmkQH4Mm6E60bHN0hBJjYRj6H9vtmj59x\nAndiPx+PZthuFm8Rd3ZkLdXt0AjlUv7ftDwF3FTFAiz7dI0jE3MebRb/9IQc\njMPrBIuSc1kpxE5VdK5w4WC3h0bCS2lI9yHj36nC1nRxR189iRlRcN0d7FdN\nibOEcj3mLo/32Peyt6l0RRWIY/LC5KtOqvtL4V5IHCa9EHdALscR67z3xgy8\ndERWtk7GitouvNckdVJAObD/Iu5woepD9Epilh96PI99jlh+ynC6j1LcZBmh\nPICwKn4HTpTST/23XRQzJyzlmxyAaLlott/RYzVni2gV8YMXgiQIVIQm1aQz\nHghXNhchwaHhZB7sCEhwfNcMdYy8Qj74Cwkkg7YYFDs7y85CDv5GLbdbv+8O\noehxBpARVu0UXHkFYRM56MarFsDR9mm/0ih70F/9LBn/hZ9/ayZ49Yfwwq4Q\nuWQuvnC9PB7ePnVwfKDqnoYhJlJoMaVecDvTLEvVHTmDj328DffwwktkbEoL\nSI0L\r\n=d3pU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+5I4K/rTdDjiYwa2WlAAHZZdC6grHBdNrgCnaTZtFOQIhAP/0jG92yRFWuleawv9QMqaUR3MJaF+S8ZkDaB7WYuoy"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.2.0-next.1589199455.ee6e7c2a56833b930befb8cbc81094e20866c17d_1589199456848_0.8258323744251486"},"_hasShrinkwrap":false},"3.2.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.2.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"index.js","browser":"edition-browsers/index.js","dependencies":{"editions":"^2.3.0","typechecker":"^7.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.6","@babel/plugin-proposal-object-rest-spread":"^7.9.6","@babel/preset-env":"^7.9.6","@bevry/update-contributors":"^1.5.0","assert-helpers":"^6.2.0","eslint":"^7.0.0","eslint-config-bevry":"^3.4.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","kava":"^5.0.0","prettier":"^2.0.5","projectz":"^2.1.0","valid-directory":"^1.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"npx @bevry/update-contributors","our:meta:projectz":"npx projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"npx valid-directory","our:verify:eslint":"npx eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"npx prettier --write .","test":"node ./test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"ee6e7c2a56833b930befb8cbc81094e20866c17d","_id":"argsbytype@3.2.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Yy9uCOCc2Lp/yNOHVydbcsVic/lYTyBp6uZOuWSF0XvnLpV8NM2u3fgqcyX96Wkm5mIzhXrUvyi/rkw3GjFuNA==","shasum":"f7bdf2c5ea92d8b8fa7ac7f42f03f819178caef7","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.2.0.tgz","fileCount":8,"unpackedSize":21216,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuUKgCRA9TVsSAnZWagAApoUP+QE86aN+iqEu3OrpCDvX\n5td3XBQf5BrzmaT1D8uOk0go7+AEPnCE0g3bTWtR4TNvlrr4CN4g+UmMVeoy\nKuyeDtgQddKz0nx0il/B0KwgCRoYRblb56HlU954trQ+1lmJ9mcptakspqIp\n0ZYLhTJtvhgmyD0S2Emis72BImvnoumVhYgVAsxXhcpLVFYLgx+VqcLRGUNE\nyG0z42Yvc2wmFCx7JKCPSR/4fLjyKBS8ssq2YG0z5b91mDptqo5G8b3o6Dr3\n3gAlDnX49wmWoT6NKwUyrYpKmxgJBmE/TrlnEDT8U2bUBaS9hPDa7MRx7fNp\nMmIi166GTCI2lPgDCn4Vwn2MUOobKjpyJXZHW9xzQ4kkIbAsHwvmsint+PLz\nLa0CJ/kj3yNkPYVL/Y5LZMeulLaDgiucusOTl/ZjardJOoUXJhROREoTwf5l\nn8dtePna7QstB37UPCvgCNeoklFTn7KDQ92Y+gK66P1jEigIq0v4Yzdc7kK8\nZfMCmRTA709KHO9hv7xzXBBFh3YQMQL6dklxLkRjHDk0qs6gW2Y43rna6KWS\nIkVcIsz2s9GVLgbxr9dlpocDxagQ6s3RRSOe1VRr7/ZF6+ydDueU9v2vxZhs\nbCW91bbfGcUfnFGMNgDEkJJv/dO498Vi49JBMVT7lvkBwnjYiRxVS9gnASS8\nWtAZ\r\n=TEvh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHsYYsck2JhX2/Cfl4Ku4AHzk46RYp+C9UZDv3WZRpdbAiAaTSpDRUPfj1Ty1uiffNVBwG+YYtWbPLt8/q4npSedpg=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.2.0_1589199519989_0.9009130030436856"},"_hasShrinkwrap":false},"3.3.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.3.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"index.js","browser":"edition-browsers/index.js","dependencies":{"editions":"^2.3.0","typechecker":"^7.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.6","@babel/plugin-proposal-object-rest-spread":"^7.9.6","@babel/preset-env":"^7.9.6","@bevry/update-contributors":"^1.5.0","assert-helpers":"^6.3.0","eslint":"^7.0.0","eslint-config-bevry":"^3.4.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","kava":"^5.0.0","prettier":"^2.0.5","projectz":"^2.1.0","valid-directory":"^1.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"65de399d1e2b0c0707af85d05aecbaeb39e6c83a","_id":"argsbytype@3.3.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-fOV0ed8aZZy5WkgC9DTxeDSwfINHK04v2I1tvj5VH5c9nJQz1a67F6mnWPDpVlfBIC+d+NmA0kFouYAUnrS9qA==","shasum":"72a20c21ff016760c289e9b3366779a706ee2366","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.3.0.tgz","fileCount":8,"unpackedSize":21382,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuf1vCRA9TVsSAnZWagAAJcwP/18UY+MiVn2UdDw1yWvC\nwztkpJ9THuFhsktQPVOCu2jcDyFGtR73C2p8Nkhcsd0A8a905U7Dk7FIJjUo\nImVdl31JUadgUPjHHgHxsIYwTFvY09meTd7zgZX2vHy8IoQ8zbFePlEEnJkQ\nGX55Ws/uN7uuE8/3PQDz8Uh8N+i7STvqqIlIf8c9vT0CR8sjgzJn6UiJg8hM\ngc0Un6gLUJcUGDq2lDh8wdzzqfLAS7XvgcKlkc0WX76IQavDIpW8iM4u7ehl\nu8mh5+2lK/+KEvghOekbuqMPX7AqftYTvQKiZ1QIK9TLESq7a+cj0OSrADJC\nx/iVebSXeMBvMU6RoWFMumupPWbuf26tOqW7ED0vmTb1xkRrEsB8I7HmZtk4\nZ2xq3S0DQ2SJXIW8pFDXXFwKkurBWpaf1mATHrbKHSF09gV62GgM1Rv+Fxw8\n/NBQiiDMsSdDeohKXh6Zj/6t86/2+dxes1SGajUTWYhyMj2PxYURFc9oqNgO\n7Pddu3ggo95TFBJJxMek0Yq1AXyAyNodtVTF6fH3+fDXYyhQv8ONzWXIvbbV\nhkO0WF5gqAWwyiaisv0h+Eg03AJ7I+R8XSP7S1o2DsG5xzs5nzBP7TBGEt88\n5ryC5VQIRpJOJs4CXczHL3QkrSTL+gHZOelUy8RhuE+s8Fc+3J3bZ7q5K6Di\nRBQ0\r\n=kJ52\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC4XqdpsUmnic29hllXO7LVQhaRJOxYn3QV3ZENTlwRwAiEAjKvHfPvjVW9R3PF3ko3MwCfP4MkIgzIhHry+bTNPSMw="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.3.0_1589247342781_0.8636802023043453"},"_hasShrinkwrap":false},"3.3.0-next.1589247374.65de399d1e2b0c0707af85d05aecbaeb39e6c83a":{"title":"Arguments By Type","name":"argsbytype","version":"3.3.0-next.1589247374.65de399d1e2b0c0707af85d05aecbaeb39e6c83a","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"index.js","browser":"edition-browsers/index.js","dependencies":{"editions":"^2.3.0","typechecker":"^7.0.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.6","@babel/plugin-proposal-object-rest-spread":"^7.9.6","@babel/preset-env":"^7.9.6","@bevry/update-contributors":"^1.5.0","assert-helpers":"^6.3.0","eslint":"^7.0.0","eslint-config-bevry":"^3.4.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","kava":"^5.0.0","prettier":"^2.0.5","projectz":"^2.1.0","valid-directory":"^1.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"65de399d1e2b0c0707af85d05aecbaeb39e6c83a","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.3.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/index.js</code> which uses the <a href=\"https://github.com/bevry/editions\" title=\"You can use the Editions Autoloader to autoload the appropriate edition for your consumers environment\">Editions Autoloader</a> to automatically select the correct edition for the consumer's environment</li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.3.0-next.1589247374.65de399d1e2b0c0707af85d05aecbaeb39e6c83a","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-bgBdDumARvm8pjnfZ5hjbtZpGiccwHHJriNqodMLrkh5PH2cywQ5r1H7/CBj9pKKY4CqNvDNByRnA3tJPBsUaA==","shasum":"321a43156e55120799067669c15c220ce0692e48","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.3.0-next.1589247374.65de399d1e2b0c0707af85d05aecbaeb39e6c83a.tgz","fileCount":8,"unpackedSize":21439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuf2QCRA9TVsSAnZWagAA52sP/iRzqOtawgElAsG6YJH1\n0WB2LW3+w/R5CrQq9w+q+afywRHXw7LCNoR05rDQGc+TzBHPIjE9bUaNgfra\ndb6zkngEp7MOya2dW4lSO7X4y9I78o6xS4LDpVDchkVy4ksiGvJ7B/za2yZF\nOyFv8cCNA8DviJIzQoTK75obJKuWiWiuorb1WyYMGDeEnNiDaqojOwZHtUNE\nUMIwiSN+6ho68edwAVS/SehgDeyWn9+6GZ4XfxT5FsWv2/8m07UwBQEubK+K\nrHV3HWkRxdvSUqbF905VSoB9MxRuljpDz3x//ZHwGS6tqlGciKz1ze0CjRPP\nOsisjwr2CUkTQTgFtOizPYsr7RrmR6DG6XoV0TEFdr2Zp/ofAYwB9v/ziwa4\nKayog31ff5+d6GTg5OXPWAfNF9/WPSLvhF+XkujBaBXXlhJEvCb9lxVfFd8d\npMoGhJBqX6DjD8/FGt/+o+dZET12STIrx4VSVvTP/WeFo0Wlzx5rGZlIoWSA\nH+arTUbp/DIs1fGMce+20K8G7bcQZA0KcwDqIGhujoYbiSz33HENKvy7TWpY\nPtl3yDEDRL+lsxxRrDTi8aRI90KTCatglRGSWMA52R3rxd6FBgLOEkQaaQg+\nCju/Dw5a1P3kaWkUO2POzJLGBNAC76LloDoXaZQCM/a25s+mW4OP40V6uikW\n/E00\r\n=g1cz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDI2IDQWn70tTqebHqj9LF5dH+fxs3b+fQ/kebq3hzAvAiEAuf/bkLyVIafoTFHv69RyctbZ1URz3q51Huz38PLtLKg="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.3.0-next.1589247374.65de399d1e2b0c0707af85d05aecbaeb39e6c83a_1589247375636_0.8644268479436243"},"_hasShrinkwrap":false},"3.4.0-next.1590030876.e6a4aea83d8f670d21ad91d708411d1f5a1d2525":{"title":"Arguments By Type","name":"argsbytype","version":"3.4.0-next.1590030876.e6a4aea83d8f670d21ad91d708411d1f5a1d2525","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.2.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.6","@babel/plugin-proposal-object-rest-spread":"^7.9.6","@babel/preset-env":"^7.9.6","@bevry/update-contributors":"^1.6.0","assert-helpers":"^6.4.0","eslint":"^7.0.0","eslint-config-bevry":"^3.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","kava":"^5.1.0","prettier":"^2.0.5","projectz":"^2.2.0","valid-directory":"^2.0.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"e6a4aea83d8f670d21ad91d708411d1f5a1d2525","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.4.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.4.0-next.1590030876.e6a4aea83d8f670d21ad91d708411d1f5a1d2525","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-4HUabMX+OW8QxaOQT8yAlRqQsvCfK0NueKl9x13FCB0/TcuH40yo8ZJcc8uw9cQDJJEBU6fIgvQAHS6SJ8Vm6w==","shasum":"ed978f190407ecc9826cc415d543d5017993a74b","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.4.0-next.1590030876.e6a4aea83d8f670d21ad91d708411d1f5a1d2525.tgz","fileCount":7,"unpackedSize":21221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexfIdCRA9TVsSAnZWagAAx5kP/0PuvUIT1MQTXhzKOACa\nY88/dHll5qSScRSX6NetyjMuNAp+Dpp1lBfMXf8xTVWnIqLgvyuOH3QNNv3w\noeKRz6vh5TBEhY3CRkC6rcU5+l9sKujF7M2FGAEoXinYqFAEgfty0PMTmzCH\nSeOOvhNwpxu2J+cTbcYykK0qTfHh8qi2qPYNwSZNewLmsha1R03wJmWMAX8t\nCYSPlKacORmxEFbjDjRE7djB/Tjgy9bjqkGGoGgpMYhYMSXxh2NucEo3ckXv\n6XZkj9ISALoByRgy8HIXH/qt+ZNuJewT/ut2ymo41FKC6Jo5aZaxahknVwEm\n6C1qa3bIEnQF6ODYCfFlF9AREILrbZPJJV4aDvH8ctrrms1hfyIvViQAi4GF\nNCwf13rN5V4dweGrdbL3We1J/zrBQspLJvOBBjq5Fctnl4/p3T4uc3Dginfh\nF4UUkD0b6ebL59cbLnzAIUmIOJI9pIy6E8TsHpY1KJ9GwxuKRdrlZQsjAGvR\ny3SRhUI3ohSnf8qpmoBm4OmhWFip7TqKZwbTWru0qh+XKt+8KaEAoDx4b30B\njycY2VnthNutW+h6YMNxVVz8SdzriKDpQ7ZBNbrvnMCZjVprvO+v2U8Wke0i\nL/WjdLer7xvwy2hGCw7BkSEPEFK90IU7F3Ogvl4Bj5ap9KLRFl8MYGLU1TSh\nFfLt\r\n=L75a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0+GAwmneiPzKxeNLbSV5jM5/KXlemoaQmthUKsH1TWwIgJJfq/tmqFOOEAh8AZvXDw/O35MK3yKDbTi0SNdY4DmE="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.4.0-next.1590030876.e6a4aea83d8f670d21ad91d708411d1f5a1d2525_1590030877475_0.45533994612958373"},"_hasShrinkwrap":false},"3.4.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.4.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.2.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.6","@babel/plugin-proposal-object-rest-spread":"^7.9.6","@babel/preset-env":"^7.9.6","@bevry/update-contributors":"^1.6.0","assert-helpers":"^6.4.0","eslint":"^7.0.0","eslint-config-bevry":"^3.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","kava":"^5.1.0","prettier":"^2.0.5","projectz":"^2.2.0","valid-directory":"^2.0.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"e6a4aea83d8f670d21ad91d708411d1f5a1d2525","_id":"argsbytype@3.4.0","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-V3iqvCp6+psYoJobHiFNGMX5D6HfFnItw5alkJHw5MBbwxy65NzfQctH5v+DO+7zj2x8LtE5OP6se8GznenFdA==","shasum":"feba18a25ea2618042f5ea374ba9b07100dcf7f1","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.4.0.tgz","fileCount":7,"unpackedSize":21164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexfJfCRA9TVsSAnZWagAA5pcP/RraTVMwLb3233CXcx3W\nF++dsJWpPhkEs1+f4a+KSLEzp/PRy6W2KOecX6Zvxc8+mKbR/nPbBG4a4bMl\nSBaEUIKJ48vsVjv8eomy9Kb9SHc7TNbopz6XrVToxCZ+koIzdq7fWvLIorUj\n+YBz3CDemPbZ5fS3w0d48W0bAZc5ed++vjrV6LIb2Lfnla8O6n/sRi+26ZVu\nvSdEnx98Ea2ZQBx+M5j/6tLbPgtf3CBgxwEH7HZ/w3f2E67qr87zrfFYubrh\nqWAQoGQndZtyDpCZ0g9xu5dD2HY4miO+RhTabHuaIdDsJNilLXbkcO6QZH7j\nL5eAdJMPaiY3KgdVldakugE6fZXOByhLG1H87QpwrWhFPDnNVfpgQyUWT/jj\nrmEJBeHDTKpR0mtTuTynoaAC6eaQNfpLYe7jDwBWUo5FSi962tQhe01smBMy\n6WVNw4o1CWEdvb3USiqpUjctqJPvfxjAIJZeQc156pHkGsaTmfjTR3/9p1Ch\nagkoMoa85MoTCfvB4cAp5x/2mWBCOaiw58SKSHkYMQ0LG58E+E7ljAwQjL5n\nsuqu63G3X6Uy7soWbvjUA9vnH5ZvcHH6yP/jVZfjXSk4OoP69X9lYTv3WMGc\nUmYGMQvUpRoEULRR7KVpCNyrxM/lwU+ufjLG0q5lfvJNTXls9IhlITO4+XIJ\ng1v1\r\n=yMGo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICVH1tjbhqiIDpEUYzY36hO0Gs5B29vYFq0D9mtiDUhjAiEAwXTrcHOKIiV1h+C/BErmHEO6V57DQ5pT7tDGAL3Kkhc="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.4.0_1590030943035_0.1504798268610037"},"_hasShrinkwrap":false},"3.5.0-next.1590068614.c27a9ad0d872bc8f3d2ca60d74872e6e5513ccc0":{"title":"Arguments By Type","name":"argsbytype","version":"3.5.0-next.1590068614.c27a9ad0d872bc8f3d2ca60d74872e6e5513ccc0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.3.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.6","@babel/plugin-proposal-object-rest-spread":"^7.9.6","@babel/preset-env":"^7.9.6","@bevry/update-contributors":"^1.7.0","assert-helpers":"^6.5.0","eslint":"^7.0.0","eslint-config-bevry":"^3.6.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","kava":"^5.2.0","prettier":"^2.0.5","projectz":"^2.3.0","valid-directory":"^2.1.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"c27a9ad0d872bc8f3d2ca60d74872e6e5513ccc0","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.5.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.5.0-next.1590068614.c27a9ad0d872bc8f3d2ca60d74872e6e5513ccc0","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-SWXTyzlvHQfpGMosZ9/URqCpH+dPAwkHD4lf/uEA4kvh2ZwHPrbFV7JpqDC1dTy9YTNXRY9j2cWCw9BcDIVM3g==","shasum":"492c0135abdf297f1f3df18d61a6c6c942c8e877","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.5.0-next.1590068614.c27a9ad0d872bc8f3d2ca60d74872e6e5513ccc0.tgz","fileCount":7,"unpackedSize":21414,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexoWICRA9TVsSAnZWagAAti8P/2F51UkDZmFpJGZXnnp/\n6aE1zW1EL7uUc5X4n7IkpKPlYC5k7db6sRiIN2AbaNRKliPFtX8MYrFUOs4Z\nASXLyWfoSJyMMxbx9gJzlwabxoLzLo0rdaqHNvD5q9yCmMLGm1X2nOiYR6KI\nGUwth/5s4nQNoqxMgwJxQRP4fajr0tz7Gy1ADgfgDj96tF3uM6aLRtTAwQ67\nGKCE8UwKt1/0wnrBqxmo6ylei49xUKwkZyZQRT8wXSvxiCmEm4WhaNnperkQ\nvRGOWbc1JnB5aiIDVDy2IW70N5OK4ptW3YG4y4CCdQ1oU8g+wPLx/uTrW7vC\n2wd9pu7YaEg0zOvqvyKLK0seFTsLem83Pwr82sS/fD4W6jmaMa9Xa793B2cM\n43u7osc1dkvzDpoHk7Zk49/z/cH+yvtIi+SgO45SWaH+ML6uXJWSCu+Gpalx\n7XbuauZYK7gMC37r6a2C2okyzQOQniwlcDmozI/T71zYijm5JoALA/5k2Op9\naRABjnoXBD4/VLbNnRyu46RloU39YP29GGb5pjIYwUc5MCcagnJjrYtkqXBZ\nsyaqMe7pfV5EPvFCjPuwzH7nmRIkR+ZE37zsOIdIRb7qsjAuSwbp2ps9zn7G\nHxRMZbPkGKIhNSZL/Bgyi9nf2uoMlL3IDk4pulhp81mxqQA2fNEH4vr4KYnz\naVV/\r\n=m9j4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCILP/YKq9+Q6mysL9QRezZzzP0vFhc0W3kpNkCshuTQwIgNuDIPNOsawnI6QlJBtnA8t//f/k39kvzJ4vOwN5EHVc="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.5.0-next.1590068614.c27a9ad0d872bc8f3d2ca60d74872e6e5513ccc0_1590068616389_0.5351321631054085"},"_hasShrinkwrap":false},"3.5.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.5.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.3.0"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.6","@babel/plugin-proposal-object-rest-spread":"^7.9.6","@babel/preset-env":"^7.9.6","@bevry/update-contributors":"^1.7.0","assert-helpers":"^6.5.0","eslint":"^7.0.0","eslint-config-bevry":"^3.6.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","kava":"^5.2.0","prettier":"^2.0.5","projectz":"^2.3.0","valid-directory":"^2.1.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"c27a9ad0d872bc8f3d2ca60d74872e6e5513ccc0","_id":"argsbytype@3.5.0","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-jBsku1IiIS42GZsjNp7OCM7gTHliDDBY3CP+tZfGS1OMQSIlP+xHAmxj00nEQJ/eVpYpXtMauqLLNf49M8KFxA==","shasum":"4de6f440a33014674e3b10d331ed7d49686b593e","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.5.0.tgz","fileCount":7,"unpackedSize":21357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexoXHCRA9TVsSAnZWagAANkYP/2K9na4TYGVqPjyvNWqK\nwKUhfqhfxza+M39k1mowmbd5fEP8uo0QOOfLDDXEoO8M+cF0MmA0Udp6sdBX\nHnLQnnfitsw0S/Y63niki3bOgu6dqRNdEQlHSTOUhkxy8ww6t7hjeiAYONwp\nsriwOsR0Qm18HIFt98xMo14kIxRTRx+yCatfNDIUkiSJY8w5/rVN3u1rAi5S\nPvTQShZ+RyGlhbw3BUC0SH7sE95npCbwhbWe6BU8PJNJaoxNjzWwI4azTkzV\nmJxOujSa4YAisKj+ZILl2W7k5guztQYkcDMiUc7EATvL+IqXE2Ne58ZrffMD\nx5+rgT3nZiOgtj4OAfxbnxCELONxgzABUQNoXSmxehYBcn8wFmCS7CIc6j1P\nn5ETZn6VYMoUQgtdxmM8l3iDozyfxP2eDuWoqEr8gv8IQEMdgk5ngfYC+H5T\nu8PMaxJeiVH4tqZOV8/8MMkEA6VjlEtl85j+B4iRj99hWXJrWFMqmb2jfuui\nB0iI7taJ+qwmg4TR7CYFYtqgSqyT/XmDLHIcvPhP2z9E7A2og3FJFkl8O3Nv\nj07JWOOEYZLZvYg15keUEcYNbbxy5/W/z1jpQrxCUbS7Rv1C04dZ6UghQqiW\nZrDaA42g/xz7+eTm8mUTtD0WUq0Xw9fExQh48p/cLCeMrJtrb8m6qM3Q8JGg\nlKw5\r\n=TClu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGiQFCuKIffja1KneAnFH/LqjrW1m8+5IPIk2Mc8KIeyAiEA4A4KYNB2+nuuAGPmd/0+yAjR62M9etEbHcOnRgI6Avk="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.5.0_1590068678856_0.5323545051226886"},"_hasShrinkwrap":false},"3.6.0-next.1591772251.e42acaef4e13c56114b13a137f7a8ef33e6c61d7":{"title":"Arguments By Type","name":"argsbytype","version":"3.6.0-next.1591772251.e42acaef4e13c56114b13a137f7a8ef33e6c61d7","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.4.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@bevry/update-contributors":"^1.8.0","assert-helpers":"^6.6.0","eslint":"^7.2.0","eslint-config-bevry":"^3.7.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","kava":"^5.3.0","prettier":"^2.0.5","projectz":"^2.5.0","valid-directory":"^2.2.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"e42acaef4e13c56114b13a137f7a8ef33e6c61d7","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.6.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.6.0-next.1591772251.e42acaef4e13c56114b13a137f7a8ef33e6c61d7","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-drEzc9tLyx+8jPeLLE0gnGFhP6OtQvGjL8ivLE8Q1MXKX4MhxwdMqzSWsnkmEoo5Oxt5ln9vgMLlGYpuWDJyKg==","shasum":"81dcd5e04a78b1ab59d184fcf74f87e62b76ccf3","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.6.0-next.1591772251.e42acaef4e13c56114b13a137f7a8ef33e6c61d7.tgz","fileCount":7,"unpackedSize":21612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4IRcCRA9TVsSAnZWagAAvuQQAIKENJgcfTT5Y8K9IfOV\n2IsGnzgkbanMp9v2TkoPa+r84bKWyWIh/Gs0aQI+xuSkvAscbJMZMS9/uxG4\ntqP5AgbkXNrYI6lY1svyJychZnpXfABUeTm/RdVopdPYmVqqrXbt9pOZBsdj\nv0MOfLoQaP0PJ+7hi1TcEg73OMlqzFh/ed3XKtqjWk95lZORXYvCX/2e/q9N\nZETtSMYPBWht2ko4XFpSRZD4ueh/LPKEioTIVcHbHVKsrOFCNfz7tVzyz7Q/\nRCA4hZIP7028xAHG5rzJxZujswXQWfYpNdJkvjftefvKbwanfJ3sWlFoKn6U\n+1WzTSYefMteZvRhdlXBibr4uRn3YdcgUqLWS7MfcWwAsa24LHFyIq/TGIM2\n+SRs5bf2oev55RP7Qh0szALf9D0rmeAmI8l+vdyCc+YYahFFlyFicyqdi0St\nrCUbHUpba919Pi6PnPSiwNWm8sF3nqtaMbbF3zbsmx1Mvan5ChiaggWdB4jO\nsD8oliuHGRB3s4jM+/o46k1VVIAzqrMkWzKhM3BeVXvUTUNi5qx3tvoWOWb5\n5W+qy5YLUIBtmswI84TWvROpjclJej/fV2sJNPsT8aBQBqTcj1jWUFRRGSOX\n2p7DowFutvBDacgNvOBrhZdqpXiXQCsI1cEruU8tvkbC6LHC+jYmFC6Y/vgl\nlodU\r\n=LCic\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIExA5XIohFuHOu86vhB9xScKvVHb95QLo5w70IoptXYZAiEAl+XAfeemoTnsDRupNmS1KDV6ErhYqiw5z2GEylO4z58="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.6.0-next.1591772251.e42acaef4e13c56114b13a137f7a8ef33e6c61d7_1591772252084_0.8479810405772117"},"_hasShrinkwrap":false},"3.6.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.6.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.4.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@bevry/update-contributors":"^1.8.0","assert-helpers":"^6.6.0","eslint":"^7.2.0","eslint-config-bevry":"^3.7.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","kava":"^5.3.0","prettier":"^2.0.5","projectz":"^2.5.0","valid-directory":"^2.2.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"e42acaef4e13c56114b13a137f7a8ef33e6c61d7","_id":"argsbytype@3.6.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-eJHMIvEZLhm1cKHzi2ubMXYv/407LKaG2cDPEqiRaUZlfdxu4H4o86uxGGkB4KR2AizyPKLd/oQfWBw2wOy9eA==","shasum":"be18f37c515f7d2b043e6fe206ab459fc719db11","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.6.0.tgz","fileCount":7,"unpackedSize":21555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4ISnCRA9TVsSAnZWagAAYR4P/1OmhrUIa47a0ZBUOH3e\nMhFjLomJQ1QN/PqaShr1uDHlUlzyYIVgljTWX3axNIed1CE2Ilp3q82hwW7J\nWJOgHXiOvH3LXSFVSA/zFt44U/ITkj+sP7IHVLOmYl6FyjkISkIJLtMdw2gs\nU3/FRc70j9JCvPkSH94gOukV8F64aAsrmW9SUwtn/3hDId1Z1n9vQgEIeNkA\nqhdldy3YfJBTgYNz46dDbFmQ7C0NZQABu0MvFp5CR/sVbm4mLhT8CJl8ciIL\no3GwrsvYo0GUVv5SsgPyvyICN8m+lF5jYCyTLuaXbcoaeUwai8yuU65D3c9Y\nbomSPLvzjsVFiZPfaAc+cuyZ5KGPbxQcyUsNP5gRhhZlWoY+IOcqqmawKsBd\nm+B6RnStyp1HUQvxr257IIxIDPBrMBmeYOo3W3xYx6rg10NViK1TgN5NJPoA\nBf+RkcSIDBQnBlwgElKMPzP7kG6JstM+baAbbLrwwTBDA/yhwJ8rCZQfjGVM\nepxjn/Td+qCazbYFdj/g07V9NieHUhLmWMmZON6tw5Oa03ePWJSd8xR2+3x4\nKeLEhTAVfLaBtsI7kLruwW3r8fqDENfRh+RMPsUPBej4khnN1RqY0EobVzGP\n2urK5/RpVV42D4TEv2Dy0fp36mr9wONrMq9tqx1VyiXZh2Hwhdclu0Y2TRIF\nxS3E\r\n=YrUD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtOBZyBveLwAeaV7fLH69XVZcsYogtwTT4t1pL0rfP5wIhANfSiFaB3NcDtfym7CHNqawwDvC3/Cr8r0IxHGGfkSa0"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.6.0_1591772327063_0.5020570971714642"},"_hasShrinkwrap":false},"3.7.0-next.1591790163.ef830fbad08c99f9ed075a0abc8b35b6b47c6a39":{"title":"Arguments By Type","name":"argsbytype","version":"3.7.0-next.1591790163.ef830fbad08c99f9ed075a0abc8b35b6b47c6a39","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.5.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@bevry/update-contributors":"^1.9.0","assert-helpers":"^6.7.0","eslint":"^7.2.0","eslint-config-bevry":"^3.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","kava":"^5.4.0","prettier":"^2.0.5","projectz":"^2.6.0","valid-directory":"^2.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"ef830fbad08c99f9ed075a0abc8b35b6b47c6a39","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.7.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.7.0-next.1591790163.ef830fbad08c99f9ed075a0abc8b35b6b47c6a39","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-kor2+t8VIncsg2temOMW8WKCAur5Wbarn6ff9mwjaEBfPQphc6pmYrSFgnba1mwE0BuGpTlJFhwKu20BNRME7Q==","shasum":"7353a47dab3d01a0754903515807f1b6e61409f9","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.7.0-next.1591790163.ef830fbad08c99f9ed075a0abc8b35b6b47c6a39.tgz","fileCount":7,"unpackedSize":21806,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4MpUCRA9TVsSAnZWagAA/qUQAKB0/NAPLEyH0ofxRxCG\niS0qtufTYKS80nwvkmwWSS7XirGUI/Kp1050a9vnU2160wIZyr1sfcKtX4+M\nNrV/pVaLTg6M98HEOBSVV9S4ue4ANkTmCEjZvLEatRmgIGVM+owQDI/eJhRj\nILdxKk1qgvCA22fEAKOK82VDqtrP7T7X04EqQBTSneYrpGIvS8iWshA0nnWN\nfY04Xj8TYVzWBi8iJioNB/IJB0XMeqTNWQe4x2R2EbWoSL5SHqSKjGXNDNA6\ndez4XrEQEkvAinCHbuAIoYyPuROZ6hPmU9hIhoCJa0sb5pa+F+fAe48vR6Vj\ngQYbtQfmHFXDtzL32oI56wKS5k7XjE3AjpUR8p3evSCkFzNlgm6wYEJO6Amp\ngcpEgtxknA1GSbY6CyiARIffYLy4hm79qnIRZUOTnxDbK3iL01KB2/0/uiYj\n89Bn2Ky+hwXpoz/oIMbW5hDBSq0+EZfwgFpNhb1egB8Wp2mFZATYVC+SKIam\nA6GnETFaO2usPH4jhedLgo27c1kXmrM0gHn8ymtKKa/cujcWGTRJy8iTdstD\nYIHJ1iJlb8qHovBm98Bic5+eKzsiKRAGhe4lpZmFaJVEGjzm1+lsy/ljsgEb\nXMvHYYH/GEFETd0bkMvtzdTWQLoH1uuqG5/LIcK9rRJbuZD7sXXNmjcBgACU\n0EAd\r\n=frhW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEJLeKReZ25ALbxfiySZIPe0gnQMqJISglqEpiWKu743AiAA2j8RFobWiStvVZKF33Lk9qeuLLmGHed99i7wytCFKg=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.7.0-next.1591790163.ef830fbad08c99f9ed075a0abc8b35b6b47c6a39_1591790164395_0.9956703692528361"},"_hasShrinkwrap":false},"3.7.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.7.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.5.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@bevry/update-contributors":"^1.9.0","assert-helpers":"^6.7.0","eslint":"^7.2.0","eslint-config-bevry":"^3.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","kava":"^5.4.0","prettier":"^2.0.5","projectz":"^2.6.0","valid-directory":"^2.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"ef830fbad08c99f9ed075a0abc8b35b6b47c6a39","_id":"argsbytype@3.7.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-gpn/Kg5o58A/BOmJ3hhVyg0rTUyJEa5CLYy3ORe4pxWSQDRbkhVuufrgYPdndpfkRuZAG1MN0WpnJ7nbMjDXTw==","shasum":"8427de74a108ce654dd1d4770bc06e4dcdacf62d","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.7.0.tgz","fileCount":7,"unpackedSize":21749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4MqMCRA9TVsSAnZWagAAy04P+QAdt9j6S9YCAvzg5YJb\nyI+R7A+/aBRUgznP7ipWvemUWS4aZi1W+WK0i7ZWGSBCWPwBZYyXpzOWJmyT\nLGKZow8coM5X6jvobsr+MejRyLHypoHbRXSQFtDpkC3HuCW9T5qwX78ObUzJ\n/W1Ur0xkH2wHKp4wNMMjDQF2VQIUffeRW+oZlcQ76D5NLHH4+PhEHL+6X3/k\nI3X2mvElGA6kARqvYB1bmfCc3nwaiK4mv/9AxGXSRLbC3onI5qa2Nbn3PkdQ\nrSnUSGaun4JaPRQlp0w2WS+8LG0BxFo2l4nkxVOQrwXNBK94eua7MO+9jvE9\nwx+OBYDZfde6zhjH7nSln14Qsi7kWnKvxWzp97/wcLnnX2EO9IRPgenutlhx\n52NRbiE7LYHAggeXmtMm/QsqHdzjMA/9v7WFJo2XP+jfYXtsE29xfvfDroFU\nv4qWm7dGlTzH6G/aTYQufC5ebFIMBrPk9d+L+iaSvt7xkoOmz2tEhBuG41+g\n2x9BnQ/cOXcJkwvQT5Bg70BTDO3xodHZIuAOcjkrqNO4pm4xoFjaeppENJy7\nb9RJUa88PYq3t8uyfC7YPkLfTYetY6ZtJ47R/V4y0Yk4nGMhwdQt7XrquWgB\nakeNWtHK+9Tj7RoQo19J01R3G48QDTlnAGy/nJ6s7HG3zDkTKtg6S6uyuinW\nAVZ2\r\n=ETww\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfn6s7aYMtfcP6NBqiAjYch5yUgnjWNkQhRQ/RV6lW1gIgdcydlm63jEfj8+1xol0SrKj4jVCWp6+6INC++bNkox0="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.7.0_1591790219633_0.5540648256397795"},"_hasShrinkwrap":false},"3.8.0-next.1592598853.e1025ff435284aec144013cdd15ba09d8025da2c":{"title":"Arguments By Type","name":"argsbytype","version":"3.8.0-next.1592598853.e1025ff435284aec144013cdd15ba09d8025da2c","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.6.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@bevry/update-contributors":"^1.10.0","assert-helpers":"^6.8.0","eslint":"^7.3.0","eslint-config-bevry":"^3.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.5.0","prettier":"^2.0.5","projectz":"^2.7.0","valid-directory":"^2.4.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"e1025ff435284aec144013cdd15ba09d8025da2c","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.8.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.8.0-next.1592598853.e1025ff435284aec144013cdd15ba09d8025da2c","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-8oMUWSDkMroebxX1Y2yg5etgsIaYbJ1JXa+BPZDDxK5eOAnUIvA907DRdGqz64jWmzRcGZuNw9gw29RQKhhYVQ==","shasum":"cf6c8153624c6dafd911b926aa66986d87714be1","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.8.0-next.1592598853.e1025ff435284aec144013cdd15ba09d8025da2c.tgz","fileCount":7,"unpackedSize":22001,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7SFHCRA9TVsSAnZWagAAW00P/RtX5JvHBtf1uzphLoJq\nGOwRmweTOntjPdM86YhEoVEjcNcN7iG7nh7uuH7Fgg23fOxV+e5kczMkscpT\nWd7KQNaLfo79pDFCP9MS+ukWBFy8UVLiSeCfWDwlXksWnY6RloGhCcFqFy6x\nV5Pp0u3bFf+1+lsjs8VNa9WevNsgQMFqmGpSH5MkbfwlmZjH2YCQM7K6fAtN\n9SF0Ljz+Bzg0PLauif8S/zaCWchY/P8EmkUbTzJPjcBK/Wt7Uvh7EPq+ZE3H\nznGcc0asbxUrzNdMHX8uAqcmQw1kyp0Ui16z/ixD8rmlm9BgtUl9gP8a7VJy\njPZHqTeNW8mOWSnJCewoNE+PNX3exolgp4cTdnEggDGRZL/DrM71B/g0Im/L\nW18h55wmZidMyiYbOYHZHesS8yKclzOJgF1tpYYUsOts9r1QG0dUaURj3kpQ\nYtT4mIZi2O0JrUMUr6vUpEVXniY2+UEkUgtPmaLIfDU/WLA6H9VWX86BWJUI\nT5SkaNVJeIlmXXu/GE4kn+RFyA7raX5tT3zRAI3E51SMvabSmMRmx40+LoXy\nYgsVY4NoGzpKly7PZLLroK1TrqGtVyyfvhn9WQPVxAhwkTfVQJ5xG9QnmUn5\nqxRgBQhSWkRF76GgCEtFC55pHkyKIVCL81pzDzypWk9GTL4GltOMmgaudq73\ngK3D\r\n=P6VP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB4A0SFdvFXgWTVthXRCsc3/mOXpE9YofGgJyZC3x/R7AiEA2CLBAIqpe+X3CU6DOowUPr3SbWgQJKz51Ker9IPc524="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.8.0-next.1592598853.e1025ff435284aec144013cdd15ba09d8025da2c_1592598854594_0.1262100152121779"},"_hasShrinkwrap":false},"3.8.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.8.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.6.0"},"devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/plugin-proposal-object-rest-spread":"^7.10.1","@babel/preset-env":"^7.10.2","@bevry/update-contributors":"^1.10.0","assert-helpers":"^6.8.0","eslint":"^7.3.0","eslint-config-bevry":"^3.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.5.0","prettier":"^2.0.5","projectz":"^2.7.0","valid-directory":"^2.4.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"e1025ff435284aec144013cdd15ba09d8025da2c","_id":"argsbytype@3.8.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-cm4gMoBdkiQ7G5+RR8PxNQRE8RTQxR68ZVkfoJblL7xJ/xh6xqmdG9fHYY94oULDkWBe65CiGbr0lkh4aaukLQ==","shasum":"9a1b8b94408593d16a80ca18cfa6fc988928f2f3","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.8.0.tgz","fileCount":7,"unpackedSize":21944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7SGECRA9TVsSAnZWagAAsEUP/RBdFo6budrFZF51V0Jf\n8mryMTWM7jRi0lAcdn0eEtrODHexgr6flF5uW/L5GDQQjX+YDQtuJqQGjSsR\nrS6ija47cA1E9KpxM732IsZxhNF5dPXNfwANRFYCy4dAsWw/in4TxyBHTgE/\nGkUNReDnuiO9y5AJvJ/vWKNVYEQJHLdjJws1kAYSxKea/Unw0eqCNPF5LCg4\nybHZRx87I/GAhFCsGYdYpMV5YRtUmSvR8vcUwMaA276xVaD8kttQuWJToihS\nx4ry2XRXgQbf/MTotMAii8cwGRZ2Yt9+srvQvUIllmxJrd8FXvHVF6T5foMt\nrF/ODCy3uOCdndTfIFEmWhxwrOvSxggwIEukp2aZ2EWFpKXQCYUxLTmBddY9\n3WQBp0HAWDVkhbovxD1dXlS+AF6AVfZg7mp7ejM9vJiJ5J0t53JMXhiO1mTA\nyiXol+YqA+Ot9tySMqhHR3QhnqHWmqVPy5zVsQrM2NKGWV7eP8QmM8WlImG4\nXJ9XZIpVFCnnPiC3RHs2tr2sGobCi1wFcTvCv8iVPpT2x2cYzv7x/9vpWmRf\nHlWOA5h2MW2jlUERaZf9fJ2gCTti+vhyn9ajjSQ2tSs7RpgGjxm21XlO26LG\n+JeYY+4U8XdpiOdeBUZ9OpGKUabZEGeBlQGGezccH65yUg7zP8pieP2qC95r\nl/Ki\r\n=XK6e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGtjgBqbfMBhFHT45dndXHIXGSPmNeSIZoU++TyzEjHkAiBZ/Gj0dov+0XDcHgmeHw36tUeV7ntxypP42sKMOn4SWA=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.8.0_1592598915612_0.5340922448257632"},"_hasShrinkwrap":false},"3.9.0-next.1592603563.06dc17cd1c2d336d8d0c8bc2e4cac1824e85112d":{"title":"Arguments By Type","name":"argsbytype","version":"3.9.0-next.1592603563.06dc17cd1c2d336d8d0c8bc2e4cac1824e85112d","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.6.0"},"devDependencies":{"@babel/cli":"^7.10.3","@babel/core":"^7.10.3","@babel/plugin-proposal-object-rest-spread":"^7.10.3","@babel/preset-env":"^7.10.3","@bevry/update-contributors":"^1.10.0","assert-helpers":"^6.8.0","eslint":"^7.3.0","eslint-config-bevry":"^3.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.5.0","prettier":"^2.0.5","projectz":"^2.7.0","valid-directory":"^2.4.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"06dc17cd1c2d336d8d0c8bc2e4cac1824e85112d","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.9.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.9.0-next.1592603563.06dc17cd1c2d336d8d0c8bc2e4cac1824e85112d","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Chf8DTaeNDR2XXvUmyzavDQFk17jqlyaPdP0bL+Tm+UTCj6ms5QN120lgZzMIAC8UowirxdlqrjihR8SrQTrRw==","shasum":"873b034602f3321c863692ac05258c04ccfe98d3","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.9.0-next.1592603563.06dc17cd1c2d336d8d0c8bc2e4cac1824e85112d.tgz","fileCount":6,"unpackedSize":21926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7TOtCRA9TVsSAnZWagAAny8QAIXcHSWv1TFBszY7XaV0\n6Hdsw7oXkPRqcKSpJbabIirn8YxEYO5AeDzjonqDprRKFhaqG2kNaGOShNeE\n90baJ5V390meaoquUh8gbrPJXsqDabSv+/8eEDzOKs1MVAUAwZ7zlhe5FAtF\nbG3oCCsi/684OF0+S8Lq2TGjId7askOPgsHo5SjrY72Se7NB10+DtYvTEcXw\nM/PBmOdkvLdvTE8W/glswfyb9rkanPelcgfrEyJJO9120hO7FbFjFH117f93\ntDJ/RX4jjH4jpZfWuGp8JNhHnxaJck94yT9hVupXyoc4u9J+Z7aREVkGiml8\n+pFD2Txdo58P7LY+vsmkAUQB8izCSC5E9FeGdjtZ8JopddYDWXySU6rLq/VN\nCZgLTtORfi8kEN/FEoPArWiUFdXgLP9OelZr40yhb303FQdcRCARoNqNk9l8\nq5fRHUMWLCIF6Yatr8uIKqbky2rLZFIo2OAD4o0qgCzq41Itw6qqwc2iFwem\nxhj3/tUoYUygUsafxW+kwjnbvtE8lA82HrhCkWJWTfO7BeaO6rWOcN1tvATW\nYW9S0iGrYQ36mJekwTF0xiA/um4uZASf+lWUXQiEmOhUjPFc4MaEmV+8+S9I\nJiqgYMcgOY/XstvP3jJmIj9Vu1XVGh4PtTfPMv4tDzGpcFpYBipiaAnS0jpQ\nWuh3\r\n=fWzf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC38YZ5zBNdqHoQgxaRC6FazVKuX1OIV5E7Zx7LUUGfVAiBMSVruz070dAs55dyEElj7ytXUlUNNFb12qLasvsoxDA=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.9.0-next.1592603563.06dc17cd1c2d336d8d0c8bc2e4cac1824e85112d_1592603564910_0.3926017465692122"},"_hasShrinkwrap":false},"3.9.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.9.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.6.0"},"devDependencies":{"@babel/cli":"^7.10.3","@babel/core":"^7.10.3","@babel/plugin-proposal-object-rest-spread":"^7.10.3","@babel/preset-env":"^7.10.3","@bevry/update-contributors":"^1.10.0","assert-helpers":"^6.8.0","eslint":"^7.3.0","eslint-config-bevry":"^3.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.5.0","prettier":"^2.0.5","projectz":"^2.7.0","valid-directory":"^2.4.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"06dc17cd1c2d336d8d0c8bc2e4cac1824e85112d","_id":"argsbytype@3.9.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-EvagkF3K3C746RqESP4cK9nlBZoVQhaObOMkqlYniG3VCeUAPwcvhY2DW4rFk+qC6LoIMj/2BQXmtWrrinkAAg==","shasum":"e4b158388ff896cc9be351ac67f3c371b25cafcb","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.9.0.tgz","fileCount":6,"unpackedSize":21869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7TPsCRA9TVsSAnZWagAAhK0P/1EzF79E6g9eFreUSPQk\n2LyV3dXTzNWjxz7YMH9vzjVGiy/u/rsXwTGIHn1cDJBBhsF6vI/UAgEZC3Gv\nIbmtn/pQkHnGi4iosUOViWII/Z/FzBacVxvFh1X7tFZ39IhHfrTNWEbzp163\nA9iXiVvHlgPOrdBWtS1SglUjS1VSJCA9CFLZ1CnzMC33bmu5jYmzOExmXyLe\nevQulNmXCgmguZx0bxOug6mAtZDB7i31h34KXbte57KjeVfJxcWcap2u3Z+s\n/xzP0i4p4OIYF1KVJgVKY1uMRn8Il18rV7CAjwdpTqZI3v7JMxg6sBRmJHGq\nYYtvRtGMM5sZ8DAxBw4Cusoe4qv9fWZdTtLudzjP28Qv4VcfEFDFFeb1cCnz\nwboe56+cYGbkbubcUMrnnTcdTUboSAvntrUD+pohhnL1+drC35TlSGsOEsJ8\ntTike96RKfyjqNQT172RFzZchUYCeIx1SUZ+uvzHTWYUjPjbVgo2bzT/Q1EE\nVEhdoKNOgo8N1LCykyVFEeI8djGLGf0PYFPaoriYH82o9TVoLzreCxC/Ftd1\nSt1GViQPPoBzToT7Gl+nGwMO7CNRWM6Z0xUI+5rihRHzb4ilGZZpFN4zDwPe\nI0/TuhVOrNLTyjlC+n9v11isVL2JvmbRnOwqRa7Bs5oAiY4XwcR5sKThzCe1\n1js/\r\n=76Uz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKRmNuLx0I8hxYV9CoUqoZc3hbH9Z/5Pbfu2WbtjLbagIhANIJ2EacuMT/mXGwDl/NP844JSkOYa6wTaDDNcPY80hY"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.9.0_1592603627854_0.8615406793227309"},"_hasShrinkwrap":false},"3.10.0-next.1592685929.91f6dcbfb00f0a97a7a5c4b81d625a4922d11408":{"title":"Arguments By Type","name":"argsbytype","version":"3.10.0-next.1592685929.91f6dcbfb00f0a97a7a5c4b81d625a4922d11408","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"editions":"3.5.0","typechecker":"7.5.0"},"devDependencies":{"@babel/cli":"^7.10.3","@babel/core":"^7.7.5","@babel/plugin-proposal-object-rest-spread":"^7.9.5","@babel/preset-env":"^7.7.6","@bevry/update-contributors":"1.9.0","assert-helpers":"6.8.0","eslint":"^7.3.0","eslint-config-bevry":"3.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-prettier":"^3.1.4","kava":"5.4.0","prettier":"^2.0.5","projectz":"2.5.0","valid-directory":"2.2.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"yarn run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"yarn run our:meta:contributors && yarn run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"yarn run our:release:prepare && yarn run our:release:check-changelog && yarn run our:release:check-dirty && yarn run our:release:tag && yarn run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"yarn run our:clean && yarn run our:compile && yarn run our:test && yarn run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"yarn run our:setup:install","our:setup:install":"/usr/local/bin/yarn install --ignore-engines","our:test":"yarn run our:verify && yarn test","our:verify":"yarn run our:verify:directory && yarn run our:verify:eslint && yarn run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"91f6dcbfb00f0a97a7a5c4b81d625a4922d11408","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.10.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.10.0-next.1592685929.91f6dcbfb00f0a97a7a5c4b81d625a4922d11408","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Ce/P5dCXUCljPToxEgF/HV5p/0pBsFiGih4GCTufjCYegGun7sPYYNUOBZenu5CO/pqKNsEsJDmjVNkunyIDMw==","shasum":"d175984d6c07c5d93f262b67b91b48c3eae5ffcf","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.10.0-next.1592685929.91f6dcbfb00f0a97a7a5c4b81d625a4922d11408.tgz","fileCount":6,"unpackedSize":22187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7nVsCRA9TVsSAnZWagAAFj8QAIs5hu+MGDRd3OQ5Z/0Z\nHL9Cp2dKm8im8clLEQLIX4E8GVRUJftumE8ZStrGkquDtR24mZHIGD45WEXj\nVIRvHHyyEl2Epa5e4oPA+kzX3QVOOvZ2us776YYa1Csmv+wh5eF9y3u97VcE\nE8Kh5p/nHBZHvA9HxrJIhse0TmzBM3rQdHFhhuHxX49da4OZ4gTpvzHn1VMT\nIaj4y0Oqve8msiFr6kaUUi+O6R8SJYcmZow36Afd9H2aGXsHWqQsKN4BJcoP\n3HS/uXpJHp/o/BMXmFFiNvs+g5d4kneWcrL194vFYt9BGCXbjVhcNcVGyHMS\n9fFIH/1VdVRpziXsEtnUydbklbrOxK1hsRHMLTlrMPKCgJGo4wKREoGlQcf0\nz8BpUij2bh7aapOqhlIe8w+Gji3Gkhb3lAXtsyxLwUVC3HmT2UiC9vmqwQJN\nguEHk3HmpEz7Eh17X9F4Sl4ZUv5qG0eZV8OqXUCyntxG3MSYWcxi+a8uzw5m\nVOvXyleoHQWu0KTgU5y5Dm6yvMQplIaIxTfaZKOp3kqLdjxJfxU+XLJHzobn\nL21we6WFjoqrRhPbIeL5NIyRDkT2IkSwABDhQzsL5QpHauZNhTLs73lY+lRW\nAI6dPDg3bzH8Gl0lnBYfvxiUWs2/pzgmK3XFB3BYS7Kx3kc3534cB8JEVJCG\ni9KY\r\n=B9tz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHUMdRFiSECW9dVdkV9my5U2wEBdDVeYEHSkIWma+/FwAiBINbSovhFH//vJJdn9HmpyYYmgjEqggq86hCMKLPSOKg=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.10.0-next.1592685929.91f6dcbfb00f0a97a7a5c4b81d625a4922d11408_1592685931307_0.6422480992289044"},"_hasShrinkwrap":false},"3.10.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.10.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"editions":"3.5.0","typechecker":"7.5.0"},"devDependencies":{"@babel/cli":"^7.10.3","@babel/core":"^7.7.5","@babel/plugin-proposal-object-rest-spread":"^7.9.5","@babel/preset-env":"^7.7.6","@bevry/update-contributors":"1.9.0","assert-helpers":"6.8.0","eslint":"^7.3.0","eslint-config-bevry":"3.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-prettier":"^3.1.4","kava":"5.4.0","prettier":"^2.0.5","projectz":"2.5.0","valid-directory":"2.2.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"yarn run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"yarn run our:meta:contributors && yarn run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"yarn run our:release:prepare && yarn run our:release:check-changelog && yarn run our:release:check-dirty && yarn run our:release:tag && yarn run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"yarn run our:clean && yarn run our:compile && yarn run our:test && yarn run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"yarn run our:setup:install","our:setup:install":"/usr/local/bin/yarn install --ignore-engines","our:test":"yarn run our:verify && yarn test","our:verify":"yarn run our:verify:directory && yarn run our:verify:eslint && yarn run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"91f6dcbfb00f0a97a7a5c4b81d625a4922d11408","_id":"argsbytype@3.10.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-KERkvFY8vuQ2n43VCEKZVogyT7DInN26zxemNYldhH8FyfPx4fEZ6+DktEA5TaTFT9NX6K9RhL+udSiaJy652Q==","shasum":"d56c85c55707ed924a0ed4ecf56d9dbcd003030e","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.10.0.tgz","fileCount":6,"unpackedSize":22130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7nWmCRA9TVsSAnZWagAAg+0P+wagq/yxnMojXbTEBNTy\n82Ty76MMmyi+feEET5lhGfSzYAhtxZZWWK5MupQLkovCuEPSC5kZb5n0Brov\n3IOQ7eBEwT1+uncPRYB0JKIdaPteJFnmdxwQuO9bZSFYZmgEWLi1HPPaujjf\n8KdrTCmi0OSLxuXJIhJhytCrFzWW7BHcLxXETy9q8kafp3dimnB8gNR9wJ19\nudm3dctYfT3sSv8sxHd8I1CESH9/gUmhsvLqoB2p724CLkUa1T0bqBKVEcUm\niZUpexkoWCPmYrYVwhlLtetpoqmGGIvCgJqJNb3AmofqAY+IRrem28+jAq7E\nyKY9nlUvx5rEL1yXPF6CaZuRYcLOJ2wAh3lpv+q/FqMBMniiWuMeAjPqKWT6\nK5uaeXoD0BrUPrdr2RBieQwAqzHrv+3JblgVx4nDaWrolh9Nx+EBhNPPRT/p\nyMKW4AuJ6S509IOEBlq1g8l5kzUymgPpeMDjmYI24VsKqkwuQK5fQSMsjp9p\nnudbGzvdvsHIA7MRAyhMuBdqN5kEpNjvYWE2CHGVoJGWdvaN4BHNfofTnDBl\n9lqFSWLCJDvH2SMgh7wpT0n3bVJhtu7/RT9Pe3lXBSBf+Aboz68leQe/69k5\n+GEbf5G1V5riHlRuSZKMI434/OTYYE92/K67+wDfaqiuYerg0dwGLcfzcB7O\nkA6Z\r\n=WzAT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDE8zztOten5MGoKLuKx1v6sccanS0EMEQGGvvkMBqbFAIhANuCtp7MJc2cqOrUlN4B8kO58qpJIWzY8bf5DjzfIDDu"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.10.0_1592685989489_0.36056534662289175"},"_hasShrinkwrap":false},"3.11.0-next.1592734651.9e02e9b1b0bc0ff35e42ff2b60a5e30557729e20":{"title":"Arguments By Type","name":"argsbytype","version":"3.11.0-next.1592734651.9e02e9b1b0bc0ff35e42ff2b60a5e30557729e20","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"7.5.0"},"devDependencies":{"@babel/cli":"^7.10.3","@babel/core":"^7.7.5","@babel/plugin-proposal-object-rest-spread":"^7.9.5","@babel/preset-env":"^7.7.6","@bevry/update-contributors":"^1.9.0","assert-helpers":"^6.8.0","eslint":"^7.3.0","eslint-config-bevry":"^3.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.7.0","prettier":"^2.0.5","projectz":"^2.9.0","valid-directory":"^2.5.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"yarn run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"yarn run our:meta:contributors && yarn run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"yarn run our:release:prepare && yarn run our:release:check-changelog && yarn run our:release:check-dirty && yarn run our:release:tag && yarn run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"yarn run our:clean && yarn run our:compile && yarn run our:test && yarn run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"yarn run our:setup:install","our:setup:install":"/usr/local/bin/yarn install --ignore-engines","our:test":"yarn run our:verify && yarn test","our:verify":"yarn run our:verify:directory && yarn run our:verify:eslint && yarn run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"9e02e9b1b0bc0ff35e42ff2b60a5e30557729e20","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.11.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.11.0-next.1592734651.9e02e9b1b0bc0ff35e42ff2b60a5e30557729e20","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-3FpCVVUQ5/83Rmgjlky/fxZswDS2JQoR017Snpw9lAWohWGwOU5eaMo3Gbh2C/5u2BjJiNoysO177yPvPLsipg==","shasum":"23cecd9b9585ad177182902e39d0faec2851d876","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.11.0-next.1592734651.9e02e9b1b0bc0ff35e42ff2b60a5e30557729e20.tgz","fileCount":6,"unpackedSize":22363,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7zO9CRA9TVsSAnZWagAAMNIP/0/l6nLP4vEPrrfkZxWz\nEJtmhVq11JUwt5AQIVb/v84uiy/zFTxjlp+roTeFLbgZsqt6bfo7/DmhW4Nn\nGaJLKcfgnfreWwe6Q2NJM1SUHTOB4UBkFX1WhnnKiIO8FAZ9N8n0alkkS05e\n54XsyXHbhkBNQM68PPyG5Rwz9jdAkH9LPEMKQIuUSOs02YUuzi1qGzPwMDIP\ns7M+GbeZ2KwGA5r0AkLVENgAxcEFoL2oCXuYzvcBEuVzr7RmCoXyzwBQrvc5\nkyTq982MIkPH2MWZzHXKIGzyAcvGx47YtojITALvvp1UVGf12wCqczak8bV+\n6sHS5umCQpEDosvncXrRW6k2wGwoiN3DVqFbH23qi5vvrgxwSWo/vkgsG8KG\n9K6gVO/WpL3wMNazE4e9thKaDEOjZJAty+NPwZTev/K8c0sJxnBlAAAXOTCq\nCkJUqR5gPV1BXolsNffgy0KxYNes5ATvB8hk1POO4rRIsb74L39MAAylJhG8\nXaRANIjGOs3Z4evKpDtCc/R9AXIqBejUiMd0TS/oEk4A25C9JG564jlV+3WX\nUYJN8H1KEuHnta5jWN5GWuL6kTDvc+e/f2uvbGIqtg31mIxbv5c9ZXx+Rgfy\n3nh97VfStRkJhp8hhOy8O2XKyHuRekg1KvzqHrFnZviJkphypPN5R1oyM74n\n82Ql\r\n=UFIp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHG2b0CNFw+9ePwJQKKZtmmdQvnsA28Wmf3cxTPz96cQIhAI/HJsIhkrQK/lfnSQ6y/Mj/Azmuok9FBUYLIsRMMNor"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.11.0-next.1592734651.9e02e9b1b0bc0ff35e42ff2b60a5e30557729e20_1592734652855_0.5039935421538844"},"_hasShrinkwrap":false},"3.11.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.11.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"7.5.0"},"devDependencies":{"@babel/cli":"^7.10.3","@babel/core":"^7.7.5","@babel/plugin-proposal-object-rest-spread":"^7.9.5","@babel/preset-env":"^7.7.6","@bevry/update-contributors":"^1.9.0","assert-helpers":"^6.8.0","eslint":"^7.3.0","eslint-config-bevry":"^3.8.0","eslint-config-prettier":"^6.7.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.7.0","prettier":"^2.0.5","projectz":"^2.9.0","valid-directory":"^2.5.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"yarn run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"yarn run our:meta:contributors && yarn run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"yarn run our:release:prepare && yarn run our:release:check-changelog && yarn run our:release:check-dirty && yarn run our:release:tag && yarn run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"yarn run our:clean && yarn run our:compile && yarn run our:test && yarn run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"yarn run our:setup:install","our:setup:install":"/usr/local/bin/yarn install --ignore-engines","our:test":"yarn run our:verify && yarn test","our:verify":"yarn run our:verify:directory && yarn run our:verify:eslint && yarn run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"9e02e9b1b0bc0ff35e42ff2b60a5e30557729e20","_id":"argsbytype@3.11.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-1WtbFfftZctm/QEzL3AKaH8P13MX//wJzIGpXYpP1IqvJG1OkM2G/n+qO1k04NkIcn0WkZfL7y1crKItlVvOtA==","shasum":"2376923574f94a74c790c2751dde73c2de78da8f","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.11.0.tgz","fileCount":6,"unpackedSize":22306,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7zPyCRA9TVsSAnZWagAAqaoQAJol+AJAVNMmt583MFVa\nBGcsZFbSpfaC/P1wlBwUMNuqabqDnpAF2AFayEuAkDaUs2KlOJePxR8TStAf\nCvW6/hJE1TUDkwUcdRmTfQeIyP0if92eF46x5knj0GhkRq7lFd7d3VuIdTJX\njfGaQpdjO72zPxu8+P59jAKJH5IIXmXlnbzAibpizr0CT/a2+5ChlwETdHSg\nmDtXfRohJULt6KFH0S3OLi+1Oma5QoKCOktiXUhK7MUVQio0urd103pmLL3F\nf+mVzP3crHfzYNcIDiXGepNAPShP40PQi+Hj0/SMwZyWOL7vPBnZAZUbKVAh\nzOJVorOd5+sxORuuBF4KsDMMBl3P37NMtBmiG5gbSrNMmBdXFM1d+QYi5ODk\nWtN9NP2cqQWQnky9p0UEZtCA/Gz21J/z6Nt2jAGxiAtGvSuqXQl89/ICpb6K\n88RxrU0GaPCZ1oL0Ubf5AJDuYKBpROGu9Vd1nLP/yBM830EQGV6G9kA+v7zf\nnLyEDMCZQs1Z4cV39tTtouIUrhiDo3wBPZu2aNHywIPJS5Oyzk+4q7kPNKtr\nXwLgWFie4or3iKJy3Q7MkS5c+6rPMKpArWkNTf3/RPHlicYIg+PrOlL4tXbF\nvs5HewysfX0RqwYCGdYlabwff84YGE+2rSCySD0FvnISru0uCtAsU2WGsxna\nexkV\r\n=kffF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCr/k5TXiAOX33stwBYTyxpMVUvaFN0r8+pXajSwhY6AgIhAO6KeA4tF1Iq4j/PbMLpEwZyZSH+C29YpxBhOl3pFGC5"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.11.0_1592734706054_0.7785936379923908"},"_hasShrinkwrap":false},"3.12.0-next.1593046224.f2164ad097543a29ac0b0859b7b82c1e391e6203":{"title":"Arguments By Type","name":"argsbytype","version":"3.12.0-next.1593046224.f2164ad097543a29ac0b0859b7b82c1e391e6203","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"7.10.0"},"devDependencies":{"@babel/cli":"^7.10.3","@babel/core":"^7.10.3","@babel/plugin-proposal-object-rest-spread":"^7.10.3","@babel/preset-env":"^7.10.3","@bevry/update-contributors":"^1.12.0","assert-helpers":"^6.12.0","eslint":"^7.3.1","eslint-config-bevry":"^3.12.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.7.0","prettier":"^2.0.5","projectz":"^2.10.1","valid-directory":"^2.5.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"yarn run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"yarn run our:meta:contributors && yarn run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"yarn run our:release:prepare && yarn run our:release:check-changelog && yarn run our:release:check-dirty && yarn run our:release:tag && yarn run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"yarn run our:clean && yarn run our:compile && yarn run our:test && yarn run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"yarn run our:setup:install","our:setup:install":"/usr/local/bin/yarn install --ignore-engines","our:test":"yarn run our:verify && yarn test","our:verify":"yarn run our:verify:directory && yarn run our:verify:eslint && yarn run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"f2164ad097543a29ac0b0859b7b82c1e391e6203","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.12.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.12.0-next.1593046224.f2164ad097543a29ac0b0859b7b82c1e391e6203","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-uY0AccuAPAM4P3zjhK4vhikju/LLBNjftiNwu0Xfp5K5WL4vaZ8GPBxVCM58ea85EZNS2w4HYETYQ2vvXxd8iQ==","shasum":"1897ce28362ac580f65c49f3641bb673ed5c5aea","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.12.0-next.1593046224.f2164ad097543a29ac0b0859b7b82c1e391e6203.tgz","fileCount":6,"unpackedSize":22567,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8/TSCRA9TVsSAnZWagAAfg4QAIrBF8P/fnV0yHeJuBGk\nfx4lUNDn2zc9QJ6EufvHfatD00bAno8F+dHtIeHTEcV5UBR4YwkJh1DrOlOB\nVamVGpyMdg/Lz43d091/ypWrhtMHLcNnp9hbPbso0u/BmLVeGmujwBwfAAV5\nhwTMpu2lAkY530UxeLMBNUh3QaOsM3ekyBsjblD7wloILkgIm2Kv8HweUqzS\nwPU7OYPP5zuyJLZmr7yh4cZSFOjwBC/I3kJxuUlMW+KJwe4l46AiMbB03cV0\nKudNHgH7h8NbwovEIsACEuQmql7QqZGn5Ki0mPASD7FExHkmI5H847rQKAwc\nkN8g0wNJUY3KKIdz1ckjdzvbQkYMODLtHcOqB+QAk1nfkJV3D8X/MmF3Psgu\nAR6NH/VKGlDLeu/drI4v2Qptb6rHUELDlA07PRI8KUpzZPX9PRt5AkOsMeCf\nYs5sosLm8Pp89dUBhW1wIBnktnB0hXWzR+2rutX7EW1h3ab9qxiXJpX1Ushm\nbgAgMhOgQnCP0xXLPBAKfZCbOy30Mko+g/T3R2Y6bA2VCrLDLSv72VPmu7ab\nZFwszwkyW3VFUTii+RhOUeoHbOTBDRq++ZxbrXsPU5r3X8OKB5sCJpDv25K5\nN92fNOH7kJtFLvbNYuB1/Hj63fORSi38ri7uLDp/2d8LSw1xu9wcTn67z+jW\ndCVC\r\n=uHBQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGddOous+sEtkNNcqbGOJnB48O0DJjE4BKQBNAzIbPCQIgVXc9WFvO+jUqxBktw0ane5vB2ERsjQtzL33wEwWN6ro="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.12.0-next.1593046224.f2164ad097543a29ac0b0859b7b82c1e391e6203_1593046226031_0.2811256332524006"},"_hasShrinkwrap":false},"3.12.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.12.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"7.10.0"},"devDependencies":{"@babel/cli":"^7.10.3","@babel/core":"^7.10.3","@babel/plugin-proposal-object-rest-spread":"^7.10.3","@babel/preset-env":"^7.10.3","@bevry/update-contributors":"^1.12.0","assert-helpers":"^6.12.0","eslint":"^7.3.1","eslint-config-bevry":"^3.12.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.7.0","prettier":"^2.0.5","projectz":"^2.10.1","valid-directory":"^2.5.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"yarn run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"yarn run our:meta:contributors && yarn run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"yarn run our:release:prepare && yarn run our:release:check-changelog && yarn run our:release:check-dirty && yarn run our:release:tag && yarn run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"yarn run our:clean && yarn run our:compile && yarn run our:test && yarn run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"yarn run our:setup:install","our:setup:install":"/usr/local/bin/yarn install --ignore-engines","our:test":"yarn run our:verify && yarn test","our:verify":"yarn run our:verify:directory && yarn run our:verify:eslint && yarn run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":false}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"f2164ad097543a29ac0b0859b7b82c1e391e6203","_id":"argsbytype@3.12.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-tRlFMbhm414MV0NSfn7UIGdtLulL/cgeDDp7CB1NWnSUFMnu++kBAKPH/IKpF/OYD8/kEXvAyqLcWXpeJs+p5w==","shasum":"a723d124f524137f0caf463a0605ba200c34fc1c","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.12.0.tgz","fileCount":6,"unpackedSize":22510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8/TrCRA9TVsSAnZWagAAPsoP/1ZS8d67MkoNoHYVwXcm\nQlpFXZGTV/Joht/Jk7DP2hpxSCU6pwb256MTkdAcCP1VRBScdXeGlOJcBlHK\nRVD7Xb9Vyxhqi/3FdKfuRwfBk+ffQvKViiB8EHzljSRo/Q9AnD0LbFwPLLOY\nqiioqQAVez7p/bDO8MnPox7WLPa36FGw5mwi8xcq2P+IqUfrENwDl2lHObRH\nBj8d/f//weBOcjWfOIRyX0SBFANeD2O/fQ7oVBsEP034l3tAW9nPnDjp7Ezl\nDMS87nBxM+WkYUjTPMl7AwrB2/Fg/pA+jektGUAIx2JA4JIlVZtm71ee7ii8\nLRvB2WNleiBOpVAs+GhD7g3HjbBwGDLzYnVCcDYPZyYJGeJg3XwTPu5Z5vHB\naavc8HrWj1txJO36Kmc865EXHnK9spWh9eB4FxA+CExFtnKtvLOyhx6J1K7q\nNjTZRlWUeueg8WeSbNljbMHlVkzH8jbU1S5suE4HtVpaacWgDWyDtAXGyNfP\n6UYwEk0U24vgeqMuGbrkfOsrj2fQds0u72PYVkmThr/XKJ1zAQ2LbX8A6yZX\nOtjTdFGuX7PwCz/sqwgO/a/V0rAPiM5pDj7d7Tddji9eiRUYHT96jCjGQvOK\nFz3Pd4TDP79LaOW4f7ib1CxkeNP5qxlqZvLjgvPaeA90kPlMaMfSgKN5Ovp1\nTwJH\r\n=ToKv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvtEG9y3z+CVjnuQ45o801e/l+gCN5w7HxDANPEvoLigIhALthzphmPwRy3pSr44MQV6bc0baB4cdQlvJS0MhrADPI"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.12.0_1593046250701_0.9403921914941555"},"_hasShrinkwrap":false},"3.13.0-next.1593153521.9e0086ae5a1ce155ab5f03b6399aa171a7d4feb1":{"title":"Arguments By Type","name":"argsbytype","version":"3.13.0-next.1593153521.9e0086ae5a1ce155ab5f03b6399aa171a7d4feb1","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.11.0"},"devDependencies":{"@babel/cli":"^7.10.3","@babel/core":"^7.10.3","@babel/plugin-proposal-object-rest-spread":"^7.10.3","@babel/preset-env":"^7.10.3","@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.13.0","eslint":"^7.3.1","eslint-config-bevry":"^3.13.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.8.0","prettier":"^2.0.5","projectz":"^2.11.0","valid-directory":"^2.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"yarn run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"yarn run our:meta:contributors && yarn run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"yarn run our:release:prepare && yarn run our:release:check-changelog && yarn run our:release:check-dirty && yarn run our:release:tag && yarn run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"yarn run our:clean && yarn run our:compile && yarn run our:test && yarn run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"yarn run our:setup:install","our:setup:install":"/usr/local/bin/yarn install --ignore-engines","our:test":"yarn run our:verify && yarn test","our:verify":"yarn run our:verify:directory && yarn run our:verify:eslint && yarn run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"9e0086ae5a1ce155ab5f03b6399aa171a7d4feb1","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.13.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.13.0-next.1593153521.9e0086ae5a1ce155ab5f03b6399aa171a7d4feb1","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Kfx8YF0CKz25KkH6vaF4N3B/Q/fLEofPN6EwBPZtTluyHYkEmjwWuC1Y5pEx7a8FtaVb6t9rDTrQgzvdAOP37g==","shasum":"ecbb859788b267b8436916a264aee5844a57ef7a","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.13.0-next.1593153521.9e0086ae5a1ce155ab5f03b6399aa171a7d4feb1.tgz","fileCount":6,"unpackedSize":22768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9ZfzCRA9TVsSAnZWagAAEbwP/AjZblrn+JXYu6kwoSEV\nO0wodlvu+xXtg4TvOTJksG2U6IxO+PMlrXOD2DrezIjcbPTcqdkNC3rVqAJ5\n1GSeSPrj2sRsoxXpLkWrZ0egcbbglZe1HtQ8mrydnO+yJxu0S/YRR2JPbvhL\nWjQKfnyseaZ2584Hhk+c4mqy+DjTKQtdaJ6zTa+CDVcb+ZACGO/Bi5pHsfl8\ncn+FaU8uIHPXkKJWDtYkX7j0IvYiYVvMOYZZZ1Y1/SIXNM/TTg7hAxxzXbt3\n8008AyMYlNnTo0wliysZw/VyOeCH9OO4emTnhAe79s9w+In4AQj8d92l685e\nINcS6/wjTUHOgDyQg6XDvYbLH76MJU3qGRjx6JXXvXC6aHyYjqIT/1PMf/8a\nKP4y+rk0Wzyyr1KnDk8L5JfP+c6Yk+ytqznTQLwoV9F835EvyRz462nhAy68\nt/u2wxtDUiBQtVH9t14H41rWp5S/lb72JDpwrEoY8iUMTzgstWGVAwK0dkBB\n/zDOOoJE5Sy84UTdDPZNS4UDwgfrY9a8J9OgoHFFg5JOcGYoTI7RKT/eHBp/\n5Bl+7qRcQGKYXwQ57pCUX42tFmDxE/p73ItvJK2Y/KSrDO3fXXKyCVe/L6FL\nLtmySVW4DXjtpDumtU4NPnrLV0pz7IDEbMoNsgekFvxbxu4wSQVmzyaBoEFG\neY55\r\n=KQ6Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIATLJT/EJs5C89E2xJ6BmlbaZXGGM1WUucdwOwqpto+pAiBXY1NHvv2O0k8rHh+10CBvAekke2c9I3Vc5i9HOk0gmQ=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.13.0-next.1593153521.9e0086ae5a1ce155ab5f03b6399aa171a7d4feb1_1593153523150_0.8263746002292698"},"_hasShrinkwrap":false},"3.13.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.13.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.11.0"},"devDependencies":{"@babel/cli":"^7.10.3","@babel/core":"^7.10.3","@babel/plugin-proposal-object-rest-spread":"^7.10.3","@babel/preset-env":"^7.10.3","@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.13.0","eslint":"^7.3.1","eslint-config-bevry":"^3.13.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.8.0","prettier":"^2.0.5","projectz":"^2.11.0","valid-directory":"^2.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"yarn run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"yarn run our:meta:contributors && yarn run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"yarn run our:release:prepare && yarn run our:release:check-changelog && yarn run our:release:check-dirty && yarn run our:release:tag && yarn run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"yarn run our:clean && yarn run our:compile && yarn run our:test && yarn run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"yarn run our:setup:install","our:setup:install":"/usr/local/bin/yarn install --ignore-engines","our:test":"yarn run our:verify && yarn test","our:verify":"yarn run our:verify:directory && yarn run our:verify:eslint && yarn run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"9e0086ae5a1ce155ab5f03b6399aa171a7d4feb1","_id":"argsbytype@3.13.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-YHsqt+paW7miqwcyLNimSClSTTQdes3twzY5q/Cn2m47bEArrmFdIz5Amc7iO5XBs2eb+ZPIxlkeT7cAoNAB2Q==","shasum":"72cc3d7e3f4ffe5cf8ee5cb7c5a4375a7d8af2af","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.13.0.tgz","fileCount":6,"unpackedSize":22711,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9ZkpCRA9TVsSAnZWagAAk74P/14dT9Fkh2MWQY9Bc5Pc\nvY+sf/bsqpzwK3uimBqIPGskZA/HgQrEskXSjQm4CGw2vRbv7oV1WUZBkjwS\n5SP2yghvIjrf184Y4V/aKUnAyCDuel8zs+w0q2xi4U9bULanDY+RLCZ6/T6J\nYb+w1SaGFIcfOGl/k5DKQte11DXtc04j9/kKfCe4KC89oAjaFedy15E/tXME\nDG8UD6pVwLmtWWnj+b8h5zzuiG1RVIYoD/J5ISRF9rCFqSo7EnaoqMNA6EXP\nNx8du8kNID7OK5Ox32d8wmrnPDq6WpRMfbrbwDjy2cY7J+6O9EFmx8Vao0O5\nXSv0biYmiobvWtux8+rPPftx+YYU5PO3ov0m79FqPD/WcqPuCL6gTdnQZDU5\nr+g6M7xxWrvu88SpFaCpozgzfG0O69EDV+hCKEeHYpbiJo4vqZT6ItGeMyaN\n9XbCxy83RKlaHDh605wjwDtsTYp7TP8O4Gvn44Aqra2fMHyK/e3cbBvxUDNL\n9/btxl9A6dHEIPyj65h+vcEVQ5cZ9AAnvzAsWHKd7/BkkhQIXAt5yIXdZl2V\n/KGBIvktbxUDPJDi4j4WEnxOYgUN7mi/kCpIJF4Jg8Y5astzR25t78CpyE9C\nlACGVTJ/0LzMnh2ch1FwYBIuoHYrbSQ/AABmUM5E1RnDjAvGTj3/GG3B1hQI\nHeuP\r\n=zqU2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGB8AdAGz7Se/O8ZhVed5H65qHSyV5eObwrEDoKia20sAiAZ4XmXwcT2Je0B5EXrXSnsbWLtsiH/CQmMiZugSt52JQ=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.13.0_1593153833153_0.8654632043903316"},"_hasShrinkwrap":false},"3.14.0-next.1593741601.4a69f1ccb9299b53be992a28242557255822f810":{"title":"Arguments By Type","name":"argsbytype","version":"3.14.0-next.1593741601.4a69f1ccb9299b53be992a28242557255822f810","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","exports":{"node":{"require":"./source/index.js"},"browser":{"require":"./edition-browsers/index.js"}},"browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.11.0"},"devDependencies":{"@babel/cli":"^7.10.4","@babel/core":"^7.10.4","@babel/plugin-proposal-object-rest-spread":"^7.10.4","@babel/preset-env":"^7.10.4","@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.14.1","eslint":"^7.3.1","eslint-config-bevry":"^3.13.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.8.0","prettier":"^2.0.5","projectz":"^2.11.0","valid-directory":"^2.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"4a69f1ccb9299b53be992a28242557255822f810","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.14.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.14.0-next.1593741601.4a69f1ccb9299b53be992a28242557255822f810","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-rxuo6SsFvaZ6IEUupgv48wzjMDGBCXwa7GUrLn3G+NAov2S9KaKMr8gsEEL8x61dM2Jv+9HMrqBlGHbc48QWEg==","shasum":"a1aee39ac7ab54397f4b8fd0aa4122752dbd58ad","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.14.0-next.1593741601.4a69f1ccb9299b53be992a28242557255822f810.tgz","fileCount":6,"unpackedSize":23101,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/pEkCRA9TVsSAnZWagAANuEQAJYY7nuSt1MQRzVBsCdn\nKgWJ7DcSopVY+v2rEUd6Jcru+PoalCkoVYD2AVWzAMQ/oaqezJJy3YfTFun1\nvyX8h9ZrvSoZ+nkuqWSHEWwzyNxSZ6OzFwboQQ60mQUCR/jFq7pAElDp4+GH\n6T5hqWzUzMtrFTwCX6CaNoIa84u/Rc14+Qv5e9fgh144nXwyDQ1dEf/Th2Sd\ndTjnuYoh6xeHaH4A+YCnVii3jziyZ9ZVhDTvjqdpEC3BPmFnIo83P5g7K+AT\nQ4/4hvYf4INN7JzAjJYmEfvJi8e09iKqZdlnQRKlC4cidQCsfRLvKueRd7SO\nPRudsRqobfn+DeBp6ck2Cjz6NWXPJf7jcE+WtF9VYRutKGGkdSH4+IP2sK3+\nFxXFIdf1T6tijYzqud6kA1J/2XexuHqfz2tGnuttNQexgoTncSE0dScRsNy3\n2VYfg/aoh0oToLPwSUi0lJWS4Dg26Nmj6I5Dt7pNh+WPyqu7vDt7Rop5p63h\nhgziR7YpuHpFYFnGyFWYkYAteKZpedGrvZHOQcVzIh1M01ayI67IduqRpe3c\nZUT82ildsmPZgt4DO/uZjY2yuVZ9wwBaRnX6m8nxLgyC0IFLV7qMMDhqAvNa\nsCcl3gf/4P7Xw8qjO5OZDEZXbOyaU/5ecE5Xl2Oe7cRF9RTxsO0aJGAyGKR+\nGDPy\r\n=ORHz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICTlwggtScAL8n60VZERyupRWk+RYz+e2eAX4pGII4uAAiEAyY3qn2r+Hx/Q7JiEPvfR8XOgmnFH4+FaZIqblmzF6cI="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.14.0-next.1593741601.4a69f1ccb9299b53be992a28242557255822f810_1593741603439_0.37157353655377423"},"_hasShrinkwrap":false},"3.14.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.14.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","exports":{"node":{"require":"./source/index.js"},"browser":{"require":"./edition-browsers/index.js"}},"browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.11.0"},"devDependencies":{"@babel/cli":"^7.10.4","@babel/core":"^7.10.4","@babel/plugin-proposal-object-rest-spread":"^7.10.4","@babel/preset-env":"^7.10.4","@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.14.1","eslint":"^7.3.1","eslint-config-bevry":"^3.13.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.8.0","prettier":"^2.0.5","projectz":"^2.11.0","valid-directory":"^2.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"4a69f1ccb9299b53be992a28242557255822f810","_id":"argsbytype@3.14.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-a7buE87VqwQd9/LZ7iIMQ5sIWdj3D2GR6Ge0f7FIZuLg1P9N4puAGQwgyyJwV7FToIRh/e3BEiml0v73RXphQg==","shasum":"954a2ab02d482bdd5cedb10c242d10994aaf8720","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.14.0.tgz","fileCount":6,"unpackedSize":23044,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/pFdCRA9TVsSAnZWagAA78IP/iYR9QTVXvLLjjrzEhVG\nvrTs3mlbZHp6TXO6Ci3eJIBh/jPf1bGM2CKO5pp+hFDrGbItpzeDNE0r/UjJ\nO0qAySK/En1qGAH7FkYsV6fvunCWwFsMO4WsP1MoLGy882Kps79n1QvCcOBo\njjspnixQb1yX+N0Aj0N/hLsu2oo8qSiOZy1orzXPqZncDH4SrTjUZrjSTiPP\nVZcM0YTGQqAg/Q2RdgSua4CFPfZndP+47OKBcf9jgEq1wa3VHaSUhhn2KW5E\ne5PQEikO6OGnlrXWa9mxYlZQY5MJaR9cYy1rofl9Ir6bGigR3+uEcIFw3Par\nnNSX3HIdScTJFrXWPACwtT0Y8CXjCRaqp2LF0MspZwYvSNdtQ+8FeOYt31Mw\n55NZCpeP6k+CfQTRT0djUKCaoL8hOJM70/hnC9u2yACLp1NnKqPX6EQJCE0U\n1t7b+BMyoYT87CJV+3BVL+tZOVRHDukVh1Q5x0v1MgAKP5qBMRyagCJT5m4I\nQKdHSH9NEzuhcUZrNYC+89bpq1mf8NjbzWYUqoBo28O6zT4EQ811BolW2HU/\nLBUVFWfdl404pPmu7YNmFWthwcLzEC6oRiUrfv52hFC8517kF4BimYvigCt1\nXRhTKD3zTKvgBucP9Gb35bSePbk0D6niiWLdgTl//OVqkpZ76gfx/AVRz+w5\n6aJQ\r\n=nyuI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpAmBu8UeCav1PNKF8BQfC/4xsqO30bfeEbg1hCs4DrgIhAJpi8qnQI9F+5skPdUzVFxTnEvXN+hlJSOXZBZTF1z6X"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.14.0_1593741660712_0.23367147088613294"},"_hasShrinkwrap":false},"3.14.0-next.1593742653.913bfbdaf58e657c579c4ace363b101c59da165b":{"title":"Arguments By Type","name":"argsbytype","version":"3.14.0-next.1593742653.913bfbdaf58e657c579c4ace363b101c59da165b","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","exports":{"node":{"require":"./source/index.js"},"browser":{"require":"./edition-browsers/index.js"}},"browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.11.0"},"devDependencies":{"@babel/cli":"^7.10.4","@babel/core":"^7.10.4","@babel/plugin-proposal-object-rest-spread":"^7.10.4","@babel/preset-env":"^7.10.4","@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.14.1","eslint":"^7.3.1","eslint-config-bevry":"^3.13.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.8.0","prettier":"^2.0.5","projectz":"^2.11.0","valid-directory":"^2.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"913bfbdaf58e657c579c4ace363b101c59da165b","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.14.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.14.0-next.1593742653.913bfbdaf58e657c579c4ace363b101c59da165b","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-AmplX8k4DGkud0YAyPZRIqymX0q+0ZNSdJMwSqY/t+zyqclcuL3ADqAUkvQAN/tg4YsqjAY6JCIuQbXsjDUfPg==","shasum":"ab1db23d5697c5db6b6f06a9c5b3c64d580a19e2","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.14.0-next.1593742653.913bfbdaf58e657c579c4ace363b101c59da165b.tgz","fileCount":6,"unpackedSize":23101,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/pU/CRA9TVsSAnZWagAAgzsP/RxU+GgPBhjlNJmHwIws\nuUUZYynXZn0yQdu/Wi6Ifrj898wvOrimdyBaUXzkhVfT6b1Xs6nn90+k/wnC\nzl1jAzQKMOtXpEuche1gQUI/PLmQEyJODQwXqzKAsD5ivi0nIiEPzWDpgDJK\nqN3yqJt3krl0LEBavTF2thOkyLQRSJsWt1nF3uWwFL4VVSXoJpP8BYhVAopm\nqdtZ709bfcAE6JgPRDtNcYgsOdGF40VgQDArmufbVjwU8UqvCJdlaIzmt3gD\nCbZJeKjCZh8toJzLiuSz7KrahUXnbMxEgy6HIhB9G7WdhOlU6qc8Sm4i/oO/\nXvRBvTPAr28YRMG0XUCs3OGnmQ5Hc6/gNiRkKcnLdztnpj276JZkXYf8Vk58\nATJhkj1diuPxuqy1RWhyG3HYsepJfdjvjt6cYYcJFBHhzCp2ue7KSQQyQYkl\n5RMHZO3mZmicyAXmunHTSY2qy4gBa5gzSPfEC8pT18MHr6a1sGpIS9ysfQOV\nLCxGRMdS3vBm2euBuHtv9FhBK/HEtAlGX5jsP5WY4dWE7Jv1TeYrLGt945uM\nvi20eIHoqNAWjZun2M4il8+phoSfVSCPS6oZH3pxq2mcHLQZaD2GS7/AFJ/z\nbkzzoohV0KygOi1EwLTe0JhnTP3ptYdSWXHPTnWYwybm8ahxoH++ymZxBJBR\n+QiS\r\n=26AI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDctBAnuvyc9gY/Y5uEgQl5RdCv6WuQqvhKSOI/jVj5SAiEAloAoLM9s+E1vqhid84RIVnxx/7UC8KdfM15K3mfQ8IM="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.14.0-next.1593742653.913bfbdaf58e657c579c4ace363b101c59da165b_1593742654596_0.8479774645624505"},"_hasShrinkwrap":false},"3.15.0-next.1593750236.fdfe058e87afa077fdc763a98051ce7366c0ce14":{"title":"Arguments By Type","name":"argsbytype","version":"3.15.0-next.1593750236.fdfe058e87afa077fdc763a98051ce7366c0ce14","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","exports":{"node":{"require":"./source/index.js"},"browser":{"require":"./edition-browsers/index.js"}},"browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.11.0"},"devDependencies":{"@babel/cli":"^7.10.4","@babel/core":"^7.10.4","@babel/plugin-proposal-object-rest-spread":"^7.10.4","@babel/preset-env":"^7.10.4","@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.15.0","eslint":"^7.3.1","eslint-config-bevry":"^3.13.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.8.0","prettier":"^2.0.5","projectz":"^2.11.0","valid-directory":"^2.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"fdfe058e87afa077fdc763a98051ce7366c0ce14","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.15.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.15.0-next.1593750236.fdfe058e87afa077fdc763a98051ce7366c0ce14","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-RnmPdidW5LPJn4SwNFcJXS60izkvxXUazZIAbMjWbjNKZnPTgtVMIdWYh2ES8lWzzpHEPdy7hXvDi615QcVJpA==","shasum":"531c5057cac5990d25c136bffd6bb6d9004a14db","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.15.0-next.1593750236.fdfe058e87afa077fdc763a98051ce7366c0ce14.tgz","fileCount":6,"unpackedSize":23295,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/rLeCRA9TVsSAnZWagAAgz0QAIHthVbWsAXFjqO8ZNQO\n5Klj3t5FGy3X+rBSZivhXxVbMDjAyObnqy8Qkg8AlGf1Ibocgh3yPcnLexA8\ngJk6eBoD3r8yTAeIxnC7dV2qAmcv3viVvfL4OCtHrIaTulOKRmoWtU/LTZJU\n1I24Fq9xEemb9m1CXEGAkNRN/Z+8Vn2+lfyjmY73Vc3HIOC3Ecy3Cbp+K1K2\nJ5O26Eeagv/ff7gKtzxUW/kXmeK9D4k7RTMph4lFJUhvxuPPKGuI6vwyBCRN\nuswp25ZISx70XZX02MMjDQJLHWSgHIrm0imsJu2k+RulVTdecGXDDGPwnpsC\ntLFGwEWPs245jTI2SN4tgXPqb2wK74CVTerDtEgsrsqv9xDtkNtAXk1LCOSD\nk37ZghqbBVvcTd2twjUGycb7xW4dIZ4RrG+AY1ZiqT2VspwgAVGmIE4ZWnFM\nFtyvTzCdp20lGmIt7Rf9bRtpup9b3u6FDtJIoEb6co7dnCCCBQxyCu/5503U\nOg8cq04g9UQK0k9Ll9gQ+tQruwHqW3DmvnnkH4llWmYt+525oLC73xG7/u7Q\n5S53tGMLZ3Ahw2ZO//+mwMOE98yr3cSnkBNCNYqPd1L4PfvPrHdfeBSpncAL\nsB1jCt770MP1Z5fNIHvTsTYL4dRRw+CkK76y1K+t3A51+79tYipoZ+DJ/nJm\ny54u\r\n=GU9W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC98teYJJ4mj/j4qL1+OppXU1AIRI6VH8E/eJPEbCKcsgIgWtk3C9xJXaDFDsPuDekFM9ts8IyheshndHSzO0zPu/s="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.15.0-next.1593750236.fdfe058e87afa077fdc763a98051ce7366c0ce14_1593750238266_0.6957360723262753"},"_hasShrinkwrap":false},"3.15.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.15.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","exports":{"node":{"require":"./source/index.js"},"browser":{"require":"./edition-browsers/index.js"}},"browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.11.0"},"devDependencies":{"@babel/cli":"^7.10.4","@babel/core":"^7.10.4","@babel/plugin-proposal-object-rest-spread":"^7.10.4","@babel/preset-env":"^7.10.4","@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.15.0","eslint":"^7.3.1","eslint-config-bevry":"^3.13.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.8.0","prettier":"^2.0.5","projectz":"^2.11.0","valid-directory":"^2.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"fdfe058e87afa077fdc763a98051ce7366c0ce14","_id":"argsbytype@3.15.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-sgPBeMKwB/x7JWSlv+hvRdqX3gqU20gHmvqBjKzQknqPLYVFc0YXsu3SIxC6L+bK7BQNHtIWQojKBlxnpWuBEg==","shasum":"3130ffef41ccbac8c7e3273df5f5661ce65d2510","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.15.0.tgz","fileCount":6,"unpackedSize":23238,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/rMbCRA9TVsSAnZWagAAUzEP/2g4fghkFI1mBU0rD7MJ\nt0IOD0CjLp0Bca/6mgODK6gg9qD/zQ/z/43/TA/Bmgim6juGaSY1jLH2hNAJ\nTRfdcoL513ZzuCkp/PQoe7awerlUOY79fGYAskj52ONOTN8G+0ZSDGIfVWfZ\nriRJDRLxdsfWdwe2flZCGEWSiL+Z/rMMwWOduhWCqqC/OjrTZ+HXBJZ1H7q7\nNBYAsCOFFHFDitVATanQBgf+iS8S9PQ8K9i5J422g+m0qwWq8lV93sRPMd+N\nC1eTIgUFtILkirf704q9lvNDmcs4I51eT5YLUocrJ2lTZ3Ds3Z2q313CQBGH\n4yLk8Iv8tLaEPxaeyjA2++SchzB95F3z4PY2+o0R69ACIUkkG+0NzhTxgjQw\nkwwFZ+s2BHerGmVY+pYqNLIWG+N5qSdodNiEX04tutN09V9f/G5oXqT8w7Tf\n7TI75NXxWv2eJ+J37FHwnuDpGOkH/oZ+I/Dv3dAPpo6xtPE3D/PV6YBD4ZFQ\nkvHutpkzqPNoqx69mN2908HH7CqBny9hKnoFghr1+WTl8st56dZIPu+itRqi\nJ+5NlDBvMgKlMe/fA2cLwDYhJVJxBV9gGiCnz93P8Kj26gvXmff/ywQcm1oj\nwaw70kYi8aLgxmCqh5qphSxWq26UhoaFOdfdgWdBw16AC04An6z5t6j/9OMs\n2k4n\r\n=bYvt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICx+sw7pTS6145AC1E5Kbai8Rjtb7eSQAQKIZaRztYvjAiBQBd6FL3cln6XLqM424J72q5Gl6BJ42cMq8W+d47Ui/w=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.15.0_1593750299142_0.39732411240365884"},"_hasShrinkwrap":false},"3.16.0-next.1595341255.4de78b13455fb4a392ee44d7198ad8986d75eed2":{"title":"Arguments By Type","name":"argsbytype","version":"3.16.0-next.1595341255.4de78b13455fb4a392ee44d7198ad8986d75eed2","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.11.0"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.10.5","@babel/plugin-proposal-object-rest-spread":"^7.10.4","@babel/preset-env":"^7.10.4","@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.16.0","eslint":"^7.5.0","eslint-config-bevry":"^3.15.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.8.0","prettier":"^2.0.5","projectz":"^2.11.0","valid-directory":"^2.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"4de78b13455fb4a392ee44d7198ad8986d75eed2","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.16.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.16.0-next.1595341255.4de78b13455fb4a392ee44d7198ad8986d75eed2","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-HWBUh8vfwaRWO+pjrMX/fgYjYn8zl+mynP5rVPE7FRtH+K5BhZ+8QYFobkITmjTbitW7NkuMsUzbrnF37ZySbA==","shasum":"8af4b2eb8d86c4722f094bc88610af0949c39c89","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.16.0-next.1595341255.4de78b13455fb4a392ee44d7198ad8986d75eed2.tgz","fileCount":6,"unpackedSize":23342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFvnLCRA9TVsSAnZWagAA5JcP/j7H27wRwF1vs5WqTC0S\nSPq2cPJt4t/VhgPNSeB/lXJImOoSYkukYLY6WyP8APGUwpm3yAgWNOZHtyQT\nx1VESKyN+NZnTbcUPDlgnpdXo7tMDURAUmPMrJbnAoF8U13Fs+64Yi226865\nP9qrXbt0/zsGcLpMvZwI0sd2RhfbKWZfdtX1V/Elu6BehPjV0cVImMxaYPNS\nycX++64nS/skRhc6X3MxHxjWOmA06F6czLhgJNgZZboGqOl6J7ZgGEUfJyxg\nSIhO4ArDZSfzHZ8zFocefJS+YB65jPyKUqmP0cPMH89JaTV3gX1jRphi0+VJ\nMmaQZqFtA3yeqYvUNPEG6VXT7kIrKSY7rPALvRpjn5lTaqGk7Z7WpptZ0fC2\nmINQ3qQi8x674taXyckaejjvW35KUx3Q4ngicIKB59CV4wjLpdepVLBt8CeP\n2cxniOY+j+87xk28RksnQI/L0/AGgohJoSbbIlYseO5xfeolzksOJZakzv4p\nnxyH+F71Nm+DzU4W9CRjsjyJlAF4pXWlh0591dIFTZY1LvsO33vlL9GZZrb8\nuxCjux0FClq7foE5/QP1I+WP35Kc37h3ianWI0CyOJT5jYNp8YKUKbbejFmH\ntYeOS7qwqDyM/HUxLKRF9rUEbOaQaVDdLOQM8fGOb+6k5vBgGLQaeBxIpCfs\nMuVu\r\n=VaGo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKVNeoHGrgmWd/a6HXhLy4c/hyPqYWwHayHV8AjurWhQIhALmYsbbmXTLbXcHeCC4yYtMb954AMYvo+F6qAaUGnj+A"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.16.0-next.1595341255.4de78b13455fb4a392ee44d7198ad8986d75eed2_1595341259282_0.5501917995760006"},"_hasShrinkwrap":false},"3.16.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.16.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.11.0"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.10.5","@babel/plugin-proposal-object-rest-spread":"^7.10.4","@babel/preset-env":"^7.10.4","@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.16.0","eslint":"^7.5.0","eslint-config-bevry":"^3.15.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.8.0","prettier":"^2.0.5","projectz":"^2.11.0","valid-directory":"^2.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"4de78b13455fb4a392ee44d7198ad8986d75eed2","_id":"argsbytype@3.16.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-hYHSc4djHojNue8Ct+sJlUP3EOVID4lU1fIklcClBhUhssity8Qkh5NDoVpmS4dd8hlrH//Ce4UiCyWncsVhlg==","shasum":"cd819c85ae6b3bca09b4a884ca79def5e0dbc3b9","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.16.0.tgz","fileCount":6,"unpackedSize":23285,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFvoICRA9TVsSAnZWagAA5zEP/RRAiWAqHX8EIUpelKzb\nc+UOmQ09glRS3zKcf24wL2MIKbfN2yhPIphiBDmKNaWWlNmRLSGQnZtGZIOC\nglJBNcW8qEqPvfCstOFvANsbYJF3eziRwDovLcxygUZXC7dixk23Nt/EMlix\neAeXoOeooipgk8GvtOib39pAZGMoRn1cEca1KolRLc65PW/p1/oe/RrxrhLs\nmrwN03I6P7thdsT/9Dp/hrN8l7gedfhQJtMSqPyB4YF67ciB5ZP7iXb9Mgr9\nYaoWGU/8x2k0hg4lYmAw6vRxAMKKCiz9gzCApY4e0J9wGfX0h4iWaPqyP1fU\njGbq+7VROi/9TcWrRZvjwLABHX/m7ce/afHNd9ePYz2+EqzWr5jdytci1wub\npce+wI2xJIWgNA4maj+7UdKckCGPcnPZ1FrVm3UUoLbFc3hO/JbLrd+fhS+S\nfoUMoo08yxzvS58HC/JL9c6ZfKVuovec3a7of667MUIsO0JiOBM0MgoRQ4y8\nuVbH2MBV/ZJmJ8+PpguKNPWuFtJDHZJehPbjV6eflvsTX0dJ8q4vOhPla+qI\navinOdoBfRamA9CsdZr1DHsQXcTZmZyYYNkqLqXGBm8IcXf5AoLDQmpSHu/o\nyWieMM/OI92DyMP4dMwUEo3eKZzfTbWTfOv3oMKuzdhfXtdGc97o6RqkWb2V\nSxxF\r\n=jMq/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHUonFTgYgmyxdqHsUCBo55Y4rnb9eeu2wtSqPsvUU2CAiEAgjJO78X+wi/RyYZqawoRes4V6Qzp2natnIbsc1sIYbs="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.16.0_1595341319674_0.6750199178119296"},"_hasShrinkwrap":false},"3.17.0-next.1595349476.a9785426109a93b4ee420304883c7e15bf123183":{"title":"Arguments By Type","name":"argsbytype","version":"3.17.0-next.1595349476.a9785426109a93b4ee420304883c7e15bf123183","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.11.0"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.10.5","@babel/plugin-proposal-object-rest-spread":"^7.10.4","@babel/preset-env":"^7.10.4","@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.17.0","eslint":"^7.5.0","eslint-config-bevry":"^3.16.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.8.0","prettier":"^2.0.5","projectz":"^2.11.0","valid-directory":"^2.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"a9785426109a93b4ee420304883c7e15bf123183","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.17.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.17.0-next.1595349476.a9785426109a93b4ee420304883c7e15bf123183","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Jb5KBxvG7PaH8wtfQBYEKiFgN+VndHuCd36AYeAOZ5CArNJPOr5P3W3FVTVb9tiF94f1+jbdPt1Yki3/554Stw==","shasum":"9095d7b58c3ad792a5b62e280df3796f61667cee","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.17.0-next.1595349476.a9785426109a93b4ee420304883c7e15bf123183.tgz","fileCount":6,"unpackedSize":23537,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFxnmCRA9TVsSAnZWagAABWcP/A8wlHWRUHpWe9E5mZW4\nQhYchlAtFmUnxb0JoABJhU5iCK0e6S+sRKnI8zta49jXq40UcLdOUSQAC+3r\nV4txv9korOz52ZuiqsIzxz7nj8TUPXQ1e0MPxwgu8pB2DEHSkFnK1Mv36RA7\nrFBrZ8Aondhr79dw8eu8XXgcPBsnWQE8wSKBF2zj2px+0mGyq7mE1Lob5AxX\nAT+v/Fcq0L3+RYMv7UWoQrl2zhDw3r5uEHrWrvCrvDhnxOIhUbWgWmBcdRZT\nNjKOGhamjw+dIKNaDMMV4Jlmttof0d/qw7duSwJe6YQKrGZubMj0CEqljGkI\n15gSJzn7SXFrJiAtSuQgGEaTRM9w7lGrCc8e2jG21S5tvOYyt6ipWwjuxhT7\nG9aay94c/PnUJmyekdRV+9EgxLp4L9TbOnBlY58Dm0B3oOMGU3f/xA1EHFaR\nGX08ol/7sOrJdr+orLAPkDhmSp8vqe//NdKAV7U1T0Hz8XSXEGP1+Z+l3Xp3\nET2PO+2a7Wa1H4pLJm9pskJ2/z6x0JIqHIoBCvG6I12vUuxlXiQBLCwad4+p\ndzmxB47hxzLAJ6KT1+8XRg5jJnGtvd1LWyACDKhGcYeQSs3wpgmAJBTyy7WS\nAjc3hce9NnjDS2lq4qjiODUC9+Yf493Ix8UVMisqqSRJHzZYOmhpTH0BIHfG\nmFXf\r\n=RPfB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGI9HzXvNToq89BkT9YO2Yg0Wb1X4izqebHvB1CkXFbtAiBhA+mQ3aU02qbtATDaUEKdz7HpmpW43ppYaelDu3/Jlg=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.17.0-next.1595349476.a9785426109a93b4ee420304883c7e15bf123183_1595349477683_0.0626192081962873"},"_hasShrinkwrap":false},"3.17.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.17.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.11.0"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.10.5","@babel/plugin-proposal-object-rest-spread":"^7.10.4","@babel/preset-env":"^7.10.4","@bevry/update-contributors":"^1.13.0","assert-helpers":"^6.17.0","eslint":"^7.5.0","eslint-config-bevry":"^3.16.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.8.0","prettier":"^2.0.5","projectz":"^2.11.0","valid-directory":"^2.6.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"a9785426109a93b4ee420304883c7e15bf123183","_id":"argsbytype@3.17.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-zn7CpXdMCYKDAV71bKjzoN9zedztxyzINuqExyNcu5YQdPrUJLMxXsDdw+/ivZwxZLTD5BSLdnPPWRw6Mh8h9Q==","shasum":"0fb40fdc45c84804a5b9967a1e944c0ea2d5acdc","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.17.0.tgz","fileCount":6,"unpackedSize":23480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFxoqCRA9TVsSAnZWagAA9mAP/i9zxh6SDJkkV3uRWXg1\nn7jSSbGWCLQaZ18VZGD0uElmcAP50WMvG15nS8XKbyneNkdhrfrX7g+wSzix\n8SZlT0RDRm6lfppvLYeuVh6d6OH0T2KrPfNrHKSVwzKh9EJasfETXZ4XrveR\n4CwMYjAMlUzKy10MLsfPPpC/OcPy4rvDrHT9Os6rCDcm8t9lEycrIl5a0b/o\nNu2IBEARcCF6JK8UjutzvG8pMwqlImCJpCOdr1noW3YDFTUu3zU/F3guCAdH\nt68pSvAdzgCFT1QnubTvAjq/XiLH246mb8QXJLHG6+pEKtPCmb0E34vRnIVm\nY8OlVz0nfNKAQGUl0xlsPtxJmBuFMKsfkJzhp2vhbyw2ONAWkpcNDgQP46BR\ne2piUGI4nxGG+kvHmR5vWT7LnHhLTz150IMlI3I7WJby+JiqxwQFBBTMKNg+\nrE4zk03AFKy+W8SB9q+u8EHf5uRxsV2/sM3gY7QpId/RfST1RIdMl5JPS17E\ngk5NK5DqyWMVTEGtjrYNCedPmn+Vz224dLw0mG7inGoyhakRov9cEpuuQCIt\nezqs951k59+KiAEElOPHmxs6mEuddehs23z0Jcjp+03ASYBXtQsT+6W5VMDV\nLPrJ1awbTndCnoTkLC5phCbgBFZ8VXLp/iPef49D9ef70sggAH5Y/ZW0L/G1\nF16O\r\n=33yb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCX4KvuNxsxkY//yUVYQDX+A4Xj6VelWmvHTYzapXekBQIhAMN0/BASpRg8hzWMvL4FKu8nPDVWC4v4VUGLflvg2WfT"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.17.0_1595349546046_0.7351424814621725"},"_hasShrinkwrap":false},"3.18.0-next.1596507018.fa6510ee01f07985b2cb3392d59d849225b7cd53":{"title":"Arguments By Type","name":"argsbytype","version":"3.18.0-next.1596507018.fa6510ee01f07985b2cb3392d59d849225b7cd53","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.12.0"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.11.0","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.0","@bevry/update-contributors":"^1.14.0","assert-helpers":"^6.18.0","eslint":"^7.6.0","eslint-config-bevry":"^3.17.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.9.0","prettier":"^2.0.5","projectz":"^2.12.0","valid-directory":"^2.7.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"fa6510ee01f07985b2cb3392d59d849225b7cd53","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.18.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.18.0-next.1596507018.fa6510ee01f07985b2cb3392d59d849225b7cd53","_nodeVersion":"14.7.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-iklkYNuf/RUoV8OAy1X243YuBB0xR74WAgx5DAl//w5KiSJKWdzV9UF6HnLlHQ3MXiPyFNsJeHiSo+7bdsbRUQ==","shasum":"24f2467a0ea99ec04c04fa7df821395f6f82038c","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.18.0-next.1596507018.fa6510ee01f07985b2cb3392d59d849225b7cd53.tgz","fileCount":6,"unpackedSize":23733,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKMOMCRA9TVsSAnZWagAAp2QQAJRH9XwbTvN0giZeOLhi\nZLzvwVWnmAHpoy/XXcQLeMpWdHW+6VR+stHQNbi6BPNb/1AdwifonsiwrtNS\njUfAbVVN1tfLMTkzLmBi2Wjmc4D0lslJYnGRUiSx5/ZJ+js8IDVgtTNs6PrO\nY1mQOnsBTn3ZOf6EH/w1gz0t6HHdYuiApS8DE5q+jnfe+yr1/YmewA11/Wr9\nN4Qc8BTPNB7VEUlh+fZ8lp68Zt3/DWSlC+cMaSovLzCOw4EvmSxHOmHNv1DA\nl14W7HdSQrZjdAxDr9P+7/PxuW75euwtzOHMf2HO4JYMfxqsdeBirGBpzeVs\ni+XnA4jhAOMIIn20fS13sl/4cnTKnzYVx4nUL2S1HbQiGh924g4Uv3jRdy3h\nkZ1Wk0l+06j5E21mOR513ts+RzSwhQ85rZef9DJbgiSVODISKoIZ2igRw7HF\noLfaXuuh3Eo/+UHVjJSRrXHNlDjDcgKn485Khp+4vLysF///n5T6QymCWFEl\nBUS6KEuF9DRsB1xwAMdm/5DrMl5YxvefFk1TTEA4XH3InZXtcaXUPsYFy4Rf\nePuOAcGIe8nSTGkih4BXEbtTTRMaJswga6xfyVdV9eRWGfbMow3T0qwxnw2U\nlHibDgfdDBerQrlzTLHEkR8gw1W5IUrStgseGvbhD5cYWsxW6OVttawQRxkC\nmwca\r\n=QWe6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpjc+5h0ErUaDB3DtH8sqMHFpKXMmPI0tfAezmzdeK7AIgLnw8aTMtY7uvPIdRtMTlHj0v/wVh3x2oLYm4BjIqMSQ="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.18.0-next.1596507018.fa6510ee01f07985b2cb3392d59d849225b7cd53_1596507019607_0.5109265972391344"},"_hasShrinkwrap":false},"3.18.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.18.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.12.0"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.11.0","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.0","@bevry/update-contributors":"^1.14.0","assert-helpers":"^6.18.0","eslint":"^7.6.0","eslint-config-bevry":"^3.17.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.9.0","prettier":"^2.0.5","projectz":"^2.12.0","valid-directory":"^2.7.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"fa6510ee01f07985b2cb3392d59d849225b7cd53","_id":"argsbytype@3.18.0","_nodeVersion":"14.7.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-N7IRmTipVS8amq3Gb1fLFTMmyBAzpv6YX/ab/ycVzzLgIjzq/yKT8DzKFEFtQdXEKcxGo4/I1P075YYPK3irHg==","shasum":"fc2f246c0069adecd315704d2ae83e4def0f5c7f","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.18.0.tgz","fileCount":6,"unpackedSize":23676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKMPPCRA9TVsSAnZWagAA4HQP/Ry7ph3+Ot53QqHw9m+O\nlnwzmxxer39yJkYW5QptpWfXpAjfYlI9+DDjYadtJ8jxFzBNr8rYMDImRVC0\nqYL1JODwO18FC7UQh9fd+ZLKgqhIwEnBiErounhVeyeRlDxLAPFMDOVLAi4C\nXDlS/KhdGoRgo3tp949D5gsj7YPLS1WP0f1O7TU3/EnFhpueMC4KGG5Rqx2J\nY2bgBsoruUOo14gsH2vxTzmmixQDOFwW4zQ+GDw4Z8obgvWMiVJezJ/tuD04\nG2z35d0eVw4irTX8s1iyWf+DtCsc1JVYUgl+syR7OHz0G4+r2UUCRozA/Jne\nJbwHfqrAKzALxA/Hleyjf2T2UdBB8A39uibBUXscu0cIkW/d4+wjj2ibpeu+\nEBw1eDukOKYVXtxVYdUMzcldEA9mIhQmxyeGVPQoQpiJ8RrX6DV1DOSqUlW7\nwtACymynRpCC5YBmHirtxCVLgJJ88CXmJJP3ZzhoBFC7H+yKXb4LARURWxDi\nSq9/AnUi/n3W+y3DBuRkn85Z6BmwpfrcyiNuZEG3AEkiLtYGYj76qAoabUSD\no4MK1BJHISETaK5IjUPm6N9MzD+smou/5Bn+WDI3Tw9LhskNLwIKBWp7x2Me\nVIhW7jc9FdI9Yxw91RW0TQ9fH/aSxeuC1c7Is8B+ljzKN8YKqasRg0zPKZxe\nWoeP\r\n=WYVo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE0m1F945OAu0ge1uez0Zy0vS3wtGMHJcHJaURePX64PAiEAl8LWl7C9wfzeSSTJ72abuY+EVxufxYiFsu5R698vm38="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.18.0_1596507087216_0.5701078488609632"},"_hasShrinkwrap":false},"3.19.0-next.1597667906.b0ef432817014cf3ee6cbbc05923ea23f9175781":{"title":"Arguments By Type","name":"argsbytype","version":"3.19.0-next.1597667906.b0ef432817014cf3ee6cbbc05923ea23f9175781","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.13.0"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.11.1","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.0","@bevry/update-contributors":"^1.15.0","assert-helpers":"^6.19.0","eslint":"^7.7.0","eslint-config-bevry":"^3.18.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.10.0","prettier":"^2.0.5","projectz":"^2.14.0","valid-directory":"^3.0.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"b0ef432817014cf3ee6cbbc05923ea23f9175781","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.19.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.19.0-next.1597667906.b0ef432817014cf3ee6cbbc05923ea23f9175781","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-dG6prOlE1Bj0v4HYUpIOP85f0xVgdwePBvRFXcEOFCfu02dFQKSvwYKDCC8Ff4crU5HHbwTBPoaQoqHTLLjTYw==","shasum":"e09e96deeb27c5aca8cc73fce900287c198a5228","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.19.0-next.1597667906.b0ef432817014cf3ee6cbbc05923ea23f9175781.tgz","fileCount":6,"unpackedSize":23931,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOnpDCRA9TVsSAnZWagAAsLwP/jc3QDc0pXgVn8LKd5Cr\nfoWPWAjJADO55CZ0oK6kGrjLRtXOaTt4ruDEMl/IyZGgX9DB/nLgiOOT5E9M\n/Hk4KuGiRFIsbOX9G+dPe+D2Yf7r2ZdUDefo2zVANeCB4gyePG7Jc4Di0k3b\nsll/BIKDUFXuYpoyD3qcm5ebXKGjHLUqZrLa+uULuyQ1ssUYrT2n6YnT1Ndd\n0tPQQOvGvjNmj8BVGMAPNswJLW60RMbJKKoO9yK1SsmQkBCFFcPhkc1w3BSK\nzHZG2mtZOUQXYlfEOyDjL5utJ0aRrlsH+Oj6mVuHe3qcLCcP2LdxaBtR+PEZ\nG4Xmzpp5KQ1uh3wMkmeF0wswPGe83UwDQS2WWR9OyN2cZrp/ZhD7QjsNIZ+u\nml0fsKXwd1/cQGbkOnrDaPpG7gAgeSKrOl0d+3Bp0WzYSfLK41rPQ4p8cWrh\nzFeFu5ElBMwB4AuTZh71qcp4ppUKPjwQ0w0+BVbH+IevzsGp/TwbjThHN1B8\nOtyfJ+cPQE6VAaRMXdQHdETWUr+e50qyHmEBI/3VdGvTCm4HYRk2RkeiPhm9\n1pWf7JjWCXiZFmn8zogNbHiL/CgJbd4jljVFdcVOZHPJy1KNrUMDSly5ut77\nzQd7nfPAqJof62wO1w6vypycn480Y6Rd1hMcR3qS1jIIq3z7WrphLbxaC7W+\nVkwO\r\n=kMPT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBuag2BAk+TvpU0twHlP5EEcHCyrYXaRR9sPHhU1iwZBAiAn8ryIAVkHSPdgiswjIGdmqdtPfACkkBWGTkLEn317Ow=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.19.0-next.1597667906.b0ef432817014cf3ee6cbbc05923ea23f9175781_1597667907546_0.6675069433245095"},"_hasShrinkwrap":false},"3.19.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.19.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.13.0"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.11.1","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.0","@bevry/update-contributors":"^1.15.0","assert-helpers":"^6.19.0","eslint":"^7.7.0","eslint-config-bevry":"^3.18.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.10.0","prettier":"^2.0.5","projectz":"^2.14.0","valid-directory":"^3.0.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"b0ef432817014cf3ee6cbbc05923ea23f9175781","_id":"argsbytype@3.19.0","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-zeAIDnOOV885RLBjODM6I+6/iv5rAl/qbdSaCUJH1UOIVYeay/4Vof2TgrIk8HQmAbRqwn2DtHckbiry5+LZCQ==","shasum":"e56ebff6dd708b8b0df4f4a34bf4260feb5b69c9","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.19.0.tgz","fileCount":6,"unpackedSize":23874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOnqJCRA9TVsSAnZWagAALbQQAJ+c80qZQFjKLQMURbZs\nl3mz0WEpSLU+0ywrL0FUufpI/NOn1d43rzRZWVMNWEZ6O0bkudGikxUO9cKZ\n3BLB3PvvQ+1GoaXkutd822LD3JCBg7c8antvtoWaJBfmD+nbyhrR7vs9XVen\n7/RFB0jvXW6GDeHY11ed2mFtzXhZDxqMPyq034TgbRPcRDxsxwg0GZXZF2mj\nz7uAimiPtGAfjvLa+xJGw2MUZo4AQcvAwVdQ7IMom0hnh2/Lnaki7TaghAxf\nKYUuXSWaieLq1nl060lPxF3ysYbKsCL3I/ZobRaA7hAmktyssj/GbtSB0zPw\nOtyQpoXTeqLARHxCAjeTHKK5gHS+xma54IfoMAVGMcWrYBCklzlq5xqSEmVm\nsbKj9kRF30gJm7THEzCMDLfDLOn8gm0Fy+Cxc+y+N9P7rUffxaWgZE0Fk4YC\nKEUU9HOjzauklwTvQ1rw9XEzy4rSvwofWh1Cc7MYVXr5uw8xzaMMuReQQAg/\nWbhbQO/rv5Bawsaw/eq9E72ak+XXnm2pL27qjrJS0Eo0SVIVEPetmjdg00J0\nwO7rTsP1lSO9bz3jwXDG8NwpPG8JtgZAlVZit0mdjj3f72uM6v3DmiR2sWrq\nxNIF9GFtIHYHypAF6T/jaKmT6HzMmifVNjHyV+ux6+JPjSfouoY0M1jvn8gq\n1ZQn\r\n=U+2u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2j6JhaOhp15Kmdza1OpGDRHbu9o0UlQ6+K8kJxmMxZQIhAJDL+At7bpe6Izj/yAIFt+sQq9NSA7cNDA1HfjyvGKuk"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.19.0_1597667976695_0.6297215068063438"},"_hasShrinkwrap":false},"3.20.0-next.1599204616.232033853b2ea820d3e213206448d8f76f8d20ea":{"title":"Arguments By Type","name":"argsbytype","version":"3.20.0-next.1599204616.232033853b2ea820d3e213206448d8f76f8d20ea","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["source","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["compiled","javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.14.0"},"devDependencies":{"@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.5","@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.1.0","eslint":"^7.8.1","eslint-config-bevry":"^3.19.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.11.0","prettier":"^2.1.1","projectz":"^2.15.0","valid-directory":"^3.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"232033853b2ea820d3e213206448d8f76f8d20ea","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.20.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.20.0-next.1599204616.232033853b2ea820d3e213206448d8f76f8d20ea","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-HrqQJo4vVchRwUTsid2BBDsMIM23dSpLuOt3CRMCKNfjErgXhFqlH+xp5Qc7eAoAyDDBlLkd9xDc323REFFWaw==","shasum":"a70999beb8141db712cc156ed7ed6f32a5661197","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.20.0-next.1599204616.232033853b2ea820d3e213206448d8f76f8d20ea.tgz","fileCount":7,"unpackedSize":24404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUe0JCRA9TVsSAnZWagAALkoP/R2HFr3mYs+/3gb1e7+Z\nilgctWHJP/KTPeJBCr6jPXjykc+z0s62DkNL5/3jicJoaG3AQdbkjhOEAYHd\n+6A0ctvS+AHJovxSCcN6n2QDVeSNz5wMrqlvnm+xCip+oud7veVNbKxwrsSE\ns6QKITjjvipurxKV0+bvhK8MKdWOtDNGGQ4OATuxlVhxJIC8Kbqzf+xuOW0l\n8BlUhnovjILgl1SZGKYElM8yUvxjJuoouao8RX8CzYqsdZlJM/YrtP32FTwJ\nVEbRWM17M1pJFAFtDyljkMuh6QK2dls2fM0u1+F2nCDmj0kzANGVx9uyBDRh\nkNQDQtDajtoYblwR7KIjFDMfnUgIyQOZoLfZwoEP4OnKXpddW7toiWk4meGn\n6J3YnjE/BBla1NfLCLto+j0VimVLwg7VDUZ8li35gwBNpYAPPy0np7LJGV7b\nZacDvyogsQ7t/BOZF+OvObtIcXqYimSUQJTnnHPpbc0286sz2/IDtMtR0Ix6\nxBWTJZDdducEsCv/bsQOx8Z+V0gZPtKAewTm06efuYIP8J+RFEewOnHvaMNi\nb84Va6qQiZhMVN5BfyMcE5HUeJEPlF427NPDCcGVrsX44iXJTDPWJlI8MrXd\nzfOLC3YEscJEqGPwe0mVrxwAyrU/07lQB9Bw1GCK3O8UOhSDtKXPT0b8FiX0\nyFn/\r\n=MAc6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICpYsReShrtjhKS+LqGUSqeRwm8SoAHEDsKg1KAg/iyKAiEAuk1aju/z7pM6edNlKtuGky0og+c3xgFTJPV4H9PWI/Y="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.20.0-next.1599204616.232033853b2ea820d3e213206448d8f76f8d20ea_1599204617477_0.2684845108422025"},"_hasShrinkwrap":false},"3.20.0-next.1599204692.948165be174f90aef4b026069b19cfe0aafe61df":{"title":"Arguments By Type","name":"argsbytype","version":"3.20.0-next.1599204692.948165be174f90aef4b026069b19cfe0aafe61df","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["source","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["compiled","javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.14.0"},"devDependencies":{"@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.5","@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.1.0","eslint":"^7.8.1","eslint-config-bevry":"^3.19.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.11.0","prettier":"^2.1.1","projectz":"^2.15.0","valid-directory":"^3.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"948165be174f90aef4b026069b19cfe0aafe61df","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.20.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.20.0-next.1599204692.948165be174f90aef4b026069b19cfe0aafe61df","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-CPGPitHr68bDxdqfJXfevXaOjNB7adXyujZNaEKv2Fb3TpUZIUqG5czho67cTpju8A7+WrrQqpbzH3xofqEN7w==","shasum":"4b4399f1df55bd2ca95c13f0493ef6eadb47b805","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.20.0-next.1599204692.948165be174f90aef4b026069b19cfe0aafe61df.tgz","fileCount":7,"unpackedSize":24404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUe1WCRA9TVsSAnZWagAABQcP/1nRJ212oMiQRnwq+M7J\ngxqoth0GjJy7u4QqaC2G/YYKXWSoMVxrdLvq6OLlWYav/ShmRqbSKi1mQFTo\nxRNsMr0z6gOAeusZJmjsz4P3iQLZFCPFGtI6oHjstVpN9Emh0USBadmJpW8v\neiGtY0r+CjyaauOh+otlEaEX1ke464pAIoHbY5W6GF7+mp4Pz+t8GL6Rfpvj\n+XkQ7549ZkuE3Jddoc5nScQVbGmziDS7tklDDaN2hnZbNDfVLmKkvdlS9kdB\nxzpdakl3bjBWx4rvtMSWSJcCR9X2S/FmcBjaxiOWdUVE0qW1NxOdTD82hAfV\nXdkgYsu1Fmf+PTGTqhBP9ayk+NNfUBh7iv9B+vyLsl9viPYPEe6HbwpubDPE\nc0TkGKRJlkgv3rnPzZhOk4VfCBv3nNDAvvG5YsDyiwlKm1dI/rXCkgxjk+Cf\nnHAiup4qOwvmZ8kQHTZjcglR0NrXlDbzhPnOgJvX3M2jAO97bycnJd8AuRUe\nAI1rZ+U0fpxIP/GPxeTn7df3S3voYZ01V5FOvaJo1U1OMafZdI8E35sRj/Ar\n6d6VycJ2MJjPeXy17iuwuxusFMqFWN+hYdDMeeE/ZCQaQh5bNKz8oaDaJ+s5\nJBC04Dn9+HEk3UyZ9EBqqMb4Zkr4c2jkL1gj//fNO/PCRhnjlkBj0q7FU9z0\nvWUg\r\n=itZM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+6sWmUMcVZQ6uHVe+vE+PpDAHXgnoqibwxc3/zoxuuAIgS1WGAmYfmzOPp5WWA5g4cbEGeKSykvRZUE1xZuQwjqg="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.20.0-next.1599204692.948165be174f90aef4b026069b19cfe0aafe61df_1599204693846_0.8947615245180944"},"_hasShrinkwrap":false},"3.20.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.20.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["source","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["compiled","javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.14.0"},"devDependencies":{"@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.5","@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.1.0","eslint":"^7.8.1","eslint-config-bevry":"^3.19.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.11.0","prettier":"^2.1.1","projectz":"^2.15.0","valid-directory":"^3.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"232033853b2ea820d3e213206448d8f76f8d20ea","_id":"argsbytype@3.20.0","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-HjK2V4JU60K8ZvUGeUIeXNBMoeMEVF4dozHuQwi2bLnOuY6KDEQ26dx50ntX7Cfhf7ixckSrvs98BTeQll4GvA==","shasum":"959b05f57cfd84657c2a23cec39a14acff935ba9","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.20.0.tgz","fileCount":7,"unpackedSize":24347,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUe3MCRA9TVsSAnZWagAASCoQAIzZOKeON2TcdrXHINau\nfHzPQ1juo6uM3Fzs24vJ+JFjtYuvtx02GFMZVfC0vIlwZLK4ep6BImPXSuZb\nVyI1QIdlrqtDwWZl0WKiPlCFwkZHgD4j7FLyJUFlLedTerBI5MGpjLj4VySl\nqBYwoSX7a8+kB5p0eya7tSQn0Hv6rUieTkMNOTwYnFTPRVw+VGRzpHBjp1Hv\nb0cJpdHOMLix/5rqQAisH2kp4Y1uyx12vrNywPGO9wFDbeMTdn5wdcdtq6Hp\nKcUHyTvVMMFPdZRiBElJ7ExL1o0LmR5msoZ7CipdfbDS67ub73u5CU3iD6pv\nNRx9DwqV3UReZqUZvV8WsyfUCdQJUV/LSwrZHyYUFjAqtnVPyKsoDyW20nRg\nby7qhC6GO5p5/EE+G0dbdGofZD6F9+B15HR+8QvjPOVd2/1HAQk27B81AeGt\nt6MHqoPtgUYUopP/xxz5wkfiKFPEYr5cTmzOTcP7JMngcYjQt1POSpdR9+ew\nZWYq5fdzGNy0FHLfJY8kZfeNk1sXcvylP/MpKaUMhp9P2RG2UTWQDBzAlKZn\nNbxHoQH/OZ0lK8T3On70eRRJ/Eq82ocgl9rTTyVORQPGa5j31RMfHgGRpbyb\n/l1Yk/JJSOgYcFkhCciYP3YScSETcLgMUdGdqLSBi5xM1EKMr3rQX7HV4Laq\nnP/g\r\n=pCCX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRl7yhEjrf/bjRLPPl2QSp1SR3+SCRWQxyWtFrHSbP7AIgYDMOcObLgKdsrMyZ8lT3xGWSxsev1T6zNxztUVdK9HM="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.20.0_1599204811988_0.20716772469631817"},"_hasShrinkwrap":false},"3.20.0-next.1599398202.cb65e2f0a420808023a87360d895ee1fa65b8e59":{"title":"Arguments By Type","name":"argsbytype","version":"3.20.0-next.1599398202.cb65e2f0a420808023a87360d895ee1fa65b8e59","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"email":"b@lupton.cc","name":"balupton"},{"email":"us@bevry.me","name":"bevryme"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["source","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["compiled","javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.14.0"},"devDependencies":{"@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.5","@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.1.0","eslint":"^7.8.1","eslint-config-bevry":"^3.19.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.11.0","prettier":"^2.1.1","projectz":"^2.15.0","valid-directory":"^3.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"cb65e2f0a420808023a87360d895ee1fa65b8e59","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.20.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.20.0-next.1599398202.cb65e2f0a420808023a87360d895ee1fa65b8e59","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-6DQzR1AeDA0T6ycypQ+x1XR5BBCnJSlGUFH0h3TD87e0hGBy7LYWVES/QzD1WKsKtW8CUP/GSZ9gGONypCCeIw==","shasum":"c31889462820886d6e898c597940c658b32bba20","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.20.0-next.1599398202.cb65e2f0a420808023a87360d895ee1fa65b8e59.tgz","fileCount":7,"unpackedSize":24404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVOE7CRA9TVsSAnZWagAAozYP/jSgbWZIZz32Woo7rTRX\nStvNWJZO2BNv3X2DZDtJczVNN1JhOGUSh7xBblV3W17dbBD9ug3wh0gtqruP\nDklSpjWlsGVnq1/CCArYe4PoF3qu9pNbQFxQEbHdR325Y91WpP6eTkFNUze7\nDzmChlEqqPaqye31EFDhXjf2jRlTXGnAfHrbHO3FltzcnbzV/lgRClFuX1Nh\nkr6p7bo+GE716FZ8X7PBbjo5QkRiK992n5EJILCw7IYar+WJdBV9/LVqgGrb\nuIgc7Qcsp6mQMcQgypWLgYhJk6yIG+NxZ4PBw5rXdt29rn5k+1MqRclKcluC\nGTUnnvAAADr2LhVafVm38tWETi33SEvsXDVrQJoRPcQJRFqFvSKQuJ3LFZ+Z\nB6GuwesmyVNHDzVRZ/butldo2TqzwBP+D3J/JdEo9Bw/Q92Lu/FCyvklGX8c\n/etLAUKjta6xeJq1P3kyvz82+q+Gbmv94v+AivFqEOQgq+2Q8fBw0qAX/HPr\nITHZRJbXBJVcKfv6FJeGtToHcUpxBjofRKZieCbVGSNXoR9VYDQsqR2eVqxR\n/qlpMgKgzQuSrk6nWKDzV9ogkjgp+XTpVKEErcvF1xakcJBRAOhXGHIV4jF0\nFuqCgUB2Kd79LBS6RiddQK1Ho0v4o78FtFL0EgU2cVZVxMiJ5oVC1sbV9yl9\no4sz\r\n=CtBr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDePhaJ4w0IBpj3JjHuLHmJSeE5ToN/8dWv6OVZORIb8AiEA0pcD6cDMBokDb+L0aVYeA8CSbfaTMrYZO2jr666Boh8="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.20.0-next.1599398202.cb65e2f0a420808023a87360d895ee1fa65b8e59_1599398203532_0.20139699588252546"},"_hasShrinkwrap":false},"3.20.0-next.1599994821.20ceda402c849635fe751d0ee6b4e2feabcde9f3":{"title":"Arguments By Type","name":"argsbytype","version":"3.20.0-next.1599994821.20ceda402c849635fe751d0ee6b4e2feabcde9f3","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"name":"balupton","email":"b@lupton.cc"},{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["source","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["compiled","javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.14.0"},"devDependencies":{"@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.5","@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.1.0","eslint":"^7.8.1","eslint-config-bevry":"^3.19.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.11.0","prettier":"^2.1.1","projectz":"^2.15.0","valid-directory":"^3.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"20ceda402c849635fe751d0ee6b4e2feabcde9f3","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.20.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.20.0-next.1599994821.20ceda402c849635fe751d0ee6b4e2feabcde9f3","_nodeVersion":"14.10.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-UVzo6w5K3748DqSf8Us+L6ZYxNkpa3cn7pm11fYAyo9xOnUySFMMACP31NJs2naXW5loDviT+4bGufwiKFVO2w==","shasum":"5f52a76afab1dd54fef98264894651f13d17af37","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.20.0-next.1599994821.20ceda402c849635fe751d0ee6b4e2feabcde9f3.tgz","fileCount":7,"unpackedSize":24404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXfvHCRA9TVsSAnZWagAAivQP/2t39A71xmYD30I7FSeI\ncbziFjj+LQcdCcbaJGSE/sa8cDHWwSjiHiCkk8SKW+3FetqvljieGWQS16QI\niULaLYFb/Qsjf0Jvv3cwnIsKqc8kJsxwH6Gq4zJXllMP/wSkMavvZcu2xgR3\nBp1A10PDfjnfIh+jovz/+3R44G3ZmcSLXyNk3DMGqi/WXuh2uSpVvy26cRXL\nrQDuwjKrNfz6guNRkUcWUpClgmDXK5X1XHzALFQWkvUYL6/W0TgIiVt7QI/7\nUiCVkQC2ys7a1Sbv9wWSEyLmgjfeY9uW0xghkxgiphjtkYBQkqobx/r+264H\nz79DzgtSNrOg4BgfZhWviNyDjrGOeM4WaiUhfxb+L0ipsSNwlouOBjJgOUHS\n3/dGBa7IhsdQZgTh+5jeVYUhb/zNnWf9gPdzW8UyvllcnRWPNolD3DcB1dyq\nZTxXg4zZv9w/+Zyb3p6wXkr7S+JT3zXjEAqnkKRXVrz+i/UZ6/pyewgnaOQN\nmZe5hCRGkl/HF2mcfiN/ABGavdoZ6TMVbcOkpYC+rtWIiSW/vLcyFMwqojm2\nuxuiZv7RYswGCW0GTa6z7pL9CeoJRMNVqL/XRBu6su4/Ho+YUW4H7Hw6krUP\nco/NqGDD2BgOspkA2AfI/jiOLS7ZbLmHFZip5I9StjITO8TdMUJw3Ih7Bdrm\nCHEh\r\n=yOGf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDB8sBahS371pXuBOyVFwM3qIXo36ItnbPS+Ej7WG/yDwIgIzwBXEeH2KD1NZF0h2224RYpSaZDs/PTA+Dfteowwrg="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.20.0-next.1599994821.20ceda402c849635fe751d0ee6b4e2feabcde9f3_1599994823146_0.8685997964393057"},"_hasShrinkwrap":false},"3.20.0-next.1600602259.4bc1996a563c9f77abd9524e504ab6d04b621bde":{"title":"Arguments By Type","name":"argsbytype","version":"3.20.0-next.1600602259.4bc1996a563c9f77abd9524e504ab6d04b621bde","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"name":"balupton","email":"b@lupton.cc"},{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["source","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["compiled","javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.14.0"},"devDependencies":{"@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.5","@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.1.0","eslint":"^7.8.1","eslint-config-bevry":"^3.19.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.11.0","prettier":"^2.1.1","projectz":"^2.15.0","valid-directory":"^3.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"4bc1996a563c9f77abd9524e504ab6d04b621bde","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.20.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.20.0-next.1600602259.4bc1996a563c9f77abd9524e504ab6d04b621bde","_nodeVersion":"14.11.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-1W0llQkgtOjkt42Gy8RFEifzbnu54WHOjNcuCQmLt0jLZ/xtJ6p6WnvSEFE15k5P0GVMLCG8tOc74GMJ0RvPtw==","shasum":"07541dd90f446e9e9d7948679d42500050c67051","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.20.0-next.1600602259.4bc1996a563c9f77abd9524e504ab6d04b621bde.tgz","fileCount":7,"unpackedSize":24404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZ0CVCRA9TVsSAnZWagAAyRUP/iOopppHXT/0ohbqUQ1b\n7kWuOa8lyjoCxjcXfRCfR8NAjmCpH4HYjyyw6H5aYkVIXaURFeEQdWfP35md\nCx8DZK/9krMpwJcXjpc7JpmVeWBdYv6XzhpBmdhT9gFSz7ZBECxhTvfChsys\noMUBN1EPu+Hws6VqE40D9vIz7+sfhcg+eLj/dmOFvOYF4qQ8G18O68LlC3hy\n2YYdvKcp245J5i9cTa4ESoGqJd7GtAm8uJiLwiaHP/WNSDJnbeV6zP4czqLD\n/6KMuMML+ZttBC+2KeOxIkHh/2E+JH1rR/ZUd3NTahFNwD7pPg66G9/yWKA7\npIBMXiwLDpP1Ff2fw/Vu+/BKJqrtxVUv3trnx/VL1KgsMnEDe9KGi1PuTDmw\nSSonMazRZfPLgvomVFLX/Nx4glZlybxHWJMemcPTwb3Rtji1d/X19Z6rLP4l\nmIC9lZe2ixzbehUhTOOLt8+LYVRR9rb1Cm3/6PVt8F4rORRhxxgwJ1+IKzm/\ntvs5u9mr7RQtKwYBhNayeRjp63+HYV1SyJtZCfnNZ+jArQq6d9Dl7uF/nXAc\nRdDVrqg6fZKWqaYjzApSsNGJYiXv8+KIwclLrE0A2mvWnBuoL5O3/QG1J3UQ\n2tfL5sheYjLPxVfPPV0fZHMydgJThZkBrQOqKV1ViaH7hnjR65/v/Uxg4Yrc\nie+g\r\n=88yZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD63jvD8sbbAuYtayRhXawmdcTpI87mX1NBd/U98/BD1wIhAP5+w/9MHKgSlSOHpkbJCsNVURlap2u/fOTvvtJR2kBi"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.20.0-next.1600602259.4bc1996a563c9f77abd9524e504ab6d04b621bde_1600602260954_0.07370838403871183"},"_hasShrinkwrap":false},"3.20.0-next.1601211160.38538c6721067f37d0a96f9d7240867d193a8102":{"title":"Arguments By Type","name":"argsbytype","version":"3.20.0-next.1601211160.38538c6721067f37d0a96f9d7240867d193a8102","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"name":"balupton","email":"b@lupton.cc"},{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["source","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["compiled","javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.14.0"},"devDependencies":{"@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.5","@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.1.0","eslint":"^7.8.1","eslint-config-bevry":"^3.19.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.11.0","prettier":"^2.1.1","projectz":"^2.15.0","valid-directory":"^3.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"38538c6721067f37d0a96f9d7240867d193a8102","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.20.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.20.0-next.1601211160.38538c6721067f37d0a96f9d7240867d193a8102","_nodeVersion":"14.12.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-T1CpYxmDa/bCVd1uvIzu0O/h8qU6JEQmPKUzMQDbqLifOnsCfo9xtyc8ycxOeFvYQlX9ezbU67xXyTaVOPQGgQ==","shasum":"5bce5d1d712cd8e6ea6c7ef57edc452edeabe9de","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.20.0-next.1601211160.38538c6721067f37d0a96f9d7240867d193a8102.tgz","fileCount":7,"unpackedSize":24404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcIsaCRA9TVsSAnZWagAALkMP/1dD/oEZidyc2qb4KJW0\n2G3PQlZdOFfEKdjo/nGsn5YiCU2wXmuelyLwah+nZkJGgO/jxRQUONhC+h4J\n3gCU1XrK93xLJaxWkF7OJjsm3a4VcZkuqVljZIFKlLLvGTLO643Z7m0eNGp8\neQCzYdRNX+b6RC/WTkXLZZ3D09TUEN56F5ngcjjrJyYlzJBfKT7xoRcyPekv\niFLuQaSbvzZRj8YPtdUd+aYrVjCRPVN7JJFRQNj4EbD5XSwvGnRtlCmD5+0N\n6KoYIfVEn/ZDwH4BW6zjVg3y0YhzPE+m60BV/uoASiHENXY82hCuI9mkDeHg\n1ZD/Vrdi4903N/gQdo9XIQuA9OLmgdZT+Un+fiKf6VdzqeTv6Z9bfAyTyz7V\n5aVlM15EvW4ow8ax18WVEz6/MDtFlITmFTudJbI11Y1obgcepa+XRHAHPsZ2\nk5CxQjWMucniwfK2v2J+KweaqoAx9vZjtdflCqeDqYYqswCURkavs2OZPLnc\nvNFAk4sz4/66/Q+wpkPNB1YoC2jnN1C5YjsLDQc5UWoHztxLU+hGl7sSUI2e\nrwlUzjZ1kUy11f/TWGkGTGg/vM/8wJv7UHuE8sd32/pcYaIUqfS9lrH33rqM\ncDt50Nk+2qHnrwu3p9XjR/uDv8OxibV/oMJpktOuQMfQVoXG+VviiUbYMDz+\nEEaB\r\n=OI/e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBWKv8Z9q4fHBIQswHnGRIn2E0P+w+TgFVw3UYJEEmI6AiEA/3rjwQwtaXRensyTeGaKErnn+bJh4PFvixr9BJ+URBk="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.20.0-next.1601211160.38538c6721067f37d0a96f9d7240867d193a8102_1601211161912_0.7288170639379132"},"_hasShrinkwrap":false},"3.20.0-next.1601215694.c37eda15895d939d74923fdba09c30b80aa1ac0d":{"title":"Arguments By Type","name":"argsbytype","version":"3.20.0-next.1601215694.c37eda15895d939d74923fdba09c30b80aa1ac0d","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"name":"balupton","email":"b@lupton.cc"},{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["source","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["compiled","javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.14.0"},"devDependencies":{"@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.5","@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.1.0","eslint":"^7.8.1","eslint-config-bevry":"^3.19.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.11.0","prettier":"^2.1.1","projectz":"^2.15.0","valid-directory":"^3.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"c37eda15895d939d74923fdba09c30b80aa1ac0d","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.20.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.20.0-next.1601215694.c37eda15895d939d74923fdba09c30b80aa1ac0d","_nodeVersion":"14.12.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-1C5itKQvshehRQjvk2s4XTie8S7oELLpeD8CbdrbVohOyT9ZJY/Ib176YbL0sWpqf2eIO5d34nLWy6eSIqJYGw==","shasum":"f0e115d1a7f3ce399e6914ddf1aa24460a850a9c","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.20.0-next.1601215694.c37eda15895d939d74923fdba09c30b80aa1ac0d.tgz","fileCount":7,"unpackedSize":24404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcJzQCRA9TVsSAnZWagAAm1sP/2+ScI2EubsF/zpVcn9u\nZgNM3xbpD8QMCV5RL918EkIyi+K7iD5/EYlU0EmWHp4UXOh3pNjn2Yohcs2J\npFIcZUP1rdQTnEwv1lpqXA9cvJgvDZbguwQaADXEE7FG/aaX0h7Chz6x4328\njmW+MhxSCsEJ6m3gzsAzf7IkfdcdUOkJWGtVy6CtGmxGNtgKYHW1kEDTs4kX\ntz+zwxIv08dwSnAOPoQWsDBoc6h+CZYdlH7OhdZzUHCtcXMrpyYbEiyeVJx9\nz6Y0iLOguLqU1AFj4xWofqu2QVupV1W5e/d4UDpTAnU+q/SOUcHMFO7qbLL/\npJWafKz5fxH3haZcZWGO2GRaVrxGWo7v214117hghf9ODVgHwLUaYQ1q/KGP\nEsGHxcxJq36XKRFZbMPll7df/VFwqETwhn9AEJdKV1rOVwBPtUPzM6KjdvKC\nYB50AKRdVvCzQV6gG+Z5fGBpi6nGlRjnHSRagbSZLEkoTYY0XnzcknA7b0lG\ntB4BoiQWL2e8/sUeOEf64VMwYhMbxabq8Gm/hUb8w9aCbdgFx1dV0nbZdCjG\nIg4+NPg35RPacLznK4zCkgdtfjSvvjMeMdLS756t57UbMGZTna3E4hv9+aXr\n/1YLZTNu5IV2sY6mYnns+w+t9CQWoHM7M3+rSTQVpE/mvgczhCSpJV2Bkhm5\n8FrY\r\n=YHl/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAeqMbESFuQfwSXuQEnZEmFkz+YIaVAAt/C2XXY0qN0rAiB4aF1Jn0uKppQV1sqFIAyM5oS0rNKTNGXEzrlQcVstdA=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.20.0-next.1601215694.c37eda15895d939d74923fdba09c30b80aa1ac0d_1601215695882_0.6837450576500668"},"_hasShrinkwrap":false},"3.20.0-next.1602409706.1ceef50bc56968595b63e6d468809500b9f0ca88":{"title":"Arguments By Type","name":"argsbytype","version":"3.20.0-next.1602409706.1ceef50bc56968595b63e6d468809500b9f0ca88","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"name":"balupton","email":"b@lupton.cc"},{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["source","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["compiled","javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.14.0"},"devDependencies":{"@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.5","@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.1.0","eslint":"^7.8.1","eslint-config-bevry":"^3.19.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.11.0","prettier":"^2.1.1","projectz":"^2.15.0","valid-directory":"^3.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"1ceef50bc56968595b63e6d468809500b9f0ca88","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.20.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.20.0-next.1602409706.1ceef50bc56968595b63e6d468809500b9f0ca88","_nodeVersion":"14.13.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-q9IiQ5MjKItx8I+wK8F//AmTzggN2v0LoBq2MlO32nKXQzF2A3f0i+80A94BYD6sAnXCd2elMLFIIOR2+U4qeA==","shasum":"c150d2ffe5b7c26dca71723aac6719ca1b9465dd","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.20.0-next.1602409706.1ceef50bc56968595b63e6d468809500b9f0ca88.tgz","fileCount":7,"unpackedSize":24404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgtTsCRA9TVsSAnZWagAA920P/RH8lIkiTKmcfeTp2Qms\nTp2LcM1Fks27OEX2lpXqkoddKccohLQsKsmaRT0s461aX+teCrhrbzje2fmm\n+snq8PRTz6J9nn7LmDWEV9wzQm7Yfjd+26o7LibeE9pvo/6UaYoSHrKmq1Q3\nABd+fPGwrdi9wSc9gISkGPmCf1hxBzprddAzMec+lGif7+uWjsYE3xjV1DbJ\n/LU2JXeAMKWqejnKUaVkeBY0/wlilxni7roEDLzOJ72U8Jthwabkrsj4Zc3R\nWR6E0amTaKxUwGC+mvLGQ89P2iV+Lb9Pn8mIZmuG6E9oq/1dfRsetuDpaJX+\nB9ePhCKdqOenaa4ZvyxUp+YxapHkEbJttok/x+wE76aZxeY+YLX0Kk+4TKFL\nW+K8YV6G18dlgylf869Oj+/3NB10l0V3Jb/lhGWIGyipKXbYa9ltNi5cyhqA\nVitPJTz//OI0tkyFAbP3WN0PfIyzBl0HE5WW2+HkoXJkxK/UaOECR0ejzmZ3\nVozrG+dzL49BKTD1xvcb4fZUtVKzl9BIc4Wn4cFhbzVfXNluwrTUGnyldpgP\nzkyfsHIb+s0V7H3h12XEOHHDafkxvRWqnMsgipmcq+jEICTal1WstYd0mKoh\nDohwjxb8Jyo6dFOQMwmM+dKAFRnF3ZioGUemhOEVwOjWHAx55v8emhwKtOPq\nh78i\r\n=79ZW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCS0coImxTf6A9u3pA5JCZQFfkZLCBP2JYFHJl6jgyAVAIgG9NghJOuweHcM2ejNT2Gwv+pjpDjsfzJ3yjOR186WhA="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.20.0-next.1602409706.1ceef50bc56968595b63e6d468809500b9f0ca88_1602409708059_0.4117128428278827"},"_hasShrinkwrap":false},"3.20.0-next.1603017935.e734818dca0cbfb892efc5dbd9d0397aff7e273e":{"title":"Arguments By Type","name":"argsbytype","version":"3.20.0-next.1603017935.e734818dca0cbfb892efc5dbd9d0397aff7e273e","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"name":"balupton","email":"b@lupton.cc"},{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["source","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["compiled","javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.14.0"},"devDependencies":{"@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.5","@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.1.0","eslint":"^7.8.1","eslint-config-bevry":"^3.19.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.11.0","prettier":"^2.1.1","projectz":"^2.15.0","valid-directory":"^3.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"e734818dca0cbfb892efc5dbd9d0397aff7e273e","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.20.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.20.0-next.1603017935.e734818dca0cbfb892efc5dbd9d0397aff7e273e","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-1I0Ikef2V4NWHB6MAeySUjybA7J20zS37CkFWgjbmUp9ep3PdxuGuXVTrtPd3rG/SOTA+2usL8jTV1VVNjOOzA==","shasum":"57a7fbb34e9a57994d1ec50690d10d9b9eced370","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.20.0-next.1603017935.e734818dca0cbfb892efc5dbd9d0397aff7e273e.tgz","fileCount":7,"unpackedSize":24404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjBzRCRA9TVsSAnZWagAAvb8P/Rjk5MrZRcBFUjvhBwQv\nkdYSzGlxTjCTCr5/1anX+tqV7YhM72BCUJ4sL1ugxarRwfrlZWIs5/AaDt68\n9jQ4vpvpYXmGQGUy3QlKZYY91ZU0Y/jvOnMsxnsAvqdIbMGCpmD0Hl51O8Ws\nZIb4sGdKh4DMM78ce8OZc8pvhDZTLhUltQG7tToiNo79uQro4wsP6MIwrJLy\nXluoIP+2OH2arkvcQPPhk/7cr57XaXsQvDjCf8DtsYhPDNc8Fj+2Ih5hjWtr\npscFqE/3O6xCbb8UydSeMV6PiC60E0qVaJalZBoak/UOe4YDq60whFCC2VmA\nsQ6k1E7KIaZDH2dYh+J//uJkkNNjlGjKM1xgvLP/3YxpA/8FrHvnBWQt9Vd2\niRQISD09TRRSwFhQJtQdqRRB5CiOBjKpvmkuhMJM3QWP4Yunkkyq3JCeR7nH\nNvPbYVEe/ilhwpqlW7A4gK6UoIT9MM1kW50PED27tykTEep0ueqajFN0vcAi\nT7fXm0/tj0bvFsl2jCc6HketYugviOJkVlYJoxasAnpnukar+XU/M63MPIWG\ndl8sqgqUPJ1S3qRFLW1adJyqnfz5FFVFHiSOef3MKQsssbvRmXU1n67VhNlg\nCndfElTQaYf8GW/sIv31V/PkiMGaf/YK7rJ85Go3LZ5WZRizuESP3iBt+TMP\nZfHC\r\n=ULQ5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC94F1ayVU8mPH3GgXi+QeAqpS3BDRepZIQ9Dz1LMbBxwIgSBIoGGFXyWz3KHIoEmlzL3NZlbggTX0mjixzNEAs00E="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.20.0-next.1603017935.e734818dca0cbfb892efc5dbd9d0397aff7e273e_1603017936952_0.6358558144235948"},"_hasShrinkwrap":false},"3.20.0-next.1603626268.621341e58f3bfa2da220a8b884a7bf42a2362b9d":{"title":"Arguments By Type","name":"argsbytype","version":"3.20.0-next.1603626268.621341e58f3bfa2da220a8b884a7bf42a2362b9d","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"name":"balupton","email":"b@lupton.cc"},{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["source","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["compiled","javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.14.0"},"devDependencies":{"@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.5","@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.1.0","eslint":"^7.8.1","eslint-config-bevry":"^3.19.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.11.0","prettier":"^2.1.1","projectz":"^2.15.0","valid-directory":"^3.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"621341e58f3bfa2da220a8b884a7bf42a2362b9d","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.20.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.20.0-next.1603626268.621341e58f3bfa2da220a8b884a7bf42a2362b9d","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Wln989/GFEJgyYFpUMKrn56ezemQR49vnf9UxERltfp+46Lb3SBqoYP0baAIcm8ExLA1k8vrt7qbECLj+ytFzQ==","shasum":"a61a575638c0893323268b29cf3158786ac7c4e4","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.20.0-next.1603626268.621341e58f3bfa2da220a8b884a7bf42a2362b9d.tgz","fileCount":7,"unpackedSize":24404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJflWUdCRA9TVsSAnZWagAA33oP/22HZwwitFsl4ydQl/e/\nBJ7WxVN2oHydXCZPhTZXtEbjbVsPvZeWhYjZrg8EnmejCQyQHOZGGYFeDm1S\nHimGEprvOiJklAYI737gkln9iMek4evM9njXRVBKLw8Zj9occ+DkX6NlDJ6Q\nZumoy5JYzsT+MP73+U8NO1mAeKbiKRCvUm1F7dP3uuTF6O/6qwA87hCAaKbj\nhtEdRTsEIVaiU9QjO/mzBJ59rwNhnXKWSJlPJEkXDPvZJIvSYkihj8vzlTaL\nzEyZHBGEqwFy0x7xhlkEZ1qOsKS2xp+buX7lDDks+bA6q54IIiA0gIC38+7J\n4GIJOVxlCDctYhiRhfRNBXGO+prdiJepGgu4OaqobGyWQ3LPxAjgXQa9KLeS\nKzISgNUsn9uDzadou3bI4LAByHTQca+63lpbbNe0iN/NH2ib65bmAoG3Ko5n\nKLixzzIQoZ07X98wwGUg/+3czehGcQguAE0foB8P+ZhUKCv7MDCNJGV6Gu4s\nJEYWUXVIvjbRPyzxcY8E3qpzQ9maIzaPXdJPR3I++lmFc3TeDwixJ3sN5D2e\njQ4+amMqDd8DK99Vi/zRZ9IMLPHFTG2F0F9ioZTh7uK6qYWh78NZy65+LpFz\nQ5oQvtS8VkXqwPt3Fi1WNzZgalowCZb0hW6fpULsdOjZ5pVvF1WpRf3Op4Jq\nvJqV\r\n=800w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9BsaLSlC2nkY58Nul8IcNOXyTioBUzYXQ/nC2FxAWAAIhAMTi34hWtX5kqXE6YzkMCMRE+Kw0JJBeRVWVURErs1SJ"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.20.0-next.1603626268.621341e58f3bfa2da220a8b884a7bf42a2362b9d_1603626269453_0.027128286887710962"},"_hasShrinkwrap":false},"3.20.0-next.1603631168.88c431993350515206163f32380b47eacd08e29b":{"title":"Arguments By Type","name":"argsbytype","version":"3.20.0-next.1603631168.88c431993350515206163f32380b47eacd08e29b","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"name":"balupton","email":"b@lupton.cc"},{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 13 || 14 with Require for modules","directory":"source","entry":"index.js","tags":["source","javascript","esnext","require"],"engines":{"node":"10 || 12 || 13 || 14","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["compiled","javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.14.0"},"devDependencies":{"@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/plugin-proposal-object-rest-spread":"^7.11.0","@babel/preset-env":"^7.11.5","@bevry/update-contributors":"^1.16.0","assert-helpers":"^7.1.0","eslint":"^7.8.1","eslint-config-bevry":"^3.19.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.11.0","prettier":"^2.1.1","projectz":"^2.15.0","valid-directory":"^3.3.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"88c431993350515206163f32380b47eacd08e29b","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.20.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 13 || 14 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.20.0-next.1603631168.88c431993350515206163f32380b47eacd08e29b","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-LX/IcSayVnVeM9vHRBRJ8vE6tfTxafkXzqJk5DTxFXXfYW/siDReWtaksvw1LOuZi9mHaarusz9EtyrjZv3u6g==","shasum":"771200a15ab8e85c0c2a95e8a88768aabb6933e1","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.20.0-next.1603631168.88c431993350515206163f32380b47eacd08e29b.tgz","fileCount":7,"unpackedSize":24404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJflXhCCRA9TVsSAnZWagAAV8gP/iQSexuCKe12gS2sK4Jx\nMRFLPojqW3Oi8F17wb+9+B5M1kemx9V+Y1F+jI8yltY/GzqQLNf8/6sT1tCb\nJCK7ETQutZVlRFCcXQZQ+VRO3TcDmOZ+CTxyDGkA5bxHXJADQc+ZeLMBfRNy\nTuud2g+uV1wULu3d5n4R8JOW9YoWmOx1N6Agd13AqQiMLk8QwT1fmmm8xBWP\nWHGZoQhPLhxNbtlqCwU/+4YxHsdw/WcYR7fM08mPdcQRchtb9dxrdL+ysrdY\n6ZdGMFODSQGOw0FhVrZuYS/Cs7QmPeJuCY1rZUXo/0c2s9owtBiEbzVUNQxw\n/aVzJ2R1oxkx1A79+0/ngWnz8kWzPsuiDv9u/Jls8I0GxAh+uWlEvoq56295\nOaAWxj+VQJ0qOhF8L5d50UcoEdo4Xr1KE0vW2u0FLI64QWHImla6iHwNErk6\nNW/mBG+r2XMAG6l8OjKuRJ4fKUmKQyIiTQTr5MENdwqFUi19S5eHgv3Jrrzg\n5rfRuy9UfBG8JNHlA4+b03mMVkJ5Zuj3eRAh+dDuguA8Q/3b3B6QYlGjAk+R\nrkS+1QOwBhpD/7oT4oUhQUCLhfe20SZwZZgEqdON7yMwE9qT1jEicMyNXxsw\n/LHxygcdWxOWXMz0sgR0kYwfG4qCE+AoFeu2DLZ5ALvme/ViwrPioQzsLios\n5Tj7\r\n=tPMt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAcgEM37sZWM7lDho1Go5Xg5fvQtPKFVLyuDPA/q24STAiAwgqMz+QBIoMQzWAIhHsB/sjM+Npi1tI3dyciILiw6Lw=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.20.0-next.1603631168.88c431993350515206163f32380b47eacd08e29b_1603631170102_0.9603197178181322"},"_hasShrinkwrap":false},"3.21.0-next.1603919847.a0f6cd1e352dfaf4c27a775acb8628aefc833e7e":{"title":"Arguments By Type","name":"argsbytype","version":"3.21.0-next.1603919847.a0f6cd1e352dfaf4c27a775acb8628aefc833e7e","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"name":"balupton","email":"b@lupton.cc"},{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 14 || 15 with Require for modules","directory":"source","entry":"index.js","tags":["source","javascript","esnext","require"],"engines":{"node":"10 || 12 || 14 || 15","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["compiled","javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.16.0"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/preset-env":"^7.12.1","@bevry/update-contributors":"^1.17.0","assert-helpers":"^8.0.1","eslint":"^7.12.1","eslint-config-bevry":"^3.22.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.12.0","prettier":"^2.1.2","projectz":"^2.16.0","valid-directory":"^3.4.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"a0f6cd1e352dfaf4c27a775acb8628aefc833e7e","readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.21.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 14 || 15 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","readmeFilename":"README.md","_id":"argsbytype@3.21.0-next.1603919847.a0f6cd1e352dfaf4c27a775acb8628aefc833e7e","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-+F1uspbN5c3/Uy68A0KqESvlbF6kdFiorbSDIqIZ8iSqruu+7ptQ5r5R9Ya7KpPX4qMK/UNNp3n0luxDeDosqA==","shasum":"c8a0d877edc4cd769496530d1ce2dce8361e73db","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.21.0-next.1603919847.a0f6cd1e352dfaf4c27a775acb8628aefc833e7e.tgz","fileCount":7,"unpackedSize":24603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmd/pCRA9TVsSAnZWagAALC4QAIzVSPM7AzjPoKrURJQd\neKlh+AM3a/vMb/3Q5yOvixc4NNHRF0+1SDIz6optb9gssXkFMe/5bfX3YUVe\nhfs0aIeSgvyD2M//a+LjD0mfs49hjoO8JFk6BlaJanjkGkXHq/kI+oEyBEvl\nxaMwajeexr+Y2G+WJF9DmVLfy8BY8tJpvo247S9qk3wQ5mhuir0T2zCSCwOt\n8ztPGXCrIsxVZpIlUv8VWNwRrYZTjsvKc0OJ0Hk6C89w/o12m3vJLUj1wq/4\n3O5qXFZXzVr26LgUv31U/48ECfOuED1zeQF+j5jpmYMa5mtH4z6P616T0wHZ\nUut/OTUzNZTYvI1IALm+IUhkFj8bvKl0wtnJC3MjCvq5eGXlXgrPx0N1zWjO\n/3ynTWAa28koJwDiFFE7ICiZgR/e0LVOrWoKnJEnquFMHhztgjiPjAaz0u1O\nEapZOyny5Q9uGpF01UzsHRlaSPPpm5ti1UbBvIWDz8pvXe69scCPnPeb7M9d\n8XNA0IwG1qtLoe+hQaa/YTRJU6Epb2/hDpiHqhKNj2WTPdUgQgTcNOXlC8dF\nBCssY4KW+IkjEnAhXKa/GiO2LYr7SWWTskZ9ScS01r+htUGkR/ORXH0HDoJ1\n57lpydsyc1OlNeu8WXZXIxjS0TLaq6xYL6sLjHH0FJ738dPzBYihEHn9jEc8\nR4ws\r\n=eROf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFsEEIM80p0hM08RTbrKIlmKjcYCSl0IwxRWEOR3E5EoAiBGkZsuVmbWiE6c3R7h71hQSsSYJzIY+KetAoqwBsq8ZA=="}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.21.0-next.1603919847.a0f6cd1e352dfaf4c27a775acb8628aefc833e7e_1603919849151_0.6026205298363445"},"_hasShrinkwrap":false},"3.21.0":{"title":"Arguments By Type","name":"argsbytype","version":"3.21.0","description":"Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.","homepage":"https://github.com/bevry/argsbytype","license":"MIT","keywords":["args","arguments","browser","esnext","node","utility"],"badges":{"list":["travisci","npmversion","npmdownloads","daviddm","daviddmdev","---","githubsponsors","patreon","flattr","liberapay","buymeacoffee","opencollective","crypto","paypal","wishlist"],"config":{"githubSponsorsUsername":"balupton","buymeacoffeeUsername":"balupton","cryptoURL":"https://bevry.me/crypto","flattrUsername":"balupton","liberapayUsername":"bevry","opencollectiveUsername":"bevry","patreonUsername":"bevry","paypalURL":"https://bevry.me/paypal","wishlistURL":"https://bevry.me/wishlist","travisTLD":"com","githubUsername":"bevry","githubRepository":"argsbytype","githubSlug":"bevry/argsbytype","npmPackageName":"argsbytype"}},"funding":"https://bevry.me/fund","author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"name":"balupton","email":"b@lupton.cc"},{"name":"bevryme","email":"us@bevry.me"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"engines":{"node":">=10"},"editions":[{"description":"ESNext source code for Node.js 10 || 12 || 14 || 15 with Require for modules","directory":"source","entry":"index.js","tags":["source","javascript","esnext","require"],"engines":{"node":"10 || 12 || 14 || 15","browsers":false}},{"description":"ESNext compiled for web browsers with Require for modules","directory":"edition-browsers","entry":"index.js","tags":["compiled","javascript","require"],"engines":{"node":false,"browsers":"defaults"}}],"type":"commonjs","main":"source/index.js","browser":"edition-browsers/index.js","dependencies":{"typechecker":"^7.16.0"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/preset-env":"^7.12.1","@bevry/update-contributors":"^1.17.0","assert-helpers":"^8.0.1","eslint":"^7.12.1","eslint-config-bevry":"^3.22.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","kava":"^5.12.0","prettier":"^2.1.2","projectz":"^2.16.0","valid-directory":"^3.4.0"},"scripts":{"our:clean":"rm -Rf ./docs ./edition* ./es2015 ./es5 ./out ./.next","our:compile":"npm run our:compile:edition-browsers","our:compile:edition-browsers":"env BABEL_ENV=edition-browsers babel --out-dir ./edition-browsers ./source","our:deploy":"echo no need for this project","our:meta":"npm run our:meta:contributors && npm run our:meta:projectz","our:meta:contributors":"update-contributors","our:meta:projectz":"projectz compile","our:release":"npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push","our:release:check-changelog":"cat ./HISTORY.md | grep v$npm_package_version || (echo add a changelog entry for v$npm_package_version && exit -1)","our:release:check-dirty":"git diff --exit-code","our:release:prepare":"npm run our:clean && npm run our:compile && npm run our:test && npm run our:meta","our:release:push":"git push origin master && git push origin --tags","our:release:tag":"export MESSAGE=$(cat ./HISTORY.md | sed -n \"/## v$npm_package_version/,/##/p\" | sed 's/## //' | awk 'NR>1{print buf}{buf = $0}') && test \"$MESSAGE\" || (echo 'proper changelog entry not found' && exit -1) && git tag v$npm_package_version -am \"$MESSAGE\"","our:setup":"npm run our:setup:install","our:setup:install":"npm install","our:test":"npm run our:verify && npm test","our:verify":"npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier","our:verify:directory":"valid-directory","our:verify:eslint":"eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source","our:verify:prettier":"prettier --write .","test":"node ./source/test.js"},"eslintConfig":{"extends":["bevry"]},"prettier":{"semi":false,"singleQuote":true},"babel":{"env":{"edition-browsers":{"sourceType":"script","presets":[["@babel/preset-env",{"targets":{"esmodules":false,"browsers":"defaults"},"modules":"commonjs"}]],"plugins":["@babel/proposal-object-rest-spread"]}}},"gitHead":"a0f6cd1e352dfaf4c27a775acb8628aefc833e7e","_id":"argsbytype@3.21.0","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-PpC5RrD5ERW8vc/otDIQTWFyH6uyfDq4BDnM9KkdThPz7eKFYpRT4fSVX1+8xxVFeMPmNd59A/sVpzoPzcQ6mA==","shasum":"60c33ecb69e612f668048f8cfd60c89366f654fb","tarball":"https://registry.npmjs.org/argsbytype/-/argsbytype-3.21.0.tgz","fileCount":7,"unpackedSize":24546,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmeC2CRA9TVsSAnZWagAAcCYP/ikcDjYdsdG8lCop3ycV\nxxMNtQMIy2hKuRiANnzJZvspANDKhX+gwPUMvf7/9dn1Kf+YYyuOu3D+3nyz\n30Nb7fTh93WfHbJ6FPqOlQ7FdWDtX+DcEg3TZ45bhABj/onPQONGEQCG+w4J\nPi0Xc/JrY0Bio1ro0QMlHt3BRdZiX2KNCIr6aVTjhPjgoXaZt/BK0QDjzG8W\n3rqlq2DY4fkLSGKnkD4v4RNnTUs/eLn/YGXOIOL+F+5/5P2yLzt2L7RZya2J\nWw7GvPhiFAVZFtFrrzTj166ebBWh8q7moS3hkE3/28+r++HtgNIYfonJDx5Q\n5vmUMTmfNJSrZBbxt1/ZQgnk1KXcfjEF5DzHh54kp4u2YK/HIJRiL/dHCDXg\nzDBrkrdA3sS4F8bsDPDHZbIvbPHaXma/3kYBB5qiYBE3B3LqxQU5ICwzcFyp\nfXmX7QglZ7yNZXaxdJyK++IOg3YcN7DYWsGXfr6CRMFLaCEvuB6B9b3Y3saF\nNvSODJRdkx8g/O/I04OaYETQvTfv7TR/klqBcso08fsKqX5Q+OTgMo5eCOWN\n0+WEhjnTfC1eOss0ti68Dij1fYTwOnINnODiZOFG2qw2KU0OWA8WqVqjsNix\n/k8vNdrMf4nQEa+hYMoEDn/Dp8/MZbZ/0uMY30HyuOQdyrzAxhhtUm3j6mqz\n8Uuk\r\n=+TdD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCehPGLJo6ve51LW9pV09xLeX7D6Zqvx7mrid1pS3O5UgIhAO0QRdNEiG2/14sLMFr1yDiJSjPwnUSm+3wmzK7j0qGM"}]},"_npmUser":{"name":"bevryme","email":"us@bevry.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/argsbytype_3.21.0_1603920054156_0.9375828307744971"},"_hasShrinkwrap":false}},"readme":"<!-- TITLE/ -->\n\n<h1>Arguments By Type</h1>\n\n<!-- /TITLE -->\n\n<!-- BADGES/ -->\n\n<span class=\"badge-travisci\"><a href=\"http://travis-ci.com/bevry/argsbytype\" title=\"Check this project's build status on TravisCI\"><img src=\"https://img.shields.io/travis/com/bevry/argsbytype/master.svg\" alt=\"Travis CI Build Status\" /></a></span>\n<span class=\"badge-npmversion\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/v/argsbytype.svg\" alt=\"NPM version\" /></a></span>\n<span class=\"badge-npmdownloads\"><a href=\"https://npmjs.org/package/argsbytype\" title=\"View this project on NPM\"><img src=\"https://img.shields.io/npm/dm/argsbytype.svg\" alt=\"NPM downloads\" /></a></span>\n<span class=\"badge-daviddm\"><a href=\"https://david-dm.org/bevry/argsbytype\" title=\"View the status of this project's dependencies on DavidDM\"><img src=\"https://img.shields.io/david/bevry/argsbytype.svg\" alt=\"Dependency Status\" /></a></span>\n<span class=\"badge-daviddmdev\"><a href=\"https://david-dm.org/bevry/argsbytype#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"><img src=\"https://img.shields.io/david/dev/bevry/argsbytype.svg\" alt=\"Dev Dependency Status\" /></a></span>\n<br class=\"badge-separator\" />\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<!-- /BADGES -->\n\n<!-- DESCRIPTION/ -->\n\nProvide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.\n\n<!-- /DESCRIPTION -->\n\n## Usage\n\nLet's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:\n\n> https://github.com/bevry/argsbytype/blob/master/example/01.js\n\nBut what happens when you:\n\n-   Start having arguments that are regular expressions or dates which `typeof` is still `object` instead of `regexp` or `date`\n-   Or, when you start having multiple arguments of the same type, that you would like to accept (e.g. the first string should be the `name` property, the second string should be the `keyword` property)\n\nAt that point in time, it becomes too much trouble to bother with. Fortunately, `argsbytype` is to the rescue! Now you can do:\n\n> https://github.com/bevry/argsbytype/blob/master/example/02.js\n\nYay! Big win for agnostic argument order! But when would you actually want this? Well, it turns out that in CoffeeScript options come first, in JavaScript, options usually come last. By using this, we can support both conventions, for example:\n\n> https://github.com/bevry/argsbytype/blob/master/example/03.js\n\n<!-- INSTALL/ -->\n\n<h2>Install</h2>\n\n<a href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"><h3>npm</h3></a>\n\n<ul>\n<li>Install: <code>npm install --save argsbytype</code></li>\n<li>Import: <code>import * as pkg from ('argsbytype')</code></li>\n<li>Require: <code>const pkg = require('argsbytype')</code></li>\n</ul>\n\n<a href=\"https://jspm.io\" title=\"Native ES Modules CDN\"><h3>jspm</h3></a>\n\n```html\n<script type=\"module\">\n    import * as pkg from '//dev.jspm.io/argsbytype@3.21.0'\n</script>\n```\n\n<h3><a href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\">Editions</a></h3>\n\n<p>This package is published with the following editions:</p>\n\n<ul><li><code>argsbytype</code> aliases <code>argsbytype/source/index.js</code></li>\n<li><code>argsbytype/source/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> source code for <a href=\"https://nodejs.org\" title=\"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\">Node.js</a> 10 || 12 || 14 || 15 with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li>\n<li><code>argsbytype/edition-browsers/index.js</code> is <a href=\"https://en.wikipedia.org/wiki/ECMAScript#ES.Next\" title=\"ECMAScript Next\">ESNext</a> compiled for web browsers with <a href=\"https://nodejs.org/dist/latest-v5.x/docs/api/modules.html\" title=\"Node/CJS Modules\">Require</a> for modules</li></ul>\n\n<!-- /INSTALL -->\n\n<!-- HISTORY/ -->\n\n<h2>History</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/HISTORY.md#files\">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a>\n\n<!-- /HISTORY -->\n\n<!-- CONTRIBUTE/ -->\n\n<h2>Contribute</h2>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /CONTRIBUTE -->\n\n<!-- BACKERS/ -->\n\n<h2>Backers</h2>\n\n<h3>Maintainers</h3>\n\nThese amazing people are maintaining this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<h3>Sponsors</h3>\n\nNo sponsors yet! Will you be the first?\n\n<span class=\"badge-githubsponsors\"><a href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"><img src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /></a></span>\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n<span class=\"badge-flattr\"><a href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"><img src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /></a></span>\n<span class=\"badge-liberapay\"><a href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"><img src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /></a></span>\n<span class=\"badge-buymeacoffee\"><a href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"><img src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /></a></span>\n<span class=\"badge-opencollective\"><a href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"><img src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /></a></span>\n<span class=\"badge-crypto\"><a href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"><img src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /></a></span>\n<span class=\"badge-paypal\"><a href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"><img src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /></a></span>\n<span class=\"badge-wishlist\"><a href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"><img src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /></a></span>\n\n<h3>Contributors</h3>\n\nThese amazing people have contributed code to this project:\n\n<ul><li><a href=\"https://github.com/balupton\">Benjamin Lupton</a> — <a href=\"https://github.com/bevry/argsbytype/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/argsbytype\">view contributions</a></li></ul>\n\n<a href=\"https://github.com/bevry/argsbytype/blob/master/CONTRIBUTING.md#files\">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a>\n\n<!-- /BACKERS -->\n\n<!-- LICENSE/ -->\n\n<h2>License</h2>\n\nUnless stated otherwise all works are:\n\n<ul><li>Copyright &copy; 2014+ <a href=\"http://bevry.me\">Bevry Pty Ltd</a></li></ul>\n\nand licensed under:\n\n<ul><li><a href=\"http://spdx.org/licenses/MIT.html\">MIT License</a></li></ul>\n\n<!-- /LICENSE -->\n","maintainers":[{"email":"us@bevry.me","name":"bevryme"}],"time":{"modified":"2023-11-14T10:26:38.281Z","created":"2014-07-03T16:32:03.007Z","1.0.0":"2014-07-03T16:32:03.007Z","1.0.1":"2015-12-11T19:14:44.218Z","1.1.0":"2018-01-31T00:19:42.023Z","1.2.0":"2019-01-01T07:06:48.801Z","1.3.0":"2019-11-13T04:03:52.490Z","1.3.0-next.1573625418.7773779c2e45de7d05e26f4907374b9db610eaf8":"2019-11-13T06:10:20.356Z","1.3.0-next.1573740652.843f986150b1637459158d78f9433f7286d64cb3":"2019-11-14T14:10:54.088Z","2.0.0-next.1574035024.13e17a1434588cb23c58c54261da277227def3b8":"2019-11-17T23:57:05.979Z","2.0.0":"2019-11-17T23:58:08.585Z","2.0.0-next.1574657161.9f8523d9c2c4736136bf59e4b578b4dd346d5c23":"2019-11-25T04:46:03.749Z","2.0.0-next.1574660670.d3208e56baca32ebde8c5330630796c17df0e8d6":"2019-11-25T05:44:32.683Z","2.1.0-next.1575136462.225eb4a3cc0a030cbb06d6238e7380b217182356":"2019-11-30T17:54:24.388Z","2.1.0":"2019-11-30T17:55:21.813Z","2.2.0-next.1575143247.026f15e96b8e0797af88fb64be8f6f20bb698169":"2019-11-30T19:47:28.938Z","2.2.0":"2019-11-30T19:48:36.878Z","2.3.0-next.1575161960.9f9c6ae6e4b0d302db0f7be27ff87c6010f39112":"2019-12-01T00:59:21.738Z","2.3.0":"2019-12-01T01:00:19.663Z","2.4.0":"2019-12-09T06:58:17.000Z","2.4.0-next.1575874763.29e2f1cfb67cab77f8996d161aaf4dae09582235":"2019-12-09T06:59:24.897Z","2.4.0-next.1584137890.ca904251446c3e3f05c7a2d835d69a5941f02c51":"2020-03-13T22:18:11.523Z","3.0.0-next.1585172772.1089d315ff8a32d08cd4833c73dd846e8be239a3":"2020-03-25T21:46:13.407Z","3.0.0":"2020-03-25T21:46:28.632Z","3.1.0-next.1588592933.92f424eaf1bce6973596ad28d09638bda4ac29e7":"2020-05-04T11:48:54.351Z","3.1.0":"2020-05-04T11:49:58.590Z","3.2.0-next.1589199455.ee6e7c2a56833b930befb8cbc81094e20866c17d":"2020-05-11T12:17:36.939Z","3.2.0":"2020-05-11T12:18:40.105Z","3.3.0":"2020-05-12T01:35:42.876Z","3.3.0-next.1589247374.65de399d1e2b0c0707af85d05aecbaeb39e6c83a":"2020-05-12T01:36:15.771Z","3.4.0-next.1590030876.e6a4aea83d8f670d21ad91d708411d1f5a1d2525":"2020-05-21T03:14:37.583Z","3.4.0":"2020-05-21T03:15:43.213Z","3.5.0-next.1590068614.c27a9ad0d872bc8f3d2ca60d74872e6e5513ccc0":"2020-05-21T13:43:36.546Z","3.5.0":"2020-05-21T13:44:39.020Z","3.6.0-next.1591772251.e42acaef4e13c56114b13a137f7a8ef33e6c61d7":"2020-06-10T06:57:32.216Z","3.6.0":"2020-06-10T06:58:47.276Z","3.7.0-next.1591790163.ef830fbad08c99f9ed075a0abc8b35b6b47c6a39":"2020-06-10T11:56:04.489Z","3.7.0":"2020-06-10T11:56:59.804Z","3.8.0-next.1592598853.e1025ff435284aec144013cdd15ba09d8025da2c":"2020-06-19T20:34:14.745Z","3.8.0":"2020-06-19T20:35:15.776Z","3.9.0-next.1592603563.06dc17cd1c2d336d8d0c8bc2e4cac1824e85112d":"2020-06-19T21:52:45.036Z","3.9.0":"2020-06-19T21:53:47.948Z","3.10.0-next.1592685929.91f6dcbfb00f0a97a7a5c4b81d625a4922d11408":"2020-06-20T20:45:31.425Z","3.10.0":"2020-06-20T20:46:29.648Z","3.11.0-next.1592734651.9e02e9b1b0bc0ff35e42ff2b60a5e30557729e20":"2020-06-21T10:17:33.070Z","3.11.0":"2020-06-21T10:18:26.175Z","3.12.0-next.1593046224.f2164ad097543a29ac0b0859b7b82c1e391e6203":"2020-06-25T00:50:26.240Z","3.12.0":"2020-06-25T00:50:50.875Z","3.13.0-next.1593153521.9e0086ae5a1ce155ab5f03b6399aa171a7d4feb1":"2020-06-26T06:38:43.273Z","3.13.0":"2020-06-26T06:43:53.298Z","3.14.0-next.1593741601.4a69f1ccb9299b53be992a28242557255822f810":"2020-07-03T02:00:03.688Z","3.14.0":"2020-07-03T02:01:00.928Z","3.14.0-next.1593742653.913bfbdaf58e657c579c4ace363b101c59da165b":"2020-07-03T02:17:35.022Z","3.15.0-next.1593750236.fdfe058e87afa077fdc763a98051ce7366c0ce14":"2020-07-03T04:23:58.441Z","3.15.0":"2020-07-03T04:24:59.306Z","3.16.0-next.1595341255.4de78b13455fb4a392ee44d7198ad8986d75eed2":"2020-07-21T14:20:59.365Z","3.16.0":"2020-07-21T14:21:59.776Z","3.17.0-next.1595349476.a9785426109a93b4ee420304883c7e15bf123183":"2020-07-21T16:37:57.984Z","3.17.0":"2020-07-21T16:39:06.139Z","3.18.0-next.1596507018.fa6510ee01f07985b2cb3392d59d849225b7cd53":"2020-08-04T02:10:19.784Z","3.18.0":"2020-08-04T02:11:27.347Z","3.19.0-next.1597667906.b0ef432817014cf3ee6cbbc05923ea23f9175781":"2020-08-17T12:38:27.657Z","3.19.0":"2020-08-17T12:39:36.784Z","3.20.0-next.1599204616.232033853b2ea820d3e213206448d8f76f8d20ea":"2020-09-04T07:30:17.626Z","3.20.0-next.1599204692.948165be174f90aef4b026069b19cfe0aafe61df":"2020-09-04T07:31:33.947Z","3.20.0":"2020-09-04T07:33:32.124Z","3.20.0-next.1599398202.cb65e2f0a420808023a87360d895ee1fa65b8e59":"2020-09-06T13:16:43.670Z","3.20.0-next.1599994821.20ceda402c849635fe751d0ee6b4e2feabcde9f3":"2020-09-13T11:00:23.282Z","3.20.0-next.1600602259.4bc1996a563c9f77abd9524e504ab6d04b621bde":"2020-09-20T11:44:21.054Z","3.20.0-next.1601211160.38538c6721067f37d0a96f9d7240867d193a8102":"2020-09-27T12:52:42.066Z","3.20.0-next.1601215694.c37eda15895d939d74923fdba09c30b80aa1ac0d":"2020-09-27T14:08:16.049Z","3.20.0-next.1602409706.1ceef50bc56968595b63e6d468809500b9f0ca88":"2020-10-11T09:48:28.225Z","3.20.0-next.1603017935.e734818dca0cbfb892efc5dbd9d0397aff7e273e":"2020-10-18T10:45:37.066Z","3.20.0-next.1603626268.621341e58f3bfa2da220a8b884a7bf42a2362b9d":"2020-10-25T11:44:29.583Z","3.20.0-next.1603631168.88c431993350515206163f32380b47eacd08e29b":"2020-10-25T13:06:10.246Z","3.21.0-next.1603919847.a0f6cd1e352dfaf4c27a775acb8628aefc833e7e":"2020-10-28T21:17:29.291Z","3.21.0":"2020-10-28T21:20:54.286Z"},"homepage":"https://github.com/bevry/argsbytype","keywords":["args","arguments","browser","esnext","node","utility"],"repository":{"type":"git","url":"git+https://github.com/bevry/argsbytype.git"},"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"author":{"name":"2014+ Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"bugs":{"url":"https://github.com/bevry/argsbytype/issues"},"license":"MIT","readmeFilename":"README.md"}