@@ -55,11 +55,11 @@ The `.with()` method is available after importing `@aws-cdk/mixins-preview/with`
5555
5656## Creating Custom Mixins
5757
58- Mixins are simple classes that implement the ` IMixin ` interface:
58+ Mixins are simple classes that implement the ` IMixin ` interface (usually by extending the abstract ` Mixin ` class :
5959
6060``` typescript
6161// Simple mixin that enables versioning
62- class CustomVersioningMixin implements IMixin {
62+ class CustomVersioningMixin extends Mixin implements IMixin {
6363 supports(construct : any ): boolean {
6464 return construct instanceof s3 .CfnBucket ;
6565 }
@@ -131,7 +131,7 @@ For every CloudFormation resource, CDK Mixins automatically generates type-safe
131131
132132``` typescript
133133import ' @aws-cdk/mixins-preview/with' ;
134- import { CfnBucketPropsMixin } from ' @aws-cdk/mixins-preview/aws-s3/mixins ' ;
134+
135135
136136const bucket = new s3 .Bucket (scope , " Bucket" )
137137 .with (new CfnBucketPropsMixin ({
@@ -146,6 +146,8 @@ const bucket = new s3.Bucket(scope, "Bucket")
146146Property mixins support two merge strategies:
147147
148148``` typescript
149+ declare const bucket: s3 .CfnBucket ;
150+
149151// MERGE (default): Deep merges properties with existing values
150152Mixins .of (bucket ).apply (new CfnBucketPropsMixin (
151153 { versioningConfiguration: { status: " Enabled" } },
@@ -155,16 +157,16 @@ Mixins.of(bucket).apply(new CfnBucketPropsMixin(
155157// OVERWRITE: Replaces existing property values
156158Mixins .of (bucket ).apply (new CfnBucketPropsMixin (
157159 { versioningConfiguration: { status: " Enabled" } },
158- { strategy: PropertyMergeStrategy .OVERWRITE }
160+ { strategy: PropertyMergeStrategy .OVERRIDE }
159161));
160162```
161163
162164Property mixins are available for all AWS services:
163165
164166``` typescript
165- import { CfnLogGroupMixin } from ' @aws-cdk/mixins-preview/aws-logs/mixins' ;
166- import { CfnFunctionMixin } from ' @aws-cdk/mixins-preview/aws-lambda/mixins' ;
167- import { CfnTableMixin } from ' @aws-cdk/mixins-preview/aws-dynamodb/mixins' ;
167+ import { CfnLogGroupPropsMixin } from ' @aws-cdk/mixins-preview/aws-logs/mixins' ;
168+ import { CfnFunctionPropsMixin } from ' @aws-cdk/mixins-preview/aws-lambda/mixins' ;
169+ import { CfnTablePropsMixin } from ' @aws-cdk/mixins-preview/aws-dynamodb/mixins' ;
168170```
169171
170172## Error Handling
0 commit comments