File "get-registered-blocks.ts"

Full Path: /home/warrior1/public_html/languages/wp-content/plugins/woocommerce/packages/woocommerce-blocks/packages/checkout/blocks-registry/get-registered-blocks.ts
File size: 735 bytes
MIME-type: text/x-java
Charset: utf-8

/**
 * Internal dependencies
 */
import { innerBlockAreas, RegisteredBlock } from './types';
import { registeredBlocks } from './registered-blocks';

/**
 * Check if a block/area supports inner block registration.
 */
export const hasInnerBlocks = ( block: string ): block is innerBlockAreas => {
	return Object.values( innerBlockAreas ).includes(
		block as innerBlockAreas
	);
};

/**
 * Returns an array of registered block objects available within a specific parent block/area.
 */
export const getRegisteredBlocks = (
	block: string
): Array< RegisteredBlock > => {
	return hasInnerBlocks( block )
		? Object.values( registeredBlocks ).filter( ( { metadata } ) =>
				( metadata?.parent || [] ).includes( block )
		  )
		: [];
};