@@ -757,6 +757,28 @@ inline void Object::Set(const std::string& utf8name, double numberValue) {
757757 Set (utf8name.c_str (), Number::New (Env (), numberValue));
758758}
759759
760+ inline bool Object::Delete (napi_value key) {
761+ bool result;
762+ napi_status status = napi_delete_property (_env, _value, key, &result);
763+ NAPI_THROW_IF_FAILED (_env, status, false );
764+ return result;
765+ }
766+
767+ inline bool Object::Delete (Value key) {
768+ bool result;
769+ napi_status status = napi_delete_property (_env, _value, key, &result);
770+ NAPI_THROW_IF_FAILED (_env, status, false );
771+ return result;
772+ }
773+
774+ inline bool Object::Delete (const char * utf8name) {
775+ return Delete (String::New (_env, utf8name));
776+ }
777+
778+ inline bool Object::Delete (const std::string& utf8name) {
779+ return Delete (String::New (_env, utf8name));
780+ }
781+
760782inline bool Object::Has (uint32_t index) const {
761783 bool result;
762784 napi_status status = napi_has_element (_env, _value, index, &result);
@@ -797,6 +819,13 @@ inline void Object::Set(uint32_t index, double numberValue) {
797819 Set (index, static_cast <napi_value>(Number::New (Env (), numberValue)));
798820}
799821
822+ inline bool Object::Delete (uint32_t index) {
823+ bool result;
824+ napi_status status = napi_delete_element (_env, _value, index, &result);
825+ NAPI_THROW_IF_FAILED (_env, status, false );
826+ return result;
827+ }
828+
800829inline Array Object::GetPropertyNames () {
801830 napi_value result;
802831 napi_status status = napi_get_property_names (_env, _value, &result);
@@ -1657,7 +1686,7 @@ inline Reference<T>& Reference<T>::operator =(Reference<T>&& other) {
16571686}
16581687
16591688template <typename T>
1660- inline Reference<T>::Reference(const Reference<T>& other)
1689+ inline Reference<T>::Reference(const Reference<T>& other)
16611690 : _env(other._env), _ref(nullptr ), _suppressDestruct(false ) {
16621691 HandleScope scope (_env);
16631692
0 commit comments