Code Duplication    Length = 20-22 lines in 3 locations

src/Serializer.php 3 locations

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