Unify interfaces
This commit is contained in:
parent
6b62f5cc40
commit
491f1decff
4 changed files with 15 additions and 15 deletions
|
@ -9,14 +9,12 @@ import { useIntl } from "react-intl";
|
|||
|
||||
import { commonMessages } from "@saleor/intl";
|
||||
import { maybe, getMutationStatus } from "@saleor/misc";
|
||||
import { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton";
|
||||
import { MutationResultAdditionalProps } from "@saleor/types";
|
||||
import useNotifier from "./useNotifier";
|
||||
|
||||
export type UseMutation<TData, TVariables> = [
|
||||
MutationFunction<TData, TVariables>,
|
||||
MutationResult<TData> & {
|
||||
state: ConfirmButtonTransitionState;
|
||||
}
|
||||
MutationResult<TData> & MutationResultAdditionalProps
|
||||
];
|
||||
export type UseMutationCbs<TData> = Partial<{
|
||||
onCompleted: (data: TData) => void;
|
||||
|
|
10
src/misc.ts
10
src/misc.ts
|
@ -6,7 +6,11 @@ import urlJoin from "url-join";
|
|||
import { ConfirmButtonTransitionState } from "./components/ConfirmButton/ConfirmButton";
|
||||
import { APP_MOUNT_URI } from "./config";
|
||||
import { AddressType, AddressTypeInput } from "./customers/types";
|
||||
import { PartialMutationProviderOutput, UserError } from "./types";
|
||||
import {
|
||||
PartialMutationProviderOutput,
|
||||
UserError,
|
||||
MutationResultAdditionalProps
|
||||
} from "./types";
|
||||
import {
|
||||
AddressInput,
|
||||
AuthorizationKeyType,
|
||||
|
@ -250,9 +254,7 @@ export function getMutationStatus<
|
|||
|
||||
export function getMutationProviderData<TData, TVariables>(
|
||||
mutateFn: MutationFunction<TData, TVariables>,
|
||||
opts: MutationResult<TData> & {
|
||||
state: ConfirmButtonTransitionState;
|
||||
}
|
||||
opts: MutationResult<TData> & MutationResultAdditionalProps
|
||||
): PartialMutationProviderOutput<TData, TVariables> {
|
||||
return {
|
||||
mutate: variables => mutateFn({ variables }),
|
||||
|
|
|
@ -7,14 +7,12 @@ import { useIntl } from "react-intl";
|
|||
import useNotifier from "./hooks/useNotifier";
|
||||
import { commonMessages } from "./intl";
|
||||
import { maybe, getMutationStatus } from "./misc";
|
||||
import { ConfirmButtonTransitionState } from "./components/ConfirmButton";
|
||||
import { MutationResultAdditionalProps } from "./types";
|
||||
|
||||
export interface TypedMutationInnerProps<TData, TVariables> {
|
||||
children: (
|
||||
mutateFn: MutationFunction<TData, TVariables>,
|
||||
result: MutationResult<TData> & {
|
||||
state: ConfirmButtonTransitionState;
|
||||
}
|
||||
result: MutationResult<TData> & MutationResultAdditionalProps
|
||||
) => React.ReactNode;
|
||||
onCompleted?: (data: TData) => void;
|
||||
onError?: (error: ApolloError) => void;
|
||||
|
|
|
@ -114,9 +114,7 @@ export interface PartialMutationProviderOutput<
|
|||
TData extends {} = {},
|
||||
TVariables extends {} = {}
|
||||
> {
|
||||
opts: MutationResult<TData> & {
|
||||
state: ConfirmButtonTransitionState;
|
||||
};
|
||||
opts: MutationResult<TData> & MutationResultAdditionalProps;
|
||||
mutate: (variables: TVariables) => void;
|
||||
}
|
||||
|
||||
|
@ -171,3 +169,7 @@ export type TabActionDialog = "save-search" | "delete-search";
|
|||
export interface UserPermissionProps {
|
||||
userPermissions: User_permissions[];
|
||||
}
|
||||
|
||||
export interface MutationResultAdditionalProps {
|
||||
state: ConfirmButtonTransitionState;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue