@graphql-box/cache-manager 3.1.2 → 3.2.0

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.
Files changed (52) hide show
  1. package/lib/browser/index.js +1 -1
  2. package/lib/browser/index.js.map +1 -1
  3. package/lib/browser/production.analysis.txt +38 -50
  4. package/lib/main/helpers/createFragmentSpreadChecklist.js +10 -15
  5. package/lib/main/helpers/createFragmentSpreadChecklist.js.map +1 -1
  6. package/lib/main/helpers/filterField.js +1 -3
  7. package/lib/main/helpers/filterField.js.map +1 -1
  8. package/lib/main/helpers/filterFragmentDefinitions.js +3 -3
  9. package/lib/main/helpers/filterFragmentDefinitions.js.map +1 -1
  10. package/lib/main/helpers/filterOutPropsWithArgsOrDirectives.js +1 -3
  11. package/lib/main/helpers/filterOutPropsWithArgsOrDirectives.js.map +1 -1
  12. package/lib/main/helpers/filterQuery.js +2 -4
  13. package/lib/main/helpers/filterQuery.js.map +1 -1
  14. package/lib/main/main/index.js +9 -7
  15. package/lib/main/main/index.js.map +1 -1
  16. package/lib/module/helpers/createFragmentSpreadChecklist.js +10 -14
  17. package/lib/module/helpers/createFragmentSpreadChecklist.js.map +1 -1
  18. package/lib/module/helpers/filterField.js +1 -2
  19. package/lib/module/helpers/filterField.js.map +1 -1
  20. package/lib/module/helpers/filterFragmentDefinitions.js +4 -4
  21. package/lib/module/helpers/filterFragmentDefinitions.js.map +1 -1
  22. package/lib/module/helpers/filterOutPropsWithArgsOrDirectives.js +1 -2
  23. package/lib/module/helpers/filterOutPropsWithArgsOrDirectives.js.map +1 -1
  24. package/lib/module/helpers/filterQuery.js +2 -3
  25. package/lib/module/helpers/filterQuery.js.map +1 -1
  26. package/lib/module/main/index.js +6 -3
  27. package/lib/module/main/index.js.map +1 -1
  28. package/lib/types/defs/index.d.ts +3 -16
  29. package/lib/types/defs/index.d.ts.map +1 -1
  30. package/lib/types/helpers/createFragmentSpreadChecklist.d.ts +2 -1
  31. package/lib/types/helpers/createFragmentSpreadChecklist.d.ts.map +1 -1
  32. package/lib/types/helpers/filterField.d.ts.map +1 -1
  33. package/lib/types/helpers/filterOutPropsWithArgsOrDirectives.d.ts +2 -1
  34. package/lib/types/helpers/filterOutPropsWithArgsOrDirectives.d.ts.map +1 -1
  35. package/lib/types/helpers/filterQuery.d.ts.map +1 -1
  36. package/lib/types/main/index.d.ts +3 -2
  37. package/lib/types/main/index.d.ts.map +1 -1
  38. package/package.json +1 -1
  39. package/src/defs/index.ts +8 -17
  40. package/src/helpers/createFragmentSpreadChecklist.ts +3 -3
  41. package/src/helpers/filterField.ts +8 -2
  42. package/src/helpers/filterFragmentDefinitions.ts +2 -2
  43. package/src/helpers/filterOutPropsWithArgsOrDirectives.ts +2 -3
  44. package/src/helpers/filterQuery.ts +7 -3
  45. package/src/main/index.ts +13 -4
  46. package/lib/main/helpers/buildKeysAndPaths.js +0 -73
  47. package/lib/main/helpers/buildKeysAndPaths.js.map +0 -1
  48. package/lib/module/helpers/buildKeysAndPaths.js +0 -54
  49. package/lib/module/helpers/buildKeysAndPaths.js.map +0 -1
  50. package/lib/types/helpers/buildKeysAndPaths.d.ts +0 -10
  51. package/lib/types/helpers/buildKeysAndPaths.d.ts.map +0 -1
  52. package/src/helpers/buildKeysAndPaths.ts +0 -71
@@ -1,23 +1,23 @@
1
1
  -----------------------------
2
2
  Rollup File Analysis
3
3
  -----------------------------
4
- bundle size: 93.189 KB
5
- original size: 64.831 KB
4
+ bundle size: 91.643 KB
5
+ original size: 62.603 KB
6
6
  code reduction: 0 %
7
- module count: 25
7
+ module count: 24
8
8
 
9
- ██████████████████████████████████░░░░░░░░░░░░░░░░
9
+ ███████████████████████████████████░░░░░░░░░░░░░░░
10
10
  file: /src/main/index.ts
11
- bundle space: 69.72 %
12
- rendered size: 64.975 KB
13
- original size: 37.778 KB
11
+ bundle space: 71.96 %
12
+ rendered size: 65.946 KB
13
+ original size: 38.051 KB
14
14
  code reduction: 0 %
15
15
  dependents: 1
16
16
  - /src/index.ts
17
17
 
18
18
  ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
19
19
  file: /src/debug/log-cache-query/index.ts
20
- bundle space: 4.12 %
20
+ bundle space: 4.19 %
21
21
  rendered size: 3.839 KB
22
22
  original size: 1.282 KB
23
23
  code reduction: 0 %
@@ -26,7 +26,7 @@ dependents: 1
26
26
 
27
27
  █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
28
28
  file: /src/debug/log-cache-entry/index.ts
29
- bundle space: 3.7 %
29
+ bundle space: 3.77 %
30
30
  rendered size: 3.451 KB
31
31
  original size: 1.197 KB
32
32
  code reduction: 0 %
@@ -35,7 +35,7 @@ dependents: 1
35
35
 
36
36
  █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
37
37
  file: /src/debug/log-partial-compiled/index.ts
38
- bundle space: 3.62 %
38
+ bundle space: 3.68 %
39
39
  rendered size: 3.37 KB
40
40
  original size: 1.161 KB
41
41
  code reduction: 0 %
@@ -44,29 +44,17 @@ dependents: 1
44
44
 
45
45
  █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
46
46
  file: /src/helpers/filterField.ts
47
- bundle space: 3.04 %
47
+ bundle space: 3.09 %
48
48
  rendered size: 2.834 KB
49
- original size: 2.965 KB
50
- code reduction: 4.42 %
49
+ original size: 2.94 KB
50
+ code reduction: 3.61 %
51
51
  dependents: 2
52
52
  - /src/helpers/filterFragmentDefinitions.ts
53
53
  - /src/helpers/filterQuery.ts
54
54
 
55
- █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
56
- file: /src/helpers/buildKeysAndPaths.ts
57
- bundle space: 2.64 %
58
- rendered size: 2.461 KB
59
- original size: 2.196 KB
60
- code reduction: 0 %
61
- dependents: 4
62
- - /src/helpers/filterOutPropsWithArgsOrDirectives.ts
63
- - /src/helpers/filterField.ts
64
- - /src/helpers/filterQuery.ts
65
- - /src/main/index.ts
66
-
67
55
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
68
56
  file: /src/helpers/mergeResponseDataSets.ts
69
- bundle space: 1.84 %
57
+ bundle space: 1.87 %
70
58
  rendered size: 1.716 KB
71
59
  original size: 907 Bytes
72
60
  code reduction: 0 %
@@ -75,16 +63,16 @@ dependents: 1
75
63
 
76
64
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
77
65
  file: /src/helpers/filterFragmentDefinitions.ts
78
- bundle space: 1.61 %
79
- rendered size: 1.499 KB
80
- original size: 1.558 KB
81
- code reduction: 3.79 %
66
+ bundle space: 1.6 %
67
+ rendered size: 1.462 KB
68
+ original size: 1.517 KB
69
+ code reduction: 3.63 %
82
70
  dependents: 1
83
71
  - /src/helpers/filterQuery.ts
84
72
 
85
73
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
86
74
  file: /src/helpers/normalizePatchResponseData.ts
87
- bundle space: 1.4 %
75
+ bundle space: 1.43 %
88
76
  rendered size: 1.309 KB
89
77
  original size: 478 Bytes
90
78
  code reduction: 0 %
@@ -93,16 +81,16 @@ dependents: 1
93
81
 
94
82
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
95
83
  file: /src/helpers/filterQuery.ts
96
- bundle space: 1.19 %
97
- rendered size: 1.108 KB
98
- original size: 1.51 KB
99
- code reduction: 26.62 %
84
+ bundle space: 1.22 %
85
+ rendered size: 1.117 KB
86
+ original size: 1.49 KB
87
+ code reduction: 25.03 %
100
88
  dependents: 1
101
89
  - /src/main/index.ts
102
90
 
103
91
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
104
92
  file: /src/helpers/filterIDsAndTypeNames.ts
