Example #1
0
 /**
  * @param mixed $data
  * @param null|string $key
  * @return string The key
  * @throws \Exception
  */
 public function write($data, $key = null)
 {
     $value = new TypedValue($data, $this->type);
     $transformed = $this->transformers->toTransform($value)->transform($value);
     $serialized = $this->serializer->serialize($transformed);
     $this->writeSerialized($serialized, $key);
     return $key;
 }
Example #2
0
 /**
  * @param TypedValue $typedArray
  * @return array
  */
 public function transform($typedArray)
 {
     $transformed = [];
     foreach ($typedArray->getValue() as $key => $value) {
         $typedValue = $this->typedItem($typedArray->getType(), $value);
         $transformed[$key] = $this->transformers->toTransform($typedValue)->transform($typedValue);
     }
     return $transformed;
 }
Example #3
0
 /**
  * @param array $array
  * @return array
  */
 public function transform($array)
 {
     $transformed = [];
     foreach ($array as $key => $value) {
         $key = str_replace(array_keys(self::$ESCAPE_KEYS), array_values(self::$ESCAPE_KEYS), $key);
         $transformed[$key] = $this->transformers->toTransform($value)->transform($value);
     }
     return $transformed;
 }
 /**
  * @param object $object
  * @return array
  * @throws \Exception
  */
 protected function transformObject($object)
 {
     $reader = new PropertyReader($this->types, $object);
     $array = [];
     foreach ($reader->readState() as $property) {
         $value = new TypedValue($property->get($object), $property->type());
         $transformer = $this->transformers->toTransform($value);
         $array[$property->name()] = $transformer->transform($value);
     }
     foreach ($object as $propertyName => $propertyValue) {
         if (!array_key_exists($propertyName, $array)) {
             $transformer = $this->transformers->toTransform($propertyValue);
             $array[$propertyName] = $transformer->transform($propertyValue);
         }
     }
     return $array;
 }
Example #5
0
 /**
  * @param TypedValue $value
  * @return mixed
  */
 public function transform($value)
 {
     return $this->transformers->toTransform($value->getValue())->transform($value->getValue());
 }
 /**
  * @param TypedValue $value
  * @return mixed
  */
 public function transform($value)
 {
     $innerValue = $this->makeInnerTypedValue($value);
     return $this->transformers->toTransform($innerValue)->transform($innerValue);
 }
Example #7
0
 /**
  * @param TypedValue $value
  * @return array
  */
 public function transform($value)
 {
     $realValue = $value->getValue();
     $transformedArray = $this->transformers->toTransform($realValue)->transform($realValue);
     return $transformedArray[ObjectTransformer::DATA_KEY];
 }