comparison vendor/psy/psysh/src/TabCompletion/Matcher/MongoClientMatcher.php @ 17:129ea1e6d783

Update, including to Drupal core 8.6.10
author Chris Cannam
date Thu, 28 Feb 2019 13:21:36 +0000
parents 5fb285c0d0e3
children
comparison
equal deleted inserted replaced
16:c2387f117808 17:129ea1e6d783
25 */ 25 */
26 public function getMatches(array $tokens, array $info = []) 26 public function getMatches(array $tokens, array $info = [])
27 { 27 {
28 $input = $this->getInput($tokens); 28 $input = $this->getInput($tokens);
29 29
30 $firstToken = array_pop($tokens); 30 $firstToken = \array_pop($tokens);
31 if (self::tokenIs($firstToken, self::T_STRING)) { 31 if (self::tokenIs($firstToken, self::T_STRING)) {
32 // second token is the object operator 32 // second token is the object operator
33 array_pop($tokens); 33 \array_pop($tokens);
34 } 34 }
35 $objectToken = array_pop($tokens); 35 $objectToken = \array_pop($tokens);
36 $objectName = str_replace('$', '', $objectToken[1]); 36 $objectName = \str_replace('$', '', $objectToken[1]);
37 $object = $this->getVariable($objectName); 37 $object = $this->getVariable($objectName);
38 38
39 if (!$object instanceof \MongoClient) { 39 if (!$object instanceof \MongoClient) {
40 return []; 40 return [];
41 } 41 }
42 42
43 $list = $object->listDBs(); 43 $list = $object->listDBs();
44 44
45 return array_filter( 45 return \array_filter(
46 array_map(function ($info) { 46 \array_map(function ($info) {
47 return $info['name']; 47 return $info['name'];
48 }, $list['databases']), 48 }, $list['databases']),
49 function ($var) use ($input) { 49 function ($var) use ($input) {
50 return AbstractMatcher::startsWith($input, $var); 50 return AbstractMatcher::startsWith($input, $var);
51 } 51 }
55 /** 55 /**
56 * {@inheritdoc} 56 * {@inheritdoc}
57 */ 57 */
58 public function hasMatched(array $tokens) 58 public function hasMatched(array $tokens)
59 { 59 {
60 $token = array_pop($tokens); 60 $token = \array_pop($tokens);
61 $prevToken = array_pop($tokens); 61 $prevToken = \array_pop($tokens);
62 62
63 switch (true) { 63 switch (true) {
64 case self::tokenIs($token, self::T_OBJECT_OPERATOR): 64 case self::tokenIs($token, self::T_OBJECT_OPERATOR):
65 case self::tokenIs($prevToken, self::T_OBJECT_OPERATOR): 65 case self::tokenIs($prevToken, self::T_OBJECT_OPERATOR):
66 return true; 66 return true;