argparse.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // Generated by IcedCoffeeScript 1.7.1-c
  2. (function() {
  3. var Base, add_option_dict, add_option_kv, copy, rmkey;
  4. Base = require('argparse').ArgumentParser;
  5. rmkey = require('../util').rmkey;
  6. copy = function(d1) {
  7. var d2, k, v;
  8. d2 = {};
  9. for (k in d1) {
  10. v = d1[k];
  11. d2[k] = v;
  12. }
  13. return d2;
  14. };
  15. exports.add_option_dict = add_option_dict = function(ap, d) {
  16. var k, v, _results;
  17. _results = [];
  18. for (k in d) {
  19. v = d[k];
  20. _results.push(add_option_kv(ap, k, v));
  21. }
  22. return _results;
  23. };
  24. exports.add_option_kv = add_option_kv = function(ap, k, d) {
  25. var a, as, n, names;
  26. d = copy(d);
  27. names = [k];
  28. if ((a = rmkey(d, 'alias'))) {
  29. names.push(a);
  30. }
  31. if ((as = rmkey(d, 'aliases'))) {
  32. names = names.concat(as);
  33. }
  34. names = (function() {
  35. var _i, _len, _results;
  36. _results = [];
  37. for (_i = 0, _len = names.length; _i < _len; _i++) {
  38. n = names[_i];
  39. _results.push("-" + (n.length > 1 ? '-' : '') + n);
  40. }
  41. return _results;
  42. })();
  43. return ap.addArgument(names, d);
  44. };
  45. }).call(this);