Code Duplication    Length = 22-22 lines in 2 locations

src/Mapper/Handler/DataTypeManager.php 2 locations

@@ 158-179 (lines=22) @@
155
     * @return mixed
156
     * @throws NotIterableAttribute
157
     */
158
    protected function processHandlerToResource(Attribute $definition, $value)
159
    {
160
        $type = $definition->getType();
161
        $handler = $this->registeredTypes[$type];
162
        $parameters = $definition->getTypeParameters();
163
164
        if (! $definition->isMany()) {
165
            return $handler->toResource($value, $parameters);
166
        }
167
168
        if (! $value instanceof \Traversable && ! is_array($value)) {
169
            throw new NotIterableAttribute($definition, $value);
170
        }
171
172
        $collection = [];
173
174
        foreach ($value as $item) {
175
            $collection[] = $handler->toResource($item, $parameters);
176
        }
177
178
        return $collection;
179
    }
180
181
    /**
182
     * Process value by registered data-type handler.
@@ 190-211 (lines=22) @@
187
     * @return mixed
188
     * @throws NotIterableAttribute
189
     */
190
    protected function processHandlerFromResource(Attribute $definition, $value)
191
    {
192
        $type = $definition->getType();
193
        $handler = $this->registeredTypes[$type];
194
        $parameters = $definition->getTypeParameters();
195
196
        if (! $definition->isMany()) {
197
            return $handler->fromResource($value, $parameters);
198
        }
199
200
        if (! $value instanceof \Traversable && ! is_array($value)) {
201
            throw new NotIterableAttribute($definition, $value);
202
        }
203
204
        $collection = new \ArrayObject();
205
206
        foreach ($value as $item) {
207
            $collection[] = $handler->fromResource($item, $parameters);
208
        }
209
210
        return $collection;
211
    }
212
213
    /**
214
     * Process value by generic data-type