Automattic\WooCommerce\Internal\AddressProvider

AbstractAutomatticAddressProvider::load_scriptspublicWC 1.0

Enqueues the checkout script, checks if it's already registered or not so we don't duplicate, and prints out the JWT to the page to be consumed.

Method of the class: AbstractAutomatticAddressProvider{}

No Hooks.

Returns

null. Nothing (null).

Usage

$AbstractAutomatticAddressProvider = new AbstractAutomatticAddressProvider();
$AbstractAutomatticAddressProvider->load_scripts();

AbstractAutomatticAddressProvider::load_scripts() code WC 10.3.3

public function load_scripts() {
	if ( ! is_checkout() ) {
		return;
	}

	if ( ! $this->get_jwt() ) {
		return;
	}

	$suffix  = Constants::is_true( 'SCRIPT_DEBUG' ) ? '' : '.min';
	$version = Constants::get_constant( 'WC_VERSION' );

	if ( ! wp_script_is( 'a8c-address-autocomplete-service', 'registered' ) ) {
		wp_register_script( 'a8c-address-autocomplete-service', self::get_asset_url( 'assets/js/frontend/a8c-address-autocomplete-service' . $suffix . '.js' ), array( 'wc-address-autocomplete' ), $version, array( 'strategy' => 'defer' ) );
	}

	if ( ! wp_script_is( 'a8c-address-autocomplete-service', 'enqueued' ) ) {
		wp_enqueue_script( 'a8c-address-autocomplete-service' );
	}

	wp_add_inline_script(
		'a8c-address-autocomplete-service',
		sprintf(
			'var a8cAddressAutocompleteServiceKeys = a8cAddressAutocompleteServiceKeys || {}; a8cAddressAutocompleteServiceKeys[ %1$s ] = { key: %2$s, canTelemetry: %3$s };',
			wp_json_encode( $this->id ),
			wp_json_encode( $this->get_jwt() ),
			wp_json_encode( false !== $this->can_telemetry() && (bool) $this->can_telemetry() )
		),
		'before'
	);
}