uqa_sql/semantics/parameters/intervalstyle.rs
1//
2// Unified Query Algebra
3//
4// Copyright (c) 2023-2026 Cognica, Inc.
5//
6
7//! Translate a validated `IntervalStyle` setting to Core's input/output convention.
8
9use uqa_core::TemporalIntervalStyle;
10
11#[must_use]
12pub fn style(setting: &str) -> Option<TemporalIntervalStyle> {
13 [
14 ("postgres", TemporalIntervalStyle::Postgres),
15 ("postgres_verbose", TemporalIntervalStyle::PostgresVerbose),
16 ("sql_standard", TemporalIntervalStyle::SqlStandard),
17 ("iso_8601", TemporalIntervalStyle::Iso8601),
18 ]
19 .into_iter()
20 .find_map(|(name, style)| setting.eq_ignore_ascii_case(name).then_some(style))
21}