Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

skava / exotic   js

Repository URL to install this package:

Version: 2.0.8 

/ src / types / primitive / nil / isUndefinedLike.ts

import isUndefined from './isUndefined'

// circular
// isString

/**
 * @desc Checks if `value` is `undefined`
 *       OR `"undefined"`
 *       OR `'"undefined"'` (which happens say when you save localStorage or cookie for undefined)
 *
 * @since 5.0.0-beta.4
 * @memberOf is
 *
 * @param  {*} x value
 * @return {boolean} x isUndefinedLike
 *
 * @func
 * @extends isUndefined
 * @name isUndefinedLike
 * @category Lang
 *
 * @see is/nullOrUndefined
 *
 * @example
 *
 *  isUndefined(void 0)        //=> true
 *  isUndefined(undefined)     //=> true
 *  isUndefined('undefined')   //=> true
 *  isUndefined('"undefined"') //=> true
 *  isUndefined(NaN)           //=> false
 *  isUndefined({})            //=> false
 *
 */
const isUndefinedLike = (
  x: any
): x is undefined | 'undefined' | '"undefined"' | `'undefined'` =>
  isUndefined(x) ||
  x === 'undefined' ||
  (typeof x === 'string' && /undefined/.test(x))

export { isUndefinedLike }
export default isUndefinedLike