UNPKG

axe-core

Version:

Accessibility engine for automated Web UI testing

34 lines (32 loc) 990 B
/** * Helper to denote which checks are asyncronous and provide callbacks and pass data back to the CheckResult * @param {CheckResult} checkResult The target object * @param {Function} callback The callback to expose when `this.async()` is called * @return {Object} Bound to `this` for a check's fn */ axe.utils.checkHelper = function checkHelper(checkResult, options, resolve, reject) { 'use strict'; return { isAsync: false, async: function () { this.isAsync = true; return function (result) { if (result instanceof Error === false) { checkResult.result = result; resolve(checkResult); } else { reject(result); } }; }, data: function (data) { checkResult.data = data; }, relatedNodes: function (nodes) { nodes = nodes instanceof Node ? [nodes] : axe.utils.toArray(nodes); checkResult.relatedNodes = nodes.map(function (element) { return new axe.utils.DqElement(element, options); }); } }; };