import { isXHTML } from '../../core/utils';
function hasValue(value) {
return (value || '').trim() !== '';
}
function hasLangEvaluate(node, options, virtualNode) {
// special case when xml:lang has a value and lang does not
// but the document is not XHTML
const xhtml = typeof document !== 'undefined' ? isXHTML(document) : false;
if (
options.attributes.includes('xml:lang') &&
options.attributes.includes('lang') &&
hasValue(virtualNode.attr('xml:lang')) &&
!hasValue(virtualNode.attr('lang')) &&
!xhtml
) {
this.data({
messageKey: 'noXHTML'
});
return false;
}
const hasLang = options.attributes.some(name => {
return hasValue(virtualNode.attr(name));
});
if (!hasLang) {
this.data({
messageKey: 'noLang'
});
return false;
}
return true;
}
export default hasLangEvaluate;