(obj: T, key: keyof T, validator: (x: any) => boolean, fallback: T)
| 56 | const errors: string[] = []; |
| 57 | |
| 58 | function validateProperty<T extends Record<string, unknown>>(obj: T, key: keyof T, validator: (x: any) => boolean, fallback: T) { |
| 59 | if (!obj.hasOwnProperty(key) || validator(obj[key])) { |
| 60 | return; |
| 61 | } |
| 62 | errors.push(`Unexpected value for "${key as string}": ${JSON.stringify(obj[key])}`); |
| 63 | obj[key] = fallback[key]; |
| 64 | } |
| 65 | |
| 66 | function validateArray<T extends Record<string, unknown>, V>(obj: T, key: keyof T, validator: (x: V) => boolean) { |
| 67 | if (!obj.hasOwnProperty(key)) { |
no outgoing calls
no test coverage detected