@vimeo/iris
Version:
Vimeo Design System
23 lines (20 loc) • 797 B
JavaScript
import { c as __assign } from '../../tslib.es6-7f0e734f.js';
function reducer(duration) {
return function (state, action) {
switch (action) {
case 'PAUSE':
return __assign(__assign({}, state), { active: false });
case 'RESUME':
return __assign(__assign({}, state), { active: true });
case 'RESET':
return __assign(__assign({}, state), { time: duration });
case 'TICK':
return __assign(__assign({}, state), { time: state.time - 100 });
case 'HIDE':
return __assign(__assign({}, state), { showing: false });
case 'SHOW':
return __assign(__assign({}, state), { showing: true });
}
};
}
export { reducer };