isset-helper
v3.1.0
Published
A tiny helper method, checking a variable for existence
Downloads
4
Readme
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-helper
Then 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/[email protected]/dist/isset.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/mcstreetguy/[email protected]/dist/isset.min.js"></script>
<script src="https://bundle.run/[email protected]/dist/isset.min.js"></script>
<script src="https://unpkg.com/[email protected]/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:
variable
is notnull
variable
is notundefined
- If
type
is a string,typeof variable
has to matchtype
, otherwisevariable
has to matchinstanceof type
- If
type
is"string"
, the length ofvariable
is greater than zero - If
type
is"array"
,variable
has to pass theArray.isArray()
check - If
type
is"integer"
,variable
has to pass theNumber.isInteger()
check - If
type
is"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
,0
and 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.