81773dbf70c7fea30be8ea00fb968cca28b40558
[yaffs-website] / vendor / drupal / console-core / src / Command / Shared / InputTrait.php
1 <?php
2
3 /**
4  * @file
5  * Contains Drupal\Console\Core\Command\Shared\InputTrait.
6  */
7
8 namespace Drupal\Console\Core\Command\Shared;
9
10 /**
11  * Class InputTrait
12  *
13  * @package Drupal\Console\Core\Command\Shared
14  */
15 trait InputTrait
16 {
17     /**
18      * @return array
19      */
20     private function inlineValueAsArray($inputValue)
21     {
22         $inputAsArray = [];
23         foreach ($inputValue as $key => $value) {
24             if (!is_array($value)) {
25                 try {
26                     $inputAsArray[] = json_decode('[{'.$value.'}]', true)[0];
27                 } catch (\Exception $e) {
28                     continue;
29                 }
30             }
31         }
32
33         return $inputAsArray?$inputAsArray:$inputValue;
34     }
35
36     /**
37      * @return array
38      */
39     private function placeHolderInlineValueAsArray($inputValue)
40     {
41         $inputArrayValue = [];
42         foreach ($inputValue as $key => $value) {
43             if (!is_array($value)) {
44                 $separatorIndex = strpos($value, ':');
45                 if (!$separatorIndex) {
46                     continue;
47                 }
48                 $inputKeyItem = substr($value, 0, $separatorIndex);
49                 $inputValueItem = substr($value, $separatorIndex+1);
50                 $inputArrayValue[$inputKeyItem] = $inputValueItem;
51             }
52         }
53
54         return $inputArrayValue?$inputArrayValue:$inputValue;
55     }
56 }