HEX
Server: Apache/2
System: Linux s01 6.1.0-34-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.135-1 (2025-04-25) x86_64
User: beestg (1003)
PHP: 8.3.25
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/beestg/public_html/wp-content/plugins/mailpoet/lib/Validator/Builder.php
<?php declare(strict_types = 1);

namespace MailPoet\Validator;

if (!defined('ABSPATH')) exit;


use MailPoet\Validator\Schema\AnyOfSchema;
use MailPoet\Validator\Schema\ArraySchema;
use MailPoet\Validator\Schema\BooleanSchema;
use MailPoet\Validator\Schema\IntegerSchema;
use MailPoet\Validator\Schema\NullSchema;
use MailPoet\Validator\Schema\NumberSchema;
use MailPoet\Validator\Schema\ObjectSchema;
use MailPoet\Validator\Schema\OneOfSchema;
use MailPoet\Validator\Schema\StringSchema;

// See: https://developer.wordpress.org/rest-api/extending-the-rest-api/schema/
class Builder {
  public static function string(): StringSchema {
    return new StringSchema();
  }

  public static function number(): NumberSchema {
    return new NumberSchema();
  }

  public static function integer(): IntegerSchema {
    return new IntegerSchema();
  }

  public static function boolean(): BooleanSchema {
    return new BooleanSchema();
  }

  public static function null(): NullSchema {
    return new NullSchema();
  }

  public static function array(?Schema $items = null): ArraySchema {
    $array = new ArraySchema();
    return $items ? $array->items($items) : $array;
  }

  /** @param array<string, Schema>|null $properties */
  public static function object(?array $properties = null): ObjectSchema {
    $object = new ObjectSchema();
    return $properties === null ? $object : $object->properties($properties);
  }

  /** @param Schema[] $schemas */
  public static function oneOf(array $schemas): OneOfSchema {
    return new OneOfSchema($schemas);
  }

  /** @param Schema[] $schemas */
  public static function anyOf(array $schemas): AnyOfSchema {
    return new AnyOfSchema($schemas);
  }
}