UNPKG

subhasmitalmg-react-spreadsheet-import

Version:

React spreadsheet import for xlsx and csv files with column matching and validation steps

17 lines (14 loc) 619 B
import lavenstein from 'js-levenshtein'; const findMatch = (header, fields, autoMapDistance) => { const smallestValue = fields.reduce((acc, field) => { const distance = Math.min(...[ lavenstein(field.key, header), ...(field.alternateMatches?.map((alternate) => lavenstein(alternate, header)) || []), ]); return distance < acc.distance || acc.distance === undefined ? { value: field.key, distance } : acc; }, {}); return smallestValue.distance <= autoMapDistance ? smallestValue.value : undefined; }; export { findMatch };