Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
node_result
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2// This file is part of Moodle - https://moodle.org/
3//
4// Moodle is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8//
9// Moodle is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with Moodle.  If not, see <https://www.gnu.org/licenses/>.
16
17declare(strict_types=1);
18
19namespace tool_autoflow\local\engine;
20
21/**
22 * What a node returns: its output, the branch it chose, and variables it sets.
23 *
24 * @package    tool_autoflow
25 * @copyright  2026 DevLMS <contact@devlms.com>
26 * @license    https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
27 */
28final class node_result {
29    /**
30     * Create a result.
31     *
32     * @param array $output Readable by later nodes as {{nodes.<id>.<key>}}.
33     * @param string|null $branch Handle to follow, or null to follow only edges without a handle.
34     * @param array $vars Variables to set, readable as {{vars.<name>}}.
35     */
36    public function __construct(
37        /** @var array Output for later nodes. */
38        public readonly array $output = [],
39        /** @var string|null Branch to follow. */
40        public readonly ?string $branch = null,
41        /** @var array Variables to set. */
42        public readonly array $vars = [],
43    ) {
44    }
45}