PluginProbe
Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF / trunk
Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF vtrunk
2.3.4 2.3.3 2.3.2 2.3.1 2.3.0 2.2.9 2.2.8 trunk 1.10 1.3.3 1.3.4 1.3.5 1.3.5.1 1.3.5.2 1.3.6 1.3.6.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.5 All 103 releases
imagify / vendor / wordpress / php-mcp-schema / src / Client / Elicitation / DTO / UntitledMultiSelectEnumSchemaItems.php

UntitledMultiSelectEnumSchemaItems.php in Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF trunk, at vendor/wordpress/php-mcp-schema/src/Client/Elicitation/DTO/UntitledMultiSelectEnumSchemaItems.php

95 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace WP\McpSchema\Client\Elicitation\DTO;
6
7 use WP\McpSchema\Common\AbstractDataTransferObject;
8 use WP\McpSchema\Common\Traits\ValidatesRequiredFields;
9
10 /**
11 * Schema for the array items.
12 *
13 * @mcp-domain Client
14 * @mcp-subdomain Elicitation
15 * @mcp-version 2025-11-25
16 */
17 class UntitledMultiSelectEnumSchemaItems extends AbstractDataTransferObject
18 {
19 use ValidatesRequiredFields;
20
21 public const TYPE = 'string';
22
23 /**
24 * @var 'string'
25 */
26 protected string $type;
27
28 /**
29 * Array of enum values to choose from.
30 *
31 * @var array<string>
32 */
33 protected array $enum;
34
35 /**
36 * @param array<string> $enum
37 */
38 public function __construct(
39 array $enum
40 ) {
41 $this->type = self::TYPE;
42 $this->enum = $enum;
43 }
44
45 /**
46 * Creates an instance from an array.
47 *
48 * @param array{
49 * type: 'string',
50 * enum: array<string>
51 * } $data
52 * @phpstan-param array<string, mixed> $data
53 * @return self
54 */
55 public static function fromArray(array $data): self
56 {
57 self::assertRequired($data, ['enum']);
58
59 return new self(
60 self::asStringArray($data['enum'])
61 );
62 }
63
64 /**
65 * Converts the instance to an array.
66 *
67 * @return array<string, mixed>
68 */
69 public function toArray(): array
70 {
71 $result = [];
72
73 $result['type'] = $this->type;
74 $result['enum'] = $this->enum;
75
76 return $result;
77 }
78
79 /**
80 * @return 'string'
81 */
82 public function getType(): string
83 {
84 return $this->type;
85 }
86
87 /**
88 * @return array<string>
89 */
90 public function getEnum(): array
91 {
92 return $this->enum;
93 }
94 }
95