cdk-nextjs 0.4.14 → 0.4.16

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/API.md CHANGED
@@ -45,6 +45,7 @@ new NextjsApi(scope: Construct, id: string, props: NextjsApiProps)
45
45
  | **Name** | **Description** |
46
46
  | --- | --- |
47
47
  | <code><a href="#cdk-nextjs.NextjsApi.toString">toString</a></code> | Returns a string representation of this construct. |
48
+ | <code><a href="#cdk-nextjs.NextjsApi.with">with</a></code> | Applies one or more mixins to this construct. |
48
49
 
49
50
  ---
50
51
 
@@ -56,6 +57,27 @@ public toString(): string
56
57
 
57
58
  Returns a string representation of this construct.
58
59
 
60
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsApi.with"></a>
61
+
62
+ ```typescript
63
+ public with(mixins: ...IMixin[]): IConstruct
64
+ ```
65
+
66
+ Applies one or more mixins to this construct.
67
+
68
+ Mixins are applied in order. The list of constructs is captured at the
69
+ start of the call, so constructs added by a mixin will not be visited.
70
+ Use multiple `with()` calls if subsequent mixins should apply to added
71
+ constructs.
72
+
73
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsApi.with.parameter.mixins"></a>
74
+
75
+ - *Type:* ...constructs.IMixin[]
76
+
77
+ The mixins to apply.
78
+
79
+ ---
80
+
59
81
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
60
82
 
61
83
  | **Name** | **Description** |
@@ -64,7 +86,7 @@ Returns a string representation of this construct.
64
86
 
65
87
  ---
66
88
 
67
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsApi.isConstruct"></a>
89
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsApi.isConstruct"></a>
68
90
 
69
91
  ```typescript
70
92
  import { NextjsApi } from 'cdk-nextjs'
@@ -74,6 +96,20 @@ NextjsApi.isConstruct(x: any)
74
96
 
75
97
  Checks if `x` is a construct.
76
98
 
99
+ Use this method instead of `instanceof` to properly detect `Construct`
100
+ instances, even when the construct library is symlinked.
101
+
102
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
103
+ disk are seen as independent, completely different libraries. As a
104
+ consequence, the class `Construct` in each copy of the `constructs` library
105
+ is seen as a different class, and an instance of one class will not test as
106
+ `instanceof` the other class. `npm install` will not create installations
107
+ like this, but users may manually symlink construct libraries together or
108
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
109
+ library can be accidentally installed, and `instanceof` will behave
110
+ unpredictably. It is safest to avoid using `instanceof`, and using
111
+ this type-testing method instead.
112
+
77
113
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsApi.isConstruct.parameter.x"></a>
78
114
 
79
115
  - *Type:* any
@@ -159,6 +195,7 @@ new NextjsAssetsDeployment(scope: Construct, id: string, props: NextjsAssetsDepl
159
195
  | **Name** | **Description** |
160
196
  | --- | --- |
161
197
  | <code><a href="#cdk-nextjs.NextjsAssetsDeployment.toString">toString</a></code> | Returns a string representation of this construct. |
198
+ | <code><a href="#cdk-nextjs.NextjsAssetsDeployment.with">with</a></code> | Applies one or more mixins to this construct. |
162
199
 
163
200
  ---
164
201
 
@@ -170,6 +207,27 @@ public toString(): string
170
207
 
171
208
  Returns a string representation of this construct.
172
209
 
210
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsAssetsDeployment.with"></a>
211
+
212
+ ```typescript
213
+ public with(mixins: ...IMixin[]): IConstruct
214
+ ```
215
+
216
+ Applies one or more mixins to this construct.
217
+
218
+ Mixins are applied in order. The list of constructs is captured at the
219
+ start of the call, so constructs added by a mixin will not be visited.
220
+ Use multiple `with()` calls if subsequent mixins should apply to added
221
+ constructs.
222
+
223
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsAssetsDeployment.with.parameter.mixins"></a>
224
+
225
+ - *Type:* ...constructs.IMixin[]
226
+
227
+ The mixins to apply.
228
+
229
+ ---
230
+
173
231
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
174
232
 
175
233
  | **Name** | **Description** |
@@ -178,7 +236,7 @@ Returns a string representation of this construct.
178
236
 
179
237
  ---
180
238
 
181
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsAssetsDeployment.isConstruct"></a>
239
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsAssetsDeployment.isConstruct"></a>
182
240
 
183
241
  ```typescript
184
242
  import { NextjsAssetsDeployment } from 'cdk-nextjs'
@@ -188,6 +246,20 @@ NextjsAssetsDeployment.isConstruct(x: any)
188
246
 
189
247
  Checks if `x` is a construct.
190
248
 
249
+ Use this method instead of `instanceof` to properly detect `Construct`
250
+ instances, even when the construct library is symlinked.
251
+
252
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
253
+ disk are seen as independent, completely different libraries. As a
254
+ consequence, the class `Construct` in each copy of the `constructs` library
255
+ is seen as a different class, and an instance of one class will not test as
256
+ `instanceof` the other class. `npm install` will not create installations
257
+ like this, but users may manually symlink construct libraries together or
258
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
259
+ library can be accidentally installed, and `instanceof` will behave
260
+ unpredictably. It is safest to avoid using `instanceof`, and using
261
+ this type-testing method instead.
262
+
191
263
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsAssetsDeployment.isConstruct.parameter.x"></a>
192
264
 
