@qodalis/cli-core 0.0.5 → 0.0.7

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.
package/README.md CHANGED
@@ -23,6 +23,8 @@ npm install @qodalis/angular-cli
23
23
 
24
24
  ## Usage
25
25
 
26
+ ![Install packages](docs/assets/help_command.gif)
27
+
26
28
  After installing, you can integrate the CLI component into your Angular application:
27
29
 
28
30
  ## Basic Setup
@@ -33,42 +35,73 @@ After installing, you can integrate the CLI component into your Angular applicat
33
35
  import { CliModule } from "@qodalis/angular-cli";
34
36
 
35
37
  @NgModule({
36
- imports: [CliModule],
38
+ imports: [CliModule, Cli***Module],
37
39
  })
38
40
  export class AppModule {}
39
41
  ```
40
42
 
41
- 2. Add the CLI Component to Your Template:
43
+ 2. Set the styles in the **angular.json**
44
+
45
+ ```json
46
+ {
47
+ "projects": {
48
+ "your-project": {
49
+ "architect": {
50
+ "options": {
51
+ "styles": ["node_modules/@qodalis/angular-cli/src/assets/styles.sass"]
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
57
+ ```
58
+
59
+ 3. Add the CLI Component to Your Template:
42
60
 
43
61
  ```html
44
- <app-cli [options]="cliOptions"></app-cli>
62
+ <!--
63
+ Show a terminal
64
+ -->
65
+ <cli [options]="cliOptions" />
66
+
67
+ <!--
68
+ Show a terminal wrapped in a container that is located at the bottom of the page and can be collapsed/expanded
69
+ -->
70
+ <cli-panel />
45
71
  ```
46
72
 
47
- 3. Configure the CLI:
73
+ 4. Configure the CLI:
48
74
 
49
75
  ```typescript
50
- cliOptions = {};
76
+ cliOptions = {
77
+ welcomeMessage: "-- your custom welcome message --",
78
+ //TODO: supports multiple customizations
79
+ };
51
80
  ```
52
81
 
53
82
  ## Example Commands
54
83
 
55
84
  ### Built-in Commands
56
85
 
86
+ ### System
87
+
57
88
  - **help**: Displays available commands and their descriptions.
58
89
  - **clear**: Clears the terminal screen.
59
90
  - **echo \<message\>**: Prints the provided message to the terminal.
60
91
  - **ping**: Pings the server
61
92
  - **theme**: Interact with the cli theme
62
- - **cookies**: Interact with the cookies
63
93
  - **history**: Prints the command history of the current session
64
- - **local-storage**: Interact with the local storage
65
- - **regex**: Provide utilities for working with regular expressions
66
- - **su**: Switch user
67
94
  - **version**: Prints the version information
68
- - **whoami**: Display current user information
69
95
  - **eval**: Evaluate a JavaScript expression
70
96
  - **packages**: Manage packages in the cli
71
97
 
98
+ ### Users
99
+
100
+ - **whoami**: Display current user information
101
+ - **su**: Switch user
102
+ - **adduser**: Add a new user
103
+ - **listusers**: List all users
104
+
72
105
  ## Cli Packages
73
106
 
74
107
  - Add JavaScript packages dynamically.
@@ -77,6 +110,8 @@ cliOptions = {};
77
110
 
78
111
  ### Usage
79
112
 
113
+ ![Install packages](docs/assets/install_packages.gif)
114
+
80
115
  ### Add a Package
81
116
 
82
117
  To add a package, use the packages add command:
@@ -88,6 +123,9 @@ root:~$ packages add <package-name>
88
123
  Example:
89
124
 
90
125
  ```bash
126
+ root:~$ packages add guid
127
+ root:~$ packages add regex
128
+ root:~$ packages add string
91
129
  root:~$ packages add lodash
92
130
  ```
93
131
 
@@ -121,6 +159,12 @@ root:~$
121
159
 
122
160
  - [@qodalis/cli-guid](https://www.npmjs.com/package/@qodalis/cli-guid) - utility for guid
123
161
  - [@qodalis/cli-server-logs](https://www.npmjs.com/package/@qodalis/cli-server-logs) - utility for live server logs
162
+ - [@qodalis/cli-text-to-image](https://www.npmjs.com/package/@qodalis/cli-text-to-image) - utility to generate images from text
163
+ - [@qodalis/cli-regex](https://www.npmjs.com/package/@qodalis/cli-regex) - provide utilities for working with regular expressions
164
+ - [@qodalis/cli-speed-test](https://www.npmjs.com/package/@qodalis/cli-speed-test) - run the internet speed test
165
+ - [@qodalis/cli-browser-storage](https://www.npmjs.com/package/@qodalis/cli-browser-storage) - provide commands to operate with browser storage like cookie, localStorage etc.
166
+ - [@qodalis/cli-string](https://www.npmjs.com/package/@qodalis/cli-browser-storage) - provide commands to operate with strings.
167
+ - More will be implemented ...
124
168
 
125
169
  ## Extending with Custom Commands
126
170
 
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVybWluYWwgfSBmcm9tICdAeHRlcm0veHRlcm0nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBDbGlCYWNrZ3JvdW5kQ29sb3IsXG4gICAgQ2xpRm9yZWdyb3VuZENvbG9yLFxuICAgIENsaU9wdGlvbnMsXG4gICAgQ2xpUHJvY2Vzc0NvbW1hbmQsXG4gICAgSUNsaVVzZXIsXG4gICAgSUNsaVVzZXJTZXNzaW9uLFxuICAgIFBhY2thZ2UsXG59IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaUNvbW1hbmRBdXRob3Ige1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBhdXRob3JcbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZW1haWwgb2YgdGhlIGF1dGhvclxuICAgICAqL1xuICAgIGVtYWlsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbW1hbmQgcHJvY2Vzc29yXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaUNvbW1hbmRQcm9jZXNzb3Ige1xuICAgIC8qKlxuICAgICAqIFRoZSBjb21tYW5kIHRoYXQgdGhpcyBwcm9jZXNzb3IgaGFuZGxlc1xuICAgICAqL1xuICAgIGNvbW1hbmQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIGNvbW1hbmRcbiAgICAgKi9cbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBhdXRob3Igb2YgdGhlIGNvbW1hbmRcbiAgICAgKi9cbiAgICBhdXRob3I/OiBJQ2xpQ29tbWFuZEF1dGhvcjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSBwcm9jZXNzb3IgY2FuIGhhbmRsZSB1bmxpc3RlZCBjb21tYW5kc1xuICAgICAqL1xuICAgIGFsbG93VW5saXN0ZWRDb21tYW5kcz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgdmFsdWUgaXMgcmVxdWlyZWRcbiAgICAgKi9cbiAgICB2YWx1ZVJlcXVpcmVkPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEBkZWZhdWx0ICcxLjAuMCdcbiAgICAgKi9cbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgdGhlIHByb2Nlc3NvciBpcyBzZWFsZWQgYW5kIGNhbm5vdCBiZSBleHRlbmRlZFxuICAgICAqL1xuICAgIHNlYWxlZD86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzb3JzIHRoYXQgYXJlIG5lc3RlZCB1bmRlciB0aGlzIHByb2Nlc3NvclxuICAgICAqL1xuICAgIHByb2Nlc3NvcnM/OiBJQ2xpQ29tbWFuZFByb2Nlc3NvcltdO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW1ldGVycyB0aGF0IHRoZSBjb21tYW5kIGFjY2VwdHNcbiAgICAgKi9cbiAgICBwYXJhbWV0ZXJzPzogSUNsaUNvbW1hbmRQYXJhbWV0ZXJEZXNjcmlwdG9yW107XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzIHRoZSBjb21tYW5kXG4gICAgICogQHBhcmFtIGNvbW1hbmQgVGhlIGNvbW1hbmQgdG8gcHJvY2Vzc1xuICAgICAqIEBwYXJhbSBjb250ZXh0IFRoZSBjb250ZXh0IGluIHdoaWNoIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkXG4gICAgICovXG4gICAgcHJvY2Vzc0NvbW1hbmQoXG4gICAgICAgIGNvbW1hbmQ6IENsaVByb2Nlc3NDb21tYW5kLFxuICAgICAgICBjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICApOiBQcm9taXNlPHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBjb21tYW5kXG4gICAgICogQHBhcmFtIGNvbnRleHQgVGhlIGNvbnRleHQgaW4gd2hpY2ggdGhlIGNvbW1hbmQgaXMgZXhlY3V0ZWRcbiAgICAgKi9cbiAgICB3cml0ZURlc2NyaXB0aW9uPyhjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRoYXQgdmFsaWRhdGVzIHRoZSBjb21tYW5kIGJlZm9yZSBleGVjdXRpb25cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHZhbGlkYXRlXG4gICAgICogQHJldHVybnMgQW4gb2JqZWN0IHdpdGggYSB2YWxpZCBwcm9wZXJ0eSB0aGF0IGluZGljYXRlcyBpZiB0aGUgdmFsdWUgaXMgdmFsaWQgYW5kIGFuIG9wdGlvbmFsIG1lc3NhZ2UgcHJvcGVydHkgdGhhdCBjb250YWlucyBhIG1lc3NhZ2UgdG8gZGlzcGxheSBpZiB0aGUgdmFsdWUgaXMgbm90IHZhbGlkXG4gICAgICovXG4gICAgdmFsaWRhdGVCZWZvcmVFeGVjdXRpb24/OiAoXG4gICAgICAgIGNvbW1hbmQ6IENsaVByb2Nlc3NDb21tYW5kLFxuICAgICAgICBjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICApID0+IHtcbiAgICAgICAgdmFsaWQ6IGJvb2xlYW47XG4gICAgICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemUgdGhlIGNvbW1hbmQgcHJvY2Vzc29yXG4gICAgICogQHBhcmFtIGNvbnRleHQgVGhlIGNvbnRleHQgaW4gd2hpY2ggdGhlIGNvbW1hbmQgaXMgZXhlY3V0ZWRcbiAgICAgKi9cbiAgICBpbml0aWFsaXplPyhjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCk6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbW1hbmQgcGFyYW1ldGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaUNvbW1hbmRQYXJhbWV0ZXJEZXNjcmlwdG9yIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQWxpYXNlcyBmb3IgdGhlIHBhcmFtZXRlclxuICAgICAqL1xuICAgIGFsaWFzZXM/OiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIHBhcmFtZXRlclxuICAgICAqL1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgcGFyYW1ldGVyIGlzIHJlcXVpcmVkXG4gICAgICovXG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiB0aGUgcGFyYW1ldGVyXG4gICAgICovXG4gICAgdHlwZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIHBhcmFtZXRlclxuICAgICAqL1xuICAgIGRlZmF1bHRWYWx1ZT86IGFueTtcblxuICAgIC8qKlxuICAgICAqIEEgdmFsaWRhdG9yIGZ1bmN0aW9uIHRoYXQgdmFsaWRhdGVzIHRoZSB2YWx1ZSBvZiB0aGUgcGFyYW1ldGVyXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byB2YWxpZGF0ZVxuICAgICAqIEByZXR1cm5zIEFuIG9iamVjdCB3aXRoIGEgdmFsaWQgcHJvcGVydHkgdGhhdCBpbmRpY2F0ZXMgaWYgdGhlIHZhbHVlIGlzIHZhbGlkIGFuZCBhbiBvcHRpb25hbCBtZXNzYWdlIHByb3BlcnR5IHRoYXQgY29udGFpbnMgYSBtZXNzYWdlIHRvIGRpc3BsYXkgaWYgdGhlIHZhbHVlIGlzIG5vdCB2YWxpZFxuICAgICAqL1xuICAgIHZhbGlkYXRvcj86ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIHZhbHVlIGlzIHZhbGlkXG4gICAgICAgICAqL1xuICAgICAgICB2YWxpZDogYm9vbGVhbjtcblxuICAgICAgICAvKipcbiAgICAgICAgICogQW4gb3B0aW9uYWwgbWVzc2FnZSB0byBkaXNwbGF5IGlmIHRoZSB2YWx1ZSBpcyBub3QgdmFsaWRcbiAgICAgICAgICovXG4gICAgICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2xpVGVybWluYWxXcml0ZXIge1xuICAgIC8qKlxuICAgICAqIFdyaXRlIHRleHQgdG8gdGhlIHRlcm1pbmFsXG4gICAgICogQHBhcmFtIHRleHQgVGhlIHRleHQgdG8gd3JpdGVcbiAgICAgKi9cbiAgICB3cml0ZSh0ZXh0OiBzdHJpbmcpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgdGV4dCB0byB0aGUgdGVybWluYWwgZm9sbG93ZWQgYnkgYSBuZXdsaW5lXG4gICAgICogQHBhcmFtIHRleHQgVGhlIHRleHQgdG8gd3JpdGVcbiAgICAgKi9cbiAgICB3cml0ZWxuKHRleHQ6IHN0cmluZyk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZSBhIHN1Y2Nlc3MgbWVzc2FnZSB0byB0aGUgdGVybWluYWxcbiAgICAgKiBAcGFyYW0gbWVzc2FnIFRoZSBtZXNzYWdlIHRvIHdyaXRlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyaXRlU3VjY2VzczogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGFuIGluZm8gbWVzc2FnZSB0byB0aGUgdGVybWluYWxcbiAgICAgKiBAcGFyYW0gbWVzc2FnIFRoZSBtZXNzYWdlIHRvIHdyaXRlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyaXRlSW5mbzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGFuIGVycm9yIG1lc3NhZ2UgdG8gdGhlIHRlcm1pbmFsXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gd3JpdGVcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGVFcnJvcjogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGEgd2FybmluZyBtZXNzYWdlIHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIHdyaXRlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyaXRlV2FybmluZzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGEgbWVzc2FnZSB0byB0aGUgdGVybWluYWwgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gd3JpdGVcbiAgICAgKiBAcGFyYW0gY29sb3IgVGhlIGNvbG9yIHRvIHVzZVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICB3cmFwSW5Db2xvcjogKHRleHQ6IHN0cmluZywgY29sb3I6IENsaUZvcmVncm91bmRDb2xvcikgPT4gc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgYSBtZXNzYWdlIHRvIHRoZSB0ZXJtaW5hbCB3aXRoIHRoZSBzcGVjaWZpZWQgYmFja2dyb3VuZCBjb2xvclxuICAgICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIHdyaXRlXG4gICAgICogQHBhcmFtIGNvbG9yIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICB3cmFwSW5CYWNrZ3JvdW5kQ29sb3I6ICh0ZXh0OiBzdHJpbmcsIGNvbG9yOiBDbGlCYWNrZ3JvdW5kQ29sb3IpID0+IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGEgSlNPTiBvYmplY3QgdG8gdGhlIHRlcm1pbmFsXG4gICAgICogQHBhcmFtIGpzb24gVGhlIEpTT04gb2JqZWN0IHRvIHdyaXRlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyaXRlSnNvbjogKGpzb246IGFueSkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGNvbnRlbnQgdG8gYSBmaWxlXG4gICAgICogQHBhcmFtIGZpbGVOYW1lIFRoZSBuYW1lIG9mIHRoZSBmaWxlIHRvIHdyaXRlIHRvXG4gICAgICogQHBhcmFtIGNvbnRlbnQgVGhlIGNvbnRlbnQgdG8gd3JpdGUgdG8gdGhlIGZpbGVcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGVUb0ZpbGU6IChmaWxlTmFtZTogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZSBhbiBvYmplY3QgYXJyYXkgYXMgYSB0YWJsZSB0byB0aGUgdGVybWluYWxcbiAgICAgKiBAcGFyYW0gb2JqZWN0cyBUaGUgb2JqZWN0cyB0byB3cml0ZSB0byB0aGUgdGFibGVcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGVPYmplY3RBcnJheVRhYmxlKG9iamVjdHM6IGFueVtdKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGEgdGFibGUgdG8gdGhlIHRlcm1pbmFsXG4gICAgICogQHBhcmFtIGhlYWRlcnMgVGhlIGhlYWRlcnMgb2YgdGhlIHRhYmxlXG4gICAgICogQHBhcmFtIHJvd3MgVGhlIHJvd3Mgb2YgdGhlIHRhYmxlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyaXRlVGFibGUoaGVhZGVyczogc3RyaW5nW10sIHJvd3M6IHN0cmluZ1tdW10pOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDbGlQcm9ncmVzc0JhciB7XG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIGlmIHRoZSBwcm9ncmVzcyBiYXIgaXMgcnVubmluZ1xuICAgICAqL1xuICAgIGlzUnVubmluZzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIHByb2dyZXNzIGJhclxuICAgICAqL1xuICAgIHNob3c6ICgpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBwcm9ncmVzcyBiYXJcbiAgICAgKi9cbiAgICBoaWRlOiAoKSA9PiB2b2lkO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzcGlubmVyIGZvciB0aGUgQ0xJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaVNwaW5uZXIgZXh0ZW5kcyBJQ2xpUHJvZ3Jlc3NCYXIge31cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcHJvZ3Jlc3MgYmFyIGZvciB0aGUgQ0xJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaVBlcmNlbnRhZ2VQcm9ncmVzc0JhciBleHRlbmRzIElDbGlQcm9ncmVzc0JhciB7XG4gICAgLyoqXG4gICAgICogVXBkYXRlIHRoZSBwcm9ncmVzcyBvZiB0aGUgcHJvZ3Jlc3MgYmFyXG4gICAgICogQHBhcmFtIHByb2dyZXNzIFRoZSBwcm9ncmVzcyB0byB1cGRhdGUgdG9cbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgdXBkYXRlOiAocHJvZ3Jlc3M6IG51bWJlcikgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIENvbXBsZXRlIHRoZSBwcm9ncmVzcyBiYXJcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgY29tcGxldGU6ICgpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNsaXBib2FyZCBmb3IgdGhlIENMSVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDbGlwYm9hcmQge1xuICAgIC8qKlxuICAgICAqIFdyaXRlIHRleHQgdG8gdGhlIGNsaXBib2FyZFxuICAgICAqIEBwYXJhbSB0ZXh0IFRoZSB0ZXh0IHRvIHdyaXRlIHRvIHRoZSBjbGlwYm9hcmRcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGU6ICh0ZXh0OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiBSZWFkIHRleHQgZnJvbSB0aGUgY2xpcGJvYXJkXG4gICAgICogQHJldHVybnMgVGhlIHRleHQgcmVhZCBmcm9tIHRoZSBjbGlwYm9hcmRcbiAgICAgKi9cbiAgICByZWFkOiAoKSA9PiBQcm9taXNlPHN0cmluZz47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNlcnZpY2UgdGhhdCBleGVjdXRlcyBjb21tYW5kc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kRXhlY3V0b3JTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb21tYW5kXG4gICAgICogQHBhcmFtIGNvbnRleHRcbiAgICAgKi9cbiAgICBzaG93SGVscChcbiAgICAgICAgY29tbWFuZDogQ2xpUHJvY2Vzc0NvbW1hbmQsXG4gICAgICAgIGNvbnRleHQ6IElDbGlFeGVjdXRpb25Db250ZXh0LFxuICAgICk6IFByb21pc2U8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiBMaXN0IGFsbCBjb21tYW5kc1xuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGFsbCBjb21tYW5kc1xuICAgICAqL1xuICAgIGxpc3RDb21tYW5kcygpOiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEZpbmQgYSBwcm9jZXNzb3IgZm9yIGEgY29tbWFuZFxuICAgICAqIEBwYXJhbSBtYWluQ29tbWFuZFxuICAgICAqIEBwYXJhbSBjaGFpbkNvbW1hbmRzXG4gICAgICovXG4gICAgZmluZFByb2Nlc3NvcihcbiAgICAgICAgbWFpbkNvbW1hbmQ6IHN0cmluZyxcbiAgICAgICAgY2hhaW5Db21tYW5kczogc3RyaW5nW10sXG4gICAgKTogSUNsaUNvbW1hbmRQcm9jZXNzb3IgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciBhIHByb2Nlc3NvclxuICAgICAqIEBwYXJhbSBwcm9jZXNzb3JcbiAgICAgKi9cbiAgICByZWdpc3RlclByb2Nlc3Nvcihwcm9jZXNzb3I6IElDbGlDb21tYW5kUHJvY2Vzc29yKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFVucmVnaXN0ZXIgYSBwcm9jZXNzb3JcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc29yXG4gICAgICovXG4gICAgdW5yZWdpc3RlclByb2Nlc3Nvcihwcm9jZXNzb3I6IElDbGlDb21tYW5kUHJvY2Vzc29yKTogdm9pZDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBjb250ZXh0IGluIHdoaWNoIGEgY29tbWFuZCBpcyBleGVjdXRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlFeGVjdXRpb25Db250ZXh0IHtcbiAgICAvKipcbiAgICAgKiBUaGUgY3VycmVudCB1c2VyIHNlc3Npb25cbiAgICAgKi9cbiAgICB1c2VyU2Vzc2lvbj86IElDbGlVc2VyU2Vzc2lvbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBzcGlubmVyIHRvIHVzZSBmb3Igc2hvd2luZy9oaWRpbmcgdGhlIGxvYWRlclxuICAgICAqL1xuICAgIHNwaW5uZXI/OiBJQ2xpU3Bpbm5lcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcm9ncmVzcyBiYXIgdG8gdXNlIGZvciBzaG93aW5nIHByb2dyZXNzXG4gICAgICovXG4gICAgcHJvZ3Jlc3NCYXI6IElDbGlQZXJjZW50YWdlUHJvZ3Jlc3NCYXI7XG5cbiAgICAvKipcbiAgICAgKiBBIHN1YmplY3QgdGhhdCBlbWl0cyB3aGVuIHRoZSBjb21tYW5kIGlzIGFib3J0ZWRcbiAgICAgKi9cbiAgICBvbkFib3J0OiBTdWJqZWN0PHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICogVGhlIHRlcm1pbmFsIHRvIHVzZSBmb3Igd3JpdGluZ1xuICAgICAqL1xuICAgIHRlcm1pbmFsOiBUZXJtaW5hbDtcblxuICAgIC8qKlxuICAgICAqIFRoZSB3cml0ZXIgdG8gdXNlIGZvciB3cml0aW5nIHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqL1xuICAgIHdyaXRlcjogSUNsaVRlcm1pbmFsV3JpdGVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNvbW1hbmQgZXhlY3V0b3IgdG8gdXNlIGZvciBleGVjdXRpbmcgY29tbWFuZHNcbiAgICAgKi9cbiAgICBleGVjdXRvcjogSUNsaUNvbW1hbmRFeGVjdXRvclNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2xpcGJvYXJkIHRvIHVzZSBmb3IgY29weWluZy9wYXN0aW5nXG4gICAgICovXG4gICAgY2xpcGJvYXJkOiBJQ2xpQ2xpcGJvYXJkO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgc3RvcmUgdG8gdXNlIGZvciBzdG9yaW5nIGRhdGFcbiAgICAgKi9cbiAgICBkYXRhU3RvcmU6IElDbGlDb21tYW5kRGF0YVN0b3JlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG9wdGlvbnMgZm9yIHRoZSBDTElcbiAgICAgKi9cbiAgICBvcHRpb25zPzogQ2xpT3B0aW9ucztcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcm9tcHQgdG8gdXNlIGZvciBwcm9tcHRpbmcgdGhlIHVzZXIgZm9yIGlucHV0XG4gICAgICovXG4gICAgc2hvd1Byb21wdDogKCkgPT4gdm9pZDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZGF0YSBzdG9yZSBmb3Igc3RvcmluZyBkYXRhIGFzc29jaWF0ZWQgd2l0aCBjb21tYW5kc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kRGF0YVN0b3JlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBzdG9yZVxuICAgICAqL1xuICAgIGRhdGE6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGFueT4+O1xuXG4gICAgLyoqXG4gICAgICogQXBwZW5kIGRhdGEgdG8gdGhlIGRhdGEgc3RvcmVcbiAgICAgKiBAcGFyYW0gY29tbWFuZFxuICAgICAqIEBwYXJhbSBrZXlcbiAgICAgKiBAcGFyYW0gZGF0YVxuICAgICAqL1xuICAgIGFwcGVuZERhdGEoY29tbWFuZDogc3RyaW5nLCBrZXk6IHN0cmluZywgZGF0YTogYW55KTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIEdldCBkYXRhIGZyb20gdGhlIGRhdGEgc3RvcmVcbiAgICAgKiBAcGFyYW0gY29tbWFuZFxuICAgICAqIEBwYXJhbSBrZXlcbiAgICAgKi9cbiAgICBnZXREYXRhPFQgPSBhbnk+KGNvbW1hbmQ6IHN0cmluZywga2V5OiBzdHJpbmcpOiBUO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzZXJ2aWNlIHRoYXQgbWFuYWdlcyB1c2VyIHNlc3Npb25zIGluIHRoZSBDTElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpVXNlclNlc3Npb25TZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBjdXJyZW50IHVzZXIgc2Vzc2lvblxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgY3VycmVudCB1c2VyIHNlc3Npb25cbiAgICAgKi9cbiAgICBnZXRVc2VyU2Vzc2lvbigpOiBPYnNlcnZhYmxlPElDbGlVc2VyU2Vzc2lvbiB8IHVuZGVmaW5lZD47XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBjdXJyZW50IHVzZXIgc2Vzc2lvblxuICAgICAqIEBwYXJhbSBzZXNzaW9uIFRoZSBzZXNzaW9uIHRvIHNldFxuICAgICAqL1xuICAgIHNldFVzZXJTZXNzaW9uKHNlc3Npb246IElDbGlVc2VyU2Vzc2lvbik6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNlcnZpY2UgdGhhdCBtYW5hZ2VzIHVzZXJzIGluIHRoZSBDTElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpVXNlcnNTdG9yZVNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGN1cnJlbnQgdXNlcnNcbiAgICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGN1cnJlbnQgdXNlcnNcbiAgICAgKi9cbiAgICBnZXRVc2VycygpOiBPYnNlcnZhYmxlPElDbGlVc2VyW10+O1xuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY3VycmVudCB1c2Vyc1xuICAgICAqIEBwYXJhbSB1c2VycyBUaGUgdXNlcnMgdG8gc2V0XG4gICAgICovXG4gICAgc2V0VXNlcnModXNlcnM6IElDbGlVc2VyW10pOiBQcm9taXNlPHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIHVzZXIgYnkgaWRcbiAgICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSB1c2VyIHRvIGdldFxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgdXNlciB3aXRoIHRoZSBzcGVjaWZpZWQgaWRcbiAgICAgKi9cbiAgICBnZXRVc2VyKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElDbGlVc2VyIHwgdW5kZWZpbmVkPjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2VydmljZSB0aGF0IHBpbmdzIHRoZSBzZXJ2ZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpUGluZ1NlcnZlclNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIFBpbmdzIHRoZSBzZXJ2ZXJcbiAgICAgKi9cbiAgICBwaW5nKCk6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1vZHVsZSBmb3IgdGhlIENMSVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlVbWRNb2R1bGUge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGVcbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcHJvY2Vzc29ycyBmb3IgdGhlIG1vZHVsZVxuICAgICAqL1xuICAgIHByb2Nlc3NvcnM6IElDbGlDb21tYW5kUHJvY2Vzc29yW107XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVybWluYWwgfSBmcm9tICdAeHRlcm0veHRlcm0nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBDbGlCYWNrZ3JvdW5kQ29sb3IsXG4gICAgQ2xpRm9yZWdyb3VuZENvbG9yLFxuICAgIENsaU9wdGlvbnMsXG4gICAgQ2xpUHJvY2Vzc0NvbW1hbmQsXG4gICAgQ2xpUHJvY2Vzc29yTWV0YWRhdGEsXG4gICAgSUNsaVVzZXIsXG4gICAgSUNsaVVzZXJTZXNzaW9uLFxuICAgIFBhY2thZ2UsXG59IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaUNvbW1hbmRBdXRob3Ige1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBhdXRob3JcbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZW1haWwgb2YgdGhlIGF1dGhvclxuICAgICAqL1xuICAgIGVtYWlsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbW1hbmQgcHJvY2Vzc29yXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaUNvbW1hbmRQcm9jZXNzb3Ige1xuICAgIC8qKlxuICAgICAqIFRoZSBjb21tYW5kIHRoYXQgdGhpcyBwcm9jZXNzb3IgaGFuZGxlc1xuICAgICAqL1xuICAgIGNvbW1hbmQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIGNvbW1hbmRcbiAgICAgKi9cbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBhdXRob3Igb2YgdGhlIGNvbW1hbmRcbiAgICAgKi9cbiAgICBhdXRob3I/OiBJQ2xpQ29tbWFuZEF1dGhvcjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSBwcm9jZXNzb3IgY2FuIGhhbmRsZSB1bmxpc3RlZCBjb21tYW5kc1xuICAgICAqL1xuICAgIGFsbG93VW5saXN0ZWRDb21tYW5kcz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgdmFsdWUgaXMgcmVxdWlyZWRcbiAgICAgKi9cbiAgICB2YWx1ZVJlcXVpcmVkPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEBkZWZhdWx0ICcxLjAuMCdcbiAgICAgKi9cbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1ldGFkYXRhIGZvciB0aGUgY29tbWFuZCBwcm9jZXNzb3JcbiAgICAgKi9cbiAgICBtZXRhZGF0YT86IENsaVByb2Nlc3Nvck1ldGFkYXRhO1xuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc29ycyB0aGF0IGFyZSBuZXN0ZWQgdW5kZXIgdGhpcyBwcm9jZXNzb3JcbiAgICAgKi9cbiAgICBwcm9jZXNzb3JzPzogSUNsaUNvbW1hbmRQcm9jZXNzb3JbXTtcblxuICAgIC8qKlxuICAgICAqIFBhcmFtZXRlcnMgdGhhdCB0aGUgY29tbWFuZCBhY2NlcHRzXG4gICAgICovXG4gICAgcGFyYW1ldGVycz86IElDbGlDb21tYW5kUGFyYW1ldGVyRGVzY3JpcHRvcltdO1xuXG4gICAgLyoqXG4gICAgICogUHJvY2VzcyB0aGUgY29tbWFuZFxuICAgICAqIEBwYXJhbSBjb21tYW5kIFRoZSBjb21tYW5kIHRvIHByb2Nlc3NcbiAgICAgKiBAcGFyYW0gY29udGV4dCBUaGUgY29udGV4dCBpbiB3aGljaCB0aGUgY29tbWFuZCBpcyBleGVjdXRlZFxuICAgICAqL1xuICAgIHByb2Nlc3NDb21tYW5kKFxuICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgKTogUHJvbWlzZTx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgY29tbWFuZFxuICAgICAqIEBwYXJhbSBjb250ZXh0IFRoZSBjb250ZXh0IGluIHdoaWNoIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkXG4gICAgICovXG4gICAgd3JpdGVEZXNjcmlwdGlvbj8oY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQSBmdW5jdGlvbiB0aGF0IHZhbGlkYXRlcyB0aGUgY29tbWFuZCBiZWZvcmUgZXhlY3V0aW9uXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byB2YWxpZGF0ZVxuICAgICAqIEByZXR1cm5zIEFuIG9iamVjdCB3aXRoIGEgdmFsaWQgcHJvcGVydHkgdGhhdCBpbmRpY2F0ZXMgaWYgdGhlIHZhbHVlIGlzIHZhbGlkIGFuZCBhbiBvcHRpb25hbCBtZXNzYWdlIHByb3BlcnR5IHRoYXQgY29udGFpbnMgYSBtZXNzYWdlIHRvIGRpc3BsYXkgaWYgdGhlIHZhbHVlIGlzIG5vdCB2YWxpZFxuICAgICAqL1xuICAgIHZhbGlkYXRlQmVmb3JlRXhlY3V0aW9uPzogKFxuICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgKSA9PiB7XG4gICAgICAgIHZhbGlkOiBib29sZWFuO1xuICAgICAgICBtZXNzYWdlPzogc3RyaW5nO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplIHRoZSBjb21tYW5kIHByb2Nlc3NvclxuICAgICAqIEBwYXJhbSBjb250ZXh0IFRoZSBjb250ZXh0IGluIHdoaWNoIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkXG4gICAgICovXG4gICAgaW5pdGlhbGl6ZT8oY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb21tYW5kIHBhcmFtZXRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kUGFyYW1ldGVyRGVzY3JpcHRvciB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlclxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEFsaWFzZXMgZm9yIHRoZSBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBhbGlhc2VzPzogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgdGhlIHBhcmFtZXRlciBpcyByZXF1aXJlZFxuICAgICAqL1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdGhlIHBhcmFtZXRlclxuICAgICAqL1xuICAgIHR5cGU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBkZWZhdWx0VmFsdWU/OiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBBIHZhbGlkYXRvciBmdW5jdGlvbiB0aGF0IHZhbGlkYXRlcyB0aGUgdmFsdWUgb2YgdGhlIHBhcmFtZXRlclxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gdmFsaWRhdGVcbiAgICAgKiBAcmV0dXJucyBBbiBvYmplY3Qgd2l0aCBhIHZhbGlkIHByb3BlcnR5IHRoYXQgaW5kaWNhdGVzIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZCBhbmQgYW4gb3B0aW9uYWwgbWVzc2FnZSBwcm9wZXJ0eSB0aGF0IGNvbnRhaW5zIGEgbWVzc2FnZSB0byBkaXNwbGF5IGlmIHRoZSB2YWx1ZSBpcyBub3QgdmFsaWRcbiAgICAgKi9cbiAgICB2YWxpZGF0b3I/OiAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogSW5kaWNhdGVzIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZFxuICAgICAgICAgKi9cbiAgICAgICAgdmFsaWQ6IGJvb2xlYW47XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEFuIG9wdGlvbmFsIG1lc3NhZ2UgdG8gZGlzcGxheSBpZiB0aGUgdmFsdWUgaXMgbm90IHZhbGlkXG4gICAgICAgICAqL1xuICAgICAgICBtZXNzYWdlPzogc3RyaW5nO1xuICAgIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaVRlcm1pbmFsV3JpdGVyIHtcbiAgICAvKipcbiAgICAgKiBXcml0ZSB0ZXh0IHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqIEBwYXJhbSB0ZXh0IFRoZSB0ZXh0IHRvIHdyaXRlXG4gICAgICovXG4gICAgd3JpdGUodGV4dDogc3RyaW5nKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIHRleHQgdG8gdGhlIHRlcm1pbmFsIGZvbGxvd2VkIGJ5IGEgbmV3bGluZVxuICAgICAqIEBwYXJhbSB0ZXh0IFRoZSB0ZXh0IHRvIHdyaXRlXG4gICAgICovXG4gICAgd3JpdGVsbih0ZXh0OiBzdHJpbmcpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgYSBzdWNjZXNzIG1lc3NhZ2UgdG8gdGhlIHRlcm1pbmFsXG4gICAgICogQHBhcmFtIG1lc3NhZyBUaGUgbWVzc2FnZSB0byB3cml0ZVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICB3cml0ZVN1Y2Nlc3M6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZSBhbiBpbmZvIG1lc3NhZ2UgdG8gdGhlIHRlcm1pbmFsXG4gICAgICogQHBhcmFtIG1lc3NhZyBUaGUgbWVzc2FnZSB0byB3cml0ZVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICB3cml0ZUluZm86IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZSBhbiBlcnJvciBtZXNzYWdlIHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIHdyaXRlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyaXRlRXJyb3I6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZSBhIHdhcm5pbmcgbWVzc2FnZSB0byB0aGUgdGVybWluYWxcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byB3cml0ZVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICB3cml0ZVdhcm5pbmc6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZSBhIG1lc3NhZ2UgdG8gdGhlIHRlcm1pbmFsIHdpdGggdGhlIHNwZWNpZmllZCBjb2xvclxuICAgICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIHdyaXRlXG4gICAgICogQHBhcmFtIGNvbG9yIFRoZSBjb2xvciB0byB1c2VcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JhcEluQ29sb3I6ICh0ZXh0OiBzdHJpbmcsIGNvbG9yOiBDbGlGb3JlZ3JvdW5kQ29sb3IpID0+IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFdyaXRlIGEgbWVzc2FnZSB0byB0aGUgdGVybWluYWwgd2l0aCB0aGUgc3BlY2lmaWVkIGJhY2tncm91bmQgY29sb3JcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byB3cml0ZVxuICAgICAqIEBwYXJhbSBjb2xvciBUaGUgYmFja2dyb3VuZCBjb2xvciB0byB1c2VcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JhcEluQmFja2dyb3VuZENvbG9yOiAodGV4dDogc3RyaW5nLCBjb2xvcjogQ2xpQmFja2dyb3VuZENvbG9yKSA9PiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZSBhIEpTT04gb2JqZWN0IHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqIEBwYXJhbSBqc29uIFRoZSBKU09OIG9iamVjdCB0byB3cml0ZVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICB3cml0ZUpzb246IChqc29uOiBhbnkpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZSBjb250ZW50IHRvIGEgZmlsZVxuICAgICAqIEBwYXJhbSBmaWxlTmFtZSBUaGUgbmFtZSBvZiB0aGUgZmlsZSB0byB3cml0ZSB0b1xuICAgICAqIEBwYXJhbSBjb250ZW50IFRoZSBjb250ZW50IHRvIHdyaXRlIHRvIHRoZSBmaWxlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyaXRlVG9GaWxlOiAoZmlsZU5hbWU6IHN0cmluZywgY29udGVudDogc3RyaW5nKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgYW4gb2JqZWN0IGFycmF5IGFzIGEgdGFibGUgdG8gdGhlIHRlcm1pbmFsXG4gICAgICogQHBhcmFtIG9iamVjdHMgVGhlIG9iamVjdHMgdG8gd3JpdGUgdG8gdGhlIHRhYmxlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHdyaXRlT2JqZWN0c0FzVGFibGUob2JqZWN0czogYW55W10pOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgYSB0YWJsZSB0byB0aGUgdGVybWluYWxcbiAgICAgKiBAcGFyYW0gaGVhZGVycyBUaGUgaGVhZGVycyBvZiB0aGUgdGFibGVcbiAgICAgKiBAcGFyYW0gcm93cyBUaGUgcm93cyBvZiB0aGUgdGFibGVcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGVUYWJsZShoZWFkZXJzOiBzdHJpbmdbXSwgcm93czogc3RyaW5nW11bXSk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaVByb2dyZXNzQmFyIHtcbiAgICAvKipcbiAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIHByb2dyZXNzIGJhciBpcyBydW5uaW5nXG4gICAgICovXG4gICAgaXNSdW5uaW5nOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgcHJvZ3Jlc3MgYmFyXG4gICAgICovXG4gICAgc2hvdzogKCkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIHByb2dyZXNzIGJhclxuICAgICAqL1xuICAgIGhpZGU6ICgpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNwaW5uZXIgZm9yIHRoZSBDTElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpU3Bpbm5lciBleHRlbmRzIElDbGlQcm9ncmVzc0JhciB7XG4gICAgLyoqXG4gICAgICogU2V0IHRoZSB0ZXh0IG9mIHRoZSBzcGlubmVyXG4gICAgICogQHBhcmFtIHRleHQgVGhlIHRleHQgdG8gc2V0XG4gICAgICovXG4gICAgc2V0VGV4dDogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgQ2xpUGVyY2VudGFnZVByb2dyZXNzQmFyVXBkYXRlVmFsdWVPcHRpb25zID0ge1xuICAgIC8qKlxuICAgICAqIFRoZSB0eXBlIG9mIHVwZGF0ZSB0byBwZXJmb3JtXG4gICAgICogQGRlZmF1bHQgJ3JlcGxhY2UnXG4gICAgICovXG4gICAgdHlwZT86ICdyZXBsYWNlJyB8ICdpbmNyZW1lbnQnO1xufTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcHJvZ3Jlc3MgYmFyIGZvciB0aGUgQ0xJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaVBlcmNlbnRhZ2VQcm9ncmVzc0JhciBleHRlbmRzIElDbGlQcm9ncmVzc0JhciB7XG4gICAgLyoqXG4gICAgICogVXBkYXRlIHRoZSBwcm9ncmVzcyBvZiB0aGUgcHJvZ3Jlc3MgYmFyXG4gICAgICogQHBhcmFtIHByb2dyZXNzIFRoZSBwcm9ncmVzcyB0byB1cGRhdGUgdG9cbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgdXBkYXRlOiAoXG4gICAgICAgIHByb2dyZXNzOiBudW1iZXIsXG4gICAgICAgIG9wdGlvbnM/OiBDbGlQZXJjZW50YWdlUHJvZ3Jlc3NCYXJVcGRhdGVWYWx1ZU9wdGlvbnMsXG4gICAgKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQ29tcGxldGUgdGhlIHByb2dyZXNzIGJhclxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICBjb21wbGV0ZTogKCkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgdGV4dCBvZiB0aGUgc3Bpbm5lclxuICAgICAqIEBwYXJhbSB0ZXh0IFRoZSB0ZXh0IHRvIHNldFxuICAgICAqL1xuICAgIHNldFRleHQ6ICh0ZXh0OiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNsaXBib2FyZCBmb3IgdGhlIENMSVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDbGlwYm9hcmQge1xuICAgIC8qKlxuICAgICAqIFdyaXRlIHRleHQgdG8gdGhlIGNsaXBib2FyZFxuICAgICAqIEBwYXJhbSB0ZXh0IFRoZSB0ZXh0IHRvIHdyaXRlIHRvIHRoZSBjbGlwYm9hcmRcbiAgICAgKiBAcmV0dXJucyB2b2lkXG4gICAgICovXG4gICAgd3JpdGU6ICh0ZXh0OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiBSZWFkIHRleHQgZnJvbSB0aGUgY2xpcGJvYXJkXG4gICAgICogQHJldHVybnMgVGhlIHRleHQgcmVhZCBmcm9tIHRoZSBjbGlwYm9hcmRcbiAgICAgKi9cbiAgICByZWFkOiAoKSA9PiBQcm9taXNlPHN0cmluZz47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNlcnZpY2UgdGhhdCBleGVjdXRlcyBjb21tYW5kc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kRXhlY3V0b3JTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb21tYW5kXG4gICAgICogQHBhcmFtIGNvbnRleHRcbiAgICAgKi9cbiAgICBzaG93SGVscChcbiAgICAgICAgY29tbWFuZDogQ2xpUHJvY2Vzc0NvbW1hbmQsXG4gICAgICAgIGNvbnRleHQ6IElDbGlFeGVjdXRpb25Db250ZXh0LFxuICAgICk6IFByb21pc2U8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiBMaXN0IGFsbCBjb21tYW5kc1xuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGFsbCBjb21tYW5kc1xuICAgICAqL1xuICAgIGxpc3RDb21tYW5kcygpOiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEZpbmQgYSBwcm9jZXNzb3IgZm9yIGEgY29tbWFuZFxuICAgICAqIEBwYXJhbSBtYWluQ29tbWFuZFxuICAgICAqIEBwYXJhbSBjaGFpbkNvbW1hbmRzXG4gICAgICovXG4gICAgZmluZFByb2Nlc3NvcihcbiAgICAgICAgbWFpbkNvbW1hbmQ6IHN0cmluZyxcbiAgICAgICAgY2hhaW5Db21tYW5kczogc3RyaW5nW10sXG4gICAgKTogSUNsaUNvbW1hbmRQcm9jZXNzb3IgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciBhIHByb2Nlc3NvclxuICAgICAqIEBwYXJhbSBwcm9jZXNzb3JcbiAgICAgKi9cbiAgICByZWdpc3RlclByb2Nlc3Nvcihwcm9jZXNzb3I6IElDbGlDb21tYW5kUHJvY2Vzc29yKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFVucmVnaXN0ZXIgYSBwcm9jZXNzb3JcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc29yXG4gICAgICovXG4gICAgdW5yZWdpc3RlclByb2Nlc3Nvcihwcm9jZXNzb3I6IElDbGlDb21tYW5kUHJvY2Vzc29yKTogdm9pZDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBjb250ZXh0IGluIHdoaWNoIGEgY29tbWFuZCBpcyBleGVjdXRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlFeGVjdXRpb25Db250ZXh0IHtcbiAgICAvKipcbiAgICAgKiBUaGUgY3VycmVudCB1c2VyIHNlc3Npb25cbiAgICAgKi9cbiAgICB1c2VyU2Vzc2lvbj86IElDbGlVc2VyU2Vzc2lvbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBzcGlubmVyIHRvIHVzZSBmb3Igc2hvd2luZy9oaWRpbmcgdGhlIGxvYWRlclxuICAgICAqL1xuICAgIHNwaW5uZXI/OiBJQ2xpU3Bpbm5lcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcm9ncmVzcyBiYXIgdG8gdXNlIGZvciBzaG93aW5nIHByb2dyZXNzXG4gICAgICovXG4gICAgcHJvZ3Jlc3NCYXI6IElDbGlQZXJjZW50YWdlUHJvZ3Jlc3NCYXI7XG5cbiAgICAvKipcbiAgICAgKiBBIHN1YmplY3QgdGhhdCBlbWl0cyB3aGVuIHRoZSBjb21tYW5kIGlzIGFib3J0ZWRcbiAgICAgKi9cbiAgICBvbkFib3J0OiBTdWJqZWN0PHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICogVGhlIHRlcm1pbmFsIHRvIHVzZSBmb3Igd3JpdGluZ1xuICAgICAqL1xuICAgIHRlcm1pbmFsOiBUZXJtaW5hbDtcblxuICAgIC8qKlxuICAgICAqIFRoZSB3cml0ZXIgdG8gdXNlIGZvciB3cml0aW5nIHRvIHRoZSB0ZXJtaW5hbFxuICAgICAqL1xuICAgIHdyaXRlcjogSUNsaVRlcm1pbmFsV3JpdGVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNvbW1hbmQgZXhlY3V0b3IgdG8gdXNlIGZvciBleGVjdXRpbmcgY29tbWFuZHNcbiAgICAgKi9cbiAgICBleGVjdXRvcjogSUNsaUNvbW1hbmRFeGVjdXRvclNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2xpcGJvYXJkIHRvIHVzZSBmb3IgY29weWluZy9wYXN0aW5nXG4gICAgICovXG4gICAgY2xpcGJvYXJkOiBJQ2xpQ2xpcGJvYXJkO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgc3RvcmUgdG8gdXNlIGZvciBzdG9yaW5nIGRhdGFcbiAgICAgKi9cbiAgICBkYXRhU3RvcmU6IElDbGlDb21tYW5kRGF0YVN0b3JlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG9wdGlvbnMgZm9yIHRoZSBDTElcbiAgICAgKi9cbiAgICBvcHRpb25zPzogQ2xpT3B0aW9ucztcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcm9tcHQgdG8gdXNlIGZvciBwcm9tcHRpbmcgdGhlIHVzZXIgZm9yIGlucHV0XG4gICAgICovXG4gICAgc2hvd1Byb21wdDogKCkgPT4gdm9pZDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZGF0YSBzdG9yZSBmb3Igc3RvcmluZyBkYXRhIGFzc29jaWF0ZWQgd2l0aCBjb21tYW5kc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlDb21tYW5kRGF0YVN0b3JlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBzdG9yZVxuICAgICAqL1xuICAgIGRhdGE6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGFueT4+O1xuXG4gICAgLyoqXG4gICAgICogQXBwZW5kIGRhdGEgdG8gdGhlIGRhdGEgc3RvcmVcbiAgICAgKiBAcGFyYW0gY29tbWFuZFxuICAgICAqIEBwYXJhbSBrZXlcbiAgICAgKiBAcGFyYW0gZGF0YVxuICAgICAqL1xuICAgIGFwcGVuZERhdGEoY29tbWFuZDogc3RyaW5nLCBrZXk6IHN0cmluZywgZGF0YTogYW55KTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIEdldCBkYXRhIGZyb20gdGhlIGRhdGEgc3RvcmVcbiAgICAgKiBAcGFyYW0gY29tbWFuZFxuICAgICAqIEBwYXJhbSBrZXlcbiAgICAgKi9cbiAgICBnZXREYXRhPFQgPSBhbnk+KGNvbW1hbmQ6IHN0cmluZywga2V5OiBzdHJpbmcpOiBUO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzZXJ2aWNlIHRoYXQgbWFuYWdlcyB1c2VyIHNlc3Npb25zIGluIHRoZSBDTElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpVXNlclNlc3Npb25TZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBjdXJyZW50IHVzZXIgc2Vzc2lvblxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgY3VycmVudCB1c2VyIHNlc3Npb25cbiAgICAgKi9cbiAgICBnZXRVc2VyU2Vzc2lvbigpOiBPYnNlcnZhYmxlPElDbGlVc2VyU2Vzc2lvbiB8IHVuZGVmaW5lZD47XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBjdXJyZW50IHVzZXIgc2Vzc2lvblxuICAgICAqIEBwYXJhbSBzZXNzaW9uIFRoZSBzZXNzaW9uIHRvIHNldFxuICAgICAqL1xuICAgIHNldFVzZXJTZXNzaW9uKHNlc3Npb246IElDbGlVc2VyU2Vzc2lvbik6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNlcnZpY2UgdGhhdCBtYW5hZ2VzIHVzZXJzIGluIHRoZSBDTElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpVXNlcnNTdG9yZVNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGN1cnJlbnQgdXNlcnNcbiAgICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGN1cnJlbnQgdXNlcnNcbiAgICAgKi9cbiAgICBnZXRVc2VycyhvcHRpb25zPzoge1xuICAgICAgICBxdWVyeT86IHN0cmluZztcbiAgICAgICAgc2tpcD86IG51bWJlcjtcbiAgICAgICAgdGFrZT86IG51bWJlcjtcbiAgICB9KTogT2JzZXJ2YWJsZTxJQ2xpVXNlcltdPjtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSB1c2VyXG4gICAgICogQHBhcmFtIHVzZXIgVGhlIHVzZXIgdG8gY3JlYXRlXG4gICAgICovXG4gICAgY3JlYXRlVXNlcih1c2VyOiBPbWl0PElDbGlVc2VyLCAnaWQnPik6IFByb21pc2U8SUNsaVVzZXI+O1xuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIHVzZXIgYnkgaWRcbiAgICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSB1c2VyIHRvIGdldFxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgdXNlciB3aXRoIHRoZSBzcGVjaWZpZWQgaWRcbiAgICAgKi9cbiAgICBnZXRVc2VyKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElDbGlVc2VyIHwgdW5kZWZpbmVkPjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2VydmljZSB0aGF0IHBpbmdzIHRoZSBzZXJ2ZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpUGluZ1NlcnZlclNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIFBpbmdzIHRoZSBzZXJ2ZXJcbiAgICAgKi9cbiAgICBwaW5nKCk6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1vZHVsZSBmb3IgdGhlIENMSVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlVbWRNb2R1bGUge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGVcbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcHJvY2Vzc29ycyBmb3IgdGhlIG1vZHVsZVxuICAgICAqL1xuICAgIHByb2Nlc3NvcnM6IElDbGlDb21tYW5kUHJvY2Vzc29yW107XG59XG4iXX0=
@@ -21,4 +21,16 @@ export var CliBackgroundColor;
21
21
  CliBackgroundColor["Cyan"] = "\u001B[46m";
22
22
  CliBackgroundColor["White"] = "\u001B[47m";
23
23
  })(CliBackgroundColor || (CliBackgroundColor = {}));
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZCQSxNQUFNLENBQU4sSUFBWSxrQkFVWDtBQVZELFdBQVksa0JBQWtCO0lBQzFCLDBDQUFrQixDQUFBO0lBQ2xCLHdDQUFnQixDQUFBO0lBQ2hCLDBDQUFrQixDQUFBO0lBQ2xCLDJDQUFtQixDQUFBO0lBQ25CLHlDQUFpQixDQUFBO0lBQ2pCLDRDQUFvQixDQUFBO0lBQ3BCLHlDQUFpQixDQUFBO0lBQ2pCLDBDQUFrQixDQUFBO0lBQ2xCLHlDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFWVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBVTdCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBU1g7QUFURCxXQUFZLGtCQUFrQjtJQUMxQiwwQ0FBa0IsQ0FBQTtJQUNsQix3Q0FBZ0IsQ0FBQTtJQUNoQiwwQ0FBa0IsQ0FBQTtJQUNsQiwyQ0FBbUIsQ0FBQTtJQUNuQix5Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBb0IsQ0FBQTtJQUNwQix5Q0FBaUIsQ0FBQTtJQUNqQiwwQ0FBa0IsQ0FBQTtBQUN0QixDQUFDLEVBVFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQVM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUZXJtaW5hbEluaXRPbmx5T3B0aW9ucywgSVRlcm1pbmFsT3B0aW9ucyB9IGZyb20gJ0B4dGVybS94dGVybSc7XG5cbmV4cG9ydCB0eXBlIENsaVByb2Nlc3NDb21tYW5kID0ge1xuICAgIC8qKlxuICAgICAqIFRoZSBjb21tYW5kIHRoYXQgd2FzIGVudGVyZWRcbiAgICAgKi9cbiAgICBjb21tYW5kOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2hhaW4gb2YgY29tbWFuZHMgdGhhdCB3ZXJlIGVudGVyZWRcbiAgICAgKi9cbiAgICBjaGFpbkNvbW1hbmRzOiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIFRoZSByYXcgY29tbWFuZCB0aGF0IHdhcyBlbnRlcmVkXG4gICAgICovXG4gICAgcmF3Q29tbWFuZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIG9mIHRoZSBjb21tYW5kXG4gICAgICovXG4gICAgdmFsdWU/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYXJndW1lbnRzIHRoYXQgd2VyZSBlbnRlcmVkXG4gICAgICovXG4gICAgYXJnczogUmVjb3JkPHN0cmluZywgYW55Pjtcbn07XG5cbmV4cG9ydCBlbnVtIENsaUZvcmVncm91bmRDb2xvciB7XG4gICAgQmxhY2sgPSAnXFx4MWJbMzBtJyxcbiAgICBSZWQgPSAnXFx4MWJbMzFtJyxcbiAgICBHcmVlbiA9ICdcXHgxYlszMm0nLFxuICAgIFllbGxvdyA9ICdcXHgxYlszM20nLFxuICAgIEJsdWUgPSAnXFx4MWJbMzRtJyxcbiAgICBNYWdlbnRhID0gJ1xceDFiWzM1bScsXG4gICAgQ3lhbiA9ICdcXHgxYlszNm0nLFxuICAgIFdoaXRlID0gJ1xceDFiWzM3bScsXG4gICAgUmVzZXQgPSAnXFx4MWJbMG0nLFxufVxuXG5leHBvcnQgZW51bSBDbGlCYWNrZ3JvdW5kQ29sb3Ige1xuICAgIEJsYWNrID0gJ1xceDFiWzQwbScsXG4gICAgUmVkID0gJ1xceDFiWzQxbScsXG4gICAgR3JlZW4gPSAnXFx4MWJbNDJtJyxcbiAgICBZZWxsb3cgPSAnXFx4MWJbNDNtJyxcbiAgICBCbHVlID0gJ1xceDFiWzQ0bScsXG4gICAgTWFnZW50YSA9ICdcXHgxYls0NW0nLFxuICAgIEN5YW4gPSAnXFx4MWJbNDZtJyxcbiAgICBXaGl0ZSA9ICdcXHgxYls0N20nLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDbGlVc2VyIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgLyoqXG4gICAgICogVGhlIGlkIG9mIHRoZSB1c2VyXG4gICAgICovXG4gICAgaWQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSB1c2VyXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGVtYWlsIG9mIHRoZSB1c2VyXG4gICAgICovXG4gICAgZW1haWw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2xpVXNlclNlc3Npb24ge1xuICAgIC8qKlxuICAgICAqIFRoZSB1c2VyIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2Vzc2lvblxuICAgICAqL1xuICAgIHVzZXI6IElDbGlVc2VyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoZSB1c2VyIHNlc3Npb25cbiAgICAgKi9cbiAgICBkYXRhPzogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgQ0xJXG4gKi9cbmV4cG9ydCB0eXBlIENsaU9wdGlvbnMgPSB7XG4gICAgLyoqXG4gICAgICogVGhlIHdlbGNvbWUgbWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gdGhlIENMSSBzdGFydHNcbiAgICAgKi9cbiAgICB3ZWxjb21lTWVzc2FnZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIHByb21wdCB0byBkaXNwbGF5IHdoZW4gdGhlIENMSSBpcyByZWFkeSB0byBhY2NlcHQgaW5wdXRcbiAgICAgKi9cbiAgICBoaWRlVXNlck5hbWU/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHRlcm1pbmFsIG9wdGlvbnNcbiAgICAgKi9cbiAgICB0ZXJtaW5hbE9wdGlvbnM/OiBJVGVybWluYWxPcHRpb25zICYgSVRlcm1pbmFsSW5pdE9ubHlPcHRpb25zO1xufTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcGFja2FnZSB0aGF0IGNhbiBiZSBpbnN0YWxsZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWNrYWdlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcGFja2FnZVxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBnbG9iYWwgbmFtZSB1c2VkIHRvIGFjY2VzcyB0aGUgcGFja2FnZVxuICAgICAqL1xuICAgIGdsb2JhbE5hbWU/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgcGFja2FnZVxuICAgICAqL1xuICAgIHZlcnNpb246IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSB1bnBrZyB1cmwgdG8gdGhlIHBhY2thZ2VcbiAgICAgKi9cbiAgICB1cmw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBkZXBlbmRlbmNpZXMgZm9yIHRoZSBtb2R1bGVcbiAgICAgKi9cbiAgICBkZXBlbmRlbmNpZXM/OiBQYWNrYWdlW107XG59XG4iXX0=
24
+ export var CliIcon;
25
+ (function (CliIcon) {
26
+ CliIcon["CheckIcon"] = "\u2714";
27
+ CliIcon["CrossIcon"] = "\u2718";
28
+ CliIcon["InfoIcon"] = "\u2139";
29
+ CliIcon["WarningIcon"] = "\u26A0";
30
+ })(CliIcon || (CliIcon = {}));
31
+ export const enums = {
32
+ CliForegroundColor,
33
+ CliBackgroundColor,
34
+ CliIcon,
35
+ };
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZCQSxNQUFNLENBQU4sSUFBWSxrQkFVWDtBQVZELFdBQVksa0JBQWtCO0lBQzFCLDBDQUFrQixDQUFBO0lBQ2xCLHdDQUFnQixDQUFBO0lBQ2hCLDBDQUFrQixDQUFBO0lBQ2xCLDJDQUFtQixDQUFBO0lBQ25CLHlDQUFpQixDQUFBO0lBQ2pCLDRDQUFvQixDQUFBO0lBQ3BCLHlDQUFpQixDQUFBO0lBQ2pCLDBDQUFrQixDQUFBO0lBQ2xCLHlDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFWVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBVTdCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBU1g7QUFURCxXQUFZLGtCQUFrQjtJQUMxQiwwQ0FBa0IsQ0FBQTtJQUNsQix3Q0FBZ0IsQ0FBQTtJQUNoQiwwQ0FBa0IsQ0FBQTtJQUNsQiwyQ0FBbUIsQ0FBQTtJQUNuQix5Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBb0IsQ0FBQTtJQUNwQix5Q0FBaUIsQ0FBQTtJQUNqQiwwQ0FBa0IsQ0FBQTtBQUN0QixDQUFDLEVBVFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQVM3QjtBQUVELE1BQU0sQ0FBTixJQUFZLE9BS1g7QUFMRCxXQUFZLE9BQU87SUFDZiwrQkFBZSxDQUFBO0lBQ2YsK0JBQWUsQ0FBQTtJQUNmLDhCQUFjLENBQUE7SUFDZCxpQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsT0FBTyxLQUFQLE9BQU8sUUFLbEI7QUEySEQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ2pCLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsT0FBTztDQUNWLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVGVybWluYWxJbml0T25seU9wdGlvbnMsIElUZXJtaW5hbE9wdGlvbnMgfSBmcm9tICdAeHRlcm0veHRlcm0nO1xuXG5leHBvcnQgdHlwZSBDbGlQcm9jZXNzQ29tbWFuZCA9IHtcbiAgICAvKipcbiAgICAgKiBUaGUgY29tbWFuZCB0aGF0IHdhcyBlbnRlcmVkXG4gICAgICovXG4gICAgY29tbWFuZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNoYWluIG9mIGNvbW1hbmRzIHRoYXQgd2VyZSBlbnRlcmVkXG4gICAgICovXG4gICAgY2hhaW5Db21tYW5kczogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcmF3IGNvbW1hbmQgdGhhdCB3YXMgZW50ZXJlZFxuICAgICAqL1xuICAgIHJhd0NvbW1hbmQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSB2YWx1ZSBvZiB0aGUgY29tbWFuZFxuICAgICAqL1xuICAgIHZhbHVlPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGFyZ3VtZW50cyB0aGF0IHdlcmUgZW50ZXJlZFxuICAgICAqL1xuICAgIGFyZ3M6IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgZW51bSBDbGlGb3JlZ3JvdW5kQ29sb3Ige1xuICAgIEJsYWNrID0gJ1xceDFiWzMwbScsXG4gICAgUmVkID0gJ1xceDFiWzMxbScsXG4gICAgR3JlZW4gPSAnXFx4MWJbMzJtJyxcbiAgICBZZWxsb3cgPSAnXFx4MWJbMzNtJyxcbiAgICBCbHVlID0gJ1xceDFiWzM0bScsXG4gICAgTWFnZW50YSA9ICdcXHgxYlszNW0nLFxuICAgIEN5YW4gPSAnXFx4MWJbMzZtJyxcbiAgICBXaGl0ZSA9ICdcXHgxYlszN20nLFxuICAgIFJlc2V0ID0gJ1xceDFiWzBtJyxcbn1cblxuZXhwb3J0IGVudW0gQ2xpQmFja2dyb3VuZENvbG9yIHtcbiAgICBCbGFjayA9ICdcXHgxYls0MG0nLFxuICAgIFJlZCA9ICdcXHgxYls0MW0nLFxuICAgIEdyZWVuID0gJ1xceDFiWzQybScsXG4gICAgWWVsbG93ID0gJ1xceDFiWzQzbScsXG4gICAgQmx1ZSA9ICdcXHgxYls0NG0nLFxuICAgIE1hZ2VudGEgPSAnXFx4MWJbNDVtJyxcbiAgICBDeWFuID0gJ1xceDFiWzQ2bScsXG4gICAgV2hpdGUgPSAnXFx4MWJbNDdtJyxcbn1cblxuZXhwb3J0IGVudW0gQ2xpSWNvbiB7XG4gICAgQ2hlY2tJY29uID0gJ+KclCcsXG4gICAgQ3Jvc3NJY29uID0gJ+KcmCcsXG4gICAgSW5mb0ljb24gPSAn4oS5JyxcbiAgICBXYXJuaW5nSWNvbiA9ICfimqAnLFxufVxuXG5leHBvcnQgdHlwZSBJQ2xpVXNlciA9IHtcbiAgICAvKipcbiAgICAgKiBUaGUgaWQgb2YgdGhlIHVzZXJcbiAgICAgKi9cbiAgICBpZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHVzZXJcbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZW1haWwgb2YgdGhlIHVzZXJcbiAgICAgKi9cbiAgICBlbWFpbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGdyb3VwcyB0aGUgdXNlciBiZWxvbmdzIHRvXG4gICAgICogQGRlZmF1bHQgW11cbiAgICAgKi9cbiAgICBncm91cHM/OiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaVVzZXJTZXNzaW9uIHtcbiAgICAvKipcbiAgICAgKiBUaGUgdXNlciBhc3NvY2lhdGVkIHdpdGggdGhlIHNlc3Npb25cbiAgICAgKi9cbiAgICB1c2VyOiBJQ2xpVXNlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgdXNlciBzZXNzaW9uXG4gICAgICovXG4gICAgZGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIENMSVxuICovXG5leHBvcnQgdHlwZSBDbGlPcHRpb25zID0gUmVjb3JkPHN0cmluZywgYW55PiAmIHtcbiAgICAvKipcbiAgICAgKiBUaGUgd2VsY29tZSBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0aGUgQ0xJIHN0YXJ0c1xuICAgICAqL1xuICAgIHdlbGNvbWVNZXNzYWdlPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgdGhlIHdlbGNvbWUgbWVzc2FnZSBpcyBoaWRkZW5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIGhpZGVXZWxjb21lTWVzc2FnZT86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBVc2VycyBtb2R1bGUgb3B0aW9uc1xuICAgICAqL1xuICAgIHVzZXJzTW9kdWxlPzoge1xuICAgICAgICAvKipcbiAgICAgICAgICogSWYgdHJ1ZSwgdGhlIHVzZXJzIG1vZHVsZSBpcyBlbmFibGVkXG4gICAgICAgICAqL1xuICAgICAgICBlbmFibGVkOiBib29sZWFuO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBIaWRlIHRoZSBwcm9tcHQgdG8gZGlzcGxheSB3aGVuIHRoZSBDTEkgaXMgcmVhZHkgdG8gYWNjZXB0IGlucHV0XG4gICAgICAgICAqL1xuICAgICAgICBoaWRlVXNlck5hbWU/OiBib29sZWFuO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGVybWluYWwgb3B0aW9uc1xuICAgICAqL1xuICAgIHRlcm1pbmFsT3B0aW9ucz86IElUZXJtaW5hbE9wdGlvbnMgJiBJVGVybWluYWxJbml0T25seU9wdGlvbnM7XG59O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwYWNrYWdlIHRoYXQgY2FuIGJlIGluc3RhbGxlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2Uge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwYWNrYWdlXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGdsb2JhbCBuYW1lIHVzZWQgdG8gYWNjZXNzIHRoZSBwYWNrYWdlXG4gICAgICovXG4gICAgZ2xvYmFsTmFtZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBwYWNrYWdlXG4gICAgICovXG4gICAgdmVyc2lvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHVucGtnIHVybCB0byB0aGUgcGFja2FnZVxuICAgICAqL1xuICAgIHVybDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRlcGVuZGVuY2llcyBmb3IgdGhlIG1vZHVsZVxuICAgICAqL1xuICAgIGRlcGVuZGVuY2llcz86IFBhY2thZ2VbXTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGNvbW1hbmQgcHJvY2Vzc29yIG1ldGFkYXRhXG4gKi9cbmV4cG9ydCB0eXBlIENsaVByb2Nlc3Nvck1ldGFkYXRhID0gUmVjb3JkPHN0cmluZywgYW55PiAmIHtcbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgcHJvY2Vzc29yIGlzIHNlYWxlZCBhbmQgY2Fubm90IGJlIGV4dGVuZGVkXG4gICAgICovXG4gICAgc2VhbGVkPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSBwcm9jZXNzb3IgcmVxdWlyZXMgdGhlIHNlcnZlciB0byBiZSBydW5uaW5nXG4gICAgICovXG4gICAgcmVxdWlyZVNlcnZlcj86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbW9kdWxlIHRoZSBwcm9jZXNzb3IgYmVsb25ncyB0b1xuICAgICAqL1xuICAgIG1vZHVsZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBlbnVtcyA9IHtcbiAgICBDbGlGb3JlZ3JvdW5kQ29sb3IsXG4gICAgQ2xpQmFja2dyb3VuZENvbG9yLFxuICAgIENsaUljb24sXG59O1xuIl19
@@ -1,3 +1,4 @@
1
+ import { enums } from '../models';
1
2
  import { constants } from '../constants';
2
3
  import { utils } from '../utils';
3
4
  export const initializeBrowserEnvironment = ({ handlers, }) => {
@@ -10,6 +11,7 @@ export const initializeBrowserEnvironment = ({ handlers, }) => {
10
11
  },
11
12
  ...constants,
12
13
  ...utils,
14
+ ...enums,
13
15
  };
14
16
  window.ngCore = {
15
17
  Injectable: () => { },
@@ -23,4 +25,4 @@ export const bootUmdModule = async (module) => {
23
25
  console.log('window is undefined');
24
26
  }
25
27
  };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxFQUN6QyxRQUFRLEdBR1gsRUFBUSxFQUFFO0lBQ04sTUFBYyxDQUFDLE9BQU8sR0FBRztRQUN0QixlQUFlLEVBQUUsUUFBUSxJQUFJLEVBQUU7UUFDL0IsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFxQixFQUFFLEVBQUU7WUFDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUMsTUFBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDdEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCxHQUFHLFNBQVM7UUFDWixHQUFHLEtBQUs7S0FDWCxDQUFDO0lBRUQsTUFBYyxDQUFDLE1BQU0sR0FBRztRQUNyQixVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztLQUN2QixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEtBQUssRUFBRSxNQUFxQixFQUFpQixFQUFFO0lBQ3hFLElBQUksT0FBUSxNQUFjLEtBQUssV0FBVyxFQUFFO1FBQ3hDLE1BQU8sTUFBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDdkQ7U0FBTTtRQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztLQUN0QztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBJQ2xpVW1kTW9kdWxlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyB1dGlscyB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVCcm93c2VyRW52aXJvbm1lbnQgPSAoe1xuICAgIGhhbmRsZXJzLFxufToge1xuICAgIGhhbmRsZXJzOiAoKG1vZHVsZTogSUNsaVVtZE1vZHVsZSkgPT4gUHJvbWlzZTx2b2lkPilbXTtcbn0pOiB2b2lkID0+IHtcbiAgICAod2luZG93IGFzIGFueSkuY2xpQ29yZSA9IHtcbiAgICAgICAgb25VbWRNb2R1bGVCb290OiBoYW5kbGVycyB8fCBbXSxcbiAgICAgICAgYm9vdFVtZE1vZHVsZTogYXN5bmMgKG1vZHVsZTogSUNsaVVtZE1vZHVsZSkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ0Jvb3RpbmcgVU1EIG1vZHVsZScsIG1vZHVsZS5uYW1lKTtcbiAgICAgICAgICAgICh3aW5kb3cgYXMgYW55KVttb2R1bGUubmFtZV0gPSBtb2R1bGU7XG4gICAgICAgICAgICBoYW5kbGVycy5mb3JFYWNoKGFzeW5jIChoYW5kbGVyKSA9PiBhd2FpdCBoYW5kbGVyKG1vZHVsZSkpO1xuICAgICAgICB9LFxuICAgICAgICAuLi5jb25zdGFudHMsXG4gICAgICAgIC4uLnV0aWxzLFxuICAgIH07XG5cbiAgICAod2luZG93IGFzIGFueSkubmdDb3JlID0ge1xuICAgICAgICBJbmplY3RhYmxlOiAoKSA9PiB7fSxcbiAgICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGJvb3RVbWRNb2R1bGUgPSBhc3luYyAobW9kdWxlOiBJQ2xpVW1kTW9kdWxlKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgaWYgKHR5cGVvZiAod2luZG93IGFzIGFueSkgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGF3YWl0ICh3aW5kb3cgYXMgYW55KS5jbGlDb3JlLmJvb3RVbWRNb2R1bGUobW9kdWxlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmxvZygnd2luZG93IGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbn07XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqQyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLEVBQ3pDLFFBQVEsR0FHWCxFQUFRLEVBQUU7SUFDTixNQUFjLENBQUMsT0FBTyxHQUFHO1FBQ3RCLGVBQWUsRUFBRSxRQUFRLElBQUksRUFBRTtRQUMvQixhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQXFCLEVBQUUsRUFBRTtZQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QyxNQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztZQUN0QyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE1BQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELEdBQUcsU0FBUztRQUNaLEdBQUcsS0FBSztRQUNSLEdBQUcsS0FBSztLQUNYLENBQUM7SUFFRCxNQUFjLENBQUMsTUFBTSxHQUFHO1FBQ3JCLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO0tBQ3ZCLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLE1BQXFCLEVBQWlCLEVBQUU7SUFDeEUsSUFBSSxPQUFRLE1BQWMsS0FBSyxXQUFXLEVBQUU7UUFDeEMsTUFBTyxNQUFjLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN2RDtTQUFNO1FBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBQ3RDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZW51bXMgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IElDbGlVbWRNb2R1bGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZUJyb3dzZXJFbnZpcm9ubWVudCA9ICh7XG4gICAgaGFuZGxlcnMsXG59OiB7XG4gICAgaGFuZGxlcnM6ICgobW9kdWxlOiBJQ2xpVW1kTW9kdWxlKSA9PiBQcm9taXNlPHZvaWQ+KVtdO1xufSk6IHZvaWQgPT4ge1xuICAgICh3aW5kb3cgYXMgYW55KS5jbGlDb3JlID0ge1xuICAgICAgICBvblVtZE1vZHVsZUJvb3Q6IGhhbmRsZXJzIHx8IFtdLFxuICAgICAgICBib290VW1kTW9kdWxlOiBhc3luYyAobW9kdWxlOiBJQ2xpVW1kTW9kdWxlKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnQm9vdGluZyBVTUQgbW9kdWxlJywgbW9kdWxlLm5hbWUpO1xuICAgICAgICAgICAgKHdpbmRvdyBhcyBhbnkpW21vZHVsZS5uYW1lXSA9IG1vZHVsZTtcbiAgICAgICAgICAgIGhhbmRsZXJzLmZvckVhY2goYXN5bmMgKGhhbmRsZXIpID0+IGF3YWl0IGhhbmRsZXIobW9kdWxlKSk7XG4gICAgICAgIH0sXG4gICAgICAgIC4uLmNvbnN0YW50cyxcbiAgICAgICAgLi4udXRpbHMsXG4gICAgICAgIC4uLmVudW1zLFxuICAgIH07XG5cbiAgICAod2luZG93IGFzIGFueSkubmdDb3JlID0ge1xuICAgICAgICBJbmplY3RhYmxlOiAoKSA9PiB7fSxcbiAgICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGJvb3RVbWRNb2R1bGUgPSBhc3luYyAobW9kdWxlOiBJQ2xpVW1kTW9kdWxlKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgaWYgKHR5cGVvZiAod2luZG93IGFzIGFueSkgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGF3YWl0ICh3aW5kb3cgYXMgYW55KS5jbGlDb3JlLmJvb3RVbWRNb2R1bGUobW9kdWxlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmxvZygnd2luZG93IGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbn07XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  import { CliBackgroundColor, CliForegroundColor } from '../models';
2
+ import { ObjectDescriber } from './object-describer';
2
3
  export const getParameterValue = (p, args) => {
3
4
  return (args[p.name] ??
4
5
  (p.aliases?.find((alias) => args[alias]) &&
@@ -46,6 +47,7 @@ export const getRightOfWord = (command, word) => {
46
47
  // If the word is not found, return null
47
48
  return undefined;
48
49
  };
50
+ export * from './object-describer';
49
51
  export const utils = {
50
52
  getParameterValue,
51
53
  formatJson,
@@ -53,5 +55,6 @@ export const utils = {
53
55
  toQueryString,
54
56
  highlightTextWithBg,
55
57
  getRightOfWord,
58
+ ObjectDescriber,
56
59
  };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQzdCLENBQWlDLEVBQ2pDLElBQXlCLEVBQ1YsRUFBRTtJQUNqQixPQUFPLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUUsQ0FBQyxDQUFDLENBQ3RELENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFTLEVBQVUsRUFBRTtJQUM1QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFbEQsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUM5RCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxVQUFlLEVBQVUsRUFBRTtJQUNwRCxPQUFPLFVBQVU7U0FDWixPQUFPLENBQUMsYUFBYSxFQUFFLHNCQUFzQixDQUFDLENBQUMsZ0JBQWdCO1NBQy9ELE9BQU8sQ0FBQyxjQUFjLEVBQUUsdUJBQXVCLENBQUMsQ0FBQyxrQkFBa0I7U0FDbkUsT0FBTyxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDLGlCQUFpQjtTQUM1RCxPQUFPLENBQUMsaUJBQWlCLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxxQkFBcUI7U0FDdkUsT0FBTyxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsY0FBYztBQUNwRSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUEyQixFQUFVLEVBQUU7SUFDakUsTUFBTSxZQUFZLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztJQUUzQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRTtRQUN0QixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDNUIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLHdDQUF3QztZQUN4QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3RCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDaEU7aUJBQU0sSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7Z0JBQzlDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQzlDO1NBQ0o7S0FDSjtJQUVELE9BQU8sWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQy9CLElBQVksRUFDWixPQUFlLEVBQ2YsVUFBOEIsa0JBQWtCLENBQUMsTUFBTSxFQUNqRCxFQUFFO0lBQ1IsK0NBQStDO0lBQy9DLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FDZixPQUFPLEVBQ1AsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxHQUFHLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FDN0QsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUMxQixPQUFlLEVBQ2YsSUFBWSxFQUNNLEVBQUU7SUFDcEIsK0NBQStDO0lBQy9DLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEMsMkRBQTJEO0lBQzNELElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQ2QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDcEQ7SUFFRCx3Q0FBd0M7SUFDeEMsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ2pCLGlCQUFpQjtJQUNqQixVQUFVO0lBQ1YsWUFBWTtJQUNaLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsY0FBYztDQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUNsaUNvbW1hbmRQYXJhbWV0ZXJEZXNjcmlwdG9yIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDbGlCYWNrZ3JvdW5kQ29sb3IsIENsaUZvcmVncm91bmRDb2xvciB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBnZXRQYXJhbWV0ZXJWYWx1ZSA9IChcbiAgICBwOiBJQ2xpQ29tbWFuZFBhcmFtZXRlckRlc2NyaXB0b3IsXG4gICAgYXJnczogUmVjb3JkPHN0cmluZywgYW55Pixcbik6IGFueSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgYXJnc1twLm5hbWVdID8/XG4gICAgICAgIChwLmFsaWFzZXM/LmZpbmQoKGFsaWFzKSA9PiBhcmdzW2FsaWFzXSkgJiZcbiAgICAgICAgICAgIGFyZ3NbcC5hbGlhc2VzIS5maW5kKChhbGlhcykgPT4gYXJnc1thbGlhc10pIV0pXG4gICAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRKc29uID0gKGpzb246IGFueSk6IHN0cmluZyA9PiB7XG4gICAgY29uc3QgaWRlbnRlZEpzb24gPSBKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCAyKTtcblxuICAgIHJldHVybiBjb2xvcml6ZUpzb24oaWRlbnRlZEpzb24uc3BsaXQoJ1xcbicpLmpvaW4oJ1xcclxcbicpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb2xvcml6ZUpzb24gPSAoanNvblN0cmluZzogYW55KTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4ganNvblN0cmluZ1xuICAgICAgICAucmVwbGFjZSgvXCIoW15cIl0rKVwiOi9nLCAnXFx4MWJbMzNtXCIkMVwiOlxceDFiWzBtJykgLy8gS2V5cyAoeWVsbG93KVxuICAgICAgICAucmVwbGFjZSgvOiBcIihbXlwiXSopXCIvZywgJzogXFx4MWJbMzJtXCIkMVwiXFx4MWJbMG0nKSAvLyBTdHJpbmdzIChncmVlbilcbiAgICAgICAgLnJlcGxhY2UoLzogKFxcZCspL2csICc6IFxceDFiWzM0bSQxXFx4MWJbMG0nKSAvLyBOdW1iZXJzIChibHVlKVxuICAgICAgICAucmVwbGFjZSgvOiAodHJ1ZXxmYWxzZSkvZywgJzogXFx4MWJbMzVtJDFcXHgxYlswbScpIC8vIEJvb2xlYW5zIChtYWdlbnRhKVxuICAgICAgICAucmVwbGFjZSgvOiAobnVsbCkvZywgJzogXFx4MWJbMzZtJDFcXHgxYlswbScpOyAvLyBOdWxsIChjeWFuKVxufTtcblxuZXhwb3J0IGNvbnN0IHRvUXVlcnlTdHJpbmcgPSAocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogc3RyaW5nID0+IHtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBwYXJhbXMpIHtcbiAgICAgICAgaWYgKHBhcmFtcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmFtc1trZXldO1xuICAgICAgICAgICAgLy8gSGFuZGxlIGFycmF5IGFuZCBub24tcHJpbWl0aXZlIHZhbHVlc1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgodikgPT4gc2VhcmNoUGFyYW1zLmFwcGVuZChrZXksIHYudG9TdHJpbmcoKSkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc2VhcmNoUGFyYW1zLmFwcGVuZChrZXksIHZhbHVlLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlYXJjaFBhcmFtcy50b1N0cmluZygpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhpZ2hsaWdodFRleHRXaXRoQmcgPSAoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHBhdHRlcm46IFJlZ0V4cCxcbiAgICBiZ0NvbG9yOiBDbGlCYWNrZ3JvdW5kQ29sb3IgPSBDbGlCYWNrZ3JvdW5kQ29sb3IuWWVsbG93LFxuKTogc3RyaW5nID0+IHtcbiAgICAvLyBSZXBsYWNlIG1hdGNoZXMgd2l0aCBiYWNrZ3JvdW5kLWNvbG9yZWQgdGV4dFxuICAgIHJldHVybiB0ZXh0LnJlcGxhY2UoXG4gICAgICAgIHBhdHRlcm4sXG4gICAgICAgIChtYXRjaCkgPT4gYCR7YmdDb2xvcn0ke21hdGNofSR7Q2xpRm9yZWdyb3VuZENvbG9yLlJlc2V0fWAsXG4gICAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRSaWdodE9mV29yZCA9IChcbiAgICBjb21tYW5kOiBzdHJpbmcsXG4gICAgd29yZDogc3RyaW5nLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgICAvLyBGaW5kIHRoZSBwb3NpdGlvbiBvZiB0aGUgd29yZCBpbiB0aGUgY29tbWFuZFxuICAgIGNvbnN0IGluZGV4ID0gY29tbWFuZC5pbmRleE9mKHdvcmQpO1xuXG4gICAgLy8gSWYgdGhlIHdvcmQgaXMgZm91bmQsIGV4dHJhY3QgdGhlIHN1YnN0cmluZyB0byB0aGUgcmlnaHRcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIHJldHVybiBjb21tYW5kLnNsaWNlKGluZGV4ICsgd29yZC5sZW5ndGgpLnRyaW0oKTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgd29yZCBpcyBub3QgZm91bmQsIHJldHVybiBudWxsXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCB1dGlscyA9IHtcbiAgICBnZXRQYXJhbWV0ZXJWYWx1ZSxcbiAgICBmb3JtYXRKc29uLFxuICAgIGNvbG9yaXplSnNvbixcbiAgICB0b1F1ZXJ5U3RyaW5nLFxuICAgIGhpZ2hsaWdodFRleHRXaXRoQmcsXG4gICAgZ2V0UmlnaHRPZldvcmQsXG59O1xuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUM3QixDQUFpQyxFQUNqQyxJQUF5QixFQUNWLEVBQUU7SUFDakIsT0FBTyxDQUNILElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFFLENBQUMsQ0FBQyxDQUN0RCxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBUyxFQUFVLEVBQUU7SUFDNUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWxELE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDOUQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsVUFBZSxFQUFVLEVBQUU7SUFDcEQsT0FBTyxVQUFVO1NBQ1osT0FBTyxDQUFDLGFBQWEsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLGdCQUFnQjtTQUMvRCxPQUFPLENBQUMsY0FBYyxFQUFFLHVCQUF1QixDQUFDLENBQUMsa0JBQWtCO1NBQ25FLE9BQU8sQ0FBQyxVQUFVLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxpQkFBaUI7U0FDNUQsT0FBTyxDQUFDLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDLENBQUMscUJBQXFCO1NBQ3ZFLE9BQU8sQ0FBQyxXQUFXLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDLGNBQWM7QUFDcEUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBMkIsRUFBVSxFQUFFO0lBQ2pFLE1BQU0sWUFBWSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7SUFFM0MsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUU7UUFDdEIsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQix3Q0FBd0M7WUFDeEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN0QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2hFO2lCQUFNLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO2dCQUM5QyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUM5QztTQUNKO0tBQ0o7SUFFRCxPQUFPLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUMvQixJQUFZLEVBQ1osT0FBZSxFQUNmLFVBQThCLGtCQUFrQixDQUFDLE1BQU0sRUFDakQsRUFBRTtJQUNSLCtDQUErQztJQUMvQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQ2YsT0FBTyxFQUNQLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE9BQU8sR0FBRyxLQUFLLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQzdELENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FDMUIsT0FBZSxFQUNmLElBQVksRUFDTSxFQUFFO0lBQ3BCLCtDQUErQztJQUMvQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBDLDJEQUEyRDtJQUMzRCxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtRQUNkLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQ3BEO0lBRUQsd0NBQXdDO0lBQ3hDLE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQUVGLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ2pCLGlCQUFpQjtJQUNqQixVQUFVO0lBQ1YsWUFBWTtJQUNaLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLGVBQWU7Q0FDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDbGlDb21tYW5kUGFyYW1ldGVyRGVzY3JpcHRvciB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ2xpQmFja2dyb3VuZENvbG9yLCBDbGlGb3JlZ3JvdW5kQ29sb3IgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgT2JqZWN0RGVzY3JpYmVyIH0gZnJvbSAnLi9vYmplY3QtZGVzY3JpYmVyJztcblxuZXhwb3J0IGNvbnN0IGdldFBhcmFtZXRlclZhbHVlID0gKFxuICAgIHA6IElDbGlDb21tYW5kUGFyYW1ldGVyRGVzY3JpcHRvcixcbiAgICBhcmdzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuKTogYW55IHwgdW5kZWZpbmVkID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgICBhcmdzW3AubmFtZV0gPz9cbiAgICAgICAgKHAuYWxpYXNlcz8uZmluZCgoYWxpYXMpID0+IGFyZ3NbYWxpYXNdKSAmJlxuICAgICAgICAgICAgYXJnc1twLmFsaWFzZXMhLmZpbmQoKGFsaWFzKSA9PiBhcmdzW2FsaWFzXSkhXSlcbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdEpzb24gPSAoanNvbjogYW55KTogc3RyaW5nID0+IHtcbiAgICBjb25zdCBpZGVudGVkSnNvbiA9IEpTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIDIpO1xuXG4gICAgcmV0dXJuIGNvbG9yaXplSnNvbihpZGVudGVkSnNvbi5zcGxpdCgnXFxuJykuam9pbignXFxyXFxuJykpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbG9yaXplSnNvbiA9IChqc29uU3RyaW5nOiBhbnkpOiBzdHJpbmcgPT4ge1xuICAgIHJldHVybiBqc29uU3RyaW5nXG4gICAgICAgIC5yZXBsYWNlKC9cIihbXlwiXSspXCI6L2csICdcXHgxYlszM21cIiQxXCI6XFx4MWJbMG0nKSAvLyBLZXlzICh5ZWxsb3cpXG4gICAgICAgIC5yZXBsYWNlKC86IFwiKFteXCJdKilcIi9nLCAnOiBcXHgxYlszMm1cIiQxXCJcXHgxYlswbScpIC8vIFN0cmluZ3MgKGdyZWVuKVxuICAgICAgICAucmVwbGFjZSgvOiAoXFxkKykvZywgJzogXFx4MWJbMzRtJDFcXHgxYlswbScpIC8vIE51bWJlcnMgKGJsdWUpXG4gICAgICAgIC5yZXBsYWNlKC86ICh0cnVlfGZhbHNlKS9nLCAnOiBcXHgxYlszNW0kMVxceDFiWzBtJykgLy8gQm9vbGVhbnMgKG1hZ2VudGEpXG4gICAgICAgIC5yZXBsYWNlKC86IChudWxsKS9nLCAnOiBcXHgxYlszNm0kMVxceDFiWzBtJyk7IC8vIE51bGwgKGN5YW4pXG59O1xuXG5leHBvcnQgY29uc3QgdG9RdWVyeVN0cmluZyA9IChwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBzdHJpbmcgPT4ge1xuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcblxuICAgIGZvciAoY29uc3Qga2V5IGluIHBhcmFtcykge1xuICAgICAgICBpZiAocGFyYW1zLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1zW2tleV07XG4gICAgICAgICAgICAvLyBIYW5kbGUgYXJyYXkgYW5kIG5vbi1wcmltaXRpdmUgdmFsdWVzXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKCh2KSA9PiBzZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgdi50b1N0cmluZygpKSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBzZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2VhcmNoUGFyYW1zLnRvU3RyaW5nKCk7XG59O1xuXG5leHBvcnQgY29uc3QgaGlnaGxpZ2h0VGV4dFdpdGhCZyA9IChcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgcGF0dGVybjogUmVnRXhwLFxuICAgIGJnQ29sb3I6IENsaUJhY2tncm91bmRDb2xvciA9IENsaUJhY2tncm91bmRDb2xvci5ZZWxsb3csXG4pOiBzdHJpbmcgPT4ge1xuICAgIC8vIFJlcGxhY2UgbWF0Y2hlcyB3aXRoIGJhY2tncm91bmQtY29sb3JlZCB0ZXh0XG4gICAgcmV0dXJuIHRleHQucmVwbGFjZShcbiAgICAgICAgcGF0dGVybixcbiAgICAgICAgKG1hdGNoKSA9PiBgJHtiZ0NvbG9yfSR7bWF0Y2h9JHtDbGlGb3JlZ3JvdW5kQ29sb3IuUmVzZXR9YCxcbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFJpZ2h0T2ZXb3JkID0gKFxuICAgIGNvbW1hbmQ6IHN0cmluZyxcbiAgICB3b3JkOiBzdHJpbmcsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICAgIC8vIEZpbmQgdGhlIHBvc2l0aW9uIG9mIHRoZSB3b3JkIGluIHRoZSBjb21tYW5kXG4gICAgY29uc3QgaW5kZXggPSBjb21tYW5kLmluZGV4T2Yod29yZCk7XG5cbiAgICAvLyBJZiB0aGUgd29yZCBpcyBmb3VuZCwgZXh0cmFjdCB0aGUgc3Vic3RyaW5nIHRvIHRoZSByaWdodFxuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIGNvbW1hbmQuc2xpY2UoaW5kZXggKyB3b3JkLmxlbmd0aCkudHJpbSgpO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSB3b3JkIGlzIG5vdCBmb3VuZCwgcmV0dXJuIG51bGxcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0ICogZnJvbSAnLi9vYmplY3QtZGVzY3JpYmVyJztcblxuZXhwb3J0IGNvbnN0IHV0aWxzID0ge1xuICAgIGdldFBhcmFtZXRlclZhbHVlLFxuICAgIGZvcm1hdEpzb24sXG4gICAgY29sb3JpemVKc29uLFxuICAgIHRvUXVlcnlTdHJpbmcsXG4gICAgaGlnaGxpZ2h0VGV4dFdpdGhCZyxcbiAgICBnZXRSaWdodE9mV29yZCxcbiAgICBPYmplY3REZXNjcmliZXIsXG59O1xuIl19
@@ -0,0 +1,133 @@
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) {
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
+ },
93
+ writeDescription: (context) => {
94
+ context.writer.writeln(func);
95
+ },
96
+ };
97
+ if (supportsDynamicArgs) {
98
+ processor.parameters?.push({
99
+ name: 'delimiter',
100
+ description: 'Delimiter',
101
+ type: 'string',
102
+ required: false,
103
+ });
104
+ }
105
+ if (supportsMultipleArgs) {
106
+ processor.parameters?.push(...args.slice(1).map((arg) => ({
107
+ name: arg,
108
+ description: arg,
109
+ type: 'string',
110
+ required: false,
111
+ })));
112
+ }
113
+ processors.push(processor);
114
+ }
115
+ return processors;
116
+ }
117
+ static supportsDynamicArgs(func) {
118
+ const funcStr = func.toString();
119
+ return funcStr.includes('arguments');
120
+ }
121
+ static getFunctionArguments(func) {
122
+ const funcStr = func.toString();
123
+ const args = funcStr.match(/\(([^)]*)\)/);
124
+ if (!args) {
125
+ return [];
126
+ }
127
+ return args[1]
128
+ .split(',')
129
+ .map((arg) => arg.trim())
130
+ .filter((arg) => arg !== '');
131
+ }
132
+ }
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWRlc2NyaWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi91dGlscy9vYmplY3QtZGVzY3JpYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBcUIsTUFBTSxXQUFXLENBQUM7QUFFbEUsTUFBTSxPQUFPLGVBQWU7SUFDeEIsTUFBTSxDQUFDLFFBQVEsQ0FDWCxHQUFRLEVBQ1IsT0FNQztRQUVELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBRWpDLE1BQU0sVUFBVSxHQUEyQixFQUFFLENBQUM7UUFFOUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU5QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxVQUFVLENBQUMsQ0FBQztRQUV2RSxLQUFLLE1BQU0sSUFBSSxJQUFJLFNBQVMsRUFBRTtZQUMxQixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRWxELElBQUksTUFBTSxFQUFFO2dCQUNSLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQztvQkFDekIsUUFBUSxFQUFFLElBQUk7b0JBQ2QsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsSUFBSTtpQkFDUCxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLGFBQWEsRUFBRTtvQkFDaEIsU0FBUztpQkFDWjthQUNKO1lBRUQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUU3QyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVoRSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzNDLFNBQVM7YUFDWjtZQUVELElBQ0ksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxVQUFVLElBQUksR0FBRyxLQUFLLE1BQU0sQ0FBQyxFQUMxRDtnQkFDRSxTQUFTO2FBQ1o7WUFFRCxNQUFNLFNBQVMsR0FBeUI7Z0JBQ3BDLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFdBQVcsRUFBRSx3Q0FBd0MsSUFBSSw4QkFBOEI7Z0JBQ3ZGLHFCQUFxQixFQUFFLElBQUk7Z0JBQzNCLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixVQUFVLEVBQUU7b0JBQ1I7d0JBQ0ksSUFBSSxFQUFFLE9BQU87d0JBQ2IsV0FBVyxFQUFFLE9BQU87d0JBQ3BCLElBQUksRUFBRSxTQUFTO3dCQUNmLFFBQVEsRUFBRSxLQUFLO3FCQUNsQjtpQkFDSjtnQkFDRCxjQUFjLEVBQUUsS0FBSyxFQUNqQixPQUEwQixFQUMxQixPQUE2QixFQUMvQixFQUFFO29CQUNBLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFZLENBQUM7b0JBRS9DLElBQUksS0FBSyxFQUFFO3dCQUNQLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxDQUFDO3dCQUNyRCxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDbEIsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUMvQyxDQUFDO3dCQUNGLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUNsQixZQUFZLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUN0QyxDQUFDO3FCQUNMO29CQUVELE1BQU0sV0FBVyxHQUFVLEVBQUUsQ0FBQztvQkFFOUIsSUFBSSxvQkFBb0IsRUFBRTt3QkFDdEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFOzRCQUM3QixXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzt5QkFDdkM7cUJBQ0o7b0JBRUQsSUFBSSxtQkFBbUIsRUFBRTt3QkFDckIsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLENBQUM7d0JBQ25ELFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO3FCQUN4RDtvQkFFRCxJQUFJLEtBQUssRUFBRTt3QkFDUCxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDbEIsOEJBQThCOzRCQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUNsQyxDQUFDO3FCQUNMO29CQUVELE1BQU0sTUFBTSxHQUNSLG1CQUFtQixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQzt3QkFDcEMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLFdBQVcsQ0FBQzt3QkFDM0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7b0JBRW5ELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNoQixPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FDdEIsVUFBVSxFQUNWLGtCQUFrQixDQUFDLE1BQU0sQ0FDNUIsQ0FDSixDQUFDO29CQUVGLElBQUksTUFBTSxLQUFLLElBQUksRUFBRTt3QkFDakIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQ2xDO3lCQUFNLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRTt3QkFDN0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7cUJBQ3ZDO3lCQUFNLElBQUksT0FBTyxNQUFNLEtBQUssU0FBUyxFQUFFO3dCQUNwQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztxQkFDN0M7eUJBQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7d0JBQ25DLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO3FCQUM3Qzt5QkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7d0JBQzlCLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3FCQUNwQzt5QkFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTt3QkFDbkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQ2xDO3lCQUFNLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO3dCQUNuQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDcEM7eUJBQU07d0JBQ0gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7cUJBQzlDO2dCQUNMLENBQUM7Z0JBQ0QsZ0JBQWdCLEVBQUUsQ0FBQyxPQUE2QixFQUFFLEVBQUU7b0JBQ2hELE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqQyxDQUFDO2FBQ0osQ0FBQztZQUVGLElBQUksbUJBQW1CLEVBQUU7Z0JBQ3JCLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO29CQUN2QixJQUFJLEVBQUUsV0FBVztvQkFDakIsV0FBVyxFQUFFLFdBQVc7b0JBQ3hCLElBQUksRUFBRSxRQUFRO29CQUNkLFFBQVEsRUFBRSxLQUFLO2lCQUNsQixDQUFDLENBQUM7YUFDTjtZQUVELElBQUksb0JBQW9CLEVBQUU7Z0JBQ3RCLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUN0QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMzQixJQUFJLEVBQUUsR0FBRztvQkFDVCxXQUFXLEVBQUUsR0FBRztvQkFDaEIsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsUUFBUSxFQUFFLEtBQUs7aUJBQ2xCLENBQUMsQ0FBQyxDQUNOLENBQUM7YUFDTDtZQUVELFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDOUI7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQVM7UUFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQVM7UUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFDRCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDVCxLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsR0FBRyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDaEMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUNsaUNvbW1hbmRQcm9jZXNzb3IsIElDbGlFeGVjdXRpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDbGlGb3JlZ3JvdW5kQ29sb3IsIENsaVByb2Nlc3NDb21tYW5kIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIE9iamVjdERlc2NyaWJlciB7XG4gICAgc3RhdGljIGRlc2NyaWJlKFxuICAgICAgICBvYmo6IGFueSxcbiAgICAgICAgb3B0aW9ucz86IHtcbiAgICAgICAgICAgIGZpbHRlcj86IChvOiB7XG4gICAgICAgICAgICAgICAgZnVuY05hbWU6IHN0cmluZztcbiAgICAgICAgICAgICAgICBmdW5jOiBhbnk7XG4gICAgICAgICAgICAgICAgYXJnczogc3RyaW5nW107XG4gICAgICAgICAgICB9KSA9PiBib29sZWFuO1xuICAgICAgICB9LFxuICAgICk6IElDbGlDb21tYW5kUHJvY2Vzc29yW10ge1xuICAgICAgICBjb25zdCB7IGZpbHRlciB9ID0gb3B0aW9ucyB8fCB7fTtcblxuICAgICAgICBjb25zdCBwcm9jZXNzb3JzOiBJQ2xpQ29tbWFuZFByb2Nlc3NvcltdID0gW107XG5cbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG5cbiAgICAgICAgY29uc3QgZnVuY3Rpb25zID0ga2V5cy5maWx0ZXIoKGtleSkgPT4gdHlwZW9mIG9ialtrZXldID09PSAnZnVuY3Rpb24nKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGZ1bmMgb2YgZnVuY3Rpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBmdW5jVmFsdWUgPSBvYmpbZnVuY107XG4gICAgICAgICAgICBjb25zdCBhcmdzID0gdGhpcy5nZXRGdW5jdGlvbkFyZ3VtZW50cyhmdW5jVmFsdWUpO1xuXG4gICAgICAgICAgICBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkSW5jbHVkZSA9IGZpbHRlcih7XG4gICAgICAgICAgICAgICAgICAgIGZ1bmNOYW1lOiBmdW5jLFxuICAgICAgICAgICAgICAgICAgICBmdW5jOiBmdW5jVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXNob3VsZEluY2x1ZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzdXBwb3J0c011bHRpcGxlQXJncyA9IGFyZ3MubGVuZ3RoID4gMTtcblxuICAgICAgICAgICAgY29uc3Qgc3VwcG9ydHNEeW5hbWljQXJncyA9IHRoaXMuc3VwcG9ydHNEeW5hbWljQXJncyhmdW5jVmFsdWUpO1xuXG4gICAgICAgICAgICBpZiAoYXJncy5sZW5ndGggPT09IDAgJiYgIXN1cHBvcnRzRHluYW1pY0FyZ3MpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGFyZ3MubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICAgIGFyZ3Muc29tZSgoYXJnKSA9PiBhcmcgPT09ICdmdW5jdGlvbicgfHwgYXJnID09PSAnZnVuYycpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcHJvY2Vzc29yOiBJQ2xpQ29tbWFuZFByb2Nlc3NvciA9IHtcbiAgICAgICAgICAgICAgICBjb21tYW5kOiBmdW5jLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgQSBjb21tYW5kIHRoYXQgZXhlY3V0ZXMgdGhlIGZ1bmN0aW9uICR7ZnVuY30gd2l0aCB0aGUgcHJvdmlkZWQgYXJndW1lbnRzYCxcbiAgICAgICAgICAgICAgICBhbGxvd1VubGlzdGVkQ29tbWFuZHM6IHRydWUsXG4gICAgICAgICAgICAgICAgdmFsdWVSZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdkZWJ1ZycsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0RlYnVnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHByb2Nlc3NDb21tYW5kOiBhc3luYyAoXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IENsaVByb2Nlc3NDb21tYW5kLFxuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVidWcgPSBjb21tYW5kLmFyZ3NbJ2RlYnVnJ10gYXMgYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVidWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlbG4oJ0V4ZWN1dGluZyBjb21tYW5kOiAnICsgZnVuYyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZWxuKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcmd1bWVudHM6ICcgKyBKU09OLnN0cmluZ2lmeShjb21tYW5kLmFyZ3MpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlbG4oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Z1bmN0aW9uOiAnICsgZnVuY1ZhbHVlLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJnc1RvQ2FsbEY6IGFueVtdID0gW107XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1cHBvcnRzTXVsdGlwbGVBcmdzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGFyZyBvZiBhcmdzLnNsaWNlKDEpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1RvQ2FsbEYucHVzaChjb21tYW5kLmFyZ3NbYXJnXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoc3VwcG9ydHNEeW5hbWljQXJncykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVsaW1pdGVyID0gY29tbWFuZC5hcmdzWydkZWxpbWl0ZXInXSB8fCAnLCc7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcmdzVG9DYWxsRi5wdXNoKC4uLmNvbW1hbmQudmFsdWUhLnNwbGl0KGRlbGltaXRlcikpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGRlYnVnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZWxuKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBcmd1bWVudHMgYWZ0ZXIgcHJvY2Vzc2luZzogJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGFyZ3NUb0NhbGxGKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydHNEeW5hbWljQXJncyAmJiBhcmdzLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZnVuY1ZhbHVlKC4uLmFyZ3NUb0NhbGxGKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZnVuY1ZhbHVlKGNvbW1hbmQudmFsdWUsIC4uLmFyZ3NUb0NhbGxGKTtcblxuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyYXBJbkNvbG9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdSZXN1bHQ6ICcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xpRm9yZWdyb3VuZENvbG9yLlllbGxvdyxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVsbignbnVsbCcpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZWxuKCd1bmRlZmluZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlbG4ocmVzdWx0LnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZWxuKHJlc3VsdC50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlSnNvbihyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZWxuKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlSnNvbihyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVsbihyZXN1bHQ/LnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB3cml0ZURlc2NyaXB0aW9uOiAoY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVsbihmdW5jKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKHN1cHBvcnRzRHluYW1pY0FyZ3MpIHtcbiAgICAgICAgICAgICAgICBwcm9jZXNzb3IucGFyYW1ldGVycz8ucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdkZWxpbWl0ZXInLFxuICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0RlbGltaXRlcicsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzdXBwb3J0c011bHRpcGxlQXJncykge1xuICAgICAgICAgICAgICAgIHByb2Nlc3Nvci5wYXJhbWV0ZXJzPy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAuLi5hcmdzLnNsaWNlKDEpLm1hcCgoYXJnKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogYXJnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFyZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHJvY2Vzc29ycy5wdXNoKHByb2Nlc3Nvcik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcHJvY2Vzc29ycztcbiAgICB9XG5cbiAgICBzdGF0aWMgc3VwcG9ydHNEeW5hbWljQXJncyhmdW5jOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZnVuY1N0ciA9IGZ1bmMudG9TdHJpbmcoKTtcbiAgICAgICAgcmV0dXJuIGZ1bmNTdHIuaW5jbHVkZXMoJ2FyZ3VtZW50cycpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRGdW5jdGlvbkFyZ3VtZW50cyhmdW5jOiBhbnkpOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IGZ1bmNTdHIgPSBmdW5jLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IGFyZ3MgPSBmdW5jU3RyLm1hdGNoKC9cXCgoW14pXSopXFwpLyk7XG4gICAgICAgIGlmICghYXJncykge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcmdzWzFdXG4gICAgICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAgICAgLm1hcCgoYXJnOiBzdHJpbmcpID0+IGFyZy50cmltKCkpXG4gICAgICAgICAgICAuZmlsdGVyKChhcmc6IHN0cmluZykgPT4gYXJnICE9PSAnJyk7XG4gICAgfVxufVxuIl19
@@ -21,6 +21,18 @@ var CliBackgroundColor;
21
21
  CliBackgroundColor["Cyan"] = "\u001B[46m";
22
22
  CliBackgroundColor["White"] = "\u001B[47m";
23
23
  })(CliBackgroundColor || (CliBackgroundColor = {}));
24
+ var CliIcon;
25
+ (function (CliIcon) {
26
+ CliIcon["CheckIcon"] = "\u2714";
27
+ CliIcon["CrossIcon"] = "\u2718";
28
+ CliIcon["InfoIcon"] = "\u2139";
29
+ CliIcon["WarningIcon"] = "\u26A0";
30
+ })(CliIcon || (CliIcon = {}));
31
+ const enums = {
32
+ CliForegroundColor,
33
+ CliBackgroundColor,
34
+ CliIcon,
35
+ };
24
36
 
25
37
  const DefaultLibraryAuthor = {
26
38
  name: 'Nicolae Lupei',
@@ -30,6 +42,138 @@ const constants = {
30
42
  DefaultLibraryAuthor,
31
43
  };
32
44
 
45
+ class ObjectDescriber {
46
+ static describe(obj, options) {
47
+ const { filter } = options || {};
48
+ const processors = [];
49
+ const keys = Object.keys(obj);
50
+ const functions = keys.filter((key) => typeof obj[key] === 'function');
51
+ for (const func of functions) {
52
+ const funcValue = obj[func];
53
+ const args = this.getFunctionArguments(funcValue);
54
+ if (filter) {
55
+ const shouldInclude = filter({
56
+ funcName: func,
57
+ func: funcValue,
58
+ args,
59
+ });
60
+ if (!shouldInclude) {
61
+ continue;
62
+ }
63
+ }
64
+ const supportsMultipleArgs = args.length > 1;
65
+ const supportsDynamicArgs = this.supportsDynamicArgs(funcValue);
66
+ if (args.length === 0 && !supportsDynamicArgs) {
67
+ continue;
68
+ }
69
+ if (args.length > 0 &&
70
+ args.some((arg) => arg === 'function' || arg === 'func')) {
71
+ continue;
72
+ }
73
+ const processor = {
74
+ command: func,
75
+ description: `A command that executes the function ${func} with the provided arguments`,
76
+ allowUnlistedCommands: true,
77
+ valueRequired: true,
78
+ parameters: [
79
+ {
80
+ name: 'debug',
81
+ description: 'Debug',
82
+ type: 'boolean',
83
+ required: false,
84
+ },
85
+ ],
86
+ processCommand: async (command, context) => {
87
+ const debug = command.args['debug'];
88
+ if (debug) {
89
+ context.writer.writeln('Executing command: ' + func);
90
+ context.writer.writeln('Arguments: ' + JSON.stringify(command.args));
91
+ context.writer.writeln('Function: ' + funcValue.toString());
92
+ }
93
+ const argsToCallF = [];
94
+ if (supportsMultipleArgs) {
95
+ for (const arg of args.slice(1)) {
96
+ argsToCallF.push(command.args[arg]);
97
+ }
98
+ }
99
+ if (supportsDynamicArgs) {
100
+ const delimiter = command.args['delimiter'] || ',';
101
+ argsToCallF.push(...command.value.split(delimiter));
102
+ }
103
+ if (debug) {
104
+ context.writer.writeln('Arguments after processing: ' +
105
+ JSON.stringify(argsToCallF));
106
+ }
107
+ const result = supportsDynamicArgs && args.length === 0
108
+ ? funcValue(...argsToCallF)
109
+ : funcValue(command.value, ...argsToCallF);
110
+ context.writer.write(context.writer.wrapInColor('Result: ', CliForegroundColor.Yellow));
111
+ if (result === null) {
112
+ context.writer.writeln('null');
113
+ }
114
+ else if (result === undefined) {
115
+ context.writer.writeln('undefined');
116
+ }
117
+ else if (typeof result === 'boolean') {
118
+ context.writer.writeln(result.toString());
119
+ }
120
+ else if (typeof result === 'number') {
121
+ context.writer.writeln(result.toString());
122
+ }
123
+ else if (Array.isArray(result)) {
124
+ context.writer.writeJson(result);
125
+ }
126
+ else if (typeof result === 'string') {
127
+ context.writer.writeln(result);
128
+ }
129
+ else if (typeof result === 'object') {
130
+ context.writer.writeJson(result);
131
+ }
132
+ else {
133
+ context.writer.writeln(result?.toString());
134
+ }
135
+ },
136
+ writeDescription: (context) => {
137
+ context.writer.writeln(func);
138
+ },
139
+ };
140
+ if (supportsDynamicArgs) {
141
+ processor.parameters?.push({
142
+ name: 'delimiter',
143
+ description: 'Delimiter',
144
+ type: 'string',
145
+ required: false,
146
+ });
147
+ }
148
+ if (supportsMultipleArgs) {
149
+ processor.parameters?.push(...args.slice(1).map((arg) => ({
150
+ name: arg,
151
+ description: arg,
152
+ type: 'string',
153
+ required: false,
154
+ })));
155
+ }
156
+ processors.push(processor);
157
+ }
158
+ return processors;
159
+ }
160
+ static supportsDynamicArgs(func) {
161
+ const funcStr = func.toString();
162
+ return funcStr.includes('arguments');
163
+ }
164
+ static getFunctionArguments(func) {
165
+ const funcStr = func.toString();
166
+ const args = funcStr.match(/\(([^)]*)\)/);
167
+ if (!args) {
168
+ return [];
169
+ }
170
+ return args[1]
171
+ .split(',')
172
+ .map((arg) => arg.trim())
173
+ .filter((arg) => arg !== '');
174
+ }
175
+ }
176
+
33
177
  const getParameterValue = (p, args) => {
34
178
  return (args[p.name] ??
35
179
  (p.aliases?.find((alias) => args[alias]) &&
@@ -84,6 +228,7 @@ const utils = {
84
228
  toQueryString,
85
229
  highlightTextWithBg,
86
230
  getRightOfWord,
231
+ ObjectDescriber,
87
232
  };
88
233
 
89
234
  const initializeBrowserEnvironment = ({ handlers, }) => {
@@ -96,6 +241,7 @@ const initializeBrowserEnvironment = ({ handlers, }) => {
96
241
  },
97
242
  ...constants,
98
243
  ...utils,
244
+ ...enums,
99
245
  };
100
246
  window.ngCore = {
101
247
  Injectable: () => { },
@@ -118,5 +264,5 @@ const bootUmdModule = async (module) => {
118
264
  * Generated bundle index. Do not edit.
119
265
  */
120
266
 
121
- export { CliBackgroundColor, CliForegroundColor, DefaultLibraryAuthor, bootUmdModule, colorizeJson, constants, formatJson, getParameterValue, getRightOfWord, highlightTextWithBg, initializeBrowserEnvironment, toQueryString, utils };
267
+ export { CliBackgroundColor, CliForegroundColor, CliIcon, DefaultLibraryAuthor, ObjectDescriber, bootUmdModule, colorizeJson, constants, enums, formatJson, getParameterValue, getRightOfWord, highlightTextWithBg, initializeBrowserEnvironment, toQueryString, utils };
122
268
  //# sourceMappingURL=qodalis-cli-core.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"qodalis-cli-core.mjs","sources":["../../../projects/core/src/lib/models/index.ts","../../../projects/core/src/lib/constants/index.ts","../../../projects/core/src/lib/utils/index.ts","../../../projects/core/src/lib/modules/index.ts","../../../projects/core/src/public-api.ts","../../../projects/core/src/qodalis-cli-core.ts"],"sourcesContent":["import { ITerminalInitOnlyOptions, ITerminalOptions } from '@xterm/xterm';\n\nexport type CliProcessCommand = {\n /**\n * The command that was entered\n */\n command: string;\n\n /**\n * The chain of commands that were entered\n */\n chainCommands: string[];\n\n /**\n * The raw command that was entered\n */\n rawCommand: string;\n\n /**\n * The value of the command\n */\n value?: string;\n\n /**\n * The arguments that were entered\n */\n args: Record<string, any>;\n};\n\nexport enum CliForegroundColor {\n Black = '\\x1b[30m',\n Red = '\\x1b[31m',\n Green = '\\x1b[32m',\n Yellow = '\\x1b[33m',\n Blue = '\\x1b[34m',\n Magenta = '\\x1b[35m',\n Cyan = '\\x1b[36m',\n White = '\\x1b[37m',\n Reset = '\\x1b[0m',\n}\n\nexport enum CliBackgroundColor {\n Black = '\\x1b[40m',\n Red = '\\x1b[41m',\n Green = '\\x1b[42m',\n Yellow = '\\x1b[43m',\n Blue = '\\x1b[44m',\n Magenta = '\\x1b[45m',\n Cyan = '\\x1b[46m',\n White = '\\x1b[47m',\n}\n\nexport interface ICliUser extends Record<string, any> {\n /**\n * The id of the user\n */\n id: string;\n\n /**\n * The name of the user\n */\n name: string;\n\n /**\n * The email of the user\n */\n email: string;\n}\n\nexport interface ICliUserSession {\n /**\n * The user associated with the session\n */\n user: ICliUser;\n\n /**\n * The data associated with the user session\n */\n data?: Record<string, any>;\n}\n\n/**\n * Options for the CLI\n */\nexport type CliOptions = {\n /**\n * The welcome message to display when the CLI starts\n */\n welcomeMessage?: string;\n\n /**\n * Hide the prompt to display when the CLI is ready to accept input\n */\n hideUserName?: boolean;\n\n /**\n * Custom terminal options\n */\n terminalOptions?: ITerminalOptions & ITerminalInitOnlyOptions;\n};\n\n/**\n * Represents a package that can be installed\n */\nexport interface Package {\n /**\n * The name of the package\n */\n name: string;\n\n /**\n * The global name used to access the package\n */\n globalName?: string;\n\n /**\n * The version of the package\n */\n version: string;\n\n /**\n * The unpkg url to the package\n */\n url: string;\n\n /**\n * The dependencies for the module\n */\n dependencies?: Package[];\n}\n","import { ICliCommandAuthor } from '../interfaces';\n\nexport const DefaultLibraryAuthor: ICliCommandAuthor = {\n name: 'Nicolae Lupei',\n email: 'nicolae.lupei@qodalis.com',\n};\n\nexport const constants = {\n DefaultLibraryAuthor,\n};\n","import { ICliCommandParameterDescriptor } from '../interfaces';\nimport { CliBackgroundColor, CliForegroundColor } from '../models';\n\nexport const getParameterValue = (\n p: ICliCommandParameterDescriptor,\n args: Record<string, any>,\n): any | undefined => {\n return (\n args[p.name] ??\n (p.aliases?.find((alias) => args[alias]) &&\n args[p.aliases!.find((alias) => args[alias])!])\n );\n};\n\nexport const formatJson = (json: any): string => {\n const identedJson = JSON.stringify(json, null, 2);\n\n return colorizeJson(identedJson.split('\\n').join('\\r\\n'));\n};\n\nexport const colorizeJson = (jsonString: any): string => {\n return jsonString\n .replace(/\"([^\"]+)\":/g, '\\x1b[33m\"$1\":\\x1b[0m') // Keys (yellow)\n .replace(/: \"([^\"]*)\"/g, ': \\x1b[32m\"$1\"\\x1b[0m') // Strings (green)\n .replace(/: (\\d+)/g, ': \\x1b[34m$1\\x1b[0m') // Numbers (blue)\n .replace(/: (true|false)/g, ': \\x1b[35m$1\\x1b[0m') // Booleans (magenta)\n .replace(/: (null)/g, ': \\x1b[36m$1\\x1b[0m'); // Null (cyan)\n};\n\nexport const toQueryString = (params: Record<string, any>): string => {\n const searchParams = new URLSearchParams();\n\n for (const key in params) {\n if (params.hasOwnProperty(key)) {\n const value = params[key];\n // Handle array and non-primitive values\n if (Array.isArray(value)) {\n value.forEach((v) => searchParams.append(key, v.toString()));\n } else if (value !== null && value !== undefined) {\n searchParams.append(key, value.toString());\n }\n }\n }\n\n return searchParams.toString();\n};\n\nexport const highlightTextWithBg = (\n text: string,\n pattern: RegExp,\n bgColor: CliBackgroundColor = CliBackgroundColor.Yellow,\n): string => {\n // Replace matches with background-colored text\n return text.replace(\n pattern,\n (match) => `${bgColor}${match}${CliForegroundColor.Reset}`,\n );\n};\n\nexport const getRightOfWord = (\n command: string,\n word: string,\n): string | undefined => {\n // Find the position of the word in the command\n const index = command.indexOf(word);\n\n // If the word is found, extract the substring to the right\n if (index !== -1) {\n return command.slice(index + word.length).trim();\n }\n\n // If the word is not found, return null\n return undefined;\n};\n\nexport const utils = {\n getParameterValue,\n formatJson,\n colorizeJson,\n toQueryString,\n highlightTextWithBg,\n getRightOfWord,\n};\n","import { constants } from '../constants';\nimport { ICliUmdModule } from '../interfaces';\nimport { utils } from '../utils';\n\nexport const initializeBrowserEnvironment = ({\n handlers,\n}: {\n handlers: ((module: ICliUmdModule) => Promise<void>)[];\n}): void => {\n (window as any).cliCore = {\n onUmdModuleBoot: handlers || [],\n bootUmdModule: async (module: ICliUmdModule) => {\n console.log('Booting UMD module', module.name);\n (window as any)[module.name] = module;\n handlers.forEach(async (handler) => await handler(module));\n },\n ...constants,\n ...utils,\n };\n\n (window as any).ngCore = {\n Injectable: () => {},\n };\n};\n\nexport const bootUmdModule = async (module: ICliUmdModule): Promise<void> => {\n if (typeof (window as any) !== 'undefined') {\n await (window as any).cliCore.bootUmdModule(module);\n } else {\n console.log('window is undefined');\n }\n};\n","/*\n * Public API Surface of core\n */\n\nexport * from './lib/models';\n\nexport * from './lib/interfaces';\n\nexport * from './lib/modules';\n\nexport * from './lib/utils';\n\nexport * from './lib/constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qodalis-cli-core.mjs","sources":["../../../projects/core/src/lib/models/index.ts","../../../projects/core/src/lib/constants/index.ts","../../../projects/core/src/lib/utils/object-describer.ts","../../../projects/core/src/lib/utils/index.ts","../../../projects/core/src/lib/modules/index.ts","../../../projects/core/src/public-api.ts","../../../projects/core/src/qodalis-cli-core.ts"],"sourcesContent":["import { ITerminalInitOnlyOptions, ITerminalOptions } from '@xterm/xterm';\n\nexport type CliProcessCommand = {\n /**\n * The command that was entered\n */\n command: string;\n\n /**\n * The chain of commands that were entered\n */\n chainCommands: string[];\n\n /**\n * The raw command that was entered\n */\n rawCommand: string;\n\n /**\n * The value of the command\n */\n value?: string;\n\n /**\n * The arguments that were entered\n */\n args: Record<string, any>;\n};\n\nexport enum CliForegroundColor {\n Black = '\\x1b[30m',\n Red = '\\x1b[31m',\n Green = '\\x1b[32m',\n Yellow = '\\x1b[33m',\n Blue = '\\x1b[34m',\n Magenta = '\\x1b[35m',\n Cyan = '\\x1b[36m',\n White = '\\x1b[37m',\n Reset = '\\x1b[0m',\n}\n\nexport enum CliBackgroundColor {\n Black = '\\x1b[40m',\n Red = '\\x1b[41m',\n Green = '\\x1b[42m',\n Yellow = '\\x1b[43m',\n Blue = '\\x1b[44m',\n Magenta = '\\x1b[45m',\n Cyan = '\\x1b[46m',\n White = '\\x1b[47m',\n}\n\nexport enum CliIcon {\n CheckIcon = '✔',\n CrossIcon = '✘',\n InfoIcon = 'ℹ',\n WarningIcon = '⚠',\n}\n\nexport type ICliUser = {\n /**\n * The id of the user\n */\n id: string;\n\n /**\n * The name of the user\n */\n name: string;\n\n /**\n * The email of the user\n */\n email: string;\n\n /**\n * The groups the user belongs to\n * @default []\n */\n groups?: string[];\n};\n\nexport interface ICliUserSession {\n /**\n * The user associated with the session\n */\n user: ICliUser;\n\n /**\n * The data associated with the user session\n */\n data?: Record<string, any>;\n}\n\n/**\n * Options for the CLI\n */\nexport type CliOptions = Record<string, any> & {\n /**\n * The welcome message to display when the CLI starts\n */\n welcomeMessage?: string;\n\n /**\n * If true, the welcome message is hidden\n * @default false\n */\n hideWelcomeMessage?: boolean;\n\n /**\n * Users module options\n */\n usersModule?: {\n /**\n * If true, the users module is enabled\n */\n enabled: boolean;\n\n /**\n * Hide the prompt to display when the CLI is ready to accept input\n */\n hideUserName?: boolean;\n };\n\n /**\n * Custom terminal options\n */\n terminalOptions?: ITerminalOptions & ITerminalInitOnlyOptions;\n};\n\n/**\n * Represents a package that can be installed\n */\nexport interface Package {\n /**\n * The name of the package\n */\n name: string;\n\n /**\n * The global name used to access the package\n */\n globalName?: string;\n\n /**\n * The version of the package\n */\n version: string;\n\n /**\n * The unpkg url to the package\n */\n url: string;\n\n /**\n * The dependencies for the module\n */\n dependencies?: Package[];\n}\n\n/**\n * Represents command processor metadata\n */\nexport type CliProcessorMetadata = Record<string, any> & {\n /**\n * If true, the processor is sealed and cannot be extended\n */\n sealed?: boolean;\n\n /**\n * If true, the processor requires the server to be running\n */\n requireServer?: boolean;\n\n /**\n * The module the processor belongs to\n */\n module?: string;\n};\n\nexport const enums = {\n CliForegroundColor,\n CliBackgroundColor,\n CliIcon,\n};\n","import { ICliCommandAuthor } from '../interfaces';\n\nexport const DefaultLibraryAuthor: ICliCommandAuthor = {\n name: 'Nicolae Lupei',\n email: 'nicolae.lupei@qodalis.com',\n};\n\nexport const constants = {\n DefaultLibraryAuthor,\n};\n","import { ICliCommandProcessor, ICliExecutionContext } from '../interfaces';\nimport { CliForegroundColor, CliProcessCommand } from '../models';\n\nexport class ObjectDescriber {\n static describe(\n obj: any,\n options?: {\n filter?: (o: {\n funcName: string;\n func: any;\n args: string[];\n }) => boolean;\n },\n ): ICliCommandProcessor[] {\n const { filter } = options || {};\n\n const processors: ICliCommandProcessor[] = [];\n\n const keys = Object.keys(obj);\n\n const functions = keys.filter((key) => typeof obj[key] === 'function');\n\n for (const func of functions) {\n const funcValue = obj[func];\n const args = this.getFunctionArguments(funcValue);\n\n if (filter) {\n const shouldInclude = filter({\n funcName: func,\n func: funcValue,\n args,\n });\n\n if (!shouldInclude) {\n continue;\n }\n }\n\n const supportsMultipleArgs = args.length > 1;\n\n const supportsDynamicArgs = this.supportsDynamicArgs(funcValue);\n\n if (args.length === 0 && !supportsDynamicArgs) {\n continue;\n }\n\n if (\n args.length > 0 &&\n args.some((arg) => arg === 'function' || arg === 'func')\n ) {\n continue;\n }\n\n const processor: ICliCommandProcessor = {\n command: func,\n description: `A command that executes the function ${func} with the provided arguments`,\n allowUnlistedCommands: true,\n valueRequired: true,\n parameters: [\n {\n name: 'debug',\n description: 'Debug',\n type: 'boolean',\n required: false,\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const debug = command.args['debug'] as boolean;\n\n if (debug) {\n context.writer.writeln('Executing command: ' + func);\n context.writer.writeln(\n 'Arguments: ' + JSON.stringify(command.args),\n );\n context.writer.writeln(\n 'Function: ' + funcValue.toString(),\n );\n }\n\n const argsToCallF: any[] = [];\n\n if (supportsMultipleArgs) {\n for (const arg of args.slice(1)) {\n argsToCallF.push(command.args[arg]);\n }\n }\n\n if (supportsDynamicArgs) {\n const delimiter = command.args['delimiter'] || ',';\n argsToCallF.push(...command.value!.split(delimiter));\n }\n\n if (debug) {\n context.writer.writeln(\n 'Arguments after processing: ' +\n JSON.stringify(argsToCallF),\n );\n }\n\n const result =\n supportsDynamicArgs && args.length === 0\n ? funcValue(...argsToCallF)\n : funcValue(command.value, ...argsToCallF);\n\n context.writer.write(\n context.writer.wrapInColor(\n 'Result: ',\n CliForegroundColor.Yellow,\n ),\n );\n\n if (result === null) {\n context.writer.writeln('null');\n } else if (result === undefined) {\n context.writer.writeln('undefined');\n } else if (typeof result === 'boolean') {\n context.writer.writeln(result.toString());\n } else if (typeof result === 'number') {\n context.writer.writeln(result.toString());\n } else if (Array.isArray(result)) {\n context.writer.writeJson(result);\n } else if (typeof result === 'string') {\n context.writer.writeln(result);\n } else if (typeof result === 'object') {\n context.writer.writeJson(result);\n } else {\n context.writer.writeln(result?.toString());\n }\n },\n writeDescription: (context: ICliExecutionContext) => {\n context.writer.writeln(func);\n },\n };\n\n if (supportsDynamicArgs) {\n processor.parameters?.push({\n name: 'delimiter',\n description: 'Delimiter',\n type: 'string',\n required: false,\n });\n }\n\n if (supportsMultipleArgs) {\n processor.parameters?.push(\n ...args.slice(1).map((arg) => ({\n name: arg,\n description: arg,\n type: 'string',\n required: false,\n })),\n );\n }\n\n processors.push(processor);\n }\n\n return processors;\n }\n\n static supportsDynamicArgs(func: any): boolean {\n const funcStr = func.toString();\n return funcStr.includes('arguments');\n }\n\n static getFunctionArguments(func: any): string[] {\n const funcStr = func.toString();\n const args = funcStr.match(/\\(([^)]*)\\)/);\n if (!args) {\n return [];\n }\n return args[1]\n .split(',')\n .map((arg: string) => arg.trim())\n .filter((arg: string) => arg !== '');\n }\n}\n","import { ICliCommandParameterDescriptor } from '../interfaces';\nimport { CliBackgroundColor, CliForegroundColor } from '../models';\nimport { ObjectDescriber } from './object-describer';\n\nexport const getParameterValue = (\n p: ICliCommandParameterDescriptor,\n args: Record<string, any>,\n): any | undefined => {\n return (\n args[p.name] ??\n (p.aliases?.find((alias) => args[alias]) &&\n args[p.aliases!.find((alias) => args[alias])!])\n );\n};\n\nexport const formatJson = (json: any): string => {\n const identedJson = JSON.stringify(json, null, 2);\n\n return colorizeJson(identedJson.split('\\n').join('\\r\\n'));\n};\n\nexport const colorizeJson = (jsonString: any): string => {\n return jsonString\n .replace(/\"([^\"]+)\":/g, '\\x1b[33m\"$1\":\\x1b[0m') // Keys (yellow)\n .replace(/: \"([^\"]*)\"/g, ': \\x1b[32m\"$1\"\\x1b[0m') // Strings (green)\n .replace(/: (\\d+)/g, ': \\x1b[34m$1\\x1b[0m') // Numbers (blue)\n .replace(/: (true|false)/g, ': \\x1b[35m$1\\x1b[0m') // Booleans (magenta)\n .replace(/: (null)/g, ': \\x1b[36m$1\\x1b[0m'); // Null (cyan)\n};\n\nexport const toQueryString = (params: Record<string, any>): string => {\n const searchParams = new URLSearchParams();\n\n for (const key in params) {\n if (params.hasOwnProperty(key)) {\n const value = params[key];\n // Handle array and non-primitive values\n if (Array.isArray(value)) {\n value.forEach((v) => searchParams.append(key, v.toString()));\n } else if (value !== null && value !== undefined) {\n searchParams.append(key, value.toString());\n }\n }\n }\n\n return searchParams.toString();\n};\n\nexport const highlightTextWithBg = (\n text: string,\n pattern: RegExp,\n bgColor: CliBackgroundColor = CliBackgroundColor.Yellow,\n): string => {\n // Replace matches with background-colored text\n return text.replace(\n pattern,\n (match) => `${bgColor}${match}${CliForegroundColor.Reset}`,\n );\n};\n\nexport const getRightOfWord = (\n command: string,\n word: string,\n): string | undefined => {\n // Find the position of the word in the command\n const index = command.indexOf(word);\n\n // If the word is found, extract the substring to the right\n if (index !== -1) {\n return command.slice(index + word.length).trim();\n }\n\n // If the word is not found, return null\n return undefined;\n};\n\nexport * from './object-describer';\n\nexport const utils = {\n getParameterValue,\n formatJson,\n colorizeJson,\n toQueryString,\n highlightTextWithBg,\n getRightOfWord,\n ObjectDescriber,\n};\n","import { enums } from '../models';\nimport { constants } from '../constants';\nimport { ICliUmdModule } from '../interfaces';\nimport { utils } from '../utils';\n\nexport const initializeBrowserEnvironment = ({\n handlers,\n}: {\n handlers: ((module: ICliUmdModule) => Promise<void>)[];\n}): void => {\n (window as any).cliCore = {\n onUmdModuleBoot: handlers || [],\n bootUmdModule: async (module: ICliUmdModule) => {\n console.log('Booting UMD module', module.name);\n (window as any)[module.name] = module;\n handlers.forEach(async (handler) => await handler(module));\n },\n ...constants,\n ...utils,\n ...enums,\n };\n\n (window as any).ngCore = {\n Injectable: () => {},\n };\n};\n\nexport const bootUmdModule = async (module: ICliUmdModule): Promise<void> => {\n if (typeof (window as any) !== 'undefined') {\n await (window as any).cliCore.bootUmdModule(module);\n } else {\n console.log('window is undefined');\n }\n};\n","/*\n * Public API Surface of core\n */\n\nexport * from './lib/models';\n\nexport * from './lib/interfaces';\n\nexport * from './lib/modules';\n\nexport * from './lib/utils';\n\nexport * from './lib/constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Terminal } from '@xterm/xterm';
2
2
  import { Observable, Subject } from 'rxjs';
3
- import { CliBackgroundColor, CliForegroundColor, CliOptions, CliProcessCommand, ICliUser, ICliUserSession } from '../models';
3
+ import { CliBackgroundColor, CliForegroundColor, CliOptions, CliProcessCommand, CliProcessorMetadata, ICliUser, ICliUserSession } from '../models';
4
4
  export interface ICliCommandAuthor {
5
5
  /**
6
6
  * The name of the author
@@ -41,9 +41,9 @@ export interface ICliCommandProcessor {
41
41
  */
42
42
  version?: string;
43
43
  /**
44
- * If true, the processor is sealed and cannot be extended
44
+ * The metadata for the command processor
45
45
  */
46
- sealed?: boolean;
46
+ metadata?: CliProcessorMetadata;
47
47
  /**
48
48
  * Processors that are nested under this processor
49
49
  */
@@ -189,7 +189,7 @@ export interface ICliTerminalWriter {
189
189
  * @param objects The objects to write to the table
190
190
  * @returns void
191
191
  */
192
- writeObjectArrayTable(objects: any[]): void;
192
+ writeObjectsAsTable(objects: any[]): void;
193
193
  /**
194
194
  * Write a table to the terminal
195
195
  * @param headers The headers of the table
@@ -216,7 +216,19 @@ export interface ICliProgressBar {
216
216
  * Represents a spinner for the CLI
217
217
  */
218
218
  export interface ICliSpinner extends ICliProgressBar {
219
+ /**
220
+ * Set the text of the spinner
221
+ * @param text The text to set
222
+ */
223
+ setText: (text: string) => void;
219
224
  }
225
+ export type CliPercentageProgressBarUpdateValueOptions = {
226
+ /**
227
+ * The type of update to perform
228
+ * @default 'replace'
229
+ */
230
+ type?: 'replace' | 'increment';
231
+ };
220
232
  /**
221
233
  * Represents a progress bar for the CLI
222
234
  */
@@ -226,12 +238,17 @@ export interface ICliPercentageProgressBar extends ICliProgressBar {
226
238
  * @param progress The progress to update to
227
239
  * @returns void
228
240
  */
229
- update: (progress: number) => void;
241
+ update: (progress: number, options?: CliPercentageProgressBarUpdateValueOptions) => void;
230
242
  /**
231
243
  * Complete the progress bar
232
244
  * @returns void
233
245
  */
234
246
  complete: () => void;
247
+ /**
248
+ * Set the text of the spinner
249
+ * @param text The text to set
250
+ */
251
+ setText: (text: string) => void;
235
252
  }
236
253
  /**
237
254
  * Represents a clipboard for the CLI
@@ -375,12 +392,16 @@ export interface ICliUsersStoreService {
375
392
  * Gets the current users
376
393
  * @returns An observable that emits the current users
377
394
  */
378
- getUsers(): Observable<ICliUser[]>;
395
+ getUsers(options?: {
396
+ query?: string;
397
+ skip?: number;
398
+ take?: number;
399
+ }): Observable<ICliUser[]>;
379
400
  /**
380
- * Sets the current users
381
- * @param users The users to set
401
+ * Creates a user
402
+ * @param user The user to create
382
403
  */
383
- setUsers(users: ICliUser[]): Promise<void>;
404
+ createUser(user: Omit<ICliUser, 'id'>): Promise<ICliUser>;
384
405
  /**
385
406
  * Gets a user by id
386
407
  * @param id The id of the user to get
@@ -42,7 +42,13 @@ export declare enum CliBackgroundColor {
42
42
  Cyan = "\u001B[46m",
43
43
  White = "\u001B[47m"
44
44
  }
45
- export interface ICliUser extends Record<string, any> {
45
+ export declare enum CliIcon {
46
+ CheckIcon = "\u2714",
47
+ CrossIcon = "\u2718",
48
+ InfoIcon = "\u2139",
49
+ WarningIcon = "\u26A0"
50
+ }
51
+ export type ICliUser = {
46
52
  /**
47
53
  * The id of the user
48
54
  */
@@ -55,7 +61,12 @@ export interface ICliUser extends Record<string, any> {
55
61
  * The email of the user
56
62
  */
57
63
  email: string;
58
- }
64
+ /**
65
+ * The groups the user belongs to
66
+ * @default []
67
+ */
68
+ groups?: string[];
69
+ };
59
70
  export interface ICliUserSession {
60
71
  /**
61
72
  * The user associated with the session
@@ -69,15 +80,29 @@ export interface ICliUserSession {
69
80
  /**
70
81
  * Options for the CLI
71
82
  */
72
- export type CliOptions = {
83
+ export type CliOptions = Record<string, any> & {
73
84
  /**
74
85
  * The welcome message to display when the CLI starts
75
86
  */
76
87
  welcomeMessage?: string;
77
88
  /**
78
- * Hide the prompt to display when the CLI is ready to accept input
89
+ * If true, the welcome message is hidden
90
+ * @default false
79
91
  */
80
- hideUserName?: boolean;
92
+ hideWelcomeMessage?: boolean;
93
+ /**
94
+ * Users module options
95
+ */
96
+ usersModule?: {
97
+ /**
98
+ * If true, the users module is enabled
99
+ */
100
+ enabled: boolean;
101
+ /**
102
+ * Hide the prompt to display when the CLI is ready to accept input
103
+ */
104
+ hideUserName?: boolean;
105
+ };
81
106
  /**
82
107
  * Custom terminal options
83
108
  */
@@ -108,3 +133,25 @@ export interface Package {
108
133
  */
109
134
  dependencies?: Package[];
110
135
  }
136
+ /**
137
+ * Represents command processor metadata
138
+ */
139
+ export type CliProcessorMetadata = Record<string, any> & {
140
+ /**
141
+ * If true, the processor is sealed and cannot be extended
142
+ */
143
+ sealed?: boolean;
144
+ /**
145
+ * If true, the processor requires the server to be running
146
+ */
147
+ requireServer?: boolean;
148
+ /**
149
+ * The module the processor belongs to
150
+ */
151
+ module?: string;
152
+ };
153
+ export declare const enums: {
154
+ CliForegroundColor: typeof CliForegroundColor;
155
+ CliBackgroundColor: typeof CliBackgroundColor;
156
+ CliIcon: typeof CliIcon;
157
+ };
@@ -1,11 +1,13 @@
1
1
  import { ICliCommandParameterDescriptor } from '../interfaces';
2
2
  import { CliBackgroundColor } from '../models';
3
+ import { ObjectDescriber } from './object-describer';
3
4
  export declare const getParameterValue: (p: ICliCommandParameterDescriptor, args: Record<string, any>) => any | undefined;
4
5
  export declare const formatJson: (json: any) => string;
5
6
  export declare const colorizeJson: (jsonString: any) => string;
6
7
  export declare const toQueryString: (params: Record<string, any>) => string;
7
8
  export declare const highlightTextWithBg: (text: string, pattern: RegExp, bgColor?: CliBackgroundColor) => string;
8
9
  export declare const getRightOfWord: (command: string, word: string) => string | undefined;
10
+ export * from './object-describer';
9
11
  export declare const utils: {
10
12
  getParameterValue: (p: ICliCommandParameterDescriptor, args: Record<string, any>) => any | undefined;
11
13
  formatJson: (json: any) => string;
@@ -13,4 +15,5 @@ export declare const utils: {
13
15
  toQueryString: (params: Record<string, any>) => string;
14
16
  highlightTextWithBg: (text: string, pattern: RegExp, bgColor?: CliBackgroundColor) => string;
15
17
  getRightOfWord: (command: string, word: string) => string | undefined;
18
+ ObjectDescriber: typeof ObjectDescriber;
16
19
  };
@@ -0,0 +1,12 @@
1
+ import { ICliCommandProcessor } from '../interfaces';
2
+ export declare class ObjectDescriber {
3
+ static describe(obj: any, options?: {
4
+ filter?: (o: {
5
+ funcName: string;
6
+ func: any;
7
+ args: string[];
8
+ }) => boolean;
9
+ }): ICliCommandProcessor[];
10
+ static supportsDynamicArgs(func: any): boolean;
11
+ static getFunctionArguments(func: any): string[];
12
+ }
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@qodalis/cli-core",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "Core Angular CLI for @qodalis extensions.",
5
5
  "author": "Nicolae Lupei, Qodalis Solutions",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "https://github.com/qodalis-solutions/qodalis-angular-cli"
9
+ "url": "https://github.com/qodalis-solutions/angular-web-cli"
10
10
  },
11
11
  "homepage": "https://qodalis.com",
12
12
  "keywords": [