import { ProviderConfigResolver, ResolvedProviderConfig } from './types'; import { EnvConfigResolverImpl } from './EnvConfigResolverImpl'; export class ProviderConfigResolverImpl implements ProviderConfigResolver { private readonly huaweiResolver = new EnvConfigResolverImpl(); constructor(private readonly env: string) {} resolve(): ResolvedProviderConfig { const provider = process.env.OSS_PROVIDER; switch (provider) { case 'huawei': { const options = this.huaweiResolver.resolveHuaweiConfig(this.env); return { providerConfig: { type: 'huawei', options }, cdnBaseUrl: options.cdnBaseUrl, }; } default: throw new Error(`Unsupported OSS_PROVIDER: ${provider}, expected huawei`); } } }