/** * External dependencies */ import { castArray } from 'lodash'; import type { FSProduct } from '@nelio-content/types'; export type FastSpringAction = ReceiveFSCurrency | ReceiveFSProducts; export function receiveFSCurrency( currency: string ): ReceiveFSCurrency { return { type: 'RECEIVE_FS_CURRENCY', currency, }; } export function receiveFSProducts( products: FSProduct | ReadonlyArray< FSProduct > ): ReceiveFSProducts { return { type: 'RECEIVE_FS_PRODUCTS', products: castArray( products ), }; } // ============ // HELPER TYPES // ============ type ReceiveFSCurrency = { readonly type: 'RECEIVE_FS_CURRENCY'; readonly currency: string; }; type ReceiveFSProducts = { readonly type: 'RECEIVE_FS_PRODUCTS'; readonly products: ReadonlyArray< FSProduct >; };