1
0
mirror of synced 2024-12-12 07:06:04 +03:00
bitrix-module/intaro.retailcrm/lib/component/json/strategy/serialize/serializestrategyinterface.php

42 lines
1.1 KiB
PHP

<?php
/**
* @category Integration
* @package Intaro\RetailCrm\Component\Json\Strategy\Serialize
* @author RetailCRM <integration@retailcrm.ru>
* @license MIT
* @link http://retailcrm.ru
* @see http://retailcrm.ru/docs
*/
namespace Intaro\RetailCrm\Component\Json\Strategy\Serialize;
use Intaro\RetailCrm\Component\Json\PropertyAnnotations;
/**
* Interface SerializeStrategyInterface
*
* @package Intaro\RetailCrm\Component\Json\Strategy\Serialize
*/
interface SerializeStrategyInterface
{
/**
* Serialize value
*
* @param mixed $value
* @param \Intaro\RetailCrm\Component\Json\PropertyAnnotations|null $annotations
*
* @return mixed
*/
public function serialize($value, $annotations);
/**
* Sets inner type for types like array<key, value> and \DateTime<format>
*
* @param string $type
*
* @return \Intaro\RetailCrm\Component\Json\Strategy\Serialize\SerializeStrategyInterface
*/
public function setInnerType(string $type): SerializeStrategyInterface;
}