Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 'use strict' /** * Normalize the CSV "List of synonyms" cell into a clean, de-duplicated array. * * Logic mirrors the original icon-workflow-assistant so downstream metadata * stays consistent: split on comma/pipe, strip special chars, lowercase, * underscores become spaces, drop empties, de-dupe. */ function parseSynonyms(rawValue) { const value = String(rawValue || '') const parts = value.split(/[|,]/) const cleaned = parts .map(syn => syn .trim() .replace(/[^a-zA-Z0-9_\s]/g, '') .toLowerCase() .replace(/_/g, ' ') .trim() ) .filter(syn => syn.length > 0) return [...new Set(cleaned)] } module.exports = { parseSynonyms } |