/usr/local/lib/node_modules/pm2/node_modules/js-git/mixins
NameSizeModeActions
add-cache.js16250644editdlrm
create-tree.js39340644editdlrm
delay.js14610644editdlrm
fall-through.js8110644editdlrm
formats.js36380644editdlrm
fs-db.js105440644editdlrm
indexed-db.js39350644editdlrm
mem-cache.js15720644editdlrm
mem-db.js22890644editdlrm
pack-ops.js59440644editdlrm
path-to-entry.js12630644editdlrm
read-combiner.js7610644editdlrm
sync.js42050644editdlrm
walkers.js39140644editdlrm
websql-db.js44870644editdlrm
Edit: /usr/local/lib/node_modules/pm2/node_modules/js-git/mixins/mem-db.js (2289B)
"use strict"; var defer = require('../lib/defer.js'); var codec = require('../lib/object-codec.js'); var sha1 = require('git-sha1'); module.exports = mixin; var isHash = /^[0-9a-f]{40}$/; function mixin(repo) { var objects = {}; var refs = {}; repo.saveAs = saveAs; repo.loadAs = loadAs; repo.saveRaw = saveRaw; repo.loadRaw = loadRaw; repo.hasHash = hasHash; repo.readRef = readRef; repo.updateRef = updateRef; repo.listRefs = listRefs; function readRef(ref, callback) { return makeAsync(function () { return refs[ref]; }, callback); } function listRefs(prefix, callback) { return makeAsync(function () { var regex = prefix && new RegExp("^" + prefix + "[/$]"); var out = {}; Object.keys(refs).forEach(function (name) { if (regex && !regex.test(name)) return; out[name] = refs[name]; }); return out; }, callback); } function updateRef(ref, hash, callback) { return makeAsync(function () { return (refs[ref] = hash); }, callback); } function hasHash(hash, callback) { return makeAsync(function () { if (!isHash.test(hash)) hash = refs[hash]; return hash in objects; }, callback); } function saveAs(type, body, callback) { return makeAsync(function () { var buffer = codec.frame({type:type,body:body}); var hash = sha1(buffer); objects[hash] = buffer; return hash; }, callback); } function saveRaw(hash, buffer, callback) { return makeAsync(function () { objects[hash] = buffer; }, callback); } function loadAs(type, hash, callback) { return makeAsync(function () { if (!isHash.test(hash)) hash = refs[hash]; var buffer = objects[hash]; if (!buffer) return []; var obj = codec.deframe(buffer, true); if (obj.type !== type) throw new TypeError("Type mismatch"); return obj.body; }, callback); } function loadRaw(hash, callback) { return makeAsync(function () { return objects[hash]; }, callback); } } function makeAsync(fn, callback) { if (!callback) return makeAsync.bind(null, fn); defer(function () { var out; try { out = fn(); } catch (err) { return callback(err); } callback(null, out); }); }