UNPKG

html5-utils

Version:
68 lines (54 loc) 1.69 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAttrObj = getAttrObj; exports.getAttrIndex = getAttrIndex; exports.hasAttr = hasAttr; exports.getAttr = getAttr; exports.setAttr = setAttr; exports.removeAttr = removeAttr; var _find = require('lodash/find'); var _find2 = _interopRequireDefault(_find); var _findIndex = require('lodash/findIndex'); var _findIndex2 = _interopRequireDefault(_findIndex); var _map = require('lodash/map'); var _map2 = _interopRequireDefault(_map); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _ = { find: _find2.default, findIndex: _findIndex2.default, map: _map2.default }; function getAttrObj(element, name) { var n = name.toLowerCase(); return _.find(element.attrs, function (attr, i) { return attr.name.toLowerCase() === n; }); } function getAttrIndex(element, name) { var n = name.toLowerCase(); return _.findIndex(element.attrs, function (attr, i) { return attr.name.toLowerCase() === n; }); } function hasAttr(element, name) { return getAttrIndex(element, name) !== -1; } function getAttr(element, name) { var attr = getAttrObj(element, name); return attr !== undefined ? attr.value : null; } function setAttr(element, name, value) { var i = getAttrIndex(element, name); if (i > -1) { element.attrs[i].value = value; } else { element.attrs.push({ name: name, value: value }); } } function removeAttr(element, name) { var n = name.toLowerCase(); return _.map(element.attrs, function (attr, i) { if (attr.name.toLowerCase() !== n) { return true; }; element.attrs.splice(i, 1); }); }