direct-dev
Version:
Yandex Direct dev tools
17 lines (13 loc) • 733 B
JavaScript
var stdoutWrite = process.stdout.write.bind(process.stdout);
var escape = function escape(str) {
if (!str) return '';
return str.toString().replace(/\|/g, '||').replace(/\n/g, '|n').replace(/\r/g, '|r').replace(/\[/g, '|[').replace(/]/g, '|]').replace(/:/g, '|0x003A').replace(/@/g, '|0x0040').replace(/\u0085/g, '|x').replace(/\u2028/g, '|l').replace(/\u2029/g, '|p').replace(/'/g, '|\'');
};
var write = function write(type, params) {
var data = Object.keys(params).map(function (fld) {
return escape(fld) + '=\'' + escape(params[fld]) + '\'';
}).join(' ');
stdoutWrite('##teamcity[' + escape(type) + ' ' + data + ']\n');
};
module.exports = { write: write, stdoutWrite: stdoutWrite };
;