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 { 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;
|
||||||
|
|
10
src/misc.ts
10
src/misc.ts
|
@ -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 }),
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue