@nikovirtala/projen-constructs 0.1.8 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/.jsii +2021 -157
  2. package/API.md +769 -52
  3. package/README.md +37 -8
  4. package/docs/api/.nojekyll +1 -0
  5. package/docs/api/assets/hierarchy.js +1 -0
  6. package/docs/api/assets/highlight.css +99 -0
  7. package/docs/api/assets/icons.js +18 -0
  8. package/docs/api/assets/icons.svg +1 -0
  9. package/docs/api/assets/main.js +60 -0
  10. package/docs/api/assets/navigation.js +1 -0
  11. package/docs/api/assets/search.js +1 -0
  12. package/docs/api/assets/style.css +1633 -0
  13. package/docs/api/classes/AwsCdkConstructLibraryProject.html +308 -0
  14. package/docs/api/classes/AwsCdkTypeScriptAppProject.html +306 -0
  15. package/docs/api/classes/JsiiProject.html +294 -0
  16. package/docs/api/classes/ProjectGenerator.html +38 -0
  17. package/docs/api/classes/TypeDoc.html +37 -0
  18. package/docs/api/classes/TypeScriptProject.html +294 -0
  19. package/docs/api/classes/Vitest.html +38 -0
  20. package/docs/api/enums/CommentStyle.html +11 -0
  21. package/docs/api/enums/CoverageProvider.html +7 -0
  22. package/docs/api/enums/CoverageReporter.html +11 -0
  23. package/docs/api/enums/EntryPointStrategy.html +11 -0
  24. package/docs/api/enums/Environment.html +12 -0
  25. package/docs/api/enums/LogLevel.html +13 -0
  26. package/docs/api/enums/Pool.html +17 -0
  27. package/docs/api/enums/ProjectType.html +47 -0
  28. package/docs/api/enums/Visibility.html +9 -0
  29. package/docs/api/functions/applyDefaults.html +1 -0
  30. package/docs/api/functions/toJson_TypeDocConfiguration.html +2 -0
  31. package/docs/api/hierarchy.html +1 -0
  32. package/docs/api/index.html +86 -0
  33. package/docs/api/interfaces/AwsCdkConstructLibraryProjectOptions.html +1075 -0
  34. package/docs/api/interfaces/AwsCdkTypeScriptAppProjectOptions.html +1026 -0
  35. package/docs/api/interfaces/Component.html +13 -0
  36. package/docs/api/interfaces/ComponentOptions.html +8 -0
  37. package/docs/api/interfaces/JsiiProjectOptions.html +1003 -0
  38. package/docs/api/interfaces/ProjectGeneratorOptions.html +49 -0
  39. package/docs/api/interfaces/TypeDocConfiguration.html +141 -0
  40. package/docs/api/interfaces/TypeDocOptions.html +9 -0
  41. package/docs/api/interfaces/TypeScriptProjectOptions.html +899 -0
  42. package/docs/api/interfaces/ValidationOptions.html +9 -0
  43. package/docs/api/interfaces/VitestConfigOptions.html +111 -0
  44. package/docs/api/interfaces/VitestOptions.html +13 -0
  45. package/docs/api/modules.html +1 -0
  46. package/docs/api/variables/defaultOptions.html +1 -0
  47. package/docs/api/variables/defaults.html +1 -0
  48. package/docs/api/variables/projectDefaultOptions.html +1 -0
  49. package/lib/components/typedoc-config.d.ts +321 -0
  50. package/lib/components/typedoc-config.js +73 -1
  51. package/lib/components/typedoc.d.ts +19 -0
  52. package/lib/components/typedoc.js +14 -1
  53. package/lib/components/vitest.d.ts +197 -0
  54. package/lib/components/vitest.js +72 -2
  55. package/lib/config.d.ts +4 -4
  56. package/lib/errors.d.ts +16 -0
  57. package/lib/errors.js +26 -2
  58. package/lib/index.d.ts +2 -0
  59. package/lib/index.js +3 -1
  60. package/lib/project-generator.d.ts +87 -63
  61. package/lib/project-generator.js +344 -60
  62. package/lib/project-type.d.ts +78 -16
  63. package/lib/project-type.js +79 -17
  64. package/lib/projects/awscdk-construct-library.generated.js +4 -4
  65. package/lib/projects/awscdk-typescript-app.generated.js +4 -4
  66. package/lib/projects/jsii-options.generated.d.ts +11 -1
  67. package/lib/projects/jsii-options.generated.js +1 -1
  68. package/lib/projects/jsii.generated.js +5 -4
  69. package/lib/projects/typescript.generated.js +4 -4
  70. package/lib/utils.d.ts +2 -2
  71. package/lib/utils.js +3 -3
  72. package/package.json +3 -1
  73. package/scripts/generate-project-types.ts +103 -0
  74. package/typedoc.jsonc +10 -0
@@ -2,6 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Visibility = exports.CommentStyle = exports.LogLevel = exports.EntryPointStrategy = void 0;
4
4
  exports.toJson_TypeDocConfiguration = toJson_TypeDocConfiguration;
