You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							29 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
	
	
							29 lines
						
					
					
						
							1.0 KiB
						
					
					
				/********************************************************************* | 
						|
 * 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_
 | 
						|
 |