'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
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
var restArgs = require('./restArgs');
var isSorted = require('./isSorted');
exports = restArgs(function(names) {
    names = names.sort(isSorted.defComparator);
    var ret = {};
    var idleMap = {};
    for (var i = 0, len = names.length; i < len; i++) {
        var str = names[i];
        var nextStr = names[i + 1] || '';
        if (str === nextStr) continue;
        var start = false;
        var abbrev = '';
        for (var j = 0, strLen = str.length; j < strLen; j++) {
            abbrev += str[j];
            if (!start && (str[j] !== nextStr[j] || j === strLen - 1)) {
                start = true;
            }
            if (!start) {
                idleMap[abbrev] = str;
            } else if (!ret[abbrev] && !idleMap[abbrev]) {
                ret[abbrev] = str;
            }
        }
    }
    return ret;
});
 
module.exports = exports;