# Utilities ## Table of Contents - [`extensionCartUpdate`](#extensioncartupdate) - [Usage](#usage) - [Options](#options) - [`args (object, required)`](#args-object-required) - [`mustContain`](#mustcontain) - [Usage](#usage-1) - [Options](#options-1) - [`value (string, required)`](#value-string-required) - [`requiredValue (string, required)`](#requiredvalue-string-required) Miscellaneous utility functions for dealing with checkout functionality. ## `extensionCartUpdate` When executed, this will call the cart/extensions REST API endpoint. The new cart is then received into the client-side store. ### Usage ```ts // Aliased import import { extensionCartUpdate } from '@woocommerce/blocks-checkout'; // Global import // const { extensionCartUpdate } = wc.blocksCheckout; extensionCartUpdate( { namespace: 'extension-unique-namespace', data: { key: 'value', }, } ); ``` ### Options The following options are available: #### `args (object, required)` Args to pass to the Rest API endpoint. This can contain data and a namespace to trigger extension specific functionality on the server-side. [You can read more about this, and the server-side implementation, in this doc.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/blob/trunk/docs/extensibility/extend-rest-api-update-cart.md) ## `mustContain` Ensures that a given value contains a string, or throws an error. ### Usage ```js // Aliased import import { mustContain } from '@woocommerce/blocks-checkout'; // Global import // const { mustContain } = wc.blocksCheckout; mustContain( 'This is a string containing a ', '' ); // This will not throw an error mustContain( 'This is a string', '' ); // This will throw an error ``` ### Options The following options are available: #### `value (string, required)` Value being checked. Must be a string. #### `requiredValue (string, required)` What value must contain. If this is not found within `value`, and error will be thrown. --- [We're hiring!](https://woocommerce.com/careers/) Come work with us! 🐞 Found a mistake, or have a suggestion? [Leave feedback about this document here.](https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/new?assignees=&labels=type%3A+documentation&template=--doc-feedback.md&title=Feedback%20on%20./packages/checkout/utils/README.md)