Skip to content

Commit b471c35

Browse files
committed
[persisters] useCreatePersister generics
1 parent 3f2b365 commit b471c35

File tree

3 files changed

+18
-12
lines changed

3 files changed

+18
-12
lines changed

src/types/ui-react.d.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -835,13 +835,15 @@ export function useCheckpointListener(
835835
): void;
836836

837837
/// useCreatePersister
838-
export function useCreatePersister(
838+
export function useCreatePersister<
839+
PersisterOrUndefined extends Persister | undefined,
840+
>(
839841
store: Store,
840-
create: (store: Store) => Persister | undefined,
842+
create: (store: Store) => PersisterOrUndefined,
841843
createDeps?: React.DependencyList,
842-
then?: (persister?: Persister) => Promise<void>,
844+
then?: (persister: PersisterOrUndefined) => Promise<void>,
843845
thenDeps?: React.DependencyList,
844-
): Persister | undefined;
846+
): PersisterOrUndefined;
845847

846848
/// ExtraProps
847849
export type ExtraProps = {[propName: string]: any};

src/types/with-schemas/ui-react.d.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -991,13 +991,15 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
991991
) => void;
992992

993993
/// useCreatePersister
994-
useCreatePersister: (
994+
useCreatePersister: <
995+
PersisterOrUndefined extends Persister<Schemas> | undefined,
996+
>(
995997
store: Store<Schemas>,
996-
create: (store: Store<Schemas>) => Persister<Schemas> | undefined,
998+
create: (store: Store<Schemas>) => PersisterOrUndefined,
997999
createDeps?: React.DependencyList,
998-
then?: (persister?: Persister<Schemas>) => Promise<void>,
1000+
then?: (persister?: PersisterOrUndefined) => Promise<void>,
9991001
thenDeps?: React.DependencyList,
1000-
) => Persister<Schemas> | undefined;
1002+
) => PersisterOrUndefined;
10011003

10021004
/// ExtraProps
10031005
ExtraProps: ExtraProps;

src/ui-react/hooks.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1500,13 +1500,15 @@ export const useCheckpointListener: typeof useCheckpointListenerDecl = (
15001500
[checkpointId],
15011501
);
15021502

1503-
export const useCreatePersister: typeof useCreatePersisterDecl = (
1503+
export const useCreatePersister: typeof useCreatePersisterDecl = <
1504+
PersisterOrUndefined extends Persister | undefined,
1505+
>(
15041506
store: Store,
1505-
create: (store: Store) => Persister | undefined,
1507+
create: (store: Store) => PersisterOrUndefined,
15061508
createDeps: React.DependencyList = [],
1507-
then?: (persister?: Persister) => Promise<void>,
1509+
then?: (persister: PersisterOrUndefined) => Promise<void>,
15081510
thenDeps: React.DependencyList = [],
1509-
): Persister | undefined => {
1511+
): PersisterOrUndefined => {
15101512
const [, setDone] = useState<1>();
15111513
const persister = useMemo(
15121514
() => create(store),

0 commit comments

Comments
 (0)