use std::ops::{Deref, DerefMut};
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
pub struct CssClasses(String);
impl CssClasses {
pub fn new() -> Self {
Self::default()
}
pub fn with_capacity(capacity: usize) -> Self {
Self(String::with_capacity(capacity))
}
pub fn into_inner(self) -> String {
self.0
}
}
impl From<String> for CssClasses {
fn from(s: String) -> Self {
Self(s)
}
}
impl Deref for CssClasses {
type Target = String;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl DerefMut for CssClasses {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.0
}
}
impl AsRef<str> for CssClasses {
fn as_ref(&self) -> &str {
<String as AsRef<str>>::as_ref(&self.0)
}
}