UNPKG

overscroll

Version:
45 lines (37 loc) 1.24 kB
// 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 };