pub struct UploadAccept { /* private fields */ }Expand description
Normalized extension and MIME patterns accepted by an upload control.
Supported forms are .ext, an exact MIME type such as image/png, and a
top-level wildcard such as image/*. An empty pattern set accepts all files.
§Examples
use ailloli_ui_core::UploadAccept;
let accept = UploadAccept::new([".png", "image/*"]);
assert_eq!(accept.patterns(), [".png", "image/*"]);Implementations§
Source§impl UploadAccept
impl UploadAccept
Sourcepub fn new(patterns: impl IntoIterator<Item = impl Into<String>>) -> Self
pub fn new(patterns: impl IntoIterator<Item = impl Into<String>>) -> Self
Normalizes and stores the supplied patterns in input order.
Patterns are trimmed, converted to lowercase, and empty entries are discarded. Duplicates and unsupported forms are preserved but do not gain special matching behavior.
§Examples
use ailloli_ui_core::UploadAccept;
let accept = UploadAccept::new([" .PNG ", ""]);
assert_eq!(accept.patterns(), [".png"]);Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true when there are no effective restrictions.
§Examples
use ailloli_ui_core::UploadAccept;
assert!(UploadAccept::default().is_empty());Sourcepub fn patterns(&self) -> &[String]
pub fn patterns(&self) -> &[String]
Returns normalized patterns in their original relative order.
§Examples
use ailloli_ui_core::UploadAccept;
assert_eq!(UploadAccept::new([".PNG"]).patterns(), [".png"]);Sourcepub fn accepts(&self, file: &UploadFile) -> bool
pub fn accepts(&self, file: &UploadFile) -> bool
Returns whether at least one pattern matches file.
Extension patterns use UploadFile::name; MIME patterns require a
UploadFile::mime_hint. With no patterns this returns true.
§Examples
use ailloli_ui_core::{UploadAccept, UploadFile};
let images = UploadAccept::new([".png", "image/*"]);
assert!(images.accepts(&UploadFile::named("avatar.PNG")));
assert!(!images.accepts(&UploadFile::named("notes.txt")));Trait Implementations§
Source§impl Clone for UploadAccept
impl Clone for UploadAccept
Source§fn clone(&self) -> UploadAccept
fn clone(&self) -> UploadAccept
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for UploadAccept
impl Debug for UploadAccept
Source§impl Default for UploadAccept
impl Default for UploadAccept
Source§fn default() -> UploadAccept
fn default() -> UploadAccept
Returns the “default value” for a type. Read more
Source§impl PartialEq for UploadAccept
impl PartialEq for UploadAccept
impl Eq for UploadAccept
impl StructuralPartialEq for UploadAccept
Auto Trait Implementations§
impl Freeze for UploadAccept
impl RefUnwindSafe for UploadAccept
impl Send for UploadAccept
impl Sync for UploadAccept
impl Unpin for UploadAccept
impl UnwindSafe for UploadAccept
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more