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.
		
		
		
		
		
			
		
			
				
					78 lines
				
				1.5 KiB
			
		
		
			
		
	
	
					78 lines
				
				1.5 KiB
			| 
											3 years ago
										 | /*! | ||
|  |  * depd | ||
|  |  * Copyright(c) 2015 Douglas Christopher Wilson | ||
|  |  * MIT Licensed | ||
|  |  */ | ||
|  | 
 | ||
|  | 'use strict' | ||
|  | 
 | ||
|  | /** | ||
|  |  * Module exports. | ||
|  |  * @public | ||
|  |  */ | ||
|  | 
 | ||
|  | module.exports = depd | ||
|  | 
 | ||
|  | /** | ||
|  |  * Create deprecate for namespace in caller. | ||
|  |  */ | ||
|  | 
 | ||
|  | function depd (namespace) { | ||
|  |   if (!namespace) { | ||
|  |     throw new TypeError('argument namespace is required') | ||
|  |   } | ||
|  | 
 | ||
|  |   function deprecate (message) { | ||
|  |     // no-op in browser
 | ||
|  |   } | ||
|  | 
 | ||
|  |   deprecate._file = undefined | ||
|  |   deprecate._ignored = true | ||
|  |   deprecate._namespace = namespace | ||
|  |   deprecate._traced = false | ||
|  |   deprecate._warned = Object.create(null) | ||
|  | 
 | ||
|  |   deprecate.function = wrapfunction | ||
|  |   deprecate.property = wrapproperty | ||
|  | 
 | ||
|  |   return deprecate | ||
|  | } | ||
|  | 
 | ||
|  | /** | ||
|  |  * Return a wrapped function in a deprecation message. | ||
|  |  * | ||
|  |  * This is a no-op version of the wrapper, which does nothing but call | ||
|  |  * validation. | ||
|  |  */ | ||
|  | 
 | ||
|  | function wrapfunction (fn, message) { | ||
|  |   if (typeof fn !== 'function') { | ||
|  |     throw new TypeError('argument fn must be a function') | ||
|  |   } | ||
|  | 
 | ||
|  |   return fn | ||
|  | } | ||
|  | 
 | ||
|  | /** | ||
|  |  * Wrap property in a deprecation message. | ||
|  |  * | ||
|  |  * This is a no-op version of the wrapper, which does nothing but call | ||
|  |  * validation. | ||
|  |  */ | ||
|  | 
 | ||
|  | function wrapproperty (obj, prop, message) { | ||
|  |   if (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) { | ||
|  |     throw new TypeError('argument obj must be object') | ||
|  |   } | ||
|  | 
 | ||
|  |   var descriptor = Object.getOwnPropertyDescriptor(obj, prop) | ||
|  | 
 | ||
|  |   if (!descriptor) { | ||
|  |     throw new TypeError('must call property on owner object') | ||
|  |   } | ||
|  | 
 | ||
|  |   if (!descriptor.configurable) { | ||
|  |     throw new TypeError('property must be configurable') | ||
|  |   } | ||
|  | } |