Code Duplication    Length = 22-22 lines in 2 locations

src/Mapper/Handler/DataTypeManager.php 2 locations

@@ 143-164 (lines=22) @@
140
     * @return mixed
141
     * @throws NotIterableAttribute
142
     */
143
    protected function processHandlerToResource(Attribute $definition, $value)
144
    {
145
        $type = $definition->getType();
146
        $handler = $this->handlers[$type];
147
        $parameters = $definition->getTypeParameters();
148
149
        if (! $definition->isMany()) {
150
            return $handler->toResource($value, $type, $parameters);
151
        }
152
153
        if (! $value instanceof \Traversable && ! is_array($value)) {
154
            throw new NotIterableAttribute($definition, $value);
155
        }
156
157
        $collection = [];
158
159
        foreach ($value as $item) {
160
            $collection[] = $handler->toResource($item, $type, $parameters);
161
        }
162
163
        return $collection;
164
    }
165
166
    /**
167
     * Process value by registered data-type handler.
@@ 175-196 (lines=22) @@
172
     * @return mixed
173
     * @throws NotIterableAttribute
174
     */
175
    protected function processHandlerFromResource(Attribute $definition, $value)
176
    {
177
        $type = $definition->getType();
178
        $handler = $this->handlers[$type];
179
        $parameters = $definition->getTypeParameters();
180
181
        if (! $definition->isMany()) {
182
            return $handler->fromResource($value, $type, $parameters);
183
        }
184
185
        if (! $value instanceof \Traversable && ! is_array($value)) {
186
            throw new NotIterableAttribute($definition, $value);
187
        }
188
189
        $collection = new \ArrayObject();
190
191
        foreach ($value as $item) {
192
            $collection[] = $handler->fromResource($item, $type, $parameters);
193
        }
194
195
        return $collection;
196
    }
197
}