// Generated by LiveScript 1.6.0 (function(){ var prelude, map, sortBy, fl, closestString, nameToRaw, dasherize, naturalJoin; prelude = require('prelude-ls'), map = prelude.map, sortBy = prelude.sortBy; fl = require('fast-levenshtein'); closestString = function(possibilities, input){ var distances, ref$, string, distance; if (!possibilities.length) { return; } distances = map(function(it){ var ref$, longer, shorter; ref$ = input.length > it.length ? [input, it] : [it, input], longer = ref$[0], shorter = ref$[1]; return { string: it, distance: fl.get(longer, shorter) }; })( possibilities); ref$ = sortBy(function(it){ return it.distance; }, distances)[0], string = ref$.string, distance = ref$.distance; return string; }; nameToRaw = function(name){ if (name.length === 1 || name === 'NUM') { return "-" + name; } else { return "--" + name; } }; dasherize = function(string){ if (/^[A-Z]/.test(string)) { return string; } else { return prelude.dasherize(string); } }; naturalJoin = function(array){ if (array.length < 3) { return array.join(' or '); } else { return array.slice(0, -1).join(', ') + ", or " + array[array.length - 1]; } }; module.exports = { closestString: closestString, nameToRaw: nameToRaw, dasherize: dasherize, naturalJoin: naturalJoin }; }).call(this);