pub struct SeriesRule {
pub kind: Option<String>,
pub interval: Option<u32>,
pub anchor: Option<String>,
pub timezone: Option<String>,
pub expression: Option<String>,
pub unit: Option<String>,
pub extensions: BTreeMap<String, String>,
}Expand description
The rule half of series:, as the file spells it (data-model.md §2).
Typed for the fields the contract names and flat strings for everything
else, so a cadence key this build does not know round-trips verbatim in
extensions instead of being dropped on the next edit. The typed rule with its
validation and its arithmetic is
crate::recurrence::rule::RecurrenceRule, built from this by
crate::recurrence::series::Series::from_ref — the split exists so the issue
model stays Eq (the typed rule’s preserved extensions hold floats, which have
no Eq) while the file keeps every key it was given.
Fields§
§kind: Option<String>The family: daily, weekly, monthly, interval, cron-like.
interval: Option<u32>The cadence, where the family takes one.
anchor: Option<String>The schedule origin, a canonical YYYY-MM-DD date.
timezone: Option<String>The timezone policy, e.g. +02:00 or a named zone (refused by validation).
expression: Option<String>The cron-like expression, behind the reviewed parser gate.
unit: Option<String>The unit an interval rule counts in: days, weeks, months.
extensions: BTreeMap<String, String>Preserved unknown keys, exactly as they were written.
Trait Implementations§
Source§impl Clone for SeriesRule
impl Clone for SeriesRule
Source§impl Debug for SeriesRule
impl Debug for SeriesRule
Source§impl Default for SeriesRule
impl Default for SeriesRule
Source§impl<'de> Deserialize<'de> for SeriesRule
impl<'de> Deserialize<'de> for SeriesRule
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for SeriesRule
Source§impl PartialEq for SeriesRule
impl PartialEq for SeriesRule
Source§impl Serialize for SeriesRule
impl Serialize for SeriesRule
impl StructuralPartialEq for SeriesRule
Auto Trait Implementations§
impl Freeze for SeriesRule
impl RefUnwindSafe for SeriesRule
impl Send for SeriesRule
impl Sync for SeriesRule
impl Unpin for SeriesRule
impl UnsafeUnpin for SeriesRule
impl UnwindSafe for SeriesRule
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more