Arguments By Type
Provide some arguments, get back a hash object of the arguments indexed by their type. Very useful for agnostic argument orders.
Usage
Let's say your coding a function, and you want to accept arguments in any order. Traditionally this would look like:
https://github.com/bevry/argsbytype/blob/master/example/01.js
But what happens when you:
- Start having arguments that are regular expressions or dates which
typeofis stillobjectinstead ofregexpordate - 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
nameproperty, the second string should be thekeywordproperty)
At that point in time, it becomes too much trouble to bother with. Fortunately, argsbytype is to the rescue! Now you can do:
https://github.com/bevry/argsbytype/blob/master/example/02.js
Yay! 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:
https://github.com/bevry/argsbytype/blob/master/example/03.js
Install
- Install:
npm install --save argsbytype - Import:
import * as pkg from ('argsbytype') - Require:
const pkg = require('argsbytype')
<script type="module">
import * as pkg from '//dev.jspm.io/argsbytype@3.21.0'
</script>
Editions
This package is published with the following editions:
argsbytypealiasesargsbytype/source/index.jsargsbytype/source/index.jsis ESNext source code for Node.js 10 || 12 || 14 || 15 with Require for modulesargsbytype/edition-browsers/index.jsis ESNext compiled for web browsers with Require for modules
History
Discover the release history by heading on over to the HISTORY.md file.
Contribute
Discover how you can contribute by heading on over to the CONTRIBUTING.md file.
Backers
Maintainers
These amazing people are maintaining this project:
Sponsors
No sponsors yet! Will you be the first?
Contributors
These amazing people have contributed code to this project:
Discover how you can contribute by heading on over to the CONTRIBUTING.md file.
License
Unless stated otherwise all works are:
- Copyright 2014+ Bevry Pty Ltd
and licensed under: