| 1234567891011121314151617181920212223242526272829 | /********************************************************************* * NAN - Native Abstractions for Node.js * * Copyright (c) 2018 NAN contributors * * MIT License <https://github.com/nodejs/nan/blob/master/LICENSE.md> ********************************************************************/#ifndef NAN_DEFINE_OWN_PROPERTY_HELPER_H_#define NAN_DEFINE_OWN_PROPERTY_HELPER_H_namespace imp {inline Maybe<bool> DefineOwnPropertyHelper(    v8::PropertyAttribute current  , v8::Handle<v8::Object> obj  , v8::Handle<v8::String> key  , v8::Handle<v8::Value> value  , v8::PropertyAttribute attribs = v8::None) {  return !(current & v8::DontDelete) ||                     // configurable OR                  (!(current & v8::ReadOnly) &&             // writable AND                   !((attribs ^ current) & ~v8::ReadOnly))  // same excluding RO             ? Just<bool>(obj->ForceSet(key, value, attribs))             : Nothing<bool>();}}  // end of namespace imp#endif  // NAN_DEFINE_OWN_PROPERTY_HELPER_H_
 |