Code Duplication    Length = 20-22 lines in 3 locations

src/Serializer.php 3 locations

@@ 79-98 (lines=20) @@
76
     *
77
     * @return array
78
     */
79
    private function serializeFields(
80
        Request $request,
81
        ObjectMappingInterface $objectMapping,
82
        $object,
83
        string $path
84
    ): array {
85
        $data = [];
86
        foreach ($objectMapping->getFieldMappings() as $fieldMapping) {
87
            $name = $fieldMapping->getName();
88
            $subPath = '' !== $path ? $path.'.'.$name : $name;
89
90
            $this->logger->info('deserialize: path {path}', ['path' => $subPath]);
91
92
            $data[$fieldMapping->getName()] = $fieldMapping
93
                ->getFieldSerializer()
94
                ->serializeField($subPath, $request, $object, $this);
95
        }
96
97
        return $data;
98
    }
99
100
    /**
101
     * @param Request                $request
@@ 108-127 (lines=20) @@
105
     *
106
     * @return array
107
     */
108
    private function serializeEmbeddedFields(
109
        Request $request,
110
        ObjectMappingInterface $objectMapping,
111
        $object,
112
        string $path
113
    ): array {
114
        $data = [];
115
        foreach ($objectMapping->getEmbeddedFieldMappings() as $fieldEmbeddedMapping) {
116
            $name = $fieldEmbeddedMapping->getName();
117
            $subPath = '' !== $path ? $path.'.'.$name : $name;
118
119
            $this->logger->info('deserialize: path {path}', ['path' => $subPath]);
120
121
            $data[$fieldEmbeddedMapping->getName()] = $fieldEmbeddedMapping
122
                ->getFieldSerializer()
123
                ->serializeField($subPath, $request, $object, $this);
124
        }
125
126
        return $data;
127
    }
128
129
    /**
130
     * @param Request                $request
@@ 138-159 (lines=22) @@
135
     *
136
     * @return array
137
     */
138
    private function serializeLinks(
139
        Request $request,
140
        ObjectMappingInterface $objectMapping,
141
        $object,
142
        array $fields,
143
        string $path
144
    ): array {
145
        $data = [];
146
        foreach ($objectMapping->getLinkMappings() as $linkMapping) {
147
            $name = $linkMapping->getName();
148
            $subPath = '' !== $path ? $path.'._links.'.$name : '_links.'.$name;
149
150
            $this->logger->info('deserialize: path {path}', ['path' => $subPath]);
151
152
            $data[$linkMapping->getName()] = $linkMapping
153
                ->getLinkSerializer()
154
                ->serializeLink($subPath, $request, $object, $fields)
155
                ->jsonSerialize();
156
        }
157
158
        return $data;
159
    }
160
}
161