Skip to content

Commit 22a7868

Browse files
committed
chore(core): add missing directive usage exports
1 parent 8341829 commit 22a7868

File tree

3 files changed

+48
-0
lines changed

3 files changed

+48
-0
lines changed

.changeset/chilled-squids-knock.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@graphql-inspector/core': patch
3+
---
4+
5+
add missing directive usage exports 'directiveUsageFieldAddedFromMeta' &
6+
'directiveUsageFieldRemovedFromMeta'

packages/core/src/diff/changes/directive-usage.ts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@ import {
2323
DirectiveUsageEnumRemovedChange,
2424
DirectiveUsageEnumValueAddedChange,
2525
DirectiveUsageEnumValueRemovedChange,
26+
DirectiveUsageFieldAddedChange,
2627
DirectiveUsageFieldDefinitionAddedChange,
2728
DirectiveUsageFieldDefinitionRemovedChange,
29+
DirectiveUsageFieldRemovedChange,
2830
DirectiveUsageInputFieldDefinitionAddedChange,
2931
DirectiveUsageInputFieldDefinitionRemovedChange,
3032
DirectiveUsageInputObjectAddedChange,
@@ -379,6 +381,25 @@ export function directiveUsageEnumRemovedFromMeta(args: DirectiveUsageEnumRemove
379381
} as const;
380382
}
381383

384+
function buildDirectiveUsageFieldAddedMessage(
385+
args: DirectiveUsageFieldAddedChange['meta'],
386+
): string {
387+
return `Directive '${args.addedDirectiveName}' was added to field '${args.typeName}.${args.fieldName}'`;
388+
}
389+
390+
export function directiveUsageFieldAddedFromMeta(args: DirectiveUsageFieldAddedChange) {
391+
return {
392+
criticality: {
393+
level: addedSpecialDirective(args.meta.addedDirectiveName, CriticalityLevel.Dangerous),
394+
reason: `Directive '${args.meta.addedDirectiveName}' was added to field '${args.meta.fieldName}'`,
395+
},
396+
type: ChangeType.DirectiveUsageFieldAdded,
397+
message: buildDirectiveUsageFieldAddedMessage(args.meta),
398+
path: [args.meta.typeName, args.meta.fieldName, args.meta.addedDirectiveName].join('.'),
399+
meta: args.meta,
400+
} as const;
401+
}
402+
382403
function buildDirectiveUsageFieldDefinitionAddedMessage(
383404
args: DirectiveUsageFieldDefinitionAddedChange['meta'],
384405
): string {
@@ -400,6 +421,25 @@ export function directiveUsageFieldDefinitionAddedFromMeta(
400421
} as const;
401422
}
402423

424+
function buildDirectiveUsageFieldRemovedMessage(
425+
args: DirectiveUsageFieldRemovedChange['meta'],
426+
): string {
427+
return `Directive '${args.removedDirectiveName}' was removed from field '${args.typeName}.${args.fieldName}'`;
428+
}
429+
430+
export function directiveUsageFieldRemovedFromMeta(args: DirectiveUsageFieldRemovedChange) {
431+
return {
432+
criticality: {
433+
level: removedSpecialDirective(args.meta.removedDirectiveName, CriticalityLevel.Dangerous),
434+
reason: `Directive '${args.meta.removedDirectiveName}' was removed from field '${args.meta.fieldName}'`,
435+
},
436+
type: ChangeType.DirectiveUsageFieldRemoved,
437+
message: buildDirectiveUsageFieldRemovedMessage(args.meta),
438+
path: [args.meta.typeName, args.meta.fieldName, args.meta.removedDirectiveName].join('.'),
439+
meta: args.meta,
440+
} as const;
441+
}
442+
403443
function buildDirectiveUsageFieldDefinitionRemovedMessage(
404444
args: DirectiveUsageFieldDefinitionRemovedChange['meta'],
405445
): string {

packages/core/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,11 @@ export {
3838
directiveUsageArgumentDefinitionRemovedFromMeta,
3939
directiveUsageEnumValueAddedFromMeta,
4040
directiveUsageEnumValueRemovedFromMeta,
41+
directiveUsageFieldAddedFromMeta,
4142
directiveUsageFieldDefinitionAddedFromMeta,
4243
directiveUsageAdded,
4344
directiveUsageFieldDefinitionRemovedFromMeta,
45+
directiveUsageFieldRemovedFromMeta,
4446
directiveUsageInputFieldDefinitionAddedFromMeta,
4547
directiveUsageInputFieldDefinitionRemovedFromMeta,
4648
directiveUsageInputObjectAddedFromMeta,

0 commit comments

Comments
 (0)