UNPKG

overscroll

Version:
52 lines (42 loc) 1.65 kB
'use strict'; exports.__esModule = true; exports.removeData = exports.hasData = exports.getData = exports.setData = undefined; var _hyphenate = require('../hyphenate'); var _hyphenate2 = _interopRequireDefault(_hyphenate); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function firstCharToLowerCase(str) { var firstChar = str.charAt(0); if (/^[A-Z]$/.test(str.charAt(0))) { return firstChar.toLowerCase() + str.slice(1); } return str; } // import camelCase from '../camelCase'; var setData = exports.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-' + (0, _hyphenate2['default'])(name), value); } }; var getData = exports.getData = function getData(dom, name) { if (dom.dataset) { return dom.dataset[firstCharToLowerCase(name)]; } return dom.getAttribute('data-' + (0, _hyphenate2['default'])(name)); }; var hasData = exports.hasData = function hasData(dom, name) { if (dom.dataset) { return Object.keys(dom.dataset).includes(firstCharToLowerCase(name)); } return dom.hasAttribute('data-' + (0, _hyphenate2['default'])(name)); }; var removeData = exports.removeData = function removeData(dom, name) { if (dom.dataset) { delete dom.dataset[firstCharToLowerCase(name)]; } else { dom.removeAttribute('data-' + (0, _hyphenate2['default'])(name)); } }; exports['default'] = { setData: setData, getData: getData, hasData: hasData, removeData: removeData };