All files / actions notification.ts

70% Statements 7/10
100% Branches 2/2
25% Functions 1/4
70% Lines 7/10
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 35 36 37 38        2x 2x 2x 2x                                 2x       2x       2x          
import { Notification } from '../models/notification.types';
import { ErrorAction } from './action.types';
//tslint:disable:no-reserved-keywords
 
export enum ActionNames {
  list = 'notification.list',
  listResult = 'notification.listResult',
  dismiss = 'notification.dismiss'
}
 
export interface ListNotifications {
  type: ActionNames.list;
}
 
export interface ListNotificationResult extends ErrorAction {
  type: ActionNames.listResult;
  items: Notification[];
}
 
export interface DismissNotification {
  type: ActionNames.dismiss;
  notification: Notification;
}
 
export function listNotification(): ListNotifications {
  return { type: ActionNames.list };
}
 
export function listNotificaitonResult(items: Notification[]): ListNotificationResult {
  return { type: ActionNames.listResult, items };
}
 
export function dismissNotification(notification: Notification): DismissNotification {
  return { type: ActionNames.dismiss, notification };
}
 
export type Actions = ListNotifications | ListNotificationResult | DismissNotification;