<?php


namespace Mainto\RpcServer\RpcServer\Definition;


use Illuminate\Contracts\Support\Arrayable;
use Mainto\RpcServer\Util\ArrayHelper;

class Parameter implements Arrayable {
    use ArrayHelper;

    /**
     * @var bool
     */
    public bool $require = false;

    /**
     * @var mixed|null
     */
    public $default = null;

    /**
     * @var bool
     */
    public bool $defaultValueAvailable = false;

    /**
     * @var bool
     */
    public bool $nullable = false;

    /**
     * @var string
     */
    public string $name;

    /**
     * @var string
     */
    public string $type;
}