@rsksmart/rif-storage
Version:
Library integrating distributed storage projects
31 lines (30 loc) • 928 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const definitions_1 = require("../definitions");
const debug_1 = __importDefault(require("debug"));
const swarm_mini_1 = require("../swarm-mini");
const log = debug_1.default('rds:swarm');
function isBzz(client) {
client = client;
return client instanceof swarm_mini_1.Bzz;
}
/**
* Factory for supporting Swarm
*
* @param options
* @constructor
*/
function SwarmFactory(options) {
const bzz = isBzz(options) ? options : new swarm_mini_1.Bzz(options);
log('swarm client connected');
return {
type: definitions_1.Provider.SWARM,
get: bzz.get.bind(bzz),
getReadable: bzz.getReadable.bind(bzz),
put: bzz.put.bind(bzz)
};
}
exports.default = SwarmFactory;