Code Duplication    Length = 16-16 lines in 2 locations

packages/autoloader/tests/php/bootstrap.php 1 location

@@ 49-64 (lines=16) @@
46
	 * @param callable $callback The function to map onto $value.
47
	 * @return mixed The value with the callback applied to all non-arrays and non-objects inside it.
48
	 */
49
	function map_deep( $value, $callback ) {
50
		if ( is_array( $value ) ) {
51
			foreach ( $value as $index => $item ) {
52
				$value[ $index ] = map_deep( $item, $callback );
53
			}
54
		} elseif ( is_object( $value ) ) {
55
			$object_vars = get_object_vars( $value );
56
			foreach ( $object_vars as $property_name => $property_value ) {
57
				$value->$property_name = map_deep( $property_value, $callback );
58
			}
59
		} else {
60
			$value = call_user_func( $callback, $value );
61
		}
62
63
		return $value;
64
	}
65
66
	/**
67
	 * A drop-in for a WordPress core function.

packages/redirect/tests/php/bootstrap.php 1 location

@@ 142-157 (lines=16) @@
139
	return _http_build_query( $data, null, '&', '', false );
140
}
141
142
function map_deep( $value, $callback ) {
143
	if ( is_array( $value ) ) {
144
		foreach ( $value as $index => $item ) {
145
			$value[ $index ] = map_deep( $item, $callback );
146
		}
147
	} elseif ( is_object( $value ) ) {
148
		$object_vars = get_object_vars( $value );
149
		foreach ( $object_vars as $property_name => $property_value ) {
150
			$value->$property_name = map_deep( $property_value, $callback );
151
		}
152
	} else {
153
		$value = call_user_func( $callback, $value );
154
	}
155
156
	return $value;
157
}
158
159
function urlencode_deep( $value ) {
160
	return map_deep( $value, 'urlencode' );