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 28 29 30 31 32 33 34 | 1x 109x 109x 109x 38x 38x 17x 82x 23x 14x 59x | import { Inject, Injectable, Optional } from '@angular/core'; import { DynamicFormError } from './dynamic-form-error'; import { DynamicFormErrorSettings, dynamicFormErrorSettingsDefault, DYNAMIC_FORM_ERROR_SETTINGS } from './dynamic-form-error-settings'; import { DynamicFormErrorType } from './dynamic-form-error-type'; import { DynamicFormLogger } from './dynamic-form.logger'; @Injectable() export class DynamicFormErrorHandler { constructor( private logger: DynamicFormLogger, @Optional() @Inject(DYNAMIC_FORM_ERROR_SETTINGS) readonly settings: DynamicFormErrorSettings, ) { this.settings = this.settings || dynamicFormErrorSettingsDefault; } handle<ErrorType extends DynamicFormErrorType = DynamicFormErrorType>(error: DynamicFormError<ErrorType>): void { this.logger.error(error.type, error.message); if (this.settings.throw) { throw error; } } handleUndefined<Value, ErrorType extends DynamicFormErrorType = DynamicFormErrorType>( value: Value | undefined, createError: () => DynamicFormError<ErrorType>, ): Value | undefined { if (!value) { this.handle(createError()); return undefined; } return value; } } |