* Throws an exception if data does not contains exactly one field * mentioned in the alternativeFields array. * @param {!Object} data * @param {!Array } alternativeFields
(data, alternativeFields)
| 239 | * @param {!Array<string>} alternativeFields |
| 240 | */ |
| 241 | function validateExactlyOne(data, alternativeFields) { |
| 242 | userAssert( |
| 243 | alternativeFields.filter((field) => data[field]).length === 1, |
| 244 | '%s must contain exactly one of attributes: %s.', |
| 245 | data.type, |
| 246 | alternativeFields.join(', ') |
| 247 | ); |
| 248 | } |
| 249 | |
| 250 | /** |
| 251 | * Throws a non-interrupting exception if data contains a field not supported |
no test coverage detected