/**
  * @param array $mappings
  * @param array $parent
  * @param       $value
  * @param       $propertyName
  * @param       $data
  */
 protected static function addRelationshipData(array &$mappings, array &$parent, &$value, &$propertyName, &$data)
 {
     if (\array_key_exists(Serializer::CLASS_IDENTIFIER_KEY, $value)) {
         $propertyName = DataAttributesHelper::transformToValidMemberName($propertyName);
         $type = $value[Serializer::CLASS_IDENTIFIER_KEY];
         self::relationshipLinksSelf($mappings, $parent, $propertyName, $type, $data, $value);
         self::relationshipLinksRelated($propertyName, $mappings, $parent, $data);
     }
 }
 /**
  * @param array  $mappings
  * @param array  $data
  * @param array  $value
  * @param string $type
  */
 protected static function addRelationshipsToIncludedResources(array &$mappings, array &$data, array &$value, $type)
 {
     foreach ($value as $propertyName => $attribute) {
         if (PropertyHelper::isAttributeProperty($mappings, $propertyName, $type)) {
             $propertyName = DataAttributesHelper::transformToValidMemberName($propertyName);
             if (\is_array($attribute) && \array_key_exists(Serializer::CLASS_IDENTIFIER_KEY, $attribute)) {
                 $data[$propertyName][JsonApiTransformer::DATA_KEY] = PropertyHelper::setResponseDataTypeAndId($mappings, $attribute);
                 continue;
             }
         }
     }
 }
 /**
  * @param \NilPortugues\Api\Mapping\Mapping $mapping
  *
  * @link http://jsonapi.org/format/#document-member-names-allowed-characters
  */
 protected function buildValidPropertyAlias($mapping)
 {
     $aliases = $mapping->getAliasedProperties();
     foreach ($aliases as &$alias) {
         $alias = DataAttributesHelper::transformToValidMemberName($alias);
     }
     $mapping->setPropertyNameAliases($aliases);
 }