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 { commonMessages } from "@saleor/intl";
import { maybe, getMutationStatus } from "@saleor/misc"; import { maybe, getMutationStatus } from "@saleor/misc";
import { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton"; import { MutationResultAdditionalProps } from "@saleor/types";
import useNotifier from "./useNotifier"; import useNotifier from "./useNotifier";
export type UseMutation<TData, TVariables> = [ export type UseMutation<TData, TVariables> = [
MutationFunction<TData, TVariables>, MutationFunction<TData, TVariables>,
MutationResult<TData> & { MutationResult<TData> & MutationResultAdditionalProps
state: ConfirmButtonTransitionState;
}
]; ];
export type UseMutationCbs<TData> = Partial<{ export type UseMutationCbs<TData> = Partial<{
onCompleted: (data: TData) => void; onCompleted: (data: TData) => void;

View file

@ -6,7 +6,11 @@ import urlJoin from "url-join";
import { ConfirmButtonTransitionState } from "./components/ConfirmButton/ConfirmButton"; import { ConfirmButtonTransitionState } from "./components/ConfirmButton/ConfirmButton";
import { APP_MOUNT_URI } from "./config"; import { APP_MOUNT_URI } from "./config";
import { AddressType, AddressTypeInput } from "./customers/types"; import { AddressType, AddressTypeInput } from "./customers/types";
import { PartialMutationProviderOutput, UserError } from "./types"; import {
PartialMutationProviderOutput,
UserError,
MutationResultAdditionalProps
} from "./types";
import { import {
AddressInput, AddressInput,
AuthorizationKeyType, AuthorizationKeyType,
@ -250,9 +254,7 @@ export function getMutationStatus<
export function getMutationProviderData<TData, TVariables>( export function getMutationProviderData<TData, TVariables>(
mutateFn: MutationFunction<TData, TVariables>, mutateFn: MutationFunction<TData, TVariables>,
opts: MutationResult<TData> & { opts: MutationResult<TData> & MutationResultAdditionalProps
state: ConfirmButtonTransitionState;
}
): PartialMutationProviderOutput<TData, TVariables> { ): PartialMutationProviderOutput<TData, TVariables> {
return { return {
mutate: variables => mutateFn({ variables }), mutate: variables => mutateFn({ variables }),

View file

@ -7,14 +7,12 @@ import { useIntl } from "react-intl";
import useNotifier from "./hooks/useNotifier"; import useNotifier from "./hooks/useNotifier";
import { commonMessages } from "./intl"; import { commonMessages } from "./intl";
import { maybe, getMutationStatus } from "./misc"; import { maybe, getMutationStatus } from "./misc";
import { ConfirmButtonTransitionState } from "./components/ConfirmButton"; import { MutationResultAdditionalProps } from "./types";
export interface TypedMutationInnerProps<TData, TVariables> { export interface TypedMutationInnerProps<TData, TVariables> {
children: ( children: (
mutateFn: MutationFunction<TData, TVariables>, mutateFn: MutationFunction<TData, TVariables>,
result: MutationResult<TData> & { result: MutationResult<TData> & MutationResultAdditionalProps
state: ConfirmButtonTransitionState;
}
) => React.ReactNode; ) => React.ReactNode;
onCompleted?: (data: TData) => void; onCompleted?: (data: TData) => void;
onError?: (error: ApolloError) => void; onError?: (error: ApolloError) => void;

View file

@ -114,9 +114,7 @@ export interface PartialMutationProviderOutput<
TData extends {} = {}, TData extends {} = {},
TVariables extends {} = {} TVariables extends {} = {}
> { > {
opts: MutationResult<TData> & { opts: MutationResult<TData> & MutationResultAdditionalProps;
state: ConfirmButtonTransitionState;
};
mutate: (variables: TVariables) => void; mutate: (variables: TVariables) => void;
} }
@ -171,3 +169,7 @@ export type TabActionDialog = "save-search" | "delete-search";
export interface UserPermissionProps { export interface UserPermissionProps {
userPermissions: User_permissions[]; userPermissions: User_permissions[];
} }
export interface MutationResultAdditionalProps {
state: ConfirmButtonTransitionState;
}