123456789101112131415161718192021222324252627282930313233343536373839 |
- 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;
|