/** * @param array $value * * @return array */ protected function preSerialization(array $value) { /** @var \NilPortugues\Api\Mapping\Mapping $mapping */ foreach ($this->mappings as $class => $mapping) { RecursiveFilterHelper::deletePropertiesNotInFilter($this->mappings, $value, $class); RecursiveDeleteHelper::deleteProperties($this->mappings, $value, $class); $this->buildValidPropertyAlias($mapping); RecursiveRenamerHelper::renameKeyValue($this->mappings, $value, $class); } return $value; }
/** * @param array $value * * @return mixed */ protected function serializeObject(array $value) { if (null !== $this->mappings) { /** @var \NilPortugues\Api\Mapping\Mapping $mapping */ foreach ($this->mappings as $class => $mapping) { RecursiveDeleteHelper::deleteProperties($this->mappings, $value, $class); RecursiveRenamerHelper::renameKeyValue($this->mappings, $value, $class); } } $this->setResponseMeta($value); $this->setResponseLinks($value); self::formatScalarValues($value); RecursiveDeleteHelper::deleteKeys($value, [Serializer::CLASS_IDENTIFIER_KEY]); self::flattenObjectsWithSingleKeyScalars($value); $this->recursiveSetKeysToUnderScore($value); return $value; }
/** * @param array $value * * @return array */ protected function transformUnmappedObjectsToArray(array $value) { return RecursiveRenamerHelper::serializedObjectToArray($value, $this->mappings); }