@@ -11,11 +11,11 @@ import {
1111 EnumValueDescriptionChangedChange ,
1212 EnumValueRemovedChange ,
1313} from './change.js' ;
14+ import { ConsiderUsageConfig } from '../rules/consider-usage.js' ;
15+ import { fmt } from '../../utils/string.js' ;
1416
1517function buildEnumValueRemovedMessage ( args : EnumValueRemovedChange [ 'meta' ] ) {
16- return `Enum value '${ args . removedEnumValueName } ' ${
17- args . isEnumValueDeprecated ? '(deprecated) ' : ''
18- } was removed from enum '${ args . enumName } '`;
18+ return `Enum value '${ args . removedEnumValueName } ' ${ args . isEnumValueDeprecated ? '(deprecated) ' : '' } was removed from enum '${ args . enumName } '` ;
1919}
2020
2121const enumValueRemovedCriticalityBreakingReason = `Removing an enum value will cause existing queries that use this enum value to error.` ;
@@ -79,25 +79,24 @@ export function enumValueAdded(
7979 } ) ;
8080}
8181
82- function buildEnumValueDescriptionChangedMessage ( args : EnumValueDescriptionChangedChange [ 'meta' ] ) {
82+ function buildEnumValueDescriptionChangedMessage ( args : EnumValueDescriptionChangedChange [ 'meta' ] , config ?: ConsiderUsageConfig ) {
83+ const oldDesc = fmt ( args . oldEnumValueDescription ?? 'undefined' , config ) ;
84+ const newDesc = fmt ( args . newEnumValueDescription ?? 'undefined' , config ) ;
8385 return args . oldEnumValueDescription === null
84- ? `Description '${ args . newEnumValueDescription ?? 'undefined' } ' was added to enum value '${
85- args . enumName
86- } .${ args . enumValueName } '`
87- : `Description for enum value '${ args . enumName } .${ args . enumValueName } ' changed from '${
88- args . oldEnumValueDescription ?? 'undefined'
89- } ' to '${ args . newEnumValueDescription ?? 'undefined' } '`;
86+ ? `Description '${ newDesc } ' was added to enum value '${ args . enumName } .${ args . enumValueName } '`
87+ : `Description for enum value '${ args . enumName } .${ args . enumValueName } ' changed from '${ oldDesc } ' to '${ newDesc } '` ;
9088}
9189
9290export function enumValueDescriptionChangedFromMeta (
9391 args : EnumValueDescriptionChangedChange ,
92+ config ?: ConsiderUsageConfig
9493) : Change < typeof ChangeType . EnumValueDescriptionChanged > {
9594 return {
9695 criticality : {
9796 level : CriticalityLevel . NonBreaking ,
9897 } ,
9998 type : ChangeType . EnumValueDescriptionChanged ,
100- message : buildEnumValueDescriptionChangedMessage ( args . meta ) ,
99+ message : buildEnumValueDescriptionChangedMessage ( args . meta , config ) ,
101100 path : [ args . meta . enumName , args . meta . enumValueName ] . join ( '.' ) ,
102101 meta : args . meta ,
103102 } as const ;
@@ -107,6 +106,7 @@ export function enumValueDescriptionChanged(
107106 newEnum : GraphQLEnumType ,
108107 oldValue : GraphQLEnumValue ,
109108 newValue : GraphQLEnumValue ,
109+ config ?: ConsiderUsageConfig
110110) : Change < typeof ChangeType . EnumValueDescriptionChanged > {
111111 return enumValueDescriptionChangedFromMeta ( {
112112 type : ChangeType . EnumValueDescriptionChanged ,
@@ -116,24 +116,28 @@ export function enumValueDescriptionChanged(
116116 oldEnumValueDescription : oldValue . description ?? null ,
117117 newEnumValueDescription : newValue . description ?? null ,
118118 } ,
119- } ) ;
119+ } , config ) ;
120120}
121121
122122function buildEnumValueDeprecationChangedMessage (
123123 args : EnumValueDeprecationReasonChangedChange [ 'meta' ] ,
124+ config ?: ConsiderUsageConfig
124125) {
125- return `Enum value '${ args . enumName } .${ args . enumValueName } ' deprecation reason changed from '${ args . oldEnumValueDeprecationReason } ' to '${ args . newEnumValueDeprecationReason } '` ;
126+ const oldReason = fmt ( args . oldEnumValueDeprecationReason , config ) ;
127+ const newReason = fmt ( args . newEnumValueDeprecationReason , config ) ;
128+ return `Enum value '${ args . enumName } .${ args . enumValueName } ' deprecation reason changed from '${ oldReason } ' to '${ newReason } '` ;
126129}
127130
128131export function enumValueDeprecationReasonChangedFromMeta (
129132 args : EnumValueDeprecationReasonChangedChange ,
133+ config ?: ConsiderUsageConfig
130134) {
131135 return {
132136 criticality : {
133137 level : CriticalityLevel . NonBreaking ,
134138 } ,
135139 type : ChangeType . EnumValueDeprecationReasonChanged ,
136- message : buildEnumValueDeprecationChangedMessage ( args . meta ) ,
140+ message : buildEnumValueDeprecationChangedMessage ( args . meta , config ) ,
137141 path : [ args . meta . enumName , args . meta . enumValueName ] . join ( '.' ) ,
138142 meta : args . meta ,
139143 } as const ;
@@ -143,6 +147,7 @@ export function enumValueDeprecationReasonChanged(
143147 newEnum : GraphQLEnumType ,
144148 oldValue : GraphQLEnumValue ,
145149 newValue : GraphQLEnumValue ,
150+ config ?: ConsiderUsageConfig ,
146151) : Change < typeof ChangeType . EnumValueDeprecationReasonChanged > {
147152 return enumValueDeprecationReasonChangedFromMeta ( {
148153 type : ChangeType . EnumValueDeprecationReasonChanged ,
@@ -152,24 +157,27 @@ export function enumValueDeprecationReasonChanged(
152157 oldEnumValueDeprecationReason : oldValue . deprecationReason ?? '' ,
153158 newEnumValueDeprecationReason : newValue . deprecationReason ?? '' ,
154159 } ,
155- } ) ;
160+ } , config ) ;
156161}
157162
158163function buildEnumValueDeprecationReasonAddedMessage (
159164 args : EnumValueDeprecationReasonAddedChange [ 'meta' ] ,
165+ config ?: ConsiderUsageConfig ,
160166) {
161- return `Enum value '${ args . enumName } .${ args . enumValueName } ' was deprecated with reason '${ args . addedValueDeprecationReason } '` ;
167+ const reason = fmt ( args . addedValueDeprecationReason , config ) ;
168+ return `Enum value '${ args . enumName } .${ args . enumValueName } ' was deprecated with reason '${ reason } '` ;
162169}
163170
164171export function enumValueDeprecationReasonAddedFromMeta (
165172 args : EnumValueDeprecationReasonAddedChange ,
173+ config ?: ConsiderUsageConfig ,
166174) {
167175 return {
168176 criticality : {
169177 level : CriticalityLevel . NonBreaking ,
170178 } ,
171179 type : ChangeType . EnumValueDeprecationReasonAdded ,
172- message : buildEnumValueDeprecationReasonAddedMessage ( args . meta ) ,
180+ message : buildEnumValueDeprecationReasonAddedMessage ( args . meta , config ) ,
173181 path : [ args . meta . enumName , args . meta . enumValueName ] . join ( '.' ) ,
174182 meta : args . meta ,
175183 } as const ;
@@ -179,6 +187,7 @@ export function enumValueDeprecationReasonAdded(
179187 newEnum : GraphQLEnumType ,
180188 oldValue : GraphQLEnumValue ,
181189 newValue : GraphQLEnumValue ,
190+ config ?: ConsiderUsageConfig ,
182191) : Change < typeof ChangeType . EnumValueDeprecationReasonAdded > {
183192 return enumValueDeprecationReasonAddedFromMeta ( {
184193 type : ChangeType . EnumValueDeprecationReasonAdded ,
@@ -187,7 +196,7 @@ export function enumValueDeprecationReasonAdded(
187196 enumValueName : oldValue . name ,
188197 addedValueDeprecationReason : newValue . deprecationReason ?? '' ,
189198 } ,
190- } ) ;
199+ } , config ) ;
191200}
192201
193202function buildEnumValueDeprecationReasonRemovedMessage (
0 commit comments