| @@ -33,16 +33,10 @@ | ||
| 33 | 33 | $this->permission_callback = $permission_callback; |
| 34 | 34 | $this->input_schema = $input_schema; |
| 35 | 35 | } |
| 36 | 36 | |
| 37 | - public static function empty_object_input_schema(): array { | |
| 38 | - return [ | |
| 39 | - 'type' => 'object', | |
| 40 | - ]; | |
| 41 | - } | |
| 42 | - | |
| 43 | 37 | public function to_array(): array { |
| 44 | - return [ | |
| 38 | + $definition = [ | |
| 45 | 39 | 'label' => $this->label, |
| 46 | 40 | 'description' => $this->description, |
| 47 | 41 | 'category' => $this->category, |
| 48 | 42 | 'output_schema' => $this->output_schema, |
| @@ -47,30 +41,13 @@ | ||
| 47 | 41 | 'category' => $this->category, |
| 48 | 42 | 'output_schema' => $this->output_schema, |
| 49 | 43 | 'meta' => $this->meta, |
| 50 | 44 | 'permission_callback' => $this->permission_callback, |
| 51 | - 'input_schema' => $this->normalized_input_schema(), | |
| 52 | 45 | ]; |
| 53 | - } | |
| 54 | 46 | |
| 55 | - private function normalized_input_schema(): array { | |
| 56 | - if ( empty( $this->input_schema ) ) { | |
| 57 | - return self::empty_object_input_schema(); | |
| 47 | + if ( ! empty( $this->input_schema ) ) { | |
| 48 | + $definition['input_schema'] = $this->input_schema; | |
| 58 | 49 | } |
| 59 | 50 | |
| 60 | - $schema = $this->input_schema; | |
| 61 | - | |
| 62 | - if ( | |
| 63 | - array_key_exists( 'properties', $schema ) | |
| 64 | - && is_array( $schema['properties'] ) | |
| 65 | - && empty( $schema['properties'] ) | |
| 66 | - ) { | |
| 67 | - unset( $schema['properties'] ); | |
| 68 | - } | |
| 69 | - | |
| 70 | - if ( ! isset( $schema['type'] ) ) { | |
| 71 | - $schema['type'] = 'object'; | |
| 72 | - } | |
| 73 | - | |
| 74 | - return $schema; | |
| 51 | + return $definition; | |
| 75 | 52 | } |
| 76 | 53 | } |