dts-generator.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. (function (factory) {
  2. if (typeof module === 'object' && typeof module.exports === 'object') {
  3. var v = factory(require, exports); if (v !== undefined) module.exports = v;
  4. }
  5. else if (typeof define === 'function' && define.amd) {
  6. define(["require", "exports", '../index'], factory);
  7. }
  8. })(function (require, exports) {
  9. "use strict";
  10. var index_1 = require('../index');
  11. function main(argv) {
  12. var kwArgs = {
  13. files: [],
  14. sendMessage: console.log.bind(console)
  15. };
  16. for (var i = 0; i < argv.length; ++i) {
  17. var arg = argv[i];
  18. if (arg.charAt(0) === '-') {
  19. var key = argv[i].replace(/^-+/, '');
  20. var value = argv[i + 1];
  21. ++i;
  22. if (key === 'exclude') {
  23. if (!kwArgs.exclude) {
  24. kwArgs.exclude = [];
  25. }
  26. kwArgs.exclude.push(value);
  27. }
  28. else if (key === 'extern') {
  29. if (!kwArgs.externs) {
  30. kwArgs.externs = [];
  31. }
  32. kwArgs.externs.push(value);
  33. }
  34. else if (key === 'verbose') {
  35. kwArgs.verbose = true;
  36. /* decrement counter, because vebose does not take a value */
  37. --i;
  38. }
  39. else {
  40. kwArgs[key] = value;
  41. }
  42. }
  43. else {
  44. kwArgs.files.push(argv[i]);
  45. }
  46. }
  47. ['out'].forEach(function (key) {
  48. if (!kwArgs[key]) {
  49. console.error("Missing required argument \"" + key + "\"");
  50. process.exit(1);
  51. }
  52. });
  53. if (!kwArgs.baseDir && !kwArgs.project) {
  54. console.error("Missing required argument of \"baseDir\" or \"project\"");
  55. process.exit(1);
  56. }
  57. if (!kwArgs.project && kwArgs.files.length === 0) {
  58. console.error('Missing files');
  59. process.exit(1);
  60. }
  61. console.log('Starting');
  62. return index_1.default(kwArgs).then(function () {
  63. console.log('Done!');
  64. });
  65. }
  66. Object.defineProperty(exports, "__esModule", { value: true });
  67. exports.default = main;
  68. ;
  69. });