mirror of
https://github.com/vercel/commerce.git
synced 2025-06-28 01:11:24 +00:00
17 lines
509 B
TypeScript
17 lines
509 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.toString()} was undefined.`
|
|
)
|
|
}
|
|
|
|
return valueUnderKey as NonUndefined<ValueOf<T>>
|
|
}
|
|
|
|
export default requireConfig
|