evolution_common/
lib.rs

1//
2// MIT License
3//
4// Copyright (c) 2024 Firelink Data
5//
6// Permission is hereby granted, free of charge, to any person obtaining a copy
7// of this software and associated documentation files (the "Software"), to deal
8// in the Software without restriction, including without limitation the rights
9// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10// copies of the Software, and to permit persons to whom the Software is
11// furnished to do so, subject to the following conditions:
12//
13// The above copyright notice and this permission notice shall be included in all
14// copies or substantial portions of the Software.
15//
16// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22// SOFTWARE.
23//
24// File created: 2024-05-24
25// Last updated: 2024-05-27
26//
27
28/// Get the number of bytes representing a newline character on a Windows system.
29#[cfg(target_os = "windows")]
30pub static NUM_BYTES_FOR_NEWLINE: usize = 2;
31/// Get the number of bytes representing a newline character on a Unix system.
32#[cfg(not(target_os = "windows"))]
33pub static NUM_BYTES_FOR_NEWLINE: usize = 1;
34
35/// Get the character representing a newline on a Windows system. This is called the
36/// Carriage-Return Line-Feed (CR-LF) and is represented as the `\r\n` characters.
37#[cfg(target_os = "windows")]
38pub fn newline<'a>() -> &'a str {
39    "\r\n"
40}
41/// Get the character representing a newline on a Unix system. This is called the line-feed (LF)
42/// and is represented as the `\n` character.
43#[cfg(not(target_os = "windows"))]
44pub fn newline<'a>() -> &'a str {
45    "\n"
46}
47
48pub mod datatype;
49pub mod error;
50pub mod thread;