105
- bundle space: 1.07 %
93
+ bundle space: 1.09 %
106
94
  rendered size: 998 Bytes
107
95
  original size: 1.165 KB
108
96
  code reduction: 14.33 %
@@ -111,7 +99,7 @@ dependents: 1
111
99
 
112
100
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
113
101
  file: /src/helpers/checkFieldPathChecklist.ts
114
- bundle space: 1.03 %
102
+ bundle space: 1.04 %
115
103
  rendered size: 957 Bytes
116
104
  original size: 828 Bytes
117
105
  code reduction: 0 %
@@ -120,16 +108,16 @@ dependents: 1
120
108
 
121
109
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
122
110
  file: /src/helpers/filterOutPropsWithArgsOrDirectives.ts
123
- bundle space: 0.99 %
111
+ bundle space: 1.01 %
124
112
  rendered size: 927 Bytes
125
- original size: 1.119 KB
126
- code reduction: 17.16 %
113
+ original size: 1.081 KB
114
+ code reduction: 14.25 %
127
115
  dependents: 1
128
116
  - /src/main/index.ts
129
117
 
130
118
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
131
119
  file: /src/helpers/filterInlineFragments.ts
132
- bundle space: 0.85 %
120
+ bundle space: 0.86 %
133
121
  rendered size: 788 Bytes
134
122
  original size: 999 Bytes
135
123
  code reduction: 21.12 %
@@ -138,7 +126,7 @@ dependents: 1
138
126
 
139
127
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
140
128
  file: /src/helpers/deriveOpCacheability.ts
141
- bundle space: 0.84 %
129
+ bundle space: 0.86 %
142
130
  rendered size: 786 Bytes
143
131
  original size: 858 Bytes
144
132
  code reduction: 8.39 %
@@ -147,7 +135,7 @@ dependents: 1
147
135
 
148
136
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
149
137
  file: /src/helpers/filterFragmentSpreads.ts
150
- bundle space: 0.66 %
138
+ bundle space: 0.67 %
151
139
  rendered size: 616 Bytes
152
140
  original size: 942 Bytes
153
141
  code reduction: 34.61 %
@@ -156,10 +144,10 @@ dependents: 1
156
144
 
157
145
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
158
146
  file: /src/helpers/createFragmentSpreadChecklist.ts
159
- bundle space: 0.52 %
160
- rendered size: 485 Bytes
161
- original size: 555 Bytes
162
- code reduction: 12.61 %
147
+ bundle space: 0.5 %
148
+ rendered size: 457 Bytes
149
+ original size: 572 Bytes
150
+ code reduction: 20.1 %
163
151
  dependents: 1
164
152
  - /src/helpers/filterQuery.ts
165
153
 
@@ -179,7 +167,7 @@ dependents: 6
179
167
 
180
168
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
181
169
  file: /src/helpers/validTypeIDValue.ts
182
- bundle space: 0.33 %
170
+ bundle space: 0.34 %
183
171
  rendered size: 309 Bytes
184
172
  original size: 426 Bytes
185
173
  code reduction: 27.46 %
@@ -206,7 +194,7 @@ dependents: 1
206
194
 
207
195
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
208
196
  file: /src/helpers/isNotLastResponseChunk.ts
209
- bundle space: 0.14 %
197
+ bundle space: 0.15 %
210
198
  rendered size: 133 Bytes
211
199
  original size: 278 Bytes
212
200
  code reduction: 52.16 %
@@ -217,7 +205,7 @@ dependents: 1
217
205
  file: /src/defs/index.ts
218
206
  bundle space: 0 %
219
207
  rendered size: 0 Byte
220
- original size: 5.249 KB
208
+ original size: 5.051 KB
221
209
  code reduction: 100 %
222
210
  dependents: 1
223
211
  - /src/index.ts
@@ -9,23 +9,18 @@ exports.default = void 0;
9
9
 
10
10
  var _keys2 = _interopRequireDefault(require("lodash/keys"));
11
11
 
12
- var _helpers = require("@graphql-box/helpers");
13
-
14
12
  var _default = ({
15
- ast,
16
13
  request
17
- }) => {
18
- var _getFragmentDefinitio;
19
-
20
- return (0, _keys2.default)((_getFragmentDefinitio = (0, _helpers.getFragmentDefinitions)(ast)) !== null && _getFragmentDefinitio !== void 0 ? _getFragmentDefinitio : {}).reduce((acc, name) => {
21
- acc[name] = {
22
- deleted: 0,
23
- paths: [],
24
- total: (request.match(new RegExp(`\\.\\.\\.${name}`, "g")) || []).length
25
- };
26
- return acc;
27
- }, {});
28
- };
14
+ }, {
15
+ fragmentDefinitions
16
+ }) => (0, _keys2.default)(fragmentDefinitions !== null && fragmentDefinitions !== void 0 ? fragmentDefinitions : {}).reduce((acc, name) => {
17
+ acc[name] = {
18
+ deleted: 0,
19
+ paths: [],
20
+ total: (request.match(new RegExp(`\\.\\.\\.${name}`, "g")) || []).length
21
+ };
22
+ return acc;
23
+ }, {});
29
24
 
30
25
  exports.default = _default;
31
26
  //# sourceMappingURL=createFragmentSpreadChecklist.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/createFragmentSpreadChecklist.ts"],"names":["ast","request","reduce","acc","name","deleted","paths","total","match","RegExp","length"],"mappings":";;;;;;;;;;;AACA;;eAWe,CAAC;AAAEA,EAAAA,GAAF;AAAOC,EAAAA;AAAP,CAAD;AAAA;;AAAA,SACb,6CAAK,qCAAuBD,GAAvB,CAAL,yEAAoC,EAApC,EAAwCE,MAAxC,CAA+C,CAACC,GAAD,EAA8BC,IAA9B,KAAuC;AACpFD,IAAAA,GAAG,CAACC,IAAD,CAAH,GAAY;AAAEC,MAAAA,OAAO,EAAE,CAAX;AAAcC,MAAAA,KAAK,EAAE,EAArB;AAAyBC,MAAAA,KAAK,EAAE,CAACN,OAAO,CAACO,KAAR,CAAc,IAAIC,MAAJ,CAAY,YAAWL,IAAK,EAA5B,EAA+B,GAA/B,CAAd,KAAsD,EAAvD,EAA2DM;AAA3F,KAAZ;AACA,WAAOP,GAAP;AACD,GAHD,EAGG,EAHH,CADa;AAAA,C","sourcesContent":["import { RequestData } from \"@graphql-box/core\";\nimport { getFragmentDefinitions } from \"@graphql-box/helpers\";\nimport { keys } from \"lodash\";\n\nexport type FragmentSpreadCheckist = {\n [key: string]: {\n deleted: number;\n paths: string[];\n total: number;\n };\n};\n\nexport default ({ ast, request }: RequestData) =>\n keys(getFragmentDefinitions(ast) ?? {}).reduce((acc: FragmentSpreadCheckist, name) => {\n acc[name] = { deleted: 0, paths: [], total: (request.match(new RegExp(`\\\\.\\\\.\\\\.${name}`, \"g\")) || []).length };\n return acc;\n }, {});\n"],"file":"createFragmentSpreadChecklist.js"}
1
+ {"version":3,"sources":["../../../src/helpers/createFragmentSpreadChecklist.ts"],"names":["request","fragmentDefinitions","reduce","acc","name","deleted","paths","total","match","RegExp","length"],"mappings":";;;;;;;;;;;eAYe,CAAC;AAAEA,EAAAA;AAAF,CAAD,EAA2B;AAAEC,EAAAA;AAAF,CAA3B,KACb,oBAAKA,mBAAL,aAAKA,mBAAL,cAAKA,mBAAL,GAA4B,EAA5B,EAAgCC,MAAhC,CAAuC,CAACC,GAAD,EAA8BC,IAA9B,KAAuC;AAC5ED,EAAAA,GAAG,CAACC,IAAD,CAAH,GAAY;AAAEC,IAAAA,OAAO,EAAE,CAAX;AAAcC,IAAAA,KAAK,EAAE,EAArB;AAAyBC,IAAAA,KAAK,EAAE,CAACP,OAAO,CAACQ,KAAR,CAAc,IAAIC,MAAJ,CAAY,YAAWL,IAAK,EAA5B,EAA+B,GAA/B,CAAd,KAAsD,EAAvD,EAA2DM;AAA3F,GAAZ;AACA,SAAOP,GAAP;AACD,CAHD,EAGG,EAHH,C","sourcesContent":["import { RequestData } from \"@graphql-box/core\";\nimport { keys } from \"lodash\";\nimport { CacheManagerContext } from \"../defs\";\n\nexport type FragmentSpreadCheckist = {\n [key: string]: {\n deleted: number;\n paths: string[];\n total: number;\n };\n};\n\nexport default ({ request }: RequestData, { fragmentDefinitions }: CacheManagerContext) =>\n keys(fragmentDefinitions ?? {}).reduce((acc: FragmentSpreadCheckist, name) => {\n acc[name] = { deleted: 0, paths: [], total: (request.match(new RegExp(`\\\\.\\\\.\\\\.${name}`, \"g\")) || []).length };\n return acc;\n }, {});\n"],"file":"createFragmentSpreadChecklist.js"}
@@ -11,8 +11,6 @@ var _core = require("@graphql-box/core");
11
11
 
