| 109 | } |
| 110 | |
| 111 | void SetObjectWithCppStringKey(Napi::ObjectReference& obj, |
| 112 | Napi::Value key, |
| 113 | Napi::Value val, |
| 114 | int valType) { |
| 115 | std::string c_key = key.As<Napi::String>(); |
| 116 | switch (valType) { |
| 117 | case JS: |
| 118 | obj.Set(c_key, val); |
| 119 | break; |
| 120 | |
| 121 | case JS_CAST: |
| 122 | obj.Set(c_key, static_cast<napi_value>(val)); |
| 123 | break; |
| 124 | |
| 125 | case CPP_STR: { |
| 126 | std::string c_val = val.As<Napi::String>(); |
| 127 | obj.Set(c_key, c_val); |
| 128 | break; |
| 129 | } |
| 130 | |
| 131 | case BOOL: |
| 132 | obj.Set(c_key, val.As<Napi::Boolean>().Value()); |
| 133 | break; |
| 134 | |
| 135 | case DOUBLE: |
| 136 | obj.Set(c_key, val.As<Napi::Number>().DoubleValue()); |
| 137 | break; |
| 138 | } |
| 139 | } |
| 140 | |
| 141 | void SetObjectWithIntKey(Napi::ObjectReference& obj, |
| 142 | Napi::Value key, |