Skip to content

Commit 17fee02

Browse files
refactor: Apply PR suggestions
Co-authored-by: Marvin Hagemeister <hello@marvinh.dev>
1 parent 2677560 commit 17fee02

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

src/diff/props.js

+12-6
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,15 @@ let eventClock = 0;
3535
* @param {string} namespace Whether or not this DOM node is an SVG node or not
3636
*/
3737
export function setProperty(dom, name, value, oldValue, namespace) {
38-
let useCapture,
39-
split = name.split(':');
40-
if (split.length > 1) name = split[1];
38+
let useCapture, prefix;
39+
if (name[0] == 'a' || name[0] == 'p') {
40+
let idx = name.indexOf(':');
41+
if (idx > -1) {
42+
// Only slices here, should be faster than array allocation
43+
prefix = name.slice(0, idx);
44+
name = name.slice(idx + 1);
45+
}
46+
}
4147

4248
o: if (name === 'style') {
4349
if (typeof value == 'string') {
@@ -106,8 +112,7 @@ export function setProperty(dom, name, value, oldValue, namespace) {
106112
// - className --> class
107113
name = name.replace(/xlink(H|:h)/, 'h').replace(/sName$/, 's');
108114
} else if (
109-
split[0] == 'prop' ||
110-
(split[0] != 'attr' &&
115+
(prefix != 'attr' &&
111116
name != 'width' &&
112117
name != 'height' &&
113118
name != 'href' &&
@@ -121,7 +126,8 @@ export function setProperty(dom, name, value, oldValue, namespace) {
121126
name != 'colSpan' &&
122127
name != 'role' &&
123128
name != 'popover' &&
124-
name in dom)
129+
name in dom) ||
130+
prefix == 'prop'
125131
) {
126132
try {
127133
dom[name] = value == null ? '' : value;

0 commit comments

Comments
 (0)