Have ideas to improve npm?Join in the discussion! »

    nullsy

    1.1.2 • Public • Published

    nullsy

    Overview

    This package includes every tool you need for testing against null or undefined variable.

    Usage

    Quick Examples

    Let's say you have just recieved and parsed server response. You expect the response's structure to be something like this:

    const response = {
        go: {
            deep: {
                into: {
                    path: 'to success'
                }
            },
            into: {
                not: 'here'
            }
        },
        path: 'not even here'
    };

    and want to know the value of response.go.deep.into.path.

    Of course you can do

    if (response && response.go && response.go.deep && response.go.deep.into && response.go.deep.into.path) {
        // ...do amazing stuff
    }

    but I found out that this approach is rather long.

    Using isValidChain in this package, you can simply do

    if (isValidChain(response, 'go.deep.into.path')) {
        // ...do even more amazier stuff
    }

    There are also basic null and/or undefined checkers available just in case you are too awesome to write &&.

    isNull(null); // true
    isNull(undefined); // false
    
    isUndefined(null); // false
    isUndefined(undefined); // true
    
    isNullsy(null); // true
    isNullsy(undefined); // true
    
    isValid(someValue) === !isNullsy(someValue); // true
    
    // ...etc

    Notable Exceptions

    Consider the following object.

    const exceptions = {
        path: {
            to: {
                validFalse: false,
                validNull: null,
                validUndefined: undefined
            }
        }
    }

    Because the actual intended values for exceptions.path.to.validFalse and exceptions.path.to.validNull are indeed false and null, isValidChain call to these value will return true.

    However, in the case of exceptions.path.to.validUndefined, the code's intended value is undefined but isValidChain will return false, for it is almost* indistinguishable from not assgining any value to at all and writing that way is often highly discouraged. If you need a value to be left undetermined, use null instead.

    * If you really want to assign a value undefined and check if it exists, use Object.keys, Object.getOwnPropertyNames, or Object.getOwnPrpertySymbols, depending on how you assigned it, to find if the key exists.

    PoC

    Install

    npm i nullsy

    DownloadsWeekly Downloads

    1

    Version

    1.1.2

    License

    ISC

    Unpacked Size

    14.1 kB

    Total Files

    7

    Last publish

    Collaborators

    • avatar