Automattic\WooCommerce\Internal\Admin\Settings

SettingsUISchema::assert_safe_integer │ private static │ WC 1.0

Assert an exact integer fits both JavaScript and the current PHP runtime.

Method of the class: SettingsUISchema{}

No Hooks.

Returns

null. Nothing (null).

Usage

$result = SettingsUISchema::assert_safe_integer( $integer, $field_id, $property ): void;
$integer(string) (required)
Normalized signed integer.
$field_id(string) (required)
Field id.
$property(string) (required)
Value or bound name.

SettingsUISchema::assert_safe_integer() code WC 11.2.1

private static function assert_safe_integer( string $integer, string $field_id, string $property ): void {
	$absolute = ltrim( $integer, '-' );
	if ( self::unsigned_decimal_is_greater( $absolute, self::JAVASCRIPT_SAFE_INTEGER ) ) {
		throw self::invalid_schema( sprintf( 'Field "%1$s" %2$s is outside the JavaScript safe integer range.', $field_id, $property ) );
	}

	$php_integer_limit = '-' === substr( $integer, 0, 1 ) ? ltrim( (string) PHP_INT_MIN, '-' ) : (string) PHP_INT_MAX;
	if ( self::unsigned_decimal_is_greater( $absolute, $php_integer_limit ) ) {
		throw self::invalid_schema( sprintf( 'Field "%1$s" %2$s cannot be represented as an integer on this PHP platform.', $field_id, $property ) );
	}
}