RelativeTimeFormat.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. * Copyright (c) 2022, Tim Flynn <trflynn89@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <LibUnicode/RelativeTimeFormat.h>
  7. namespace Unicode {
  8. Optional<TimeUnit> time_unit_from_string(StringView time_unit)
  9. {
  10. if (time_unit == "second"sv)
  11. return TimeUnit::Second;
  12. if (time_unit == "minute"sv)
  13. return TimeUnit::Minute;
  14. if (time_unit == "hour"sv)
  15. return TimeUnit::Hour;
  16. if (time_unit == "day"sv)
  17. return TimeUnit::Day;
  18. if (time_unit == "week"sv)
  19. return TimeUnit::Week;
  20. if (time_unit == "month"sv)
  21. return TimeUnit::Month;
  22. if (time_unit == "quarter"sv)
  23. return TimeUnit::Quarter;
  24. if (time_unit == "year"sv)
  25. return TimeUnit::Year;
  26. return {};
  27. }
  28. StringView time_unit_to_string(TimeUnit time_unit)
  29. {
  30. switch (time_unit) {
  31. case TimeUnit::Second:
  32. return "second"sv;
  33. case TimeUnit::Minute:
  34. return "minute"sv;
  35. case TimeUnit::Hour:
  36. return "hour"sv;
  37. case TimeUnit::Day:
  38. return "day"sv;
  39. case TimeUnit::Week:
  40. return "week"sv;
  41. case TimeUnit::Month:
  42. return "month"sv;
  43. case TimeUnit::Quarter:
  44. return "quarter"sv;
  45. case TimeUnit::Year:
  46. return "year"sv;
  47. default:
  48. VERIFY_NOT_REACHED();
  49. }
  50. }
  51. Vector<RelativeTimeFormat> __attribute__((weak)) get_relative_time_format_patterns(StringView, TimeUnit, StringView, Style) { return {}; }
  52. }