diff --git a/.eslintrc.json b/.eslintrc.json index 7a72381..1841704 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -137,6 +137,7 @@ "skipWords": [ "cdk", "cdktf", + "deepmerge", "devdirs", "di", "docgen", diff --git a/.projen/deps.json b/.projen/deps.json index e849126..34ceb88 100644 --- a/.projen/deps.json +++ b/.projen/deps.json @@ -12,10 +12,6 @@ "name": "@types/jest", "type": "build" }, - { - "name": "@types/lodash", - "type": "build" - }, { "name": "@types/node", "version": "^12", @@ -134,7 +130,7 @@ "type": "peer" }, { - "name": "lodash", + "name": "deepmerge", "type": "runtime" }, { diff --git a/.projen/tasks.json b/.projen/tasks.json index 98c46fb..a851fb1 100644 --- a/.projen/tasks.json +++ b/.projen/tasks.json @@ -263,7 +263,7 @@ "exec": "yarn install --check-files" }, { - "exec": "yarn upgrade @cdktf/provider-aws @octokit/rest @types/jest @types/lodash @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser cdktf constructs eslint-config-prettier eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint-plugin-prettier eslint-plugin-spellcheck eslint husky jest jest-junit json-schema npm-check-updates prettier standard-version ts-jest ts-node typedoc typedoc-plugin-missing-exports typescript cdktf constructs lodash" + "exec": "yarn upgrade @cdktf/provider-aws @octokit/rest @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser cdktf constructs eslint-config-prettier eslint-import-resolver-node eslint-import-resolver-typescript eslint-plugin-import eslint-plugin-prettier eslint-plugin-spellcheck eslint husky jest jest-junit json-schema npm-check-updates prettier standard-version ts-jest ts-node typedoc typedoc-plugin-missing-exports typescript cdktf constructs deepmerge" }, { "exec": "npx projen" diff --git a/.projenrc.ts b/.projenrc.ts index 0a8510c..0ff0cb1 100644 --- a/.projenrc.ts +++ b/.projenrc.ts @@ -76,14 +76,13 @@ const project = new typescript.TypeScriptProject({ 'dependency', ], npmAccess: javascript.NpmAccess.PUBLIC, - deps: ['term-size@2.2.1', 'lodash'], + deps: ['term-size@2.2.1', 'deepmerge'], devDeps: [ 'eslint-plugin-spellcheck', 'typedoc', 'typedoc-plugin-missing-exports', 'husky', '@octokit/rest', - '@types/lodash', '@cdktf/provider-aws', // tmp ], peerDeps: ['cdktf', 'constructs'], @@ -149,6 +148,7 @@ if (project.eslint) { 'repo', 'repos', 'gitignore', + 'deepmerge', ].sort(); const srcWords = ['terraform', 'Getters', 'dep'].sort(); diff --git a/docs/classes/TerraformInjectorStack.html b/docs/classes/TerraformInjectorStack.html index 81b314a..6a7c69b 100644 --- a/docs/classes/TerraformInjectorStack.html +++ b/docs/classes/TerraformInjectorStack.html @@ -1,7 +1,7 @@ TerraformInjectorStack | cdktf-injector
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class TerraformInjectorStack

Stack class extends TerraformStack and implementing TerraformInjector.

see

https://www.terraform.io/cdktf/concepts/stacks

-

Hierarchy

  • TerraformStack
    • TerraformInjectorStack

Implements

Index

Constructors

  • new TerraformInjectorStack(scope: Construct, name: string, injectorDescription?: string): TerraformInjectorStack

Methods

Hierarchy

  • TerraformStack
    • TerraformInjectorStack

Implements

Index

Constructors

  • new TerraformInjectorStack(scope: Construct, name: string, injectorDescription?: string): TerraformInjectorStack

Methods

  • Optional description: string

    Optional description string.

    -
  • Returns TerraformInjectorElementContainer<TerraformBackendType, SharedType>

    • inject(): void

    Returns TerraformInjectorElementContainer<TerraformBackendType, SharedType>

    • inject(): void
    • setDefaultConfigure(defaultConfigure: (id: string, className: string, description?: string) => {}): void

    Generated using TypeDoc

    \ No newline at end of file +

    Returns TerraformInjectorElementContainer<TerraformElementType, SharedType>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/TerraformInjectorStackAsync.html b/docs/classes/TerraformInjectorStackAsync.html index 4f0bccf..6e76b23 100644 --- a/docs/classes/TerraformInjectorStackAsync.html +++ b/docs/classes/TerraformInjectorStackAsync.html @@ -1,6 +1,6 @@ TerraformInjectorStackAsync | cdktf-injector
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Class TerraformInjectorStackAsync

    Stack class extends TerraformStack and implementing TerraformInjectorAsync.

    -

    Hierarchy

    • TerraformStack
      • TerraformInjectorStackAsync

    Implements

    Index

    Constructors

    Methods

    Hierarchy

    • TerraformStack
      • TerraformInjectorStackAsync

    Implements

    Index

    Constructors

    Methods

  • Optional description: string

    Optional description string.

    -
  • Returns TerraformInjectorElementContainerAsync<TerraformBackendType, SharedType>

    • inject(): Promise<void>

    Returns TerraformInjectorElementContainerAsync<TerraformBackendType, SharedType>

    • inject(): Promise<void>
    • setDefaultConfigure(defaultConfigure: (id: string, className: string, description?: string) => {}): void

    Generated using TypeDoc

    \ No newline at end of file +

    Returns TerraformInjectorElementContainerAsync<TerraformElementType, SharedType>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/interfaces/Reference.TerraformInjectorCommon.html b/docs/interfaces/Reference.TerraformInjectorCommon.html index ec6745a..7a24493 100644 --- a/docs/interfaces/Reference.TerraformInjectorCommon.html +++ b/docs/interfaces/Reference.TerraformInjectorCommon.html @@ -3,7 +3,7 @@

    You can provide any elements inheriting TerraformElement with provide method.

    And there is a special backend method only for providing an TerraformBackend element.

    You can later inject all the dependencies below the scope level of the instance by using inject method.

    -

    Hierarchy

    Index

    Methods

    Hierarchy

    Index

    Methods

    Returns TerraformInjectorElementContainerAsync<TerraformBackendType, SharedType>

    Returns TerraformInjectorElementContainerAsync<TerraformBackendType, SharedType>

    • setDefaultConfigure(defaultConfigure: (id: string, className: string, description?: string) => {}): void

    Generated using TypeDoc

    \ No newline at end of file +

    Returns TerraformInjectorElementContainerAsync<TerraformElementType, SharedType>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/interfaces/TerraformInjector.html b/docs/interfaces/TerraformInjector.html index 32faae6..43ba79b 100644 --- a/docs/interfaces/TerraformInjector.html +++ b/docs/interfaces/TerraformInjector.html @@ -3,7 +3,7 @@

    You can provide any elements inheriting TerraformElement with provide method.

    And there is a special backend method only for providing an TerraformBackend element.

    You can later inject all the dependencies below the scope level of the instance by using inject method.

    -

    Hierarchy

    Implemented by

    Index

    Methods

    Hierarchy

    Implemented by

    Index

    Methods

    Returns TerraformInjectorElementContainer<TerraformBackendType, SharedType>

    • inject(): void

    Returns TerraformInjectorElementContainer<TerraformBackendType, SharedType>

    • inject(): void
    • setDefaultConfigure(defaultConfigure: (id: string, className: string, description?: string) => {}): void

    Generated using TypeDoc

    \ No newline at end of file +

    Returns TerraformInjectorElementContainer<TerraformElementType, SharedType>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/interfaces/TerraformInjectorAsync.html b/docs/interfaces/TerraformInjectorAsync.html index 3572487..1b6727e 100644 --- a/docs/interfaces/TerraformInjectorAsync.html +++ b/docs/interfaces/TerraformInjectorAsync.html @@ -3,7 +3,7 @@

    You can provide any elements inheriting TerraformElement with provide method.

    And there is a special backend method only for providing an TerraformBackend element.

    You can later inject all the dependencies below the scope level of the instance by using inject method.

    -

    Hierarchy

    Implemented by

    Index

    Methods

    Hierarchy

    Implemented by

    Index

    Methods

    Returns TerraformInjectorElementContainerAsync<TerraformBackendType, SharedType>

    • inject(): Promise<void>

    Returns TerraformInjectorElementContainerAsync<TerraformBackendType, SharedType>

    • inject(): Promise<void>
    • setDefaultConfigure(defaultConfigure: (id: string, className: string, description?: string) => {}): void

    Generated using TypeDoc

    \ No newline at end of file +

    Returns TerraformInjectorElementContainerAsync<TerraformElementType, SharedType>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/interfaces/TerraformInjectorElementContainer.html b/docs/interfaces/TerraformInjectorElementContainer.html index 823bf33..f7b1bb2 100644 --- a/docs/interfaces/TerraformInjectorElementContainer.html +++ b/docs/interfaces/TerraformInjectorElementContainer.html @@ -1,13 +1,13 @@ TerraformInjectorElementContainer | cdktf-injector
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Interface TerraformInjectorElementContainer<TerraformElementType, SharedType>

    Injectable terraform element container. You cannot instantiate directly, only by yourInjector.provide or yourInjector.backend(for backend only).

    -

    Type parameters

    • TerraformElementType: TerraformElement

    • SharedType

    Hierarchy

    Index

    Accessors

    • get element(): TerraformElementType

    Type parameters

    • TerraformElementType: TerraformElement

    • SharedType

    Hierarchy

    Index

    Accessors

    • get element(): TerraformElementType
    • get shared(): SharedType
    • get shared(): SharedType

    Methods

    • addOutput(outputId: string | ((elementId: string) => string), outputConfig: (element: TerraformElementType, shared: SharedType) => TerraformOutputConfig): TerraformInjectorElementContainer<TerraformElementType, SharedType>

    Methods

    • addOutput(outputId: string | ((elementId: string) => string), outputConfig: (element: TerraformElementType, shared: SharedType) => TerraformOutputConfig): TerraformInjectorElementContainer<TerraformElementType, SharedType>
  • outputConfig: (element: TerraformElementType, shared: SharedType) => TerraformOutputConfig

    Configuration callbak for TerraformOutput class.

    -
      • (element: TerraformElementType, shared: SharedType): TerraformOutputConfig
      • Parameters

        • element: TerraformElementType
        • shared: SharedType

        Returns TerraformOutputConfig

  • Returns TerraformInjectorElementContainer<TerraformElementType, SharedType>

    • afterDependenciesInjected(afterDependenciesInjectedCallback: (element: TerraformElementType, shared: SharedType) => void): TerraformInjectorElementContainer<TerraformElementType, SharedType>

    Returns TerraformInjectorElementContainer<TerraformElementType, SharedType>

    • afterDependenciesInjected(afterDependenciesInjectedCallback: (element: TerraformElementType, shared: SharedType) => void): TerraformInjectorElementContainer<TerraformElementType, SharedType>
    • afterInitElement(afterInitCallback: (element: TerraformElementType, shared: SharedType) => void): TerraformInjectorElementContainer<TerraformElementType, SharedType>

    Returns TerraformInjectorElementContainer<TerraformElementType, SharedType>

    • afterInitElement(afterInitCallback: (element: TerraformElementType, shared: SharedType) => void): TerraformInjectorElementContainer<TerraformElementType, SharedType>
    • afterDependenciesInjected(afterDependenciesInjectedCallback: (element: TerraformElementType, shared: SharedType) => void | Promise<void>): TerraformInjectorElementContainerAsync<TerraformElementType, SharedType>

    Returns TerraformInjectorElementContainerAsync<TerraformElementType, SharedType>

    • afterDependenciesInjected(afterDependenciesInjectedCallback: (element: TerraformElementType, shared: SharedType) => void | Promise<void>): TerraformInjectorElementContainerAsync<TerraformElementType, SharedType>
    • Add after dependencies injected callback. Callback will run after dependency injection process is completed.

      You can add multiple callbacks, then they will be executed in sequence.

      Parameters

      • afterDependenciesInjectedCallback: (element: TerraformElementType, shared: SharedType) => void | Promise<void>

        Action block to execute after di process

        -
          • (element: TerraformElementType, shared: SharedType): void | Promise<void>
          • Parameters

            • element: TerraformElementType
            • shared: SharedType

            Returns void | Promise<void>

      Returns TerraformInjectorElementContainerAsync<TerraformElementType, SharedType>

    Returns TerraformInjectorElementContainerAsync<TerraformElementType, SharedType>