@qodalis/cli-core 0.0.16 → 2.0.0-beta.2

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 (53) hide show
  1. package/README.md +399 -31
  2. package/package.json +16 -23
  3. package/public-api.d.mts +2322 -0
  4. package/public-api.d.ts +2322 -8
  5. package/public-api.js +3597 -0
  6. package/public-api.js.map +1 -0
  7. package/public-api.mjs +3545 -0
  8. package/public-api.mjs.map +1 -0
  9. package/esm2022/lib/constants/index.mjs +0 -8
  10. package/esm2022/lib/interfaces/command-hooks.mjs +0 -2
  11. package/esm2022/lib/interfaces/command-processor.mjs +0 -2
  12. package/esm2022/lib/interfaces/execution-context.mjs +0 -2
  13. package/esm2022/lib/interfaces/index.mjs +0 -6
  14. package/esm2022/lib/interfaces/progress-bars.mjs +0 -2
  15. package/esm2022/lib/interfaces/users.mjs +0 -2
  16. package/esm2022/lib/models/index.mjs +0 -175
  17. package/esm2022/lib/models/services.mjs +0 -2
  18. package/esm2022/lib/models/users.mjs +0 -2
  19. package/esm2022/lib/modules/index.mjs +0 -30
  20. package/esm2022/lib/themes/index.mjs +0 -221
  21. package/esm2022/lib/types/CancellablePromise.mjs +0 -28
  22. package/esm2022/lib/types/index.mjs +0 -2
  23. package/esm2022/lib/utils/delay.mjs +0 -4
  24. package/esm2022/lib/utils/index.mjs +0 -81
  25. package/esm2022/lib/utils/object-describer.mjs +0 -134
  26. package/esm2022/lib/utils/terminal-utils.mjs +0 -16
  27. package/esm2022/lib/utils/version-utils.mjs +0 -25
  28. package/esm2022/lib/version.mjs +0 -3
  29. package/esm2022/public-api.mjs +0 -12
  30. package/esm2022/qodalis-cli-core.mjs +0 -5
  31. package/fesm2022/qodalis-cli-core.mjs +0 -722
  32. package/fesm2022/qodalis-cli-core.mjs.map +0 -1
  33. package/index.d.ts +0 -5
  34. package/lib/constants/index.d.ts +0 -5
  35. package/lib/interfaces/command-hooks.d.ts +0 -5
  36. package/lib/interfaces/command-processor.d.ts +0 -151
  37. package/lib/interfaces/execution-context.d.ts +0 -109
  38. package/lib/interfaces/index.d.ts +0 -349
  39. package/lib/interfaces/progress-bars.d.ts +0 -72
  40. package/lib/interfaces/users.d.ts +0 -42
  41. package/lib/models/index.d.ts +0 -303
  42. package/lib/models/services.d.ts +0 -20
  43. package/lib/models/users.d.ts +0 -30
  44. package/lib/modules/index.d.ts +0 -6
  45. package/lib/themes/index.d.ts +0 -16
  46. package/lib/types/CancellablePromise.d.ts +0 -8
  47. package/lib/types/index.d.ts +0 -1
  48. package/lib/utils/delay.d.ts +0 -1
  49. package/lib/utils/index.d.ts +0 -25
  50. package/lib/utils/object-describer.d.ts +0 -12
  51. package/lib/utils/terminal-utils.d.ts +0 -7
  52. package/lib/utils/version-utils.d.ts +0 -9
  53. package/lib/version.d.ts +0 -1