12
12
  var _helpers = require("@graphql-box/helpers");
13
13
 
14
- var _buildKeysAndPaths = require("./buildKeysAndPaths");
15
-
16
14
  var _checkFieldPathChecklist = _interopRequireDefault(require("./checkFieldPathChecklist"));
17
15
 
18
16
  var _filterFragmentSpreads = _interopRequireDefault(require("./filterFragmentSpreads"));
@@ -63,7 +61,7 @@ const filterField = (field, fieldPathChecklist, fragmentSpreadChecklist, ancesto
63
61
 
64
62
  const {
65
63
  requestFieldPath
66
- } = (0, _buildKeysAndPaths.buildFieldKeysAndPaths)(childField, {
64
+ } = (0, _helpers.buildFieldKeysAndPaths)(childField, {
67
65
  requestFieldPath: ancestorRequestFieldPath
68
66
  }, context);
69
67
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/filterField.ts"],"names":["filterField","field","fieldPathChecklist","fragmentSpreadChecklist","ancestorRequestFieldPath","context","fragmentDefinitions","typeIDKey","fieldsAndTypeNames","fragmentSpreadFieldCounter","i","length","fieldNode","childField","fragmentKind","fragmentName","typeName","childTypeName","FRAGMENT_SPREAD","hasData","total","childFieldName","TYPE_NAME_KEY","requestFieldPath","typeUnused","get"],"mappings":";;;;;;;;;AAAA;;AACA;;AAGA;;AACA;;AAEA;;AACA;;AACA;;AAEA,MAAMA,WAAW,GAAG,CAClBC,KADkB,EAElBC,kBAFkB,EAGlBC,uBAHkB,EAIlBC,wBAJkB,EAKlBC,OALkB,KAMN;AACZ,QAAM;AAAEC,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MAAqCF,OAA3C;AACA,QAAMG,kBAAkB,GAAG,6BAAeP,KAAf,EAAsB;AAAEK,IAAAA;AAAF,GAAtB,CAA3B;;AAEA,MAAI,CAACE,kBAAL,EAAyB;AACvB,WAAO,KAAP;AACD;;AAED,QAAMC,0BAAsD,GAAG,EAA/D;;AAEA,OAAK,IAAIC,CAAC,GAAGF,kBAAkB,CAACG,MAAnB,GAA4B,CAAzC,EAA4CD,CAAC,IAAI,CAAjD,EAAoDA,CAAC,IAAI,CAAzD,EAA4D;AAC1D,UAAM;AAAEE,MAAAA,SAAS,EAAEC,UAAb;AAAyBC,MAAAA,YAAzB;AAAuCC,MAAAA,YAAvC;AAAqDC,MAAAA,QAAQ,EAAEC;AAA/D,QAAiFT,kBAAkB,CAACE,CAAD,CAAzG;;AAEA,QAAII,YAAY,KAAKI,wBAAjB,IAAoCH,YAApC,IAAoD,CAACN,0BAA0B,CAACM,YAAD,CAAnF,EAAmG;AAAA;;AACjGN,MAAAA,0BAA0B,CAACM,YAAD,CAA1B,GAA2C;AACzCI,QAAAA,OAAO,EAAE,CADgC;AAEzCC,QAAAA,KAAK,EAAEd,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,IAAAA,mBAAmB,CAAGS,YAAH,CAAnB,+CACH,6BAAeT,mBAAf,aAAeA,mBAAf,uBAAeA,mBAAmB,CAAGS,YAAH,CAAlC,EAAoD;AAAET,UAAAA;AAAF,SAApD,CADG,oDACH,gBAA8EK,MAD3E,yEACqF,CADrF,GAEH;AAJqC,OAA3C;AAMD;;AAED,UAAMU,cAAc,GAAG,sBAAQR,UAAR,CAAvB;;AAEA,QAAIQ,cAAc,KAAKd,SAAnB,IAAgCc,cAAc,KAAKC,mBAAvD,EAAsE;AACpE;AACD;;AAED,UAAM;AAAEC,MAAAA;AAAF,QAAuB,+CAC3BV,UAD2B,EAE3B;AACEU,MAAAA,gBAAgB,EAAEnB;AADpB,KAF2B,EAK3BC,OAL2B,CAA7B;AAQA,UAAM;AAAEc,MAAAA,OAAF;AAAWK,MAAAA;AAAX,QAA0B,sCAAwBtB,kBAAkB,CAACuB,GAAnB,CAAuBF,gBAAvB,CAAxB,EAAkEN,aAAlE,CAAhC;;AAEA,QAAIE,OAAO,IAAIK,UAAf,EAA2B;AACzB,UAAIV,YAAY,KAAKI,wBAArB,EAAsC;AACpCT,QAAAA,0BAA0B,CAACM,YAAD,CAA1B,CAAmDI,OAAnD,IAA8D,CAA9D;AACD,OAFD,MAEO,IAAI,CAAC,6BAAeN,UAAf,EAA2B;AAAEP,QAAAA;AAAF,OAA3B,CAAL,EAA0D;AAC/D,wCAAkBL,KAAlB,EAAyBY,UAAzB;AACD,OAFM,MAEA,IAAIb,WAAW,CAACa,UAAD,EAAaX,kBAAb,EAAiCC,uBAAjC,EAA0DoB,gBAA1D,EAA4ElB,OAA5E,CAAf,EAAqG;AAC1G,wCAAkBJ,KAAlB,EAAyBY,UAAzB;AACD;AACF;AACF;;AAED,sCAAsBZ,KAAtB,EAA6BQ,0BAA7B,EAAyDN,uBAAzD,EAAkFC,wBAAlF;AACA,sCAAsBH,KAAtB,EAA6BI,OAA7B;AACA,sCAAsBJ,KAAtB,EAA6BI,OAA7B;AACA,SAAO,CAAC,6BAAeJ,KAAf,EAAsB;AAAEK,IAAAA;AAAF,GAAtB,CAAR;AACD,CA3DD;;eA6DeN,W","sourcesContent":["import { TYPE_NAME_KEY } from \"@graphql-box/core\";\nimport { FRAGMENT_SPREAD, deleteChildFields, getChildFields, getName, hasChildFields } from \"@graphql-box/helpers\";\nimport { FieldNode, FragmentDefinitionNode, OperationDefinitionNode } from \"graphql\";\nimport { CacheManagerContext, FieldPathChecklist, FragmentSpreadFieldCounter } from \"../defs\";\nimport { buildFieldKeysAndPaths } from \"./buildKeysAndPaths\";\nimport checkFieldPathChecklist from \"./checkFieldPathChecklist\";\nimport { FragmentSpreadCheckist } from \"./createFragmentSpreadChecklist\";\nimport filterFragmentSpreads from \"./filterFragmentSpreads\";\nimport filterIDsAndTypeNames from \"./filterIDsAndTypeNames\";\nimport filterInlineFragments from \"./filterInlineFragments\";\n\nconst filterField = (\n field: FieldNode | FragmentDefinitionNode | OperationDefinitionNode,\n fieldPathChecklist: FieldPathChecklist,\n fragmentSpreadChecklist: FragmentSpreadCheckist,\n ancestorRequestFieldPath: string,\n context: CacheManagerContext,\n): boolean => {\n const { fragmentDefinitions, typeIDKey } = context;\n const fieldsAndTypeNames = getChildFields(field, { fragmentDefinitions });\n\n if (!fieldsAndTypeNames) {\n return false;\n }\n\n const fragmentSpreadFieldCounter: FragmentSpreadFieldCounter = {};\n\n for (let i = fieldsAndTypeNames.length - 1; i >= 0; i -= 1) {\n const { fieldNode: childField, fragmentKind, fragmentName, typeName: childTypeName } = fieldsAndTypeNames[i];\n\n if (fragmentKind === FRAGMENT_SPREAD && fragmentName && !fragmentSpreadFieldCounter[fragmentName]) {\n fragmentSpreadFieldCounter[fragmentName] = {\n hasData: 0,\n total: fragmentDefinitions?.[fragmentName]\n ? getChildFields(fragmentDefinitions?.[fragmentName], { fragmentDefinitions })?.length ?? 0\n : 0,\n };\n }\n\n const childFieldName = getName(childField);\n\n if (childFieldName === typeIDKey || childFieldName === TYPE_NAME_KEY) {\n continue;\n }\n\n const { requestFieldPath } = buildFieldKeysAndPaths(\n childField,\n {\n requestFieldPath: ancestorRequestFieldPath,\n },\n context,\n );\n\n const { hasData, typeUnused } = checkFieldPathChecklist(fieldPathChecklist.get(requestFieldPath), childTypeName);\n\n if (hasData || typeUnused) {\n if (fragmentKind === FRAGMENT_SPREAD) {\n fragmentSpreadFieldCounter[fragmentName as string].hasData += 1;\n } else if (!hasChildFields(childField, { fragmentDefinitions })) {\n deleteChildFields(field, childField);\n } else if (filterField(childField, fieldPathChecklist, fragmentSpreadChecklist, requestFieldPath, context)) {\n deleteChildFields(field, childField);\n }\n }\n }\n\n filterFragmentSpreads(field, fragmentSpreadFieldCounter, fragmentSpreadChecklist, ancestorRequestFieldPath);\n filterInlineFragments(field, context);\n filterIDsAndTypeNames(field, context);\n return !hasChildFields(field, { fragmentDefinitions });\n};\n\nexport default filterField;\n"],"file":"filterField.js"}
1
+ {"version":3,"sources":["../../../src/helpers/filterField.ts"],"names":["filterField","field","fieldPathChecklist","fragmentSpreadChecklist","ancestorRequestFieldPath","context","fragmentDefinitions","typeIDKey","fieldsAndTypeNames","fragmentSpreadFieldCounter","i","length","fieldNode","childField","fragmentKind","fragmentName","typeName","childTypeName","FRAGMENT_SPREAD","hasData","total","childFieldName","TYPE_NAME_KEY","requestFieldPath","typeUnused","get"],"mappings":";;;;;;;;;AAAA;;AACA;;AAUA;;AAEA;;AACA;;AACA;;AAEA,MAAMA,WAAW,GAAG,CAClBC,KADkB,EAElBC,kBAFkB,EAGlBC,uBAHkB,EAIlBC,wBAJkB,EAKlBC,OALkB,KAMN;AACZ,QAAM;AAAEC,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MAAqCF,OAA3C;AACA,QAAMG,kBAAkB,GAAG,6BAAeP,KAAf,EAAsB;AAAEK,IAAAA;AAAF,GAAtB,CAA3B;;AAEA,MAAI,CAACE,kBAAL,EAAyB;AACvB,WAAO,KAAP;AACD;;AAED,QAAMC,0BAAsD,GAAG,EAA/D;;AAEA,OAAK,IAAIC,CAAC,GAAGF,kBAAkB,CAACG,MAAnB,GAA4B,CAAzC,EAA4CD,CAAC,IAAI,CAAjD,EAAoDA,CAAC,IAAI,CAAzD,EAA4D;AAC1D,UAAM;AAAEE,MAAAA,SAAS,EAAEC,UAAb;AAAyBC,MAAAA,YAAzB;AAAuCC,MAAAA,YAAvC;AAAqDC,MAAAA,QAAQ,EAAEC;AAA/D,QAAiFT,kBAAkB,CAACE,CAAD,CAAzG;;AAEA,QAAII,YAAY,KAAKI,wBAAjB,IAAoCH,YAApC,IAAoD,CAACN,0BAA0B,CAACM,YAAD,CAAnF,EAAmG;AAAA;;AACjGN,MAAAA,0BAA0B,CAACM,YAAD,CAA1B,GAA2C;AACzCI,QAAAA,OAAO,EAAE,CADgC;AAEzCC,QAAAA,KAAK,EAAEd,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,IAAAA,mBAAmB,CAAGS,YAAH,CAAnB,+CACH,6BAAeT,mBAAf,aAAeA,mBAAf,uBAAeA,mBAAmB,CAAGS,YAAH,CAAlC,EAAoD;AAAET,UAAAA;AAAF,SAApD,CADG,oDACH,gBAA8EK,MAD3E,yEACqF,CADrF,GAEH;AAJqC,OAA3C;AAMD;;AAED,UAAMU,cAAc,GAAG,sBAAQR,UAAR,CAAvB;;AAEA,QAAIQ,cAAc,KAAKd,SAAnB,IAAgCc,cAAc,KAAKC,mBAAvD,EAAsE;AACpE;AACD;;AAED,UAAM;AAAEC,MAAAA;AAAF,QAAuB,qCAC3BV,UAD2B,EAE3B;AACEU,MAAAA,gBAAgB,EAAEnB;AADpB,KAF2B,EAK3BC,OAL2B,CAA7B;AAQA,UAAM;AAAEc,MAAAA,OAAF;AAAWK,MAAAA;AAAX,QAA0B,sCAAwBtB,kBAAkB,CAACuB,GAAnB,CAAuBF,gBAAvB,CAAxB,EAAkEN,aAAlE,CAAhC;;AAEA,QAAIE,OAAO,IAAIK,UAAf,EAA2B;AACzB,UAAIV,YAAY,KAAKI,wBAArB,EAAsC;AACpCT,QAAAA,0BAA0B,CAACM,YAAD,CAA1B,CAAmDI,OAAnD,IAA8D,CAA9D;AACD,OAFD,MAEO,IAAI,CAAC,6BAAeN,UAAf,EAA2B;AAAEP,QAAAA;AAAF,OAA3B,CAAL,EAA0D;AAC/D,wCAAkBL,KAAlB,EAAyBY,UAAzB;AACD,OAFM,MAEA,IAAIb,WAAW,CAACa,UAAD,EAAaX,kBAAb,EAAiCC,uBAAjC,EAA0DoB,gBAA1D,EAA4ElB,OAA5E,CAAf,EAAqG;AAC1G,wCAAkBJ,KAAlB,EAAyBY,UAAzB;AACD;AACF;AACF;;AAED,sCAAsBZ,KAAtB,EAA6BQ,0BAA7B,EAAyDN,uBAAzD,EAAkFC,wBAAlF;AACA,sCAAsBH,KAAtB,EAA6BI,OAA7B;AACA,sCAAsBJ,KAAtB,EAA6BI,OAA7B;AACA,SAAO,CAAC,6BAAeJ,KAAf,EAAsB;AAAEK,IAAAA;AAAF,GAAtB,CAAR;AACD,CA3DD;;eA6DeN,W","sourcesContent":["import { TYPE_NAME_KEY } from \"@graphql-box/core\";\nimport {\n FRAGMENT_SPREAD,\n buildFieldKeysAndPaths,\n deleteChildFields,\n getChildFields,\n getName,\n hasChildFields,\n} from \"@graphql-box/helpers\";\nimport { FieldNode, FragmentDefinitionNode, OperationDefinitionNode } from \"graphql\";\nimport { CacheManagerContext, FieldPathChecklist, FragmentSpreadFieldCounter } from \"../defs\";\nimport checkFieldPathChecklist from \"./checkFieldPathChecklist\";\nimport { FragmentSpreadCheckist } from \"./createFragmentSpreadChecklist\";\nimport filterFragmentSpreads from \"./filterFragmentSpreads\";\nimport filterIDsAndTypeNames from \"./filterIDsAndTypeNames\";\nimport filterInlineFragments from \"./filterInlineFragments\";\n\nconst filterField = (\n field: FieldNode | FragmentDefinitionNode | OperationDefinitionNode,\n fieldPathChecklist: FieldPathChecklist,\n fragmentSpreadChecklist: FragmentSpreadCheckist,\n ancestorRequestFieldPath: string,\n context: CacheManagerContext,\n): boolean => {\n const { fragmentDefinitions, typeIDKey } = context;\n const fieldsAndTypeNames = getChildFields(field, { fragmentDefinitions });\n\n if (!fieldsAndTypeNames) {\n return false;\n }\n\n const fragmentSpreadFieldCounter: FragmentSpreadFieldCounter = {};\n\n for (let i = fieldsAndTypeNames.length - 1; i >= 0; i -= 1) {\n const { fieldNode: childField, fragmentKind, fragmentName, typeName: childTypeName } = fieldsAndTypeNames[i];\n\n if (fragmentKind === FRAGMENT_SPREAD && fragmentName && !fragmentSpreadFieldCounter[fragmentName]) {\n fragmentSpreadFieldCounter[fragmentName] = {\n hasData: 0,\n total: fragmentDefinitions?.[fragmentName]\n ? getChildFields(fragmentDefinitions?.[fragmentName], { fragmentDefinitions })?.length ?? 0\n : 0,\n };\n }\n\n const childFieldName = getName(childField);\n\n if (childFieldName === typeIDKey || childFieldName === TYPE_NAME_KEY) {\n continue;\n }\n\n const { requestFieldPath } = buildFieldKeysAndPaths(\n childField,\n {\n requestFieldPath: ancestorRequestFieldPath,\n },\n context,\n );\n\n const { hasData, typeUnused } = checkFieldPathChecklist(fieldPathChecklist.get(requestFieldPath), childTypeName);\n\n if (hasData || typeUnused) {\n if (fragmentKind === FRAGMENT_SPREAD) {\n fragmentSpreadFieldCounter[fragmentName as string].hasData += 1;\n } else if (!hasChildFields(childField, { fragmentDefinitions })) {\n deleteChildFields(field, childField);\n } else if (filterField(childField, fieldPathChecklist, fragmentSpreadChecklist, requestFieldPath, context)) {\n deleteChildFields(field, childField);\n }\n }\n }\n\n filterFragmentSpreads(field, fragmentSpreadFieldCounter, fragmentSpreadChecklist, ancestorRequestFieldPath);\n filterInlineFragments(field, context);\n filterIDsAndTypeNames(field, context);\n return !hasChildFields(field, { fragmentDefinitions });\n};\n\nexport default filterField;\n"],"file":"filterField.js"}
@@ -14,8 +14,6 @@ var _helpers = require("@graphql-box/helpers");
14
14
  var _filterField = _interopRequireDefault(require("./filterField"));
