| 257 | } |
| 258 | |
| 259 | Value GetHelper(ObjectReference& ref, |
| 260 | Object& configObject, |
| 261 | const Napi::Env& env) { |
| 262 | int keyType = |
| 263 | MaybeUnwrap(configObject.Get("keyType")).As<Napi::Number>().Uint32Value(); |
| 264 | if (ref.IsEmpty()) { |
| 265 | return String::New(env, "No referenced Value"); |
| 266 | } |
| 267 | |
| 268 | switch (keyType) { |
| 269 | case C_STR: { |
| 270 | std::string c_key = |
| 271 | MaybeUnwrap(configObject.Get("key")).As<String>().Utf8Value(); |
| 272 | return MaybeUnwrap(ref.Get(c_key.c_str())); |
| 273 | break; |
| 274 | } |
| 275 | case CPP_STR: { |
| 276 | std::string cpp_key = |
| 277 | MaybeUnwrap(configObject.Get("key")).As<String>().Utf8Value(); |
| 278 | return MaybeUnwrap(ref.Get(cpp_key)); |
| 279 | break; |
| 280 | } |
| 281 | case INT: { |
| 282 | uint32_t key = |
| 283 | MaybeUnwrap(configObject.Get("key")).As<Number>().Uint32Value(); |
| 284 | return MaybeUnwrap(ref.Get(key)); |
| 285 | break; |
| 286 | } |
| 287 | |
| 288 | default: |
| 289 | return String::New(env, "Error: Reached end of getter"); |
| 290 | break; |
| 291 | } |
| 292 | } |
| 293 | |
| 294 | Value GetFromGetters(const CallbackInfo& info) { |
| 295 | std::string object_req = info[0].As<String>(); |
no test coverage detected