typescript_tools/types/
package_name.rs1use std::fmt::Display;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize)]
7pub struct PackageName(String);
8
9impl PackageName {
10 pub fn as_str(&self) -> &str {
11 &self.0
12 }
13}
14
15impl Display for PackageName {
16 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17 write!(f, "{}", self.0)
18 }
19}
20
21impl From<&str> for PackageName {
22 fn from(value: &str) -> Self {
23 Self(value.to_owned())
24 }
25}
26
27impl From<&String> for PackageName {
28 fn from(value: &String) -> Self {
29 Self(value.to_owned())
30 }
31}
32
33impl From<String> for PackageName {
34 fn from(value: String) -> Self {
35 Self(value)
36 }
37}