UNPKG

@kyve/core-beta

Version:

🚀 The base KYVE node implementation.

34 lines (32 loc) • 1.06 kB
import { Node } from "../.."; import { IStorageProvider } from "../.."; import { Arweave } from "../../reactors/storageProviders/Arweave"; import { Bundlr } from "../../reactors/storageProviders/Bundlr"; import { NoStorageProvider } from "../../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>} */ export async function storageProviderFactory( this: Node, storageProviderId: number ): Promise<IStorageProvider> { switch (storageProviderId) { case 1: return await new Arweave().init(this.storagePriv); case 2: return await new Bundlr().init(this.storagePriv); default: return await new NoStorageProvider().init(this.storagePriv); } }