Automattic\WooCommerce\Internal\Admin\Settings
SettingsUISchema::assert_safe_integer
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() 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 ) );
}
}