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

@@ 134-149 (lines=16) @@
131
	return _http_build_query( $data, null, '&', '', false );
132
}
133
134
function map_deep( $value, $callback ) {
135
	if ( is_array( $value ) ) {
136
		foreach ( $value as $index => $item ) {
137
			$value[ $index ] = map_deep( $item, $callback );
138
		}
139
	} elseif ( is_object( $value ) ) {
140
		$object_vars = get_object_vars( $value );
141
		foreach ( $object_vars as $property_name => $property_value ) {
142
			$value->$property_name = map_deep( $property_value, $callback );
143
		}
144
	} else {
145
		$value = call_user_func( $callback, $value );
146
	}
147
148
	return $value;
149
}
150
151
function urlencode_deep( $value ) {
152
	return map_deep( $value, 'urlencode' );