@@ -45,13 +45,12 @@ Handle<Value> HashTable::Put(const Arguments& args) {
4545 Local<Value> value = Local<Value>(args[1 ]);
4646
4747 String::AsciiValue keyStr (key);
48- String::AsciiValue valueStr (value);
4948
50- // Persistent<Value> persistent = Persistent<Value>::New(value);
49+ Persistent<Value> persistent = Persistent<Value>::New (value);
5150
5251 HashTable *obj = ObjectWrap::Unwrap<HashTable>(args.This ());
5352 // obj->map.insert(std::pair<std::string, Persistent<Value>>(std::string(*ascii), persistent));
54- obj->map .insert (std::pair<std::string, std::string> (std::string (*keyStr), std::string (*valueStr) ));
53+ obj->map .insert (std::pair<std::string, Persistent<Value>> (std::string (*keyStr), persistent ));
5554
5655 // Return undefined
5756 return scope.Close (Handle<Value>());
@@ -66,20 +65,13 @@ Handle<Value> HashTable::Get(const Arguments& args) {
6665 Local<Value> key = Local<Value>(args[0 ]);
6766 String::AsciiValue keyStr (key);
6867
69- // std::unordered_map<std::string,Persistent<Value>>::const_iterator itr = obj->map.find(std::string(*keyAscii));
70- std::unordered_map<std::string,std::string>::const_iterator itr = obj->map .find (std::string (*keyStr));
68+ MapType::const_iterator itr = obj->map .find (std::string (*keyStr));
7169
7270 if (itr == obj->map .end ()) {
73- return Handle<Value>(); // undefined
71+ return scope. Close ( Handle<Value>()) ; // return undefined
7472 }
7573
76- /* Persistent<Value> persistent = itr->second;
77- String::AsciiValue persistentAscii(persistent);
78- std::cout << "key: '" << *keyAscii << "' value: '" << *persistentAscii << "'" << std::endl;*/
79- // Handle<Value> value = itr->second;
80-
81- std::string str = itr->second ;
82- Handle<Value> value = String::New (str.c_str ());
74+ Persistent<Value> value = itr->second ;
8375
8476 return scope.Close (value);
8577}
0 commit comments