@fairdatasociety/fairdrive-opfs
Version:
Fairdrive OPFS - integrate data sources from Web 2.0 or Web 3.0
31 lines (30 loc) • 987 B
JavaScript
/**
* FdpConnectModule is the main entry point for the Fairdrive Connect library.
*/
export class FdpConnectModule {
constructor(config) {
this.config = config;
// connected providers
this.bindings = new Map();
}
/**
* Connects a provider to the module.
* @param providerName Provider name
* @returns A provider instance
*/
async connect(providerName) {
const provider = await this.config.providers[providerName].driver;
const providerInstance = new provider[this.config.providers[providerName].type]();
providerInstance.initialize(this.config.providers[providerName].options);
this.bindings.set(providerName, providerInstance);
return providerInstance;
}
/**
* Gets a connected provider.
* @param providerName Provider name
* @returns A provider instance
*/
getConnectedProviders(providerName) {
return this.bindings.get(providerName);
}
}