Skip to main content

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}