Path: blob/main/crates/polars-plan/src/dsl/function_expr/business.rs
6940 views
use std::fmt;12use polars_ops::prelude::Roll;3#[cfg(feature = "serde")]4use serde::{Deserialize, Serialize};56#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]7#[cfg_attr(feature = "dsl-schema", derive(schemars::JsonSchema))]8#[derive(Clone, PartialEq, Debug, Eq, Hash)]9pub enum BusinessFunction {10BusinessDayCount {11week_mask: [bool; 7],12holidays: Vec<i32>,13},14AddBusinessDay {15week_mask: [bool; 7],16holidays: Vec<i32>,17roll: Roll,18},19IsBusinessDay {20week_mask: [bool; 7],21holidays: Vec<i32>,22},23}2425impl fmt::Display for BusinessFunction {26fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {27use BusinessFunction::*;28let s = match self {29BusinessDayCount { .. } => "business_day_count",30AddBusinessDay { .. } => "add_business_days",31IsBusinessDay { .. } => "is_business_day",32};33write!(f, "{s}")34}35}363738