actix_settings/settings/
mode.rs

1use serde::Deserialize;
2
3use crate::{AsResult, Parse};
4
5/// Marker of intended deployment environment.
6#[derive(Debug, Clone, PartialEq, Eq, Hash, Deserialize)]
7#[serde(rename_all = "lowercase")]
8pub enum Mode {
9    /// Marks development environment.
10    Development,
11
12    /// Marks production environment.
13    Production,
14}
15
16impl Parse for Mode {
17    fn parse(string: &str) -> AsResult<Self> {
18        match string {
19            "development" => Ok(Self::Development),
20            "production" => Ok(Self::Production),
21            _ => Err(InvalidValue! {
22                expected: "\"development\" | \"production\".",
23                got: string,
24            }),
25        }
26    }
27}