inray 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/LICENSE.md +28 -27
  2. package/README.md +158 -52
  3. package/dist/async/abortable.d.ts +2 -2
  4. package/dist/async/abortable.d.ts.map +1 -1
  5. package/dist/async/abortable.js.map +1 -1
  6. package/dist/cli/mod.d.ts +2 -0
  7. package/dist/cli/mod.d.ts.map +1 -0
  8. package/dist/cli/mod.js +2 -0
  9. package/dist/cli/mod.js.map +1 -0
  10. package/dist/cli/src/index.d.ts +25 -0
  11. package/dist/cli/src/index.d.ts.map +1 -0
  12. package/dist/cli/src/index.js +25 -0
  13. package/dist/cli/src/index.js.map +1 -0
  14. package/dist/cli/src/lib/argument.d.ts +82 -0
  15. package/dist/cli/src/lib/argument.d.ts.map +1 -0
  16. package/dist/cli/src/lib/argument.js +143 -0
  17. package/dist/cli/src/lib/argument.js.map +1 -0
  18. package/dist/cli/src/lib/command.d.ts +1051 -0
  19. package/dist/cli/src/lib/command.d.ts.map +1 -0
  20. package/dist/cli/src/lib/command.js +2208 -0
  21. package/dist/cli/src/lib/command.js.map +1 -0
  22. package/dist/cli/src/lib/error.d.ts +35 -0
  23. package/dist/cli/src/lib/error.d.ts.map +1 -0
  24. package/dist/cli/src/lib/error.js +49 -0
  25. package/dist/cli/src/lib/error.js.map +1 -0
  26. package/dist/cli/src/lib/help.d.ts +250 -0
  27. package/dist/cli/src/lib/help.d.ts.map +1 -0
  28. package/dist/cli/src/lib/help.js +583 -0
  29. package/dist/cli/src/lib/help.js.map +1 -0
  30. package/dist/cli/src/lib/option.d.ts +189 -0
  31. package/dist/cli/src/lib/option.d.ts.map +1 -0
  32. package/dist/cli/src/lib/option.js +364 -0
  33. package/dist/cli/src/lib/option.js.map +1 -0
  34. package/dist/cli/src/lib/suggestSimilar.d.ts +18 -0
  35. package/dist/cli/src/lib/suggestSimilar.d.ts.map +1 -0
  36. package/dist/cli/src/lib/suggestSimilar.js +99 -0
  37. package/dist/cli/src/lib/suggestSimilar.js.map +1 -0
  38. package/dist/logtape/logtape/level.d.ts +1 -2
  39. package/dist/logtape/logtape/level.d.ts.map +1 -1
  40. package/dist/logtape/logtape/level.js +1 -1
  41. package/dist/logtape/logtape/level.js.map +1 -1
  42. package/dist/logtape/logtape/mod.d.ts +1 -1
  43. package/dist/logtape/logtape/mod.d.ts.map +1 -1
  44. package/dist/logtape/logtape/mod.js +1 -1
  45. package/dist/logtape/logtape/mod.js.map +1 -1
  46. package/dist/utils/mod.d.ts +1 -1
  47. package/dist/utils/mod.d.ts.map +1 -1
  48. package/dist/utils/mod.js.map +1 -1
  49. package/dist/utils/validation/inRangeOfMaxInt32.d.ts +2 -0
  50. package/dist/utils/validation/inRangeOfMaxInt32.d.ts.map +1 -0
  51. package/dist/utils/validation/inRangeOfMaxInt32.js +4 -0
  52. package/dist/utils/validation/inRangeOfMaxInt32.js.map +1 -0
  53. package/dist/utils/validation/isEmail.d.ts +2 -0
  54. package/dist/utils/validation/isEmail.d.ts.map +1 -0
  55. package/dist/utils/validation/isEmail.js +7 -0
  56. package/dist/utils/validation/isEmail.js.map +1 -0
  57. package/dist/utils/validation/isEmptyObject.d.ts +9 -0
  58. package/dist/utils/validation/isEmptyObject.d.ts.map +1 -0
  59. package/dist/utils/validation/isEmptyObject.js +16 -0
  60. package/dist/utils/validation/isEmptyObject.js.map +1 -0
  61. package/dist/utils/validation/isNotEmptyString.d.ts +7 -0
  62. package/dist/utils/validation/isNotEmptyString.d.ts.map +1 -0
  63. package/dist/utils/validation/isNotEmptyString.js +17 -0
  64. package/dist/utils/validation/isNotEmptyString.js.map +1 -0
  65. package/dist/utils/validation/isPositiveInteger.d.ts +2 -0
  66. package/dist/utils/validation/isPositiveInteger.d.ts.map +1 -0
  67. package/dist/utils/validation/isPositiveInteger.js +7 -0
  68. package/dist/utils/validation/isPositiveInteger.js.map +1 -0
  69. package/dist/utils/validation/isUuid.d.ts +2 -0
  70. package/dist/utils/validation/isUuid.d.ts.map +1 -0
  71. package/dist/utils/validation/isUuid.js +7 -0
  72. package/dist/utils/validation/isUuid.js.map +1 -0
  73. package/dist/utils/validation/isUuidArray.d.ts +2 -0
  74. package/dist/utils/validation/isUuidArray.d.ts.map +1 -0
  75. package/dist/utils/validation/isUuidArray.js +7 -0
  76. package/dist/utils/validation/isUuidArray.js.map +1 -0
  77. package/dist/utils/validation/isValidFileName.d.ts +2 -0
  78. package/dist/utils/validation/isValidFileName.d.ts.map +1 -0
  79. package/dist/utils/validation/isValidFileName.js +33 -0
  80. package/dist/utils/validation/isValidFileName.js.map +1 -0
  81. package/dist/utils/validation/isValidUrlLike.d.ts +6 -0
  82. package/dist/utils/validation/isValidUrlLike.d.ts.map +1 -0
  83. package/dist/utils/validation/isValidUrlLike.js +8 -0
  84. package/dist/utils/validation/isValidUrlLike.js.map +1 -0
  85. package/dist/utils/validation/mod.d.ts +21 -0
  86. package/dist/utils/validation/mod.d.ts.map +1 -0
  87. package/dist/utils/validation/mod.js +21 -0
  88. package/dist/utils/validation/mod.js.map +1 -0
  89. package/dist/utils/validation/vEnvBoolean.d.ts +3 -0
  90. package/dist/utils/validation/vEnvBoolean.d.ts.map +1 -0
  91. package/dist/utils/validation/vEnvBoolean.js +5 -0
  92. package/dist/utils/validation/vEnvBoolean.js.map +1 -0
  93. package/dist/utils/validation/vEnvBooleanOrUndefined.d.ts +3 -0
  94. package/dist/utils/validation/vEnvBooleanOrUndefined.d.ts.map +1 -0
  95. package/dist/utils/validation/vEnvBooleanOrUndefined.js +5 -0
  96. package/dist/utils/validation/vEnvBooleanOrUndefined.js.map +1 -0
  97. package/dist/utils/validation/vEnvLogLevel.d.ts +4 -0
  98. package/dist/utils/validation/vEnvLogLevel.d.ts.map +1 -0
  99. package/dist/utils/validation/vEnvLogLevel.js +6 -0
  100. package/dist/utils/validation/vEnvLogLevel.js.map +1 -0
  101. package/dist/utils/validation/vFileName.d.ts +4 -0
  102. package/dist/utils/validation/vFileName.d.ts.map +1 -0
  103. package/dist/utils/validation/vFileName.js +21 -0
  104. package/dist/utils/validation/vFileName.js.map +1 -0
  105. package/dist/utils/validation/vISO8601DateTime.d.ts +5 -0
  106. package/dist/utils/validation/vISO8601DateTime.d.ts.map +1 -0
  107. package/dist/utils/validation/vISO8601DateTime.js +37 -0
  108. package/dist/utils/validation/vISO8601DateTime.js.map +1 -0
  109. package/dist/utils/validation/vLatinInput.d.ts +3 -0
  110. package/dist/utils/validation/vLatinInput.d.ts.map +1 -0
  111. package/dist/utils/validation/vLatinInput.js +3 -0
  112. package/dist/utils/validation/vLatinInput.js.map +1 -0
  113. package/dist/utils/validation/vOmniBoolean.d.ts +3 -0
  114. package/dist/utils/validation/vOmniBoolean.d.ts.map +1 -0
  115. package/dist/utils/validation/vOmniBoolean.js +10 -0
  116. package/dist/utils/validation/vOmniBoolean.js.map +1 -0
  117. package/dist/utils/validation/vQueryBoolean.d.ts +3 -0
  118. package/dist/utils/validation/vQueryBoolean.d.ts.map +1 -0
  119. package/dist/utils/validation/vQueryBoolean.js +7 -0
  120. package/dist/utils/validation/vQueryBoolean.js.map +1 -0
  121. package/dist/utils/validation/vQueryEmailArray.d.ts +9 -0
  122. package/dist/utils/validation/vQueryEmailArray.d.ts.map +1 -0
  123. package/dist/utils/validation/vQueryEmailArray.js +29 -0
  124. package/dist/utils/validation/vQueryEmailArray.js.map +1 -0
  125. package/dist/utils/validation/vQueryNumberArray.d.ts +10 -0
  126. package/dist/utils/validation/vQueryNumberArray.d.ts.map +1 -0
  127. package/dist/utils/validation/vQueryNumberArray.js +32 -0
  128. package/dist/utils/validation/vQueryNumberArray.js.map +1 -0
  129. package/dist/utils/validation/vQueryStringifiedEnumArray.d.ts +3 -0
  130. package/dist/utils/validation/vQueryStringifiedEnumArray.d.ts.map +1 -0
  131. package/dist/utils/validation/vQueryStringifiedEnumArray.js +25 -0
  132. package/dist/utils/validation/vQueryStringifiedEnumArray.js.map +1 -0
  133. package/dist/utils/validation/vQueryUuidArray.d.ts +9 -0
  134. package/dist/utils/validation/vQueryUuidArray.d.ts.map +1 -0
  135. package/dist/utils/validation/vQueryUuidArray.js +27 -0
  136. package/dist/utils/validation/vQueryUuidArray.js.map +1 -0
  137. package/package.json +15 -2
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Original library: commander.js (v15.0.0)
3
+ * - Copyright (c) 2011 TJ Holowaychuk
4
+ * - Copyright (c) John Gee and "commander.js" authors
5
+ *
6
+ * Modified and integrated in "Inray":
7
+ * - Evgeniy Bushin
8
+ */
9
+ /***/
10
+ import { InvalidArgumentError } from "./error.js";
11
+ export class Argument {
12
+ description;
13
+ required;
14
+ variadic;
15
+ defaultValue;
16
+ defaultValueDescription;
17
+ parseArg;
18
+ argChoices;
19
+ _name;
20
+ /**
21
+ * Initialize a new command argument with the given name and description.
22
+ * The default is that the argument is required, and you can explicitly
23
+ * indicate this with <> around the name. Put [] around the name for an optional argument.
24
+ *
25
+ * @param {string} name
26
+ * @param {string} [description]
27
+ */
28
+ constructor(name, description) {
29
+ this.description = description || '';
30
+ this.variadic = false;
31
+ this.parseArg = undefined;
32
+ this.defaultValue = undefined;
33
+ this.defaultValueDescription = undefined;
34
+ this.argChoices = undefined;
35
+ switch (name[0]) {
36
+ case '<': // e.g. <required>
37
+ this.required = true;
38
+ this._name = name.slice(1, -1);
39
+ break;
40
+ case '[': // e.g. [optional]
41
+ this.required = false;
42
+ this._name = name.slice(1, -1);
43
+ break;
44
+ default:
45
+ this.required = true;
46
+ this._name = name;
47
+ break;
48
+ }
49
+ if (this._name.endsWith('...')) {
50
+ this.variadic = true;
51
+ this._name = this._name.slice(0, -3);
52
+ }
53
+ }
54
+ /**
55
+ * Return argument name.
56
+ *
57
+ * @return {string}
58
+ */
59
+ name() {
60
+ return this._name;
61
+ }
62
+ /**
63
+ * @package
64
+ */
65
+ _collectValue(value, previous) {
66
+ if (previous === this.defaultValue || !Array.isArray(previous)) {
67
+ return [value];
68
+ }
69
+ previous.push(value);
70
+ return previous;
71
+ }
72
+ /**
73
+ * Set the default value, and optionally supply the description to be displayed in the help.
74
+ *
75
+ * @param {*} value
76
+ * @param {string} [description]
77
+ * @return {Argument}
78
+ */
79
+ default(value, description) {
80
+ this.defaultValue = value;
81
+ this.defaultValueDescription = description;
82
+ return this;
83
+ }
84
+ /**
85
+ * Set the custom handler for processing CLI command arguments into argument values.
86
+ *
87
+ * @param {Function} [fn]
88
+ * @return {Argument}
89
+ */
90
+ argParser(fn) {
91
+ this.parseArg = fn;
92
+ return this;
93
+ }
94
+ /**
95
+ * Only allow argument value to be one of choices.
96
+ *
97
+ * @param {string[]} values
98
+ * @return {Argument}
99
+ */
100
+ choices(values) {
101
+ this.argChoices = values.slice();
102
+ this.parseArg = (arg, previous) => {
103
+ if (!this.argChoices?.includes(arg)) {
104
+ throw new InvalidArgumentError(`Allowed choices are ${this.argChoices?.join(', ')}.`);
105
+ }
106
+ if (this.variadic) {
107
+ return this._collectValue(arg, previous);
108
+ }
109
+ return arg;
110
+ };
111
+ return this;
112
+ }
113
+ /**
114
+ * Make argument required.
115
+ *
116
+ * @returns {Argument}
117
+ */
118
+ argRequired() {
119
+ this.required = true;
120
+ return this;
121
+ }
122
+ /**
123
+ * Make argument optional.
124
+ *
125
+ * @returns {Argument}
126
+ */
127
+ argOptional() {
128
+ this.required = false;
129
+ return this;
130
+ }
131
+ }
132
+ /**
133
+ * Takes an argument and returns its human readable equivalent for help usage.
134
+ *
135
+ * @param {Argument} arg
136
+ * @return {string}
137
+ * @private
138
+ */
139
+ export function humanReadableArgName(arg) {
140
+ const nameOutput = arg.name() + (arg.variadic === true ? '...' : '');
141
+ return arg.required ? '<' + nameOutput + '>' : '[' + nameOutput + ']';
142
+ }
143
+ //# sourceMappingURL=argument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"argument.js","sourceRoot":"","sources":["../../../../src/cli/src/lib/argument.ts"],"names":[],"mappings":"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"}