accessibility-server-mcp 1.0.6 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +147 -6
- package/config/wcag-rules.json +22 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +117 -27
- package/dist/index.js.map +1 -1
- package/dist/test-multi-standard.d.ts +6 -0
- package/dist/test-multi-standard.d.ts.map +1 -0
- package/dist/test-multi-standard.js +78 -0
- package/dist/test-multi-standard.js.map +1 -0
- package/dist/tools/accessibility-tester.d.ts +9 -1
- package/dist/tools/accessibility-tester.d.ts.map +1 -1
- package/dist/tools/accessibility-tester.js +73 -34
- package/dist/tools/accessibility-tester.js.map +1 -1
- package/dist/tools/wcag-validator.d.ts +19 -2
- package/dist/tools/wcag-validator.d.ts.map +1 -1
- package/dist/tools/wcag-validator.js +63 -1
- package/dist/tools/wcag-validator.js.map +1 -1
- package/dist/tools/website-accessibility-tester.d.ts +16 -4
- package/dist/tools/website-accessibility-tester.d.ts.map +1 -1
- package/dist/tools/website-accessibility-tester.js +22 -10
- package/dist/tools/website-accessibility-tester.js.map +1 -1
- package/dist/types/accessibility.d.ts +121 -5
- package/dist/types/accessibility.d.ts.map +1 -1
- package/dist/types/accessibility.js +67 -1
- package/dist/types/accessibility.js.map +1 -1
- package/dist/types/mcp.d.ts +9 -3
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/utils/ada-guidance.d.ts +22 -0
- package/dist/utils/ada-guidance.d.ts.map +1 -0
- package/dist/utils/ada-guidance.js +131 -0
- package/dist/utils/ada-guidance.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/report-generator.d.ts.map +1 -1
- package/dist/utils/report-generator.js +37 -2
- package/dist/utils/report-generator.js.map +1 -1
- package/dist/utils/standard-presets.d.ts +58 -0
- package/dist/utils/standard-presets.d.ts.map +1 -0
- package/dist/utils/standard-presets.js +188 -0
- package/dist/utils/standard-presets.js.map +1 -0
- package/dist/utils/standard-tag-metadata.d.ts +35 -0
- package/dist/utils/standard-tag-metadata.d.ts.map +1 -0
- package/dist/utils/standard-tag-metadata.js +416 -0
- package/dist/utils/standard-tag-metadata.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility for managing standard tag metadata
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Metadata map for common standard tags
|
|
6
|
+
*/
|
|
7
|
+
export const STANDARD_METADATA_MAP = {
|
|
8
|
+
// Category tags
|
|
9
|
+
'cat.text-alternatives': {
|
|
10
|
+
category: 'category',
|
|
11
|
+
displayName: 'Text Alternatives',
|
|
12
|
+
description: 'Rules related to providing text alternatives for non-text content',
|
|
13
|
+
},
|
|
14
|
+
'cat.aria': {
|
|
15
|
+
category: 'category',
|
|
16
|
+
displayName: 'ARIA',
|
|
17
|
+
description: 'Rules related to ARIA attributes, roles, and states',
|
|
18
|
+
},
|
|
19
|
+
'cat.name-role-value': {
|
|
20
|
+
category: 'category',
|
|
21
|
+
displayName: 'Name, Role, Value',
|
|
22
|
+
description: 'Rules ensuring elements have proper accessible names, roles, and values',
|
|
23
|
+
},
|
|
24
|
+
'cat.color': {
|
|
25
|
+
category: 'category',
|
|
26
|
+
displayName: 'Color',
|
|
27
|
+
description: 'Rules related to color contrast and color usage',
|
|
28
|
+
},
|
|
29
|
+
'cat.structure': {
|
|
30
|
+
category: 'category',
|
|
31
|
+
displayName: 'Structure',
|
|
32
|
+
description: 'Rules related to document structure and landmarks',
|
|
33
|
+
},
|
|
34
|
+
'cat.semantics': {
|
|
35
|
+
category: 'category',
|
|
36
|
+
displayName: 'Semantics',
|
|
37
|
+
description: 'Rules related to semantic HTML usage',
|
|
38
|
+
},
|
|
39
|
+
'cat.tables': {
|
|
40
|
+
category: 'category',
|
|
41
|
+
displayName: 'Tables',
|
|
42
|
+
description: 'Rules related to table structure and markup',
|
|
43
|
+
},
|
|
44
|
+
'cat.forms': {
|
|
45
|
+
category: 'category',
|
|
46
|
+
displayName: 'Forms',
|
|
47
|
+
description: 'Rules related to form controls and labels',
|
|
48
|
+
},
|
|
49
|
+
'cat.keyboard': {
|
|
50
|
+
category: 'category',
|
|
51
|
+
displayName: 'Keyboard',
|
|
52
|
+
description: 'Rules related to keyboard accessibility',
|
|
53
|
+
},
|
|
54
|
+
'cat.language': {
|
|
55
|
+
category: 'category',
|
|
56
|
+
displayName: 'Language',
|
|
57
|
+
description: 'Rules related to language attributes and identification',
|
|
58
|
+
},
|
|
59
|
+
'cat.time-and-media': {
|
|
60
|
+
category: 'category',
|
|
61
|
+
displayName: 'Time and Media',
|
|
62
|
+
description: 'Rules related to audio, video, and time-based media',
|
|
63
|
+
},
|
|
64
|
+
'cat.parsing': {
|
|
65
|
+
category: 'category',
|
|
66
|
+
displayName: 'Parsing',
|
|
67
|
+
description: 'Rules related to HTML parsing and validation',
|
|
68
|
+
},
|
|
69
|
+
'cat.sensory-and-visual-cues': {
|
|
70
|
+
category: 'category',
|
|
71
|
+
displayName: 'Sensory and Visual Cues',
|
|
72
|
+
description: 'Rules related to sensory characteristics and visual cues',
|
|
73
|
+
},
|
|
74
|
+
// WCAG level tags
|
|
75
|
+
'wcag2a': {
|
|
76
|
+
category: 'wcag',
|
|
77
|
+
displayName: 'WCAG 2.0 Level A',
|
|
78
|
+
description: 'Web Content Accessibility Guidelines 2.0 Level A conformance',
|
|
79
|
+
version: '2.0',
|
|
80
|
+
level: 'A',
|
|
81
|
+
},
|
|
82
|
+
'wcag2aa': {
|
|
83
|
+
category: 'wcag',
|
|
84
|
+
displayName: 'WCAG 2.0 Level AA',
|
|
85
|
+
description: 'Web Content Accessibility Guidelines 2.0 Level AA conformance',
|
|
86
|
+
version: '2.0',
|
|
87
|
+
level: 'AA',
|
|
88
|
+
},
|
|
89
|
+
'wcag2aaa': {
|
|
90
|
+
category: 'wcag',
|
|
91
|
+
displayName: 'WCAG 2.0 Level AAA',
|
|
92
|
+
description: 'Web Content Accessibility Guidelines 2.0 Level AAA conformance',
|
|
93
|
+
version: '2.0',
|
|
94
|
+
level: 'AAA',
|
|
95
|
+
},
|
|
96
|
+
'wcag21a': {
|
|
97
|
+
category: 'wcag',
|
|
98
|
+
displayName: 'WCAG 2.1 Level A',
|
|
99
|
+
description: 'Web Content Accessibility Guidelines 2.1 Level A conformance',
|
|
100
|
+
version: '2.1',
|
|
101
|
+
level: 'A',
|
|
102
|
+
},
|
|
103
|
+
'wcag21aa': {
|
|
104
|
+
category: 'wcag',
|
|
105
|
+
displayName: 'WCAG 2.1 Level AA',
|
|
106
|
+
description: 'Web Content Accessibility Guidelines 2.1 Level AA conformance',
|
|
107
|
+
version: '2.1',
|
|
108
|
+
level: 'AA',
|
|
109
|
+
},
|
|
110
|
+
'wcag22aa': {
|
|
111
|
+
category: 'wcag',
|
|
112
|
+
displayName: 'WCAG 2.2 Level AA',
|
|
113
|
+
description: 'Web Content Accessibility Guidelines 2.2 Level AA conformance',
|
|
114
|
+
version: '2.2',
|
|
115
|
+
level: 'AA',
|
|
116
|
+
},
|
|
117
|
+
// Section 508
|
|
118
|
+
'section508': {
|
|
119
|
+
category: 'section508',
|
|
120
|
+
displayName: 'Section 508',
|
|
121
|
+
description: 'US federal accessibility standard for electronic and information technology',
|
|
122
|
+
version: 'Revised 2017',
|
|
123
|
+
},
|
|
124
|
+
'section508.22.a': {
|
|
125
|
+
category: 'section508',
|
|
126
|
+
displayName: 'Section 508.22(a)',
|
|
127
|
+
description: 'Text equivalent for non-text elements',
|
|
128
|
+
version: 'Revised 2017',
|
|
129
|
+
},
|
|
130
|
+
'section508.22.f': {
|
|
131
|
+
category: 'section508',
|
|
132
|
+
displayName: 'Section 508.22(f)',
|
|
133
|
+
description: 'Client-side image maps',
|
|
134
|
+
version: 'Revised 2017',
|
|
135
|
+
},
|
|
136
|
+
'section508.22.g': {
|
|
137
|
+
category: 'section508',
|
|
138
|
+
displayName: 'Section 508.22(g)',
|
|
139
|
+
description: 'Row and column headers for data tables',
|
|
140
|
+
version: 'Revised 2017',
|
|
141
|
+
},
|
|
142
|
+
'section508.22.i': {
|
|
143
|
+
category: 'section508',
|
|
144
|
+
displayName: 'Section 508.22(i)',
|
|
145
|
+
description: 'Frames must be titled',
|
|
146
|
+
version: 'Revised 2017',
|
|
147
|
+
},
|
|
148
|
+
// EN 301 549
|
|
149
|
+
'EN-301-549': {
|
|
150
|
+
category: 'en301549',
|
|
151
|
+
displayName: 'EN 301 549',
|
|
152
|
+
description: 'European accessibility standard for ICT products and services',
|
|
153
|
+
version: 'V3.2.1',
|
|
154
|
+
},
|
|
155
|
+
// Trusted Tester
|
|
156
|
+
'TTv5': {
|
|
157
|
+
category: 'trustedtester',
|
|
158
|
+
displayName: 'Trusted Tester v5',
|
|
159
|
+
description: 'DHS Trusted Tester methodology for Section 508 conformance testing',
|
|
160
|
+
version: '5.0',
|
|
161
|
+
},
|
|
162
|
+
// RGAA
|
|
163
|
+
'RGAAv4': {
|
|
164
|
+
category: 'rgaa',
|
|
165
|
+
displayName: 'RGAA v4',
|
|
166
|
+
description: 'French accessibility standard (Référentiel Général d\'Amélioration de l\'Accessibilité)',
|
|
167
|
+
version: '4.0',
|
|
168
|
+
},
|
|
169
|
+
// Special tags
|
|
170
|
+
'ACT': {
|
|
171
|
+
category: 'special',
|
|
172
|
+
displayName: 'ACT Rules',
|
|
173
|
+
description: 'W3C Accessibility Conformance Testing rules',
|
|
174
|
+
},
|
|
175
|
+
'best-practice': {
|
|
176
|
+
category: 'special',
|
|
177
|
+
displayName: 'Best Practices',
|
|
178
|
+
description: 'Industry best practices for accessibility not covered by formal standards',
|
|
179
|
+
},
|
|
180
|
+
'experimental': {
|
|
181
|
+
category: 'special',
|
|
182
|
+
displayName: 'Experimental',
|
|
183
|
+
description: 'Experimental rules still in development',
|
|
184
|
+
},
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* Parse WCAG criterion tag (e.g., "wcag244" -> "WCAG 2.4.4")
|
|
188
|
+
*/
|
|
189
|
+
function parseWcagCriterion(tag) {
|
|
190
|
+
const match = tag.match(/^wcag(\d)(\d)(\d+)$/);
|
|
191
|
+
if (!match || !match[1] || !match[2] || !match[3])
|
|
192
|
+
return null;
|
|
193
|
+
return {
|
|
194
|
+
principle: match[1],
|
|
195
|
+
guideline: match[2],
|
|
196
|
+
criterion: match[3],
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Get human-readable name for WCAG criterion
|
|
201
|
+
*/
|
|
202
|
+
function getWcagCriterionName(principle, guideline, criterion) {
|
|
203
|
+
// Map of known WCAG success criteria
|
|
204
|
+
const criteriaNames = {
|
|
205
|
+
'1.1.1': 'Non-text Content',
|
|
206
|
+
'1.2.1': 'Audio-only and Video-only (Prerecorded)',
|
|
207
|
+
'1.2.2': 'Captions (Prerecorded)',
|
|
208
|
+
'1.2.3': 'Audio Description or Media Alternative (Prerecorded)',
|
|
209
|
+
'1.3.1': 'Info and Relationships',
|
|
210
|
+
'1.3.2': 'Meaningful Sequence',
|
|
211
|
+
'1.3.3': 'Sensory Characteristics',
|
|
212
|
+
'1.3.4': 'Orientation',
|
|
213
|
+
'1.3.5': 'Identify Input Purpose',
|
|
214
|
+
'1.4.1': 'Use of Color',
|
|
215
|
+
'1.4.2': 'Audio Control',
|
|
216
|
+
'1.4.3': 'Contrast (Minimum)',
|
|
217
|
+
'1.4.4': 'Resize Text',
|
|
218
|
+
'1.4.5': 'Images of Text',
|
|
219
|
+
'1.4.10': 'Reflow',
|
|
220
|
+
'1.4.11': 'Non-text Contrast',
|
|
221
|
+
'1.4.12': 'Text Spacing',
|
|
222
|
+
'1.4.13': 'Content on Hover or Focus',
|
|
223
|
+
'2.1.1': 'Keyboard',
|
|
224
|
+
'2.1.2': 'No Keyboard Trap',
|
|
225
|
+
'2.1.4': 'Character Key Shortcuts',
|
|
226
|
+
'2.2.1': 'Timing Adjustable',
|
|
227
|
+
'2.2.2': 'Pause, Stop, Hide',
|
|
228
|
+
'2.4.1': 'Bypass Blocks',
|
|
229
|
+
'2.4.2': 'Page Titled',
|
|
230
|
+
'2.4.3': 'Focus Order',
|
|
231
|
+
'2.4.4': 'Link Purpose (In Context)',
|
|
232
|
+
'2.4.5': 'Multiple Ways',
|
|
233
|
+
'2.4.6': 'Headings and Labels',
|
|
234
|
+
'2.4.7': 'Focus Visible',
|
|
235
|
+
'2.5.1': 'Pointer Gestures',
|
|
236
|
+
'2.5.2': 'Pointer Cancellation',
|
|
237
|
+
'2.5.3': 'Label in Name',
|
|
238
|
+
'2.5.4': 'Motion Actuation',
|
|
239
|
+
'3.1.1': 'Language of Page',
|
|
240
|
+
'3.1.2': 'Language of Parts',
|
|
241
|
+
'3.2.1': 'On Focus',
|
|
242
|
+
'3.2.2': 'On Input',
|
|
243
|
+
'3.2.3': 'Consistent Navigation',
|
|
244
|
+
'3.2.4': 'Consistent Identification',
|
|
245
|
+
'3.3.1': 'Error Identification',
|
|
246
|
+
'3.3.2': 'Labels or Instructions',
|
|
247
|
+
'3.3.3': 'Error Suggestion',
|
|
248
|
+
'3.3.4': 'Error Prevention (Legal, Financial, Data)',
|
|
249
|
+
'4.1.1': 'Parsing',
|
|
250
|
+
'4.1.2': 'Name, Role, Value',
|
|
251
|
+
'4.1.3': 'Status Messages',
|
|
252
|
+
};
|
|
253
|
+
const key = `${principle}.${guideline}.${criterion}`;
|
|
254
|
+
return criteriaNames[key] || '';
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Get metadata for a standard tag with pattern matching
|
|
258
|
+
*/
|
|
259
|
+
export function getStandardMetadata(tag) {
|
|
260
|
+
// Check if we have predefined metadata
|
|
261
|
+
if (STANDARD_METADATA_MAP[tag]) {
|
|
262
|
+
return {
|
|
263
|
+
tag,
|
|
264
|
+
...STANDARD_METADATA_MAP[tag],
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
// Pattern matching for dynamic tags
|
|
268
|
+
// WCAG criterion tags (e.g., wcag244)
|
|
269
|
+
if (tag.startsWith('wcag') && /^wcag\d\d\d+$/.test(tag)) {
|
|
270
|
+
const parsed = parseWcagCriterion(tag);
|
|
271
|
+
if (parsed) {
|
|
272
|
+
const { principle, guideline, criterion } = parsed;
|
|
273
|
+
const criterionName = getWcagCriterionName(principle, guideline, criterion);
|
|
274
|
+
return {
|
|
275
|
+
tag,
|
|
276
|
+
category: 'wcag',
|
|
277
|
+
displayName: `WCAG ${principle}.${guideline}.${criterion}${criterionName ? ` ${criterionName}` : ''}`,
|
|
278
|
+
description: `WCAG Success Criterion ${principle}.${guideline}.${criterion}${criterionName ? ` - ${criterionName}` : ''}`,
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// Category tags
|
|
283
|
+
if (tag.startsWith('cat.')) {
|
|
284
|
+
const categoryName = tag.substring(4).split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(' ');
|
|
285
|
+
return {
|
|
286
|
+
tag,
|
|
287
|
+
category: 'category',
|
|
288
|
+
displayName: categoryName,
|
|
289
|
+
description: `Rules related to ${categoryName.toLowerCase()}`,
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
// Section 508 specific subsections
|
|
293
|
+
if (tag.startsWith('section508.')) {
|
|
294
|
+
return {
|
|
295
|
+
tag,
|
|
296
|
+
category: 'section508',
|
|
297
|
+
displayName: tag.replace('section508.', 'Section 508.'),
|
|
298
|
+
description: `Section 508 ${tag.replace('section508.', '')} requirement`,
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
// EN 301 549 specific criteria
|
|
302
|
+
if (tag.startsWith('EN-')) {
|
|
303
|
+
return {
|
|
304
|
+
tag,
|
|
305
|
+
category: 'en301549',
|
|
306
|
+
displayName: tag.replace('EN-', 'EN '),
|
|
307
|
+
description: `EN 301 549 requirement ${tag.replace('EN-', '')}`,
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
// Trusted Tester test IDs
|
|
311
|
+
if (tag.startsWith('TT') && tag !== 'TTv5') {
|
|
312
|
+
return {
|
|
313
|
+
tag,
|
|
314
|
+
category: 'trustedtester',
|
|
315
|
+
displayName: `Trusted Tester ${tag.replace('TT', 'Test ')}`,
|
|
316
|
+
description: `Trusted Tester test ${tag.replace('TT', '')}`,
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
// RGAA criteria
|
|
320
|
+
if (tag.startsWith('RGAA-')) {
|
|
321
|
+
return {
|
|
322
|
+
tag,
|
|
323
|
+
category: 'rgaa',
|
|
324
|
+
displayName: tag.replace('RGAA-', 'RGAA '),
|
|
325
|
+
description: `RGAA criterion ${tag.replace('RGAA-', '')}`,
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
// Fallback for unknown tags
|
|
329
|
+
return {
|
|
330
|
+
tag,
|
|
331
|
+
category: 'special',
|
|
332
|
+
displayName: tag,
|
|
333
|
+
description: `Accessibility standard: ${tag}`,
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Categorize standards by their family for reporting
|
|
338
|
+
*/
|
|
339
|
+
export function categorizeStandardsByFamily(standards) {
|
|
340
|
+
const categories = {
|
|
341
|
+
wcag: [],
|
|
342
|
+
section508: [],
|
|
343
|
+
en301549: [],
|
|
344
|
+
trustedtester: [],
|
|
345
|
+
rgaa: [],
|
|
346
|
+
category: [],
|
|
347
|
+
special: [],
|
|
348
|
+
};
|
|
349
|
+
for (const standard of standards) {
|
|
350
|
+
const metadata = getStandardMetadata(standard);
|
|
351
|
+
const category = metadata.category;
|
|
352
|
+
if (categories[category]) {
|
|
353
|
+
categories[category].push(standard);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
return categories;
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Get all unique standard categories from a list of tags
|
|
360
|
+
*/
|
|
361
|
+
export function getStandardCategories(standards) {
|
|
362
|
+
const categories = new Set();
|
|
363
|
+
for (const standard of standards) {
|
|
364
|
+
const metadata = getStandardMetadata(standard);
|
|
365
|
+
categories.add(metadata.category);
|
|
366
|
+
}
|
|
367
|
+
return Array.from(categories);
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Format standard tags for display
|
|
371
|
+
*/
|
|
372
|
+
/**
|
|
373
|
+
* Format standards for display with detailed breakdown
|
|
374
|
+
*/
|
|
375
|
+
export function formatStandardsForDisplay(standards) {
|
|
376
|
+
const families = categorizeStandardsByFamily(standards);
|
|
377
|
+
const summary = formatStandardsSummary(standards);
|
|
378
|
+
return {
|
|
379
|
+
summary,
|
|
380
|
+
families
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Format standards as a simple summary string
|
|
385
|
+
*/
|
|
386
|
+
export function formatStandardsSummary(standards) {
|
|
387
|
+
if (standards.length === 0)
|
|
388
|
+
return 'None';
|
|
389
|
+
if (standards.length === 1 && standards[0])
|
|
390
|
+
return getStandardMetadata(standards[0]).displayName;
|
|
391
|
+
const categorized = categorizeStandardsByFamily(standards);
|
|
392
|
+
const parts = [];
|
|
393
|
+
if (categorized.wcag && categorized.wcag.length > 0) {
|
|
394
|
+
parts.push(`WCAG (${categorized.wcag.length} tags)`);
|
|
395
|
+
}
|
|
396
|
+
if (categorized.section508 && categorized.section508.length > 0) {
|
|
397
|
+
parts.push(`Section 508 (${categorized.section508.length} tags)`);
|
|
398
|
+
}
|
|
399
|
+
if (categorized.en301549 && categorized.en301549.length > 0) {
|
|
400
|
+
parts.push(`EN 301 549 (${categorized.en301549.length} tags)`);
|
|
401
|
+
}
|
|
402
|
+
if (categorized.trustedtester && categorized.trustedtester.length > 0) {
|
|
403
|
+
parts.push(`Trusted Tester (${categorized.trustedtester.length} tags)`);
|
|
404
|
+
}
|
|
405
|
+
if (categorized.rgaa && categorized.rgaa.length > 0) {
|
|
406
|
+
parts.push(`RGAA (${categorized.rgaa.length} tags)`);
|
|
407
|
+
}
|
|
408
|
+
if (categorized.category && categorized.category.length > 0) {
|
|
409
|
+
parts.push(`${categorized.category.length} category tags`);
|
|
410
|
+
}
|
|
411
|
+
if (categorized.special && categorized.special.length > 0) {
|
|
412
|
+
parts.push(`${categorized.special.length} other tags`);
|
|
413
|
+
}
|
|
414
|
+
return parts.join(', ');
|
|
415
|
+
}
|
|
416
|
+
//# sourceMappingURL=standard-tag-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-tag-metadata.js","sourceRoot":"","sources":["../../src/utils/standard-tag-metadata.ts"],"names":[],"mappings":"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"}
|