1234567891011121314151617181920212223242526 |
- var modes = require('../lib/modes');
- module.exports = function (local, remote) {
- var loadAs = local.loadAs;
- local.loadAs = newLoadAs;
- function newLoadAs(type, hash, callback) {
- if (!callback) return newLoadAs.bind(local. type, hash);
- loadAs.call(local, type, hash, function (err, body) {
- if (err) return callback(err);
- if (body === undefined) return remote.loadAs(type, hash, callback);
- callback(null, body);
- });
- }
- var readRef = local.readRef;
- local.readRef = newReadRef;
- function newReadRef(ref, callback) {
- if (!callback) return newReadRef.bind(local. ref);
- readRef.call(local, ref, function (err, body) {
- if (err) return callback(err);
- if (body === undefined) return remote.readRef(ref, callback);
- callback(null, body);
- });
- }
- };
|