10 private $strings = [];
11 private $currentString =
"";
17 $this->execution = $stateMachineExecution;
23 public function get() {
24 foreach ($this->execution as $states_or_input) {
25 if ($this->isStates($states_or_input)) {
26 $this->processStates($states_or_input);
30 $input = $states_or_input;
31 $this->currentString .= $input;
34 $this->saveAndResetCurrentString();
36 return $this->strings;
42 private function processStates(array $states) {
43 if ($this->containsFirstState($states)) {
44 $this->saveAndResetCurrentString();
51 private function saveAndResetCurrentString() {
52 if (!empty($this->currentString)) {
53 $this->strings[] = $this->currentString;
54 $this->currentString =
"";
61 private function isStates($input): bool {
62 return is_array($input);
68 private function containsFirstState(array $states): bool {
69 return in_array(0, $states);