Sha256: 00d6c0f772475db6439db93f61b1531d51255f6efbb94bd2b026ac3b1ce5148f

Contents?: true

Size: 952 Bytes

Versions: 375

Compression:

Stored size: 952 Bytes

Contents

/*eslint no-use-before-define:0 */
var axe = axe || {};
axe.plugins = {};

function Plugin(spec) {
	'use strict';
	this._run = spec.run;
	this._collect = spec.collect;
	this._registry = {};
	spec.commands.forEach(function(command) {
		axe._audit.registerCommand(command);
	});
}

Plugin.prototype.run = function() {
	'use strict';
	return this._run.apply(this, arguments);
};

Plugin.prototype.collect = function() {
	'use strict';
	return this._collect.apply(this, arguments);
};

Plugin.prototype.cleanup = function(done) {
	'use strict';
	var q = axe.utils.queue();
	var that = this;
	Object.keys(this._registry).forEach(function(key) {
		q.defer(function(done) {
			that._registry[key].cleanup(done);
		});
	});
	q.then(function() {
		done();
	});
};

Plugin.prototype.add = function(impl) {
	'use strict';
	this._registry[impl.id] = impl;
};

axe.registerPlugin = function(plugin) {
	'use strict';
	axe.plugins[plugin.id] = new Plugin(plugin);
};

Version data entries

375 entries across 375 versions & 1 rubygems

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