is.ts 595 B

12345678910111213141516171819202122232425
  1. const { toString } = Object.prototype
  2. export function is(val: unknown, type: string) {
  3. return toString.call(val) === `[object ${type}]`
  4. }
  5. export function isDef<T = unknown>(val?: T): val is T {
  6. return typeof val !== 'undefined'
  7. }
  8. export function isUnDef<T = unknown>(val?: T): val is T {
  9. return !isDef(val)
  10. }
  11. export function isNull(val: unknown): val is null {
  12. return val === null
  13. }
  14. export function isNullOrUnDef(val: unknown): val is null | undefined {
  15. return isUnDef(val) || isNull(val)
  16. }
  17. export function isBoolean(val: unknown): val is boolean {
  18. return is(val, 'Boolean')
  19. }