15
15
 
16
16
  var _default = (ast, fieldPathChecklist, fragmentSpreadChecklist, context) => {
17
- var _getFragmentDefinitio;
18
-
19
17
  const definitionsToFilter = (0, _keys2.default)(fragmentSpreadChecklist).reduce((namesAndPaths, key) => {
20
18
  const {
21
19
  deleted,
@@ -26,7 +24,9 @@ var _default = (ast, fieldPathChecklist, fragmentSpreadChecklist, context) => {
26
24
  path: fragmentSpreadChecklist[key].paths[0]
27
25
  }] : namesAndPaths;
28
26
  }, []);
29
- const fragmentDefinitions = (_getFragmentDefinitio = (0, _helpers.getFragmentDefinitions)(ast)) !== null && _getFragmentDefinitio !== void 0 ? _getFragmentDefinitio : {};
27
+ const {
28
+ fragmentDefinitions = {}
29
+ } = context;
30
30
  definitionsToFilter.forEach(({
31
31
  name,
32
32
  path
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/filterFragmentDefinitions.ts"],"names":["ast","fieldPathChecklist","fragmentSpreadChecklist","context","definitionsToFilter","reduce","namesAndPaths","key","deleted","total","name","path","paths","fragmentDefinitions","forEach","fragmentDefinition","definitionsToDelete","names","length","include"],"mappings":";;;;;;;;;;;AAAA;;AAKA;;eAEe,CACbA,GADa,EAEbC,kBAFa,EAGbC,uBAHa,EAIbC,OAJa,KAKV;AAAA;;AACH,QAAMC,mBAAmB,GAAG,oBAAKF,uBAAL,EAA8BG,MAA9B,CAC1B,CAACC,aAAD,EAAkDC,GAAlD,KAA0D;AACxD,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBP,uBAAuB,CAACK,GAAD,CAAlD;AAEA,WAAOC,OAAO,KAAK,CAAZ,IAAiBC,KAAK,KAAK,CAA3B,GACH,CAAC,GAAGH,aAAJ,EAAmB;AAAEI,MAAAA,IAAI,EAAEH,GAAR;AAAaI,MAAAA,IAAI,EAAET,uBAAuB,CAACK,GAAD,CAAvB,CAA6BK,KAA7B,CAAmC,CAAnC;AAAnB,KAAnB,CADG,GAEHN,aAFJ;AAGD,GAPyB,EAQ1B,EAR0B,CAA5B;AAWA,QAAMO,mBAAmB,4BAAG,qCAAuBb,GAAvB,CAAH,yEAAkC,EAA3D;AAEAI,EAAAA,mBAAmB,CAACU,OAApB,CAA4B,CAAC;AAAEJ,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GAAD,KAAoB;AAC9C,UAAMI,kBAAkB,GAAGF,mBAAmB,CAACH,IAAD,CAA9C;AACA,8BAAYK,kBAAZ,EAAgCd,kBAAhC,EAAoDC,uBAApD,EAA6ES,IAA7E,EAAmFR,OAAnF;AACD,GAHD;AAKA,QAAMa,mBAAmB,GAAG,oBAAKd,uBAAL,EAA8BG,MAA9B,CAAqC,CAACY,KAAD,EAAkBV,GAAlB,KAA0B;AACzF,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBP,uBAAuB,CAACK,GAAD,CAAlD;AACA,WAAOC,OAAO,GAAG,CAAV,IAAeA,OAAO,KAAKC,KAA3B,GAAmC,CAAC,GAAGQ,KAAJ,EAAWV,GAAX,CAAnC,GAAqDU,KAA5D;AACD,GAH2B,EAGzB,EAHyB,CAA5B;;AAKA,MAAI,CAACD,mBAAmB,CAACE,MAAzB,EAAiC;AAC/B,WAAOlB,GAAP;AACD;;AAED,SAAO,wCAA0BA,GAA1B,EAA+B;AACpCmB,IAAAA,OAAO,EAAEH;AAD2B,GAA/B,CAAP;AAGD,C","sourcesContent":["import { deleteFragmentDefinitions, getFragmentDefinitions } from \"@graphql-box/helpers\";\nimport { DocumentNode } from \"graphql\";\nimport { keys } from \"lodash\";\nimport { CacheManagerContext, FieldPathChecklist } from \"../defs\";\nimport { FragmentSpreadCheckist } from \"./createFragmentSpreadChecklist\";\nimport filterField from \"./filterField\";\n\nexport default (\n ast: DocumentNode,\n fieldPathChecklist: FieldPathChecklist,\n fragmentSpreadChecklist: FragmentSpreadCheckist,\n context: CacheManagerContext,\n) => {\n const definitionsToFilter = keys(fragmentSpreadChecklist).reduce(\n (namesAndPaths: { name: string; path: string }[], key) => {\n const { deleted, total } = fragmentSpreadChecklist[key];\n\n return deleted === 0 && total === 1\n ? [...namesAndPaths, { name: key, path: fragmentSpreadChecklist[key].paths[0] as string }]\n : namesAndPaths;\n },\n [],\n );\n\n const fragmentDefinitions = getFragmentDefinitions(ast) ?? {};\n\n definitionsToFilter.forEach(({ name, path }) => {\n const fragmentDefinition = fragmentDefinitions[name];\n filterField(fragmentDefinition, fieldPathChecklist, fragmentSpreadChecklist, path, context);\n });\n\n const definitionsToDelete = keys(fragmentSpreadChecklist).reduce((names: string[], key) => {\n const { deleted, total } = fragmentSpreadChecklist[key];\n return deleted > 0 && deleted === total ? [...names, key] : names;\n }, []);\n\n if (!definitionsToDelete.length) {\n return ast;\n }\n\n return deleteFragmentDefinitions(ast, {\n include: definitionsToDelete,\n });\n};\n"],"file":"filterFragmentDefinitions.js"}
1
+ {"version":3,"sources":["../../../src/helpers/filterFragmentDefinitions.ts"],"names":["ast","fieldPathChecklist","fragmentSpreadChecklist","context","definitionsToFilter","reduce","namesAndPaths","key","deleted","total","name","path","paths","fragmentDefinitions","forEach","fragmentDefinition","definitionsToDelete","names","length","include"],"mappings":";;;;;;;;;;;AAAA;;AAKA;;eAEe,CACbA,GADa,EAEbC,kBAFa,EAGbC,uBAHa,EAIbC,OAJa,KAKV;AACH,QAAMC,mBAAmB,GAAG,oBAAKF,uBAAL,EAA8BG,MAA9B,CAC1B,CAACC,aAAD,EAAkDC,GAAlD,KAA0D;AACxD,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBP,uBAAuB,CAACK,GAAD,CAAlD;AAEA,WAAOC,OAAO,KAAK,CAAZ,IAAiBC,KAAK,KAAK,CAA3B,GACH,CAAC,GAAGH,aAAJ,EAAmB;AAAEI,MAAAA,IAAI,EAAEH,GAAR;AAAaI,MAAAA,IAAI,EAAET,uBAAuB,CAACK,GAAD,CAAvB,CAA6BK,KAA7B,CAAmC,CAAnC;AAAnB,KAAnB,CADG,GAEHN,aAFJ;AAGD,GAPyB,EAQ1B,EAR0B,CAA5B;AAWA,QAAM;AAAEO,IAAAA,mBAAmB,GAAG;AAAxB,MAA+BV,OAArC;AAEAC,EAAAA,mBAAmB,CAACU,OAApB,CAA4B,CAAC;AAAEJ,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GAAD,KAAoB;AAC9C,UAAMI,kBAAkB,GAAGF,mBAAmB,CAACH,IAAD,CAA9C;AACA,8BAAYK,kBAAZ,EAAgCd,kBAAhC,EAAoDC,uBAApD,EAA6ES,IAA7E,EAAmFR,OAAnF;AACD,GAHD;AAKA,QAAMa,mBAAmB,GAAG,oBAAKd,uBAAL,EAA8BG,MAA9B,CAAqC,CAACY,KAAD,EAAkBV,GAAlB,KAA0B;AACzF,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBP,uBAAuB,CAACK,GAAD,CAAlD;AACA,WAAOC,OAAO,GAAG,CAAV,IAAeA,OAAO,KAAKC,KAA3B,GAAmC,CAAC,GAAGQ,KAAJ,EAAWV,GAAX,CAAnC,GAAqDU,KAA5D;AACD,GAH2B,EAGzB,EAHyB,CAA5B;;AAKA,MAAI,CAACD,mBAAmB,CAACE,MAAzB,EAAiC;AAC/B,WAAOlB,GAAP;AACD;;AAED,SAAO,wCAA0BA,GAA1B,EAA+B;AACpCmB,IAAAA,OAAO,EAAEH;AAD2B,GAA/B,CAAP;AAGD,C","sourcesContent":["import { deleteFragmentDefinitions } from \"@graphql-box/helpers\";\nimport { DocumentNode } from \"graphql\";\nimport { keys } from \"lodash\";\nimport { CacheManagerContext, FieldPathChecklist } from \"../defs\";\nimport { FragmentSpreadCheckist } from \"./createFragmentSpreadChecklist\";\nimport filterField from \"./filterField\";\n\nexport default (\n ast: DocumentNode,\n fieldPathChecklist: FieldPathChecklist,\n fragmentSpreadChecklist: FragmentSpreadCheckist,\n context: CacheManagerContext,\n) => {\n const definitionsToFilter = keys(fragmentSpreadChecklist).reduce(\n (namesAndPaths: { name: string; path: string }[], key) => {\n const { deleted, total } = fragmentSpreadChecklist[key];\n\n return deleted === 0 && total === 1\n ? [...namesAndPaths, { name: key, path: fragmentSpreadChecklist[key].paths[0] as string }]\n : namesAndPaths;\n },\n [],\n );\n\n const { fragmentDefinitions = {} } = context;\n\n definitionsToFilter.forEach(({ name, path }) => {\n const fragmentDefinition = fragmentDefinitions[name];\n filterField(fragmentDefinition, fieldPathChecklist, fragmentSpreadChecklist, path, context);\n });\n\n const definitionsToDelete = keys(fragmentSpreadChecklist).reduce((names: string[], key) => {\n const { deleted, total } = fragmentSpreadChecklist[key];\n return deleted > 0 && deleted === total ? [...names, key] : names;\n }, []);\n\n if (!definitionsToDelete.length) {\n return ast;\n }\n\n return deleteFragmentDefinitions(ast, {\n include: definitionsToDelete,\n });\n};\n"],"file":"filterFragmentDefinitions.js"}
@@ -11,8 +11,6 @@ var _keys2 = _interopRequireDefault(require("lodash/keys"));
11
11
 
12
12
  var _helpers = require("@graphql-box/helpers");
13
13
 
14
- var _buildKeysAndPaths = require("./buildKeysAndPaths");
15
-
16
14
  var _default = (fieldData, selectionNodes, ancestorKeysAndPaths, context) => {
17
15
  const fieldAndTypeName = (0, _helpers.resolveFragments)(selectionNodes, context.fragmentDefinitions);
18
16
  return (0, _keys2.default)(fieldData).reduce((acc, key) => {
@@ -23,7 +21,7 @@ var _default = (fieldData, selectionNodes, ancestorKeysAndPaths, context) => {
23
21
  if (match) {
24
22
  const {
25
23
  requestFieldPath
26
- } = (0, _buildKeysAndPaths.buildFieldKeysAndPaths)(match.fieldNode, ancestorKeysAndPaths, context);
24
+ } = (0, _helpers.buildFieldKeysAndPaths)(match.fieldNode, ancestorKeysAndPaths, context);
27
25
  const fieldTypeInfo = context.fieldTypeMap.get(requestFieldPath);
28
26
 
29
27
  if (!(fieldTypeInfo !== null && fieldTypeInfo !== void 0 && fieldTypeInfo.hasArguments) && !(fieldTypeInfo !== null && fieldTypeInfo !== void 0 && fieldTypeInfo.hasDirectives)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/filterOutPropsWithArgsOrDirectives.ts"],"names":["fieldData","selectionNodes","ancestorKeysAndPaths","context","fieldAndTypeName","fragmentDefinitions","reduce","acc","key","match","find","fieldNode","requestFieldPath","fieldTypeInfo","fieldTypeMap","get","hasArguments","hasDirectives"],"mappings":";;;;;;;;;;;AACA;;AAIA;;eAEe,CACbA,SADa,EAEbC,cAFa,EAGbC,oBAHa,EAIbC,OAJa,KAKV;AACH,QAAMC,gBAAgB,GAAG,+BAAiBH,cAAjB,EAAiCE,OAAO,CAACE,mBAAzC,CAAzB;AAEA,SAAO,oBAAKL,SAAL,EAAgBM,MAAhB,CAAuB,CAACC,GAAD,EAAsBC,GAAtB,KAA8B;AAC1D,UAAMC,KAAK,GAAGL,gBAAgB,CAACM,IAAjB,CAAsB,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAoB,sBAAQA,SAAR,CAAD,KAAuDH,GAAhG,CAAd;;AAEA,QAAIC,KAAJ,EAAW;AACT,YAAM;AAAEG,QAAAA;AAAF,UAAuB,+CAAuBH,KAAK,CAACE,SAA7B,EAAwCT,oBAAxC,EAA8DC,OAA9D,CAA7B;AACA,YAAMU,aAAa,GAAGV,OAAO,CAACW,YAAR,CAAqBC,GAArB,CAAyBH,gBAAzB,CAAtB;;AAEA,UAAI,EAACC,aAAD,aAACA,aAAD,eAACA,aAAa,CAAEG,YAAhB,KAAgC,EAACH,aAAD,aAACA,aAAD,eAACA,aAAa,CAAEI,aAAhB,CAApC,EAAmE;AACjEV,QAAAA,GAAG,CAACC,GAAD,CAAH,GAAWR,SAAS,CAACQ,GAAD,CAApB;AACD;AACF;;AAED,WAAOD,GAAP;AACD,GAbM,EAaJ,EAbI,CAAP;AAcD,C","sourcesContent":["import { PlainObjectMap } from \"@graphql-box/core\";\nimport { getName, resolveFragments } from \"@graphql-box/helpers\";\nimport { FieldNode, SelectionNode } from \"graphql\";\nimport { keys } from \"lodash\";\nimport { CacheManagerContext, KeysAndPaths } from \"../defs\";\nimport { buildFieldKeysAndPaths } from \"./buildKeysAndPaths\";\n\nexport default (\n fieldData: PlainObjectMap,\n selectionNodes: readonly SelectionNode[],\n ancestorKeysAndPaths: KeysAndPaths,\n context: CacheManagerContext,\n) => {\n const fieldAndTypeName = resolveFragments(selectionNodes, context.fragmentDefinitions);\n\n return keys(fieldData).reduce((acc: PlainObjectMap, key) => {\n const match = fieldAndTypeName.find(({ fieldNode }) => (getName(fieldNode) as FieldNode[\"name\"][\"value\"]) === key);\n\n if (match) {\n const { requestFieldPath } = buildFieldKeysAndPaths(match.fieldNode, ancestorKeysAndPaths, context);\n const fieldTypeInfo = context.fieldTypeMap.get(requestFieldPath);\n\n if (!fieldTypeInfo?.hasArguments && !fieldTypeInfo?.hasDirectives) {\n acc[key] = fieldData[key];\n }\n }\n\n return acc;\n }, {});\n};\n"],"file":"filterOutPropsWithArgsOrDirectives.js"}
1
+ {"version":3,"sources":["../../../src/helpers/filterOutPropsWithArgsOrDirectives.ts"],"names":["fieldData","selectionNodes","ancestorKeysAndPaths","context","fieldAndTypeName","fragmentDefinitions","reduce","acc","key","match","find","fieldNode","requestFieldPath","fieldTypeInfo","fieldTypeMap","get","hasArguments","hasDirectives"],"mappings":";;;;;;;;;;;AACA;;eAKe,CACbA,SADa,EAEbC,cAFa,EAGbC,oBAHa,EAIbC,OAJa,KAKV;AACH,QAAMC,gBAAgB,GAAG,+BAAiBH,cAAjB,EAAiCE,OAAO,CAACE,mBAAzC,CAAzB;AAEA,SAAO,oBAAKL,SAAL,EAAgBM,MAAhB,CAAuB,CAACC,GAAD,EAAsBC,GAAtB,KAA8B;AAC1D,UAAMC,KAAK,GAAGL,gBAAgB,CAACM,IAAjB,CAAsB,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAoB,sBAAQA,SAAR,CAAD,KAAuDH,GAAhG,CAAd;;AAEA,QAAIC,KAAJ,EAAW;AACT,YAAM;AAAEG,QAAAA;AAAF,UAAuB,qCAAuBH,KAAK,CAACE,SAA7B,EAAwCT,oBAAxC,EAA8DC,OAA9D,CAA7B;AACA,YAAMU,aAAa,GAAGV,OAAO,CAACW,YAAR,CAAqBC,GAArB,CAAyBH,gBAAzB,CAAtB;;AAEA,UAAI,EAACC,aAAD,aAACA,aAAD,eAACA,aAAa,CAAEG,YAAhB,KAAgC,EAACH,aAAD,aAACA,aAAD,eAACA,aAAa,CAAEI,aAAhB,CAApC,EAAmE;AACjEV,QAAAA,GAAG,CAACC,GAAD,CAAH,GAAWR,SAAS,CAACQ,GAAD,CAApB;AACD;AACF;;AAED,WAAOD,GAAP;AACD,GAbM,EAaJ,EAbI,CAAP;AAcD,C","sourcesContent":["import { PlainObjectMap } from \"@graphql-box/core\";\nimport { KeysAndPaths, buildFieldKeysAndPaths, getName, resolveFragments } from \"@graphql-box/helpers\";\nimport { FieldNode, SelectionNode } from \"graphql\";\nimport { keys } from \"lodash\";\nimport { CacheManagerContext } from \"../defs\";\n\nexport default (\n fieldData: PlainObjectMap,\n selectionNodes: readonly SelectionNode[],\n ancestorKeysAndPaths: KeysAndPaths,\n context: CacheManagerContext,\n) => {\n const fieldAndTypeName = resolveFragments(selectionNodes, context.fragmentDefinitions);\n\n return keys(fieldData).reduce((acc: PlainObjectMap, key) => {\n const match = fieldAndTypeName.find(({ fieldNode }) => (getName(fieldNode) as FieldNode[\"name\"][\"value\"]) === key);\n\n if (match) {\n const { requestFieldPath } = buildFieldKeysAndPaths(match.fieldNode, ancestorKeysAndPaths, context);\n const fieldTypeInfo = context.fieldTypeMap.get(requestFieldPath);\n\n if (!fieldTypeInfo?.hasArguments && !fieldTypeInfo?.hasDirectives) {\n acc[key] = fieldData[key];\n }\n }\n\n return acc;\n }, {});\n};\n"],"file":"filterOutPropsWithArgsOrDirectives.js"}
@@ -9,8 +9,6 @@ exports.default = void 0;
9
9
 
10
10
  var _helpers = require("@graphql-box/helpers");
11
11
 
12
- var _buildKeysAndPaths = require("./buildKeysAndPaths");
13
-
14
12
  var _createFragmentSpreadChecklist = _interopRequireDefault(require("./createFragmentSpreadChecklist"));
15
13
 
16
14
  var _filterField = _interopRequireDefault(require("./filterField"));
@@ -35,7 +33,7 @@ var _default = (requestData, {
35
33
  return ast;
36
34
  }
37
35
 
38
- const fragmentSpreadChecklist = (0, _createFragmentSpreadChecklist.default)(requestData);
36
+ const fragmentSpreadChecklist = (0, _createFragmentSpreadChecklist.default)(requestData, context);
39
37
 
40
38
  for (let i = fieldsAndTypeNames.length - 1; i >= 0; i -= 1) {
41
39
  const {
@@ -43,7 +41,7 @@ var _default = (requestData, {
43
41
  } = fieldsAndTypeNames[i];
44
42
  const {
45
43
  requestFieldPath
46
- } = (0, _buildKeysAndPaths.buildFieldKeysAndPaths)(fieldNode, {
44
+ } = (0, _helpers.buildFieldKeysAndPaths)(fieldNode, {
47
45
  requestFieldPath: context.operation
48
46
  }, context);
49
47
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/filterQuery.ts"],"names":["requestData","fieldPathChecklist","context","ast","queryNode","operation","fragmentDefinitions","fieldsAndTypeNames","fragmentSpreadChecklist","i","length","fieldNode","requestFieldPath","queryFiltered"],"mappings":";;;;;;;;;AACA;;AAEA;;AACA;;AACA;;AACA;;eAEe,CAACA,WAAD,EAA2B;AAAEC,EAAAA;AAAF,CAA3B,EAAuEC,OAAvE,KAAwG;AACrH,QAAM;AAAEC,IAAAA;AAAF,MAAUH,WAAhB;AACA,QAAMI,SAAS,GAAG,sCAAwBD,GAAxB,EAA6BD,OAAO,CAACG,SAArC,EAAgD,CAAhD,CAAlB;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA0BJ,OAAhC;AACA,QAAMK,kBAAkB,GAAG,6BAAeH,SAAf,EAA0B;AAAEE,IAAAA;AAAF,GAA1B,CAA3B;;AAEA,MAAI,CAACC,kBAAL,EAAyB;AACvB,WAAOJ,GAAP;AACD;;AAED,QAAMK,uBAAuB,GAAG,4CAA8BR,WAA9B,CAAhC;;AAEA,OAAK,IAAIS,CAAC,GAAGF,kBAAkB,CAACG,MAAnB,GAA4B,CAAzC,EAA4CD,CAAC,IAAI,CAAjD,EAAoDA,CAAC,IAAI,CAAzD,EAA4D;AAC1D,UAAM;AAAEE,MAAAA;AAAF,QAAgBJ,kBAAkB,CAACE,CAAD,CAAxC;AAEA,UAAM;AAAEG,MAAAA;AAAF,QAAuB,+CAC3BD,SAD2B,EAE3B;AACEC,MAAAA,gBAAgB,EAAEV,OAAO,CAACG;AAD5B,KAF2B,EAK3BH,OAL2B,CAA7B;;AAQA,QAAI,0BAAYS,SAAZ,EAAuBV,kBAAvB,EAA2CO,uBAA3C,EAAoEI,gBAApE,EAAsFV,OAAtF,CAAJ,EAAoG;AAClG,sCAAkBE,SAAlB,EAA6BO,SAA7B;AACD;AACF;;AAEDT,EAAAA,OAAO,CAACW,aAAR,GAAwB,IAAxB;AACA,SAAO,wCAA0BV,GAA1B,EAA+BF,kBAA/B,EAAmDO,uBAAnD,EAA4EN,OAA5E,CAAP;AACD,C","sourcesContent":["import { RequestData } from \"@graphql-box/core\";\nimport { deleteChildFields, getChildFields, getOperationDefinitions } from \"@graphql-box/helpers\";\nimport { CacheManagerContext, CachedResponseData } from \"../defs\";\nimport { buildFieldKeysAndPaths } from \"./buildKeysAndPaths\";\nimport createFragmentSpreadChecklist from \"./createFragmentSpreadChecklist\";\nimport filterField from \"./filterField\";\nimport filterFragmentDefinitions from \"./filterFragmentDefinitions\";\n\nexport default (requestData: RequestData, { fieldPathChecklist }: CachedResponseData, context: CacheManagerContext) => {\n const { ast } = requestData;\n const queryNode = getOperationDefinitions(ast, context.operation)[0];\n const { fragmentDefinitions } = context;\n const fieldsAndTypeNames = getChildFields(queryNode, { fragmentDefinitions });\n\n if (!fieldsAndTypeNames) {\n return ast;\n }\n\n const fragmentSpreadChecklist = createFragmentSpreadChecklist(requestData);\n\n for (let i = fieldsAndTypeNames.length - 1; i >= 0; i -= 1) {\n const { fieldNode } = fieldsAndTypeNames[i];\n\n const { requestFieldPath } = buildFieldKeysAndPaths(\n fieldNode,\n {\n requestFieldPath: context.operation,\n },\n context,\n );\n\n if (filterField(fieldNode, fieldPathChecklist, fragmentSpreadChecklist, requestFieldPath, context)) {\n deleteChildFields(queryNode, fieldNode);\n }\n }\n\n context.queryFiltered = true;\n return filterFragmentDefinitions(ast, fieldPathChecklist, fragmentSpreadChecklist, context);\n};\n"],"file":"filterQuery.js"}
1
+ {"version":3,"sources":["../../../src/helpers/filterQuery.ts"],"names":["requestData","fieldPathChecklist","context","ast","queryNode","operation","fragmentDefinitions","fieldsAndTypeNames","fragmentSpreadChecklist","i","length","fieldNode","requestFieldPath","queryFiltered"],"mappings":";;;;;;;;;AACA;;AAOA;;AACA;;AACA;;eAEe,CAACA,WAAD,EAA2B;AAAEC,EAAAA;AAAF,CAA3B,EAAuEC,OAAvE,KAAwG;AACrH,QAAM;AAAEC,IAAAA;AAAF,MAAUH,WAAhB;AACA,QAAMI,SAAS,GAAG,sCAAwBD,GAAxB,EAA6BD,OAAO,CAACG,SAArC,EAAgD,CAAhD,CAAlB;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA0BJ,OAAhC;AACA,QAAMK,kBAAkB,GAAG,6BAAeH,SAAf,EAA0B;AAAEE,IAAAA;AAAF,GAA1B,CAA3B;;AAEA,MAAI,CAACC,kBAAL,EAAyB;AACvB,WAAOJ,GAAP;AACD;;AAED,QAAMK,uBAAuB,GAAG,4CAA8BR,WAA9B,EAA2CE,OAA3C,CAAhC;;AAEA,OAAK,IAAIO,CAAC,GAAGF,kBAAkB,CAACG,MAAnB,GAA4B,CAAzC,EAA4CD,CAAC,IAAI,CAAjD,EAAoDA,CAAC,IAAI,CAAzD,EAA4D;AAC1D,UAAM;AAAEE,MAAAA;AAAF,QAAgBJ,kBAAkB,CAACE,CAAD,CAAxC;AAEA,UAAM;AAAEG,MAAAA;AAAF,QAAuB,qCAC3BD,SAD2B,EAE3B;AACEC,MAAAA,gBAAgB,EAAEV,OAAO,CAACG;AAD5B,KAF2B,EAK3BH,OAL2B,CAA7B;;AAQA,QAAI,0BAAYS,SAAZ,EAAuBV,kBAAvB,EAA2CO,uBAA3C,EAAoEI,gBAApE,EAAsFV,OAAtF,CAAJ,EAAoG;AAClG,sCAAkBE,SAAlB,EAA6BO,SAA7B;AACD;AACF;;AAEDT,EAAAA,OAAO,CAACW,aAAR,GAAwB,IAAxB;AACA,SAAO,wCAA0BV,GAA1B,EAA+BF,kBAA/B,EAAmDO,uBAAnD,EAA4EN,OAA5E,CAAP;AACD,C","sourcesContent":["import { RequestData } from \"@graphql-box/core\";\nimport {\n buildFieldKeysAndPaths,\n deleteChildFields,\n getChildFields,\n getOperationDefinitions,\n} from \"@graphql-box/helpers\";\nimport { CacheManagerContext, CachedResponseData } from \"../defs\";\nimport createFragmentSpreadChecklist from \"./createFragmentSpreadChecklist\";\nimport filterField from \"./filterField\";\nimport filterFragmentDefinitions from \"./filterFragmentDefinitions\";\n\nexport default (requestData: RequestData, { fieldPathChecklist }: CachedResponseData, context: CacheManagerContext) => {\n const { ast } = requestData;\n const queryNode = getOperationDefinitions(ast, context.operation)[0];\n const { fragmentDefinitions } = context;\n const fieldsAndTypeNames = getChildFields(queryNode, { fragmentDefinitions });\n\n if (!fieldsAndTypeNames) {\n return ast;\n }\n\n const fragmentSpreadChecklist = createFragmentSpreadChecklist(requestData, context);\n\n for (let i = fieldsAndTypeNames.length - 1; i >= 0; i -= 1) {\n const { fieldNode } = fieldsAndTypeNames[i];\n\n const { requestFieldPath } = buildFieldKeysAndPaths(\n fieldNode,\n {\n requestFieldPath: context.operation,\n },\n context,\n );\n\n if (filterField(fieldNode, fieldPathChecklist, fragmentSpreadChecklist, requestFieldPath, context)) {\n deleteChildFields(queryNode, fieldNode);\n }\n }\n\n context.queryFiltered = true;\n return filterFragmentDefinitions(ast, fieldPathChecklist, fragmentSpreadChecklist, context);\n};\n"],"file":"filterQuery.js"}
@@ -44,8 +44,6 @@ var _consts = require("../consts");
44
44
 
45
45
  var _debug = require("../debug");
46
46
 
47
- var _buildKeysAndPaths = require("../helpers/buildKeysAndPaths");
48
-
49
47
  var _deriveOpCacheability = _interopRequireDefault(require("../helpers/deriveOpCacheability"));
50
48
 
51
49
  var _filterOutPropsWithArgsOrDirectives = _interopRequireDefault(require("../helpers/filterOutPropsWithArgsOrDirectives"));
@@ -312,7 +310,7 @@ let CacheManager = (_dec = (0, _debug.logCacheQuery)(), _dec2 = (0, _debug.logCa
312
310
 
313
311
  async cacheQuery(requestData, updatedRequestData, rawResponseData, options, context) {
314
312
  const cacheManagerContext = { ...context,
315
- fragmentDefinitions: (0, _helpers.getFragmentDefinitions)(updatedRequestData.ast),
313
+ fragmentDefinitions: (0, _helpers.getFragmentDefinitions)((updatedRequestData !== null && updatedRequestData !== void 0 ? updatedRequestData : requestData).ast),
316
314
  typeIDKey: this._typeIDKey
317
315
  };
318
316
  return this._cacheResponse(requestData, updatedRequestData, rawResponseData, options, cacheManagerContext);
@@ -351,6 +349,10 @@ let CacheManager = (_dec = (0, _debug.logCacheQuery)(), _dec2 = (0, _debug.logCa
351
349
  this._partialQueryResponses.delete(hash);
352
350
  }
353
351
 
352
+ async setQueryResponseCacheEntry(requestData, responseData, options, context) {
353
+ return this._setQueryResponseCacheEntry(requestData.hash, responseData, options, context);
354
+ }
355
+
354
356
  async _analyzeFieldNode(fieldNode, cachedAncestorFieldData, cachedResponseData, options, context) {
355
357
  if ((0, _helpers.hasChildFields)(fieldNode, {
356
358
  fragmentDefinitions: context.fragmentDefinitions
@@ -362,7 +364,7 @@ let CacheManager = (_dec = (0, _debug.logCacheQuery)(), _dec2 = (0, _debug.logCa
362
364
  }
363
365
 
364
366
  async _analyzeLeafFieldNode(fieldNode, cachedAncestorFieldData, cachedResponseData, options, context) {
365
- const keysAndPaths = (0, _buildKeysAndPaths.buildFieldKeysAndPaths)(fieldNode, cachedAncestorFieldData, context);
367
+ const keysAndPaths = (0, _helpers.buildFieldKeysAndPaths)(fieldNode, cachedAncestorFieldData, context);
366
368
  const {
367
369
  hashedRequestFieldCacheKey,
368
370
  propNameOrIndex,
@@ -407,7 +409,7 @@ let CacheManager = (_dec = (0, _debug.logCacheQuery)(), _dec2 = (0, _debug.logCa
407
409
  }
408
410
 
409
411
  async _analyzeParentFieldNode(fieldNode, cachedAncestorFieldData, cachedResponseData, options, context) {
410
- const keysAndPaths = (0, _buildKeysAndPaths.buildFieldKeysAndPaths)(fieldNode, cachedAncestorFieldData, context);
412
+ const keysAndPaths = (0, _helpers.buildFieldKeysAndPaths)(fieldNode, cachedAncestorFieldData, context);
411
413
  const {
412
414
  propNameOrIndex,
413
415
  requestFieldCacheKey,
@@ -670,7 +672,7 @@ let CacheManager = (_dec = (0, _debug.logCacheQuery)(), _dec2 = (0, _debug.logCa
670
672
  entityData,
671
673
  requestFieldPathData
672
674
  }, options, context) {
673
- const keysAndPaths = (0, _buildKeysAndPaths.buildFieldKeysAndPaths)(field, ancestorKeysAndPaths, context);
675
+ const keysAndPaths = (0, _helpers.buildFieldKeysAndPaths)(field, ancestorKeysAndPaths, context);
674
676
  const {
675
677
  requestFieldCacheKey,
676
678
  requestFieldPath,
@@ -931,7 +933,7 @@ let CacheManager = (_dec = (0, _debug.logCacheQuery)(), _dec2 = (0, _debug.logCa
931
933
  const {
932
934
  requestFieldPath: ancestorRequestFieldPath
933
935
  } = ancestorKeysAndPaths;
934
- const keysAndPaths = (0, _buildKeysAndPaths.buildFieldKeysAndPaths)(field, ancestorKeysAndPaths, context);
936
+ const keysAndPaths = (0, _helpers.buildFieldKeysAndPaths)(field, ancestorKeysAndPaths, context);
935
937
  const {
936
938
  requestFieldPath,
937
939
  responseDataPath