193
265
  - *Type:* any
@@ -289,6 +361,7 @@ new NextjsBaseConstruct(scope: Construct, id: string, props: NextjsBaseConstruct
289
361
  | **Name** | **Description** |
290
362
  | --- | --- |
291
363
  | <code><a href="#cdk-nextjs.NextjsBaseConstruct.toString">toString</a></code> | Returns a string representation of this construct. |
364
+ | <code><a href="#cdk-nextjs.NextjsBaseConstruct.with">with</a></code> | Applies one or more mixins to this construct. |
292
365
 
293
366
  ---
294
367
 
@@ -300,6 +373,27 @@ public toString(): string
300
373
 
301
374
  Returns a string representation of this construct.
302
375
 
376
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsBaseConstruct.with"></a>
377
+
378
+ ```typescript
379
+ public with(mixins: ...IMixin[]): IConstruct
380
+ ```
381
+
382
+ Applies one or more mixins to this construct.
383
+
384
+ Mixins are applied in order. The list of constructs is captured at the
385
+ start of the call, so constructs added by a mixin will not be visited.
386
+ Use multiple `with()` calls if subsequent mixins should apply to added
387
+ constructs.
388
+
389
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsBaseConstruct.with.parameter.mixins"></a>
390
+
391
+ - *Type:* ...constructs.IMixin[]
392
+
393
+ The mixins to apply.
394
+
395
+ ---
396
+
303
397
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
304
398
 
305
399
  | **Name** | **Description** |
@@ -308,7 +402,7 @@ Returns a string representation of this construct.
308
402
 
309
403
  ---
310
404
 
311
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsBaseConstruct.isConstruct"></a>
405
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsBaseConstruct.isConstruct"></a>
312
406
 
313
407
  ```typescript
314
408
  import { NextjsBaseConstruct } from 'cdk-nextjs'
@@ -318,6 +412,20 @@ NextjsBaseConstruct.isConstruct(x: any)
318
412
 
319
413
  Checks if `x` is a construct.
320
414
 
415
+ Use this method instead of `instanceof` to properly detect `Construct`
416
+ instances, even when the construct library is symlinked.
417
+
418
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
419
+ disk are seen as independent, completely different libraries. As a
420
+ consequence, the class `Construct` in each copy of the `constructs` library
421
+ is seen as a different class, and an instance of one class will not test as
422
+ `instanceof` the other class. `npm install` will not create installations
423
+ like this, but users may manually symlink construct libraries together or
424
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
425
+ library can be accidentally installed, and `instanceof` will behave
426
+ unpredictably. It is safest to avoid using `instanceof`, and using
427
+ this type-testing method instead.
428
+
321
429
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsBaseConstruct.isConstruct.parameter.x"></a>
322
430
 
323
431
  - *Type:* any
@@ -469,6 +577,7 @@ new NextjsBuild(scope: Construct, id: string, props: NextjsBuildProps)
469
577
  | **Name** | **Description** |
470
578
  | --- | --- |
471
579
  | <code><a href="#cdk-nextjs.NextjsBuild.toString">toString</a></code> | Returns a string representation of this construct. |
580
+ | <code><a href="#cdk-nextjs.NextjsBuild.with">with</a></code> | Applies one or more mixins to this construct. |
472
581
 
473
582
  ---
474
583
 
@@ -480,6 +589,27 @@ public toString(): string
480
589
 
481
590
  Returns a string representation of this construct.
482
591
 
592
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsBuild.with"></a>
593
+
594
+ ```typescript
595
+ public with(mixins: ...IMixin[]): IConstruct
596
+ ```
597
+
598
+ Applies one or more mixins to this construct.
599
+
600
+ Mixins are applied in order. The list of constructs is captured at the
601
+ start of the call, so constructs added by a mixin will not be visited.
602
+ Use multiple `with()` calls if subsequent mixins should apply to added
603
+ constructs.
604
+
605
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsBuild.with.parameter.mixins"></a>
606
+
607
+ - *Type:* ...constructs.IMixin[]
608
+
609
+ The mixins to apply.
610
+
611
+ ---
612
+
483
613
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
484
614
 
485
615
  | **Name** | **Description** |
@@ -488,7 +618,7 @@ Returns a string representation of this construct.
488
618
 
489
619
  ---
490
620
 
491
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsBuild.isConstruct"></a>
621
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsBuild.isConstruct"></a>
492
622
 
493
623
  ```typescript
494
624
  import { NextjsBuild } from 'cdk-nextjs'
@@ -498,6 +628,20 @@ NextjsBuild.isConstruct(x: any)
498
628
 
499
629
  Checks if `x` is a construct.
500
630
 
631
+ Use this method instead of `instanceof` to properly detect `Construct`
632
+ instances, even when the construct library is symlinked.
633
+
634
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
635
+ disk are seen as independent, completely different libraries. As a
636
+ consequence, the class `Construct` in each copy of the `constructs` library
637
+ is seen as a different class, and an instance of one class will not test as
638
+ `instanceof` the other class. `npm install` will not create installations
639
+ like this, but users may manually symlink construct libraries together or
640
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
641
+ library can be accidentally installed, and `instanceof` will behave
642
+ unpredictably. It is safest to avoid using `instanceof`, and using
643
+ this type-testing method instead.
644
+
501
645
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsBuild.isConstruct.parameter.x"></a>
502
646
 
503
647
  - *Type:* any
@@ -694,6 +838,7 @@ new NextjsContainers(scope: Construct, id: string, props: NextjsContainersProps)
694
838
  | **Name** | **Description** |
695
839
  | --- | --- |
696
840
  | <code><a href="#cdk-nextjs.NextjsContainers.toString">toString</a></code> | Returns a string representation of this construct. |
841
+ | <code><a href="#cdk-nextjs.NextjsContainers.with">with</a></code> | Applies one or more mixins to this construct. |
697
842
 
698
843
  ---
699
844
 
@@ -705,6 +850,27 @@ public toString(): string
705
850
 
706
851
  Returns a string representation of this construct.
707
852
 
853
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsContainers.with"></a>
854
+
855
+ ```typescript
856
+ public with(mixins: ...IMixin[]): IConstruct
857
+ ```
858
+
859
+ Applies one or more mixins to this construct.
860
+
861
+ Mixins are applied in order. The list of constructs is captured at the
862
+ start of the call, so constructs added by a mixin will not be visited.
863
+ Use multiple `with()` calls if subsequent mixins should apply to added
864
+ constructs.
865
+
866
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsContainers.with.parameter.mixins"></a>
867
+
868
+ - *Type:* ...constructs.IMixin[]
869
+
870
+ The mixins to apply.
871
+
872
+ ---
873
+
708
874
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
709
875
 
710
876
  | **Name** | **Description** |
@@ -713,7 +879,7 @@ Returns a string representation of this construct.
713
879
 
714
880
  ---
715
881
 
716
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsContainers.isConstruct"></a>
882
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsContainers.isConstruct"></a>
717
883
 
718
884
  ```typescript
719
885
  import { NextjsContainers } from 'cdk-nextjs'
@@ -723,6 +889,20 @@ NextjsContainers.isConstruct(x: any)
723
889
 
724
890
  Checks if `x` is a construct.
725
891
 
892
+ Use this method instead of `instanceof` to properly detect `Construct`
893
+ instances, even when the construct library is symlinked.
894
+
895
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
896
+ disk are seen as independent, completely different libraries. As a
897
+ consequence, the class `Construct` in each copy of the `constructs` library
898
+ is seen as a different class, and an instance of one class will not test as
899
+ `instanceof` the other class. `npm install` will not create installations
900
+ like this, but users may manually symlink construct libraries together or
901
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
902
+ library can be accidentally installed, and `instanceof` will behave
903
+ unpredictably. It is safest to avoid using `instanceof`, and using
904
+ this type-testing method instead.
905
+
726
906
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsContainers.isConstruct.parameter.x"></a>
727
907
 
728
908
  - *Type:* any
@@ -826,6 +1006,7 @@ new NextjsDistribution(scope: Construct, id: string, props: NextjsDistributionPr
826
1006
  | **Name** | **Description** |
827
1007
  | --- | --- |
828
1008
  | <code><a href="#cdk-nextjs.NextjsDistribution.toString">toString</a></code> | Returns a string representation of this construct. |
1009
+ | <code><a href="#cdk-nextjs.NextjsDistribution.with">with</a></code> | Applies one or more mixins to this construct. |
829
1010
 
830
1011
  ---
831
1012
 
@@ -837,6 +1018,27 @@ public toString(): string
837
1018
 
838
1019
  Returns a string representation of this construct.
839
1020
 
1021
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsDistribution.with"></a>
1022
+
1023
+ ```typescript
1024
+ public with(mixins: ...IMixin[]): IConstruct
1025
+ ```
1026
+
1027
+ Applies one or more mixins to this construct.
1028
+
1029
+ Mixins are applied in order. The list of constructs is captured at the
1030
+ start of the call, so constructs added by a mixin will not be visited.
1031
+ Use multiple `with()` calls if subsequent mixins should apply to added
1032
+ constructs.
1033
+
1034
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsDistribution.with.parameter.mixins"></a>
1035
+
1036
+ - *Type:* ...constructs.IMixin[]
1037
+
1038
+ The mixins to apply.
1039
+
1040
+ ---
1041
+
840
1042
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
841
1043
 
842
1044
  | **Name** | **Description** |
@@ -845,7 +1047,7 @@ Returns a string representation of this construct.
845
1047
 
846
1048
  ---
847
1049
 
848
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsDistribution.isConstruct"></a>
1050
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsDistribution.isConstruct"></a>
849
1051
 
850
1052
  ```typescript
851
1053
  import { NextjsDistribution } from 'cdk-nextjs'
@@ -855,6 +1057,20 @@ NextjsDistribution.isConstruct(x: any)
855
1057
 
856
1058
  Checks if `x` is a construct.
857
1059
 
1060
+ Use this method instead of `instanceof` to properly detect `Construct`
1061
+ instances, even when the construct library is symlinked.
1062
+
1063
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
1064
+ disk are seen as independent, completely different libraries. As a
1065
+ consequence, the class `Construct` in each copy of the `constructs` library
1066
+ is seen as a different class, and an instance of one class will not test as
1067
+ `instanceof` the other class. `npm install` will not create installations
1068
+ like this, but users may manually symlink construct libraries together or
1069
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
1070
+ library can be accidentally installed, and `instanceof` will behave
1071
+ unpredictably. It is safest to avoid using `instanceof`, and using
1072
+ this type-testing method instead.
1073
+
858
1074
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsDistribution.isConstruct.parameter.x"></a>
859
1075
 
860
1076
  - *Type:* any
@@ -938,6 +1154,7 @@ new NextjsFileSystem(scope: Construct, id: string, props: NextjsFileSystemProps)
938
1154
  | **Name** | **Description** |
939
1155
  | --- | --- |
940
1156
  | <code><a href="#cdk-nextjs.NextjsFileSystem.toString">toString</a></code> | Returns a string representation of this construct. |
1157
+ | <code><a href="#cdk-nextjs.NextjsFileSystem.with">with</a></code> | Applies one or more mixins to this construct. |
941
1158
  | <code><a href="#cdk-nextjs.NextjsFileSystem.allowCompute">allowCompute</a></code> | *No description.* |
942
1159
 
943
1160
  ---
@@ -950,6 +1167,27 @@ public toString(): string
950
1167
 
951
1168
  Returns a string representation of this construct.
952
1169
 
1170
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsFileSystem.with"></a>
1171
+
1172
+ ```typescript
1173
+ public with(mixins: ...IMixin[]): IConstruct
1174
+ ```
1175
+
1176
+ Applies one or more mixins to this construct.
1177
+
1178
+ Mixins are applied in order. The list of constructs is captured at the
1179
+ start of the call, so constructs added by a mixin will not be visited.
1180
+ Use multiple `with()` calls if subsequent mixins should apply to added
1181
+ constructs.
1182
+
1183
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsFileSystem.with.parameter.mixins"></a>
1184
+
1185
+ - *Type:* ...constructs.IMixin[]
1186
+
1187
+ The mixins to apply.
1188
+
1189
+ ---
1190
+
953
1191
  ##### `allowCompute` <a name="allowCompute" id="cdk-nextjs.NextjsFileSystem.allowCompute"></a>
954
1192
 
955
1193
  ```typescript
@@ -970,7 +1208,7 @@ public allowCompute(__0: AllowComputeProps): void
970
1208
 
971
1209
  ---
972
1210
 
973
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsFileSystem.isConstruct"></a>
1211
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsFileSystem.isConstruct"></a>
974
1212
 
975
1213
  ```typescript
976
1214
  import { NextjsFileSystem } from 'cdk-nextjs'
@@ -980,6 +1218,20 @@ NextjsFileSystem.isConstruct(x: any)
980
1218
 
981
1219
  Checks if `x` is a construct.
982
1220
 
1221
+ Use this method instead of `instanceof` to properly detect `Construct`
1222
+ instances, even when the construct library is symlinked.
1223
+
1224
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
1225
+ disk are seen as independent, completely different libraries. As a
1226
+ consequence, the class `Construct` in each copy of the `constructs` library
1227
+ is seen as a different class, and an instance of one class will not test as
1228
+ `instanceof` the other class. `npm install` will not create installations
1229
+ like this, but users may manually symlink construct libraries together or
1230
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
1231
+ library can be accidentally installed, and `instanceof` will behave
1232
+ unpredictably. It is safest to avoid using `instanceof`, and using
1233
+ this type-testing method instead.
1234
+
983
1235
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsFileSystem.isConstruct.parameter.x"></a>
984
1236
 
985
1237
  - *Type:* any
@@ -1074,6 +1326,7 @@ new NextjsFunctions(scope: Construct, id: string, props: NextjsFunctionsProps)
1074
1326
  | **Name** | **Description** |
1075
1327
  | --- | --- |
1076
1328
  | <code><a href="#cdk-nextjs.NextjsFunctions.toString">toString</a></code> | Returns a string representation of this construct. |
1329
+ | <code><a href="#cdk-nextjs.NextjsFunctions.with">with</a></code> | Applies one or more mixins to this construct. |
1077
1330
 
1078
1331
  ---
1079
1332
 
@@ -1085,6 +1338,27 @@ public toString(): string
1085
1338
 
1086
1339
  Returns a string representation of this construct.
1087
1340
 
1341
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsFunctions.with"></a>
1342
+
1343
+ ```typescript
1344
+ public with(mixins: ...IMixin[]): IConstruct
1345
+ ```
1346
+
1347
+ Applies one or more mixins to this construct.
1348
+
1349
+ Mixins are applied in order. The list of constructs is captured at the
1350
+ start of the call, so constructs added by a mixin will not be visited.
1351
+ Use multiple `with()` calls if subsequent mixins should apply to added
1352
+ constructs.
1353
+
1354
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsFunctions.with.parameter.mixins"></a>
1355
+
1356
+ - *Type:* ...constructs.IMixin[]
1357
+
1358
+ The mixins to apply.
1359
+
1360
+ ---
1361
+
1088
1362
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1089
1363
 
1090
1364
  | **Name** | **Description** |
@@ -1093,7 +1367,7 @@ Returns a string representation of this construct.
1093
1367
 
1094
1368
  ---
1095
1369
 
1096
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsFunctions.isConstruct"></a>
1370
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsFunctions.isConstruct"></a>
1097
1371
 
1098
1372
  ```typescript
1099
1373
  import { NextjsFunctions } from 'cdk-nextjs'
@@ -1103,6 +1377,20 @@ NextjsFunctions.isConstruct(x: any)
1103
1377
 
1104
1378
  Checks if `x` is a construct.
1105
1379
 
1380
+ Use this method instead of `instanceof` to properly detect `Construct`
1381
+ instances, even when the construct library is symlinked.
1382
+
1383
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
1384
+ disk are seen as independent, completely different libraries. As a
1385
+ consequence, the class `Construct` in each copy of the `constructs` library
1386
+ is seen as a different class, and an instance of one class will not test as
1387
+ `instanceof` the other class. `npm install` will not create installations
1388
+ like this, but users may manually symlink construct libraries together or
1389
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
1390
+ library can be accidentally installed, and `instanceof` will behave
1391
+ unpredictably. It is safest to avoid using `instanceof`, and using
1392
+ this type-testing method instead.
1393
+
1106
1394
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsFunctions.isConstruct.parameter.x"></a>
1107
1395
 
1108
1396
  - *Type:* any
@@ -1197,6 +1485,7 @@ new NextjsGlobalContainers(scope: Construct, id: string, props: NextjsGlobalCont
1197
1485
  | **Name** | **Description** |
1198
1486
  | --- | --- |
1199
1487
  | <code><a href="#cdk-nextjs.NextjsGlobalContainers.toString">toString</a></code> | Returns a string representation of this construct. |
1488
+ | <code><a href="#cdk-nextjs.NextjsGlobalContainers.with">with</a></code> | Applies one or more mixins to this construct. |
1200
1489
 
1201
1490
  ---
1202
1491
 
@@ -1208,6 +1497,27 @@ public toString(): string
1208
1497
 
1209
1498
  Returns a string representation of this construct.
1210
1499
 
1500
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsGlobalContainers.with"></a>
1501
+
1502
+ ```typescript
1503
+ public with(mixins: ...IMixin[]): IConstruct
1504
+ ```
1505
+
1506
+ Applies one or more mixins to this construct.
1507
+
1508
+ Mixins are applied in order. The list of constructs is captured at the
1509
+ start of the call, so constructs added by a mixin will not be visited.
1510
+ Use multiple `with()` calls if subsequent mixins should apply to added
1511
+ constructs.
1512
+
1513
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsGlobalContainers.with.parameter.mixins"></a>
1514
+
1515
+ - *Type:* ...constructs.IMixin[]
1516
+
1517
+ The mixins to apply.
1518
+
1519
+ ---
1520
+
1211
1521
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1212
1522
 
1213
1523
  | **Name** | **Description** |
@@ -1216,7 +1526,7 @@ Returns a string representation of this construct.
1216
1526
 
1217
1527
  ---
1218
1528
 
1219
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsGlobalContainers.isConstruct"></a>
1529
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsGlobalContainers.isConstruct"></a>
1220
1530
 
1221
1531
  ```typescript
1222
1532
  import { NextjsGlobalContainers } from 'cdk-nextjs'
@@ -1226,6 +1536,20 @@ NextjsGlobalContainers.isConstruct(x: any)
1226
1536
 
1227
1537
  Checks if `x` is a construct.
1228
1538
 
1539
+ Use this method instead of `instanceof` to properly detect `Construct`
1540
+ instances, even when the construct library is symlinked.
1541
+
1542
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
1543
+ disk are seen as independent, completely different libraries. As a
1544
+ consequence, the class `Construct` in each copy of the `constructs` library
1545
+ is seen as a different class, and an instance of one class will not test as
1546
+ `instanceof` the other class. `npm install` will not create installations
1547
+ like this, but users may manually symlink construct libraries together or
1548
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
1549
+ library can be accidentally installed, and `instanceof` will behave
1550
+ unpredictably. It is safest to avoid using `instanceof`, and using
1551
+ this type-testing method instead.
1552
+
1229
1553
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsGlobalContainers.isConstruct.parameter.x"></a>
1230
1554
 
1231
1555
  - *Type:* any
@@ -1397,6 +1721,7 @@ new NextjsGlobalFunctions(scope: Construct, id: string, props: NextjsGlobalFunct
1397
1721
  | **Name** | **Description** |
1398
1722
  | --- | --- |
1399
1723
  | <code><a href="#cdk-nextjs.NextjsGlobalFunctions.toString">toString</a></code> | Returns a string representation of this construct. |
1724
+ | <code><a href="#cdk-nextjs.NextjsGlobalFunctions.with">with</a></code> | Applies one or more mixins to this construct. |
1400
1725
 
1401
1726
  ---
1402
1727
 
@@ -1408,6 +1733,27 @@ public toString(): string
1408
1733
 
1409
1734
  Returns a string representation of this construct.
1410
1735
 
1736
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsGlobalFunctions.with"></a>
1737
+
1738
+ ```typescript
1739
+ public with(mixins: ...IMixin[]): IConstruct
1740
+ ```
1741
+
1742
+ Applies one or more mixins to this construct.
1743
+
1744
+ Mixins are applied in order. The list of constructs is captured at the
1745
+ start of the call, so constructs added by a mixin will not be visited.
1746
+ Use multiple `with()` calls if subsequent mixins should apply to added
1747
+ constructs.
1748
+
1749
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsGlobalFunctions.with.parameter.mixins"></a>
1750
+
1751
+ - *Type:* ...constructs.IMixin[]
1752
+
1753
+ The mixins to apply.
1754
+
1755
+ ---
1756
+
1411
1757
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1412
1758
 
1413
1759
  | **Name** | **Description** |
@@ -1416,7 +1762,7 @@ Returns a string representation of this construct.
1416
1762
 
1417
1763
  ---
1418
1764
 
1419
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsGlobalFunctions.isConstruct"></a>
1765
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsGlobalFunctions.isConstruct"></a>
1420
1766
 
1421
1767
  ```typescript
1422
1768
  import { NextjsGlobalFunctions } from 'cdk-nextjs'
@@ -1426,6 +1772,20 @@ NextjsGlobalFunctions.isConstruct(x: any)
1426
1772
 
1427
1773
  Checks if `x` is a construct.
1428
1774
 
1775
+ Use this method instead of `instanceof` to properly detect `Construct`
1776
+ instances, even when the construct library is symlinked.
1777
+
1778
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
1779
+ disk are seen as independent, completely different libraries. As a
1780
+ consequence, the class `Construct` in each copy of the `constructs` library
1781
+ is seen as a different class, and an instance of one class will not test as
1782
+ `instanceof` the other class. `npm install` will not create installations
1783
+ like this, but users may manually symlink construct libraries together or
1784
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
1785
+ library can be accidentally installed, and `instanceof` will behave
1786
+ unpredictably. It is safest to avoid using `instanceof`, and using
1787
+ this type-testing method instead.
1788
+
1429
1789
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsGlobalFunctions.isConstruct.parameter.x"></a>
1430
1790
 
1431
1791
  - *Type:* any
@@ -1602,6 +1962,7 @@ new NextjsPostDeploy(scope: Construct, id: string, props: NextjsPostDeployProps)
1602
1962
  | **Name** | **Description** |
1603
1963
  | --- | --- |
1604
1964
  | <code><a href="#cdk-nextjs.NextjsPostDeploy.toString">toString</a></code> | Returns a string representation of this construct. |
1965
+ | <code><a href="#cdk-nextjs.NextjsPostDeploy.with">with</a></code> | Applies one or more mixins to this construct. |
1605
1966
 
1606
1967
  ---
1607
1968
 
@@ -1613,6 +1974,27 @@ public toString(): string
1613
1974
 
1614
1975
  Returns a string representation of this construct.
1615
1976
 
1977
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsPostDeploy.with"></a>
1978
+
1979
+ ```typescript
1980
+ public with(mixins: ...IMixin[]): IConstruct
1981
+ ```
1982
+
1983
+ Applies one or more mixins to this construct.
1984
+
1985
+ Mixins are applied in order. The list of constructs is captured at the
1986
+ start of the call, so constructs added by a mixin will not be visited.
1987
+ Use multiple `with()` calls if subsequent mixins should apply to added
1988
+ constructs.
1989
+
1990
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsPostDeploy.with.parameter.mixins"></a>
1991
+
1992
+ - *Type:* ...constructs.IMixin[]
1993
+
1994
+ The mixins to apply.
1995
+
1996
+ ---
1997
+
1616
1998
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1617
1999
 
1618
2000
  | **Name** | **Description** |
@@ -1621,7 +2003,7 @@ Returns a string representation of this construct.
1621
2003
 
1622
2004
  ---
1623
2005
 
1624
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsPostDeploy.isConstruct"></a>
2006
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsPostDeploy.isConstruct"></a>
1625
2007
 
1626
2008
  ```typescript
1627
2009
  import { NextjsPostDeploy } from 'cdk-nextjs'
@@ -1631,6 +2013,20 @@ NextjsPostDeploy.isConstruct(x: any)
1631
2013
 
1632
2014
  Checks if `x` is a construct.
1633
2015
 
2016
+ Use this method instead of `instanceof` to properly detect `Construct`
2017
+ instances, even when the construct library is symlinked.
2018
+
2019
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
2020
+ disk are seen as independent, completely different libraries. As a
2021
+ consequence, the class `Construct` in each copy of the `constructs` library
2022
+ is seen as a different class, and an instance of one class will not test as
2023
+ `instanceof` the other class. `npm install` will not create installations
2024
+ like this, but users may manually symlink construct libraries together or
2025
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
2026
+ library can be accidentally installed, and `instanceof` will behave
2027
+ unpredictably. It is safest to avoid using `instanceof`, and using
2028
+ this type-testing method instead.
2029
+
1634
2030
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsPostDeploy.isConstruct.parameter.x"></a>
1635
2031
 
1636
2032
  - *Type:* any
@@ -1725,6 +2121,7 @@ new NextjsRegionalContainers(scope: Construct, id: string, props: NextjsRegional
1725
2121
  | **Name** | **Description** |
1726
2122
  | --- | --- |
1727
2123
  | <code><a href="#cdk-nextjs.NextjsRegionalContainers.toString">toString</a></code> | Returns a string representation of this construct. |
2124
+ | <code><a href="#cdk-nextjs.NextjsRegionalContainers.with">with</a></code> | Applies one or more mixins to this construct. |
1728
2125
 
1729
2126
  ---
1730
2127
 
@@ -1736,6 +2133,27 @@ public toString(): string
1736
2133
 
1737
2134
  Returns a string representation of this construct.
1738
2135
 
2136
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsRegionalContainers.with"></a>
2137
+
2138
+ ```typescript
2139
+ public with(mixins: ...IMixin[]): IConstruct
2140
+ ```
2141
+
2142
+ Applies one or more mixins to this construct.
2143
+
2144
+ Mixins are applied in order. The list of constructs is captured at the
2145
+ start of the call, so constructs added by a mixin will not be visited.
2146
+ Use multiple `with()` calls if subsequent mixins should apply to added
2147
+ constructs.
2148
+
2149
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsRegionalContainers.with.parameter.mixins"></a>
2150
+
2151
+ - *Type:* ...constructs.IMixin[]
2152
+
2153
+ The mixins to apply.
2154
+
2155
+ ---
2156
+
1739
2157
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1740
2158
 
1741
2159
  | **Name** | **Description** |
@@ -1744,7 +2162,7 @@ Returns a string representation of this construct.
1744
2162
 
1745
2163
  ---
1746
2164
 
1747
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsRegionalContainers.isConstruct"></a>
2165
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsRegionalContainers.isConstruct"></a>
1748
2166
 
1749
2167
  ```typescript
1750
2168
  import { NextjsRegionalContainers } from 'cdk-nextjs'
@@ -1754,6 +2172,20 @@ NextjsRegionalContainers.isConstruct(x: any)
1754
2172
 
1755
2173
  Checks if `x` is a construct.
1756
2174
 
2175
+ Use this method instead of `instanceof` to properly detect `Construct`
2176
+ instances, even when the construct library is symlinked.
2177
+
2178
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
2179
+ disk are seen as independent, completely different libraries. As a
2180
+ consequence, the class `Construct` in each copy of the `constructs` library
2181
+ is seen as a different class, and an instance of one class will not test as
2182
+ `instanceof` the other class. `npm install` will not create installations
2183
+ like this, but users may manually symlink construct libraries together or
2184
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
2185
+ library can be accidentally installed, and `instanceof` will behave
2186
+ unpredictably. It is safest to avoid using `instanceof`, and using
2187
+ this type-testing method instead.
2188
+
1757
2189
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsRegionalContainers.isConstruct.parameter.x"></a>
1758
2190
 
1759
2191
  - *Type:* any
@@ -1914,6 +2346,7 @@ new NextjsRegionalFunctions(scope: Construct, id: string, props: NextjsRegionalF
1914
2346
  | **Name** | **Description** |
1915
2347
  | --- | --- |
1916
2348
  | <code><a href="#cdk-nextjs.NextjsRegionalFunctions.toString">toString</a></code> | Returns a string representation of this construct. |
2349
+ | <code><a href="#cdk-nextjs.NextjsRegionalFunctions.with">with</a></code> | Applies one or more mixins to this construct. |
1917
2350
 
1918
2351
  ---
1919
2352
 
@@ -1925,6 +2358,27 @@ public toString(): string
1925
2358
 
1926
2359
  Returns a string representation of this construct.
1927
2360
 
2361
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsRegionalFunctions.with"></a>
2362
+
2363
+ ```typescript
2364
+ public with(mixins: ...IMixin[]): IConstruct
2365
+ ```
2366
+
2367
+ Applies one or more mixins to this construct.
2368
+
2369
+ Mixins are applied in order. The list of constructs is captured at the
2370
+ start of the call, so constructs added by a mixin will not be visited.
2371
+ Use multiple `with()` calls if subsequent mixins should apply to added
2372
+ constructs.
2373
+
2374
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsRegionalFunctions.with.parameter.mixins"></a>
2375
+
2376
+ - *Type:* ...constructs.IMixin[]
2377
+
2378
+ The mixins to apply.
2379
+
2380
+ ---
2381
+
1928
2382
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1929
2383
 
1930
2384
  | **Name** | **Description** |
@@ -1933,7 +2387,7 @@ Returns a string representation of this construct.
1933
2387
 
1934
2388
  ---
1935
2389
 
1936
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsRegionalFunctions.isConstruct"></a>
2390
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsRegionalFunctions.isConstruct"></a>
1937
2391
 
1938
2392
  ```typescript
1939
2393
  import { NextjsRegionalFunctions } from 'cdk-nextjs'
@@ -1943,6 +2397,20 @@ NextjsRegionalFunctions.isConstruct(x: any)
1943
2397
 
1944
2398
  Checks if `x` is a construct.
1945
2399
 
2400
+ Use this method instead of `instanceof` to properly detect `Construct`
2401
+ instances, even when the construct library is symlinked.
2402
+
2403
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
2404
+ disk are seen as independent, completely different libraries. As a
2405
+ consequence, the class `Construct` in each copy of the `constructs` library
2406
+ is seen as a different class, and an instance of one class will not test as
2407
+ `instanceof` the other class. `npm install` will not create installations
2408
+ like this, but users may manually symlink construct libraries together or
2409
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
2410
+ library can be accidentally installed, and `instanceof` will behave
2411
+ unpredictably. It is safest to avoid using `instanceof`, and using
2412
+ this type-testing method instead.
2413
+
1946
2414
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsRegionalFunctions.isConstruct.parameter.x"></a>
1947
2415
 
1948
2416
  - *Type:* any
@@ -2114,6 +2582,7 @@ new NextjsStaticAssets(scope: Construct, id: string, props: NextjsStaticAssetsPr
2114
2582
  | **Name** | **Description** |
2115
2583
  | --- | --- |
2116
2584
  | <code><a href="#cdk-nextjs.NextjsStaticAssets.toString">toString</a></code> | Returns a string representation of this construct. |
2585
+ | <code><a href="#cdk-nextjs.NextjsStaticAssets.with">with</a></code> | Applies one or more mixins to this construct. |
2117
2586
 
2118
2587
  ---
2119
2588
 
@@ -2125,6 +2594,27 @@ public toString(): string
2125
2594
 
2126
2595
  Returns a string representation of this construct.
2127
2596
 
2597
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsStaticAssets.with"></a>
2598
+
2599
+ ```typescript
2600
+ public with(mixins: ...IMixin[]): IConstruct
2601
+ ```
2602
+
2603
+ Applies one or more mixins to this construct.
2604
+
2605
+ Mixins are applied in order. The list of constructs is captured at the
2606
+ start of the call, so constructs added by a mixin will not be visited.
2607
+ Use multiple `with()` calls if subsequent mixins should apply to added
2608
+ constructs.
2609
+
2610
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsStaticAssets.with.parameter.mixins"></a>
2611
+
2612
+ - *Type:* ...constructs.IMixin[]
2613
+
2614
+ The mixins to apply.
2615
+
2616
+ ---
2617
+
2128
2618
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
2129
2619
 
2130
2620
  | **Name** | **Description** |
@@ -2133,7 +2623,7 @@ Returns a string representation of this construct.
2133
2623
 
2134
2624
  ---
2135
2625
 
2136
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsStaticAssets.isConstruct"></a>
2626
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsStaticAssets.isConstruct"></a>
2137
2627
 
2138
2628
  ```typescript
2139
2629
  import { NextjsStaticAssets } from 'cdk-nextjs'
@@ -2143,6 +2633,20 @@ NextjsStaticAssets.isConstruct(x: any)
2143
2633
 
2144
2634
  Checks if `x` is a construct.
2145
2635
 
2636
+ Use this method instead of `instanceof` to properly detect `Construct`
2637
+ instances, even when the construct library is symlinked.
2638
+
2639
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
2640
+ disk are seen as independent, completely different libraries. As a
2641
+ consequence, the class `Construct` in each copy of the `constructs` library
2642
+ is seen as a different class, and an instance of one class will not test as
2643
+ `instanceof` the other class. `npm install` will not create installations
2644
+ like this, but users may manually symlink construct libraries together or
2645
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
2646
+ library can be accidentally installed, and `instanceof` will behave
2647
+ unpredictably. It is safest to avoid using `instanceof`, and using
2648
+ this type-testing method instead.
2649
+
2146
2650
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsStaticAssets.isConstruct.parameter.x"></a>
2147
2651
 
2148
2652
  - *Type:* any
@@ -2234,6 +2738,7 @@ new NextjsVpc(scope: Construct, id: string, props: NextjsVpcProps)
2234
2738
  | **Name** | **Description** |
2235
2739
  | --- | --- |
2236
2740
  | <code><a href="#cdk-nextjs.NextjsVpc.toString">toString</a></code> | Returns a string representation of this construct. |
2741
+ | <code><a href="#cdk-nextjs.NextjsVpc.with">with</a></code> | Applies one or more mixins to this construct. |
2237
2742
 
2238
2743
  ---
2239
2744
 
@@ -2245,6 +2750,27 @@ public toString(): string
2245
2750
 
2246
2751
  Returns a string representation of this construct.
2247
2752
 
2753
+ ##### `with` <a name="with" id="cdk-nextjs.NextjsVpc.with"></a>
2754
+
2755
+ ```typescript
2756
+ public with(mixins: ...IMixin[]): IConstruct
2757
+ ```
2758
+
2759
+ Applies one or more mixins to this construct.
2760
+
2761
+ Mixins are applied in order. The list of constructs is captured at the
2762
+ start of the call, so constructs added by a mixin will not be visited.
2763
+ Use multiple `with()` calls if subsequent mixins should apply to added
2764
+ constructs.
2765
+
2766
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="cdk-nextjs.NextjsVpc.with.parameter.mixins"></a>
2767
+
2768
+ - *Type:* ...constructs.IMixin[]
2769
+
2770
+ The mixins to apply.
2771
+
2772
+ ---
2773
+
2248
2774
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
2249
2775
 
2250
2776
  | **Name** | **Description** |
@@ -2253,7 +2779,7 @@ Returns a string representation of this construct.
2253
2779
 
2254
2780
  ---
2255
2781
 
2256
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-nextjs.NextjsVpc.isConstruct"></a>
2782
+ ##### `isConstruct` <a name="isConstruct" id="cdk-nextjs.NextjsVpc.isConstruct"></a>
2257
2783
 
2258
2784
  ```typescript
2259
2785
  import { NextjsVpc } from 'cdk-nextjs'
@@ -2263,6 +2789,20 @@ NextjsVpc.isConstruct(x: any)
2263
2789
 
2264
2790
  Checks if `x` is a construct.
2265
2791
 
2792
+ Use this method instead of `instanceof` to properly detect `Construct`
2793
+ instances, even when the construct library is symlinked.
2794
+
2795
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
2796
+ disk are seen as independent, completely different libraries. As a
2797
+ consequence, the class `Construct` in each copy of the `constructs` library
2798
+ is seen as a different class, and an instance of one class will not test as
2799
+ `instanceof` the other class. `npm install` will not create installations
2800
+ like this, but users may manually symlink construct libraries together or
2801
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
2802
+ library can be accidentally installed, and `instanceof` will behave
2803
+ unpredictably. It is safest to avoid using `instanceof`, and using
2804
+ this type-testing method instead.
2805
+
2266
2806
  ###### `x`<sup>Required</sup> <a name="x" id="cdk-nextjs.NextjsVpc.isConstruct.parameter.x"></a>
2267
2807
 
2268
2808
  - *Type:* any