2 * Copyright © 2018 European Support Limited
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 import { takeEvery, put } from 'redux-saga/effects';
17 import { delay } from 'redux-saga';
21 } from 'shared/notifications/notificationsConstants.js';
22 import { notificationActions } from 'shared/notifications/notificationsActions';
24 export function* handleComingNotifications(params) {
25 const { timeout, ...data } = params;
26 const interval = timeout || notificationTimeout;
27 yield delay(interval);
28 yield put(notificationActions.removeNotification(data.payload));
31 export function* watchNotifications() {
32 yield takeEvery(actionTypes.ADD_NOTIFICATION, handleComingNotifications);