Skip to content

Commit 9c7610e

Browse files
committed
feat: skip simple pointers string keys sanitizations
1 parent f29b756 commit 9c7610e

2 files changed

Lines changed: 15 additions & 16 deletions

File tree

posts-bridge/custom-blocks/remote-fields/remote-fields.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22
/**
33
* Remote Field custom block registration.
4-
*
4+
*
55
* @package postsbridge
66
*/
77

posts-bridge/includes/class-json-finger.php

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -173,25 +173,24 @@ public static function pointer( $keys, $is_conditional = false ) {
173173
return '';
174174
}
175175

176-
$pointer = array_reduce(
177-
$keys,
178-
static function ( $pointer, $key ) {
179-
if ( INF === $key ) {
180-
$key = '[]';
181-
} elseif ( intval( $key ) == $key ) {
182-
$key = "[{$key}]";
183-
} else {
176+
$pointer = '';
177+
foreach ( $keys as $key ) {
178+
if ( INF === $key ) {
179+
$key = '[]';
180+
} elseif ( intval( $key ) == $key ) {
181+
$key = "[{$key}]";
182+
} else {
183+
if ( 1 < count( $keys ) ) {
184184
$key = self::sanitize_key( $key );
185+
}
185186

186-
if ( '[' !== $key[0] && strlen( $pointer ) > 0 ) {
187-
$key = '.' . $key;
188-
}
187+
if ( '[' !== $key[0] && strlen( $pointer ) > 0 ) {
188+
$key = '.' . $key;
189189
}
190+
}
190191

191-
return $pointer . $key;
192-
},
193-
''
194-
);
192+
$pointer .= $key;
193+
}
195194

196195
if ( $is_conditional ) {
197196
$pointer = '?' . $pointer;

0 commit comments

Comments
 (0)