configProvider = $configProvider; $this->layoutProcessors = $layoutProcessors; parent::__construct($context, $customerSession, $checkoutSession, $data); $this->_isScopePrivate = true; $this->serializer = $serializer ?: \Magento\Framework\App\ObjectManager::getInstance() ->get(\Magento\Framework\Serialize\Serializer\Json::class); } /** * Retrieve checkout configuration * * @return array * @codeCoverageIgnore */ public function getCheckoutConfig() { return $this->configProvider->getConfig(); } /** * Retrieve serialized JS layout configuration ready to use in template * * @return string */ public function getJsLayout() { foreach ($this->layoutProcessors as $processor) { $this->jsLayout = $processor->process($this->jsLayout); } return json_encode($this->jsLayout, JSON_HEX_TAG); } /** * Get base url for block. * * @return string * @codeCoverageIgnore */ public function getBaseUrl() { return $this->_storeManager->getStore()->getBaseUrl(); } /** * @return bool|string * @since 100.2.0 */ public function getSerializedCheckoutConfig() { return json_encode($this->getCheckoutConfig(), JSON_HEX_TAG); } }