/
1Rrd0
/
Course
Обзор
Документация
Войти
/
1Rrd0
/
Course
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/argparse/lib/namespace.js
76 строк
2 KB
dima
2
13 дек 2025, 10:58
13 дек 2025, 10:58
ce5a48e
Код
Авторство
О чём код?
/** * 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; };