GitHub

DaffContactEffects

import { DaffContactEffects } from '@daffodil/contact/state'

@Injectable()
class DaffContactEffects {
  trySubmission$: Observable<Action> = createEffect(() =>
      this.actions$.pipe(
        ofType(
          DaffContactActionTypes.Submit,
          DaffContactActionTypes.Retry,
          DaffContactActionTypes.Cancel,
        ),
        switchMap(
          (
            action:
            | DaffContactSubmit
            | DaffContactRetry,
          ) => {
            if (action instanceof DaffContactCancel) {
              return EMPTY;
            } else {
              return this.submitContact(action.payload);
            }
          },
        ),
      ),
    )
}