| 98 | } |
| 99 | |
| 100 | Value CommandsTable::CustomVariableValuesAccessor(const Value& row) |
| 101 | { |
| 102 | Command::Ptr command = static_cast<Command::Ptr>(row); |
| 103 | |
| 104 | if (!command) |
| 105 | return Empty; |
| 106 | |
| 107 | Dictionary::Ptr vars = command->GetVars(); |
| 108 | |
| 109 | ArrayData keys; |
| 110 | |
| 111 | if (vars) { |
| 112 | ObjectLock xlock(vars); |
| 113 | for (const auto& kv : vars) { |
| 114 | keys.push_back(kv.second); |
| 115 | } |
| 116 | } |
| 117 | |
| 118 | return new Array(std::move(keys)); |
| 119 | } |
| 120 | |
| 121 | Value CommandsTable::CustomVariablesAccessor(const Value& row) |
| 122 | { |