overscroll
Version:
45 lines (37 loc) • 1.24 kB
JavaScript
// import camelCase from '../camelCase';
import hyphenate from '../hyphenate';
function firstCharToLowerCase(str) {
var firstChar = str.charAt(0);
if (/^[A-Z]$/.test(str.charAt(0))) {
return firstChar.toLowerCase() + str.slice(1);
}
return str;
}
export var setData = function setData(dom, name) {
var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
if (dom.dataset) {
dom.dataset[firstCharToLowerCase(name)] = value;
} else {
dom.setAttribute('data-' + hyphenate(name), value);
}
};
export var getData = function getData(dom, name) {
if (dom.dataset) {
return dom.dataset[firstCharToLowerCase(name)];
}
return dom.getAttribute('data-' + hyphenate(name));
};
export var hasData = function hasData(dom, name) {
if (dom.dataset) {
return Object.keys(dom.dataset).includes(firstCharToLowerCase(name));
}
return dom.hasAttribute('data-' + hyphenate(name));
};
export var removeData = function removeData(dom, name) {
if (dom.dataset) {
delete dom.dataset[firstCharToLowerCase(name)];
} else {
dom.removeAttribute('data-' + hyphenate(name));
}
};
export default { setData: setData, getData: getData, hasData: hasData, removeData: removeData };