Skip to content
This repository was archived by the owner on Feb 11, 2021. It is now read-only.

Commit 9811f1a

Browse files
committed
Change remove trigger to cancel trigger.
In order to simplify and clearly communicate to the user of the middleware, remove is changed to cancel, and instead of creating a trigger and then creating an action for the trigger, it is consolidated into one step. This means for the user of the library to cancel a trigger, they will have to access the action.trigger object to pass in to the cancelTrigger function.
1 parent 9e6ea29 commit 9811f1a

File tree

2 files changed

+15
-31
lines changed

2 files changed

+15
-31
lines changed

examples/simple/triggers/primeStateTriggers.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ function queueMatcher( state ) {
1212
}
1313

1414
export function addQueueTrigger() {
15-
return addTrigger( createTrigger(
15+
return addTrigger(
1616
queueMatcher,
1717
( match ) => {
1818
return [
1919
checkNextPrimeAction(),
2020
addQueueTrigger(),
2121
];
2222
}
23-
) );
23+
);
2424
}
2525

src/index.js

Lines changed: 13 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
const REDUX_TRIGGER_ADD = 'REDUX_TRIGGER_ADD';
3-
const REDUX_TRIGGER_REMOVE = 'REDUX_TRIGGER_REMOVE';
3+
const REDUX_TRIGGER_CANCEL = 'REDUX_TRIGGER_CANCEL';
44

55
/**
66
* Middleware creator.
@@ -11,15 +11,15 @@ function createTriggerMiddleware() {
1111
return ( store ) => ( next ) => ( action ) => {
1212
switch ( action.type ) {
1313
case REDUX_TRIGGER_ADD:
14-
triggers.unshift( action.payload );
14+
triggers.unshift( action.trigger );
1515

1616
console.log("** redux-trigger add! **");
1717
console.log( triggers );
1818
return true;
19-
case REDUX_TRIGGER_REMOVE:
20-
triggers.splice( triggers.indexOf( action.payload ), 1 );
19+
case REDUX_TRIGGER_CANCEL:
20+
triggers.splice( triggers.indexOf( action.trigger ), 1 );
2121

22-
console.log("** redux-trigger remove! **");
22+
console.log("** redux-trigger cancel! **");
2323
console.log( triggers );
2424
return true;
2525
default:
@@ -46,48 +46,32 @@ function checkTriggers( store, triggers ) {
4646
}
4747
}
4848

49-
5049
/**
51-
* Convenience function to create a trigger object.
50+
* Creates an action to add a new trigger.
5251
*
5352
* @param Function matcher ( state )
5453
* return match object when trigger should fire, or null if no match.
5554
* @param Function actionCreator ( match )
5655
* create action using match object.
57-
* @return Object The trigger object.
58-
*/
59-
export function createTrigger( matcher, actionCreator ) {
60-
return {
61-
matcher,
62-
actionCreator
63-
};
64-
}
65-
66-
/**
67-
* Trigger add action creator.
68-
*
69-
* @param Object trigger
70-
* The trigger object to be added. Must be in the format:
71-
* { matcher, actionCreator }
7256
* @return Object The trigger action to be dispatched.
7357
*/
74-
export function addTrigger( trigger ) {
58+
export function addTrigger( matcher, actionCreator ) {
7559
return {
7660
type: REDUX_TRIGGER_ADD,
77-
payload: trigger
61+
trigger: { matcher, actionCreator }
7862
};
7963
}
8064

8165
/**
82-
* Trigger remove action creator.
66+
* Creates an action to cancel a trigger.
8367
*
84-
* @param Object trigger The trigger object to be removed.
68+
* @param Object trigger The trigger object to cancel.
8569
* @return Object The trigger action to be dispatched.
8670
*/
87-
export function removeTrigger( trigger ) {
71+
export function cancelTrigger( trigger ) {
8872
return {
89-
type: REDUX_TRIGGER_REMOVE,
90-
payload: trigger
73+
type: REDUX_TRIGGER_CANCEL,
74+
trigger
9175
};
9276
}
9377

0 commit comments

Comments
 (0)