@@ -1,28 +0,0 @@
1
- export class CancellablePromise {
2
- constructor(executor) {
3
- this.executor = executor;
4
- this.hasCancelled = false;
5
- this.abortController = new AbortController();
6
- }
7
- execute() {
8
- return new Promise((resolve, reject) => {
9
- this.abortController.signal.onabort = () => {
10
- reject(new Error('Promise cancelled'));
11
- };
12
- this.executor((value) => {
13
- if (!this.hasCancelled) {
14
- resolve(value);
15
- }
16
- }, (reason) => {
17
- if (!this.hasCancelled) {
18
- reject(reason);
19
- }
20
- });
21
- });
22
- }
23
- cancel() {
24
- this.hasCancelled = true;
25
- this.abortController.abort();
26
- }
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FuY2VsbGFibGVQcm9taXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3R5cGVzL0NhbmNlbGxhYmxlUHJvbWlzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sa0JBQWtCO0lBSzNCLFlBQ1ksUUFHQztRQUhELGFBQVEsR0FBUixRQUFRLENBR1A7UUFSTCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixvQkFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7SUFPN0MsQ0FBQztJQUVHLE9BQU87UUFDVixPQUFPLElBQUksT0FBTyxDQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7Z0JBQ3ZDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7WUFDM0MsQ0FBQyxDQUFDO1lBRUYsSUFBSSxDQUFDLFFBQVEsQ0FDVCxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO29CQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2xCO1lBQ0wsQ0FBQyxFQUNELENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ3BCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDbEI7WUFDTCxDQUFDLENBQ0osQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDYW5jZWxsYWJsZVByb21pc2U8VD4ge1xuICAgIHByaXZhdGUgaGFzQ2FuY2VsbGVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGV4ZWN1dG9yOiAoXG4gICAgICAgICAgICByZXNvbHZlOiAodmFsdWU6IFQpID0+IHZvaWQsXG4gICAgICAgICAgICByZWplY3Q6IChyZWFzb24/OiBhbnkpID0+IHZvaWQsXG4gICAgICAgICkgPT4gdm9pZCxcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgZXhlY3V0ZSgpOiBQcm9taXNlPFQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPFQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWJvcnRDb250cm9sbGVyLnNpZ25hbC5vbmFib3J0ID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ1Byb21pc2UgY2FuY2VsbGVkJykpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdGhpcy5leGVjdXRvcihcbiAgICAgICAgICAgICAgICAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhc0NhbmNlbGxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChyZWFzb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhc0NhbmNlbGxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KHJlYXNvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2FuY2VsKCkge1xuICAgICAgICB0aGlzLmhhc0NhbmNlbGxlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuYWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gICAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export * from './CancellablePromise';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vQ2FuY2VsbGFibGVQcm9taXNlJztcbiJdfQ==
@@ -1,4 +0,0 @@
1
- export const delay = (ms) => {
2
- return new Promise((resolve) => setTimeout(resolve, ms));
3
- };
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvdXRpbHMvZGVsYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsRUFBVSxFQUFpQixFQUFFO0lBQy9DLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZGVsYXkgPSAobXM6IG51bWJlcik6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xufTtcbiJdfQ==
@@ -1,81 +0,0 @@
1
- import { CliBackgroundColor, CliForegroundColor } from '../models';
2
- import { delay } from './delay';
3
- import { ObjectDescriber } from './object-describer';
4
- export const getParameterValue = (p, args) => {
5
- if (args[p.name] !== undefined) {
6
- return args[p.name];
7
- }
8
- const matchedAlias = p.aliases?.find((alias) => args[alias] !== undefined);
9
- return matchedAlias ? args[matchedAlias] : undefined;
10
- };
11
- export const formatJson = (json) => {
12
- const identedJson = JSON.stringify(json, null, 2);
13
- return colorizeJson(identedJson.split('\n').join('\r\n'));
14
- };
15
- export const colorizeJson = (jsonString) => {
16
- return jsonString
17
- .replace(/"([^"]+)":/g, '\x1b[33m"$1":\x1b[0m') // Keys (yellow)
18
- .replace(/: "([^"]*)"/g, ': \x1b[32m"$1"\x1b[0m') // Strings (green)
19
- .replace(/: (\d+)/g, ': \x1b[34m$1\x1b[0m') // Numbers (blue)
20
- .replace(/: (true|false)/g, ': \x1b[35m$1\x1b[0m') // Booleans (magenta)
21
- .replace(/: (null)/g, ': \x1b[36m$1\x1b[0m'); // Null (cyan)
22
- };
23
- export const toQueryString = (params) => {
24
- const searchParams = new URLSearchParams();
25
- for (const key in params) {
26
- if (params.hasOwnProperty(key)) {
27
- const value = params[key];
28
- // Handle array and non-primitive values
29
- if (Array.isArray(value)) {
30
- value.forEach((v) => searchParams.append(key, v.toString()));
31
- }
32
- else if (value !== null && value !== undefined) {
33
- searchParams.append(key, value.toString());
34
- }
35
- }
36
- }
37
- return searchParams.toString();
38
- };
39
- export const highlightTextWithBg = (text, pattern, bgColor = CliBackgroundColor.Yellow) => {
40
- // Replace matches with background-colored text
41
- return text.replace(pattern, (match) => `${bgColor}${match}${CliForegroundColor.Reset}`);
42
- };
43
- export const getRightOfWord = (command, word) => {
44
- // Find the position of the word in the command
45
- const index = command.indexOf(word);
46
- // If the word is found, extract the substring to the right
47
- if (index !== -1) {
48
- return command.slice(index + word.length).trim();
49
- }
50
- // If the word is not found, return null
51
- return undefined;
52
- };
53
- export const colorFirstWord = (text, colorFunction) => {
54
- if (!text)
55
- return text;
56
- // Match leading spaces and first word separately
57
- const match = text.match(/^(\s*)(\S+)(.*)$/);
58
- if (!match)
59
- return text; // If no match, return original text
60
- const [, leadingSpaces, firstWord, restOfText] = match;
61
- // Apply color only to the first word
62
- const firstWordColored = colorFunction(firstWord);
63
- // Reconstruct string: Keep spaces, color first word, and append rest
64
- return `${leadingSpaces}${firstWordColored}${restOfText}`;
65
- };
66
- export * from './object-describer';
67
- export * from './delay';
68
- export * from './terminal-utils';
69
- export * from './version-utils';
70
- export const utils = {
71
- getParameterValue,
72
- formatJson,
73
- colorizeJson,
74
- toQueryString,
75
- highlightTextWithBg,
76
- getRightOfWord,
77
- colorFirstWord,
78
- ObjectDescriber,
79
- delay,
80
- };
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQzdCLENBQWlDLEVBQ2pDLElBQXlCLEVBQ1YsRUFBRTtJQUNqQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO1FBQzVCLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN2QjtJQUNELE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUM7SUFDM0UsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3pELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVMsRUFBVSxFQUFFO0lBQzVDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVsRCxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxN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QUMsU0FBUyxDQUFDLENBQUM7SUFFbEQscUVBQXFFO0lBQ3JFLE9BQU8sR0FBRyxhQUFhLEdBQUcsZ0JBQWdCLEdBQUcsVUFBVSxFQUFFLENBQUM7QUFDOUQsQ0FBQyxDQUFDO0FBRUYsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLFNBQVMsQ0FBQztBQUV4QixjQUFjLGtCQUFrQixDQUFDO0FBRWpDLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ2pCLGlCQUFpQjtJQUNqQixVQUFVO0lBQ1YsWUFBWTtJQUNaLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLGNBQWM7SUFDZCxlQUFlO0lBQ2YsS0FBSztDQUNSLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ2xpQ29tbWFuZFBhcmFtZXRlckRlc2NyaXB0b3IgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENsaUJhY2tncm91bmRDb2xvciwgQ2xpRm9yZWdyb3VuZENvbG9yIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSAnLi9kZWxheSc7XG5pbXBvcnQgeyBPYmplY3REZXNjcmliZXIgfSBmcm9tICcuL29iamVjdC1kZXNjcmliZXInO1xuXG5leHBvcnQgY29uc3QgZ2V0UGFyYW1ldGVyVmFsdWUgPSAoXG4gICAgcDogSUNsaUNvbW1hbmRQYXJhbWV0ZXJEZXNjcmlwdG9yLFxuICAgIGFyZ3M6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4pOiBhbnkgfCB1bmRlZmluZWQgPT4ge1xuICAgIGlmIChhcmdzW3AubmFtZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gYXJnc1twLm5hbWVdO1xuICAgIH1cbiAgICBjb25zdCBtYXRjaGVkQWxpYXMgPSBwLmFsaWFzZXM/LmZpbmQoKGFsaWFzKSA9PiBhcmdzW2FsaWFzXSAhPT0gdW5kZWZpbmVkKTtcbiAgICByZXR1cm4gbWF0Y2hlZEFsaWFzID8gYXJnc1ttYXRjaGVkQWxpYXNdIDogdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdEpzb24gPSAoanNvbjogYW55KTogc3RyaW5nID0+IHtcbiAgICBjb25zdCBpZGVudGVkSnNvbiA9IEpTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIDIpO1xuXG4gICAgcmV0dXJuIGNvbG9yaXplSnNvbihpZGVudGVkSnNvbi5zcGxpdCgnXFxuJykuam9pbignXFxyXFxuJykpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbG9yaXplSnNvbiA9IChqc29uU3RyaW5nOiBhbnkpOiBzdHJpbmcgPT4ge1xuICAgIHJldHVybiBqc29uU3RyaW5nXG4gICAgICAgIC5yZXBsYWNlKC9cIihbXlwiXSspXCI6L2csICdcXHgxYlszM21cIiQxXCI6XFx4MWJbMG0nKSAvLyBLZXlzICh5ZWxsb3cpXG4gICAgICAgIC5yZXBsYWNlKC86IFwiKFteXCJdKilcIi9nLCAnOiBcXHgxYlszMm1cIiQxXCJcXHgxYlswbScpIC8vIFN0cmluZ3MgKGdyZWVuKVxuICAgICAgICAucmVwbGFjZSgvOiAoXFxkKykvZywgJzogXFx4MWJbMzRtJDFcXHgxYlswbScpIC8vIE51bWJlcnMgKGJsdWUpXG4gICAgICAgIC5yZXBsYWNlKC86ICh0cnVlfGZhbHNlKS9nLCAnOiBcXHgxYlszNW0kMVxceDFiWzBtJykgLy8gQm9vbGVhbnMgKG1hZ2VudGEpXG4gICAgICAgIC5yZXBsYWNlKC86IChudWxsKS9nLCAnOiBcXHgxYlszNm0kMVxceDFiWzBtJyk7IC8vIE51bGwgKGN5YW4pXG59O1xuXG5leHBvcnQgY29uc3QgdG9RdWVyeVN0cmluZyA9IChwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBzdHJpbmcgPT4ge1xuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcblxuICAgIGZvciAoY29uc3Qga2V5IGluIHBhcmFtcykge1xuICAgICAgICBpZiAocGFyYW1zLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1zW2tleV07XG4gICAgICAgICAgICAvLyBIYW5kbGUgYXJyYXkgYW5kIG5vbi1wcmltaXRpdmUgdmFsdWVzXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKCh2KSA9PiBzZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgdi50b1N0cmluZygpKSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBzZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2VhcmNoUGFyYW1zLnRvU3RyaW5nKCk7XG59O1xuXG5leHBvcnQgY29uc3QgaGlnaGxpZ2h0VGV4dFdpdGhCZyA9IChcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgcGF0dGVybjogUmVnRXhwLFxuICAgIGJnQ29sb3I6IENsaUJhY2tncm91bmRDb2xvciA9IENsaUJhY2tncm91bmRDb2xvci5ZZWxsb3csXG4pOiBzdHJpbmcgPT4ge1xuICAgIC8vIFJlcGxhY2UgbWF0Y2hlcyB3aXRoIGJhY2tncm91bmQtY29sb3JlZCB0ZXh0XG4gICAgcmV0dXJuIHRleHQucmVwbGFjZShcbiAgICAgICAgcGF0dGVybixcbiAgICAgICAgKG1hdGNoKSA9PiBgJHtiZ0NvbG9yfSR7bWF0Y2h9JHtDbGlGb3JlZ3JvdW5kQ29sb3IuUmVzZXR9YCxcbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFJpZ2h0T2ZXb3JkID0gKFxuICAgIGNvbW1hbmQ6IHN0cmluZyxcbiAgICB3b3JkOiBzdHJpbmcsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICAgIC8vIEZpbmQgdGhlIHBvc2l0aW9uIG9mIHRoZSB3b3JkIGluIHRoZSBjb21tYW5kXG4gICAgY29uc3QgaW5kZXggPSBjb21tYW5kLmluZGV4T2Yod29yZCk7XG5cbiAgICAvLyBJZiB0aGUgd29yZCBpcyBmb3VuZCwgZXh0cmFjdCB0aGUgc3Vic3RyaW5nIHRvIHRoZSByaWdodFxuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIGNvbW1hbmQuc2xpY2UoaW5kZXggKyB3b3JkLmxlbmd0aCkudHJpbSgpO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSB3b3JkIGlzIG5vdCBmb3VuZCwgcmV0dXJuIG51bGxcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbG9yRmlyc3RXb3JkID0gKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICBjb2xvckZ1bmN0aW9uOiAod29yZDogc3RyaW5nKSA9PiBzdHJpbmcsXG4pID0+IHtcbiAgICBpZiAoIXRleHQpIHJldHVybiB0ZXh0O1xuXG4gICAgLy8gTWF0Y2ggbGVhZGluZyBzcGFjZXMgYW5kIGZpcnN0IHdvcmQgc2VwYXJhdGVseVxuICAgIGNvbnN0IG1hdGNoID0gdGV4dC5tYXRjaCgvXihcXHMqKShcXFMrKSguKikkLyk7XG5cbiAgICBpZiAoIW1hdGNoKSByZXR1cm4gdGV4dDsgLy8gSWYgbm8gbWF0Y2gsIHJldHVybiBvcmlnaW5hbCB0ZXh0XG5cbiAgICBjb25zdCBbLCBsZWFkaW5nU3BhY2VzLCBmaXJzdFdvcmQsIHJlc3RPZlRleHRdID0gbWF0Y2g7XG5cbiAgICAvLyBBcHBseSBjb2xvciBvbmx5IHRvIHRoZSBmaXJzdCB3b3JkXG4gICAgY29uc3QgZmlyc3RXb3JkQ29sb3JlZCA9IGNvbG9yRnVuY3Rpb24oZmlyc3RXb3JkKTtcblxuICAgIC8vIFJlY29uc3RydWN0IHN0cmluZzogS2VlcCBzcGFjZXMsIGNvbG9yIGZpcnN0IHdvcmQsIGFuZCBhcHBlbmQgcmVzdFxuICAgIHJldHVybiBgJHtsZWFkaW5nU3BhY2VzfSR7Zmlyc3RXb3JkQ29sb3JlZH0ke3Jlc3RPZlRleHR9YDtcbn07XG5cbmV4cG9ydCAqIGZyb20gJy4vb2JqZWN0LWRlc2NyaWJlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZGVsYXknO1xuXG5leHBvcnQgKiBmcm9tICcuL3Rlcm1pbmFsLXV0aWxzJztcblxuZXhwb3J0ICogZnJvbSAnLi92ZXJzaW9uLXV0aWxzJztcblxuZXhwb3J0IGNvbnN0IHV0aWxzID0ge1xuICAgIGdldFBhcmFtZXRlclZhbHVlLFxuICAgIGZvcm1hdEpzb24sXG4gICAgY29sb3JpemVKc29uLFxuICAgIHRvUXVlcnlTdHJpbmcsXG4gICAgaGlnaGxpZ2h0VGV4dFdpdGhCZyxcbiAgICBnZXRSaWdodE9mV29yZCxcbiAgICBjb2xvckZpcnN0V29yZCxcbiAgICBPYmplY3REZXNjcmliZXIsXG4gICAgZGVsYXksXG59O1xuIl19
@@ -1,134 +0,0 @@
1
- import { CliForegroundColor } from '../models';
2
- export class ObjectDescriber {
3
- static describe(obj, options) {
4
- const { filter } = options || {};
5
- const processors = [];
6
- const keys = Object.keys(obj);
7
- const functions = keys.filter((key) => typeof obj[key] === 'function');
8
- for (const func of functions) {
9
- const funcValue = obj[func];
10
- const args = this.getFunctionArguments(funcValue);
11
- if (filter) {
12
- const shouldInclude = filter({
13
- funcName: func,
14
- func: funcValue,
15
- args,
16
- });
17
- if (!shouldInclude) {
18
- continue;
19
- }
20
- }
21
- const supportsMultipleArgs = args.length > 1;
22
- const supportsDynamicArgs = this.supportsDynamicArgs(funcValue);
23
- if (args.length === 0 && !supportsDynamicArgs) {
24
- continue;
25
- }
26
- if (args.length > 0 &&
27
- args.some((arg) => arg === 'function' || arg === 'func')) {
28
- continue;
29
- }
30
- const processor = {
31
- command: func,
32
- description: `A command that executes the function ${func} with the provided arguments`,
33
- allowUnlistedCommands: true,
34
- valueRequired: true,
35
- parameters: [
36
- {
37
- name: 'debug',
38
- description: 'Debug',
39
- type: 'boolean',
40
- required: false,
41
- },
42
- ],
43
- processCommand: async (command, context) => {
44
- const debug = command.args['debug'];
45
- if (debug) {
46
- context.writer.writeln('Executing command: ' + func);
47
- context.writer.writeln('Arguments: ' + JSON.stringify(command.args));
48
- context.writer.writeln('Function: ' + funcValue.toString());
49
- }
50
- const argsToCallF = [];
51
- if (supportsMultipleArgs) {
52
- for (const arg of args.slice(1)) {
53
- argsToCallF.push(command.args[arg]);
54
- }
55
- }
56
- if (supportsDynamicArgs && command.value) {
57
- const delimiter = command.args['delimiter'] || ',';
58
- argsToCallF.push(...command.value.split(delimiter));
59
- }
60
- if (debug) {
61
- context.writer.writeln('Arguments after processing: ' +
62
- JSON.stringify(argsToCallF));
63
- }
64
- const result = supportsDynamicArgs && args.length === 0
65
- ? funcValue(...argsToCallF)
66
- : funcValue(command.value, ...argsToCallF);
67
- context.writer.write(context.writer.wrapInColor('Result: ', CliForegroundColor.Yellow));
68
- if (result === null) {
69
- context.writer.writeln('null');
70
- }
71
- else if (result === undefined) {
72
- context.writer.writeln('undefined');
73
- }
74
- else if (typeof result === 'boolean') {
75
- context.writer.writeln(result.toString());
76
- }
77
- else if (typeof result === 'number') {
78
- context.writer.writeln(result.toString());
79
- }
80
- else if (Array.isArray(result)) {
81
- context.writer.writeJson(result);
82
- }
83
- else if (typeof result === 'string') {
84
- context.writer.writeln(result);
85
- }
86
- else if (typeof result === 'object') {
87
- context.writer.writeJson(result);
88
- }
89
- else {
90
- context.writer.writeln(result?.toString());
91
- }
92
- context.process.output(result?.toString());
93
- },
94
- writeDescription: (context) => {
95
- context.writer.writeln(func);
96
- },
97
- };
98
- if (supportsDynamicArgs) {
99
- processor.parameters?.push({
100
- name: 'delimiter',
101
- description: 'Delimiter',
102
- type: 'string',
103
- required: false,
104
- });
105
- }
106
- if (supportsMultipleArgs) {
107
- processor.parameters?.push(...args.slice(1).map((arg) => ({
108
- name: arg,
109
- description: arg,
110
- type: 'string',
111
- required: false,
112
- })));
113
- }
114
- processors.push(processor);
115
- }
116
- return processors;
117
- }
118
- static supportsDynamicArgs(func) {
119
- const funcStr = func.toString();
120
- return funcStr.includes('arguments');
121
- }
122
- static getFunctionArguments(func) {
123
- const funcStr = func.toString();
124
- const args = funcStr.match(/\(([^)]*)\)/);
125
- if (!args) {
126
- return [];
127
- }
128
- return args[1]
129
- .split(',')
130
- .map((arg) => arg.trim())
131
- .filter((arg) => arg !== '');
132
- }
133
- }
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWRlc2NyaWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi91dGlscy9vYmplY3QtZGVzY3JpYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBcUIsTUFBTSxXQUFXLENBQUM7QUFFbEUsTUFBTSxPQUFPLGVBQWU7SUFDeEIsTUFBTSxDQUFDLFFBQVEsQ0FDWCxHQUFRLEVBQ1IsT0FNQztRQUVELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBRWpDLE1BQU0sVUFBVSxHQUEyQixFQUFFLENBQUM7UUFFOUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU5QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxVQUFVLENBQUMsQ0FBQztRQUV2RSxLQUFLLE1BQU0sSUFBSSxJQUFJLFNBQVMsRUFBRTtZQUMxQixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRWxELElBQUksTUFBTSxFQUFFO2dCQUNSLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQztvQkFDekIsUUFBUSxFQUFFLElBQUk7b0JBQ2QsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsSUFBSTtpQkFDUCxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLGFBQWEsRUFBRTtvQkFDaEIsU0FBUztpQkFDWjthQUNKO1lBRUQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUU3QyxNQUFNLG1CQUFtQixHQUFHLElB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LENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUNsaUNvbW1hbmRQcm9jZXNzb3IsIElDbGlFeGVjdXRpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDbGlGb3JlZ3JvdW5kQ29sb3IsIENsaVByb2Nlc3NDb21tYW5kIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIE9iamVjdERlc2NyaWJlciB7XG4gICAgc3RhdGljIGRlc2NyaWJlKFxuICAgICAgICBvYmo6IGFueSxcbiAgICAgICAgb3B0aW9ucz86IHtcbiAgICAgICAgICAgIGZpbHRlcj86IChvOiB7XG4gICAgICAgICAgICAgICAgZnVuY05hbWU6IHN0cmluZztcbiAgICAgICAgICAgICAgICBmdW5jOiBhbnk7XG4gICAgICAgICAgICAgICAgYXJnczogc3RyaW5nW107XG4gICAgICAgICAgICB9KSA9PiBib29sZWFuO1xuICAgICAgICB9LFxuICAgICk6IElDbGlDb21tYW5kUHJvY2Vzc29yW10ge1xuICAgICAgICBjb25zdCB7IGZpbHRlciB9ID0gb3B0aW9ucyB8fCB7fTtcblxuICAgICAgICBjb25zdCBwcm9jZXNzb3JzOiBJQ2xpQ29tbWFuZFByb2Nlc3NvcltdID0gW107XG5cbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG5cbiAgICAgICAgY29uc3QgZnVuY3Rpb25zID0ga2V5cy5maWx0ZXIoKGtleSkgPT4gdHlwZW9mIG9ialtrZXldID09PSAnZnVuY3Rpb24nKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGZ1bmMgb2YgZnVuY3Rpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBmdW5jVmFsdWUgPSBvYmpbZnVuY107XG4gICAgICAgICAgICBjb25zdCBhcmdzID0gdGhpcy5nZXRGdW5jdGlvbkFyZ3VtZW50cyhmdW5jVmFsdWUpO1xuXG4gICAgICAgICAgICBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkSW5jbHVkZSA9IGZpbHRlcih7XG4gICAgICAgICAgICAgICAgICAgIGZ1bmNOYW1lOiBmdW5jLFxuICAgICAgICAgICAgICAgICAgICBmdW5jOiBmdW5jVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXNob3VsZEluY2x1ZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzdXBwb3J0c011bHRpcGxlQXJncyA9IGFyZ3MubGVuZ3RoID4gMTtcblxuICAgICAgICAgICAgY29uc3Qgc3VwcG9ydHNEeW5hbWljQXJncyA9IHRoaXMuc3VwcG9ydHNEeW5hbWljQXJncyhmdW5jVmFsdWUpO1xuXG4gICAgICAgICAgICBpZiAoYXJncy5sZW5ndGggPT09IDAgJiYgIXN1cHBvcnRzRHluYW1pY0FyZ3MpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGFyZ3MubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICAgIGFyZ3Muc29tZSgoYXJnKSA9PiBhcmcgPT09ICdmdW5jdGlvbicgfHwgYXJnID09PSAnZnVuYycpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcHJvY2Vzc29yOiBJQ2xpQ29tbWFuZFByb2Nlc3NvciA9IHtcbiAgICAgICAgICAgICAgICBjb21tYW5kOiBmdW5jLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgQSBjb21tYW5kIHRoYXQgZXhlY3V0ZXMgdGhlIGZ1bmN0aW9uICR7ZnVuY30gd2l0aCB0aGUgcHJvdmlkZWQgYXJndW1lbnRzYCxcbiAgICAgICAgICAgICAgICBhbGxvd1VubGlzdGVkQ29tbWFuZHM6IHRydWUsXG4gICAgICAgICAgICAgICAgdmFsdWVSZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdkZWJ1ZycsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0RlYnVnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHByb2Nlc3NDb21tYW5kOiBhc3luYyAoXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IENsaVByb2Nlc3NDb21tYW5kLFxuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVidWcgPSBjb21tYW5kLmFyZ3NbJ2RlYnVnJ10gYXMgYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVidWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlbG4oJ0V4ZWN1dGluZyBjb21tYW5kOiAnICsgZnVuYyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZWxuKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcmd1bWVudHM6ICcgKyBKU09OLnN0cmluZ2lmeShjb21tYW5kLmFyZ3MpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlbG4oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Z1bmN0aW9uOiAnICsgZnVuY1ZhbHVlLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJnc1RvQ2FsbEY6IGFueVtdID0gW107XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1cHBvcnRzTXVsdGlwbGVBcmdzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGFyZyBvZiBhcmdzLnNsaWNlKDEpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1RvQ2FsbEYucHVzaChjb21tYW5kLmFyZ3NbYXJnXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoc3VwcG9ydHNEeW5hbWljQXJncyAmJiBjb21tYW5kLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWxpbWl0ZXIgPSBjb21tYW5kLmFyZ3NbJ2RlbGltaXRlciddIHx8ICcsJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3NUb0NhbGxGLnB1c2goLi4uY29tbWFuZC52YWx1ZS5zcGxpdChkZWxpbWl0ZXIpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChkZWJ1Zykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVsbihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQXJndW1lbnRzIGFmdGVyIHByb2Nlc3Npbmc6ICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeShhcmdzVG9DYWxsRiksXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRzRHluYW1pY0FyZ3MgJiYgYXJncy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGZ1bmNWYWx1ZSguLi5hcmdzVG9DYWxsRilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZ1bmNWYWx1ZShjb21tYW5kLnZhbHVlLCAuLi5hcmdzVG9DYWxsRik7XG5cbiAgICAgICAgICAgICAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cmFwSW5Db2xvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVzdWx0OiAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaUZvcmVncm91bmRDb2xvci5ZZWxsb3csXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlbG4oJ251bGwnKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVsbigndW5kZWZpbmVkJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZWxuKHJlc3VsdC50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVsbihyZXN1bHQudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShyZXN1bHQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZUpzb24ocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVsbihyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZUpzb24ocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlbG4ocmVzdWx0Py50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQucHJvY2Vzcy5vdXRwdXQocmVzdWx0Py50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHdyaXRlRGVzY3JpcHRpb246IChjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZWxuKGZ1bmMpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBpZiAoc3VwcG9ydHNEeW5hbWljQXJncykge1xuICAgICAgICAgICAgICAgIHByb2Nlc3Nvci5wYXJhbWV0ZXJzPy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2RlbGltaXRlcicsXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVsaW1pdGVyJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHN1cHBvcnRzTXVsdGlwbGVBcmdzKSB7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc29yLnBhcmFtZXRlcnM/LnB1c2goXG4gICAgICAgICAgICAgICAgICAgIC4uLmFyZ3Muc2xpY2UoMSkubWFwKChhcmcpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBhcmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYXJnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwcm9jZXNzb3JzLnB1c2gocHJvY2Vzc29yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwcm9jZXNzb3JzO1xuICAgIH1cblxuICAgIHN0YXRpYyBzdXBwb3J0c0R5bmFtaWNBcmdzKGZ1bmM6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBmdW5jU3RyID0gZnVuYy50b1N0cmluZygpO1xuICAgICAgICByZXR1cm4gZnVuY1N0ci5pbmNsdWRlcygnYXJndW1lbnRzJyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldEZ1bmN0aW9uQXJndW1lbnRzKGZ1bmM6IGFueSk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgZnVuY1N0ciA9IGZ1bmMudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgYXJncyA9IGZ1bmNTdHIubWF0Y2goL1xcKChbXildKilcXCkvKTtcbiAgICAgICAgaWYgKCFhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFyZ3NbMV1cbiAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKChhcmc6IHN0cmluZykgPT4gYXJnLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGFyZzogc3RyaW5nKSA9PiBhcmcgIT09ICcnKTtcbiAgICB9XG59XG4iXX0=
@@ -1,16 +0,0 @@
1
- /**
2
- * Clears the current line in the terminal, accounting for text that wraps across multiple lines.
3
- * @param terminal The xterm terminal instance
4
- * @param contentLength The total visible character count on the line (prompt + text)
5
- */
6
- export const clearTerminalLine = (terminal, contentLength) => {
7
- const lines = Math.max(1, Math.ceil(contentLength / terminal.cols));
8
- for (let i = 0; i < lines; i++) {
9
- terminal.write('\x1b[2K');
10
- if (i < lines - 1) {
11
- terminal.write('\x1b[A');
12
- }
13
- }
14
- terminal.write('\r');
15
- };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvdXRpbHMvdGVybWluYWwtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQzdCLFFBQWtCLEVBQ2xCLGFBQXFCLEVBQ2pCLEVBQUU7SUFDTixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVwRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzVCLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNmLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDNUI7S0FDSjtJQUVELFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVybWluYWwgfSBmcm9tICdAeHRlcm0veHRlcm0nO1xuXG4vKipcbiAqIENsZWFycyB0aGUgY3VycmVudCBsaW5lIGluIHRoZSB0ZXJtaW5hbCwgYWNjb3VudGluZyBmb3IgdGV4dCB0aGF0IHdyYXBzIGFjcm9zcyBtdWx0aXBsZSBsaW5lcy5cbiAqIEBwYXJhbSB0ZXJtaW5hbCBUaGUgeHRlcm0gdGVybWluYWwgaW5zdGFuY2VcbiAqIEBwYXJhbSBjb250ZW50TGVuZ3RoIFRoZSB0b3RhbCB2aXNpYmxlIGNoYXJhY3RlciBjb3VudCBvbiB0aGUgbGluZSAocHJvbXB0ICsgdGV4dClcbiAqL1xuZXhwb3J0IGNvbnN0IGNsZWFyVGVybWluYWxMaW5lID0gKFxuICAgIHRlcm1pbmFsOiBUZXJtaW5hbCxcbiAgICBjb250ZW50TGVuZ3RoOiBudW1iZXIsXG4pOiB2b2lkID0+IHtcbiAgICBjb25zdCBsaW5lcyA9IE1hdGgubWF4KDEsIE1hdGguY2VpbChjb250ZW50TGVuZ3RoIC8gdGVybWluYWwuY29scykpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lczsgaSsrKSB7XG4gICAgICAgIHRlcm1pbmFsLndyaXRlKCdcXHgxYlsySycpO1xuICAgICAgICBpZiAoaSA8IGxpbmVzIC0gMSkge1xuICAgICAgICAgICAgdGVybWluYWwud3JpdGUoJ1xceDFiW0EnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRlcm1pbmFsLndyaXRlKCdcXHInKTtcbn07XG4iXX0=
@@ -1,25 +0,0 @@
1
- /**
2
- * Compares two dotted version strings (e.g. "1.0.37" vs "0.0.16").
3
- * Returns -1 if a < b, 0 if equal, 1 if a > b.
4
- */
5
- export function compareVersions(a, b) {
6
- const partsA = a.split('.').map(Number);
7
- const partsB = b.split('.').map(Number);
8
- const length = Math.max(partsA.length, partsB.length);
9
- for (let i = 0; i < length; i++) {
10
- const numA = partsA[i] || 0;
11
- const numB = partsB[i] || 0;
12
- if (numA < numB)
13
- return -1;
14
- if (numA > numB)
15
- return 1;
16
- }
17
- return 0;
18
- }
19
- /**
20
- * Returns true if the installed version satisfies the minimum required version.
21
- */
22
- export function satisfiesMinVersion(installed, required) {
23
- return compareVersions(installed, required) >= 0;
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi91dGlscy92ZXJzaW9uLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsQ0FBUyxFQUFFLENBQVM7SUFDaEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUV0RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzdCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1QixJQUFJLElBQUksR0FBRyxJQUFJO1lBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMzQixJQUFJLElBQUksR0FBRyxJQUFJO1lBQUUsT0FBTyxDQUFDLENBQUM7S0FDN0I7SUFFRCxPQUFPLENBQUMsQ0FBQztBQUNiLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FDL0IsU0FBaUIsRUFDakIsUUFBZ0I7SUFFaEIsT0FBTyxlQUFlLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb21wYXJlcyB0d28gZG90dGVkIHZlcnNpb24gc3RyaW5ncyAoZS5nLiBcIjEuMC4zN1wiIHZzIFwiMC4wLjE2XCIpLlxuICogUmV0dXJucyAtMSBpZiBhIDwgYiwgMCBpZiBlcXVhbCwgMSBpZiBhID4gYi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXBhcmVWZXJzaW9ucyhhOiBzdHJpbmcsIGI6IHN0cmluZyk6IC0xIHwgMCB8IDEge1xuICAgIGNvbnN0IHBhcnRzQSA9IGEuc3BsaXQoJy4nKS5tYXAoTnVtYmVyKTtcbiAgICBjb25zdCBwYXJ0c0IgPSBiLnNwbGl0KCcuJykubWFwKE51bWJlcik7XG4gICAgY29uc3QgbGVuZ3RoID0gTWF0aC5tYXgocGFydHNBLmxlbmd0aCwgcGFydHNCLmxlbmd0aCk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IG51bUEgPSBwYXJ0c0FbaV0gfHwgMDtcbiAgICAgICAgY29uc3QgbnVtQiA9IHBhcnRzQltpXSB8fCAwO1xuXG4gICAgICAgIGlmIChudW1BIDwgbnVtQikgcmV0dXJuIC0xO1xuICAgICAgICBpZiAobnVtQSA+IG51bUIpIHJldHVybiAxO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xufVxuXG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgaW5zdGFsbGVkIHZlcnNpb24gc2F0aXNmaWVzIHRoZSBtaW5pbXVtIHJlcXVpcmVkIHZlcnNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYXRpc2ZpZXNNaW5WZXJzaW9uKFxuICAgIGluc3RhbGxlZDogc3RyaW5nLFxuICAgIHJlcXVpcmVkOiBzdHJpbmcsXG4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gY29tcGFyZVZlcnNpb25zKGluc3RhbGxlZCwgcmVxdWlyZWQpID49IDA7XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- // Automatically generated during build
2
- export const LIBRARY_VERSION = '0.0.16';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLHVDQUF1QztBQUN2QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBkdXJpbmcgYnVpbGRcbmV4cG9ydCBjb25zdCBMSUJSQVJZX1ZFUlNJT04gPSAnMC4wLjE2JztcbiAgIl19
@@ -1,12 +0,0 @@
1
- /*
2
- * Public API Surface of core
3
- */
4
- export * from './lib/models';
5
- export * from './lib/interfaces';
6
- export * from './lib/modules';
7
- export * from './lib/utils';
8
- export * from './lib/constants';
9
- export * from './lib/types';
10
- export * from './lib/themes';
11
- export * from './lib/version';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixjQUFjLGtCQUFrQixDQUFDO0FBRWpDLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsY0FBYyxhQUFhLENBQUM7QUFFNUIsY0FBYyxjQUFjLENBQUM7QUFFN0IsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNvcmVcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aGVtZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi92ZXJzaW9uJztcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW9kYWxpcy1jbGktY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3FvZGFsaXMtY2xpLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==