woocommerce/plugins/woocommerce-blocks/assets/js/data/checkout/actions.ts

114 lines
2.6 KiB
TypeScript

/**
* External dependencies
*/
import { PaymentResult } from '@woocommerce/types';
/**
* Internal dependencies
*/
import { ACTION_TYPES as types } from './action-types';
import { ReturnOrGeneratorYieldUnion } from '../mapped-types';
// `Thunks are functions that can be dispatched, similar to actions creators
export * from './thunks';
export const setPristine = () => ( {
type: types.SET_PRISTINE,
} );
export const setIdle = () => ( {
type: types.SET_IDLE,
} );
export const setProcessing = () => ( {
type: types.SET_PROCESSING,
} );
export const setRedirectUrl = ( redirectUrl: string ) => ( {
type: types.SET_REDIRECT_URL,
redirectUrl,
} );
export const setProcessingResponse = ( data: PaymentResult ) => ( {
type: types.SET_PROCESSING_RESPONSE,
data,
} );
export const setComplete = ( data: Record< string, unknown > = {} ) => ( {
type: types.SET_COMPLETE,
data,
} );
export const setBeforeProcessing = () => ( {
type: types.SET_BEFORE_PROCESSING,
} );
export const setAfterProcessing = () => ( {
type: types.SET_AFTER_PROCESSING,
} );
export const setHasError = ( hasError = true ) => ( {
type: types.SET_HAS_ERROR,
hasError,
} );
export const incrementCalculating = () => ( {
type: types.INCREMENT_CALCULATING,
} );
export const decrementCalculating = () => ( {
type: types.DECREMENT_CALCULATING,
} );
export const setCustomerId = ( customerId: number ) => ( {
type: types.SET_CUSTOMER_ID,
customerId,
} );
export const setOrderId = ( orderId: number ) => ( {
type: types.SET_ORDER_ID,
orderId,
} );
export const setUseShippingAsBilling = ( useShippingAsBilling: boolean ) => ( {
type: types.SET_SHIPPING_ADDRESS_AS_BILLING_ADDRESS,
useShippingAsBilling,
} );
export const setShouldCreateAccount = ( shouldCreateAccount: boolean ) => ( {
type: types.SET_SHOULD_CREATE_ACCOUNT,
shouldCreateAccount,
} );
export const setOrderNotes = ( orderNotes: string ) => ( {
type: types.SET_ORDER_NOTES,
orderNotes,
} );
export const setExtensionData = (
extensionData: Record< string, Record< string, unknown > >
) => ( {
type: types.SET_EXTENSION_DATA,
extensionData,
} );
export type CheckoutAction = ReturnOrGeneratorYieldUnion<
| typeof setPristine
| typeof setIdle
| typeof setComplete
| typeof setProcessing
| typeof setProcessingResponse
| typeof setBeforeProcessing
| typeof setAfterProcessing
| typeof setRedirectUrl
| typeof setHasError
| typeof incrementCalculating
| typeof decrementCalculating
| typeof setCustomerId
| typeof setOrderId
| typeof setUseShippingAsBilling
| typeof setShouldCreateAccount
| typeof setOrderNotes
| typeof setExtensionData
>;