commerce/lib/spree/utils/require-config.ts
2024-05-21 20:00:11 +05:00

15 lines
493 B
TypeScript

import MissingConfigurationValueError from '../errors/MissingConfigurationValueError';
import type { NonUndefined, ValueOf } from '../types';
const requireConfig = <T>(isomorphicConfig: T, key: keyof T) => {
const valueUnderKey = isomorphicConfig[key];
if (typeof valueUnderKey === 'undefined') {
throw new MissingConfigurationValueError(`Value for configuration key ${key} was undefined.`);
}
return valueUnderKey as NonUndefined<ValueOf<T>>;
};
export default requireConfig;