lexa_framework/application/
env.rs

1// ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2// ┃ Copyright: (c) 2023, Mike 'PhiSyX' S. (https://github.com/PhiSyX)         ┃
3// ┃ SPDX-License-Identifier: MPL-2.0                                          ┃
4// ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
5// ┃                                                                           ┃
6// ┃  This Source Code Form is subject to the terms of the Mozilla Public      ┃
7// ┃  License, v. 2.0. If a copy of the MPL was not distributed with this      ┃
8// ┃  file, You can obtain one at https://mozilla.org/MPL/2.0/.                ┃
9// ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
10
11// ----------- //
12// Énumération //
13// ----------- //
14
15/// Les modes dans lesquels le programme peut s'exécuter.
16///
17/// Les modes sont utilisés pour:
18///
19///   1. choisir le fichier d'environnement à utiliser ;
20///   2. le système de log ;
21///   3. des informations renvoyées aux clients concernant des
22///      messages/comportement du programme spécifique à certains modes ;
23///   4. ...
24///
25/// La valeur est définie grâce à la variable d'environnement `PROCESS_ENV`. La
26/// valeur par défaut de cette énumération est
27/// [LOCAL](EnvProcessMode::LOCAL).
28#[derive(Debug)]
29#[derive(Default)]
30#[derive(Copy, Clone)]
31#[derive(PartialEq, Eq)]
32#[allow(clippy::upper_case_acronyms)]
33pub enum EnvProcessMode {
34	#[default]
35	LOCAL,
36	DEVELOPMENT,
37	PRODUCTION,
38	TEST,
39}