All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s
51 lines
1001 B
PHP
51 lines
1001 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Kreait\Firebase\RemoteConfig;
|
|
|
|
use JsonSerializable;
|
|
|
|
/**
|
|
* @phpstan-type RemoteConfigRolloutValueShape array{
|
|
* rolloutId: non-empty-string,
|
|
* value: string,
|
|
* percent: int<0, 100>
|
|
* }
|
|
*
|
|
* @see https://firebase.google.com/docs/reference/remote-config/rest/v1/RemoteConfig#rolloutvalue
|
|
*/
|
|
final class RolloutValue implements JsonSerializable
|
|
{
|
|
/**
|
|
* @param RemoteConfigRolloutValueShape $data
|
|
*/
|
|
private function __construct(private readonly array $data)
|
|
{
|
|
}
|
|
|
|
/**
|
|
* @param RemoteConfigRolloutValueShape $data
|
|
*/
|
|
public static function fromArray(array $data): self
|
|
{
|
|
return new self($data);
|
|
}
|
|
|
|
/**
|
|
* @return RemoteConfigRolloutValueShape
|
|
*/
|
|
public function toArray(): array
|
|
{
|
|
return $this->data;
|
|
}
|
|
|
|
/**
|
|
* @return RemoteConfigRolloutValueShape
|
|
*/
|
|
public function jsonSerialize(): array
|
|
{
|
|
return $this->data;
|
|
}
|
|
}
|