5
+ /**
6
+ * Converts TypeDocConfiguration to JSON representation
7
+ * @internal
8
+ */
5
9
  function toJson_TypeDocConfiguration(obj) {
6
10
  if (obj === undefined) {
7
11
  return undefined;
@@ -62,32 +66,100 @@ function toJson_TypeDocConfiguration(obj) {
62
66
  }
63
67
  return filtered;
64
68
  }
69
+ /**
70
+ * Specifies the strategy to be used to convert entry points into documentation
71
+ *
72
+ * @see https://typedoc.org/documents/Options.Input.html#entrypointstrategy
73
+ */
65
74
  var EntryPointStrategy;
66
75
  (function (EntryPointStrategy) {
76
+ /**
77
+ * Expects all entry points to be contained within a single package
78
+ */
67
79
  EntryPointStrategy["RESOLVE"] = "resolve";
80
+ /**
81
+ * Expects all entry points to be top-level directories
82
+ */
68
83
  EntryPointStrategy["EXPAND"] = "expand";
84
+ /**
85
+ * Expects all entry points to be individual files
86
+ */
69
87
  EntryPointStrategy["PACKAGES"] = "packages";
88
+ /**
89
+ * Merges multiple projects into a single documentation site
90
+ */
70
91
  EntryPointStrategy["MERGE"] = "merge";
71
92
  })(EntryPointStrategy || (exports.EntryPointStrategy = EntryPointStrategy = {}));
93
+ /**
94
+ * Specifies the logger that should be used
95
+ *
96
+ * @see https://typedoc.org/documents/Options.Other.html#loglevel
97
+ */
72
98
  var LogLevel;
73
99
  (function (LogLevel) {
100
+ /**
101
+ * Log all messages including verbose debug information
102
+ */
74
103
  LogLevel["VERBOSE"] = "Verbose";
104
+ /**
105
+ * Log informational messages and above
106
+ */
75
107
  LogLevel["INFO"] = "Info";
108
+ /**
109
+ * Log warnings and errors only
110
+ */
76
111
  LogLevel["WARN"] = "Warn";
112
+ /**
113
+ * Log errors only
114
+ */
77
115
  LogLevel["ERROR"] = "Error";
116
+ /**
117
+ * Disable all logging
118
+ */
78
119
  LogLevel["NONE"] = "None";
79
120
  })(LogLevel || (exports.LogLevel = LogLevel = {}));
121
+ /**
122
+ * Specifies the documentation mode TypeDoc should use
123
+ *
124
+ * @see https://typedoc.org/documents/Options.Comments.html#commentstyle
125
+ */
80
126
  var CommentStyle;
81
127
  (function (CommentStyle) {
128
+ /**
129
+ * Parse JSDoc style comments only
130
+ */
82
131
  CommentStyle["JSDOC"] = "jsdoc";
132
+ /**
133
+ * Parse block comments
134
+ */
83
135
  CommentStyle["BLOCK"] = "block";
136
+ /**
137
+ * Parse line comments (//)
138
+ */
84
139
  CommentStyle["LINE"] = "line";
140
+ /**
141
+ * Parse all comment styles
142
+ */
85
143
  CommentStyle["ALL"] = "all";
86
144
  })(CommentStyle || (exports.CommentStyle = CommentStyle = {}));
145
+ /**
146
+ * Specifies the default visibility for members without a visibility tag
147
+ *
148
+ * @see https://typedoc.org/documents/Options.Comments.html#defaultvisibility
149
+ */
87
150
  var Visibility;
88
151
  (function (Visibility) {
152
+ /**
153
+ * Public visibility - accessible from anywhere
154
+ */
89
155
  Visibility["PUBLIC"] = "public";
156
+ /**
157
+ * Protected visibility - accessible from class and subclasses
158
+ */
90
159
  Visibility["PROTECTED"] = "protected";
160
+ /**
161
+ * Private visibility - accessible only within the class
162
+ */
91
163
  Visibility["PRIVATE"] = "private";
92
164
  })(Visibility || (exports.Visibility = Visibility = {}));
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWRvYy1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy90eXBlZG9jLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFpREEsa0VBNkRDO0FBN0RELFNBQWdCLDJCQUEyQixDQUN2QyxHQUFxQztJQUVyQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNwQixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQTRCO1FBQ3BDLFdBQVcsRUFBRSxHQUFHLENBQUMsV0FBVztRQUM1QixrQkFBa0IsRUFBRSxHQUFHLENBQUMsa0JBQWtCO1FBQzFDLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztRQUNwQixnQkFBZ0IsRUFBRSxHQUFHLENBQUMsZ0JBQWdCO1FBQ3RDLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYztRQUNsQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsZ0JBQWdCO1FBQ3RDLGVBQWUsRUFBRSxHQUFHLENBQUMsZUFBZTtRQUNwQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUc7UUFDWixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7UUFDZCxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7UUFDaEIsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRO1FBQ3RCLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtRQUNkLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYztRQUNsQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7UUFDdEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1FBQ2hCLFdBQVcsRUFBRSxHQUFHLENBQUMsV0FBVztRQUM1QixRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7UUFDdEIsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRO1FBQ3RCLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtRQUNkLGVBQWUsRUFBRSxHQUFHLENBQUMsZUFBZTtRQUNwQyxZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7UUFDOUIsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLGlCQUFpQjtRQUN4QyxlQUFlLEVBQUUsR0FBRyxDQUFDLGVBQWU7UUFDcEMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZO1FBQzlCLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxpQkFBaUI7UUFDeEMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLGlCQUFpQjtRQUN4QyxvQkFBb0IsRUFBRSxHQUFHLENBQUMsb0JBQW9CO1FBQzlDLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTtRQUNsQixXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7UUFDNUIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXO1FBQzVCLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUztRQUN4QixrQkFBa0IsRUFBRSxHQUFHLENBQUMsa0JBQWtCO1FBQzFDLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYztRQUNsQyxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7UUFDMUIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhO1FBQ2hDLHlCQUF5QixFQUFFLEdBQUcsQ0FBQyx5QkFBeUI7UUFDeEQsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTO1FBQ3hCLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxnQkFBZ0I7UUFDdEMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLGlCQUFpQjtRQUN4QyxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7UUFDMUIsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLHNCQUFzQjtRQUNsRCxxQkFBcUIsRUFBRSxHQUFHLENBQUMscUJBQXFCO1FBQ2hELCtCQUErQixFQUFFLEdBQUcsQ0FBQywrQkFBK0I7UUFDcEUsd0JBQXdCLEVBQUUsR0FBRyxDQUFDLHdCQUF3QjtRQUN0RCxlQUFlLEVBQUUsR0FBRyxDQUFDLGVBQWU7UUFDcEMsMEJBQTBCLEVBQUUsR0FBRyxDQUFDLDBCQUEwQjtLQUM3RCxDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQTRCLEVBQUUsQ0FBQztJQUM3QyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ2hELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDO0FBRUQsSUFBWSxrQkFLWDtBQUxELFdBQVksa0JBQWtCO0lBQzFCLHlDQUFtQixDQUFBO0lBQ25CLHVDQUFpQixDQUFBO0lBQ2pCLDJDQUFxQixDQUFBO0lBQ3JCLHFDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUxXLGtCQUFrQixrQ0FBbEIsa0JBQWtCLFFBSzdCO0FBRUQsSUFBWSxRQU1YO0FBTkQsV0FBWSxRQUFRO0lBQ2hCLCtCQUFtQixDQUFBO0lBQ25CLHlCQUFhLENBQUE7SUFDYix5QkFBYSxDQUFBO0lBQ2IsMkJBQWUsQ0FBQTtJQUNmLHlCQUFhLENBQUE7QUFDakIsQ0FBQyxFQU5XLFFBQVEsd0JBQVIsUUFBUSxRQU1uQjtBQUVELElBQVksWUFLWDtBQUxELFdBQVksWUFBWTtJQUNwQiwrQkFBZSxDQUFBO0lBQ2YsK0JBQWUsQ0FBQTtJQUNmLDZCQUFhLENBQUE7SUFDYiwyQkFBVyxDQUFBO0FBQ2YsQ0FBQyxFQUxXLFlBQVksNEJBQVosWUFBWSxRQUt2QjtBQUVELElBQVksVUFJWDtBQUpELFdBQVksVUFBVTtJQUNsQiwrQkFBaUIsQ0FBQTtJQUNqQixxQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsVUFBVSwwQkFBVixVQUFVLFFBSXJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUeXBlRG9jQ29uZmlndXJhdGlvbiB7XG4gICAgcmVhZG9ubHkgZW50cnlQb2ludHM/OiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBlbnRyeVBvaW50U3RyYXRlZ3k/OiBFbnRyeVBvaW50U3RyYXRlZ3k7XG4gICAgcmVhZG9ubHkgZXhjbHVkZT86IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IGV4Y2x1ZGVFeHRlcm5hbHM/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGV4Y2x1ZGVQcml2YXRlPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBleGNsdWRlUHJvdGVjdGVkPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBleGNsdWRlSW50ZXJuYWw/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IG91dD86IHN0cmluZztcbiAgICByZWFkb25seSBqc29uPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHRoZW1lPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGJhc2VQYXRoPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY2xlYW5PdXRwdXREaXI/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGluY2x1ZGVzPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IG1lZGlhPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHRzQnVpbGRJbmZvPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHRzY29uZmlnPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGxvZ0xldmVsPzogTG9nTGV2ZWw7XG4gICAgcmVhZG9ubHkgc29ydD86IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IHNvcnRFbnRyeVBvaW50cz86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgY29tbWVudFN0eWxlPzogQ29tbWVudFN0eWxlO1xuICAgIHJlYWRvbmx5IGRlZmF1bHRWaXNpYmlsaXR5PzogVmlzaWJpbGl0eTtcbiAgICByZWFkb25seSBkZWZhdWx0Q2F0ZWdvcnk/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgZGVmYXVsdEdyb3VwPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGNhdGVnb3JpemVCeUdyb3VwPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBzZWFyY2hHcm91cEJvb3N0cz86IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG4gICAgcmVhZG9ubHkgc2VhcmNoQ2F0ZWdvcnlCb29zdHM/OiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xuICAgIHJlYWRvbmx5IHJlYWRtZT86IHN0cmluZztcbiAgICByZWFkb25seSBwYWNrYWdlSnNvbj86IHN0cmluZztcbiAgICByZWFkb25seSBnaXRSZXZpc2lvbj86IHN0cmluZztcbiAgICByZWFkb25seSBnaXRSZW1vdGU/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc291cmNlTGlua1RlbXBsYXRlPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGRpc2FibGVTb3VyY2VzPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBkaXNhYmxlR2l0PzogYm9vbGVhbjtcbiAgICByZWFkb25seSBoaWRlR2VuZXJhdG9yPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBoaWRlUGFyYW1ldGVyVHlwZXNJblRpdGxlPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBjYWNoZUJ1c3Q/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IHNlYXJjaEluQ29tbWVudHM/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IHNlYXJjaEluRG9jdW1lbnRzPzogYm9vbGVhbjtcbiAgICByZWFkb25seSB2YWxpZGF0aW9uPzogVmFsaWRhdGlvbk9wdGlvbnM7XG4gICAgcmVhZG9ubHkgcmVxdWlyZWRUb0JlRG9jdW1lbnRlZD86IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IHRyZWF0V2FybmluZ3NBc0Vycm9ycz86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgdHJlYXRWYWxpZGF0aW9uV2FybmluZ3NBc0Vycm9ycz86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgaW50ZW50aW9uYWxseU5vdEV4cG9ydGVkPzogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgZXh0ZXJuYWxQYXR0ZXJuPzogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgZXh0ZXJuYWxTeW1ib2xMaW5rTWFwcGluZ3M/OiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9UeXBlRG9jQ29uZmlndXJhdGlvbihcbiAgICBvYmo6IFR5cGVEb2NDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkLFxuKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQge1xuICAgIGlmIChvYmogPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgICBlbnRyeVBvaW50czogb2JqLmVudHJ5UG9pbnRzLFxuICAgICAgICBlbnRyeVBvaW50U3RyYXRlZ3k6IG9iai5lbnRyeVBvaW50U3RyYXRlZ3ksXG4gICAgICAgIGV4Y2x1ZGU6IG9iai5leGNsdWRlLFxuICAgICAgICBleGNsdWRlRXh0ZXJuYWxzOiBvYmouZXhjbHVkZUV4dGVybmFscyxcbiAgICAgICAgZXhjbHVkZVByaXZhdGU6IG9iai5leGNsdWRlUHJpdmF0ZSxcbiAgICAgICAgZXhjbHVkZVByb3RlY3RlZDogb2JqLmV4Y2x1ZGVQcm90ZWN0ZWQsXG4gICAgICAgIGV4Y2x1ZGVJbnRlcm5hbDogb2JqLmV4Y2x1ZGVJbnRlcm5hbCxcbiAgICAgICAgb3V0OiBvYmoub3V0LFxuICAgICAgICBqc29uOiBvYmouanNvbixcbiAgICAgICAgdGhlbWU6IG9iai50aGVtZSxcbiAgICAgICAgYmFzZVBhdGg6IG9iai5iYXNlUGF0aCxcbiAgICAgICAgbmFtZTogb2JqLm5hbWUsXG4gICAgICAgIGNsZWFuT3V0cHV0RGlyOiBvYmouY2xlYW5PdXRwdXREaXIsXG4gICAgICAgIGluY2x1ZGVzOiBvYmouaW5jbHVkZXMsXG4gICAgICAgIG1lZGlhOiBvYmoubWVkaWEsXG4gICAgICAgIHRzQnVpbGRJbmZvOiBvYmoudHNCdWlsZEluZm8sXG4gICAgICAgIHRzY29uZmlnOiBvYmoudHNjb25maWcsXG4gICAgICAgIGxvZ0xldmVsOiBvYmoubG9nTGV2ZWwsXG4gICAgICAgIHNvcnQ6IG9iai5zb3J0LFxuICAgICAgICBzb3J0RW50cnlQb2ludHM6IG9iai5zb3J0RW50cnlQb2ludHMsXG4gICAgICAgIGNvbW1lbnRTdHlsZTogb2JqLmNvbW1lbnRTdHlsZSxcbiAgICAgICAgZGVmYXVsdFZpc2liaWxpdHk6IG9iai5kZWZhdWx0VmlzaWJpbGl0eSxcbiAgICAgICAgZGVmYXVsdENhdGVnb3J5OiBvYmouZGVmYXVsdENhdGVnb3J5LFxuICAgICAgICBkZWZhdWx0R3JvdXA6IG9iai5kZWZhdWx0R3JvdXAsXG4gICAgICAgIGNhdGVnb3JpemVCeUdyb3VwOiBvYmouY2F0ZWdvcml6ZUJ5R3JvdXAsXG4gICAgICAgIHNlYXJjaEdyb3VwQm9vc3RzOiBvYmouc2VhcmNoR3JvdXBCb29zdHMsXG4gICAgICAgIHNlYXJjaENhdGVnb3J5Qm9vc3RzOiBvYmouc2VhcmNoQ2F0ZWdvcnlCb29zdHMsXG4gICAgICAgIHJlYWRtZTogb2JqLnJlYWRtZSxcbiAgICAgICAgcGFja2FnZUpzb246IG9iai5wYWNrYWdlSnNvbixcbiAgICAgICAgZ2l0UmV2aXNpb246IG9iai5naXRSZXZpc2lvbixcbiAgICAgICAgZ2l0UmVtb3RlOiBvYmouZ2l0UmVtb3RlLFxuICAgICAgICBzb3VyY2VMaW5rVGVtcGxhdGU6IG9iai5zb3VyY2VMaW5rVGVtcGxhdGUsXG4gICAgICAgIGRpc2FibGVTb3VyY2VzOiBvYmouZGlzYWJsZVNvdXJjZXMsXG4gICAgICAgIGRpc2FibGVHaXQ6IG9iai5kaXNhYmxlR2l0LFxuICAgICAgICBoaWRlR2VuZXJhdG9yOiBvYmouaGlkZUdlbmVyYXRvcixcbiAgICAgICAgaGlkZVBhcmFtZXRlclR5cGVzSW5UaXRsZTogb2JqLmhpZGVQYXJhbWV0ZXJUeXBlc0luVGl0bGUsXG4gICAgICAgIGNhY2hlQnVzdDogb2JqLmNhY2hlQnVzdCxcbiAgICAgICAgc2VhcmNoSW5Db21tZW50czogb2JqLnNlYXJjaEluQ29tbWVudHMsXG4gICAgICAgIHNlYXJjaEluRG9jdW1lbnRzOiBvYmouc2VhcmNoSW5Eb2N1bWVudHMsXG4gICAgICAgIHZhbGlkYXRpb246IG9iai52YWxpZGF0aW9uLFxuICAgICAgICByZXF1aXJlZFRvQmVEb2N1bWVudGVkOiBvYmoucmVxdWlyZWRUb0JlRG9jdW1lbnRlZCxcbiAgICAgICAgdHJlYXRXYXJuaW5nc0FzRXJyb3JzOiBvYmoudHJlYXRXYXJuaW5nc0FzRXJyb3JzLFxuICAgICAgICB0cmVhdFZhbGlkYXRpb25XYXJuaW5nc0FzRXJyb3JzOiBvYmoudHJlYXRWYWxpZGF0aW9uV2FybmluZ3NBc0Vycm9ycyxcbiAgICAgICAgaW50ZW50aW9uYWxseU5vdEV4cG9ydGVkOiBvYmouaW50ZW50aW9uYWxseU5vdEV4cG9ydGVkLFxuICAgICAgICBleHRlcm5hbFBhdHRlcm46IG9iai5leHRlcm5hbFBhdHRlcm4sXG4gICAgICAgIGV4dGVybmFsU3ltYm9sTGlua01hcHBpbmdzOiBvYmouZXh0ZXJuYWxTeW1ib2xMaW5rTWFwcGluZ3MsXG4gICAgfTtcbiAgICBjb25zdCBmaWx0ZXJlZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXN1bHQpKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBmaWx0ZXJlZFtrZXldID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZpbHRlcmVkO1xufVxuXG5leHBvcnQgZW51bSBFbnRyeVBvaW50U3RyYXRlZ3kge1xuICAgIFJFU09MVkUgPSBcInJlc29sdmVcIixcbiAgICBFWFBBTkQgPSBcImV4cGFuZFwiLFxuICAgIFBBQ0tBR0VTID0gXCJwYWNrYWdlc1wiLFxuICAgIE1FUkdFID0gXCJtZXJnZVwiLFxufVxuXG5leHBvcnQgZW51bSBMb2dMZXZlbCB7XG4gICAgVkVSQk9TRSA9IFwiVmVyYm9zZVwiLFxuICAgIElORk8gPSBcIkluZm9cIixcbiAgICBXQVJOID0gXCJXYXJuXCIsXG4gICAgRVJST1IgPSBcIkVycm9yXCIsXG4gICAgTk9ORSA9IFwiTm9uZVwiLFxufVxuXG5leHBvcnQgZW51bSBDb21tZW50U3R5bGUge1xuICAgIEpTRE9DID0gXCJqc2RvY1wiLFxuICAgIEJMT0NLID0gXCJibG9ja1wiLFxuICAgIExJTkUgPSBcImxpbmVcIixcbiAgICBBTEwgPSBcImFsbFwiLFxufVxuXG5leHBvcnQgZW51bSBWaXNpYmlsaXR5IHtcbiAgICBQVUJMSUMgPSBcInB1YmxpY1wiLFxuICAgIFBST1RFQ1RFRCA9IFwicHJvdGVjdGVkXCIsXG4gICAgUFJJVkFURSA9IFwicHJpdmF0ZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25PcHRpb25zIHtcbiAgICByZWFkb25seSBub3RFeHBvcnRlZD86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgbm90RG9jdW1lbnRlZD86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgaW52YWxpZExpbms/OiBib29sZWFuO1xufVxuIl19
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWRvYy1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy90eXBlZG9jLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE2VUEsa0VBNkRDO0FBakVEOzs7R0FHRztBQUNILFNBQWdCLDJCQUEyQixDQUN2QyxHQUFxQztJQUVyQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNwQixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQTRCO1FBQ3BDLFdBQVcsRUFBRSxHQUFHLENBQUMsV0FBVztRQUM1QixrQkFBa0IsRUFBRSxHQUFHLENBQUMsa0JBQWtCO1FBQzFDLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztRQUNwQixnQkFBZ0IsRUFBRSxHQUFHLENBQUMsZ0JBQWdCO1FBQ3RDLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYztRQUNsQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsZ0JBQWdCO1FBQ3RDLGVBQWUsRUFBRSxHQUFHLENBQUMsZUFBZTtRQUNwQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUc7UUFDWixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7UUFDZCxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7UUFDaEIsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRO1FBQ3RCLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtRQUNkLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYztRQUNsQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7UUFDdEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1FBQ2hCLFdBQVcsRUFBRSxHQUFHLENBQUMsV0FBVztRQUM1QixRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7UUFDdEIsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRO1FBQ3RCLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtRQUNkLGVBQWUsRUFBRSxHQUFHLENBQUMsZUFBZTtRQUNwQyxZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7UUFDOUIsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLGlCQUFpQjtRQUN4QyxlQUFlLEVBQUUsR0FBRyxDQUFDLGVBQWU7UUFDcEMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZO1FBQzlCLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxpQkFBaUI7UUFDeEMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLGlCQUFpQjtRQUN4QyxvQkFBb0IsRUFBRSxHQUFHLENBQUMsb0JBQW9CO1FBQzlDLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTtRQUNsQixXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7UUFDNUIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXO1FBQzVCLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUztRQUN4QixrQkFBa0IsRUFBRSxHQUFHLENBQUMsa0JBQWtCO1FBQzFDLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYztRQUNsQyxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7UUFDMUIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhO1FBQ2hDLHlCQUF5QixFQUFFLEdBQUcsQ0FBQyx5QkFBeUI7UUFDeEQsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTO1FBQ3hCLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxnQkFBZ0I7UUFDdEMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLGlCQUFpQjtRQUN4QyxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7UUFDMUIsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLHNCQUFzQjtRQUNsRCxxQkFBcUIsRUFBRSxHQUFHLENBQUMscUJBQXFCO1FBQ2hELCtCQUErQixFQUFFLEdBQUcsQ0FBQywrQkFBK0I7UUFDcEUsd0JBQXdCLEVBQUUsR0FBRyxDQUFDLHdCQUF3QjtRQUN0RCxlQUFlLEVBQUUsR0FBRyxDQUFDLGVBQWU7UUFDcEMsMEJBQTBCLEVBQUUsR0FBRyxDQUFDLDBCQUEwQjtLQUM3RCxDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQTRCLEVBQUUsQ0FBQztJQUM3QyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ2hELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILElBQVksa0JBaUJYO0FBakJELFdBQVksa0JBQWtCO0lBQzFCOztPQUVHO0lBQ0gseUNBQW1CLENBQUE7SUFDbkI7O09BRUc7SUFDSCx1Q0FBaUIsQ0FBQTtJQUNqQjs7T0FFRztJQUNILDJDQUFxQixDQUFBO0lBQ3JCOztPQUVHO0lBQ0gscUNBQWUsQ0FBQTtBQUNuQixDQUFDLEVBakJXLGtCQUFrQixrQ0FBbEIsa0JBQWtCLFFBaUI3QjtBQUVEOzs7O0dBSUc7QUFDSCxJQUFZLFFBcUJYO0FBckJELFdBQVksUUFBUTtJQUNoQjs7T0FFRztJQUNILCtCQUFtQixDQUFBO0lBQ25COztPQUVHO0lBQ0gseUJBQWEsQ0FBQTtJQUNiOztPQUVHO0lBQ0gseUJBQWEsQ0FBQTtJQUNiOztPQUVHO0lBQ0gsMkJBQWUsQ0FBQTtJQUNmOztPQUVHO0lBQ0gseUJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBckJXLFFBQVEsd0JBQVIsUUFBUSxRQXFCbkI7QUFFRDs7OztHQUlHO0FBQ0gsSUFBWSxZQWlCWDtBQWpCRCxXQUFZLFlBQVk7SUFDcEI7O09BRUc7SUFDSCwrQkFBZSxDQUFBO0lBQ2Y7O09BRUc7SUFDSCwrQkFBZSxDQUFBO0lBQ2Y7O09BRUc7SUFDSCw2QkFBYSxDQUFBO0lBQ2I7O09BRUc7SUFDSCwyQkFBVyxDQUFBO0FBQ2YsQ0FBQyxFQWpCVyxZQUFZLDRCQUFaLFlBQVksUUFpQnZCO0FBRUQ7Ozs7R0FJRztBQUNILElBQVksVUFhWDtBQWJELFdBQVksVUFBVTtJQUNsQjs7T0FFRztJQUNILCtCQUFpQixDQUFBO0lBQ2pCOztPQUVHO0lBQ0gscUNBQXVCLENBQUE7SUFDdkI7O09BRUc7SUFDSCxpQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBYlcsVUFBVSwwQkFBVixVQUFVLFFBYXJCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUeXBlRG9jIGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvb3B0aW9ucy9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlRG9jQ29uZmlndXJhdGlvbiB7XG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIHRoZSBlbnRyeSBwb2ludHMgdG8gYmUgZG9jdW1lbnRlZCBieSBUeXBlRG9jLlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL3R5cGVkb2Mub3JnL2RvY3VtZW50cy9PcHRpb25zLklucHV0Lmh0bWwjZW50cnlwb2ludHNcbiAgICAgKi9cbiAgICByZWFkb25seSBlbnRyeVBvaW50cz86IHN0cmluZ1tdO1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIHRoZSBzdHJhdGVneSB0byBiZSB1c2VkIHRvIGNvbnZlcnQgZW50cnkgcG9pbnRzIGludG8gZG9jdW1lbnRhdGlvbi5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5JbnB1dC5odG1sI2VudHJ5cG9pbnRzdHJhdGVneVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGVudHJ5UG9pbnRTdHJhdGVneT86IEVudHJ5UG9pbnRTdHJhdGVneTtcblxuICAgIC8qKlxuICAgICAqIERlZmluZSBwYXR0ZXJucyB0byBiZSBleGNsdWRlZCB3aGVuIGV4cGFuZGluZyBkaXJlY3Rvcmllcy5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5JbnB1dC5odG1sI2V4Y2x1ZGVcbiAgICAgKi9cbiAgICByZWFkb25seSBleGNsdWRlPzogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGV4dGVybmFsbHkgcmVzb2x2ZWQgc3ltYm9scyBmcm9tIGJlaW5nIGRvY3VtZW50ZWQuXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuSW5wdXQuaHRtbCNleGNsdWRlZXh0ZXJuYWxzXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXhjbHVkZUV4dGVybmFscz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHByaXZhdGUgbWVtYmVycyBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIHRoZSBnZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbi5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5JbnB1dC5odG1sI2V4Y2x1ZGVwcml2YXRlXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXhjbHVkZVByaXZhdGU/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBwcm90ZWN0ZWQgbWVtYmVycyBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIHRoZSBnZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbi5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5JbnB1dC5odG1sI2V4Y2x1ZGVwcm90ZWN0ZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBleGNsdWRlUHJvdGVjdGVkPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgc3ltYm9scyB0aGF0IGFyZSBub3QgZXhwb3J0ZWQgZnJvbSBiZWluZyBkb2N1bWVudGVkLlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL3R5cGVkb2Mub3JnL2RvY3VtZW50cy9PcHRpb25zLklucHV0Lmh0bWwjZXhjbHVkZWludGVybmFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXhjbHVkZUludGVybmFsPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB0aGUgb3V0cHV0IGRpcmVjdG9yeSB0aGUgZG9jdW1lbnRhdGlvbiBzaG91bGQgYmUgd3JpdHRlbiB0by5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5PdXRwdXQuaHRtbCNvdXRcbiAgICAgKi9cbiAgICByZWFkb25seSBvdXQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBTcGVjaWZ5IHRoZSBsb2NhdGlvbiB0aGUgZG9jdW1lbnRhdGlvbiBzaG91bGQgYmUgd3JpdHRlbiB0by5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5PdXRwdXQuaHRtbCNqc29uXG4gICAgICovXG4gICAgcmVhZG9ubHkganNvbj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZnkgYSB0aGVtZSBuYW1lIHRvIHVzZS5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5PdXRwdXQuaHRtbCN0aGVtZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHRoZW1lPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmeSB0aGUgYmFzZSBwYXRoIGZvciBhbGwgdXJscy5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5PdXRwdXQuaHRtbCNiYXNlcGF0aFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGJhc2VQYXRoPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0IHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSBoZWFkZXIgb2YgdGhlIHRlbXBsYXRlLlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL3R5cGVkb2Mub3JnL2RvY3VtZW50cy9PcHRpb25zLk91dHB1dC5odG1sI25hbWVcbiAgICAgKi9cbiAgICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBUeXBlRG9jIGZyb20gY2xlYW5pbmcgdGhlIG91dHB1dCBkaXJlY3Rvcnkgc3BlY2lmaWVkIHdpdGggLS1vdXQuXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuT3V0cHV0Lmh0bWwjY2xlYW5vdXRwdXRkaXJcbiAgICAgKi9cbiAgICByZWFkb25seSBjbGVhbk91dHB1dERpcj86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBTcGVjaWZ5IHRoZSBsb2NhdGlvbiB0byBsb29rIGZvciBpbmNsdWRlZCBkb2N1bWVudHMuXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuT3V0cHV0Lmh0bWwjaW5jbHVkZXNcbiAgICAgKi9cbiAgICByZWFkb25seSBpbmNsdWRlcz86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZnkgdGhlIGxvY2F0aW9uIHdpdGggbWVkaWEgZmlsZXMgdGhhdCBzaG91bGQgYmUgY29waWVkIHRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5LlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL3R5cGVkb2Mub3JnL2RvY3VtZW50cy9PcHRpb25zLk91dHB1dC5odG1sI21lZGlhXG4gICAgICovXG4gICAgcmVhZG9ubHkgbWVkaWE/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBTcGVjaWZ5IHRoZSBsb2NhdGlvbiBhbmQgZmlsZW5hbWUgYSAudHNidWlsZGluZm8gZmlsZSBzaG91bGQgYmUgd3JpdHRlbiB0by5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5JbnB1dC5odG1sI3RzYnVpbGRpbmZvXG4gICAgICovXG4gICAgcmVhZG9ubHkgdHNCdWlsZEluZm8/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBTcGVjaWZ5IGEgVHlwZVNjcmlwdCBjb25maWcgZmlsZSB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGxvYWQgVHlwZVNjcmlwdCBjb25maWd1cmF0aW9uLlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL3R5cGVkb2Mub3JnL2RvY3VtZW50cy9PcHRpb25zLklucHV0Lmh0bWwjdHNjb25maWdcbiAgICAgKi9cbiAgICByZWFkb25seSB0c2NvbmZpZz86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZnkgdGhlIGxvZ2dlciB0aGF0IHNob3VsZCBiZSB1c2VkLlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL3R5cGVkb2Mub3JnL2RvY3VtZW50cy9PcHRpb25zLk90aGVyLmh0bWwjbG9nbGV2ZWxcbiAgICAgKi9cbiAgICByZWFkb25seSBsb2dMZXZlbD86IExvZ0xldmVsO1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmeSB0aGUgc29ydCBzdHJhdGVneSBmb3IgZG9jdW1lbnRlZCB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuT3JnYW5pemF0aW9uLmh0bWwjc29ydFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNvcnQ/OiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZnkgdGhlIHNvcnQgc3RyYXRlZ3kgZm9yIHN0YXRpYyBhbmQgaW5zdGFuY2UgbWVtYmVycy5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5Pcmdhbml6YXRpb24uaHRtbCNzb3J0ZW50cnlwb2ludHNcbiAgICAgKi9cbiAgICByZWFkb25seSBzb3J0RW50cnlQb2ludHM/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmeSB0aGUgZG9jdW1lbnRhdGlvbiBtb2RlIFR5cGVEb2Mgc2hvdWxkIHVzZS5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5Db21tZW50cy5odG1sI2NvbW1lbnRzdHlsZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNvbW1lbnRTdHlsZT86IENvbW1lbnRTdHlsZTtcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZnkgdGhlIGRlZmF1bHQgdmlzaWJpbGl0eSBmb3IgbWVtYmVycyB3aXRob3V0IGEgdmlzaWJpbGl0eSB0YWcuXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuQ29tbWVudHMuaHRtbCNkZWZhdWx0dmlzaWJpbGl0eVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlZmF1bHRWaXNpYmlsaXR5PzogVmlzaWJpbGl0eTtcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZnkgdGhlIGRlZmF1bHQgY2F0ZWdvcnkgZm9yIHJlZmxlY3Rpb25zIHdpdGhvdXQgYSBjYXRlZ29yeS5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5Pcmdhbml6YXRpb24uaHRtbCNkZWZhdWx0Y2F0ZWdvcnlcbiAgICAgKi9cbiAgICByZWFkb25seSBkZWZhdWx0Q2F0ZWdvcnk/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBTcGVjaWZ5IHRoZSBkZWZhdWx0IGdyb3VwIGZvciByZWZsZWN0aW9ucyB3aXRob3V0IGEgZ3JvdXAuXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuT3JnYW5pemF0aW9uLmh0bWwjZGVmYXVsdGdyb3VwXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGVmYXVsdEdyb3VwPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmeSB0aGUgY2F0ZWdvcmllcyB0aGF0IHdpbGwgYmUgdXNlZCB0byBncm91cCByZWZsZWN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5Pcmdhbml6YXRpb24uaHRtbCNjYXRlZ29yaXplYnlncm91cFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNhdGVnb3JpemVCeUdyb3VwPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZnkgdGhlIHNlYXJjaCBncm91cCBib29zdHMuXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuT3JnYW5pemF0aW9uLmh0bWwjc2VhcmNoZ3JvdXBib29zdHNcbiAgICAgKi9cbiAgICByZWFkb25seSBzZWFyY2hHcm91cEJvb3N0cz86IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG5cbiAgICAvKipcbiAgICAgKiBTcGVjaWZ5IHRoZSBzZWFyY2ggY2F0ZWdvcnkgYm9vc3RzLlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL3R5cGVkb2Mub3JnL2RvY3VtZW50cy9PcHRpb25zLk9yZ2FuaXphdGlvbi5odG1sI3NlYXJjaGNhdGVnb3J5Ym9vc3RzXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2F0ZWdvcnlCb29zdHM/OiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmeSB0aGUgcmVhZG1lIGZpbGUgdGhhdCBzaG91bGQgYmUgZGlzcGxheWVkIG9uIHRoZSBpbmRleCBwYWdlLlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL3R5cGVkb2Mub3JnL2RvY3VtZW50cy9PcHRpb25zLklucHV0Lmh0bWwjcmVhZG1lXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVhZG1lPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmeSB0aGUgcGFja2FnZS5qc29uIGZpbGUgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHBhY2thZ2UgbmFtZS5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5JbnB1dC5odG1sI3BhY2thZ2Vqc29uXG4gICAgICovXG4gICAgcmVhZG9ubHkgcGFja2FnZUpzb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBTcGVjaWZ5IHRoZSBnaXQgcmV2aXNpb24gdGhhdCBzaG91bGQgYmUgdXNlZCB0byBsaW5rIHRvIHNvdXJjZSBmaWxlcy5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5Db21tZW50cy5odG1sI2dpdHJldmlzaW9uXG4gICAgICovXG4gICAgcmVhZG9ubHkgZ2l0UmV2aXNpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBTcGVjaWZ5IHRoZSBnaXQgcmVtb3RlIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gbGluayB0byBzb3VyY2UgZmlsZXMuXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuQ29tbWVudHMuaHRtbCNnaXRyZW1vdGVcbiAgICAgKi9cbiAgICByZWFkb25seSBnaXRSZW1vdGU/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBTcGVjaWZ5IGEgbGluayB0ZW1wbGF0ZSB0byBiZSB1c2VkIHdoZW4gZ2VuZXJhdGluZyBzb3VyY2UgdXJscy5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5JbnB1dC5odG1sI3NvdXJjZWxpbmt0ZW1wbGF0ZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNvdXJjZUxpbmtUZW1wbGF0ZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIERpc2FibGVzIGF1dG9tYXRpY2FsbHkgbGlua2luZyB0byBzb3VyY2UgY29kZS5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5Db21tZW50cy5odG1sI2Rpc2FibGVzb3VyY2VzXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGlzYWJsZVNvdXJjZXM/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogRGlzYWJsZXMgc2V0dGluZyB0aGUgc291cmNlIG9mIHJlZmxlY3Rpb25zIHdoZW4gZG9jdW1lbnRpbmcgcHJvamVjdHMgd2l0aGluIGEgR2l0IHJlcG9zaXRvcnkuXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuQ29tbWVudHMuaHRtbCNkaXNhYmxlZ2l0XG4gICAgICovXG4gICAgcmVhZG9ubHkgZGlzYWJsZUdpdD86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBEbyBub3QgcHJpbnQgdGhlIFR5cGVEb2MgbGluayBhdCB0aGUgZW5kIG9mIHRoZSBwYWdlLlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL3R5cGVkb2Mub3JnL2RvY3VtZW50cy9PcHRpb25zLk91dHB1dC5odG1sI2hpZGVnZW5lcmF0b3JcbiAgICAgKi9cbiAgICByZWFkb25seSBoaWRlR2VuZXJhdG9yPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEhpZGUgcGFyYW1ldGVyIHR5cGVzIGluIHRoZSBzaWduYXR1cmUuXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuT3V0cHV0Lmh0bWwjaGlkZXBhcmFtZXRlcnR5cGVzaW50aXRsZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhpZGVQYXJhbWV0ZXJUeXBlc0luVGl0bGU/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogSW5jbHVkZSB0aGUgZ2VuZXJhdGlvbiB0aW1lIGluIGxpbmtzIHRvIHByZXZlbnQgYnJvd3NlcnMgZnJvbSB1c2luZyBhIGNhY2hlZCB2ZXJzaW9uLlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL3R5cGVkb2Mub3JnL2RvY3VtZW50cy9PcHRpb25zLk91dHB1dC5odG1sI2NhY2hlYnVzdFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNhY2hlQnVzdD86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJZiBzZXQsIHRoZSBzZWFyY2ggaW5kZXggd2lsbCBhbHNvIGluY2x1ZGUgY29tbWVudHMuXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuT3V0cHV0Lmh0bWwjc2VhcmNoaW5jb21tZW50c1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHNlYXJjaEluQ29tbWVudHM/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogSWYgc2V0LCB0aGUgc2VhcmNoIGluZGV4IHdpbGwgYWxzbyBpbmNsdWRlIGRvY3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5PdXRwdXQuaHRtbCNzZWFyY2hpbmRvY3VtZW50c1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHNlYXJjaEluRG9jdW1lbnRzPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZnkgdmFsaWRhdGlvbiBvcHRpb25zLlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL3R5cGVkb2Mub3JnL2RvY3VtZW50cy9PcHRpb25zLlZhbGlkYXRpb24uaHRtbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHZhbGlkYXRpb24/OiBWYWxpZGF0aW9uT3B0aW9ucztcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZnkgdGhlIHR5cGUgb2YgcmVmbGVjdGlvbnMgdGhhdCBtdXN0IGJlIGRvY3VtZW50ZWQuXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuVmFsaWRhdGlvbi5odG1sI3JlcXVpcmVkdG9iZWRvY3VtZW50ZWRcbiAgICAgKi9cbiAgICByZWFkb25seSByZXF1aXJlZFRvQmVEb2N1bWVudGVkPzogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBJZiBzZXQsIHdhcm5pbmdzIHdpbGwgYmUgdHJlYXRlZCBhcyBlcnJvcnMuXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuVmFsaWRhdGlvbi5odG1sI3RyZWF0d2FybmluZ3Nhc2Vycm9yc1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHRyZWF0V2FybmluZ3NBc0Vycm9ycz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJZiBzZXQsIHZhbGlkYXRpb24gd2FybmluZ3Mgd2lsbCBiZSB0cmVhdGVkIGFzIGVycm9ycy5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5WYWxpZGF0aW9uLmh0bWwjdHJlYXR2YWxpZGF0aW9ud2FybmluZ3Nhc2Vycm9yc1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHRyZWF0VmFsaWRhdGlvbldhcm5pbmdzQXNFcnJvcnM/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIHR5cGVzIHRoYXQgc2hvdWxkIG5vdCBwcm9kdWNlIHdhcm5pbmdzIHdoZW4gbm90IGJlaW5nIGV4cG9ydGVkLlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL3R5cGVkb2Mub3JnL2RvY3VtZW50cy9PcHRpb25zLlZhbGlkYXRpb24uaHRtbCNpbnRlbnRpb25hbGx5bm90ZXhwb3J0ZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBpbnRlbnRpb25hbGx5Tm90RXhwb3J0ZWQ/OiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIERlZmluZSBwYXR0ZXJucyBmb3IgZmlsZXMgdGhhdCBzaG91bGQgYmUgY29uc2lkZXJlZCBleHRlcm5hbC5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5JbnB1dC5odG1sI2V4dGVybmFscGF0dGVyblxuICAgICAqL1xuICAgIHJlYWRvbmx5IGV4dGVybmFsUGF0dGVybj86IHN0cmluZ1tdO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGN1c3RvbSBtYXBwaW5ncyBmb3Igc3ltYm9scyBpbiBleHRlcm5hbCBwYWNrYWdlcy5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5Db21tZW50cy5odG1sI2V4dGVybmFsc3ltYm9sbGlua21hcHBpbmdzXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXh0ZXJuYWxTeW1ib2xMaW5rTWFwcGluZ3M/OiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pjtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBUeXBlRG9jQ29uZmlndXJhdGlvbiB0byBKU09OIHJlcHJlc2VudGF0aW9uXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9UeXBlRG9jQ29uZmlndXJhdGlvbihcbiAgICBvYmo6IFR5cGVEb2NDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkLFxuKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQge1xuICAgIGlmIChvYmogPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgICBlbnRyeVBvaW50czogb2JqLmVudHJ5UG9pbnRzLFxuICAgICAgICBlbnRyeVBvaW50U3RyYXRlZ3k6IG9iai5lbnRyeVBvaW50U3RyYXRlZ3ksXG4gICAgICAgIGV4Y2x1ZGU6IG9iai5leGNsdWRlLFxuICAgICAgICBleGNsdWRlRXh0ZXJuYWxzOiBvYmouZXhjbHVkZUV4dGVybmFscyxcbiAgICAgICAgZXhjbHVkZVByaXZhdGU6IG9iai5leGNsdWRlUHJpdmF0ZSxcbiAgICAgICAgZXhjbHVkZVByb3RlY3RlZDogb2JqLmV4Y2x1ZGVQcm90ZWN0ZWQsXG4gICAgICAgIGV4Y2x1ZGVJbnRlcm5hbDogb2JqLmV4Y2x1ZGVJbnRlcm5hbCxcbiAgICAgICAgb3V0OiBvYmoub3V0LFxuICAgICAgICBqc29uOiBvYmouanNvbixcbiAgICAgICAgdGhlbWU6IG9iai50aGVtZSxcbiAgICAgICAgYmFzZVBhdGg6IG9iai5iYXNlUGF0aCxcbiAgICAgICAgbmFtZTogb2JqLm5hbWUsXG4gICAgICAgIGNsZWFuT3V0cHV0RGlyOiBvYmouY2xlYW5PdXRwdXREaXIsXG4gICAgICAgIGluY2x1ZGVzOiBvYmouaW5jbHVkZXMsXG4gICAgICAgIG1lZGlhOiBvYmoubWVkaWEsXG4gICAgICAgIHRzQnVpbGRJbmZvOiBvYmoudHNCdWlsZEluZm8sXG4gICAgICAgIHRzY29uZmlnOiBvYmoudHNjb25maWcsXG4gICAgICAgIGxvZ0xldmVsOiBvYmoubG9nTGV2ZWwsXG4gICAgICAgIHNvcnQ6IG9iai5zb3J0LFxuICAgICAgICBzb3J0RW50cnlQb2ludHM6IG9iai5zb3J0RW50cnlQb2ludHMsXG4gICAgICAgIGNvbW1lbnRTdHlsZTogb2JqLmNvbW1lbnRTdHlsZSxcbiAgICAgICAgZGVmYXVsdFZpc2liaWxpdHk6IG9iai5kZWZhdWx0VmlzaWJpbGl0eSxcbiAgICAgICAgZGVmYXVsdENhdGVnb3J5OiBvYmouZGVmYXVsdENhdGVnb3J5LFxuICAgICAgICBkZWZhdWx0R3JvdXA6IG9iai5kZWZhdWx0R3JvdXAsXG4gICAgICAgIGNhdGVnb3JpemVCeUdyb3VwOiBvYmouY2F0ZWdvcml6ZUJ5R3JvdXAsXG4gICAgICAgIHNlYXJjaEdyb3VwQm9vc3RzOiBvYmouc2VhcmNoR3JvdXBCb29zdHMsXG4gICAgICAgIHNlYXJjaENhdGVnb3J5Qm9vc3RzOiBvYmouc2VhcmNoQ2F0ZWdvcnlCb29zdHMsXG4gICAgICAgIHJlYWRtZTogb2JqLnJlYWRtZSxcbiAgICAgICAgcGFja2FnZUpzb246IG9iai5wYWNrYWdlSnNvbixcbiAgICAgICAgZ2l0UmV2aXNpb246IG9iai5naXRSZXZpc2lvbixcbiAgICAgICAgZ2l0UmVtb3RlOiBvYmouZ2l0UmVtb3RlLFxuICAgICAgICBzb3VyY2VMaW5rVGVtcGxhdGU6IG9iai5zb3VyY2VMaW5rVGVtcGxhdGUsXG4gICAgICAgIGRpc2FibGVTb3VyY2VzOiBvYmouZGlzYWJsZVNvdXJjZXMsXG4gICAgICAgIGRpc2FibGVHaXQ6IG9iai5kaXNhYmxlR2l0LFxuICAgICAgICBoaWRlR2VuZXJhdG9yOiBvYmouaGlkZUdlbmVyYXRvcixcbiAgICAgICAgaGlkZVBhcmFtZXRlclR5cGVzSW5UaXRsZTogb2JqLmhpZGVQYXJhbWV0ZXJUeXBlc0luVGl0bGUsXG4gICAgICAgIGNhY2hlQnVzdDogb2JqLmNhY2hlQnVzdCxcbiAgICAgICAgc2VhcmNoSW5Db21tZW50czogb2JqLnNlYXJjaEluQ29tbWVudHMsXG4gICAgICAgIHNlYXJjaEluRG9jdW1lbnRzOiBvYmouc2VhcmNoSW5Eb2N1bWVudHMsXG4gICAgICAgIHZhbGlkYXRpb246IG9iai52YWxpZGF0aW9uLFxuICAgICAgICByZXF1aXJlZFRvQmVEb2N1bWVudGVkOiBvYmoucmVxdWlyZWRUb0JlRG9jdW1lbnRlZCxcbiAgICAgICAgdHJlYXRXYXJuaW5nc0FzRXJyb3JzOiBvYmoudHJlYXRXYXJuaW5nc0FzRXJyb3JzLFxuICAgICAgICB0cmVhdFZhbGlkYXRpb25XYXJuaW5nc0FzRXJyb3JzOiBvYmoudHJlYXRWYWxpZGF0aW9uV2FybmluZ3NBc0Vycm9ycyxcbiAgICAgICAgaW50ZW50aW9uYWxseU5vdEV4cG9ydGVkOiBvYmouaW50ZW50aW9uYWxseU5vdEV4cG9ydGVkLFxuICAgICAgICBleHRlcm5hbFBhdHRlcm46IG9iai5leHRlcm5hbFBhdHRlcm4sXG4gICAgICAgIGV4dGVybmFsU3ltYm9sTGlua01hcHBpbmdzOiBvYmouZXh0ZXJuYWxTeW1ib2xMaW5rTWFwcGluZ3MsXG4gICAgfTtcbiAgICBjb25zdCBmaWx0ZXJlZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXN1bHQpKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBmaWx0ZXJlZFtrZXldID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZpbHRlcmVkO1xufVxuXG4vKipcbiAqIFNwZWNpZmllcyB0aGUgc3RyYXRlZ3kgdG8gYmUgdXNlZCB0byBjb252ZXJ0IGVudHJ5IHBvaW50cyBpbnRvIGRvY3VtZW50YXRpb25cbiAqXG4gKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuSW5wdXQuaHRtbCNlbnRyeXBvaW50c3RyYXRlZ3lcbiAqL1xuZXhwb3J0IGVudW0gRW50cnlQb2ludFN0cmF0ZWd5IHtcbiAgICAvKipcbiAgICAgKiBFeHBlY3RzIGFsbCBlbnRyeSBwb2ludHMgdG8gYmUgY29udGFpbmVkIHdpdGhpbiBhIHNpbmdsZSBwYWNrYWdlXG4gICAgICovXG4gICAgUkVTT0xWRSA9IFwicmVzb2x2ZVwiLFxuICAgIC8qKlxuICAgICAqIEV4cGVjdHMgYWxsIGVudHJ5IHBvaW50cyB0byBiZSB0b3AtbGV2ZWwgZGlyZWN0b3JpZXNcbiAgICAgKi9cbiAgICBFWFBBTkQgPSBcImV4cGFuZFwiLFxuICAgIC8qKlxuICAgICAqIEV4cGVjdHMgYWxsIGVudHJ5IHBvaW50cyB0byBiZSBpbmRpdmlkdWFsIGZpbGVzXG4gICAgICovXG4gICAgUEFDS0FHRVMgPSBcInBhY2thZ2VzXCIsXG4gICAgLyoqXG4gICAgICogTWVyZ2VzIG11bHRpcGxlIHByb2plY3RzIGludG8gYSBzaW5nbGUgZG9jdW1lbnRhdGlvbiBzaXRlXG4gICAgICovXG4gICAgTUVSR0UgPSBcIm1lcmdlXCIsXG59XG5cbi8qKlxuICogU3BlY2lmaWVzIHRoZSBsb2dnZXIgdGhhdCBzaG91bGQgYmUgdXNlZFxuICpcbiAqIEBzZWUgaHR0cHM6Ly90eXBlZG9jLm9yZy9kb2N1bWVudHMvT3B0aW9ucy5PdGhlci5odG1sI2xvZ2xldmVsXG4gKi9cbmV4cG9ydCBlbnVtIExvZ0xldmVsIHtcbiAgICAvKipcbiAgICAgKiBMb2cgYWxsIG1lc3NhZ2VzIGluY2x1ZGluZyB2ZXJib3NlIGRlYnVnIGluZm9ybWF0aW9uXG4gICAgICovXG4gICAgVkVSQk9TRSA9IFwiVmVyYm9zZVwiLFxuICAgIC8qKlxuICAgICAqIExvZyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIGFuZCBhYm92ZVxuICAgICAqL1xuICAgIElORk8gPSBcIkluZm9cIixcbiAgICAvKipcbiAgICAgKiBMb2cgd2FybmluZ3MgYW5kIGVycm9ycyBvbmx5XG4gICAgICovXG4gICAgV0FSTiA9IFwiV2FyblwiLFxuICAgIC8qKlxuICAgICAqIExvZyBlcnJvcnMgb25seVxuICAgICAqL1xuICAgIEVSUk9SID0gXCJFcnJvclwiLFxuICAgIC8qKlxuICAgICAqIERpc2FibGUgYWxsIGxvZ2dpbmdcbiAgICAgKi9cbiAgICBOT05FID0gXCJOb25lXCIsXG59XG5cbi8qKlxuICogU3BlY2lmaWVzIHRoZSBkb2N1bWVudGF0aW9uIG1vZGUgVHlwZURvYyBzaG91bGQgdXNlXG4gKlxuICogQHNlZSBodHRwczovL3R5cGVkb2Mub3JnL2RvY3VtZW50cy9PcHRpb25zLkNvbW1lbnRzLmh0bWwjY29tbWVudHN0eWxlXG4gKi9cbmV4cG9ydCBlbnVtIENvbW1lbnRTdHlsZSB7XG4gICAgLyoqXG4gICAgICogUGFyc2UgSlNEb2Mgc3R5bGUgY29tbWVudHMgb25seVxuICAgICAqL1xuICAgIEpTRE9DID0gXCJqc2RvY1wiLFxuICAgIC8qKlxuICAgICAqIFBhcnNlIGJsb2NrIGNvbW1lbnRzXG4gICAgICovXG4gICAgQkxPQ0sgPSBcImJsb2NrXCIsXG4gICAgLyoqXG4gICAgICogUGFyc2UgbGluZSBjb21tZW50cyAoLy8pXG4gICAgICovXG4gICAgTElORSA9IFwibGluZVwiLFxuICAgIC8qKlxuICAgICAqIFBhcnNlIGFsbCBjb21tZW50IHN0eWxlc1xuICAgICAqL1xuICAgIEFMTCA9IFwiYWxsXCIsXG59XG5cbi8qKlxuICogU3BlY2lmaWVzIHRoZSBkZWZhdWx0IHZpc2liaWxpdHkgZm9yIG1lbWJlcnMgd2l0aG91dCBhIHZpc2liaWxpdHkgdGFnXG4gKlxuICogQHNlZSBodHRwczovL3R5cGVkb2Mub3JnL2RvY3VtZW50cy9PcHRpb25zLkNvbW1lbnRzLmh0bWwjZGVmYXVsdHZpc2liaWxpdHlcbiAqL1xuZXhwb3J0IGVudW0gVmlzaWJpbGl0eSB7XG4gICAgLyoqXG4gICAgICogUHVibGljIHZpc2liaWxpdHkgLSBhY2Nlc3NpYmxlIGZyb20gYW55d2hlcmVcbiAgICAgKi9cbiAgICBQVUJMSUMgPSBcInB1YmxpY1wiLFxuICAgIC8qKlxuICAgICAqIFByb3RlY3RlZCB2aXNpYmlsaXR5IC0gYWNjZXNzaWJsZSBmcm9tIGNsYXNzIGFuZCBzdWJjbGFzc2VzXG4gICAgICovXG4gICAgUFJPVEVDVEVEID0gXCJwcm90ZWN0ZWRcIixcbiAgICAvKipcbiAgICAgKiBQcml2YXRlIHZpc2liaWxpdHkgLSBhY2Nlc3NpYmxlIG9ubHkgd2l0aGluIHRoZSBjbGFzc1xuICAgICAqL1xuICAgIFBSSVZBVEUgPSBcInByaXZhdGVcIixcbn1cblxuLyoqXG4gKiBWYWxpZGF0aW9uIG9wdGlvbnNcbiAqXG4gKiBAc2VlIGh0dHBzOi8vdHlwZWRvYy5vcmcvZG9jdW1lbnRzL09wdGlvbnMuVmFsaWRhdGlvbi5odG1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvbk9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIElmIHNldCwgVHlwZURvYyB3aWxsIHByb2R1Y2Ugd2FybmluZ3Mgd2hlbiBhIHN5bWJvbCBpcyByZWZlcmVuY2VkIGJ5IHRoZSBkb2N1bWVudGF0aW9uXG4gICAgICovXG4gICAgcmVhZG9ubHkgbm90RXhwb3J0ZWQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIElmIHNldCwgVHlwZURvYyB3aWxsIHByb2R1Y2Ugd2FybmluZ3Mgd2hlbiBhbiBleHBvcnRlZCBzeW1ib2wgaXMgbm90IGRvY3VtZW50ZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBub3REb2N1bWVudGVkPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBJZiBzZXQsIFR5cGVEb2Mgd2lsbCBwcm9kdWNlIHdhcm5pbmdzIGFib3V0IFxcQGxpbmsgdGFncyB3aGljaCB3aWxsIHByb2R1Y2UgYnJva2VuIGxpbmtzXG4gICAgICovXG4gICAgcmVhZG9ubHkgaW52YWxpZExpbms/OiBib29sZWFuO1xufVxuIl19
@@ -5,13 +5,32 @@ import type { Project } from "projen/lib/project";
5
5
  import type { Task } from "projen/lib/task";
6
6
  import { type TypeDocConfiguration } from "./typedoc-config";
7
7
  export interface TypeDocOptions {
8
+ /**
9
+ * Version of TypeDoc to use
10
+ *
11
+ * @default "^0.28"
12
+ */
8
13
  readonly version?: string;
14
+ /**
15
+ * Full TypeDoc configuration
16
+ *
17
+ * This configuration will be merged with the default configuration
18
+ */
9
19
  readonly typeDocConfig?: TypeDocConfiguration;
10
20
  }
21
+ /**
22
+ * TypeDoc component for projen projects
23
+ */
11
24
  export declare class TypeDoc extends Component {
12
25
  static of(project: Project): TypeDoc | undefined;
13
26
  private readonly typeDocConfiguration;
27
+ /**
28
+ * TypeDoc task
29
+ */
14
30
  readonly task: Task;
31
+ /**
32
+ * TypeDoc configuration file
33
+ */
15
34
  readonly file: JsonFile;
16
35
  constructor(project: NodeProject, options?: TypeDocOptions);
17
36
  }
@@ -13,12 +13,17 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
13
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
+ var _a;
16
17
  Object.defineProperty(exports, "__esModule", { value: true });
17
18
  exports.TypeDoc = void 0;
19
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
18
20
  const component_1 = require("projen/lib/component");
19
21
  const json_1 = require("projen/lib/json");
20
22
  const util_1 = require("projen/lib/util");
21
23
  const typedoc_config_1 = require("./typedoc-config");
24
+ /**
25
+ * Default TypeDoc configuration
26
+ */
22
27
  const DEFAULT_CONFIG = {
23
28
  entryPointStrategy: typedoc_config_1.EntryPointStrategy.EXPAND,
24
29
  out: "docs/api",
@@ -26,6 +31,9 @@ const DEFAULT_CONFIG = {
26
31
  excludePrivate: true,
27
32
  disableSources: true,
28
33
  };
34
+ /**
35
+ * TypeDoc component for projen projects
36
+ */
29
37
  class TypeDoc extends component_1.Component {
30
38
  static of(project) {
31
39
  const isTypeDoc = (c) => c instanceof TypeDoc;
@@ -35,6 +43,9 @@ class TypeDoc extends component_1.Component {
35
43
  super(project);
36
44
  const typedoc = "typedoc";
37
45
  project.addDevDeps(`${typedoc}@${options.version ?? "^0.28"}`);
46
+ /*
47
+ * Merge default configuration with user-provided configuration
48
+ */
38
49
  this.typeDocConfiguration = (0, util_1.deepMerge)([(0, typedoc_config_1.toJson_TypeDocConfiguration)(DEFAULT_CONFIG), (0, typedoc_config_1.toJson_TypeDocConfiguration)(options.typeDocConfig ?? {})], { mergeArrays: true });
39
50
  this.file = new json_1.JsonFile(this, "typedoc.jsonc", {
40
51
  obj: this.typeDocConfiguration,
@@ -54,5 +65,7 @@ class TypeDoc extends component_1.Component {
54
65
  }
55
66
  }
56
67
  exports.TypeDoc = TypeDoc;
68
+ _a = JSII_RTTI_SYMBOL_1;
69
+ TypeDoc[_a] = { fqn: "@nikovirtala/projen-constructs.TypeDoc", version: "0.2.1" };
57
70
  __exportStar(require("./typedoc-config"), exports);
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWRvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3R5cGVkb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUQ7QUFFakQsMENBQTJDO0FBRzNDLDBDQUE0QztBQUM1QyxxREFBOEc7QUFFOUcsTUFBTSxjQUFjLEdBQXlCO0lBQ3pDLGtCQUFrQixFQUFFLG1DQUFrQixDQUFDLE1BQU07SUFDN0MsR0FBRyxFQUFFLFVBQVU7SUFDZixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDekIsY0FBYyxFQUFFLElBQUk7SUFDcEIsY0FBYyxFQUFFLElBQUk7Q0FDdkIsQ0FBQztBQU9GLE1BQWEsT0FBUSxTQUFRLHFCQUFTO0lBQzNCLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBZ0I7UUFDN0IsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFZLEVBQWdCLEVBQUUsQ0FBQyxDQUFDLFlBQVksT0FBTyxDQUFDO1FBQ3ZFLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQU1ELFlBQVksT0FBb0IsRUFBRSxVQUEwQixFQUFFO1FBQzFELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUMxQixPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQztRQUUvRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBQSxnQkFBUyxFQUNqQyxDQUFDLElBQUEsNENBQTJCLEVBQUMsY0FBYyxDQUFDLEVBQUUsSUFBQSw0Q0FBMkIsRUFBQyxPQUFPLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUN4QixDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGVBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQzVDLEdBQUcsRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQzlCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLEtBQUs7U0FDbEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNuQyxXQUFXLEVBQUUsZ0NBQWdDO1lBQzdDLEtBQUssRUFBRTtnQkFDSDtvQkFDSSxJQUFJLEVBQUUsU0FBUztpQkFDbEI7YUFDSjtTQUNKLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0o7QUF0Q0QsMEJBc0NDO0FBRUQsbURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcInByb2plbi9saWIvY29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSB7IE5vZGVQcm9qZWN0IH0gZnJvbSBcInByb2plbi9saWIvamF2YXNjcmlwdC9ub2RlLXByb2plY3RcIjtcbmltcG9ydCB7IEpzb25GaWxlIH0gZnJvbSBcInByb2plbi9saWIvanNvblwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcInByb2plbi9saWIvcHJvamVjdFwiO1xuaW1wb3J0IHR5cGUgeyBUYXNrIH0gZnJvbSBcInByb2plbi9saWIvdGFza1wiO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSBcInByb2plbi9saWIvdXRpbFwiO1xuaW1wb3J0IHsgRW50cnlQb2ludFN0cmF0ZWd5LCB0eXBlIFR5cGVEb2NDb25maWd1cmF0aW9uLCB0b0pzb25fVHlwZURvY0NvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi90eXBlZG9jLWNvbmZpZ1wiO1xuXG5jb25zdCBERUZBVUxUX0NPTkZJRzogVHlwZURvY0NvbmZpZ3VyYXRpb24gPSB7XG4gICAgZW50cnlQb2ludFN0cmF0ZWd5OiBFbnRyeVBvaW50U3RyYXRlZ3kuRVhQQU5ELFxuICAgIG91dDogXCJkb2NzL2FwaVwiLFxuICAgIGV4Y2x1ZGU6IFtcIioqLyoudGVzdC50c1wiXSxcbiAgICBleGNsdWRlUHJpdmF0ZTogdHJ1ZSxcbiAgICBkaXNhYmxlU291cmNlczogdHJ1ZSxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURvY09wdGlvbnMge1xuICAgIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdHlwZURvY0NvbmZpZz86IFR5cGVEb2NDb25maWd1cmF0aW9uO1xufVxuXG5leHBvcnQgY2xhc3MgVHlwZURvYyBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgcHVibGljIHN0YXRpYyBvZihwcm9qZWN0OiBQcm9qZWN0KTogVHlwZURvYyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGlzVHlwZURvYyA9IChjOiBDb21wb25lbnQpOiBjIGlzIFR5cGVEb2MgPT4gYyBpbnN0YW5jZW9mIFR5cGVEb2M7XG4gICAgICAgIHJldHVybiBwcm9qZWN0LmNvbXBvbmVudHMuZmluZChpc1R5cGVEb2MpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHlwZURvY0NvbmZpZ3VyYXRpb246IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIHB1YmxpYyByZWFkb25seSB0YXNrOiBUYXNrO1xuICAgIHB1YmxpYyByZWFkb25seSBmaWxlOiBKc29uRmlsZTtcblxuICAgIGNvbnN0cnVjdG9yKHByb2plY3Q6IE5vZGVQcm9qZWN0LCBvcHRpb25zOiBUeXBlRG9jT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgICAgIGNvbnN0IHR5cGVkb2MgPSBcInR5cGVkb2NcIjtcbiAgICAgICAgcHJvamVjdC5hZGREZXZEZXBzKGAke3R5cGVkb2N9QCR7b3B0aW9ucy52ZXJzaW9uID8/IFwiXjAuMjhcIn1gKTtcblxuICAgICAgICB0aGlzLnR5cGVEb2NDb25maWd1cmF0aW9uID0gZGVlcE1lcmdlKFxuICAgICAgICAgICAgW3RvSnNvbl9UeXBlRG9jQ29uZmlndXJhdGlvbihERUZBVUxUX0NPTkZJRyksIHRvSnNvbl9UeXBlRG9jQ29uZmlndXJhdGlvbihvcHRpb25zLnR5cGVEb2NDb25maWcgPz8ge30pXSxcbiAgICAgICAgICAgIHsgbWVyZ2VBcnJheXM6IHRydWUgfSxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmZpbGUgPSBuZXcgSnNvbkZpbGUodGhpcywgXCJ0eXBlZG9jLmpzb25jXCIsIHtcbiAgICAgICAgICAgIG9iajogdGhpcy50eXBlRG9jQ29uZmlndXJhdGlvbixcbiAgICAgICAgICAgIGFsbG93Q29tbWVudHM6IHRydWUsXG4gICAgICAgICAgICBtYXJrZXI6IHRydWUsXG4gICAgICAgICAgICByZWFkb25seTogZmFsc2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudGFzayA9IHByb2plY3QuYWRkVGFzayhcInR5cGVkb2NcIiwge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiR2VuZXJhdGUgVHlwZURvYyBkb2N1bWVudGF0aW9uXCIsXG4gICAgICAgICAgICBzdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZXhlYzogXCJ0eXBlZG9jXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBwcm9qZWN0LnRlc3RUYXNrLnNwYXduKHRoaXMudGFzayk7XG4gICAgfVxufVxuXG5leHBvcnQgKiBmcm9tIFwiLi90eXBlZG9jLWNvbmZpZ1wiO1xuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWRvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3R5cGVkb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUFpRDtBQUVqRCwwQ0FBMkM7QUFHM0MsMENBQTRDO0FBQzVDLHFEQUE4RztBQUU5Rzs7R0FFRztBQUNILE1BQU0sY0FBYyxHQUF5QjtJQUN6QyxrQkFBa0IsRUFBRSxtQ0FBa0IsQ0FBQyxNQUFNO0lBQzdDLEdBQUcsRUFBRSxVQUFVO0lBQ2YsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO0lBQ3pCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGNBQWMsRUFBRSxJQUFJO0NBQ3ZCLENBQUM7QUFrQkY7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxxQkFBUztJQUMzQixNQUFNLENBQUMsRUFBRSxDQUFDLE9BQWdCO1FBQzdCLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBWSxFQUFnQixFQUFFLENBQUMsQ0FBQyxZQUFZLE9BQU8sQ0FBQztRQUN2RSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFjRCxZQUFZLE9BQW9CLEVBQUUsVUFBMEIsRUFBRTtRQUMxRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDMUIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFL0Q7O1dBRUc7UUFDSCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBQSxnQkFBUyxFQUNqQyxDQUFDLElBQUEsNENBQTJCLEVBQUMsY0FBYyxDQUFDLEVBQUUsSUFBQSw0Q0FBMkIsRUFBQyxPQUFPLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUN4QixDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGVBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQzVDLEdBQUcsRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQzlCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLEtBQUs7U0FDbEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNuQyxXQUFXLEVBQUUsZ0NBQWdDO1lBQzdDLEtBQUssRUFBRTtnQkFDSDtvQkFDSSxJQUFJLEVBQUUsU0FBUztpQkFDbEI7YUFDSjtTQUNKLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDOztBQWhETCwwQkFpREM7OztBQUVELG1EQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJwcm9qZW4vbGliL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBOb2RlUHJvamVjdCB9IGZyb20gXCJwcm9qZW4vbGliL2phdmFzY3JpcHQvbm9kZS1wcm9qZWN0XCI7XG5pbXBvcnQgeyBKc29uRmlsZSB9IGZyb20gXCJwcm9qZW4vbGliL2pzb25cIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJwcm9qZW4vbGliL3Byb2plY3RcIjtcbmltcG9ydCB0eXBlIHsgVGFzayB9IGZyb20gXCJwcm9qZW4vbGliL3Rhc2tcIjtcbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gXCJwcm9qZW4vbGliL3V0aWxcIjtcbmltcG9ydCB7IEVudHJ5UG9pbnRTdHJhdGVneSwgdHlwZSBUeXBlRG9jQ29uZmlndXJhdGlvbiwgdG9Kc29uX1R5cGVEb2NDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4vdHlwZWRvYy1jb25maWdcIjtcblxuLyoqXG4gKiBEZWZhdWx0IFR5cGVEb2MgY29uZmlndXJhdGlvblxuICovXG5jb25zdCBERUZBVUxUX0NPTkZJRzogVHlwZURvY0NvbmZpZ3VyYXRpb24gPSB7XG4gICAgZW50cnlQb2ludFN0cmF0ZWd5OiBFbnRyeVBvaW50U3RyYXRlZ3kuRVhQQU5ELFxuICAgIG91dDogXCJkb2NzL2FwaVwiLFxuICAgIGV4Y2x1ZGU6IFtcIioqLyoudGVzdC50c1wiXSxcbiAgICBleGNsdWRlUHJpdmF0ZTogdHJ1ZSxcbiAgICBkaXNhYmxlU291cmNlczogdHJ1ZSxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURvY09wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIFZlcnNpb24gb2YgVHlwZURvYyB0byB1c2VcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwiXjAuMjhcIlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBGdWxsIFR5cGVEb2MgY29uZmlndXJhdGlvblxuICAgICAqXG4gICAgICogVGhpcyBjb25maWd1cmF0aW9uIHdpbGwgYmUgbWVyZ2VkIHdpdGggdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgICAqL1xuICAgIHJlYWRvbmx5IHR5cGVEb2NDb25maWc/OiBUeXBlRG9jQ29uZmlndXJhdGlvbjtcbn1cblxuLyoqXG4gKiBUeXBlRG9jIGNvbXBvbmVudCBmb3IgcHJvamVuIHByb2plY3RzXG4gKi9cbmV4cG9ydCBjbGFzcyBUeXBlRG9jIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgc3RhdGljIG9mKHByb2plY3Q6IFByb2plY3QpOiBUeXBlRG9jIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgaXNUeXBlRG9jID0gKGM6IENvbXBvbmVudCk6IGMgaXMgVHlwZURvYyA9PiBjIGluc3RhbmNlb2YgVHlwZURvYztcbiAgICAgICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzVHlwZURvYyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0eXBlRG9jQ29uZmlndXJhdGlvbjogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgICAvKipcbiAgICAgKiBUeXBlRG9jIHRhc2tcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFzazogVGFzaztcblxuICAgIC8qKlxuICAgICAqIFR5cGVEb2MgY29uZmlndXJhdGlvbiBmaWxlXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZpbGU6IEpzb25GaWxlO1xuXG4gICAgY29uc3RydWN0b3IocHJvamVjdDogTm9kZVByb2plY3QsIG9wdGlvbnM6IFR5cGVEb2NPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAgICAgY29uc3QgdHlwZWRvYyA9IFwidHlwZWRvY1wiO1xuICAgICAgICBwcm9qZWN0LmFkZERldkRlcHMoYCR7dHlwZWRvY31AJHtvcHRpb25zLnZlcnNpb24gPz8gXCJeMC4yOFwifWApO1xuXG4gICAgICAgIC8qXG4gICAgICAgICAqIE1lcmdlIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aXRoIHVzZXItcHJvdmlkZWQgY29uZmlndXJhdGlvblxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy50eXBlRG9jQ29uZmlndXJhdGlvbiA9IGRlZXBNZXJnZShcbiAgICAgICAgICAgIFt0b0pzb25fVHlwZURvY0NvbmZpZ3VyYXRpb24oREVGQVVMVF9DT05GSUcpLCB0b0pzb25fVHlwZURvY0NvbmZpZ3VyYXRpb24ob3B0aW9ucy50eXBlRG9jQ29uZmlnID8/IHt9KV0sXG4gICAgICAgICAgICB7IG1lcmdlQXJyYXlzOiB0cnVlIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5maWxlID0gbmV3IEpzb25GaWxlKHRoaXMsIFwidHlwZWRvYy5qc29uY1wiLCB7XG4gICAgICAgICAgICBvYmo6IHRoaXMudHlwZURvY0NvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgICBhbGxvd0NvbW1lbnRzOiB0cnVlLFxuICAgICAgICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgICAgICAgcmVhZG9ubHk6IGZhbHNlLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnRhc2sgPSBwcm9qZWN0LmFkZFRhc2soXCJ0eXBlZG9jXCIsIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkdlbmVyYXRlIFR5cGVEb2MgZG9jdW1lbnRhdGlvblwiLFxuICAgICAgICAgICAgc3RlcHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGV4ZWM6IFwidHlwZWRvY1wiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgcHJvamVjdC50ZXN0VGFzay5zcGF3bih0aGlzLnRhc2spO1xuICAgIH1cbn1cblxuZXhwb3J0ICogZnJvbSBcIi4vdHlwZWRvYy1jb25maWdcIjtcbiJdfQ==
@@ -1,51 +1,248 @@
1
1
  import { Component } from "projen/lib/component";
2
2
  import { type NodeProject } from "projen/lib/javascript";
3
3
  export declare enum Environment {
4
+ /**
5
+ * Run tests in Vercel's Edge Runtime VM.
6
+ *
7
+ * @see https://edge-runtime.vercel.app/packages/vm
8
+ */
4
9
  EDGE_RUNTIME = "edge-runtime",
10
+ /**
11
+ * Run tests in `happy-dom` environment.
12
+ *
13
+ * @see https://github.com/capricorn86/happy-dom
14
+ */
5
15
  HAPPY_DOM = "happy-dom",
16
+ /**
17
+ * Run tests in `jsdom` environment.
18
+ *
19
+ * @see https://github.com/jsdom/jsdom
20
+ */
6
21
  JSDOM = "jsdom",
22
+ /**
23
+ * Run tests in a Node.js environment.
24
+ */
7
25
  NODE = "node"
8
26
  }
9
27
  export declare enum Pool {
28
+ /**
29
+ * Run tests in `node:child_process` using fork()
30
+ *
31
+ * Test isolation (when enabled) is done by spawning a new child process for each test file.
32
+ *
33
+ * @see https://nodejs.org/api/child_process.html#child_processforkmodulepath-args-options
34
+ */
10
35
  FORKS = "forks",
36
+ /**
37
+ * Run tests in `node:worker_threads`.
38
+ *
39
+ * Test isolation (when enabled) is done by spawning a new thread for each test file.
40
+ */
11
41
  THREADS = "threads",
42
+ /**
43
+ * Run tests in isolated `node:vm`.
44
+ *
45
+ * Test files are run parallel using `node:child_process` fork()
46
+ *
47
+ * This makes tests run faster, but VM module is unstable. Your tests might leak memory.
48
+ *
49
+ * @see https://nodejs.org/api/child_process.html#child_processforkmodulepath-args-options
50
+ */
12
51
  VMFORKS = "vmforks",
52
+ /**
53
+ * Run tests in isolated `node:vm`.
54
+ * Test files are run parallel using `node:worker_threads`.
55
+ *
56
+ * This makes tests run faster, but VM module is unstable. Your tests might leak memory.
57
+ */
13
58
  VMTHREADS = "vmthreads"
14
59
  }
15
60
  export declare enum CoverageProvider {
61
+ /**
62
+ * Provide coverage report using istanbul.
63
+ *
64
+ * @see https://istanbul.js.org
65
+ */
16
66
  ISTANBUL = "istanbul",
67
+ /**
68
+ * Provide coverage reports using v8.
69
+ *
70
+ * @see https://v8.dev/blog/javascript-code-coverage
71
+ */
17
72
  V8 = "v8"
18
73
  }
19
74
  export declare enum CoverageReporter {
75
+ /**
76
+ * Provides `clover` report.
77
+ */
20
78
  CLOVER = "clover",
79
+ /**
80
+ * Provides `HTML` report.
81
+ */
21
82
  HTML = "html",
83
+ /**
84
+ * Provides `JSON` report.
85
+ */
22
86
  JSON = "json",
87
+ /**
88
+ * Provides `LCOV` report.
89
+ */
23
90
  LCOV = "lcov",
91
+ /**
92
+ * Provides `text` report.
93
+ */
24
94
  TEXT = "text"
25
95
  }
96
+ /**
97
+ * Vitest Config.
98
+ *
99
+ * @see https://vitest.dev/config/
100
+ */
26
101
  export interface VitestConfigOptions {
102
+ /**
103
+ * A list of glob patterns that match your test files.
104
+ *
105
+ * @default - Vitest's `configDefaults.include`
106
+ * @see https://vitest.dev/config/#include
107
+ */
27
108
  readonly include?: Array<string>;
109
+ /**
110
+ * A list of glob patterns that should be excluded from your test files.
111
+ *
112
+ * @default - Vitest's `configDefaults.exclude`
113
+ * @see https://vitest.dev/config/#exclude
114
+ */
28
115
  readonly exclude?: Array<string>;
116
+ /**
117
+ * The environment that will be used for testing.
118
+ *
119
+ * @default "node"
120
+ * @see https://vitest.dev/config/#environment
121
+ */
29
122
  readonly environment?: Environment;
123
+ /**
124
+ * Run tests in an isolated environment. This option has no effect on vmThreads pool.
125
+ *
126
+ * Disabling this option might improve performance if your code doesn't rely on side effects.
127
+ *
128
+ * @default true
129
+ * @see https://vitest.dev/config/#isolate
130
+ */
30
131
  readonly isolate?: boolean;
132
+ /**
133
+ * Pool used to run tests in.
134
+ *
135
+ * @default "forks"
136
+ * @see https://vitest.dev/config/#pool
137
+ */
31
138
  readonly pool?: Pool;
139
+ /**
140
+ * Register apis globally. If you prefer to use the APIs globally like Jest, set to `true`.
141
+ *
142
+ * @default false
143
+ * @see https://vitest.dev/config/#globals
144
+ */
32
145
  readonly globals?: boolean;
146
+ /**
147
+ * Coverage enabled.
148
+ *
149
+ * @default true
150
+ * @see https://vitest.dev/config/#coverage-enabled
151
+ */
33
152
  readonly coverageEnabled?: boolean;
153
+ /**
154
+ * Coverage provider type.
155
+ *
156
+ * @default "v8"
157
+ * @see https://vitest.dev/config/#coverage-provider
158
+ */
34
159
  readonly coverageProvider?: CoverageProvider;
160
+ /**
161
+ * Coverage reporters.
162
+ *
163
+ * @default '["text", "lcov"]'
164
+ * @see https://vitest.dev/config/#coverage-reporter
165
+ */
35
166
  readonly coverageReporters?: Array<CoverageReporter>;
167
+ /**
168
+ * Coverage output directory.
169
+ *
170
+ * @default "coverage"
171
+ */
36
172
  readonly coverageDirectory?: string;
173
+ /**
174
+ * Enable typechecking alongside your regular tests.
175
+ *
176
+ * @default true (for TypeScript projects)
177
+ * @see https://vitest.dev/config/#typecheck-enabled
178
+ */
37
179
  readonly typecheckEnabled?: boolean;
180
+ /**
181
+ * Tool to use for type checking. Checker should implement the same output format as `tsc`.
182
+ *
183
+ * @default "tsc --noEmit"
184
+ * @see https://vitest.dev/config/#typecheck-checker
185
+ */
38
186
  readonly typecheckChecker?: string;
187
+ /**
188
+ * Path to custom tsconfig, relative to the project root.
189
+ *
190
+ * @default "tsconfig.dev.json"
191
+ * @see https://vitest.dev/config/#typecheck-tsconfig
192
+ */
39
193
  readonly typecheckTsconfig?: string;
194
+ /**
195
+ * Vitest will not fail, if no tests will be found.
196
+ *
197
+ * @default true
198
+ * @see https://vitest.dev/config/#passwithnotests
199
+ */
40
200
  readonly passWithNoTests?: boolean;
201
+ /**
202
+ * Stop running tests after certain number of failures.
203
+ *
204
+ * @default 0
205
+ * @see https://vitest.dev/config/#bail
206
+ */
41
207
  readonly bail?: number;
208
+ /**
209
+ * Update snapshot files. This will update all changed snapshots and delete obsolete ones.
210
+ *
211
+ * @default true
212
+ * @see https://vitest.dev/guide/snapshot.html#updating-snapshots
213
+ */
42
214
  readonly updateSnapshots?: boolean;
215
+ /**
216
+ * Always print console traces when calling any console method.
217
+ *
218
+ * @default true
219
+ * @see https://vitest.dev/config/#consoletrace
220
+ */
43
221
  readonly printConsoleTrace?: boolean;
222
+ /**
223
+ * The number of milliseconds after which a test or suite is considered slow.
224
+ *
225
+ * @default 300
226
+ * @see https://vitest.dev/config/#slowtestthreshold
227
+ */
44
228
  readonly slowTestThreshold?: number;
45
229
  }
46
230
  export interface VitestOptions {
231
+ /**
232
+ * Config file path.
233
+ *
234
+ * @default "vitest.config.ts"
235
+ */
47
236
  readonly configFilePath?: string;
237
+ /**
238
+ * Initial config options.
239
+ */
48
240
  readonly config?: VitestConfigOptions;
241
+ /**
242
+ * Vitest version.
243
+ *
244
+ * @default "^4"
245
+ */
49
246
  readonly vitestVersion?: string;
50
247
  }
51
248
  export declare class Vitest extends Component {