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