Sha256: 93017ae5dd7ec9088469b6deb23c8668ea61a5306a5c67acd9d49808696e97f4

Contents?: true

Size: 870 Bytes

Versions: 271

Compression:

Stored size: 870 Bytes

Contents

const whitespaceRegex = /[\t\r\n\f]/g;

class AbstractVirtualNode {
	constructor() {
		this.children = [];
		this.parent = null;
	}

	get props() {
		throw new Error(
			'VirtualNode class must have a "props" object consisting ' +
				'of "nodeType" and "nodeName" properties'
		);
	}

	attr() {
		throw new Error('VirtualNode class must have a "attr" function');
	}

	hasAttr() {
		throw new Error('VirtualNode class must have a "hasAttr" function');
	}

	hasClass(className) {
		// get the value of the class attribute as svgs return a SVGAnimatedString
		// if you access the className property
		let classAttr = this.attr('class');
		if (!classAttr) {
			return false;
		}

		let selector = ' ' + className + ' ';
		return (
			(' ' + classAttr + ' ').replace(whitespaceRegex, ' ').indexOf(selector) >=
			0
		);
	}
}

axe.AbstractVirtualNode = AbstractVirtualNode;

Version data entries

271 entries across 271 versions & 1 rubygems

Version Path
govuk_publishing_components-30.4.1 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-30.4.0 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-30.3.0 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-30.2.1 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-30.2.0 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-30.1.0 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-30.0.0 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-29.15.3 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-29.15.2 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-29.15.1 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-29.15.0 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-29.14.0 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-29.13.0 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-29.12.1 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-29.12.0 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-29.11.0 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-29.10.0 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-29.9.0 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-29.8.0 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js
govuk_publishing_components-29.7.0 node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js