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.
		
		
		
		
		
			
		
			
				
					
					
						
							77 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							77 lines
						
					
					
						
							1.5 KiB
						
					
					
				/*! | 
						|
 * 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') | 
						|
  } | 
						|
}
 | 
						|
 |