@owservable/actions 1.6.3 → 1.7.1

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 (91) hide show
  1. package/README.md +240 -17
  2. package/lib/src/abstracts/action.js.map +1 -0
  3. package/lib/src/functions/find.command.action.d.ts +2 -0
  4. package/lib/src/functions/find.command.action.js +40 -0
  5. package/lib/src/functions/find.command.action.js.map +1 -0
  6. package/lib/{functions → src/functions}/get.option.and.default.value.js +1 -1
  7. package/lib/src/functions/get.option.and.default.value.js.map +1 -0
  8. package/lib/src/functions/run.action.as.command.d.ts +2 -0
  9. package/lib/{functions → src/functions}/run.action.as.command.js +7 -6
  10. package/lib/src/functions/run.action.as.command.js.map +1 -0
  11. package/lib/src/interfaces/action.as.command.interface.js.map +1 -0
  12. package/lib/src/interfaces/action.as.controller.interface.js.map +1 -0
  13. package/lib/src/interfaces/action.as.cronjob.interface.js.map +1 -0
  14. package/lib/src/interfaces/action.as.watcher.interface.js.map +1 -0
  15. package/lib/src/interfaces/action.as.worker.interface.js.map +1 -0
  16. package/lib/src/interfaces/action.interface.js.map +1 -0
  17. package/lib/{owservable.actions.d.ts → src/owservable.actions.d.ts} +4 -1
  18. package/lib/src/owservable.actions.js.map +1 -0
  19. package/lib/src/types/command.context.type.d.ts +6 -0
  20. package/lib/src/types/command.context.type.js +3 -0
  21. package/lib/src/types/command.context.type.js.map +1 -0
  22. package/lib/src/types/command.option.type.d.ts +6 -0
  23. package/lib/src/types/command.option.type.js +3 -0
  24. package/lib/src/types/command.option.type.js.map +1 -0
  25. package/lib/src/types/command.signature.type.d.ts +7 -0
  26. package/lib/src/types/command.signature.type.js +3 -0
  27. package/lib/src/types/command.signature.type.js.map +1 -0
  28. package/lib/test/abstracts/action.spec.d.ts +1 -0
  29. package/lib/test/abstracts/action.spec.js +60 -0
  30. package/lib/test/abstracts/action.spec.js.map +1 -0
  31. package/lib/test/functions/find.command.action.spec.d.ts +1 -0
  32. package/lib/test/functions/find.command.action.spec.js +341 -0
  33. package/lib/test/functions/find.command.action.spec.js.map +1 -0
  34. package/lib/test/functions/get.option.and.default.value.spec.d.ts +1 -0
  35. package/lib/test/functions/get.option.and.default.value.spec.js +47 -0
  36. package/lib/test/functions/get.option.and.default.value.spec.js.map +1 -0
  37. package/lib/test/functions/run.action.as.command.spec.d.ts +1 -0
  38. package/lib/test/functions/run.action.as.command.spec.js +136 -0
  39. package/lib/test/functions/run.action.as.command.spec.js.map +1 -0
  40. package/lib/test/interfaces/action.as.command.interface.spec.d.ts +1 -0
  41. package/lib/test/interfaces/action.as.command.interface.spec.js +77 -0
  42. package/lib/test/interfaces/action.as.command.interface.spec.js.map +1 -0
  43. package/lib/test/interfaces/action.as.controller.interface.spec.d.ts +1 -0
  44. package/lib/test/interfaces/action.as.controller.interface.spec.js +10 -0
  45. package/lib/test/interfaces/action.as.controller.interface.spec.js.map +1 -0
  46. package/lib/test/interfaces/action.as.cronjob.interface.spec.d.ts +1 -0
  47. package/lib/test/interfaces/action.as.cronjob.interface.spec.js +10 -0
  48. package/lib/test/interfaces/action.as.cronjob.interface.spec.js.map +1 -0
  49. package/lib/test/interfaces/action.as.watcher.interface.spec.d.ts +1 -0
  50. package/lib/test/interfaces/action.as.watcher.interface.spec.js +10 -0
  51. package/lib/test/interfaces/action.as.watcher.interface.spec.js.map +1 -0
  52. package/lib/test/interfaces/action.as.worker.interface.spec.d.ts +1 -0
  53. package/lib/test/interfaces/action.as.worker.interface.spec.js +10 -0
  54. package/lib/test/interfaces/action.as.worker.interface.spec.js.map +1 -0
  55. package/lib/test/interfaces/action.interface.spec.d.ts +1 -0
  56. package/lib/test/interfaces/action.interface.spec.js +59 -0
  57. package/lib/test/interfaces/action.interface.spec.js.map +1 -0
  58. package/lib/test/owservable.actions.spec.d.ts +1 -0
  59. package/lib/test/owservable.actions.spec.js +25 -0
  60. package/lib/test/owservable.actions.spec.js.map +1 -0
  61. package/package.json +10 -15
  62. package/lib/abstracts/action.js.map +0 -1
  63. package/lib/functions/find.command.action.d.ts +0 -3
  64. package/lib/functions/find.command.action.js +0 -23
  65. package/lib/functions/find.command.action.js.map +0 -1
  66. package/lib/functions/get.option.and.default.value.js.map +0 -1
  67. package/lib/functions/run.action.as.command.d.ts +0 -3
  68. package/lib/functions/run.action.as.command.js.map +0 -1
  69. package/lib/interfaces/action.as.command.interface.js.map +0 -1
  70. package/lib/interfaces/action.as.controller.interface.js.map +0 -1
  71. package/lib/interfaces/action.as.cronjob.interface.js.map +0 -1
  72. package/lib/interfaces/action.as.watcher.interface.js.map +0 -1
  73. package/lib/interfaces/action.as.worker.interface.js.map +0 -1
  74. package/lib/interfaces/action.interface.js.map +0 -1
  75. package/lib/owservable.actions.js.map +0 -1
  76. /package/lib/{abstracts → src/abstracts}/action.d.ts +0 -0
  77. /package/lib/{abstracts → src/abstracts}/action.js +0 -0
  78. /package/lib/{functions → src/functions}/get.option.and.default.value.d.ts +0 -0
  79. /package/lib/{interfaces → src/interfaces}/action.as.command.interface.d.ts +0 -0
  80. /package/lib/{interfaces → src/interfaces}/action.as.command.interface.js +0 -0
  81. /package/lib/{interfaces → src/interfaces}/action.as.controller.interface.d.ts +0 -0
  82. /package/lib/{interfaces → src/interfaces}/action.as.controller.interface.js +0 -0
  83. /package/lib/{interfaces → src/interfaces}/action.as.cronjob.interface.d.ts +0 -0
  84. /package/lib/{interfaces → src/interfaces}/action.as.cronjob.interface.js +0 -0
  85. /package/lib/{interfaces → src/interfaces}/action.as.watcher.interface.d.ts +0 -0
  86. /package/lib/{interfaces → src/interfaces}/action.as.watcher.interface.js +0 -0
  87. /package/lib/{interfaces → src/interfaces}/action.as.worker.interface.d.ts +0 -0
  88. /package/lib/{interfaces → src/interfaces}/action.as.worker.interface.js +0 -0
  89. /package/lib/{interfaces → src/interfaces}/action.interface.d.ts +0 -0
  90. /package/lib/{interfaces → src/interfaces}/action.interface.js +0 -0
  91. /package/lib/{owservable.actions.js → src/owservable.actions.js} +0 -0
