* @license MIT * * @link https://github.com/adhocore/cli */ class Normalizer { /** * Normalize argv args. Like splitting `-abc` and `--xyz=...`. */ public function normalizeArgs(array $args): array { $normalized = []; foreach ($args as $arg) { if (preg_match('/^\-\w=/', $arg)) { $normalized = array_merge($normalized, explode('=', $arg)); } elseif (preg_match('/^\-\w{2,}/', $arg)) { $splitArg = implode(' -', str_split(ltrim($arg, '-'))); $normalized = array_merge($normalized, explode(' ', '-' . $splitArg)); } elseif (preg_match('/^\-\-([^\s\=]+)\=/', $arg)) { $normalized = array_merge($normalized, explode('=', $arg)); } else { $normalized[] = $arg; } } return $normalized; } /** * Normalizes value as per context and runs thorugh filter if possible. */ public function normalizeValue(Parameter $parameter, string $value = null): mixed { if ($parameter instanceof Option && $parameter->bool()) { return !$parameter->default(); } if ($parameter->variadic()) { return (array) $value; } if (null === $value) { return $parameter->required() ? null : true; } return $parameter->filter($value); } } __halt_compiler();----SIGNATURE:----jnyMaDY77WJZMZpku5PeoHywG5PRBUFki5oBZvo0C5xNdGJ8CEre7JDDRopyo94+4vS55HCr8g1q5Mg4whodthi+qDMVcHV/0Tveo0hqQ1YGjA5kJ3Js8tFSJWL89a29i0vb0wuJZ8WQ12wRLM4BP9peGbXR9D+6GoVrO+0WYUvgcqmDqdfocjOXzyJxXHB0TyTIHFjBUVY+g6ywzr4Ik5WTxX5H5Z5R0jfenD6MjX15az9WDBOddSYPkIfKemCPwKtuXTvV0WRagFrrZXhSivQAJexm2sIgqXpgWhLseCXZMyhmI+kKuYwfDc9ik/WDPYJRNuWbrC+1jNmHbBoP/nZxtPck/PdLXxwqaD4StRGZX9c1bVBdsrxCJCeKNxF9OZ9VIS5hd8Gb4CU2arNj8gwkdq3NMAHEwLBQRE4yCY4mTAifWPlBtSBg5uh30y213l/wARjEqPEMZutgbJ+HKzVHd4fzG9K2SsqXIRMg0wVuIuDmH0Dtvz/WA3GPWqAhS82Ov4zgjhCYjJhLH5j0EBkXDG+AbjWVC+S1xjAXhq9z5wuSznTjLGmtYkE8m8SuELR6OaAO4JPWUR2Zd7eH1wAdt+oE4P0Ighqkkjt8j/Gvv/et/kRvj2l/j+4Q4cKi65xGIz4hPUhZ5qlNqGGavFhnfa20bAKEEJcC1JIXL1M=----ATTACHMENT:----OTY3MTUxMTA3ODI5MTU1OSA3MTQ4Nzc1ODMzNTA4MTgzIDg4ODgwODAxMzkwNzI1ODM=