uyu423/r2curl

View on GitHub
src/lib/isEmpty.ts

Summary

Maintainability
A
2 hrs
Test Coverage
export function isEmpty<T>(value: T | null | undefined): value is null | undefined {
  if (
    value === undefined ||
    value === null ||
    ((typeof value === 'number' && isNaN(value)) ||
      (typeof value === 'string' && value === '') ||
      (Array.isArray(value) && value.length < 1) ||
      (typeof value === 'object' && Object.keys(value).length < 1))
  ) {
    return true;
  }
  return false;
}

export function isNotEmpty<T>(value: T | null | undefined): value is T {
  return !isEmpty<T>(value);
}