css_feature_data/
browser_support.rs

1use crate::{BrowserVersion, NamedBrowserVersion};
2
3#[derive(Debug, Copy, Clone, PartialEq)]
4pub struct BrowserSupport {
5	pub chrome: BrowserVersion,
6	pub chrome_android: BrowserVersion,
7	pub edge: BrowserVersion,
8	pub firefox: BrowserVersion,
9	pub firefox_android: BrowserVersion,
10	pub safari: BrowserVersion,
11	pub safari_ios: BrowserVersion,
12}
13
14impl BrowserSupport {
15	pub fn supports(&self, version: NamedBrowserVersion) -> bool {
16		match version {
17			NamedBrowserVersion::Chrome(ver) => ver >= self.chrome,
18			NamedBrowserVersion::ChromeAndroid(ver) => ver >= self.chrome_android,
19			NamedBrowserVersion::Edge(ver) => ver >= self.edge,
20			NamedBrowserVersion::Firefox(ver) => ver >= self.firefox,
21			NamedBrowserVersion::FirefoxAndroid(ver) => ver >= self.firefox_android,
22			NamedBrowserVersion::Safari(ver) => ver >= self.safari,
23			NamedBrowserVersion::SafariIos(ver) => ver >= self.safari_ios,
24			_ => {
25				dbg!(version);
26				false
27			}
28		}
29	}
30}