Updated the files.
This commit is contained in:
parent
1553e6b971
commit
753967d4f5
23418 changed files with 3784666 additions and 0 deletions
50
my-app/node_modules/abbrev/lib/index.js
generated
vendored
Executable file
50
my-app/node_modules/abbrev/lib/index.js
generated
vendored
Executable file
|
@ -0,0 +1,50 @@
|
|||
module.exports = abbrev
|
||||
|
||||
function abbrev (...args) {
|
||||
let list = args.length === 1 || Array.isArray(args[0]) ? args[0] : args
|
||||
|
||||
for (let i = 0, l = list.length; i < l; i++) {
|
||||
list[i] = typeof list[i] === 'string' ? list[i] : String(list[i])
|
||||
}
|
||||
|
||||
// sort them lexicographically, so that they're next to their nearest kin
|
||||
list = list.sort(lexSort)
|
||||
|
||||
// walk through each, seeing how much it has in common with the next and previous
|
||||
const abbrevs = {}
|
||||
let prev = ''
|
||||
for (let ii = 0, ll = list.length; ii < ll; ii++) {
|
||||
const current = list[ii]
|
||||
const next = list[ii + 1] || ''
|
||||
let nextMatches = true
|
||||
let prevMatches = true
|
||||
if (current === next) {
|
||||
continue
|
||||
}
|
||||
let j = 0
|
||||
const cl = current.length
|
||||
for (; j < cl; j++) {
|
||||
const curChar = current.charAt(j)
|
||||
nextMatches = nextMatches && curChar === next.charAt(j)
|
||||
prevMatches = prevMatches && curChar === prev.charAt(j)
|
||||
if (!nextMatches && !prevMatches) {
|
||||
j++
|
||||
break
|
||||
}
|
||||
}
|
||||
prev = current
|
||||
if (j === cl) {
|
||||
abbrevs[current] = current
|
||||
continue
|
||||
}
|
||||
for (let a = current.slice(0, j); j <= cl; j++) {
|
||||
abbrevs[a] = current
|
||||
a += current.charAt(j)
|
||||
}
|
||||
}
|
||||
return abbrevs
|
||||
}
|
||||
|
||||
function lexSort (a, b) {
|
||||
return a === b ? 0 : a > b ? 1 : -1
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue