MCPcopy Create free account
hub / github.com/SvelteStack/svelte-query / reducer

Method reducer

src/queryCore/core/query.ts:561–636  ·  view source on GitHub ↗
(
    state: QueryState<TData, TError>,
    action: Action<TData, TError>
  )

Source from the content-addressed store, hash-verified

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,

Callers 1

dispatchMethod · 0.95

Calls 1

isCancelledErrorFunction · 0.90

Tested by

no test coverage detected