1: <?php
2:
3: namespace LaravelUi5\Core\Enums;
4:
5: /**
6: * Enum representing allowed primitive value types for settings.
7: */
8: enum ParameterType: int
9: {
10: /**
11: * A string value (e.g. 'EUR', 'dark', 'ProjectVH')
12: */
13: case String = 1;
14:
15: /**
16: * An integer value (e.g. 42, 0, 365)
17: */
18: case Integer = 2;
19:
20: /**
21: * A floating-point number (e.g. 19.99, 0.875)
22: */
23: case Float = 3;
24:
25: /**
26: * A boolean value (true or false)
27: */
28: case Boolean = 4;
29:
30: /**
31: * A ISO-8601/UTC date string
32: */
33: case Date = 5;
34:
35: /**
36: * An integer representing the foreign key of a Model class
37: */
38: case Model = 6;
39:
40: /**
41: * Returns a human-readable label for this type.
42: *
43: * @return string
44: */
45: public function label(): string
46: {
47: return match ($this) {
48: self::String => 'String',
49: self::Integer => 'Integer',
50: self::Float => 'Float',
51: self::Boolean => 'Boolean',
52: self::Date => 'Date',
53: self::Model => 'Model',
54: };
55: }
56: }
57: