Skip to content

Commit a0ee946

Browse files
committed
perf(linter): reduce code size in globals (#11333)
Related to #9998
1 parent 0ed6c1a commit a0ee946

File tree

1 file changed

+55
-52
lines changed

1 file changed

+55
-52
lines changed

crates/oxc_linter/src/globals.rs

Lines changed: 55 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -10,57 +10,57 @@ pub const RESERVED_HTML_TAG: [&str; 16] = [
1010
"picture", "script", "source", "style", "title", "track",
1111
];
1212

13-
const ARIA_ACTIVEDESCENDANT: &str = "aria-activedescendant";
14-
const ARIA_ATOMIC: &str = "aria-atomic";
15-
const ARIA_AUTOCOMPLETE: &str = "aria-autocomplete";
16-
const ARIA_BUSY: &str = "aria-busy";
17-
const ARIA_BRAILLELABEL: &str = "aria-braillelabel";
18-
const ARIA_BRAILLEROLEDESCRIPTION: &str = "aria-brailleroledescription";
19-
const ARIA_CHECKED: &str = "aria-checked";
20-
const ARIA_COLCOUNT: &str = "aria-colcount";
21-
const ARIA_COLINDEX: &str = "aria-colindex";
22-
const ARIA_COLSPAN: &str = "aria-colspan";
23-
const ARIA_CONTROLS: &str = "aria-controls";
24-
const ARIA_CURRENT: &str = "aria-current";
25-
const ARIA_DESCRIBEDBY: &str = "aria-describedby";
26-
const ARIA_DESCRIPTION: &str = "aria-description";
27-
const ARIA_DETAILS: &str = "aria-details";
28-
const ARIA_DISABLED: &str = "aria-disabled";
29-
const ARIA_DROPEFFECT: &str = "aria-dropeffect";
30-
const ARIA_ERRORMESSAGE: &str = "aria-errormessage";
31-
const ARIA_EXPANDED: &str = "aria-expanded";
32-
const ARIA_FLOWTO: &str = "aria-flowto";
33-
const ARIA_GRABBED: &str = "aria-grabbed";
34-
const ARIA_HASPOPUP: &str = "aria-haspopup";
35-
const ARIA_HIDDEN: &str = "aria-hidden";
36-
const ARIA_INVALID: &str = "aria-invalid";
37-
const ARIA_KEYSHORTCUTS: &str = "aria-keyshortcuts";
38-
const ARIA_LABEL: &str = "aria-label";
39-
const ARIA_LABELLEDBY: &str = "aria-labelledby";
40-
const ARIA_LEVEL: &str = "aria-level";
41-
const ARIA_LIVE: &str = "aria-live";
42-
const ARIA_MODAL: &str = "aria-modal";
43-
const ARIA_MULTILINE: &str = "aria-multiline";
44-
const ARIA_MULTISELECTABLE: &str = "aria-multiselectable";
45-
const ARIA_ORIENTATION: &str = "aria-orientation";
46-
const ARIA_OWNS: &str = "aria-owns";
47-
const ARIA_PLACEHOLDER: &str = "aria-placeholder";
48-
const ARIA_POSINSET: &str = "aria-posinset";
49-
const ARIA_PRESSED: &str = "aria-pressed";
50-
const ARIA_READONLY: &str = "aria-readonly";
51-
const ARIA_RELEVANT: &str = "aria-relevant";
52-
const ARIA_REQUIRED: &str = "aria-required";
53-
const ARIA_ROLEDESCRIPTION: &str = "aria-roledescription";
54-
const ARIA_ROWCOUNT: &str = "aria-rowcount";
55-
const ARIA_ROWINDEX: &str = "aria-rowindex";
56-
const ARIA_ROWSPAN: &str = "aria-rowspan";
57-
const ARIA_SELECTED: &str = "aria-selected";
58-
const ARIA_SETSIZE: &str = "aria-setsize";
59-
const ARIA_SORT: &str = "aria-sort";
60-
const ARIA_VALUEMAX: &str = "aria-valuemax";
61-
const ARIA_VALUEMIN: &str = "aria-valuemin";
62-
const ARIA_VALUENOW: &str = "aria-valuenow";
63-
const ARIA_VALUETEXT: &str = "aria-valuetext";
13+
const ARIA_ACTIVEDESCENDANT: &str = "activedescendant";
14+
const ARIA_ATOMIC: &str = "atomic";
15+
const ARIA_AUTOCOMPLETE: &str = "autocomplete";
16+
const ARIA_BUSY: &str = "busy";
17+
const ARIA_BRAILLELABEL: &str = "braillelabel";
18+
const ARIA_BRAILLEROLEDESCRIPTION: &str = "brailleroledescription";
19+
const ARIA_CHECKED: &str = "checked";
20+
const ARIA_COLCOUNT: &str = "colcount";
21+
const ARIA_COLINDEX: &str = "colindex";
22+
const ARIA_COLSPAN: &str = "colspan";
23+
const ARIA_CONTROLS: &str = "controls";
24+
const ARIA_CURRENT: &str = "current";
25+
const ARIA_DESCRIBEDBY: &str = "describedby";
26+
const ARIA_DESCRIPTION: &str = "description";
27+
const ARIA_DETAILS: &str = "details";
28+
const ARIA_DISABLED: &str = "disabled";
29+
const ARIA_DROPEFFECT: &str = "dropeffect";
30+
const ARIA_ERRORMESSAGE: &str = "errormessage";
31+
const ARIA_EXPANDED: &str = "expanded";
32+
const ARIA_FLOWTO: &str = "flowto";
33+
const ARIA_GRABBED: &str = "grabbed";
34+
const ARIA_HASPOPUP: &str = "haspopup";
35+
const ARIA_HIDDEN: &str = "hidden";
36+
const ARIA_INVALID: &str = "invalid";
37+
const ARIA_KEYSHORTCUTS: &str = "keyshortcuts";
38+
const ARIA_LABEL: &str = "label";
39+
const ARIA_LABELLEDBY: &str = "labelledby";
40+
const ARIA_LEVEL: &str = "level";
41+
const ARIA_LIVE: &str = "live";
42+
const ARIA_MODAL: &str = "modal";
43+
const ARIA_MULTILINE: &str = "multiline";
44+
const ARIA_MULTISELECTABLE: &str = "multiselectable";
45+
const ARIA_ORIENTATION: &str = "orientation";
46+
const ARIA_OWNS: &str = "owns";
47+
const ARIA_PLACEHOLDER: &str = "placeholder";
48+
const ARIA_POSINSET: &str = "posinset";
49+
const ARIA_PRESSED: &str = "pressed";
50+
const ARIA_READONLY: &str = "readonly";
51+
const ARIA_RELEVANT: &str = "relevant";
52+
const ARIA_REQUIRED: &str = "required";
53+
const ARIA_ROLEDESCRIPTION: &str = "roledescription";
54+
const ARIA_ROWCOUNT: &str = "rowcount";
55+
const ARIA_ROWINDEX: &str = "rowindex";
56+
const ARIA_ROWSPAN: &str = "rowspan";
57+
const ARIA_SELECTED: &str = "selected";
58+
const ARIA_SETSIZE: &str = "setsize";
59+
const ARIA_SORT: &str = "sort";
60+
const ARIA_VALUEMAX: &str = "valuemax";
61+
const ARIA_VALUEMIN: &str = "valuemin";
62+
const ARIA_VALUENOW: &str = "valuenow";
63+
const ARIA_VALUETEXT: &str = "valuetext";
6464

6565
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
6666
pub enum AriaProperty {
@@ -121,7 +121,10 @@ impl TryFrom<&str> for AriaProperty {
121121
type Error = ();
122122

123123
fn try_from(value: &str) -> Result<Self, Self::Error> {
124-
match value {
124+
if value.len() < 9 || &value[..5] != "aria-" {
125+
return Err(());
126+
}
127+
match &value[5..] {
125128
ARIA_ACTIVEDESCENDANT => Ok(AriaProperty::ActiveDescendant),
126129
ARIA_ATOMIC => Ok(AriaProperty::Atomic),
127130
ARIA_AUTOCOMPLETE => Ok(AriaProperty::AutoComplete),

0 commit comments

Comments
 (0)