proofdb/vendor/illuminate/contracts/JsonSchema/JsonSchema.php
2026-05-01 23:40:14 +08:00

52 lines
1.2 KiB
PHP

<?php
namespace Illuminate\Contracts\JsonSchema;
use Closure;
interface JsonSchema
{
/**
* Create a new object schema instance.
*
* @param (Closure(JsonSchema): array<string, \Illuminate\JsonSchema\Types\Type>)|array<string, \Illuminate\JsonSchema\Types\Type> $properties
* @return \Illuminate\JsonSchema\Types\ObjectType
*/
public function object(Closure|array $properties = []);
/**
* Create a new array property instance.
*
* @return \Illuminate\JsonSchema\Types\ArrayType
*/
public function array();
/**
* Create a new string property instance.
*
* @return \Illuminate\JsonSchema\Types\StringType
*/
public function string();
/**
* Create a new integer property instance.
*
* @return \Illuminate\JsonSchema\Types\IntegerType
*/
public function integer();
/**
* Create a new number property instance.
*
* @return \Illuminate\JsonSchema\Types\NumberType
*/
public function number();
/**
* Create a new boolean property instance.
*
* @return \Illuminate\JsonSchema\Types\BooleanType
*/
public function boolean();
}