loop-modules
Version:
Shared modules for the Loop product suite.
58 lines (57 loc) • 1.86 kB
JavaScript
import { type } from '../utils/type';
var CATEGORY = 'LoopDocument';
export var ActionTypes = {
QUERY: type("[" + CATEGORY + "] Query"),
ADD_SELECTED: type("[" + CATEGORY + "] Add Selected"),
REMOVE_SELECTED: type("[" + CATEGORY + "] Remove Selected"),
SET_ENTRIES: type("[" + CATEGORY + "] Set Entries"),
SET_SELECTED: type("[" + CATEGORY + "] Set Selected"),
};
/**
* Every action is comprised of at least a type and an optional
* payload. Expressing actions as classes enables powerful
* type checking in reducer functions.
*
* See Discriminated Unions: https://www.typescriptlang.org/docs/handbook/advanced-types.html#discriminated-unions
*/
var QueryAction = (function () {
function QueryAction(payload) {
this.payload = payload;
this.type = ActionTypes.QUERY;
}
return QueryAction;
}());
export { QueryAction };
var AddSelectedAction = (function () {
function AddSelectedAction(payload) {
this.payload = payload;
this.type = ActionTypes.ADD_SELECTED;
}
return AddSelectedAction;
}());
export { AddSelectedAction };
var RemoveSelectedAction = (function () {
function RemoveSelectedAction(payload) {
this.payload = payload;
this.type = ActionTypes.REMOVE_SELECTED;
}
return RemoveSelectedAction;
}());
export { RemoveSelectedAction };
var SetEntriesAction = (function () {
function SetEntriesAction(payload) {
if (payload === void 0) { payload = []; }
this.payload = payload;
this.type = ActionTypes.SET_ENTRIES;
}
return SetEntriesAction;
}());
export { SetEntriesAction };
var SetSelectedAction = (function () {
function SetSelectedAction(payload) {
this.payload = payload;
this.type = ActionTypes.SET_SELECTED;
}
return SetSelectedAction;
}());
export { SetSelectedAction };