Code Duplication    Length = 20-22 lines in 3 locations

src/Serializer.php 3 locations

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