@ai-sdk/provider-utils
Version:
31 lines (26 loc) • 747 B
text/typescript
/**
* Loads an optional `string` setting from the environment or a parameter.
*
* @param settingValue - The setting value.
* @param environmentVariableName - The environment variable name.
* @returns The setting value.
*/
export function loadOptionalSetting({
settingValue,
environmentVariableName,
}: {
settingValue: string | undefined;
environmentVariableName: string;
}): string | undefined {
if (typeof settingValue === 'string') {
return settingValue;
}
if (settingValue != null || typeof process === 'undefined') {
return undefined;
}
settingValue = process.env[environmentVariableName];
if (settingValue == null || typeof settingValue !== 'string') {
return undefined;
}
return settingValue;
}