@@ -287,6 +287,10 @@ namespace ts {
287
287
updateImportDeclaration,
288
288
createImportClause,
289
289
updateImportClause,
290
+ createAssertClause,
291
+ updateAssertClause,
292
+ createAssertEntry,
293
+ updateAssertEntry,
290
294
createNamespaceImport,
291
295
updateNamespaceImport,
292
296
createNamespaceExport,
@@ -3790,7 +3794,8 @@ namespace ts {
3790
3794
decorators : readonly Decorator [ ] | undefined ,
3791
3795
modifiers : readonly Modifier [ ] | undefined ,
3792
3796
importClause : ImportClause | undefined ,
3793
- moduleSpecifier : Expression
3797
+ moduleSpecifier : Expression ,
3798
+ assertClause : AssertClause | undefined
3794
3799
) : ImportDeclaration {
3795
3800
const node = createBaseDeclaration < ImportDeclaration > (
3796
3801
SyntaxKind . ImportDeclaration ,
@@ -3799,6 +3804,7 @@ namespace ts {
3799
3804
) ;
3800
3805
node . importClause = importClause ;
3801
3806
node . moduleSpecifier = moduleSpecifier ;
3807
+ node . assertClause = assertClause ;
3802
3808
node . transformFlags |=
3803
3809
propagateChildFlags ( node . importClause ) |
3804
3810
propagateChildFlags ( node . moduleSpecifier ) ;
@@ -3812,13 +3818,15 @@ namespace ts {
3812
3818
decorators : readonly Decorator [ ] | undefined ,
3813
3819
modifiers : readonly Modifier [ ] | undefined ,
3814
3820
importClause : ImportClause | undefined ,
3815
- moduleSpecifier : Expression
3821
+ moduleSpecifier : Expression ,
3822
+ assertClause : AssertClause | undefined
3816
3823
) {
3817
3824
return node . decorators !== decorators
3818
3825
|| node . modifiers !== modifiers
3819
3826
|| node . importClause !== importClause
3820
3827
|| node . moduleSpecifier !== moduleSpecifier
3821
- ? update ( createImportDeclaration ( decorators , modifiers , importClause , moduleSpecifier ) , node )
3828
+ || node . assertClause !== assertClause
3829
+ ? update ( createImportDeclaration ( decorators , modifiers , importClause , moduleSpecifier , assertClause ) , node )
3822
3830
: node ;
3823
3831
}
3824
3832
@@ -3847,6 +3855,38 @@ namespace ts {
3847
3855
: node ;
3848
3856
}
3849
3857
3858
+ // @api
3859
+ function createAssertClause ( elements : NodeArray < AssertEntry > | undefined ) : AssertClause {
3860
+ const node = createBaseNode < AssertClause > ( SyntaxKind . AssertClause ) ;
3861
+ node . elements = elements ;
3862
+ node . transformFlags |= TransformFlags . ContainsESNext ;
3863
+ return node ;
3864
+ }
3865
+
3866
+ // @api
3867
+ function updateAssertClause ( node : AssertClause , elements : NodeArray < AssertEntry > | undefined ) : AssertClause {
3868
+ return node . elements !== elements
3869
+ ? update ( createAssertClause ( elements ) , node )
3870
+ : node ;
3871
+ }
3872
+
3873
+ // @api
3874
+ function createAssertEntry ( name : AssertionKey , value : StringLiteral ) : AssertEntry {
3875
+ const node = createBaseNode < AssertEntry > ( SyntaxKind . AssertEntry ) ;
3876
+ node . name = name ;
3877
+ node . value = value ;
3878
+ node . transformFlags |= TransformFlags . ContainsESNext ;
3879
+ return node ;
3880
+ }
3881
+
3882
+ // @api
3883
+ function updateAssertEntry ( node : AssertEntry , name : AssertionKey , value : StringLiteral ) : AssertEntry {
3884
+ return node . name !== name
3885
+ || node . value !== value
3886
+ ? update ( createAssertEntry ( name , value ) , node )
3887
+ : node ;
3888
+ }
3889
+
3850
3890
// @api
3851
3891
function createNamespaceImport ( name : Identifier ) : NamespaceImport {
3852
3892
const node = createBaseNode < NamespaceImport > ( SyntaxKind . NamespaceImport ) ;
@@ -3958,7 +3998,8 @@ namespace ts {
3958
3998
modifiers : readonly Modifier [ ] | undefined ,
3959
3999
isTypeOnly : boolean ,
3960
4000
exportClause : NamedExportBindings | undefined ,
3961
- moduleSpecifier ?: Expression
4001
+ moduleSpecifier ?: Expression ,
4002
+ assertClause ?: AssertClause
3962
4003
) {
3963
4004
const node = createBaseDeclaration < ExportDeclaration > (
3964
4005
SyntaxKind . ExportDeclaration ,
@@ -3968,6 +4009,7 @@ namespace ts {
3968
4009
node . isTypeOnly = isTypeOnly ;
3969
4010
node . exportClause = exportClause ;
3970
4011
node . moduleSpecifier = moduleSpecifier ;
4012
+ node . assertClause = assertClause ;
3971
4013
node . transformFlags |=
3972
4014
propagateChildFlags ( node . exportClause ) |
3973
4015
propagateChildFlags ( node . moduleSpecifier ) ;
@@ -3982,14 +4024,16 @@ namespace ts {
3982
4024
modifiers : readonly Modifier [ ] | undefined ,
3983
4025
isTypeOnly : boolean ,
3984
4026
exportClause : NamedExportBindings | undefined ,
3985
- moduleSpecifier : Expression | undefined
4027
+ moduleSpecifier : Expression | undefined ,
4028
+ assertClause : AssertClause | undefined
3986
4029
) {
3987
4030
return node . decorators !== decorators
3988
4031
|| node . modifiers !== modifiers
3989
4032
|| node . isTypeOnly !== isTypeOnly
3990
4033
|| node . exportClause !== exportClause
3991
4034
|| node . moduleSpecifier !== moduleSpecifier
3992
- ? update ( createExportDeclaration ( decorators , modifiers , isTypeOnly , exportClause , moduleSpecifier ) , node )
4035
+ || node . assertClause !== assertClause
4036
+ ? update ( createExportDeclaration ( decorators , modifiers , isTypeOnly , exportClause , moduleSpecifier , assertClause ) , node )
3993
4037
: node ;
3994
4038
}
3995
4039
@@ -5776,9 +5820,9 @@ namespace ts {
5776
5820
isEnumDeclaration ( node ) ? updateEnumDeclaration ( node , node . decorators , modifiers , node . name , node . members ) :
5777
5821
isModuleDeclaration ( node ) ? updateModuleDeclaration ( node , node . decorators , modifiers , node . name , node . body ) :
5778
5822
isImportEqualsDeclaration ( node ) ? updateImportEqualsDeclaration ( node , node . decorators , modifiers , node . name , node . moduleReference ) :
5779
- isImportDeclaration ( node ) ? updateImportDeclaration ( node , node . decorators , modifiers , node . importClause , node . moduleSpecifier ) :
5823
+ isImportDeclaration ( node ) ? updateImportDeclaration ( node , node . decorators , modifiers , node . importClause , node . moduleSpecifier , node . assertClause ) :
5780
5824
isExportAssignment ( node ) ? updateExportAssignment ( node , node . decorators , modifiers , node . expression ) :
5781
- isExportDeclaration ( node ) ? updateExportDeclaration ( node , node . decorators , modifiers , node . isTypeOnly , node . exportClause , node . moduleSpecifier ) :
5825
+ isExportDeclaration ( node ) ? updateExportDeclaration ( node , node . decorators , modifiers , node . isTypeOnly , node . exportClause , node . moduleSpecifier , node . assertClause ) :
5782
5826
Debug . assertNever ( node ) ;
5783
5827
}
5784
5828
0 commit comments