Unify interfaces

This commit is contained in:
dominik-zeglen 2019-12-06 18:14:19 +01:00
parent 6b62f5cc40
commit 491f1decff
4 changed files with 15 additions and 15 deletions

View file

@ -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;

View file

@ -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 }),

View file

@ -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;

View file

@ -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;
}