- commit
- dc0522d1a829dccdefc7fa7c7ed715b10bfe4344
- parent
- 0ee09ce7e63a736a7bcb77c3052c73da1f60452b
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2020-11-12 12:17
use objects for implementations
Diffstat
| M | src/babel.js | 27 | +++++++++++++++++---------- |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/babel.js b/src/babel.js
@@ -15,16 +15,21 @@ var ex = function(fn, args, _this) {
15 15 }
16 16 };
17 17
18 -1 var implementations = {
19 -1 'aria-api (0.4.0)': function(el) {
-1 18 var implementations = [{
-1 19 name: 'aria-api (0.4.0)',
-1 20 fn: function(el) {
20 21 return {
21 22 name: ex(ariaApi.getName, [el]),
22 23 desc: ex(ariaApi.getDescription, [el]),
23 24 role: ex(ariaApi.getRole, [el]),
24 25 };
25 26 },
26 -1 'accdc (2.49)': accdc.calcNames,
27 -1 'axe (4.0.2)': function(el) {
-1 27 }, {
-1 28 name: 'accdc (2.49)',
-1 29 fn: accdc.calcNames,
-1 30 }, {
-1 31 name: 'axe (4.0.2)',
-1 32 fn: function(el) {
28 33 axe._tree = axe.utils.getFlattenedTree(document.body);
29 34 return {
30 35 name: ex(axe.commons.text.accessibleText, [el]),
@@ -32,7 +37,9 @@ var implementations = {
32 37 role: ex(axe.commons.aria.getRole, [el]),
33 38 };
34 39 },
35 -1 'axs (2.12.0)': function(el) {
-1 40 }, {
-1 41 name: 'axs (2.12.0)',
-1 42 fn: function(el) {
36 43 return {
37 44 name: ex(axs.properties.findTextAlternatives, [el, {}]),
38 45 desc: '-',
@@ -41,10 +48,10 @@ var implementations = {
41 48 if (roles) {
42 49 return roles.roles.map(x => x.name).join(' ');
43 50 }
44 -1 })
-1 51 }),
45 52 };
46 53 },
47 -1 };
-1 54 }];
48 55
49 56 var createTd = function(text) {
50 57 var td = document.createElement('td');
@@ -56,13 +63,13 @@ var run = function(html) {
56 63 preview.innerHTML = html;
57 64 results.innerHTML = '';
58 65
59 -1 return Promise.all(Object.keys(implementations).map(function(key) {
60 -1 var p = implementations[key](preview.querySelector('#test') || preview.children[0] || preview);
-1 66 return Promise.all(implementations.map(function(impl) {
-1 67 var p = impl.fn(preview.querySelector('#test') || preview.children[0] || preview);
61 68
62 69 return Promise.resolve(p).then(function(result) {
63 70 var tr = document.createElement('tr');
64 71
65 -1 tr.appendChild(createTd(key));
-1 72 tr.appendChild(createTd(impl.name));
66 73 tr.appendChild(createTd(result.name));
67 74 tr.appendChild(createTd(result.desc));
68 75 tr.appendChild(createTd(result.role));