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