<?php
namespace nur\sery\wip\schema;

use nur\sery\wip\schema\input\Input;
use nur\sery\wip\schema\types\IType;

class WrapperContext {
  function __construct(Schema $schema, Wrapper $wrapper, Input $input, $valueKey, Result $result) {
    $this->schema = $schema;
    $this->wrapper = $wrapper;
    $this->input = $input;
    $this->result = $result;
    $this->type = null;
    $this->origValue = null;
    $this->value = null;
    $this->valueKey = $valueKey;
  }

  public Schema $schema;
  public Wrapper $wrapper;
  public Input $input;
  public Result $result;
  public ?IType $type;
  /** @var mixed */
  public $origValue;
  /** @var mixed */
  public $value;
  /** @var int|string|null */
  public $valueKey;
}