class-id.php
                
        
                    
            <?php
/**
 * ID field.
 *
 * @package HivePress\Fields
 */
namespace HivePress\Fields;
use HivePress\Helpers as hp;
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
/**
 * Numeric ID.
 */
class ID extends Number {
	/**
	 * Class initializer.
	 *
	 * @param array $meta Class meta values.
	 */
	public static function init( $meta = [] ) {
		$meta = hp\merge_arrays(
			[
				'label'      => null,
				'filterable' => false,
				'sortable'   => false,
			],
			$meta
		);
		parent::init( $meta );
	}
	/**
	 * Class constructor.
	 *
	 * @param array $args Field arguments.
	 */
	public function __construct( $args = [] ) {
		$args = hp\merge_arrays(
			$args,
			[
				'min_value' => 1,
			]
		);
		parent::__construct( $args );
	}
	/**
	 * Normalizes field value.
	 */
	protected function normalize() {
		parent::normalize();
		if ( 0 === absint( $this->value ) ) {
			$this->value = null;
		}
	}
}