@nikovirtala/projen-constructs 0.2.32 → 0.2.34
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/.jsii +2752 -1202
- package/docs/api/assets/navigation.js +1 -1
- package/docs/api/assets/search.js +1 -1
- package/docs/api/classes/AwsCdkConstructLibraryProject.html +1 -1
- package/docs/api/classes/AwsCdkTypeScriptAppProject.html +1 -1
- package/docs/api/classes/Bundler.html +36 -0
- package/docs/api/classes/Colima.html +31 -0
- package/docs/api/classes/Homebrew.html +33 -0
- package/docs/api/classes/JsiiProject.html +1 -1
- package/docs/api/classes/LambdaFunctionCodeBundle.html +31 -0
- package/docs/api/classes/LambdaFunctionCodeBundler.html +31 -0
- package/docs/api/classes/LambdaFunctionConstructGenerator.html +38 -0
- package/docs/api/classes/LocalStack.html +31 -0
- package/docs/api/classes/Mise.html +32 -0
- package/docs/api/classes/ProjectGenerator.html +1 -1
- package/docs/api/classes/TypeDoc.html +1 -1
- package/docs/api/classes/TypeScriptProject.html +1 -1
- package/docs/api/classes/Vitest.html +1 -1
- package/docs/api/functions/convertToPosixPath.html +1 -0
- package/docs/api/functions/renderBundleName.html +1 -0
- package/docs/api/interfaces/AwsCdkConstructLibraryProjectOptions.html +97 -87
- package/docs/api/interfaces/AwsCdkTypeScriptAppProjectOptions.html +93 -83
- package/docs/api/interfaces/Bundle.html +4 -0
- package/docs/api/interfaces/BundlerOptions.html +5 -0
- package/docs/api/interfaces/BundlingOptions.html +13 -0
- package/docs/api/interfaces/HomebrewOptions.html +2 -0
- package/docs/api/interfaces/JsiiProjectOptions.html +95 -85
- package/docs/api/interfaces/LambdaFunctionCodeBundleOptions.html +6 -0
- package/docs/api/interfaces/LambdaFunctionCodeBundlerOptions.html +4 -0
- package/docs/api/interfaces/LambdaFunctionConstructGeneratorOptions.html +9 -0
- package/docs/api/interfaces/LocalStackOptions.html +5 -0
- package/docs/api/interfaces/MiseOptions.html +2 -0
- package/docs/api/interfaces/ProjectGeneratorOptions.html +1 -1
- package/docs/api/interfaces/TypeScriptProjectOptions.html +86 -76
- package/docs/api/modules.html +1 -1
- package/lib/components/bundle-lambda-function-code.js +9 -1
- package/lib/components/colima.js +5 -1
- package/lib/components/homebrew.js +21 -2
- package/lib/components/lambda-function-construct-generator.js +5 -1
- package/lib/components/localstack.js +5 -1
- package/lib/components/mise.js +5 -1
- package/lib/components/typedoc.js +1 -1
- package/lib/components/vitest.js +1 -1
- package/lib/index.d.ts +1 -2
- package/lib/index.js +2 -3
- package/lib/project-generator.js +1 -1
- package/lib/projects/awscdk-construct-library-options.generated.d.ts +11 -1
- package/lib/projects/awscdk-construct-library-options.generated.js +1 -1
- package/lib/projects/awscdk-construct-library.generated.js +1 -1
- package/lib/projects/awscdk-typescript-app-options.generated.d.ts +11 -1
- package/lib/projects/awscdk-typescript-app-options.generated.js +1 -1
- package/lib/projects/awscdk-typescript-app.generated.js +1 -1
- package/lib/projects/jsii-options.generated.d.ts +11 -1
- package/lib/projects/jsii-options.generated.js +1 -1
- package/lib/projects/jsii.generated.js +1 -1
- package/lib/projects/typescript-options.generated.d.ts +11 -1
- package/lib/projects/typescript-options.generated.js +1 -1
- package/lib/projects/typescript.generated.js +1 -1
- package/node_modules/@jsii/spec/package.json +2 -2
- package/package.json +7 -7
package/docs/api/modules.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@nikovirtala/projen-constructs</title><meta name="description" content="Documentation for @nikovirtala/projen-constructs"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">@nikovirtala/projen-constructs</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"></ul><h1>@nikovirtala/projen-constructs</h1></div><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Enumerations"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Enumerations</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="commentstyle"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/CommentStyle.html">CommentStyle</a><a href="#commentstyle" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="coverageprovider"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/CoverageProvider.html">CoverageProvider</a><a href="#coverageprovider" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="coveragereporter"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/CoverageReporter.html">CoverageReporter</a><a href="#coveragereporter" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="entrypointstrategy"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/EntryPointStrategy.html">EntryPointStrategy</a><a href="#entrypointstrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="environment"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/Environment.html">Environment</a><a href="#environment" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="loglevel"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/LogLevel.html">LogLevel</a><a href="#loglevel" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="pool"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/Pool.html">Pool</a><a href="#pool" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="projecttype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/ProjectType.html">ProjectType</a><a href="#projecttype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="visibility"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/Visibility.html">Visibility</a><a href="#visibility" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Classes"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Classes</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="awscdkconstructlibraryproject"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/AwsCdkConstructLibraryProject.html">AwsCdkConstructLibraryProject</a><a href="#awscdkconstructlibraryproject" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="awscdktypescriptappproject"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/AwsCdkTypeScriptAppProject.html">AwsCdkTypeScriptAppProject</a><a href="#awscdktypescriptappproject" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="jsiiproject"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/JsiiProject.html">JsiiProject</a><a href="#jsiiproject" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="projectgenerator-1"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/ProjectGenerator.html">ProjectGenerator</a><a href="#projectgenerator-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="typedoc-1"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TypeDoc.html">TypeDoc</a><a href="#typedoc-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="typescriptproject"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TypeScriptProject.html">TypeScriptProject</a><a href="#typescriptproject" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="vitest-1"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/Vitest.html">Vitest</a><a href="#vitest-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Interfaces"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Interfaces</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="awscdkconstructlibraryprojectoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/AwsCdkConstructLibraryProjectOptions.html">AwsCdkConstructLibraryProjectOptions</a><a href="#awscdkconstructlibraryprojectoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="awscdktypescriptappprojectoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/AwsCdkTypeScriptAppProjectOptions.html">AwsCdkTypeScriptAppProjectOptions</a><a href="#awscdktypescriptappprojectoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="component"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/Component.html">Component</a><a href="#component" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="componentoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/ComponentOptions.html">ComponentOptions</a><a href="#componentoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="jsiiprojectoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/JsiiProjectOptions.html">JsiiProjectOptions</a><a href="#jsiiprojectoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="projectgeneratoroptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/ProjectGeneratorOptions.html">ProjectGeneratorOptions</a><a href="#projectgeneratoroptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="typedocconfiguration"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/TypeDocConfiguration.html">TypeDocConfiguration</a><a href="#typedocconfiguration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="typedocoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/TypeDocOptions.html">TypeDocOptions</a><a href="#typedocoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="typescriptprojectoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/TypeScriptProjectOptions.html">TypeScriptProjectOptions</a><a href="#typescriptprojectoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="validationoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/ValidationOptions.html">ValidationOptions</a><a href="#validationoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="vitestconfigoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/VitestConfigOptions.html">VitestConfigOptions</a><a href="#vitestconfigoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="vitestoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/VitestOptions.html">VitestOptions</a><a href="#vitestoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Variables"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Variables</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="defaultoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><a href="variables/defaultOptions.html">defaultOptions</a><a href="#defaultoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="defaults"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><a href="variables/defaults.html">defaults</a><a href="#defaults" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="projectdefaultoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><a href="variables/projectDefaultOptions.html">projectDefaultOptions</a><a href="#projectdefaultoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Functions"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Functions</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="applydefaults"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/applyDefaults.html">applyDefaults</a><a href="#applydefaults" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="tojson_typedocconfiguration"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/toJson_TypeDocConfiguration.html">toJson_TypeDocConfiguration</a><a href="#tojson_typedocconfiguration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Enumerations"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Enumerations</summary><div><a href="#commentstyle"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Comment<wbr/>Style</span></a><a href="#coverageprovider"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Coverage<wbr/>Provider</span></a><a href="#coveragereporter"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Coverage<wbr/>Reporter</span></a><a href="#entrypointstrategy"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Entry<wbr/>Point<wbr/>Strategy</span></a><a href="#environment"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Environment</span></a><a href="#loglevel"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Log<wbr/>Level</span></a><a href="#pool"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Pool</span></a><a href="#projecttype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Project<wbr/>Type</span></a><a href="#visibility"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Visibility</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Classes"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Classes</summary><div><a href="#awscdkconstructlibraryproject"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Aws<wbr/>Cdk<wbr/>Construct<wbr/>Library<wbr/>Project</span></a><a href="#awscdktypescriptappproject"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Aws<wbr/>Cdk<wbr/>Type<wbr/>Script<wbr/>App<wbr/>Project</span></a><a href="#jsiiproject"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Jsii<wbr/>Project</span></a><a href="#projectgenerator-1"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Project<wbr/>Generator</span></a><a href="#typedoc-1"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Type<wbr/>Doc</span></a><a href="#typescriptproject"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Type<wbr/>Script<wbr/>Project</span></a><a href="#vitest-1"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Vitest</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Interfaces"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Interfaces</summary><div><a href="#awscdkconstructlibraryprojectoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Aws<wbr/>Cdk<wbr/>Construct<wbr/>Library<wbr/>Project<wbr/>Options</span></a><a href="#awscdktypescriptappprojectoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Aws<wbr/>Cdk<wbr/>Type<wbr/>Script<wbr/>App<wbr/>Project<wbr/>Options</span></a><a href="#component"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Component</span></a><a href="#componentoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Component<wbr/>Options</span></a><a href="#jsiiprojectoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Jsii<wbr/>Project<wbr/>Options</span></a><a href="#projectgeneratoroptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Project<wbr/>Generator<wbr/>Options</span></a><a href="#typedocconfiguration"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Type<wbr/>Doc<wbr/>Configuration</span></a><a href="#typedocoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Type<wbr/>Doc<wbr/>Options</span></a><a href="#typescriptprojectoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Type<wbr/>Script<wbr/>Project<wbr/>Options</span></a><a href="#validationoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Validation<wbr/>Options</span></a><a href="#vitestconfigoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Vitest<wbr/>Config<wbr/>Options</span></a><a href="#vitestoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Vitest<wbr/>Options</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Variables"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Variables</summary><div><a href="#defaultoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><span>default<wbr/>Options</span></a><a href="#defaults"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><span>defaults</span></a><a href="#projectdefaultoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><span>project<wbr/>Default<wbr/>Options</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Functions"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Functions</summary><div><a href="#applydefaults"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>apply<wbr/>Defaults</span></a><a href="#tojson_typedocconfiguration"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>to<wbr/>Json_<wbr/>Type<wbr/>Doc<wbr/>Configuration</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html" class="current">@nikovirtala/projen-constructs</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@nikovirtala/projen-constructs</title><meta name="description" content="Documentation for @nikovirtala/projen-constructs"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">@nikovirtala/projen-constructs</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"></ul><h1>@nikovirtala/projen-constructs</h1></div><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Enumerations"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Enumerations</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="commentstyle"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/CommentStyle.html">CommentStyle</a><a href="#commentstyle" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="coverageprovider"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/CoverageProvider.html">CoverageProvider</a><a href="#coverageprovider" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="coveragereporter"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/CoverageReporter.html">CoverageReporter</a><a href="#coveragereporter" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="entrypointstrategy"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/EntryPointStrategy.html">EntryPointStrategy</a><a href="#entrypointstrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="environment"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/Environment.html">Environment</a><a href="#environment" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="loglevel"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/LogLevel.html">LogLevel</a><a href="#loglevel" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="pool"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/Pool.html">Pool</a><a href="#pool" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="projecttype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/ProjectType.html">ProjectType</a><a href="#projecttype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="visibility"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><a href="enums/Visibility.html">Visibility</a><a href="#visibility" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Classes"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Classes</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="awscdkconstructlibraryproject"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/AwsCdkConstructLibraryProject.html">AwsCdkConstructLibraryProject</a><a href="#awscdkconstructlibraryproject" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="awscdktypescriptappproject"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/AwsCdkTypeScriptAppProject.html">AwsCdkTypeScriptAppProject</a><a href="#awscdktypescriptappproject" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="bundler-1"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/Bundler.html">Bundler</a><a href="#bundler-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="colima-1"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/Colima.html">Colima</a><a href="#colima-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="homebrew-1"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/Homebrew.html">Homebrew</a><a href="#homebrew-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="jsiiproject"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/JsiiProject.html">JsiiProject</a><a href="#jsiiproject" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="lambdafunctioncodebundle"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/LambdaFunctionCodeBundle.html">LambdaFunctionCodeBundle</a><a href="#lambdafunctioncodebundle" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="lambdafunctioncodebundler"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/LambdaFunctionCodeBundler.html">LambdaFunctionCodeBundler</a><a href="#lambdafunctioncodebundler" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="lambdafunctionconstructgenerator-1"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/LambdaFunctionConstructGenerator.html">LambdaFunctionConstructGenerator</a><a href="#lambdafunctionconstructgenerator-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="localstack-1"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/LocalStack.html">LocalStack</a><a href="#localstack-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="mise-1"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/Mise.html">Mise</a><a href="#mise-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="projectgenerator-1"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/ProjectGenerator.html">ProjectGenerator</a><a href="#projectgenerator-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="typedoc-1"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TypeDoc.html">TypeDoc</a><a href="#typedoc-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="typescriptproject"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/TypeScriptProject.html">TypeScriptProject</a><a href="#typescriptproject" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="vitest-1"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><a href="classes/Vitest.html">Vitest</a><a href="#vitest-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Interfaces"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Interfaces</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="awscdkconstructlibraryprojectoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/AwsCdkConstructLibraryProjectOptions.html">AwsCdkConstructLibraryProjectOptions</a><a href="#awscdkconstructlibraryprojectoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="awscdktypescriptappprojectoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/AwsCdkTypeScriptAppProjectOptions.html">AwsCdkTypeScriptAppProjectOptions</a><a href="#awscdktypescriptappprojectoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="bundle"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/Bundle.html">Bundle</a><a href="#bundle" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="bundleroptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/BundlerOptions.html">BundlerOptions</a><a href="#bundleroptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="bundlingoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/BundlingOptions.html">BundlingOptions</a><a href="#bundlingoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="component"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/Component.html">Component</a><a href="#component" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="componentoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/ComponentOptions.html">ComponentOptions</a><a href="#componentoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="homebrewoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/HomebrewOptions.html">HomebrewOptions</a><a href="#homebrewoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="jsiiprojectoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/JsiiProjectOptions.html">JsiiProjectOptions</a><a href="#jsiiprojectoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="lambdafunctioncodebundleoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/LambdaFunctionCodeBundleOptions.html">LambdaFunctionCodeBundleOptions</a><a href="#lambdafunctioncodebundleoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="lambdafunctioncodebundleroptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/LambdaFunctionCodeBundlerOptions.html">LambdaFunctionCodeBundlerOptions</a><a href="#lambdafunctioncodebundleroptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="lambdafunctionconstructgeneratoroptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/LambdaFunctionConstructGeneratorOptions.html">LambdaFunctionConstructGeneratorOptions</a><a href="#lambdafunctionconstructgeneratoroptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="localstackoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/LocalStackOptions.html">LocalStackOptions</a><a href="#localstackoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="miseoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/MiseOptions.html">MiseOptions</a><a href="#miseoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="projectgeneratoroptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/ProjectGeneratorOptions.html">ProjectGeneratorOptions</a><a href="#projectgeneratoroptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="typedocconfiguration"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/TypeDocConfiguration.html">TypeDocConfiguration</a><a href="#typedocconfiguration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="typedocoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/TypeDocOptions.html">TypeDocOptions</a><a href="#typedocoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="typescriptprojectoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/TypeScriptProjectOptions.html">TypeScriptProjectOptions</a><a href="#typescriptprojectoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="validationoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/ValidationOptions.html">ValidationOptions</a><a href="#validationoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="vitestconfigoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/VitestConfigOptions.html">VitestConfigOptions</a><a href="#vitestconfigoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="vitestoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><a href="interfaces/VitestOptions.html">VitestOptions</a><a href="#vitestoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Variables"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Variables</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="defaultoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><a href="variables/defaultOptions.html">defaultOptions</a><a href="#defaultoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="defaults"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><a href="variables/defaults.html">defaults</a><a href="#defaults" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="projectdefaultoptions"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><a href="variables/projectDefaultOptions.html">projectDefaultOptions</a><a href="#projectdefaultoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Functions"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Functions</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="applydefaults"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/applyDefaults.html">applyDefaults</a><a href="#applydefaults" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="converttoposixpath"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/convertToPosixPath.html">convertToPosixPath</a><a href="#converttoposixpath" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="renderbundlename"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/renderBundleName.html">renderBundleName</a><a href="#renderbundlename" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="tojson_typedocconfiguration"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/toJson_TypeDocConfiguration.html">toJson_TypeDocConfiguration</a><a href="#tojson_typedocconfiguration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Enumerations"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Enumerations</summary><div><a href="#commentstyle"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Comment<wbr/>Style</span></a><a href="#coverageprovider"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Coverage<wbr/>Provider</span></a><a href="#coveragereporter"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Coverage<wbr/>Reporter</span></a><a href="#entrypointstrategy"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Entry<wbr/>Point<wbr/>Strategy</span></a><a href="#environment"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Environment</span></a><a href="#loglevel"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Log<wbr/>Level</span></a><a href="#pool"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Pool</span></a><a href="#projecttype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Project<wbr/>Type</span></a><a href="#visibility"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Enumeration"><use href="assets/icons.svg#icon-8"></use></svg><span>Visibility</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Classes"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Classes</summary><div><a href="#awscdkconstructlibraryproject"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Aws<wbr/>Cdk<wbr/>Construct<wbr/>Library<wbr/>Project</span></a><a href="#awscdktypescriptappproject"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Aws<wbr/>Cdk<wbr/>Type<wbr/>Script<wbr/>App<wbr/>Project</span></a><a href="#bundler-1"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Bundler</span></a><a href="#colima-1"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Colima</span></a><a href="#homebrew-1"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Homebrew</span></a><a href="#jsiiproject"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Jsii<wbr/>Project</span></a><a href="#lambdafunctioncodebundle"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Lambda<wbr/>Function<wbr/>Code<wbr/>Bundle</span></a><a href="#lambdafunctioncodebundler"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Lambda<wbr/>Function<wbr/>Code<wbr/>Bundler</span></a><a href="#lambdafunctionconstructgenerator-1"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Lambda<wbr/>Function<wbr/>Construct<wbr/>Generator</span></a><a href="#localstack-1"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Local<wbr/>Stack</span></a><a href="#mise-1"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Mise</span></a><a href="#projectgenerator-1"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Project<wbr/>Generator</span></a><a href="#typedoc-1"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Type<wbr/>Doc</span></a><a href="#typescriptproject"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Type<wbr/>Script<wbr/>Project</span></a><a href="#vitest-1"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg><span>Vitest</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Interfaces"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Interfaces</summary><div><a href="#awscdkconstructlibraryprojectoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Aws<wbr/>Cdk<wbr/>Construct<wbr/>Library<wbr/>Project<wbr/>Options</span></a><a href="#awscdktypescriptappprojectoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Aws<wbr/>Cdk<wbr/>Type<wbr/>Script<wbr/>App<wbr/>Project<wbr/>Options</span></a><a href="#bundle"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Bundle</span></a><a href="#bundleroptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Bundler<wbr/>Options</span></a><a href="#bundlingoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Bundling<wbr/>Options</span></a><a href="#component"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Component</span></a><a href="#componentoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Component<wbr/>Options</span></a><a href="#homebrewoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Homebrew<wbr/>Options</span></a><a href="#jsiiprojectoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Jsii<wbr/>Project<wbr/>Options</span></a><a href="#lambdafunctioncodebundleoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Lambda<wbr/>Function<wbr/>Code<wbr/>Bundle<wbr/>Options</span></a><a href="#lambdafunctioncodebundleroptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Lambda<wbr/>Function<wbr/>Code<wbr/>Bundler<wbr/>Options</span></a><a href="#lambdafunctionconstructgeneratoroptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Lambda<wbr/>Function<wbr/>Construct<wbr/>Generator<wbr/>Options</span></a><a href="#localstackoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Local<wbr/>Stack<wbr/>Options</span></a><a href="#miseoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Mise<wbr/>Options</span></a><a href="#projectgeneratoroptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Project<wbr/>Generator<wbr/>Options</span></a><a href="#typedocconfiguration"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Type<wbr/>Doc<wbr/>Configuration</span></a><a href="#typedocoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Type<wbr/>Doc<wbr/>Options</span></a><a href="#typescriptprojectoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Type<wbr/>Script<wbr/>Project<wbr/>Options</span></a><a href="#validationoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Validation<wbr/>Options</span></a><a href="#vitestconfigoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Vitest<wbr/>Config<wbr/>Options</span></a><a href="#vitestoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg><span>Vitest<wbr/>Options</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Variables"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Variables</summary><div><a href="#defaultoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><span>default<wbr/>Options</span></a><a href="#defaults"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><span>defaults</span></a><a href="#projectdefaultoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="assets/icons.svg#icon-32"></use></svg><span>project<wbr/>Default<wbr/>Options</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Functions"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Functions</summary><div><a href="#applydefaults"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>apply<wbr/>Defaults</span></a><a href="#converttoposixpath"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>convert<wbr/>To<wbr/>Posix<wbr/>Path</span></a><a href="#renderbundlename"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>render<wbr/>Bundle<wbr/>Name</span></a><a href="#tojson_typedocconfiguration"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>to<wbr/>Json_<wbr/>Type<wbr/>Doc<wbr/>Configuration</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html" class="current">@nikovirtala/projen-constructs</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var _a, _b, _c;
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.LambdaFunctionCodeBundler = exports.LambdaFunctionCodeBundle = exports.Bundler = void 0;
|
|
4
5
|
exports.renderBundleName = renderBundleName;
|
|
5
6
|
exports.convertToPosixPath = convertToPosixPath;
|
|
7
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
8
|
const path = require("node:path");
|
|
7
9
|
const node_path_1 = require("node:path");
|
|
8
10
|
const case_1 = require("case");
|
|
@@ -116,6 +118,8 @@ class Bundler extends projen_1.Component {
|
|
|
116
118
|
}
|
|
117
119
|
}
|
|
118
120
|
exports.Bundler = Bundler;
|
|
121
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
122
|
+
Bundler[_a] = { fqn: "@nikovirtala/projen-constructs.Bundler", version: "0.2.34" };
|
|
119
123
|
class LambdaFunctionCodeBundle extends projen_1.Component {
|
|
120
124
|
constructor(project, options) {
|
|
121
125
|
super(project);
|
|
@@ -158,6 +162,8 @@ class LambdaFunctionCodeBundle extends projen_1.Component {
|
|
|
158
162
|
}
|
|
159
163
|
}
|
|
160
164
|
exports.LambdaFunctionCodeBundle = LambdaFunctionCodeBundle;
|
|
165
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
166
|
+
LambdaFunctionCodeBundle[_b] = { fqn: "@nikovirtala/projen-constructs.LambdaFunctionCodeBundle", version: "0.2.34" };
|
|
161
167
|
class LambdaFunctionCodeBundler extends projen_1.Component {
|
|
162
168
|
constructor(project, options) {
|
|
163
169
|
super(project);
|
|
@@ -172,4 +178,6 @@ class LambdaFunctionCodeBundler extends projen_1.Component {
|
|
|
172
178
|
}
|
|
173
179
|
}
|
|
174
180
|
exports.LambdaFunctionCodeBundler = LambdaFunctionCodeBundler;
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLWxhbWJkYS1mdW5jdGlvbi1jb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvYnVuZGxlLWxhbWJkYS1mdW5jdGlvbi1jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLDRDQVNDO0FBRUQsZ0RBRUM7QUFsQkQsa0NBQWtDO0FBQ2xDLHlDQUF5RTtBQUN6RSwrQkFBOEI7QUFDOUIsbUNBQXFIO0FBRXJILFNBQWdCLGdCQUFnQixDQUFDLFVBQWtCO0lBQy9DLE1BQU0sS0FBSyxHQUFHLElBQUEsZ0JBQUksRUFBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBRyxDQUFDLENBQUM7SUFDMUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7UUFDckIsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQUcsQ0FBQyxDQUFDO0lBQzFCLE1BQU0sR0FBRyxHQUFHLElBQUEsbUJBQU8sRUFBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixNQUFNLElBQUksR0FBRyxJQUFBLG9CQUFRLEVBQUMsQ0FBQyxFQUFFLElBQUEsbUJBQU8sRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLE9BQU8sSUFBQSxnQkFBSSxFQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQUMsQ0FBUztJQUN4QyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQVNELE1BQWEsT0FBUSxTQUFRLGtCQUFTO0lBQzNCLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBZ0I7UUFDN0IsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFZLEVB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QUM7Q0FDSjtBQW5ERCw0REFtREM7QUFRRCxNQUFhLHlCQUEwQixTQUFRLGtCQUFTO0lBQ3BELFlBQVksT0FBZ0IsRUFBRSxPQUF5QztRQUNuRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixNQUFNLFdBQVcsR0FBYSxFQUFFLENBQUM7UUFFakMsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNuQyxJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3ZDLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7Z0JBQzVCLEdBQUcsT0FBTyxDQUFDLGFBQWE7YUFDM0IsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQWRELDhEQWNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBiYXNlbmFtZSwgZGlybmFtZSwgZXh0bmFtZSwgam9pbiwgcG9zaXgsIHNlcCB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IHBhc2NhbCB9IGZyb20gXCJjYXNlXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIERlcGVuZGVuY3lUeXBlLCBqYXZhc2NyaXB0LCB0eXBlIFByb2plY3QsIFNvdXJjZUNvZGUsIHR5cGUgVGFzaywgdHlwZSB0eXBlc2NyaXB0IH0gZnJvbSBcInByb2plblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyQnVuZGxlTmFtZShlbnRyeXBvaW50OiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXJ0cyA9IGpvaW4oZW50cnlwb2ludCkuc3BsaXQoc2VwKTtcbiAgICBpZiAocGFydHNbMF0gPT09IFwic3JjXCIpIHtcbiAgICAgICAgcGFydHMuc2hpZnQoKTtcbiAgICB9XG4gICAgY29uc3QgcCA9IHBhcnRzLmpvaW4oc2VwKTtcbiAgICBjb25zdCBkaXIgPSBkaXJuYW1lKHApO1xuICAgIGNvbnN0IGJhc2UgPSBiYXNlbmFtZShwLCBleHRuYW1lKHApKTtcbiAgICByZXR1cm4gam9pbihkaXIsIGJhc2UpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRvUG9zaXhQYXRoKHA6IHN0cmluZykge1xuICAgIHJldHVybiBwLnNwbGl0KHNlcCkuam9pbihwb3NpeC5zZXApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1bmRsZXJPcHRpb25zIHtcbiAgICByZWFkb25seSBlc2J1aWxkVmVyc2lvbj86IHN0cmluZztcbiAgICByZWFkb25seSBhc3NldHNEaXI/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYWRkVG9QcmVDb21waWxlPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBsb2FkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEJ1bmRsZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIHB1YmxpYyBzdGF0aWMgb2YocHJvamVjdDogUHJvamVjdCk6IEJ1bmRsZXIgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBpc0J1bmRsZXIgPSAobzogQ29tcG9uZW50KTogbyBpcyBCdW5kbGVyID0+IG8gaW5zdGFuY2VvZiBCdW5kbGVyO1xuICAgICAgICByZXR1cm4gcHJvamVjdC5jb21wb25lbnRzLmZpbmQoaXNCdW5kbGVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZXNidWlsZFZlcnNpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBwdWJsaWMgcmVhZG9ubHkgYnVuZGxlZGlyOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF90YXNrOiBUYXNrIHwgdW5kZWZpbmVkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWRkVG9QcmVDb21waWxlOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9hZGVycz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBCdW5kbGVyT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKHByb2plY3QpO1xuICAgICAgICB0aGlzLmVzYnVpbGRWZXJzaW9uID0gb3B0aW9ucy5lc2J1aWxkVmVyc2lvbjtcbiAgICAgICAgdGhpcy5idW5kbGVkaXIgPSBvcHRpb25zLmFzc2V0c0RpciA/PyBcImFzc2V0c1wiO1xuICAgICAgICB0aGlzLmFkZFRvUHJlQ29tcGlsZSA9IG9wdGlvbnMuYWRkVG9QcmVDb21waWxlID8/IHRydWU7XG4gICAgICAgIHRoaXMubG9hZGVycyA9IG9wdGlvbnMubG9hZGVycztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGJ1bmRsZVRhc2soKTogVGFzayB7XG4gICAgICAgIGlmICghdGhpcy5fdGFzaykge1xuICAgICAgICAgICAgdGhpcy5hZGRCdW5kbGluZ1N1cHBvcnQoKTtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2sgPSB0aGlzLnByb2plY3QudGFza3MuYWRkVGFzayhcImJ1bmRsZVwiLCB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUHJlcGFyZSBhc3NldHNcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHRoaXMuYWRkVG9QcmVDb21waWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9qZWN0LnByZUNvbXBpbGVUYXNrLnNwYXduKHRoaXMuX3Rhc2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl90YXNrO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRCdW5kbGUoZW50cnlwb2ludDogc3RyaW5nLCBvcHRpb25zOiBCdW5kbGluZ09wdGlvbnMpOiBCdW5kbGUge1xuICAgICAgICBjb25zdCBuYW1lID0gcmVuZGVyQnVuZGxlTmFtZShlbnRyeXBvaW50KTtcbiAgICAgICAgY29uc3Qgb3V0ZGlyID0gcGF0aC5wb3NpeC5qb2luKHRoaXMuYnVuZGxlZGlyLCBuYW1lKTtcbiAgICAgICAgY29uc3Qgb3V0ZmlsZSA9IHBhdGgucG9zaXguam9pbihvdXRkaXIsIG9wdGlvbnMub3V0ZmlsZSA/PyBcImluZGV4Lm1qc1wiKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gb3B0aW9ucy50YXJnZXQgPz8gXCJlc25leHRcIjtcbiAgICAgICAgY29uc3QgcGxhdGZvcm0gPSBvcHRpb25zLnBsYXRmb3JtID8/IFwibm9kZVwiO1xuICAgICAgICBjb25zdCBmb3JtYXQgPSBvcHRpb25zLmZvcm1hdCA/PyBcImVzbVwiO1xuICAgICAgICBjb25zdCBzb3VyY2VtYXAgPSBvcHRpb25zLnNvdXJjZW1hcCA/PyB0cnVlO1xuICAgICAgICBjb25zdCBzb3VyY2VzQ29udGVudCA9IG9wdGlvbnMuc291cmNlc0NvbnRlbnQgPz8gZmFsc2U7XG4gICAgICAgIGNvbnN0IG1pbmlmeSA9IG9wdGlvbnMubWluaWZ5ID8/IHRydWU7XG4gICAgICAgIGNvbnN0IG1haW5GaWVsZHMgPSBvcHRpb25zLm1haW5GaWVsZHMgPz8gXCJtb2R1bGUsbWFpblwiO1xuICAgICAgICBjb25zdCBiYW5uZXIgPVxuICAgICAgICAgICAgb3B0aW9ucy5iYW5uZXIgPz9cbiAgICAgICAgICAgIFwiOmpzPWltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgYXMgdG9wTGV2ZWxDcmVhdGVSZXF1aXJlIH0gZnJvbSAnbW9kdWxlJztjb25zdCByZXF1aXJlID0gdG9wTGV2ZWxDcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybClcIjtcblxuICAgICAgICBjb25zdCBhcmdzID0gW1xuICAgICAgICAgICAgXCJlc2J1aWxkXCIsXG4gICAgICAgICAgICBcIi0tYnVuZGxlXCIsXG4gICAgICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICAgICAgYC0tdGFyZ2V0PVwiJHt0YXJnZXR9XCJgLFxuICAgICAgICAgICAgYC0tcGxhdGZvcm09XCIke3BsYXRmb3JtfVwiYCxcbiAgICAgICAgICAgIGAtLW91dGZpbGU9XCIke291dGZpbGV9XCJgLFxuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IHRzY29uZmlnID0gb3B0aW9ucy50c2NvbmZpZ1BhdGggPz8gZmFsc2U7XG4gICAgICAgIGlmICh0c2NvbmZpZykge1xuICAgICAgICAgICAgYXJncy5wdXNoKGAtLXRzY29uZmlnPVwiJHt0c2NvbmZpZ31cImApO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCB4IG9mIG9wdGlvbnMuZXh0ZXJuYWxzID8/IFtdKSB7XG4gICAgICAgICAgICBhcmdzLnB1c2goYC0tZXh0ZXJuYWw6JHt4fWApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNvdXJjZW1hcCkge1xuICAgICAgICAgICAgYXJncy5wdXNoKFwiLS1zb3VyY2VtYXBcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc291cmNlc0NvbnRlbnQpIHtcbiAgICAgICAgICAgIGFyZ3MucHVzaChgLS1zb3VyY2VzLWNvbnRlbnQ9JHtzb3VyY2VzQ29udGVudH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtaW5pZnkpIHtcbiAgICAgICAgICAgIGFyZ3MucHVzaChcIi0tbWluaWZ5XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvcm1hdCkge1xuICAgICAgICAgICAgYXJncy5wdXNoKGAtLWZvcm1hdD0ke2Zvcm1hdH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtYWluRmllbGRzKSB7XG4gICAgICAgICAgICBhcmdzLnB1c2goYC0tbWFpbi1maWVsZHM9JHttYWluRmllbGRzfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGJhbm5lcikge1xuICAgICAgICAgICAgYXJncy5wdXNoKGAtLWJhbm5lciR7YmFubmVyfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbG9hZGVycyA9IChvcHRpb25zLmxvYWRlcnMgPz8gZmFsc2UpID8gb3B0aW9ucy5sb2FkZXJzIDogKHRoaXMubG9hZGVycyA/PyBmYWxzZSk7XG4gICAgICAgIGlmIChsb2FkZXJzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtleHRlbnNpb24sIGxvYWRlcl0gb2YgT2JqZWN0LmVudHJpZXMobG9hZGVycykpIHtcbiAgICAgICAgICAgICAgICBhcmdzLnB1c2goYC0tbG9hZGVyOi4ke2V4dGVuc2lvbn09JHtsb2FkZXJ9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBidW5kbGVUYXNrID0gdGhpcy5wcm9qZWN0LmFkZFRhc2soYGJ1bmRsZToke25hbWV9YCwge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IGBDcmVhdGUgYSBKYXZhU2NyaXB0IGJ1bmRsZSBmcm9tICR7ZW50cnlwb2ludH1gLFxuICAgICAgICAgICAgZXhlYzogYXJncy5qb2luKFwiIFwiKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5idW5kbGVUYXNrLnNwYXduKGJ1bmRsZVRhc2spO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBidW5kbGVUYXNrOiBidW5kbGVUYXNrLFxuICAgICAgICAgICAgb3V0ZGlyOiBvdXRkaXIsXG4gICAgICAgICAgICBvdXRmaWxlOiBvdXRmaWxlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQnVuZGxpbmdTdXBwb3J0KCkge1xuICAgICAgICBjb25zdCBpZ25vcmVFbnRyeSA9IGAvJHt0aGlzLmJ1bmRsZWRpcn0vYDtcbiAgICAgICAgdGhpcy5wcm9qZWN0LmFkZEdpdElnbm9yZShpZ25vcmVFbnRyeSk7XG4gICAgICAgIHRoaXMucHJvamVjdC5hZGRQYWNrYWdlSWdub3JlKGAhJHtpZ25vcmVFbnRyeX1gKTtcbiAgICAgICAgY29uc3QgZGVwID0gdGhpcy5lc2J1aWxkVmVyc2lvbiA/IGBlc2J1aWxkQCR7dGhpcy5lc2J1aWxkVmVyc2lvbn1gIDogXCJlc2J1aWxkXCI7XG4gICAgICAgIHRoaXMucHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3koZGVwLCBEZXBlbmRlbmN5VHlwZS5CVUlMRCk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1bmRsZSB7XG4gICAgcmVhZG9ubHkgYnVuZGxlVGFzazogVGFzaztcbiAgICByZWFkb25seSBvdXRmaWxlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgb3V0ZGlyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVuZGxpbmdPcHRpb25zIHtcbiAgICByZWFkb25seSBleHRlcm5hbHM/OiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBzb3VyY2VtYXA/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IHRhcmdldD86IHN0cmluZztcbiAgICByZWFkb25seSBwbGF0Zm9ybT86IHN0cmluZztcbiAgICByZWFkb25seSBvdXRmaWxlPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHRzY29uZmlnUGF0aD86IHN0cmluZztcbiAgICByZWFkb25seSBsb2FkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICByZWFkb25seSBmb3JtYXQ/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgbWluaWZ5PzogYm9vbGVhbjtcbiAgICByZWFkb25seSBzb3VyY2VzQ29udGVudD86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgbWFpbkZpZWxkcz86IHN0cmluZztcbiAgICByZWFkb25seSBiYW5uZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhRnVuY3Rpb25Db2RlQnVuZGxlT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgZW50cnlwb2ludDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGV4dGVuc2lvbjogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGNvbnN0cnVjdEZpbGU/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY29uc3RydWN0TmFtZT86IHN0cmluZztcbiAgICByZWFkb25seSBidW5kbGluZ09wdGlvbnM/OiBCdW5kbGluZ09wdGlvbnM7XG59XG5cbmV4cG9ydCBjbGFzcyBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IExhbWJkYUZ1bmN0aW9uQ29kZUJ1bmRsZU9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAgICAgY29uc3QgYnVuZGxlciA9IEJ1bmRsZXIub2YocHJvamVjdCk7XG4gICAgICAgIGlmICghYnVuZGxlcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gYnVuZGxlciBmb3VuZC4gUGxlYXNlIGFkZCBhIEJ1bmRsZXIgY29tcG9uZW50IHRvIHlvdXIgcHJvamVjdC5cIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlc2xpbnQgPSBqYXZhc2NyaXB0LkVzbGludC5vZihwcm9qZWN0KTtcbiAgICAgICAgZXNsaW50Py5hbGxvd0RldkRlcHMob3B0aW9ucy5lbnRyeXBvaW50KTtcblxuICAgICAgICBjb25zdCBlbnRyeXBvaW50ID0gb3B0aW9ucy5lbnRyeXBvaW50O1xuICAgICAgICBjb25zdCBleHRlbnNpb24gPSBvcHRpb25zLmV4dGVuc2lvbiA/PyBcIi5sYW1iZGEudHNcIjtcblxuICAgICAgICBpZiAoIWVudHJ5cG9pbnQuZW5kc1dpdGgoZXh0ZW5zaW9uKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2VudHJ5cG9pbnR9IG11c3QgaGF2ZSBhICR7ZXh0ZW5zaW9ufSBleHRlbnNpb25gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJhc2VQYXRoID0gcGF0aC5wb3NpeC5qb2luKHBhdGguZGlybmFtZShlbnRyeXBvaW50KSwgcGF0aC5iYXNlbmFtZShlbnRyeXBvaW50LCBleHRlbnNpb24pKTtcbiAgICAgICAgY29uc3QgY29uc3RydWN0RmlsZSA9IG9wdGlvbnMuY29uc3RydWN0RmlsZSA/PyBgJHtiYXNlUGF0aH0tY29kZS50c2A7XG5cbiAgICAgICAgaWYgKHBhdGguZXh0bmFtZShjb25zdHJ1Y3RGaWxlKSAhPT0gXCIudHNcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb25zdHJ1Y3QgZmlsZSBuYW1lIFwiJHtjb25zdHJ1Y3RGaWxlfVwiIG11c3QgaGF2ZSBhIC50cyBleHRlbnNpb25gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbnN0cnVjdE5hbWUgPSBvcHRpb25zLmNvbnN0cnVjdE5hbWUgPz8gYCR7cGFzY2FsKHBhdGguYmFzZW5hbWUoYmFzZVBhdGgpKX1GdW5jdGlvbkNvZGVgO1xuXG4gICAgICAgIGNvbnN0IGJ1bmRsZSA9IGJ1bmRsZXIuYWRkQnVuZGxlKGVudHJ5cG9pbnQsIHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMuYnVuZGxpbmdPcHRpb25zLFxuICAgICAgICAgICAgdHNjb25maWdQYXRoOiAocHJvamVjdCBhcyB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0KT8udHNjb25maWdEZXY/LmZpbGVOYW1lLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBvdXRmaWxlQWJzID0gcGF0aC5qb2luKHByb2plY3Qub3V0ZGlyLCBidW5kbGUub3V0ZmlsZSk7XG4gICAgICAgIGNvbnN0IGNvbnN0cnVjdEFicyA9IHBhdGguam9pbihwcm9qZWN0Lm91dGRpciwgY29uc3RydWN0RmlsZSk7XG4gICAgICAgIGNvbnN0IHJlbGF0aXZlT3V0ZmlsZSA9IHBhdGgucmVsYXRpdmUocGF0aC5kaXJuYW1lKGNvbnN0cnVjdEFicyksIHBhdGguZGlybmFtZShvdXRmaWxlQWJzKSk7XG5cbiAgICAgICAgY29uc3Qgc3JjID0gbmV3IFNvdXJjZUNvZGUocHJvamVjdCwgY29uc3RydWN0RmlsZSk7XG4gICAgICAgIGlmIChzcmMubWFya2VyKSB7XG4gICAgICAgICAgICBzcmMubGluZShgLy8gJHtzcmMubWFya2VyfWApO1xuICAgICAgICB9XG4gICAgICAgIHNyYy5saW5lKFwiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcIik7XG4gICAgICAgIHNyYy5saW5lKFwiaW1wb3J0IHsgYXdzX2xhbWJkYSB9IGZyb20gJ2F3cy1jZGstbGliJztcIik7XG4gICAgICAgIHNyYy5saW5lKCk7XG4gICAgICAgIHNyYy5vcGVuKGBleHBvcnQgY29uc3QgJHtjb25zdHJ1Y3ROYW1lfSA9IGF3c19sYW1iZGEuQ29kZS5mcm9tQXNzZXQoYCk7XG4gICAgICAgIHNyYy5saW5lKGBwYXRoLmpvaW4oX19kaXJuYW1lLCAnJHtjb252ZXJ0VG9Qb3NpeFBhdGgocmVsYXRpdmVPdXRmaWxlKX0nKSxgKTtcbiAgICAgICAgc3JjLmNsb3NlKFwiKTtcIik7XG5cbiAgICAgICAgdGhpcy5wcm9qZWN0LmxvZ2dlci52ZXJib3NlKGAke2Jhc2VQYXRofTogY29uc3RydWN0IFwiJHtjb25zdHJ1Y3ROYW1lfVwiIGdlbmVyYXRlZCB1bmRlciBcIiR7Y29uc3RydWN0RmlsZX1cImApO1xuICAgICAgICB0aGlzLnByb2plY3QubG9nZ2VyLnZlcmJvc2UoYCR7YmFzZVBhdGh9OiBidW5kbGUgdGFzayBcIiR7YnVuZGxlLmJ1bmRsZVRhc2submFtZX1cImApO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGVyT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgZXh0ZW5zaW9uOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc3JjZGlyOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYnVuZGxlT3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29kZUJ1bmRsZU9wdGlvbnM7XG59XG5cbmV4cG9ydCBjbGFzcyBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGVyT3B0aW9ucykge1xuICAgICAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgICAgICBjb25zdCBlbnRyeXBvaW50czogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgZW50cnlwb2ludHMpIHtcbiAgICAgICAgICAgIG5ldyBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGUodGhpcy5wcm9qZWN0LCB7XG4gICAgICAgICAgICAgICAgZW50cnlwb2ludDogZW50cnlwb2ludCxcbiAgICAgICAgICAgICAgICBleHRlbnNpb246IG9wdGlvbnMuZXh0ZW5zaW9uLFxuICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMuYnVuZGxlT3B0aW9ucyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
181
|
+
_c = JSII_RTTI_SYMBOL_1;
|
|
182
|
+
LambdaFunctionCodeBundler[_c] = { fqn: "@nikovirtala/projen-constructs.LambdaFunctionCodeBundler", version: "0.2.34" };
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLWxhbWJkYS1mdW5jdGlvbi1jb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvYnVuZGxlLWxhbWJkYS1mdW5jdGlvbi1jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFLQSw0Q0FTQztBQUVELGdEQUVDOztBQWxCRCxrQ0FBa0M7QUFDbEMseUNBQXlFO0FBQ3pFLCtCQUE4QjtBQUM5QixtQ0FBcUg7QUFFckgsU0FBZ0IsZ0JBQWdCLENBQUMsVUFBa0I7SUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBQSxnQkFBSSxFQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFHLENBQUMsQ0FBQztJQUMxQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUNyQixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUNELE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBRyxDQUFDLENBQUM7SUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBQSxtQkFBTyxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVEsRUFBQyxDQUFDLEVBQUUsSUFBQSxtQkFBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckMsT0FBTyxJQUFBLGdCQUFJLEVBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FBQyxDQUFTO0lBQ3hDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBU0QsTUFBYSxPQUFRLFNBQVEsa0JBQVM7SUFDM0IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFnQjtRQUM3QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQVks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QUM7O0FBbERMLDREQW1EQzs7O0FBUUQsTUFBYSx5QkFBMEIsU0FBUSxrQkFBUztJQUNwRCxZQUFZLE9BQWdCLEVBQUUsT0FBeUM7UUFDbkUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsTUFBTSxXQUFXLEdBQWEsRUFBRSxDQUFDO1FBRWpDLEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFLENBQUM7WUFDbkMsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUN2QyxVQUFVLEVBQUUsVUFBVTtnQkFDdEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO2dCQUM1QixHQUFHLE9BQU8sQ0FBQyxhQUFhO2FBQzNCLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDOztBQWJMLDhEQWNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBiYXNlbmFtZSwgZGlybmFtZSwgZXh0bmFtZSwgam9pbiwgcG9zaXgsIHNlcCB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IHBhc2NhbCB9IGZyb20gXCJjYXNlXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIERlcGVuZGVuY3lUeXBlLCBqYXZhc2NyaXB0LCB0eXBlIFByb2plY3QsIFNvdXJjZUNvZGUsIHR5cGUgVGFzaywgdHlwZSB0eXBlc2NyaXB0IH0gZnJvbSBcInByb2plblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyQnVuZGxlTmFtZShlbnRyeXBvaW50OiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXJ0cyA9IGpvaW4oZW50cnlwb2ludCkuc3BsaXQoc2VwKTtcbiAgICBpZiAocGFydHNbMF0gPT09IFwic3JjXCIpIHtcbiAgICAgICAgcGFydHMuc2hpZnQoKTtcbiAgICB9XG4gICAgY29uc3QgcCA9IHBhcnRzLmpvaW4oc2VwKTtcbiAgICBjb25zdCBkaXIgPSBkaXJuYW1lKHApO1xuICAgIGNvbnN0IGJhc2UgPSBiYXNlbmFtZShwLCBleHRuYW1lKHApKTtcbiAgICByZXR1cm4gam9pbihkaXIsIGJhc2UpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRvUG9zaXhQYXRoKHA6IHN0cmluZykge1xuICAgIHJldHVybiBwLnNwbGl0KHNlcCkuam9pbihwb3NpeC5zZXApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1bmRsZXJPcHRpb25zIHtcbiAgICByZWFkb25seSBlc2J1aWxkVmVyc2lvbj86IHN0cmluZztcbiAgICByZWFkb25seSBhc3NldHNEaXI/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYWRkVG9QcmVDb21waWxlPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBsb2FkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEJ1bmRsZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIHB1YmxpYyBzdGF0aWMgb2YocHJvamVjdDogUHJvamVjdCk6IEJ1bmRsZXIgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBpc0J1bmRsZXIgPSAobzogQ29tcG9uZW50KTogbyBpcyBCdW5kbGVyID0+IG8gaW5zdGFuY2VvZiBCdW5kbGVyO1xuICAgICAgICByZXR1cm4gcHJvamVjdC5jb21wb25lbnRzLmZpbmQoaXNCdW5kbGVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZXNidWlsZFZlcnNpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBwdWJsaWMgcmVhZG9ubHkgYnVuZGxlZGlyOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF90YXNrOiBUYXNrIHwgdW5kZWZpbmVkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWRkVG9QcmVDb21waWxlOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9hZGVycz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBCdW5kbGVyT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKHByb2plY3QpO1xuICAgICAgICB0aGlzLmVzYnVpbGRWZXJzaW9uID0gb3B0aW9ucy5lc2J1aWxkVmVyc2lvbjtcbiAgICAgICAgdGhpcy5idW5kbGVkaXIgPSBvcHRpb25zLmFzc2V0c0RpciA/PyBcImFzc2V0c1wiO1xuICAgICAgICB0aGlzLmFkZFRvUHJlQ29tcGlsZSA9IG9wdGlvbnMuYWRkVG9QcmVDb21waWxlID8/IHRydWU7XG4gICAgICAgIHRoaXMubG9hZGVycyA9IG9wdGlvbnMubG9hZGVycztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGJ1bmRsZVRhc2soKTogVGFzayB7XG4gICAgICAgIGlmICghdGhpcy5fdGFzaykge1xuICAgICAgICAgICAgdGhpcy5hZGRCdW5kbGluZ1N1cHBvcnQoKTtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2sgPSB0aGlzLnByb2plY3QudGFza3MuYWRkVGFzayhcImJ1bmRsZVwiLCB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUHJlcGFyZSBhc3NldHNcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHRoaXMuYWRkVG9QcmVDb21waWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9qZWN0LnByZUNvbXBpbGVUYXNrLnNwYXduKHRoaXMuX3Rhc2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl90YXNrO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRCdW5kbGUoZW50cnlwb2ludDogc3RyaW5nLCBvcHRpb25zOiBCdW5kbGluZ09wdGlvbnMpOiBCdW5kbGUge1xuICAgICAgICBjb25zdCBuYW1lID0gcmVuZGVyQnVuZGxlTmFtZShlbnRyeXBvaW50KTtcbiAgICAgICAgY29uc3Qgb3V0ZGlyID0gcGF0aC5wb3NpeC5qb2luKHRoaXMuYnVuZGxlZGlyLCBuYW1lKTtcbiAgICAgICAgY29uc3Qgb3V0ZmlsZSA9IHBhdGgucG9zaXguam9pbihvdXRkaXIsIG9wdGlvbnMub3V0ZmlsZSA/PyBcImluZGV4Lm1qc1wiKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gb3B0aW9ucy50YXJnZXQgPz8gXCJlc25leHRcIjtcbiAgICAgICAgY29uc3QgcGxhdGZvcm0gPSBvcHRpb25zLnBsYXRmb3JtID8/IFwibm9kZVwiO1xuICAgICAgICBjb25zdCBmb3JtYXQgPSBvcHRpb25zLmZvcm1hdCA/PyBcImVzbVwiO1xuICAgICAgICBjb25zdCBzb3VyY2VtYXAgPSBvcHRpb25zLnNvdXJjZW1hcCA/PyB0cnVlO1xuICAgICAgICBjb25zdCBzb3VyY2VzQ29udGVudCA9IG9wdGlvbnMuc291cmNlc0NvbnRlbnQgPz8gZmFsc2U7XG4gICAgICAgIGNvbnN0IG1pbmlmeSA9IG9wdGlvbnMubWluaWZ5ID8/IHRydWU7XG4gICAgICAgIGNvbnN0IG1haW5GaWVsZHMgPSBvcHRpb25zLm1haW5GaWVsZHMgPz8gXCJtb2R1bGUsbWFpblwiO1xuICAgICAgICBjb25zdCBiYW5uZXIgPVxuICAgICAgICAgICAgb3B0aW9ucy5iYW5uZXIgPz9cbiAgICAgICAgICAgIFwiOmpzPWltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgYXMgdG9wTGV2ZWxDcmVhdGVSZXF1aXJlIH0gZnJvbSAnbW9kdWxlJztjb25zdCByZXF1aXJlID0gdG9wTGV2ZWxDcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybClcIjtcblxuICAgICAgICBjb25zdCBhcmdzID0gW1xuICAgICAgICAgICAgXCJlc2J1aWxkXCIsXG4gICAgICAgICAgICBcIi0tYnVuZGxlXCIsXG4gICAgICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICAgICAgYC0tdGFyZ2V0PVwiJHt0YXJnZXR9XCJgLFxuICAgICAgICAgICAgYC0tcGxhdGZvcm09XCIke3BsYXRmb3JtfVwiYCxcbiAgICAgICAgICAgIGAtLW91dGZpbGU9XCIke291dGZpbGV9XCJgLFxuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IHRzY29uZmlnID0gb3B0aW9ucy50c2NvbmZpZ1BhdGggPz8gZmFsc2U7XG4gICAgICAgIGlmICh0c2NvbmZpZykge1xuICAgICAgICAgICAgYXJncy5wdXNoKGAtLXRzY29uZmlnPVwiJHt0c2NvbmZpZ31cImApO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCB4IG9mIG9wdGlvbnMuZXh0ZXJuYWxzID8/IFtdKSB7XG4gICAgICAgICAgICBhcmdzLnB1c2goYC0tZXh0ZXJuYWw6JHt4fWApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNvdXJjZW1hcCkge1xuICAgICAgICAgICAgYXJncy5wdXNoKFwiLS1zb3VyY2VtYXBcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc291cmNlc0NvbnRlbnQpIHtcbiAgICAgICAgICAgIGFyZ3MucHVzaChgLS1zb3VyY2VzLWNvbnRlbnQ9JHtzb3VyY2VzQ29udGVudH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtaW5pZnkpIHtcbiAgICAgICAgICAgIGFyZ3MucHVzaChcIi0tbWluaWZ5XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvcm1hdCkge1xuICAgICAgICAgICAgYXJncy5wdXNoKGAtLWZvcm1hdD0ke2Zvcm1hdH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtYWluRmllbGRzKSB7XG4gICAgICAgICAgICBhcmdzLnB1c2goYC0tbWFpbi1maWVsZHM9JHttYWluRmllbGRzfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGJhbm5lcikge1xuICAgICAgICAgICAgYXJncy5wdXNoKGAtLWJhbm5lciR7YmFubmVyfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbG9hZGVycyA9IChvcHRpb25zLmxvYWRlcnMgPz8gZmFsc2UpID8gb3B0aW9ucy5sb2FkZXJzIDogKHRoaXMubG9hZGVycyA/PyBmYWxzZSk7XG4gICAgICAgIGlmIChsb2FkZXJzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtleHRlbnNpb24sIGxvYWRlcl0gb2YgT2JqZWN0LmVudHJpZXMobG9hZGVycykpIHtcbiAgICAgICAgICAgICAgICBhcmdzLnB1c2goYC0tbG9hZGVyOi4ke2V4dGVuc2lvbn09JHtsb2FkZXJ9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBidW5kbGVUYXNrID0gdGhpcy5wcm9qZWN0LmFkZFRhc2soYGJ1bmRsZToke25hbWV9YCwge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IGBDcmVhdGUgYSBKYXZhU2NyaXB0IGJ1bmRsZSBmcm9tICR7ZW50cnlwb2ludH1gLFxuICAgICAgICAgICAgZXhlYzogYXJncy5qb2luKFwiIFwiKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5idW5kbGVUYXNrLnNwYXduKGJ1bmRsZVRhc2spO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBidW5kbGVUYXNrOiBidW5kbGVUYXNrLFxuICAgICAgICAgICAgb3V0ZGlyOiBvdXRkaXIsXG4gICAgICAgICAgICBvdXRmaWxlOiBvdXRmaWxlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQnVuZGxpbmdTdXBwb3J0KCkge1xuICAgICAgICBjb25zdCBpZ25vcmVFbnRyeSA9IGAvJHt0aGlzLmJ1bmRsZWRpcn0vYDtcbiAgICAgICAgdGhpcy5wcm9qZWN0LmFkZEdpdElnbm9yZShpZ25vcmVFbnRyeSk7XG4gICAgICAgIHRoaXMucHJvamVjdC5hZGRQYWNrYWdlSWdub3JlKGAhJHtpZ25vcmVFbnRyeX1gKTtcbiAgICAgICAgY29uc3QgZGVwID0gdGhpcy5lc2J1aWxkVmVyc2lvbiA/IGBlc2J1aWxkQCR7dGhpcy5lc2J1aWxkVmVyc2lvbn1gIDogXCJlc2J1aWxkXCI7XG4gICAgICAgIHRoaXMucHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3koZGVwLCBEZXBlbmRlbmN5VHlwZS5CVUlMRCk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1bmRsZSB7XG4gICAgcmVhZG9ubHkgYnVuZGxlVGFzazogVGFzaztcbiAgICByZWFkb25seSBvdXRmaWxlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgb3V0ZGlyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVuZGxpbmdPcHRpb25zIHtcbiAgICByZWFkb25seSBleHRlcm5hbHM/OiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBzb3VyY2VtYXA/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IHRhcmdldD86IHN0cmluZztcbiAgICByZWFkb25seSBwbGF0Zm9ybT86IHN0cmluZztcbiAgICByZWFkb25seSBvdXRmaWxlPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHRzY29uZmlnUGF0aD86IHN0cmluZztcbiAgICByZWFkb25seSBsb2FkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICByZWFkb25seSBmb3JtYXQ/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgbWluaWZ5PzogYm9vbGVhbjtcbiAgICByZWFkb25seSBzb3VyY2VzQ29udGVudD86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgbWFpbkZpZWxkcz86IHN0cmluZztcbiAgICByZWFkb25seSBiYW5uZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhRnVuY3Rpb25Db2RlQnVuZGxlT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgZW50cnlwb2ludDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGV4dGVuc2lvbjogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGNvbnN0cnVjdEZpbGU/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY29uc3RydWN0TmFtZT86IHN0cmluZztcbiAgICByZWFkb25seSBidW5kbGluZ09wdGlvbnM/OiBCdW5kbGluZ09wdGlvbnM7XG59XG5cbmV4cG9ydCBjbGFzcyBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IExhbWJkYUZ1bmN0aW9uQ29kZUJ1bmRsZU9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAgICAgY29uc3QgYnVuZGxlciA9IEJ1bmRsZXIub2YocHJvamVjdCk7XG4gICAgICAgIGlmICghYnVuZGxlcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gYnVuZGxlciBmb3VuZC4gUGxlYXNlIGFkZCBhIEJ1bmRsZXIgY29tcG9uZW50IHRvIHlvdXIgcHJvamVjdC5cIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlc2xpbnQgPSBqYXZhc2NyaXB0LkVzbGludC5vZihwcm9qZWN0KTtcbiAgICAgICAgZXNsaW50Py5hbGxvd0RldkRlcHMob3B0aW9ucy5lbnRyeXBvaW50KTtcblxuICAgICAgICBjb25zdCBlbnRyeXBvaW50ID0gb3B0aW9ucy5lbnRyeXBvaW50O1xuICAgICAgICBjb25zdCBleHRlbnNpb24gPSBvcHRpb25zLmV4dGVuc2lvbiA/PyBcIi5sYW1iZGEudHNcIjtcblxuICAgICAgICBpZiAoIWVudHJ5cG9pbnQuZW5kc1dpdGgoZXh0ZW5zaW9uKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2VudHJ5cG9pbnR9IG11c3QgaGF2ZSBhICR7ZXh0ZW5zaW9ufSBleHRlbnNpb25gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJhc2VQYXRoID0gcGF0aC5wb3NpeC5qb2luKHBhdGguZGlybmFtZShlbnRyeXBvaW50KSwgcGF0aC5iYXNlbmFtZShlbnRyeXBvaW50LCBleHRlbnNpb24pKTtcbiAgICAgICAgY29uc3QgY29uc3RydWN0RmlsZSA9IG9wdGlvbnMuY29uc3RydWN0RmlsZSA/PyBgJHtiYXNlUGF0aH0tY29kZS50c2A7XG5cbiAgICAgICAgaWYgKHBhdGguZXh0bmFtZShjb25zdHJ1Y3RGaWxlKSAhPT0gXCIudHNcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb25zdHJ1Y3QgZmlsZSBuYW1lIFwiJHtjb25zdHJ1Y3RGaWxlfVwiIG11c3QgaGF2ZSBhIC50cyBleHRlbnNpb25gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbnN0cnVjdE5hbWUgPSBvcHRpb25zLmNvbnN0cnVjdE5hbWUgPz8gYCR7cGFzY2FsKHBhdGguYmFzZW5hbWUoYmFzZVBhdGgpKX1GdW5jdGlvbkNvZGVgO1xuXG4gICAgICAgIGNvbnN0IGJ1bmRsZSA9IGJ1bmRsZXIuYWRkQnVuZGxlKGVudHJ5cG9pbnQsIHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMuYnVuZGxpbmdPcHRpb25zLFxuICAgICAgICAgICAgdHNjb25maWdQYXRoOiAocHJvamVjdCBhcyB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0KT8udHNjb25maWdEZXY/LmZpbGVOYW1lLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBvdXRmaWxlQWJzID0gcGF0aC5qb2luKHByb2plY3Qub3V0ZGlyLCBidW5kbGUub3V0ZmlsZSk7XG4gICAgICAgIGNvbnN0IGNvbnN0cnVjdEFicyA9IHBhdGguam9pbihwcm9qZWN0Lm91dGRpciwgY29uc3RydWN0RmlsZSk7XG4gICAgICAgIGNvbnN0IHJlbGF0aXZlT3V0ZmlsZSA9IHBhdGgucmVsYXRpdmUocGF0aC5kaXJuYW1lKGNvbnN0cnVjdEFicyksIHBhdGguZGlybmFtZShvdXRmaWxlQWJzKSk7XG5cbiAgICAgICAgY29uc3Qgc3JjID0gbmV3IFNvdXJjZUNvZGUocHJvamVjdCwgY29uc3RydWN0RmlsZSk7XG4gICAgICAgIGlmIChzcmMubWFya2VyKSB7XG4gICAgICAgICAgICBzcmMubGluZShgLy8gJHtzcmMubWFya2VyfWApO1xuICAgICAgICB9XG4gICAgICAgIHNyYy5saW5lKFwiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcIik7XG4gICAgICAgIHNyYy5saW5lKFwiaW1wb3J0IHsgYXdzX2xhbWJkYSB9IGZyb20gJ2F3cy1jZGstbGliJztcIik7XG4gICAgICAgIHNyYy5saW5lKCk7XG4gICAgICAgIHNyYy5vcGVuKGBleHBvcnQgY29uc3QgJHtjb25zdHJ1Y3ROYW1lfSA9IGF3c19sYW1iZGEuQ29kZS5mcm9tQXNzZXQoYCk7XG4gICAgICAgIHNyYy5saW5lKGBwYXRoLmpvaW4oX19kaXJuYW1lLCAnJHtjb252ZXJ0VG9Qb3NpeFBhdGgocmVsYXRpdmVPdXRmaWxlKX0nKSxgKTtcbiAgICAgICAgc3JjLmNsb3NlKFwiKTtcIik7XG5cbiAgICAgICAgdGhpcy5wcm9qZWN0LmxvZ2dlci52ZXJib3NlKGAke2Jhc2VQYXRofTogY29uc3RydWN0IFwiJHtjb25zdHJ1Y3ROYW1lfVwiIGdlbmVyYXRlZCB1bmRlciBcIiR7Y29uc3RydWN0RmlsZX1cImApO1xuICAgICAgICB0aGlzLnByb2plY3QubG9nZ2VyLnZlcmJvc2UoYCR7YmFzZVBhdGh9OiBidW5kbGUgdGFzayBcIiR7YnVuZGxlLmJ1bmRsZVRhc2submFtZX1cImApO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGVyT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgZXh0ZW5zaW9uOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc3JjZGlyOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYnVuZGxlT3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29kZUJ1bmRsZU9wdGlvbnM7XG59XG5cbmV4cG9ydCBjbGFzcyBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGVyT3B0aW9ucykge1xuICAgICAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgICAgICBjb25zdCBlbnRyeXBvaW50czogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgZW50cnlwb2ludHMpIHtcbiAgICAgICAgICAgIG5ldyBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGUodGhpcy5wcm9qZWN0LCB7XG4gICAgICAgICAgICAgICAgZW50cnlwb2ludDogZW50cnlwb2ludCxcbiAgICAgICAgICAgICAgICBleHRlbnNpb246IG9wdGlvbnMuZXh0ZW5zaW9uLFxuICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMuYnVuZGxlT3B0aW9ucyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
package/lib/components/colima.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var _a;
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Colima = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
4
6
|
const component_1 = require("projen/lib/component");
|
|
5
7
|
const homebrew_1 = require("./homebrew");
|
|
6
8
|
class Colima extends component_1.Component {
|
|
@@ -19,4 +21,6 @@ class Colima extends component_1.Component {
|
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
23
|
exports.Colima = Colima;
|
|
22
|
-
|
|
24
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
25
|
+
Colima[_a] = { fqn: "@nikovirtala/projen-constructs.Colima", version: "0.2.34" };
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29saW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvY29saW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsb0RBQWlEO0FBQ2pELHlDQUFzQztBQUV0QyxNQUFhLE1BQU8sU0FBUSxxQkFBUztJQUNqQyxZQUFZLEtBQWlCO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUViLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFrQixDQUFDO1FBRXhDLElBQUksUUFBUSxHQUFHLG1CQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNaLFFBQVEsR0FBRyxJQUFJLG1CQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUVELFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5QixPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUN0QixJQUFJLEVBQUUsK0NBQStDO1NBQ3hELENBQUMsQ0FBQztJQUNQLENBQUM7O0FBakJMLHdCQWtCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgdHlwZSB7IFByb2plY3QgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuL2xpYi9jb21wb25lbnRcIjtcbmltcG9ydCB7IEhvbWVicmV3IH0gZnJvbSBcIi4vaG9tZWJyZXdcIjtcblxuZXhwb3J0IGNsYXNzIENvbGltYSBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IElDb25zdHJ1Y3QpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUpO1xuXG4gICAgICAgIGNvbnN0IHByb2plY3QgPSB0aGlzLnByb2plY3QgYXMgUHJvamVjdDtcblxuICAgICAgICBsZXQgaG9tZWJyZXcgPSBIb21lYnJldy5vZihwcm9qZWN0KTtcbiAgICAgICAgaWYgKCFob21lYnJldykge1xuICAgICAgICAgICAgaG9tZWJyZXcgPSBuZXcgSG9tZWJyZXcocHJvamVjdCk7XG4gICAgICAgIH1cblxuICAgICAgICBob21lYnJldy5hZGRQYWNrYWdlKFwiY29saW1hXCIpO1xuICAgICAgICBob21lYnJldy5hZGRQYWNrYWdlKFwiZG9ja2VyXCIpO1xuXG4gICAgICAgIHByb2plY3QuYWRkVGFzayhcImNvbGltYVwiLCB7XG4gICAgICAgICAgICBleGVjOiBcImNvbGltYSBzdGF0dXMgPi9kZXYvbnVsbCAyPiYxIHx8IGNvbGltYSBzdGFydFwiLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var _a;
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Homebrew = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
4
6
|
const component_1 = require("projen/lib/component");
|
|
5
7
|
const textfile_1 = require("projen/lib/textfile");
|
|
6
8
|
class Homebrew extends component_1.Component {
|
|
@@ -25,8 +27,23 @@ class Homebrew extends component_1.Component {
|
|
|
25
27
|
if (this.packages.size === 0)
|
|
26
28
|
return;
|
|
27
29
|
this.project.tryRemoveFile("Brewfile");
|
|
30
|
+
const lines = [];
|
|
31
|
+
const taps = new Set();
|
|
32
|
+
for (const pkg of this.packages) {
|
|
33
|
+
const parts = pkg.split("/");
|
|
34
|
+
if (parts.length >= 2) {
|
|
35
|
+
const tap = `${parts[0]}/${parts[1]}`;
|
|
36
|
+
taps.add(tap);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
for (const tap of Array.from(taps).sort()) {
|
|
40
|
+
lines.push(`tap "${tap}"`);
|
|
41
|
+
}
|
|
42
|
+
for (const pkg of Array.from(this.packages).sort()) {
|
|
43
|
+
lines.push(`brew "${pkg}"`);
|
|
44
|
+
}
|
|
28
45
|
new textfile_1.TextFile(this, "Brewfile", {
|
|
29
|
-
lines
|
|
46
|
+
lines,
|
|
30
47
|
});
|
|
31
48
|
const brewBundleTask = this.project.tasks.tryFind("homebrew:bundle") ??
|
|
32
49
|
this.project.addTask("homebrew:bundle", {
|
|
@@ -39,4 +56,6 @@ class Homebrew extends component_1.Component {
|
|
|
39
56
|
}
|
|
40
57
|
}
|
|
41
58
|
exports.Homebrew = Homebrew;
|
|
42
|
-
|
|
59
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
60
|
+
Homebrew[_a] = { fqn: "@nikovirtala/projen-constructs.Homebrew", version: "0.2.34" };
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZWJyZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9ob21lYnJldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUFpRDtBQUVqRCxrREFBK0M7QUFNL0MsTUFBYSxRQUFTLFNBQVEscUJBQVM7SUFDNUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFnQjtRQUM3QixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQVksRUFBaUIsRUFBRSxDQUFDLENBQUMsWUFBWSxRQUFRLENBQUM7UUFDMUUsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBSUQsWUFBWSxPQUFnQixFQUFFLFVBQTJCLEVBQUU7UUFDdkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhELE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUU7WUFDeEQsSUFBSSxFQUFFLCtRQUErUTtTQUN4UixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sVUFBVSxDQUFDLFdBQW1CO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDO1lBQUUsT0FBTztRQUVyQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV2QyxNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7UUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUUvQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEIsQ0FBQztRQUNMLENBQUM7UUFFRCxLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN4QyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2pELEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFFRCxJQUFJLG1CQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUMzQixLQUFLO1NBQ1IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxjQUFjLEdBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztZQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtnQkFDcEMsSUFBSSxFQUFFLHFLQUFxSzthQUM5SyxDQUFDLENBQUM7UUFFUCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2RSxJQUFJLGVBQWUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUN2RixlQUFlLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDOztBQWpFTCw0QkFrRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuL2xpYi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJwcm9qZW4vbGliL3Byb2plY3RcIjtcbmltcG9ydCB7IFRleHRGaWxlIH0gZnJvbSBcInByb2plbi9saWIvdGV4dGZpbGVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBIb21lYnJld09wdGlvbnMge1xuICAgIHJlYWRvbmx5IHBhY2thZ2VzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBIb21lYnJldyBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgcHVibGljIHN0YXRpYyBvZihwcm9qZWN0OiBQcm9qZWN0KTogSG9tZWJyZXcgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBpc0hvbWVicmV3ID0gKGM6IENvbXBvbmVudCk6IGMgaXMgSG9tZWJyZXcgPT4gYyBpbnN0YW5jZW9mIEhvbWVicmV3O1xuICAgICAgICByZXR1cm4gcHJvamVjdC5jb21wb25lbnRzLmZpbmQoaXNIb21lYnJldyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWNrYWdlczogU2V0PHN0cmluZz47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBIb21lYnJld09wdGlvbnMgPSB7fSkge1xuICAgICAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgICAgICB0aGlzLnBhY2thZ2VzID0gbmV3IFNldChvcHRpb25zLnBhY2thZ2VzID8/IFtdKTtcblxuICAgICAgICBjb25zdCBicmV3SW5zdGFsbFRhc2sgPSBwcm9qZWN0LmFkZFRhc2soXCJpbnN0YWxsOmhvbWVicmV3XCIsIHtcbiAgICAgICAgICAgIGV4ZWM6ICdjb21tYW5kIC12IGJyZXcgPi9kZXYvbnVsbCAyPiYxIHx8IHsgTk9OSU5URVJBQ1RJVkU9MSAvYmluL2Jhc2ggLWMgXCIkKGN1cmwgLWZzU0wgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0hvbWVicmV3L2luc3RhbGwvSEVBRC9pbnN0YWxsLnNoKVwiICYmIGV2YWwgXCIkKC9ob21lL2xpbnV4YnJldy8ubGludXhicmV3L2Jpbi9icmV3IHNoZWxsZW52IDI+L2Rldi9udWxsIHx8IC9vcHQvaG9tZWJyZXcvYmluL2JyZXcgc2hlbGxlbnYgMj4vZGV2L251bGwpXCI7IH0nLFxuICAgICAgICB9KTtcblxuICAgICAgICBwcm9qZWN0LmRlZmF1bHRUYXNrPy5zcGF3bihicmV3SW5zdGFsbFRhc2spO1xuXG4gICAgICAgIHRoaXMuc3ludGhlc2l6ZUJyZXdmaWxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFBhY2thZ2UocGFja2FnZU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhY2thZ2VzLmFkZChwYWNrYWdlTmFtZSk7XG4gICAgICAgIHRoaXMuc3ludGhlc2l6ZUJyZXdmaWxlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzeW50aGVzaXplQnJld2ZpbGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnBhY2thZ2VzLnNpemUgPT09IDApIHJldHVybjtcblxuICAgICAgICB0aGlzLnByb2plY3QudHJ5UmVtb3ZlRmlsZShcIkJyZXdmaWxlXCIpO1xuXG4gICAgICAgIGNvbnN0IGxpbmVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBjb25zdCB0YXBzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICAgICAgZm9yIChjb25zdCBwa2cgb2YgdGhpcy5wYWNrYWdlcykge1xuICAgICAgICAgICAgY29uc3QgcGFydHMgPSBwa2cuc3BsaXQoXCIvXCIpO1xuICAgICAgICAgICAgaWYgKHBhcnRzLmxlbmd0aCA+PSAyKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFwID0gYCR7cGFydHNbMF19LyR7cGFydHNbMV19YDtcbiAgICAgICAgICAgICAgICB0YXBzLmFkZCh0YXApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCB0YXAgb2YgQXJyYXkuZnJvbSh0YXBzKS5zb3J0KCkpIHtcbiAgICAgICAgICAgIGxpbmVzLnB1c2goYHRhcCBcIiR7dGFwfVwiYCk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHBrZyBvZiBBcnJheS5mcm9tKHRoaXMucGFja2FnZXMpLnNvcnQoKSkge1xuICAgICAgICAgICAgbGluZXMucHVzaChgYnJldyBcIiR7cGtnfVwiYCk7XG4gICAgICAgIH1cblxuICAgICAgICBuZXcgVGV4dEZpbGUodGhpcywgXCJCcmV3ZmlsZVwiLCB7XG4gICAgICAgICAgICBsaW5lcyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYnJld0J1bmRsZVRhc2sgPVxuICAgICAgICAgICAgdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoXCJob21lYnJldzpidW5kbGVcIikgPz9cbiAgICAgICAgICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKFwiaG9tZWJyZXc6YnVuZGxlXCIsIHtcbiAgICAgICAgICAgICAgICBleGVjOiAnY29tbWFuZCAtdiBicmV3ID4vZGV2L251bGwgMj4mMSB8fCBldmFsIFwiJCgvaG9tZS9saW51eGJyZXcvLmxpbnV4YnJldy9iaW4vYnJldyBzaGVsbGVudiAyPi9kZXYvbnVsbCB8fCAvb3B0L2hvbWVicmV3L2Jpbi9icmV3IHNoZWxsZW52IDI+L2Rldi9udWxsKVwiICYmIGJyZXcgYnVuZGxlJyxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGJyZXdJbnN0YWxsVGFzayA9IHRoaXMucHJvamVjdC50YXNrcy50cnlGaW5kKFwiaW5zdGFsbDpob21lYnJld1wiKTtcbiAgICAgICAgaWYgKGJyZXdJbnN0YWxsVGFzayAmJiAhYnJld0luc3RhbGxUYXNrLnN0ZXBzLnNvbWUoKHMpID0+IHMuc3Bhd24gPT09IFwiaG9tZWJyZXc6YnVuZGxlXCIpKSB7XG4gICAgICAgICAgICBicmV3SW5zdGFsbFRhc2suc3Bhd24oYnJld0J1bmRsZVRhc2spO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|