@kyve/core-beta
Version:
🚀 The base KYVE node implementation.
32 lines (31 loc) • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.storageProviderFactory = void 0;
const Arweave_1 = require("../../reactors/storageProviders/Arweave");
const Bundlr_1 = require("../../reactors/storageProviders/Bundlr");
const NoStorageProvider_1 = require("../../reactors/storageProviders/NoStorageProvider");
/**
* storageProviderFactory creates the correct storage provider class
* from the specified id. Current storage providers are:
*
* 0 - NoStorageProvider
* 1 - Arweave
* 2 - Bundlr
* x - NoStorageProvider (default)
*
* @method storageProviderFactory
* @param {Node} this
* @param {number} storageProviderId the id of the storage provider
* @return {Promise<IStorageProvider>}
*/
async function storageProviderFactory(storageProviderId) {
switch (storageProviderId) {
case 1:
return await new Arweave_1.Arweave().init(this.storagePriv);
case 2:
return await new Bundlr_1.Bundlr().init(this.storagePriv);
default:
return await new NoStorageProvider_1.NoStorageProvider().init(this.storagePriv);
}
}
exports.storageProviderFactory = storageProviderFactory;