function tryToHandleHistoryAction()

in packages/redux-dag-history/src/reducer.ts [41:113]


	function tryToHandleHistoryAction(
		history: DagHistory<T>,
		action: Action<any>,
	): DagHistory<T> {
		switch (action.type) {
			case config.loadActionType:
				history = DagHistoryImpl.load<T>(action.payload)
				break

			case config.clearActionType:
				history = DagHistoryImpl.clear(history, config)
				break

			case config.undoActionType:
				history = DagHistoryImpl.undo(history)
				break

			case config.redoActionType:
				history = DagHistoryImpl.redo(history)
				break

			case config.jumpToStateActionType:
				history = DagHistoryImpl.jumpToState(action.payload, history)
				break

			case config.jumpToBranchActionType:
				history = DagHistoryImpl.jumpToBranch(action.payload, history)
				break

			case config.jumpToLatestOnBranchActionType:
				history = DagHistoryImpl.jumpToLatestOnBranch(action.payload, history)
				break

			case config.createBranchActionType:
				history = DagHistoryImpl.createBranch(action.payload, history)
				break

			case config.squashActionType:
				history = DagHistoryImpl.squash(history)
				break

			case config.renameBranchActionType:
				history = DagHistoryImpl.renameBranch(
					action.payload.branch,
					action.payload.name,
					history,
				)
				break

			case config.renameStateActionType:
				history = DagHistoryImpl.renameState(
					action.payload.stateId,
					action.payload.name as string,
					history,
				)
				break

			case config.skipToStartActionType:
				history = DagHistoryImpl.skipToStart(history)
				break

			case config.skipToEndActionType:
				history = DagHistoryImpl.skipToEnd(history)
				break

			default:
				if (config.canHandleAction(action)) {
					history = config.handleAction(action, history)
				}
		}

		return history
	}