From 05677a803da185d3633ef6790428d4ada8926007 Mon Sep 17 00:00:00 2001 From: yuankunzhang Date: Sun, 29 Jun 2025 15:24:53 +0000 Subject: [PATCH] refactor: put the epoch and timezone module into separate files --- src/items/epoch.rs | 10 ++++++++++ src/items/mod.rs | 26 +++----------------------- src/items/timezone.rs | 10 ++++++++++ 3 files changed, 23 insertions(+), 23 deletions(-) create mode 100644 src/items/epoch.rs create mode 100644 src/items/timezone.rs diff --git a/src/items/epoch.rs b/src/items/epoch.rs new file mode 100644 index 0000000..4936339 --- /dev/null +++ b/src/items/epoch.rs @@ -0,0 +1,10 @@ +// For the full copyright and license information, please view the LICENSE +// file that was distributed with this source code. + +use winnow::{combinator::preceded, ModalResult, Parser}; + +use super::primitive::{dec_int, s}; + +pub fn parse(input: &mut &str) -> ModalResult { + s(preceded("@", dec_int)).parse_next(input) +} diff --git a/src/items/mod.rs b/src/items/mod.rs index 2812c4a..b79910f 100644 --- a/src/items/mod.rs +++ b/src/items/mod.rs @@ -29,35 +29,15 @@ #![allow(deprecated)] mod combined; mod date; +mod epoch; mod ordinal; mod primitive; mod relative; mod time; +mod timezone; mod weekday; -mod epoch { - use winnow::{combinator::preceded, ModalResult, Parser}; - - use super::primitive::{dec_int, s}; - - pub fn parse(input: &mut &str) -> ModalResult { - s(preceded("@", dec_int)).parse_next(input) - } -} - -mod timezone { - use winnow::ModalResult; - - use super::time; - - pub(crate) fn parse(input: &mut &str) -> ModalResult { - time::timezone(input) - } -} - -use chrono::NaiveDate; -use chrono::{DateTime, Datelike, FixedOffset, TimeZone, Timelike}; - +use chrono::{DateTime, Datelike, FixedOffset, NaiveDate, TimeZone, Timelike}; use primitive::space; use winnow::{ combinator::{alt, trace}, diff --git a/src/items/timezone.rs b/src/items/timezone.rs new file mode 100644 index 0000000..695d863 --- /dev/null +++ b/src/items/timezone.rs @@ -0,0 +1,10 @@ +// For the full copyright and license information, please view the LICENSE +// file that was distributed with this source code. + +use winnow::ModalResult; + +use super::time; + +pub(crate) fn parse(input: &mut &str) -> ModalResult { + time::timezone(input) +}