import { toType, toRawType, toRawTypeLC, isUndefined, isNull, isUndefinedOrNull, isFunction, isBoolean, isString, isNumber, isNumeric, isPrimitive, isDate, isEvent, isRegExp, isPromise } from './inspect' describe('utils/inspect', () => { it('toType()', async () => { expect(toType(123)).toEqual('number') expect(toType('123')).toEqual('string') expect(toType(true)).toEqual('boolean') expect(toType({})).toEqual('object') expect(toType([])).toEqual('object') expect(toType(/abc/)).toEqual('object') expect(toType(() => {})).toEqual('function') expect(toType(Date)).toEqual('function') expect(toType(new Date())).toEqual('object') expect(toType(undefined)).toEqual('undefined') expect(toType(null)).toEqual('object') }) it('toRawType()', async () => { expect(toRawType(123)).toEqual('Number') expect(toRawType('123')).toEqual('String') expect(toRawType(true)).toEqual('Boolean') expect(toRawType({})).toEqual('Object') expect(toRawType([])).toEqual('Array') expect(toRawType(/abc/)).toEqual('RegExp') expect(toRawType(() => {})).toEqual('Function') expect(toRawType(Date)).toEqual('Function') expect(toRawType(new Date())).toEqual('Date') expect(toRawType(undefined)).toEqual('Undefined') expect(toRawType(null)).toEqual('Null') }) it('toRawTypeLC()', async () => { expect(toRawTypeLC(123)).toEqual('number') expect(toRawTypeLC('123')).toEqual('string') expect(toRawTypeLC(true)).toEqual('boolean') expect(toRawTypeLC({})).toEqual('object') expect(toRawTypeLC([])).toEqual('array') expect(toRawTypeLC(/abc/)).toEqual('regexp') expect(toRawTypeLC(() => {})).toEqual('function') expect(toRawTypeLC(Date)).toEqual('function') expect(toRawTypeLC(new Date())).toEqual('date') expect(toRawTypeLC(undefined)).toEqual('undefined') expect(toRawTypeLC(null)).toEqual('null') }) it('isUndefined()', async () => { expect(isUndefined(123)).toEqual(false) expect(isUndefined('123')).toEqual(false) expect(isUndefined(true)).toEqual(false) expect(isUndefined({})).toEqual(false) expect(isUndefined([])).toEqual(false) expect(isUndefined(/abc/)).toEqual(false) expect(isUndefined(() => {})).toEqual(false) expect(isUndefined(Date)).toEqual(false) expect(isUndefined(new Date())).toEqual(false) expect(isUndefined(undefined)).toEqual(true) expect(isUndefined(null)).toEqual(false) }) it('isNull()', async () => { expect(isNull(123)).toEqual(false) expect(isNull('123')).toEqual(false) expect(isNull(true)).toEqual(false) expect(isNull({})).toEqual(false) expect(isNull([])).toEqual(false) expect(isNull(/abc/)).toEqual(false) expect(isNull(() => {})).toEqual(false) expect(isNull(Date)).toEqual(false) expect(isNull(new Date())).toEqual(false) expect(isNull(undefined)).toEqual(false) expect(isNull(null)).toEqual(true) }) it('isUndefinedOrNull()', async () => { expect(isUndefinedOrNull(123)).toEqual(false) expect(isUndefinedOrNull('123')).toEqual(false) expect(isUndefinedOrNull(true)).toEqual(false) expect(isUndefinedOrNull({})).toEqual(false) expect(isUndefinedOrNull([])).toEqual(false) expect(isUndefinedOrNull(/abc/)).toEqual(false) expect(isUndefinedOrNull(() => {})).toEqual(false) expect(isUndefinedOrNull(Date)).toEqual(false) expect(isUndefinedOrNull(new Date())).toEqual(false) expect(isUndefinedOrNull(undefined)).toEqual(true) expect(isUndefinedOrNull(null)).toEqual(true) }) it('isFunction()', async () => { expect(isFunction(123)).toEqual(false) expect(isFunction('123')).toEqual(false) expect(isFunction(true)).toEqual(false) expect(isFunction({})).toEqual(false) expect(isFunction([])).toEqual(false) expect(isFunction(/abc/)).toEqual(false) expect(isFunction(() => {})).toEqual(true) expect(isFunction(Date)).toEqual(true) expect(isFunction(new Date())).toEqual(false) expect(isFunction(undefined)).toEqual(false) expect(isFunction(null)).toEqual(false) }) it('isBoolean()', async () => { expect(isBoolean(123)).toEqual(false) expect(isBoolean('123')).toEqual(false) expect(isBoolean(true)).toEqual(true) expect(isBoolean({})).toEqual(false) expect(isBoolean([])).toEqual(false) expect(isBoolean(/abc/)).toEqual(false) expect(isBoolean(() => {})).toEqual(false) expect(isBoolean(Date)).toEqual(false) expect(isBoolean(new Date())).toEqual(false) expect(isBoolean(undefined)).toEqual(false) expect(isBoolean(null)).toEqual(false) }) it('isString()', async () => { expect(isString(123)).toEqual(false) expect(isString('123')).toEqual(true) expect(isString(true)).toEqual(false) expect(isString({})).toEqual(false) expect(isString([])).toEqual(false) expect(isString(/abc/)).toEqual(false) expect(isString(() => {})).toEqual(false) expect(isString(Date)).toEqual(false) expect(isString(new Date())).toEqual(false) expect(isString(undefined)).toEqual(false) expect(isString(null)).toEqual(false) }) it('isNumber()', async () => { expect(isNumber(123)).toEqual(true) expect(isNumber(123.5)).toEqual(true) expect(isNumber('123')).toEqual(false) expect(isNumber(true)).toEqual(false) expect(isNumber({})).toEqual(false) expect(isNumber([])).toEqual(false) expect(isNumber(/abc/)).toEqual(false) expect(isNumber(() => {})).toEqual(false) expect(isNumber(Date)).toEqual(false) expect(isNumber(new Date())).toEqual(false) expect(isNumber(undefined)).toEqual(false) expect(isNumber(null)).toEqual(false) }) it('isNumeric()', async () => { expect(isNumeric(123)).toEqual(true) expect(isNumeric(123.5)).toEqual(true) expect(isNumeric('123')).toEqual(true) expect(isNumeric('123.5')).toEqual(true) expect(isNumeric('123,5')).toEqual(false) expect(isNumeric(true)).toEqual(false) expect(isNumeric({})).toEqual(false) expect(isNumeric([])).toEqual(false) expect(isNumeric(/abc/)).toEqual(false) expect(isNumeric(() => {})).toEqual(false) expect(isNumeric(Date)).toEqual(false) expect(isNumeric(new Date())).toEqual(false) expect(isNumeric(undefined)).toEqual(false) expect(isNumeric(null)).toEqual(false) }) it('isPrimitive()', async () => { expect(isPrimitive(123)).toEqual(true) expect(isPrimitive('123')).toEqual(true) expect(isPrimitive(true)).toEqual(true) expect(isPrimitive({})).toEqual(false) expect(isPrimitive([])).toEqual(false) expect(isPrimitive(/abc/)).toEqual(false) expect(isPrimitive(() => {})).toEqual(false) expect(isPrimitive(Date)).toEqual(false) expect(isPrimitive(new Date())).toEqual(false) expect(isPrimitive(undefined)).toEqual(false) expect(isPrimitive(null)).toEqual(false) }) it('isDate()', async () => { expect(isDate(123)).toEqual(false) expect(isDate('123')).toEqual(false) expect(isDate(true)).toEqual(false) expect(isDate({})).toEqual(false) expect(isDate([])).toEqual(false) expect(isDate(/abc/)).toEqual(false) expect(isDate(() => {})).toEqual(false) expect(isDate(Date)).toEqual(false) expect(isDate(new Date())).toEqual(true) expect(isDate(undefined)).toEqual(false) expect(isDate(null)).toEqual(false) }) it('isEvent()', async () => { expect(isEvent(123)).toEqual(false) expect(isEvent('123')).toEqual(false) expect(isEvent(true)).toEqual(false) expect(isEvent({})).toEqual(false) expect(isEvent([])).toEqual(false) expect(isEvent(/abc/)).toEqual(false) expect(isEvent(() => {})).toEqual(false) expect(isEvent(Date)).toEqual(false) expect(isEvent(new Date())).toEqual(false) expect(isEvent(Event)).toEqual(false) expect(isEvent(new Event('click'))).toEqual(true) expect(isEvent(undefined)).toEqual(false) expect(isEvent(null)).toEqual(false) }) it('isRegExp()', async () => { expect(isRegExp(123)).toEqual(false) expect(isRegExp('123')).toEqual(false) expect(isRegExp(true)).toEqual(false) expect(isRegExp({})).toEqual(false) expect(isRegExp([])).toEqual(false) expect(isRegExp(/abc/)).toEqual(true) expect(isRegExp(() => {})).toEqual(false) expect(isRegExp(Date)).toEqual(false) expect(isRegExp(new Date())).toEqual(false) expect(isRegExp(undefined)).toEqual(false) expect(isRegExp(null)).toEqual(false) }) it('isPromise()', async () => { expect(isPromise(123)).toEqual(false) expect(isPromise('123')).toEqual(false) expect(isPromise(true)).toEqual(false) expect(isPromise({})).toEqual(false) expect(isPromise([])).toEqual(false) expect(isPromise(/abc/)).toEqual(false) expect(isPromise(() => {})).toEqual(false) expect(isPromise(Date)).toEqual(false) expect(isPromise(new Date())).toEqual(false) expect(isPromise(undefined)).toEqual(false) expect(isPromise(null)).toEqual(false) expect(isPromise({ then() {}, catch() {} })).toEqual(true) }) })