* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ abstract class MarkupAbstract extends CodeGeneratorAbstract { /** @var integer */ protected $heading; /** @var string */ protected $prefix; /** * @param integer $heading * @param string $prefix */ public function __construct(int $heading = 1, string $prefix = 'psx_model_') { parent::__construct(); $this->heading = $heading >= 1 && $heading <= 6 ? $heading : 1; $this->prefix = $prefix; } protected function normalizeClassName(string $name): string { return $name; } protected function normalizePropertyName(string $name): string { return $name; } /** * @param \PSX\Schema\TypeInterface $type * @return array */ protected function getConstraints(TypeInterface $type) { $constraints = []; if ($type instanceof ArrayType) { $minItems = $type->getMinItems(); if ($minItems !== null) { $constraints['minItems'] = $minItems; } $maxItems = $type->getMaxItems(); if ($maxItems !== null) { $constraints['maxItems'] = $maxItems; } } elseif ($type instanceof NumberType) { $minimum = $type->getMinimum(); if ($minimum !== null) { $constraints['minimum'] = $minimum; } $maximum = $type->getMaximum(); if ($maximum !== null) { $constraints['maximum'] = $maximum; } $multipleOf = $type->getMultipleOf(); if ($multipleOf !== null) { $constraints['multipleOf'] = $multipleOf; } } elseif ($type instanceof StringType) { $minLength = $type->getMinLength(); if ($minLength !== null) { $constraints['minLength'] = $minLength; } $maxLength = $type->getMaxLength(); if ($maxLength !== null) { $constraints['maxLength'] = $maxLength; } $pattern = $type->getPattern(); if ($pattern !== null) { $constraints['pattern'] = $pattern; } } if ($type instanceof ScalarType) { $enum = $type->getEnum(); if ($enum !== null) { $constraints['enum'] = $enum; } $const = $type->getConst(); if ($const !== null) { $constraints['const'] = $const; } } return $constraints; } } __halt_compiler();----SIGNATURE:----g+aLmLKssSupRocb+rQwrAlK0/zKOloq1NYzVwAlgJAH7xjj8QfbohpVjzTWS4jayOOPqA4W0fx2Lg87cIGg3zQQLD6Bigjs9O89bU9iu+CL4uP0iO1Z4TxL4LRTo8aNTMaOFqI2Z9vj/HAY7+CIjn0l5USq9WF6hTyMWDidfi2TqUh2cQyEwH3i653eFTQRPC8WKBcdVL+0w6aTv+aKAq8oVM7O9WXUJZ8JNzjuv1u7wbsr5/14Qc6vUTlaqzaVsTpKHCDXiQ+r3mTsqY5BUVnOZOBow+Mvr77o8nbCMwV691yF7KKBEMS5dlezcK2bHTltYEzopkglwjXD4R8wXRQMe4hITL0DmEAecfsK6oJS/bd636Bk93mZvGn5Ak6c8jH5+SHwo/Jyism9aNWPwBEVVh31o4zFBxnxuvj7DoO+s+yJwPqVQs5MbgKRLTH/XWafjd+ws7vLnNZcRCFlcSAHJfQHfIDKII1O3nOsz+Jq5tocy5lgyV8EDT223CP1M0x9Z4c2ZjTGvTniEt4O5OyJnQJchNihZ7GArstBq8BXEglTpITESC05D8FYkt4ya/q2SwxNzMvnFJCKrYwo9u8kDSZkOHwmJyM3NpxCiqetF8671X7LoiXrtGRqGe35Sgn82prMC2k6KB6QlQNwK+g2q6fSqProyU7Zz/oU5wA=----ATTACHMENT:----NjA1MDA0MjM0OTc3ODA1MCA1NzgwMDE0ODAyMzgzNDcgODQ4ODkxNzM2ODUwMDE3OQ==