* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ namespace PrestaShop\Module\PrestashopCheckout\Serializer; interface ObjectSerializerInterface { /** * @param mixed $data * @param string $format * @param bool $skipNullValues * @param bool $convertToSnakeCase * @param array $context * * @return string */ public function serialize($data, $format, $skipNullValues = false, $convertToSnakeCase = false, array $context = []); /** * @template T * * @param string|array $data * @param class-string $type //Class of the object created. For example CreatePayPalOrderResponse::class * @param string $format //Format of the data passed. For example JsonEncoder::FORMAT * @param array $context //Additional parameters. For example skip null values and etc. * * @return T */ public function deserialize($data, $type, $format, array $context = []); /** * @param mixed $data * @param bool $skipNullValues * @param bool $convertToSnakeCase * @param array $context * * @return array */ public function toArray($data, $skipNullValues = false, $convertToSnakeCase = false, array $context = []); }