Update stdlib
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / types / compat / float.pp
1 # Emulate the is_float function
2 # The regex is what's currently used in is_float
3 # To keep your development moving forward, you can also add a deprecation warning using the Integer type:
4 #
5 # ```class example($value) { validate_float($value,) }```
6 #
7 # would turn into
8 #
9 # ```
10 # class example(Stdlib::Compat::Float $value) {
11 #   validate_float($value, 10, 0)
12 #   assert_type(Integer[0, 10], $value) |$expected, $actual| {
13 #     warning("The 'value' parameter for the 'ntp' class has type ${actual}, but should be ${expected}.")
14 #   }
15 # }
16 # ```
17 #
18 # This allows you to find all places where a consumers of your code call it with unexpected values.
19 type Stdlib::Compat::Float = Variant[Float, Pattern[/^-?(?:(?:[1-9]\d*)|0)(?:\.\d+)(?:[eE]-?\d+)?$/]]