tinymist_std/concepts/
mod.rsmod takable;
use std::{borrow::Cow, path::Path, sync::Arc};
pub use takable::*;
pub mod cow_mut;
mod query;
pub use query::*;
mod read;
pub use read::*;
mod marker;
pub use marker::*;
#[cfg(feature = "typst")]
pub mod typst;
pub type ImmutStr = Arc<str>;
pub type ImmutBytes = Arc<[u8]>;
pub type ImmutPath = Arc<Path>;
pub type CowStr = Cow<'static, str>;
pub trait FromArc<T> {
fn from_arc(arc: Arc<T>) -> Self;
}
impl<S, T> FromArc<S> for T
where
Arc<S>: Into<T>,
{
fn from_arc(arc: Arc<S>) -> T {
arc.into()
}
}
pub trait ArcInto<T> {
fn arc_into(self: Arc<Self>) -> T;
}
impl<S, T> ArcInto<T> for S
where
Arc<S>: Into<T>,
{
fn arc_into(self: Arc<Self>) -> T {
self.into()
}
}