css_feature_data/
browser_support.rs1use 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}