UNPKG

luhn-generator

Version:

A generator of numbers that passes the validation of Luhn algorithm or Luhn formula, also known as the 'modulus 10' or 'mod 10' algorithm

88 lines (70 loc) 2.65 kB
'use strict'; var util = require('util'); // Constants var c = require('../const'); var $$ = require('../utils'); var HelpFormatter = require('./formatter.js'); /** * new RawDescriptionHelpFormatter(options) * new ArgumentParser({formatterClass: argparse.RawDescriptionHelpFormatter, ...}) * * Help message formatter which adds default values to argument help. * * Only the name of this class is considered a public API. All the methods * provided by the class are considered an implementation detail. **/ function ArgumentDefaultsHelpFormatter(options) { HelpFormatter.call(this, options); } util.inherits(ArgumentDefaultsHelpFormatter, HelpFormatter); ArgumentDefaultsHelpFormatter.prototype._getHelpString = function (action) { var help = action.help; if (action.help.indexOf('%(defaultValue)s') === -1) { if (action.defaultValue !== c.SUPPRESS) { var defaulting_nargs = [ c.OPTIONAL, c.ZERO_OR_MORE ]; if (action.isOptional() || (defaulting_nargs.indexOf(action.nargs) >= 0)) { help += ' (default: %(defaultValue)s)'; } } } return help; }; module.exports.ArgumentDefaultsHelpFormatter = ArgumentDefaultsHelpFormatter; /** * new RawDescriptionHelpFormatter(options) * new ArgumentParser({formatterClass: argparse.RawDescriptionHelpFormatter, ...}) * * Help message formatter which retains any formatting in descriptions. * * Only the name of this class is considered a public API. All the methods * provided by the class are considered an implementation detail. **/ function RawDescriptionHelpFormatter(options) { HelpFormatter.call(this, options); } util.inherits(RawDescriptionHelpFormatter, HelpFormatter); RawDescriptionHelpFormatter.prototype._fillText = function (text, width, indent) { var lines = text.split('\n'); lines = lines.map(function (line) { return $$.trimEnd(indent + line); }); return lines.join('\n'); }; module.exports.RawDescriptionHelpFormatter = RawDescriptionHelpFormatter; /** * new RawTextHelpFormatter(options) * new ArgumentParser({formatterClass: argparse.RawTextHelpFormatter, ...}) * * Help message formatter which retains formatting of all help text. * * Only the name of this class is considered a public API. All the methods * provided by the class are considered an implementation detail. **/ function RawTextHelpFormatter(options) { RawDescriptionHelpFormatter.call(this, options); } util.inherits(RawTextHelpFormatter, RawDescriptionHelpFormatter); RawTextHelpFormatter.prototype._splitLines = function (text) { return text.split('\n'); }; module.exports.RawTextHelpFormatter = RawTextHelpFormatter;