From be11d8445de80be367a81ddb24399718481c8293 Mon Sep 17 00:00:00 2001 From: Kevin Zoschke Date: Thu, 20 Aug 2020 15:50:23 -0400 Subject: [PATCH] Type getJetpackProductCallToAction --- .../get-jetpack-product-call-to-action.js | 20 ----------- .../get-jetpack-product-call-to-action.ts | 33 +++++++++++++++++++ 2 files changed, 33 insertions(+), 20 deletions(-) delete mode 100644 client/lib/products-values/get-jetpack-product-call-to-action.js create mode 100644 client/lib/products-values/get-jetpack-product-call-to-action.ts diff --git a/client/lib/products-values/get-jetpack-product-call-to-action.js b/client/lib/products-values/get-jetpack-product-call-to-action.js deleted file mode 100644 index 144f8df6f2bb0..0000000000000 --- a/client/lib/products-values/get-jetpack-product-call-to-action.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Internal dependencies - */ -import { assertValidProduct } from 'lib/products-values/utils/assert-valid-product'; -import { formatProduct } from 'lib/products-values/format-product'; -import { getJetpackProductsCallToAction } from 'lib/products-values/translations'; - -/** - * Get Jetpack product call-to-action based on the product purchase object. - * - * @param product {object} Product purchase object - * @returns {string|object} Product display name - */ -export function getJetpackProductCallToAction( product ) { - product = formatProduct( product ); - assertValidProduct( product ); - const jetpackProductsCallToActions = getJetpackProductsCallToAction(); - - return jetpackProductsCallToActions?.[ product.product_slug ]; -} diff --git a/client/lib/products-values/get-jetpack-product-call-to-action.ts b/client/lib/products-values/get-jetpack-product-call-to-action.ts new file mode 100644 index 0000000000000..4626642d5f3cf --- /dev/null +++ b/client/lib/products-values/get-jetpack-product-call-to-action.ts @@ -0,0 +1,33 @@ +/** + * External dependencies + */ +import { TranslateResult } from 'i18n-calypso'; + +/** + * Internal dependencies + */ +import { assertValidProduct } from 'lib/products-values/utils/assert-valid-product'; +import { formatProduct } from 'lib/products-values/format-product'; +import { getJetpackProductsCallToAction } from 'lib/products-values/translations'; + +/** + * Type dependencies + */ +import type { Product } from 'lib/products-values/products-list'; + +/** + * Get Jetpack product call-to-action based on the product purchase object. + * + * @param {object} product Product purchase object + * @returns {TranslateResult} Product display name + */ +export function getJetpackProductCallToAction( product: object ): TranslateResult | undefined { + product = formatProduct( product ); + assertValidProduct( product ); + const jetpackProductsCallToActions = getJetpackProductsCallToAction() as Record< + string, + TranslateResult + >; + + return jetpackProductsCallToActions?.[ ( product as Product ).product_slug ]; +}