Skip to content

Commit 4c90da9

Browse files
committed
feat(composition): @openfed__queryCache and @openfed__is directives
1 parent faca30a commit 4c90da9

20 files changed

Lines changed: 4197 additions & 780 deletions

File tree

composition/src/directive-definition-data/directive-definition-data.ts

Lines changed: 85 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -81,14 +81,16 @@ import {
8181
UNION_UPPER,
8282
URL_LOWER,
8383
WEIGHT,
84-
CACHE_INVALIDATE,
85-
CACHE_POPULATE,
86-
ENTITY_CACHE,
84+
OPENFED_CACHE_INVALIDATE,
85+
OPENFED_CACHE_POPULATE,
86+
OPENFED_ENTITY_CACHE,
8787
INCLUDE_HEADERS,
88+
OPENFED_IS,
8889
MAX_AGE,
8990
NEGATIVE_CACHE_TTL,
9091
PARTIAL_CACHE_LOAD,
91-
REQUEST_SCOPED,
92+
OPENFED_QUERY_CACHE,
93+
OPENFED_REQUEST_SCOPED,
9294
SHADOW_MODE,
9395
} from '../utils/string-constants';
9496
import {
@@ -121,10 +123,12 @@ import {
121123
REQUIRES_SCOPES_DEFINITION,
122124
SEMANTIC_NON_NULL_DEFINITION,
123125
SHAREABLE_DEFINITION,
124-
CACHE_INVALIDATE_DEFINITION,
125-
CACHE_POPULATE_DEFINITION,
126-
ENTITY_CACHE_DEFINITION,
127-
REQUEST_SCOPED_DEFINITION,
126+
OPENFED_CACHE_INVALIDATE_DEFINITION,
127+
OPENFED_CACHE_POPULATE_DEFINITION,
128+
OPENFED_ENTITY_CACHE_DEFINITION,
129+
OPENFED_IS_DEFINITION,
130+
OPENFED_QUERY_CACHE_DEFINITION,
131+
OPENFED_REQUEST_SCOPED_DEFINITION,
128132
SPECIFIED_BY_DEFINITION,
129133
SUBSCRIPTION_FILTER_DEFINITION,
130134
TAG_DEFINITION,
@@ -968,7 +972,7 @@ export const ENTITY_CACHE_DEFINITION_DATA = newDirectiveDefinitionData({
968972
[
969973
MAX_AGE,
970974
newDirectiveArgumentData({
971-
directive: `@${ENTITY_CACHE}`,
975+
directive: `@${OPENFED_ENTITY_CACHE}`,
972976
name: MAX_AGE,
973977
namedTypeKind: Kind.SCALAR_TYPE_DEFINITION,
974978
typeNode: REQUIRED_INT_TYPE_NODE,
@@ -977,7 +981,7 @@ export const ENTITY_CACHE_DEFINITION_DATA = newDirectiveDefinitionData({
977981
[
978982
NEGATIVE_CACHE_TTL,
979983
newDirectiveArgumentData({
980-
directive: `@${ENTITY_CACHE}`,
984+
directive: `@${OPENFED_ENTITY_CACHE}`,
981985
defaultValue: { kind: Kind.INT, value: '0' },
982986
name: NEGATIVE_CACHE_TTL,
983987
namedTypeKind: Kind.SCALAR_TYPE_DEFINITION,
@@ -987,7 +991,7 @@ export const ENTITY_CACHE_DEFINITION_DATA = newDirectiveDefinitionData({
987991
[
988992
INCLUDE_HEADERS,
989993
newDirectiveArgumentData({
990-
directive: `@${ENTITY_CACHE}`,
994+
directive: `@${OPENFED_ENTITY_CACHE}`,
991995
defaultValue: { kind: Kind.BOOLEAN, value: false },
992996
name: INCLUDE_HEADERS,
993997
namedTypeKind: Kind.SCALAR_TYPE_DEFINITION,
@@ -997,7 +1001,7 @@ export const ENTITY_CACHE_DEFINITION_DATA = newDirectiveDefinitionData({
9971001
[
9981002
PARTIAL_CACHE_LOAD,
9991003
newDirectiveArgumentData({
1000-
directive: `@${ENTITY_CACHE}`,
1004+
directive: `@${OPENFED_ENTITY_CACHE}`,
10011005
defaultValue: { kind: Kind.BOOLEAN, value: false },
10021006
name: PARTIAL_CACHE_LOAD,
10031007
namedTypeKind: Kind.SCALAR_TYPE_DEFINITION,
@@ -1007,7 +1011,7 @@ export const ENTITY_CACHE_DEFINITION_DATA = newDirectiveDefinitionData({
10071011
[
10081012
SHADOW_MODE,
10091013
newDirectiveArgumentData({
1010-
directive: `@${ENTITY_CACHE}`,
1014+
directive: `@${OPENFED_ENTITY_CACHE}`,
10111015
defaultValue: { kind: Kind.BOOLEAN, value: false },
10121016
name: SHADOW_MODE,
10131017
namedTypeKind: Kind.SCALAR_TYPE_DEFINITION,
@@ -1016,51 +1020,108 @@ export const ENTITY_CACHE_DEFINITION_DATA = newDirectiveDefinitionData({
10161020
],
10171021
]),
10181022
locations: new Set<DirectiveLocation>([OBJECT_UPPER]),
1019-
name: ENTITY_CACHE,
1020-
node: ENTITY_CACHE_DEFINITION,
1023+
name: OPENFED_ENTITY_CACHE,
1024+
node: OPENFED_ENTITY_CACHE_DEFINITION,
10211025
optionalArgumentNames: new Set<ArgumentName>([NEGATIVE_CACHE_TTL, INCLUDE_HEADERS, PARTIAL_CACHE_LOAD, SHADOW_MODE]),
10221026
requiredArgumentNames: new Set<ArgumentName>([MAX_AGE]),
10231027
});
10241028

10251029
export const CACHE_INVALIDATE_DEFINITION_DATA = newDirectiveDefinitionData({
10261030
argumentDataByName: new Map<ArgumentName, DirectiveArgumentData>(),
10271031
locations: new Set<DirectiveLocation>([FIELD_DEFINITION_UPPER]),
1028-
name: CACHE_INVALIDATE,
1029-
node: CACHE_INVALIDATE_DEFINITION,
1032+
name: OPENFED_CACHE_INVALIDATE,
1033+
node: OPENFED_CACHE_INVALIDATE_DEFINITION,
10301034
});
10311035

10321036
export const CACHE_POPULATE_DEFINITION_DATA = newDirectiveDefinitionData({
10331037
argumentDataByName: new Map<ArgumentName, DirectiveArgumentData>([
10341038
[
10351039
MAX_AGE,
10361040
newDirectiveArgumentData({
1037-
directive: `@${CACHE_POPULATE}`,
1041+
directive: `@${OPENFED_CACHE_POPULATE}`,
10381042
name: MAX_AGE,
10391043
namedTypeKind: Kind.SCALAR_TYPE_DEFINITION,
10401044
typeNode: stringToNamedTypeNode(INT_SCALAR),
10411045
}),
10421046
],
10431047
]),
10441048
locations: new Set<DirectiveLocation>([FIELD_DEFINITION_UPPER]),
1045-
name: CACHE_POPULATE,
1046-
node: CACHE_POPULATE_DEFINITION,
1049+
name: OPENFED_CACHE_POPULATE,
1050+
node: OPENFED_CACHE_POPULATE_DEFINITION,
10471051
optionalArgumentNames: new Set<ArgumentName>([MAX_AGE]),
10481052
});
1053+
1054+
export const QUERY_CACHE_DEFINITION_DATA = newDirectiveDefinitionData({
1055+
argumentDataByName: new Map<ArgumentName, DirectiveArgumentData>([
1056+
[
1057+
MAX_AGE,
1058+
newDirectiveArgumentData({
1059+
directive: `@${OPENFED_QUERY_CACHE}`,
1060+
name: MAX_AGE,
1061+
namedTypeKind: Kind.SCALAR_TYPE_DEFINITION,
1062+
typeNode: REQUIRED_INT_TYPE_NODE,
1063+
}),
1064+
],
1065+
[
1066+
INCLUDE_HEADERS,
1067+
newDirectiveArgumentData({
1068+
directive: `@${OPENFED_QUERY_CACHE}`,
1069+
defaultValue: { kind: Kind.BOOLEAN, value: false },
1070+
name: INCLUDE_HEADERS,
1071+
namedTypeKind: Kind.SCALAR_TYPE_DEFINITION,
1072+
typeNode: stringToNamedTypeNode(BOOLEAN_SCALAR),
1073+
}),
1074+
],
1075+
[
1076+
SHADOW_MODE,
1077+
newDirectiveArgumentData({
1078+
directive: `@${OPENFED_QUERY_CACHE}`,
1079+
defaultValue: { kind: Kind.BOOLEAN, value: false },
1080+
name: SHADOW_MODE,
1081+
namedTypeKind: Kind.SCALAR_TYPE_DEFINITION,
1082+
typeNode: stringToNamedTypeNode(BOOLEAN_SCALAR),
1083+
}),
1084+
],
1085+
]),
1086+
locations: new Set<DirectiveLocation>([FIELD_DEFINITION_UPPER]),
1087+
name: OPENFED_QUERY_CACHE,
1088+
node: OPENFED_QUERY_CACHE_DEFINITION,
1089+
optionalArgumentNames: new Set<ArgumentName>([INCLUDE_HEADERS, SHADOW_MODE]),
1090+
requiredArgumentNames: new Set<ArgumentName>([MAX_AGE]),
1091+
});
1092+
1093+
export const IS_DEFINITION_DATA = newDirectiveDefinitionData({
1094+
argumentDataByName: new Map<ArgumentName, DirectiveArgumentData>([
1095+
[
1096+
FIELDS,
1097+
newDirectiveArgumentData({
1098+
directive: `@${OPENFED_IS}`,
1099+
name: FIELDS,
1100+
namedTypeKind: Kind.SCALAR_TYPE_DEFINITION,
1101+
typeNode: REQUIRED_STRING_TYPE_NODE,
1102+
}),
1103+
],
1104+
]),
1105+
locations: new Set<DirectiveLocation>([ARGUMENT_DEFINITION_UPPER]),
1106+
name: OPENFED_IS,
1107+
node: OPENFED_IS_DEFINITION,
1108+
requiredArgumentNames: new Set<ArgumentName>([FIELDS]),
1109+
});
1110+
10491111
export const REQUEST_SCOPED_DEFINITION_DATA = newDirectiveDefinitionData({
10501112
argumentDataByName: new Map<ArgumentName, DirectiveArgumentData>([
10511113
[
10521114
KEY,
10531115
newDirectiveArgumentData({
1054-
directive: `@${REQUEST_SCOPED}`,
1116+
directive: `@${OPENFED_REQUEST_SCOPED}`,
10551117
name: KEY,
10561118
namedTypeKind: Kind.SCALAR_TYPE_DEFINITION,
10571119
typeNode: REQUIRED_STRING_TYPE_NODE,
10581120
}),
10591121
],
10601122
]),
10611123
locations: new Set<DirectiveLocation>([FIELD_DEFINITION_UPPER]),
1062-
name: REQUEST_SCOPED,
1063-
node: REQUEST_SCOPED_DEFINITION,
1124+
name: OPENFED_REQUEST_SCOPED,
1125+
node: OPENFED_REQUEST_SCOPED_DEFINITION,
10641126
requiredArgumentNames: new Set<ArgumentName>([KEY]),
10651127
});
1066-

0 commit comments

Comments
 (0)