HEX
Server: LiteSpeed
System: Linux eko108.isimtescil.net 4.18.0-477.21.1.lve.1.el8.x86_64 #1 SMP Tue Sep 5 23:08:35 UTC 2023 x86_64
User: uyarreklamcomtr (11202)
PHP: 7.4.33
Disabled: opcache_get_status
Upload Files
File: /var/www/vhosts/uyarreklam.com.tr/httpdocs/register-checkout-block.ts.tar
woocommerce/packages/woocommerce-blocks/packages/checkout/blocks-registry/register-checkout-block.ts000064400000002525151553353030044106 0ustar00var/www/vhosts/uyarreklam.com.tr/httpdocs/wp-content/plugins/**
 * External dependencies
 */
import { registerBlockComponent } from '@woocommerce/blocks-registry';

/**
 * Internal dependencies
 */
import {
	assertBlockName,
	assertBlockParent,
	assertOption,
	assertBlockComponent,
} from './utils';
import { registeredBlocks } from './registered-blocks';
import type { CheckoutBlockOptions } from './types';

/**
 * Main API for registering a new checkout block within areas.
 */
export const registerCheckoutBlock = (
	options: CheckoutBlockOptions
): void => {
	assertOption( options, 'metadata', 'object' );
	assertBlockName( options.metadata.name );
	assertBlockParent( options.metadata.parent );
	assertBlockComponent( options, 'component' );

	/**
	 * This ensures the frontend component for the checkout block is available.
	 */
	registerBlockComponent( {
		blockName: options.metadata.name as string,
		component: options.component,
	} );

	// Infer the `force` value from whether the block is locked or not. But
	// allow overriding it on block registration.
	const force =
		typeof options.force === 'boolean'
			? options.force
			: Boolean( options.metadata?.attributes?.lock?.default?.remove );

	/**
	 * Store block metadata for later lookup.
	 */
	registeredBlocks[ options.metadata.name ] = {
		blockName: options.metadata.name,
		metadata: options.metadata,
		component: options.component,
		force,
	};
};