import ProviderBase from './ProviderBase'; export default abstract class CloudProviderBase extends ProviderBase { private fetchedSecrets: Record = {}; public async getSecret(secretName: string) { const fetchedValue = this.fetchedSecrets[secretName]; if (fetchedValue) { return fetchedValue; } const secretValue = await this.getSecretData(secretName); this.fetchedSecrets[secretName] = secretValue; return secretValue; } protected abstract getSecretData( secretName: string ): Promise; }