(
state: QueryState<TData, TError>,
action: Action<TData, TError>
)
| 559 | } |
| 560 | |
| 561 | protected reducer( |
| 562 | state: QueryState<TData, TError>, |
| 563 | action: Action<TData, TError> |
| 564 | ): QueryState<TData, TError> { |
| 565 | switch (action.type) { |
| 566 | case 'failed': |
| 567 | return { |
| 568 | ...state, |
| 569 | fetchFailureCount: state.fetchFailureCount + 1, |
| 570 | } |
| 571 | case 'pause': |
| 572 | return { |
| 573 | ...state, |
| 574 | isPaused: true, |
| 575 | } |
| 576 | case 'continue': |
| 577 | return { |
| 578 | ...state, |
| 579 | isPaused: false, |
| 580 | } |
| 581 | case 'fetch': |
| 582 | return { |
| 583 | ...state, |
| 584 | fetchFailureCount: 0, |
| 585 | fetchMeta: action.meta ?? null, |
| 586 | isFetching: true, |
| 587 | isPaused: false, |
| 588 | ...(!state.dataUpdatedAt && { |
| 589 | error: null, |
| 590 | status: 'loading', |
| 591 | }), |
| 592 | } |
| 593 | case 'success': |
| 594 | return { |
| 595 | ...state, |
| 596 | data: action.data, |
| 597 | dataUpdateCount: state.dataUpdateCount + 1, |
| 598 | dataUpdatedAt: action.dataUpdatedAt ?? Date.now(), |
| 599 | error: null, |
| 600 | fetchFailureCount: 0, |
| 601 | isFetching: false, |
| 602 | isInvalidated: false, |
| 603 | isPaused: false, |
| 604 | status: 'success', |
| 605 | } |
| 606 | case 'error': |
| 607 | const error = action.error as unknown |
| 608 | |
| 609 | if (isCancelledError(error) && error.revert && this.revertState) { |
| 610 | return { ...this.revertState } |
| 611 | } |
| 612 | |
| 613 | return { |
| 614 | ...state, |
| 615 | error: error as TError, |
| 616 | errorUpdateCount: state.errorUpdateCount + 1, |
| 617 | errorUpdatedAt: Date.now(), |
| 618 | fetchFailureCount: state.fetchFailureCount + 1, |
no test coverage detected