helpers.js 879 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. export function isEmpty(value) {
  2. if (value == null) {
  3. return true;
  4. }
  5. if (typeof value === "string" || Array.isArray(value)) {
  6. return value.length === 0;
  7. }
  8. if (typeof value === "object") {
  9. return Object.keys(value).length === 0;
  10. }
  11. return false;
  12. }
  13. export function defaultTo(value, ...defaultValues) {
  14. if (defaultValues.length === 0) {
  15. return value;
  16. }
  17. // eslint-disable-next-line no-self-compare
  18. if (value == null || value !== value) {
  19. return defaultTo(defaultValues[0], ...defaultValues.slice(1));
  20. }
  21. return value;
  22. }
  23. export function sleep(timeout) {
  24. return new Promise((resolve) => {
  25. setTimeout(resolve, timeout);
  26. });
  27. }
  28. export function upperFirst(value) {
  29. return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;
  30. }
  31. export function lowerFirst(value) {
  32. return `${value.charAt(0).toLowerCase()}${value.slice(1)}`;
  33. }