Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 5x 5x 18x 1x 5x 10x 2x 8x 8x 19x 1x 1x 18x | import { CustomerVariablesRecord, CustomerVariableType, CustomerVariableValue } from '../types'
const allowedKeys = Object.values(CustomerVariableType)
function assertIsCustomerVariableValue(value: unknown, key: string): asserts value is CustomerVariableValue {
if (typeof value !== 'string' && value !== null && value !== undefined) {
throw new TypeError(`Secrets Manager secret contains an invalid value ${key}: ${value}`)
}
}
export function validateSecret(obj: unknown): asserts obj is CustomerVariablesRecord {
if (!obj || typeof obj !== 'object') {
throw new TypeError('Secrets Manager secret is not an object')
}
const secret = obj as Record<CustomerVariableType, CustomerVariableValue>
for (const [key, value] of Object.entries(secret)) {
if (!allowedKeys.includes(key as CustomerVariableType)) {
console.warn(`Secrets Manager secret contains an invalid key: ${key}`)
continue
}
assertIsCustomerVariableValue(value, key)
}
}
|