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 / Server / Lifecycle / DTO / ServerCapabilitiesResources.php

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

100 lines 2.1 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\Server\Lifecycle\DTO;
6
7 use WP\McpSchema\Common\AbstractDataTransferObject;
8 use WP\McpSchema\Common\Traits\ValidatesRequiredFields;
9
10 /**
11 * Present if the server offers any resources to read.
12 *
13 * @mcp-domain Server
14 * @mcp-subdomain Lifecycle
15 * @mcp-version 2025-11-25
16 */
17 class ServerCapabilitiesResources extends AbstractDataTransferObject
18 {
19 use ValidatesRequiredFields;
20
21 /**
22 * Whether this server supports subscribing to resource updates.
23 *
24 * @var bool|null
25 */
26 protected ?bool $subscribe;
27
28 /**
29 * Whether this server supports notifications for changes to the resource list.
30 *
31 * @var bool|null
32 */
33 protected ?bool $listChanged;
34
35 /**
36 * @param bool|null $subscribe
37 * @param bool|null $listChanged
38 */
39 public function __construct(
40 ?bool $subscribe = null,
41 ?bool $listChanged = null
42 ) {
43 $this->subscribe = $subscribe;
44 $this->listChanged = $listChanged;
45 }
46
47 /**
48 * Creates an instance from an array.
49 *
50 * @param array{
51 * subscribe?: bool|null,
52 * listChanged?: bool|null
53 * } $data
54 * @phpstan-param array<string, mixed> $data
55 * @return self
56 */
57 public static function fromArray(array $data): self
58 {
59 return new self(
60 self::asBoolOrNull($data['subscribe'] ?? null),
61 self::asBoolOrNull($data['listChanged'] ?? null)
62 );
63 }
64
65 /**
66 * Converts the instance to an array.
67 *
68 * @return array<string, mixed>
69 */
70 public function toArray(): array
71 {
72 $result = [];
73
74 if ($this->subscribe !== null) {
75 $result['subscribe'] = $this->subscribe;
76 }
77 if ($this->listChanged !== null) {
78 $result['listChanged'] = $this->listChanged;
79 }
80
81 return $result;
82 }
83
84 /**
85 * @return bool|null
86 */
87 public function getSubscribe(): ?bool
88 {
89 return $this->subscribe;
90 }
91
92 /**
93 * @return bool|null
94 */
95 public function getListChanged(): ?bool
96 {
97 return $this->listChanged;
98 }
99 }
100