未验证 提交 9403d247 编写于 作者: B beyondgfw

Improve compact file generation.

上级 1d8b5b75
module.exports = function (generateEntry, generateComment) {
return function (data) {
var entries = {};
data.hosts.forEach(function (block) {
block.items.forEach(function (item) {
if (item.comment === undefined) {
if (entries[item.ip] === undefined) entries[item.ip] = [];
if (item.domain !== undefined) entries[item.ip].push(item.domain);
else {
item.domains.forEach(function (domain) {
entries[item.ip].push(domain);
});
}
}
});
});
var output = '';
output += generateComment(data.header) + '\n';
for (var ip in entries) {
output += generateEntry(ip, entries[ip]) + '\n';
}
output += '\n' + generateComment(data.footer);
return output;
};
};
module.exports = function (generateEntry, generateComment, compact = false) {
module.exports = function (generateEntry, generateComment) {
return function (data) {
var output = '', blocks = [];
output += generateComment(data.header) + '\n';
......@@ -10,7 +10,6 @@ module.exports = function (generateEntry, generateComment, compact = false) {
tmp += generateComment(item.comment);
} else {
if (item.domain !== undefined) tmp += generateEntry(item.ip, item.domain) + '\n';
else if (compact) tmp += generateEntry(item.ip, item.domains) + '\n';
else {
item.domains.forEach(function (domain) {
tmp += generateEntry(item.ip, domain) + '\n';
......
......@@ -2,12 +2,11 @@ module.exports = {
fileName: 'hosts-compact',
generate: (function () {
var generateEntry = function (ip, domain) {
if (Array.isArray(domain)) domain = domain.join(' ');
return `${ip}\t${domain}`;
return `${ip}\t${domain.join(' ')}`;
};
var generateComment = function (data) {
return data.replace(/^(.)/gm, '# $1');
};
return require('../generate-helper')(generateEntry, generateComment, true);
return require('../generate-helper-compact')(generateEntry, generateComment);
})()
};
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册