isset-helper v3.1.0
IsSet Helper
Get rid of weak typing and improve your assertions: A tiny helper method for Javascript
Since checking variable types and existence always has been painful in Javascript, validation assertions normally are exhausting to write. This module solves this definitely.
Browser Compatibility
| IE | Edge | Firefox | Chrome | Safari | Opera | Node.js |
|---|---|---|---|---|---|---|
| 9+ | 12+ | 4+ | 5+ | 5+ | 11.5+ | all |
Installation
as a module
Install the library through your preferred package manager:
$ npm install --save isset-helper
# or
$ yarn add isset-helperThen you can require the module as usual:
const isset = require('isset-helper');in the browser
Include one of the following script tags in your pages head:
<script src="https://cdn.jsdelivr.net/npm/isset-helper@3.1/dist/isset.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/mcstreetguy/isset-helper@3.1/dist/isset.min.js"></script>
<script src="https://bundle.run/isset-helper@3.1/dist/isset.min.js"></script>
<script src="https://unpkg.com/isset-helper@3.1/dist/isset.min.js"></script>The library registers the isset function automatically on the window object.
Usage
isset(variable, type);variable can be anything, it's value is going to be checked.
type can be a string, object constructor or even be omitted.
The algorithm follows the subsequent rules:
variableis notnullvariableis notundefined- If
typeis a string,typeof variablehas to matchtype, otherwisevariablehas to matchinstanceof type - If
typeis"string", the length ofvariableis greater than zero - If
typeis"array",variablehas to pass theArray.isArray()check - If
typeis"integer",variablehas to pass theNumber.isInteger()check - If
typeis"float"or"double", the inverse of rule 6 applies (Number.isInteger()has to returnfalse)
Please notice:
- The algorithm doesn't check for the exact value (apart from the empty string case mentioned above), thus
false,0and other "falsy" values will also be considered valid.
Contributing
If, contrary to expectations, you find an error in the function, please report it to the Issues page. Feel free to make changes to a fork yourself and propose a detailed pull request when finished.
License
This library is licensed under the MIT License. You may find a copy of the license at the root of the project source.