@@ -0,0 +1,341 @@
1
+ 'use strict';
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const find_command_action_1 = require("../../src/functions/find.command.action");
13
+ const fs = require("fs");
14
+ const path = require("path");
15
+ const os = require("os");
16
+ describe('find.command.action tests', () => {
17
+ it('findCommandAction exists', () => {
18
+ expect(find_command_action_1.default).toBeDefined();
19
+ expect(typeof find_command_action_1.default).toBe('function');
20
+ });
21
+ it('should be a function that accepts root and cliCommand parameters', () => {
22
+ expect(typeof find_command_action_1.default).toBe('function');
23
+ expect(find_command_action_1.default.length).toBe(2);
24
+ });
25
+ it('should find and return matching action when it exists', () => __awaiter(void 0, void 0, void 0, function* () {
26
+ const testRoot = path.join(os.tmpdir(), 'test-actions-root-' + Date.now());
27
+ const actionsDir = path.join(testRoot, 'actions');
28
+ const testActionDir = path.join(actionsDir, 'test-action');
29
+ if (fs.existsSync(testRoot)) {
30
+ fs.rmSync(testRoot, { recursive: true });
31
+ }
32
+ fs.mkdirSync(testActionDir, { recursive: true });
33
+ const actionFile = path.join(testActionDir, 'test-action.js');
34
+ fs.writeFileSync(actionFile, `
35
+ class TestAction {
36
+ signature() {
37
+ return 'test-command --option';
38
+ }
39
+
40
+ description() {
41
+ return 'Test action for testing';
42
+ }
43
+
44
+ async asCommand() {
45
+ return;
46
+ }
47
+ }
48
+
49
+ module.exports = { default: TestAction };
50
+ `);
51
+ const result = yield (0, find_command_action_1.default)(testRoot, 'test-command');
52
+ expect(result).toBeDefined();
53
+ expect(result).not.toBeNull();
54
+ expect(result.signature()).toBe('test-command --option');
55
+ expect(result.description()).toBe('Test action for testing');
56
+ fs.rmSync(testRoot, { recursive: true });
57
+ }));
58
+ it('should return null when no matching action is found', () => __awaiter(void 0, void 0, void 0, function* () {
59
+ const testRoot = path.join(os.tmpdir(), 'test-actions-root-no-match-' + Date.now());
60
+ const actionsDir = path.join(testRoot, 'actions');
61
+ const testActionDir = path.join(actionsDir, 'test-action');
62
+ if (fs.existsSync(testRoot)) {
63
+ fs.rmSync(testRoot, { recursive: true });
64
+ }
65
+ fs.mkdirSync(testActionDir, { recursive: true });
66
+ const actionFile = path.join(testActionDir, 'test-action.js');
67
+ fs.writeFileSync(actionFile, `
68
+ class TestAction {
69
+ signature() {
70
+ return 'different-command --option';
71
+ }
72
+
73
+ description() {
74
+ return 'Test action for testing';
75
+ }
76
+
77
+ async asCommand() {
78
+ return;
79
+ }
80
+ }
81
+
82
+ module.exports = { default: TestAction };
83
+ `);
84
+ const result = yield (0, find_command_action_1.default)(testRoot, 'non-existent-command');
85
+ expect(result).toBeNull();
86
+ fs.rmSync(testRoot, { recursive: true });
87
+ }));
88
+ it('should handle empty root path by throwing error', () => __awaiter(void 0, void 0, void 0, function* () {
89
+ yield expect((0, find_command_action_1.default)('', 'test-command')).rejects.toThrow('ENOENT');
90
+ }));
91
+ it('should handle empty command with non-existent path', () => __awaiter(void 0, void 0, void 0, function* () {
92
+ yield expect((0, find_command_action_1.default)('/test/root', '')).rejects.toThrow('ENOENT');
93
+ }));
94
+ it('should handle non-existent paths by throwing error', () => __awaiter(void 0, void 0, void 0, function* () {
95
+ yield expect((0, find_command_action_1.default)('/non/existent/path', 'test-command')).rejects.toThrow('ENOENT');
96
+ }));
97
+ it('should throw error for invalid paths', () => __awaiter(void 0, void 0, void 0, function* () {
98
+ yield expect((0, find_command_action_1.default)('/test', 'command')).rejects.toThrow('ENOENT');
99
+ }));
100
+ it("should throw error for various path formats that don't exist", () => __awaiter(void 0, void 0, void 0, function* () {
101
+ yield expect((0, find_command_action_1.default)('./nonexistent', 'command')).rejects.toThrow('ENOENT');
102
+ yield expect((0, find_command_action_1.default)('../nonexistent', 'command')).rejects.toThrow('ENOENT');
103
+ yield expect((0, find_command_action_1.default)('/absolute/nonexistent/path', 'command')).rejects.toThrow('ENOENT');
104
+ }));
105
+ it('should handle malformed action files gracefully', () => __awaiter(void 0, void 0, void 0, function* () {
106
+ const testRoot = path.join(os.tmpdir(), 'test-actions-root-malformed-' + Date.now());
107
+ const actionsDir = path.join(testRoot, 'actions');
108
+ const testActionDir = path.join(actionsDir, 'malformed-action');
109
+ if (fs.existsSync(testRoot)) {
110
+ fs.rmSync(testRoot, { recursive: true });
111
+ }
112
+ fs.mkdirSync(testActionDir, { recursive: true });
113
+ const actionFile = path.join(testActionDir, 'malformed-action.js');
114
+ fs.writeFileSync(actionFile, 'this is not valid javascript{{{');
115
+ const result = yield (0, find_command_action_1.default)(testRoot, 'any-command');
116
+ expect(result).toBeNull();
117
+ fs.rmSync(testRoot, { recursive: true });
118
+ }));
119
+ it('should log errors when not in test environment', () => __awaiter(void 0, void 0, void 0, function* () {
120
+ const testRoot = path.join(os.tmpdir(), 'test-actions-root-malformed-with-logging-' + Date.now());
121
+ const actionsDir = path.join(testRoot, 'actions');
122
+ const testActionDir = path.join(actionsDir, 'malformed-action');
123
+ if (fs.existsSync(testRoot)) {
124
+ fs.rmSync(testRoot, { recursive: true });
125
+ }
126
+ fs.mkdirSync(testActionDir, { recursive: true });
127
+ const actionFile = path.join(testActionDir, 'malformed-action.js');
128
+ fs.writeFileSync(actionFile, 'this is not valid javascript{{{');
129
+ const originalNodeEnv = process.env.NODE_ENV;
130
+ process.env.NODE_ENV = 'development';
131
+ const originalConsoleWarn = console.warn;
132
+ const mockConsoleWarn = jest.fn();
133
+ console.warn = mockConsoleWarn;
134
+ try {
135
+ const result = yield (0, find_command_action_1.default)(testRoot, 'any-command');
136
+ expect(result).toBeNull();
137
+ expect(mockConsoleWarn).toHaveBeenCalledTimes(1);
138
+ expect(mockConsoleWarn).toHaveBeenCalledWith(expect.stringContaining('[@owservable/actions] Failed to load action from'), expect.anything());
139
+ }
140
+ finally {
141
+ process.env.NODE_ENV = originalNodeEnv;
142
+ console.warn = originalConsoleWarn;
143
+ }
144
+ fs.rmSync(testRoot, { recursive: true });
145
+ }));
146
+ it('should handle non-Error exceptions in logging', () => __awaiter(void 0, void 0, void 0, function* () {
147
+ const testRoot = path.join(os.tmpdir(), 'test-actions-root-non-error-' + Date.now());
148
+ const actionsDir = path.join(testRoot, 'actions');
149
+ const testActionDir = path.join(actionsDir, 'non-error-action');
150
+ if (fs.existsSync(testRoot)) {
151
+ fs.rmSync(testRoot, { recursive: true });
152
+ }
153
+ fs.mkdirSync(testActionDir, { recursive: true });
154
+ const actionFile = path.join(testActionDir, 'non-error-action.js');
155
+ fs.writeFileSync(actionFile, `
156
+ class NonErrorAction {
157
+ signature() {
158
+ throw 'This is a string error, not an Error object';
159
+ }
160
+ }
161
+
162
+ module.exports = { default: NonErrorAction };
163
+ `);
164
+ const originalNodeEnv = process.env.NODE_ENV;
165
+ process.env.NODE_ENV = 'development';
166
+ const originalConsoleWarn = console.warn;
167
+ const mockConsoleWarn = jest.fn();
168
+ console.warn = mockConsoleWarn;
169
+ try {
170
+ const result = yield (0, find_command_action_1.default)(testRoot, 'any-command');
171
+ expect(result).toBeNull();
172
+ expect(mockConsoleWarn).toHaveBeenCalledWith(expect.stringContaining('[@owservable/actions] Failed to load action from'), 'This is a string error, not an Error object');
173
+ }
174
+ finally {
175
+ process.env.NODE_ENV = originalNodeEnv;
176
+ console.warn = originalConsoleWarn;
177
+ }
178
+ fs.rmSync(testRoot, { recursive: true });
179
+ }));
180
+ it('should handle action files with no default export', () => __awaiter(void 0, void 0, void 0, function* () {
181
+ const testRoot = path.join(os.tmpdir(), 'test-actions-root-no-default-' + Date.now());
182
+ const actionsDir = path.join(testRoot, 'actions');
183
+ const testActionDir = path.join(actionsDir, 'no-default-action');
184
+ if (fs.existsSync(testRoot)) {
185
+ fs.rmSync(testRoot, { recursive: true });
186
+ }
187
+ fs.mkdirSync(testActionDir, { recursive: true });
188
+ const actionFile = path.join(testActionDir, 'no-default-action.js');
189
+ fs.writeFileSync(actionFile, `
190
+ class NoDefaultAction {
191
+ signature() {
192
+ return 'no-default-command --option';
193
+ }
194
+ }
195
+
196
+ // No default export - module.exports = {};
197
+ module.exports = {};
198
+ `);
199
+ const result = yield (0, find_command_action_1.default)(testRoot, 'no-default-command');
200
+ expect(result).toBeNull();
201
+ fs.rmSync(testRoot, { recursive: true });
202
+ }));
203
+ it('should handle action files with undefined default export', () => __awaiter(void 0, void 0, void 0, function* () {
204
+ const testRoot = path.join(os.tmpdir(), 'test-actions-root-undefined-default-' + Date.now());
205
+ const actionsDir = path.join(testRoot, 'actions');
206
+ const testActionDir = path.join(actionsDir, 'undefined-default-action');
207
+ if (fs.existsSync(testRoot)) {
208
+ fs.rmSync(testRoot, { recursive: true });
209
+ }
210
+ fs.mkdirSync(testActionDir, { recursive: true });
211
+ const actionFile = path.join(testActionDir, 'undefined-default-action.js');
212
+ fs.writeFileSync(actionFile, `
213
+ class UndefinedDefaultAction {
214
+ signature() {
215
+ return 'undefined-default-command --option';
216
+ }
217
+ }
218
+
219
+ // Undefined default export
220
+ module.exports = { default: undefined };
221
+ `);
222
+ const result = yield (0, find_command_action_1.default)(testRoot, 'undefined-default-command');
223
+ expect(result).toBeNull();
224
+ fs.rmSync(testRoot, { recursive: true });
225
+ }));
226
+ it('should handle action files that throw errors in constructor', () => __awaiter(void 0, void 0, void 0, function* () {
227
+ const testRoot = path.join(os.tmpdir(), 'test-actions-root-constructor-error-' + Date.now());
228
+ const actionsDir = path.join(testRoot, 'actions');
229
+ const testActionDir = path.join(actionsDir, 'constructor-error-action');
230
+ if (fs.existsSync(testRoot)) {
231
+ fs.rmSync(testRoot, { recursive: true });
232
+ }
233
+ fs.mkdirSync(testActionDir, { recursive: true });
234
+ const actionFile = path.join(testActionDir, 'constructor-error-action.js');
235
+ fs.writeFileSync(actionFile, `
236
+ class ConstructorErrorAction {
237
+ constructor() {
238
+ throw new Error('Constructor error');
239
+ }
240
+
241
+ signature() {
242
+ return 'constructor-error-command --option';
243
+ }
244
+ }
245
+
246
+ module.exports = { default: ConstructorErrorAction };
247
+ `);
248
+ const result = yield (0, find_command_action_1.default)(testRoot, 'constructor-error-command');
249
+ expect(result).toBeNull();
250
+ fs.rmSync(testRoot, { recursive: true });
251
+ }));
252
+ it('should handle actions with null signature', () => __awaiter(void 0, void 0, void 0, function* () {
253
+ const testRoot = path.join(os.tmpdir(), 'test-actions-root-null-signature-' + Date.now());
254
+ const actionsDir = path.join(testRoot, 'actions');
255
+ const testActionDir = path.join(actionsDir, 'null-signature-action');
256
+ if (fs.existsSync(testRoot)) {
257
+ fs.rmSync(testRoot, { recursive: true });
258
+ }
259
+ fs.mkdirSync(testActionDir, { recursive: true });
260
+ const actionFile = path.join(testActionDir, 'null-signature-action.js');
261
+ fs.writeFileSync(actionFile, `
262
+ class NullSignatureAction {
263
+ signature() {
264
+ return null;
265
+ }
266
+ }
267
+
268
+ module.exports = { default: NullSignatureAction };
269
+ `);
270
+ const result = yield (0, find_command_action_1.default)(testRoot, 'any-command');
271
+ expect(result).toBeNull();
272
+ fs.rmSync(testRoot, { recursive: true });
273
+ }));
274
+ it('should handle actions with non-string signature', () => __awaiter(void 0, void 0, void 0, function* () {
275
+ const testRoot = path.join(os.tmpdir(), 'test-actions-root-non-string-signature-' + Date.now());
276
+ const actionsDir = path.join(testRoot, 'actions');
277
+ const testActionDir = path.join(actionsDir, 'non-string-signature-action');
278
+ if (fs.existsSync(testRoot)) {
279
+ fs.rmSync(testRoot, { recursive: true });
280
+ }
281
+ fs.mkdirSync(testActionDir, { recursive: true });
282
+ const actionFile = path.join(testActionDir, 'non-string-signature-action.js');
283
+ fs.writeFileSync(actionFile, `
284
+ class NonStringSignatureAction {
285
+ signature() {
286
+ return 12345; // Non-string signature
287
+ }
288
+ }
289
+
290
+ module.exports = { default: NonStringSignatureAction };
291
+ `);
292
+ const result = yield (0, find_command_action_1.default)(testRoot, 'any-command');
293
+ expect(result).toBeNull();
294
+ fs.rmSync(testRoot, { recursive: true });
295
+ }));
296
+ it('should handle actions with empty signature', () => __awaiter(void 0, void 0, void 0, function* () {
297
+ const testRoot = path.join(os.tmpdir(), 'test-actions-root-empty-signature-' + Date.now());
298
+ const actionsDir = path.join(testRoot, 'actions');
299
+ const testActionDir = path.join(actionsDir, 'empty-signature-action');
300
+ if (fs.existsSync(testRoot)) {
301
+ fs.rmSync(testRoot, { recursive: true });
302
+ }
303
+ fs.mkdirSync(testActionDir, { recursive: true });
304
+ const actionFile = path.join(testActionDir, 'empty-signature-action.js');
305
+ fs.writeFileSync(actionFile, `
306
+ class EmptySignatureAction {
307
+ signature() {
308
+ return '';
309
+ }
310
+ }
311
+
312
+ module.exports = { default: EmptySignatureAction };
313
+ `);
314
+ const result = yield (0, find_command_action_1.default)(testRoot, 'any-command');
315
+ expect(result).toBeNull();
316
+ fs.rmSync(testRoot, { recursive: true });
317
+ }));
318
+ it('should handle actions with whitespace-only signature', () => __awaiter(void 0, void 0, void 0, function* () {
319
+ const testRoot = path.join(os.tmpdir(), 'test-actions-root-whitespace-signature-' + Date.now());
320
+ const actionsDir = path.join(testRoot, 'actions');
321
+ const testActionDir = path.join(actionsDir, 'whitespace-signature-action');
322
+ if (fs.existsSync(testRoot)) {
323
+ fs.rmSync(testRoot, { recursive: true });
324
+ }
325
+ fs.mkdirSync(testActionDir, { recursive: true });
326
+ const actionFile = path.join(testActionDir, 'whitespace-signature-action.js');
327
+ fs.writeFileSync(actionFile, `
328
+ class WhitespaceSignatureAction {
329
+ signature() {
330
+ return ' \\n\\t '; // Only whitespace
331
+ }
332
+ }
333
+
334
+ module.exports = { default: WhitespaceSignatureAction };
335
+ `);
336
+ const result = yield (0, find_command_action_1.default)(testRoot, 'any-command');
337
+ expect(result).toBeNull();
338
+ fs.rmSync(testRoot, { recursive: true });
339
+ }));
340
+ });
341
+ //# sourceMappingURL=find.command.action.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.command.action.spec.js","sourceRoot":"","sources":["../../../test/functions/find.command.action.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const get_option_and_default_value_1 = require("../../src/functions/get.option.and.default.value");
4
+ describe('get.option.and.default.value tests', () => {
5
+ it('getOptionAndDefaultValue exists', () => {
6
+ expect(get_option_and_default_value_1.default).toBeDefined();
7
+ expect(typeof get_option_and_default_value_1.default).toBe('function');
8
+ });
9
+ it('getOptionAndDefaultValue works', () => {
10
+ const signature = 'some_command {-f, --foo <foo>} {-b, --boo <boo>}';
11
+ const options = signature.match(/{([^}]*)}/g);
12
+ expect(options).toHaveLength(2);
13
+ const { option: option1, defaultValue: defaultValue1 } = (0, get_option_and_default_value_1.default)(options[0]);
14
+ expect(option1).toBe('-f, --foo <foo>');
15
+ expect(defaultValue1).toBeUndefined();
16
+ const { option: option2, defaultValue: defaultValue2 } = (0, get_option_and_default_value_1.default)(options[1]);
17
+ expect(option2).toBe('-b, --boo <boo>');
18
+ expect(defaultValue2).toBeUndefined();
19
+ });
20
+ it('getOptionAndDefaultValue works with default value', () => {
21
+ const signature = 'some_command {-f, --foo <foo>=yei} {-b, --boo <boo>}';
22
+ const options = signature.match(/{([^}]*)}/g);
23
+ expect(options).toHaveLength(2);
24
+ const { option: option1, defaultValue: defaultValue1 } = (0, get_option_and_default_value_1.default)(options[0]);
25
+ expect(option1).toBe('-f, --foo <foo>');
26
+ expect(defaultValue1).toBe('yei');
27
+ const { option: option2, defaultValue: defaultValue2 } = (0, get_option_and_default_value_1.default)(options[1]);
28
+ expect(option2).toBe('-b, --boo <boo>');
29
+ expect(defaultValue2).toBeUndefined();
30
+ });
31
+ it('DEMONSTRATES BUG: substring(-1) does not work as expected', () => {
32
+ const testString = 'hello world';
33
+ const intended = testString.slice(0, -1);
34
+ const buggySubstring = testString.substring(-1);
35
+ expect(buggySubstring).toBe('hello world');
36
+ expect(intended).toBe('hello worl');
37
+ expect(buggySubstring).not.toBe(intended);
38
+ const config = '{-f, --foo <foo>}';
39
+ const step1 = config.substring(1);
40
+ const step2 = step1.substring(-1);
41
+ const step3 = step2.slice(0, -1);
42
+ expect(step1).toBe('-f, --foo <foo>}');
43
+ expect(step2).toBe('-f, --foo <foo>}');
44
+ expect(step3).toBe('-f, --foo <foo>');
45
+ });
46
+ });
47
+ //# sourceMappingURL=get.option.and.default.value.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.option.and.default.value.spec.js","sourceRoot":"","sources":["../../../test/functions/get.option.and.default.value.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,136 @@
1
+ 'use strict';
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const run_action_as_command_1 = require("../../src/functions/run.action.as.command");
13
+ class MockAction {
14
+ constructor(signature = 'test-command {--option}', description = 'Test command') {
15
+ this._handleCalled = false;
16
+ this._asCommandCalled = false;
17
+ this._lastOptions = null;
18
+ this._signature = signature;
19
+ this._description = description;
20
+ }
21
+ signature() {
22
+ return this._signature;
23
+ }
24
+ description() {
25
+ return this._description;
26
+ }
27
+ handle() {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ this._handleCalled = true;
30
+ return Promise.resolve();
31
+ });
32
+ }
33
+ asCommand(options) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ this._asCommandCalled = true;
36
+ this._lastOptions = options;
37
+ return Promise.resolve();
38
+ });
39
+ }
40
+ wasHandleCalled() {
41
+ return this._handleCalled;
42
+ }
43
+ wasAsCommandCalled() {
44
+ return this._asCommandCalled;
45
+ }
46
+ getLastOptions() {
47
+ return this._lastOptions;
48
+ }
49
+ }
50
+ describe('run.action.as.command tests', () => {
51
+ const originalArgv = process.argv;
52
+ beforeEach(() => {
53
+ process.argv = ['node', 'test'];
54
+ });
55
+ afterEach(() => {
56
+ process.argv = originalArgv;
57
+ });
58
+ it('runActionAsCommand exists', () => {
59
+ expect(run_action_as_command_1.default).toBeDefined();
60
+ expect(typeof run_action_as_command_1.default).toBe('function');
61
+ });
62
+ it('should be an async function', () => {
63
+ expect(typeof run_action_as_command_1.default).toBe('function');
64
+ expect(run_action_as_command_1.default.length).toBe(1);
65
+ });
66
+ it('should accept an ActionAsCommandInterface parameter', () => {
67
+ expect(run_action_as_command_1.default.length).toBe(1);
68
+ expect(typeof run_action_as_command_1.default).toBe('function');
69
+ });
70
+ it('should work with MockAction interface', () => {
71
+ const mockAction = new MockAction();
72
+ expect(mockAction.signature()).toBe('test-command {--option}');
73
+ expect(mockAction.description()).toBe('Test command');
74
+ expect(typeof mockAction.asCommand).toBe('function');
75
+ });
76
+ it('should handle different action signatures', () => {
77
+ const simpleAction = new MockAction('simple-command', 'A simple command');
78
+ expect(simpleAction.signature()).toBe('simple-command');
79
+ expect(simpleAction.description()).toBe('A simple command');
80
+ const complexAction = new MockAction('complex-command {--verbose} {--output <file>}', 'A complex command');
81
+ expect(complexAction.signature()).toBe('complex-command {--verbose} {--output <file>}');
82
+ expect(complexAction.description()).toBe('A complex command');
83
+ });
84
+ it('should validate function interface compatibility', () => {
85
+ const mockAction = new MockAction();
86
+ expect(typeof mockAction.signature).toBe('function');
87
+ expect(typeof mockAction.description).toBe('function');
88
+ expect(typeof mockAction.asCommand).toBe('function');
89
+ expect(typeof mockAction.handle).toBe('function');
90
+ expect(typeof mockAction.signature()).toBe('string');
91
+ expect(typeof mockAction.description()).toBe('string');
92
+ expect(mockAction.handle()).toBeInstanceOf(Promise);
93
+ expect(mockAction.asCommand({})).toBeInstanceOf(Promise);
94
+ });
95
+ it('should execute action with simple command signature', () => __awaiter(void 0, void 0, void 0, function* () {
96
+ const mockAction = new MockAction('simple-command', 'A simple command');
97
+ process.argv = ['node', 'test', 'simple-command'];
98
+ yield (0, run_action_as_command_1.default)(mockAction);
99
+ expect(mockAction.wasAsCommandCalled()).toBe(true);
100
+ expect(mockAction.getLastOptions()).toBeDefined();
101
+ }));
102
+ it('should execute action with options in signature', () => __awaiter(void 0, void 0, void 0, function* () {
103
+ const mockAction = new MockAction('test-command {--verbose}', 'Test command with verbose option');
104
+ process.argv = ['node', 'test', 'test-command', '--verbose'];
105
+ yield (0, run_action_as_command_1.default)(mockAction);
106
+ expect(mockAction.wasAsCommandCalled()).toBe(true);
107
+ const options = mockAction.getLastOptions();
108
+ expect(options).toBeDefined();
109
+ expect(options.verbose).toBe(true);
110
+ }));
111
+ it('should handle action with multiple options', () => __awaiter(void 0, void 0, void 0, function* () {
112
+ const mockAction = new MockAction('multi-command {--verbose} {--output <file>}', 'Multi-option command');
113
+ process.argv = ['node', 'test', 'multi-command', '--verbose', '--output', 'test.txt'];
114
+ yield (0, run_action_as_command_1.default)(mockAction);
115
+ expect(mockAction.wasAsCommandCalled()).toBe(true);
116
+ const options = mockAction.getLastOptions();
117
+ expect(options).toBeDefined();
118
+ expect(options.verbose).toBe(true);
119
+ expect(options.output).toBe('test.txt');
120
+ }));
121
+ it('should handle action without options', () => __awaiter(void 0, void 0, void 0, function* () {
122
+ const mockAction = new MockAction('basic-command', 'Basic command without options');
123
+ process.argv = ['node', 'test', 'basic-command'];
124
+ yield (0, run_action_as_command_1.default)(mockAction);
125
+ expect(mockAction.wasAsCommandCalled()).toBe(true);
126
+ expect(mockAction.getLastOptions()).toBeDefined();
127
+ }));
128
+ it('should handle action with null options regex match', () => __awaiter(void 0, void 0, void 0, function* () {
129
+ const mockAction = new MockAction('no-options-command', 'Command with no option patterns');
130
+ process.argv = ['node', 'test', 'no-options-command'];
131
+ yield (0, run_action_as_command_1.default)(mockAction);
132
+ expect(mockAction.wasAsCommandCalled()).toBe(true);
133
+ expect(mockAction.getLastOptions()).toBeDefined();
134
+ }));
135
+ });
136
+ //# sourceMappingURL=run.action.as.command.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.action.as.command.spec.js","sourceRoot":"","sources":["../../../test/functions/run.action.as.command.spec.ts"],"names":[],"mappings":"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"}