useShippingProvider composable
useShippingProvider composable allows loading the shipping provider for the current cart and saving (selecting) other shipping provider for the same cart.
API
useShippingProvider composable returns the following properties:
load- function that loads the shipping provider for current cart.save- function that saves new shipping provider for current cart.error- ref that contains an errors from the composable methods.loading- ref that contains information whether any of the composable methods is loading.
Interfaces
/** * Almost every method is extending this type */ type ComposableFunctionArgs<T> = T & { customQuery?: CustomQuery; customHeaders?: CustomHeaders; }; interface UseShippingProviderErrors { load: Error | null; save: Error | null; } type UseShippingProviderLoadParams = ComposableFunctionArgs<{}>; type UseShippingProviderSaveParams = ComposableFunctionArgs<{ shippingMethod: ShippingMethodInput; }>; interface UseShippingProviderInterface { error: Readonly<Ref<UseShippingProviderErrors>>; loading: Readonly<Ref<boolean>>; load(params?: UseShippingProviderLoadParams): Promise<SelectedShippingMethod | null>; save(params: UseShippingProviderSaveParams): Promise<SelectedShippingMethod | null>; } Example
Save new shipping provider:
import useShippingProvider from '~/composables'; import type { AvailableShippingMethod } from '~/modules/GraphQL/types'; setup() { const { save } = useShipping(); const selectShippingMethod = async (method: AvailableShippingMethod) => { const shippingData = { carrier_code: method.carrier_code, method_code: method.method_code, }; await saveShippingProvider({ shippingMethod: shippingData, }); }; }