| 147 | } |
| 148 | |
| 149 | Maybe<Json> LuaConverter<Json>::to(LuaEngine&, LuaValue const& v) { |
| 150 | if (v == LuaNil) |
| 151 | return Json(); |
| 152 | |
| 153 | if (auto b = v.ptr<LuaBoolean>()) |
| 154 | return Json(*b); |
| 155 | |
| 156 | if (auto i = v.ptr<LuaInt>()) |
| 157 | return Json(*i); |
| 158 | |
| 159 | if (auto f = v.ptr<LuaFloat>()) |
| 160 | return Json(*f); |
| 161 | |
| 162 | if (auto s = v.ptr<LuaString>()) |
| 163 | return Json(s->toString()); |
| 164 | |
| 165 | if (v.is<LuaTable>()) |
| 166 | return LuaDetail::tableToJsonContainer(v.get<LuaTable>()); |
| 167 | |
| 168 | return {}; |
| 169 | } |
| 170 | |
| 171 | LuaValue LuaConverter<JsonObject>::from(LuaEngine& engine, JsonObject v) { |
| 172 | return engine.luaFrom<Json>(Json(std::move(v))); |