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