// lists.ts // Copyright (C) 2020 Dwayne Harris // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . import { Action } from 'redux' export interface ListAppendAction extends Action { type: 'LISTS_APPEND' payload: { key: string entities: string[] continuation?: string } } export interface ListSetAction extends Action { type: 'LISTS_SET' payload: { key: string entities: string[] continuation?: string } } export type ListsActions = ListAppendAction | ListSetAction export const listAppend = (key: string, entities: string[], continuation?: string): ListAppendAction => ({ type: 'LISTS_APPEND', payload: { key, entities, continuation, }, }) export const listSet = (key: string, entities: string[], continuation?: string): ListSetAction => ({ type: 'LISTS_SET', payload: { key, entities, continuation, }, })