UNPKG

react-highlight-selector

Version:

Text highlighter with customizable palette and text copier

28 lines (27 loc) 958 B
function extractNumbers(str) { // Remove h1, h2, h3, h4, h5, h6 from the string var cleanedStr = str.replace(/h\d/g, ''); // Match and extract numbers var regex = /\d+/g; var matches = cleanedStr.match(regex); // adding weight to initial paths for better sorting if (matches) { if (matches.length < 2) { matches[0] = matches[0].concat('11'); } return +matches.join(''); } else { return 0; } } export var sortByPositionAndOffset = function (slections) { // alert('working') return slections === null || slections === void 0 ? void 0 : slections.sort(function (a, b) { var path1 = JSON.parse(a.meta); var path2 = JSON.parse(b.meta); var path1Weight = extractNumbers(path1.start) * 10000 + path1.startOffset; var path2Weight = extractNumbers(path2.start) * 10000 + path2.startOffset; return path2Weight - path1Weight; }); };