@automattic/calypso-products
Version:
This module contains information about the various products sold within calypso, such as product slugs, plan intervals, etc.
19 lines (17 loc) • 636 B
text/typescript
import { productMatches } from './product-matches';
import { PRODUCTS_LIST } from './products-list';
import type { Query } from './product-matches';
import type { ProductSlug } from './types';
/**
* Finds all keys of products matching a query
*
* For example:
*
* > findProductsKeys( { type: PRODUCT_JETPACK_BACKUP_DAILY } );
* [PRODUCT_JETPACK_BACKUP_DAILY, PRODUCT_JETPACK_BACKUP_DAILY_MONTHLY]
*/
export function findProductKeys( query: Query = {} ): ProductSlug[] {
return Object.values( PRODUCTS_LIST )
.map( ( { product_slug } ) => product_slug )
.filter( ( productSlug ) => productMatches( productSlug, query ) );
}