.
This commit is contained in:
		
							
								
								
									
										76
									
								
								qwen/nodejs/node_modules/argparse/lib/namespace.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								qwen/nodejs/node_modules/argparse/lib/namespace.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,76 @@
 | 
			
		||||
/**
 | 
			
		||||
 * class Namespace
 | 
			
		||||
 *
 | 
			
		||||
 * Simple object for storing attributes. Implements equality by attribute names
 | 
			
		||||
 * and values, and provides a simple string representation.
 | 
			
		||||
 *
 | 
			
		||||
 * See also [original guide][1]
 | 
			
		||||
 *
 | 
			
		||||
 * [1]:http://docs.python.org/dev/library/argparse.html#the-namespace-object
 | 
			
		||||
 **/
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var $$ = require('./utils');
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * new Namespace(options)
 | 
			
		||||
 * - options(object): predefined propertis for result object
 | 
			
		||||
 *
 | 
			
		||||
 **/
 | 
			
		||||
var Namespace = module.exports = function Namespace(options) {
 | 
			
		||||
  $$.extend(this, options);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Namespace#isset(key) -> Boolean
 | 
			
		||||
 * - key (string|number): property name
 | 
			
		||||
 *
 | 
			
		||||
 * Tells whenever `namespace` contains given `key` or not.
 | 
			
		||||
 **/
 | 
			
		||||
Namespace.prototype.isset = function (key) {
 | 
			
		||||
  return $$.has(this, key);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Namespace#set(key, value) -> self
 | 
			
		||||
 * -key (string|number|object): propery name
 | 
			
		||||
 * -value (mixed): new property value
 | 
			
		||||
 *
 | 
			
		||||
 * Set the property named key with value.
 | 
			
		||||
 * If key object then set all key properties to namespace object
 | 
			
		||||
 **/
 | 
			
		||||
Namespace.prototype.set = function (key, value) {
 | 
			
		||||
  if (typeof (key) === 'object') {
 | 
			
		||||
    $$.extend(this, key);
 | 
			
		||||
  } else {
 | 
			
		||||
    this[key] = value;
 | 
			
		||||
  }
 | 
			
		||||
  return this;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Namespace#get(key, defaultValue) -> mixed
 | 
			
		||||
 * - key (string|number): property name
 | 
			
		||||
 * - defaultValue (mixed): default value
 | 
			
		||||
 *
 | 
			
		||||
 * Return the property key or defaulValue if not set
 | 
			
		||||
 **/
 | 
			
		||||
Namespace.prototype.get = function (key, defaultValue) {
 | 
			
		||||
  return !this[key] ? defaultValue : this[key];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Namespace#unset(key, defaultValue) -> mixed
 | 
			
		||||
 * - key (string|number): property name
 | 
			
		||||
 * - defaultValue (mixed): default value
 | 
			
		||||
 *
 | 
			
		||||
 * Return data[key](and delete it) or defaultValue
 | 
			
		||||
 **/
 | 
			
		||||
Namespace.prototype.unset = function (key, defaultValue) {
 | 
			
		||||
  var value = this[key];
 | 
			
		||||
  if (value !== null) {
 | 
			
		||||
    delete this[key];
 | 
			
		||||
    return value;
 | 
			
		||||
  }
 | 
			
		||||
  return defaultValue;
 | 
			
		||||
};
 | 
			
		||||
		Reference in New Issue
	
	Block a user