/usr/local/lib/node_modules/pm2/node_modules/js-git/lib
NameSizeModeActions
apply-delta.js18400644editdlrm
config-codec.js15220644editdlrm
defer.js7340644editdlrm
deflate.js2490644editdlrm
find-common.js12850644editdlrm
git-fs.js31430644editdlrm
inflate-stream.js9670644editdlrm
inflate.js2490644editdlrm
modes.js7280644editdlrm
object-codec.js63180644editdlrm
pack-codec.js80600644editdlrm
pkt-line.js31440644editdlrm
wrap-handler.js3700644editdlrm
Edit: /usr/local/lib/node_modules/pm2/node_modules/js-git/lib/config-codec.js (1522B)
"use strict"; // This is for working with git config files like .git/config and .gitmodules. // I believe this is just INI format. module.exports = { encode: encode, decode: decode }; function encode(config) { var lines = []; Object.keys(config).forEach(function (name) { var obj = config[name]; var deep = {}; var values = {}; var hasValues = false; Object.keys(obj).forEach(function (key) { var value = obj[key]; if (typeof value === 'object') { deep[key] = value; } else { hasValues = true; values[key] = value; } }); if (hasValues) { encodeBody('[' + name + ']', values); } Object.keys(deep).forEach(function (sub) { var child = deep[sub]; encodeBody('[' + name + ' "' + sub + '"]', child); }); }); return lines.join("\n") + "\n"; function encodeBody(header, obj) { lines.push(header); Object.keys(obj).forEach(function (name) { lines.push( "\t" + name + " = " + obj[name]); }); } } function decode(text) { var config = {}; var section; text.split(/[\r\n]+/).forEach(function (line) { var match = line.match(/\[([^ \t"\]]+) *(?:"([^"]+)")?\]/); if (match) { section = config[match[1]] || (config[match[1]] = {}); if (match[2]) { section = section[match[2]] = {}; } return; } match = line.match(/([^ \t=]+)[ \t]*=[ \t]*(.+)/); if (match) { section[match[1]] = match[2]; } }); return config; }