@@ -6,16 +6,21 @@ import type {
66 TravelsControls ,
77 Value ,
88 Updater ,
9- InitialValue ,
9+ PatchesOption ,
1010} from 'travels' ;
1111import { Travels } from 'travels' ;
1212
1313export type { TravelPatches } ;
1414
15- type Result < S , F extends boolean , A extends boolean > = [
15+ type Result <
16+ S ,
17+ F extends boolean ,
18+ A extends boolean ,
19+ P extends PatchesOption = { } ,
20+ > = [
1621 Value < S , F > ,
1722 ( updater : Updater < S > ) => void ,
18- A extends false ? ManualTravelsControls < S , F > : TravelsControls < S , F > ,
23+ A extends false ? ManualTravelsControls < S , F , P > : TravelsControls < S , F , P > ,
1924] ;
2025
2126/**
@@ -24,21 +29,34 @@ type Result<S, F extends boolean, A extends boolean> = [
2429export function useTravel < S , F extends boolean > (
2530 initialState : S
2631) : [ Value < S , F > , ( updater : Updater < S > ) => void , TravelsControls < S , F > ] ;
27- export function useTravel < S , F extends boolean > (
32+ export function useTravel <
33+ S ,
34+ F extends boolean ,
35+ A extends boolean ,
36+ P extends PatchesOption = { } ,
37+ > (
2838 initialState : S ,
29- options : Omit < TravelsOptions < F , true > , 'autoArchive' > & { autoArchive ?: true }
30- ) : [ Value < S , F > , ( updater : Updater < S > ) => void , TravelsControls < S , F > ] ;
31- export function useTravel < S , F extends boolean > (
39+ options : Omit < TravelsOptions < F , true , P > , 'autoArchive' > & {
40+ autoArchive ?: true ;
41+ }
42+ ) : [ Value < S , F > , ( updater : Updater < S > ) => void , TravelsControls < S , F , P > ] ;
43+ export function useTravel <
44+ S ,
45+ F extends boolean ,
46+ A extends boolean ,
47+ P extends PatchesOption = { } ,
48+ > (
3249 initialState : S ,
33- options : Omit < TravelsOptions < F , false > , 'autoArchive' > & {
50+ options : Omit < TravelsOptions < F , false , P > , 'autoArchive' > & {
3451 autoArchive : false ;
3552 }
36- ) : [ Value < S , F > , ( updater : Updater < S > ) => void , ManualTravelsControls < S , F > ] ;
37- export function useTravel < S , F extends boolean , A extends boolean > (
38- initialState : S ,
39- _options : TravelsOptions < F , A > = { }
40- ) : Result < S , F , A > {
41- // Validate options in development mode (using __DEV__ for consistency with existing codebase)
53+ ) : [ Value < S , F > , ( updater : Updater < S > ) => void , ManualTravelsControls < S , F , P > ] ;
54+ export function useTravel <
55+ S ,
56+ F extends boolean ,
57+ A extends boolean ,
58+ P extends PatchesOption = { } ,
59+ > ( initialState : S , _options : TravelsOptions < F , A , P > = { } ) : Result < S , F , A , P > {
4260 if ( __DEV__ ) {
4361 const { maxHistory = 10 , initialPosition = 0 , initialPatches } = _options ;
4462
0 commit comments