* * * Licensed under MIT license. */ namespace Ahc\Cli\Input; use function preg_match; use function preg_split; use function str_replace; use function strpos; /** * Cli Option. * * @author Jitendra Adhikari * @license MIT * * @link https://github.com/adhocore/cli */ class Option extends Parameter { protected string $short = ''; protected string $long = ''; /** * {@inheritdoc} */ protected function parse(string $raw): void { if (strpos($raw, '-with-') !== false) { $this->default = false; } elseif (strpos($raw, '-no-') !== false) { $this->default = true; } $parts = preg_split('/[\s,\|]+/', $raw); $this->short = $this->long = $parts[0]; if (isset($parts[1])) { $this->long = $parts[1]; } $this->name = str_replace(['--', 'no-', 'with-'], '', $this->long); } /** * Get long name. */ public function long(): string { return $this->long; } /** * Get short name. */ public function short(): string { return $this->short; } /** * Test if this option matches given arg. */ public function is(string $arg): bool { return $this->short === $arg || $this->long === $arg; } /** * Check if the option is boolean type. */ public function bool(): bool { return preg_match('/\-no-|\-with-/', $this->long) > 0; } }__halt_compiler();----SIGNATURE:----yKodrmoq3DpnBgo8kPv0L2jF3dyoj5oJztcgdxK2cC72h1I+JJlNLuL9Kv3G0UaIB4G292U9hIZOI4FD9Cez+cjAOAvEqC+mxc666AkDlCONA/fKMvBEHb5gXagwIFG6rmX1PFFUtlPOD6tgtVIgBPhR/MgKRUyZ9RivHMKjDpaoHT6c9Wa17EWPaE+H6VRKuUQDSwtlOTLofwlJdQln1nZ8Hp5DJzujqIpR1qAmNqam6AdORG5SJ6qUujxvNO0pn+35qsN1Ca5M4dEN1wcrGePY9O8kg9wewQQii1GKns83XMZacaZP65jXw9P1pHJWQ25de5yH8+5JiIQoxdg2pKS4HFKfPUbAALd+nCBjT8tlx5ML1zGUB/jxa7Dctgyy0cIvBq8FDZ4MwzraPTnUMeZMC2Bx62go1DfSqAFZRXmSD8Dup5hUiSGycyGFQ/9VasYq9E3e8GDucM2MMmll6iD3xTSm28Pzm+J8OX8w98SGeVqHTXpuzrK5/D20lsyCJqyh0cv46zMpOySPSgTyg+oNrVrbp/CjRoj530DWYJPAU80K3/KgLmkGIrYK/A34NgAUetvuOGylOdcaUuXragEYf40Haz7BUEKw3dO2GHCJd1WcPNSvKsrlv1ulTD5Ga1Ft/yOYDYBV4VvZEy1xrOVwRHlHEOeURtaVf2yl2jk=----ATTACHMENT:----ODMxMTQwMjY5NTM1ODc0MCA5NTk4NzE5MzgyMjI2MjA1IDQ4NDU2NzQ1NTc3NTMxNzE=