1: <?php declare(strict_types=1);
2:
3: namespace Salient\Contract\Cli;
4:
5: /**
6: * Command line option value types
7: *
8: * @api
9: */
10: interface CliOptionValueType
11: {
12: /**
13: * A boolean value
14: */
15: public const BOOLEAN = 0;
16:
17: /**
18: * An integer value
19: */
20: public const INTEGER = 1;
21:
22: /**
23: * A string
24: */
25: public const STRING = 2;
26:
27: /**
28: * A floating-point value
29: */
30: public const FLOAT = 3;
31:
32: /**
33: * A date/time string understood by DateTimeImmutable::__construct()
34: */
35: public const DATE = 4;
36:
37: /**
38: * Path to an existing file or directory
39: */
40: public const PATH = 5;
41:
42: /**
43: * Path to an existing file
44: */
45: public const FILE = 6;
46:
47: /**
48: * Path to an existing directory
49: */
50: public const DIRECTORY = 7;
51:
52: /**
53: * Path to an existing file or directory, or a dash ('-') for standard input
54: * or output
55: */
56: public const PATH_OR_DASH = 8;
57:
58: /**
59: * Path to an existing file, or a dash ('-') for standard input or output
60: */
61: public const FILE_OR_DASH = 9;
62:
63: /**
64: * Path to an existing directory, or a dash ('-') for standard input or
65: * output
66: */
67: public const DIRECTORY_OR_DASH = 10;
68:
69: /**
70: * Path to a writable/creatable file or directory
71: */
72: public const NEW_PATH = 11;
73:
74: /**
75: * Path to a writable/creatable file
76: */
77: public const NEW_FILE = 12;
78:
79: /**
80: * Path to a writable/creatable directory
81: */
82: public const NEW_DIRECTORY = 13;
83:
84: /**
85: * Path to a writable/creatable file or directory, or a dash ('-') for
86: * standard input or output
87: */
88: public const NEW_PATH_OR_DASH = 14;
89:
90: /**
91: * Path to a writable/creatable file, or a dash ('-') for standard input or
92: * output
93: */
94: public const NEW_FILE_OR_DASH = 15;
95:
96: /**
97: * Path to a writable/creatable directory, or a dash ('-') for standard
98: * input or output
99: */
100: public const NEW_DIRECTORY_OR_DASH = 16;
101: }
102: