Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
setStyle(node, style) {
if (Array.isArray(style)) {
style = style.reduce((prev, curr) => Object.assign(prev, curr), {});
}
const tranformedStyle = transformStyle(style);
// Fist use DriverDOM set standard style.
DriverDOM.setStyle(node, tranformedStyle);
// Second process flex compatible style, like {display: ["-webkit-box", "-webkit-flex", "flex"]}.
for (let prop in tranformedStyle) {
if (tranformedStyle.hasOwnProperty(prop)) {
const transformValue = tranformedStyle[prop];
// Hack handle compatibility issue
if (Array.isArray(transformValue)) {
for (let i = 0; i < transformValue.length; i++) node.style[prop] = transformValue[i];
}
}
}
}
});
createElement(type, props, component) {
if (props.hasOwnProperty(STYLE)) {
const style = props[STYLE];
const node = DriverDOM.createElement(type, {
...props,
[STYLE]: null,
}, component);
driver.setStyle(node, style);
return node;
} else {
return DriverDOM.createElement(type, props, component);
}
},
addEventListener(node, eventName, eventHandler, props) {
createElement(type, props, component) {
return DriverDOM.createElement(type, props, component, true);
},
setStyle(node, style) {
createElement(type, props, component) {
if (props.hasOwnProperty(STYLE)) {
const style = props[STYLE];
const node = DriverDOM.createElement(type, {
...props,
[STYLE]: null,
}, component);
driver.setStyle(node, style);
return node;
} else {
return DriverDOM.createElement(type, props, component);
}
},
addEventListener(node, eventName, eventHandler, props) {
addEventListener(node, eventName, eventHandler, props) {
eventName = normalizeEventName(node, eventName, props);
return DriverDOM.addEventListener(node, eventName, eventHandler, props);
},
removeEventListener(node, eventName, eventHandler, props) {
addEventListener(node, eventName, eventHandler, props) {
eventName = normalizeEventName(node, eventName, props);
return DriverDOM.addEventListener(node, eventName, eventHandler, props);
},
removeEventListener(node, eventName, eventHandler, props) {
removeEventListener(node, eventName, eventHandler, props) {
eventName = normalizeEventName(node, eventName, props);
return DriverDOM.removeEventListener(node, eventName, eventHandler, props);
},
removeEventListener(node, eventName, eventHandler, props) {
eventName = normalizeEventName(node, eventName, props);
return DriverDOM.removeEventListener(node, eventName, eventHandler, props);
},
});
setStyle(node, style) {
return DriverDOM.setStyle(node, style, true);
}
});