/** * @typedef {import('@woocommerce/type-defs/payments').PaymentDataItem} PaymentDataItem */ /** * Utility function for preparing payment data for the request. * * @param {Object} paymentData Arbitrary payment data provided by the payment method. * @param {boolean} shouldSave Whether to save the payment method info to user account. * @param {Object} activePaymentMethod The current active payment method. * * @return {PaymentDataItem[]} Returns the payment data as an array of * PaymentDataItem objects. */ export const preparePaymentData = ( paymentData, shouldSave, activePaymentMethod ) => { const apiData = Object.keys( paymentData ).map( ( property ) => { const value = paymentData[ property ]; return { key: property, value }; }, [] ); const savePaymentMethodKey = `wc-${ activePaymentMethod }-new-payment-method`; apiData.push( { key: savePaymentMethodKey, value: shouldSave, } ); return apiData; };