( subscriber: string, config: RawSubscriber )
| 218 | } |
| 219 | |
| 220 | function parseTriggerDefaults( |
| 221 | subscriber: string, |
| 222 | config: RawSubscriber |
| 223 | ): SubscriberTriggerDefaults { |
| 224 | const defaults: SubscriberTriggerDefaults = {}; |
| 225 | |
| 226 | for (const { field, output, isValid, expected } of TRIGGER_NUMBER_FIELDS) { |
| 227 | const value = config[field]; |
| 228 | if (value === undefined) { |
| 229 | continue; |
| 230 | } |
| 231 | if (typeof value !== 'number' || !isValid(value)) { |
| 232 | throw subscriberError( |
| 233 | `subscriber "${subscriber}" field "${field}" must be ${expected}` |
| 234 | ); |
| 235 | } |
| 236 | defaults[output] = value; |
| 237 | } |
| 238 | |
| 239 | return defaults; |
| 240 | } |
| 241 | |
| 242 | function subscriberError(message: string): NowBuildError { |
| 243 | return new NowBuildError({ |
no test coverage detected