MCPcopy Create free account
hub / github.com/csskit/csskit / supports_browserslist

Method supports_browserslist

crates/css_feature_data/src/css_feature.rs:101–124  ·  view source on GitHub ↗
(
		&self,
		browserslist_query: &[&str],
		opts: &Opts,
	)

Source from the content-addressed store, hash-verified

99 /// Check if a CSS property is supported across browsers specified by a browserslist query
100 #[cfg(feature = "browserslist")]
101 pub fn supports_browserslist(
102 &self,
103 browserslist_query: &[&str],
104 opts: &Opts,
105 ) -> Result<CompatibilityResult, Error> {
106 let browsers = resolve(browserslist_query, opts)?;
107 let mut supported_browsers = Vec::new();
108 let mut unsupported_browsers = Vec::new();
109
110 for browser in browsers {
111 let str = format!("{} {}", browser.name(), browser.version());
112 let named_browser = NamedBrowserVersion::try_from(browser);
113 if named_browser.is_ok_and(|ver| self.browser_support.supports(ver)) {
114 supported_browsers.push(str);
115 } else {
116 unsupported_browsers.push(str);
117 }
118 }
119 Ok(CompatibilityResult {
120 is_supported: unsupported_browsers.is_empty(),
121 unsupported_browsers,
122 supported_browsers,
123 })
124 }
125
126 pub fn supports(&self, browser: NamedBrowserVersion) -> bool {
127 self.browser_support.supports(browser)

Calls 2

supportsMethod · 0.45
is_emptyMethod · 0.45