@rsksmart/rif-storage
Version:
Library integrating distributed storage projects
51 lines (50 loc) • 2.25 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isDirectory = exports.isFile = exports.swarm = exports.ipfs = exports.Manager = void 0;
const ipfs_1 = __importDefault(require("./providers/ipfs"));
exports.ipfs = ipfs_1.default;
const swarm_1 = __importDefault(require("./providers/swarm"));
exports.swarm = swarm_1.default;
const definitions_1 = require("./definitions");
const manager_1 = require("./manager");
Object.defineProperty(exports, "Manager", { enumerable: true, get: function () { return manager_1.Manager; } });
/**
* Main entry point of the library that serves as a factory to create instances of StorageProvider
* for given provider.
*
* @param provider
* @param options
*/
function factory(provider, options) {
if (!options) {
throw new Error('You have to pass options!');
}
switch (provider) {
case definitions_1.Provider.IPFS:
return ipfs_1.default(options);
case definitions_1.Provider.SWARM:
return swarm_1.default(options);
case definitions_1.Provider.MANAGER: // returns Local Storage StorageProvider's implementation
return new manager_1.Manager();
default:
throw Error('unknown provider');
}
}
exports.default = factory;
var utils_1 = require("./utils");
Object.defineProperty(exports, "isFile", { enumerable: true, get: function () { return utils_1.isFile; } });
Object.defineProperty(exports, "isDirectory", { enumerable: true, get: function () { return utils_1.isDirectory; } });
__exportStar(require("./definitions"), exports);