OptionalautoArchive?: AOptionaldevtools?: (event: TravelsDevtoolsEvent<any, P>) => voidOptional hook for external devtools or debugging timelines.
Optionalhistory?: TravelsHistory<P>Restore validated serialized history. This is equivalent to passing
initialPatches and initialPosition directly, but preserves the first-class
persistence API shape returned by Travels.deserialize(...).
OptionalinitialPatches?: TravelPatches<P>The initial patches of the history
OptionalinitialPosition?: numberThe initial position in the history, by default 0
OptionalmaxHistory?: numberThe maximum number of history to keep, by default 10
Optionalmutable?: booleanWhether to mutate the state in place (for observable state like MobX, Vue, Pinia) When true, apply patches directly to the existing state object When false (default), create new immutable state objects
OptionalonBranchDiscard?: (event: TravelsBranchDiscardEvent<P>) => voidCalled when undoing and then making a new edit discards redo history.
OptionalonError?: (error: Error) => voidCalled when Travels wraps a thrown core operation error.
OptionalstrictInitialPatches?: booleanWhether to throw when initialPatches is invalid.
When false (default), invalid patches are discarded and history starts empty.
OptionalwarnOnUnsupportedState?: booleanWhether to warn in development when state contains values with weak patch or
JSON persistence semantics, by default true in development.
OptionalpatchesOptions?: P
Whether to automatically archive the current state, by default
true