@graphql-box/cache-manager 2.1.2 → 2.3.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.
- package/lib/browser/index.js +1 -1
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/production.analysis.txt +139 -17
- package/lib/main/debug/log-cache-entry/index.js.map +1 -1
- package/lib/main/debug/log-partial-compiled/index.js.map +1 -1
- package/lib/main/helpers/buildKeysAndPaths.js +73 -0
- package/lib/main/helpers/buildKeysAndPaths.js.map +1 -0
- package/lib/main/helpers/checkFieldPathChecklist.js +40 -0
- package/lib/main/helpers/checkFieldPathChecklist.js.map +1 -0
- package/lib/main/helpers/createFragmentSpreadChecklist.js +28 -0
- package/lib/main/helpers/createFragmentSpreadChecklist.js.map +1 -0
- package/lib/main/helpers/deriveOpCacheability.js +46 -0
- package/lib/main/helpers/deriveOpCacheability.js.map +1 -0
- package/lib/main/helpers/filterField.js +97 -0
- package/lib/main/helpers/filterField.js.map +1 -0
- package/lib/main/helpers/filterFragmentDefinitions.js +50 -0
- package/lib/main/helpers/filterFragmentDefinitions.js.map +1 -0
- package/lib/main/helpers/filterFragmentSpreads.js +37 -0
- package/lib/main/helpers/filterFragmentSpreads.js.map +1 -0
- package/lib/main/helpers/filterIDsAndTypeNames.js +47 -0
- package/lib/main/helpers/filterIDsAndTypeNames.js.map +1 -0
- package/lib/main/helpers/filterInlineFragments.js +42 -0
- package/lib/main/helpers/filterInlineFragments.js.map +1 -0
- package/lib/main/helpers/filterOutPropsWithArgsOrDirectives.js +39 -0
- package/lib/main/helpers/filterOutPropsWithArgsOrDirectives.js.map +1 -0
- package/lib/main/helpers/filterQuery.js +59 -0
- package/lib/main/helpers/filterQuery.js.map +1 -0
- package/lib/main/helpers/normalizeResponseData.js +23 -0
- package/lib/main/helpers/normalizeResponseData.js.map +1 -0
- package/lib/main/helpers/validTypeIDValue.js +20 -0
- package/lib/main/helpers/validTypeIDValue.js.map +1 -0
- package/lib/main/main/index.js +477 -476
- package/lib/main/main/index.js.map +1 -1
- package/lib/module/debug/log-cache-entry/index.js.map +1 -1
- package/lib/module/debug/log-partial-compiled/index.js.map +1 -1
- package/lib/module/helpers/buildKeysAndPaths.js +54 -0
- package/lib/module/helpers/buildKeysAndPaths.js.map +1 -0
- package/lib/module/helpers/checkFieldPathChecklist.js +31 -0
- package/lib/module/helpers/checkFieldPathChecklist.js.map +1 -0
- package/lib/module/helpers/createFragmentSpreadChecklist.js +15 -0
- package/lib/module/helpers/createFragmentSpreadChecklist.js.map +1 -0
- package/lib/module/helpers/deriveOpCacheability.js +32 -0
- package/lib/module/helpers/deriveOpCacheability.js.map +1 -0
- package/lib/module/helpers/filterField.js +81 -0
- package/lib/module/helpers/filterField.js.map +1 -0
- package/lib/module/helpers/filterFragmentDefinitions.js +39 -0
- package/lib/module/helpers/filterFragmentDefinitions.js.map +1 -0
- package/lib/module/helpers/filterFragmentSpreads.js +23 -0
- package/lib/module/helpers/filterFragmentSpreads.js.map +1 -0
- package/lib/module/helpers/filterIDsAndTypeNames.js +36 -0
- package/lib/module/helpers/filterIDsAndTypeNames.js.map +1 -0
- package/lib/module/helpers/filterInlineFragments.js +32 -0
- package/lib/module/helpers/filterInlineFragments.js.map +1 -0
- package/lib/module/helpers/filterOutPropsWithArgsOrDirectives.js +25 -0
- package/lib/module/helpers/filterOutPropsWithArgsOrDirectives.js.map +1 -0
- package/lib/module/helpers/filterQuery.js +43 -0
- package/lib/module/helpers/filterQuery.js.map +1 -0
- package/lib/module/helpers/normalizeResponseData.js +11 -0
- package/lib/module/helpers/normalizeResponseData.js.map +1 -0
- package/lib/module/helpers/validTypeIDValue.js +8 -0
- package/lib/module/helpers/validTypeIDValue.js.map +1 -0
- package/lib/module/main/index.js +474 -475
- package/lib/module/main/index.js.map +1 -1
- package/lib/types/debug/log-cache-entry/index.d.ts.map +1 -1
- package/lib/types/debug/log-cache-query/index.d.ts.map +1 -1
- package/lib/types/debug/log-partial-compiled/index.d.ts.map +1 -1
- package/lib/types/defs/index.d.ts +19 -9
- package/lib/types/defs/index.d.ts.map +1 -1
- package/lib/types/helpers/buildKeysAndPaths.d.ts +10 -0
- package/lib/types/helpers/buildKeysAndPaths.d.ts.map +1 -0
- package/lib/types/helpers/checkFieldPathChecklist.d.ts +4 -0
- package/lib/types/helpers/checkFieldPathChecklist.d.ts.map +1 -0
- package/lib/types/helpers/createFragmentSpreadChecklist.d.ts +11 -0
- package/lib/types/helpers/createFragmentSpreadChecklist.d.ts.map +1 -0
- package/lib/types/helpers/deriveOpCacheability.d.ts +10 -0
- package/lib/types/helpers/deriveOpCacheability.d.ts.map +1 -0
- package/lib/types/helpers/filterField.d.ts +6 -0
- package/lib/types/helpers/filterField.d.ts.map +1 -0
- package/lib/types/helpers/filterFragmentDefinitions.d.ts +10 -0
- package/lib/types/helpers/filterFragmentDefinitions.d.ts.map +1 -0
- package/lib/types/helpers/filterFragmentSpreads.d.ts +6 -0
- package/lib/types/helpers/filterFragmentSpreads.d.ts.map +1 -0
- package/lib/types/helpers/filterIDsAndTypeNames.d.ts +5 -0
- package/lib/types/helpers/filterIDsAndTypeNames.d.ts.map +1 -0
- package/lib/types/helpers/filterInlineFragments.d.ts +5 -0
- package/lib/types/helpers/filterInlineFragments.d.ts.map +1 -0
- package/lib/types/helpers/filterOutPropsWithArgsOrDirectives.d.ts +6 -0
- package/lib/types/helpers/filterOutPropsWithArgsOrDirectives.d.ts.map +1 -0
- package/lib/types/helpers/filterQuery.d.ts +5 -0
- package/lib/types/helpers/filterQuery.d.ts.map +1 -0
- package/lib/types/helpers/normalizeResponseData.d.ts +10 -0
- package/lib/types/helpers/normalizeResponseData.d.ts.map +1 -0
- package/lib/types/helpers/validTypeIDValue.d.ts +3 -0
- package/lib/types/helpers/validTypeIDValue.d.ts.map +1 -0
- package/lib/types/main/index.d.ts +13 -20
- package/lib/types/main/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/__snapshots__/index.test.ts.snap +17449 -7185
- package/src/debug/log-cache-entry/index.ts +1 -1
- package/src/debug/log-partial-compiled/index.ts +1 -1
- package/src/defs/index.ts +18 -10
- package/src/helpers/buildKeysAndPaths.ts +71 -0
- package/src/helpers/checkFieldPathChecklist.ts +21 -0
- package/src/helpers/createFragmentSpreadChecklist.ts +17 -0
- package/src/helpers/deriveOpCacheability.ts +32 -0
- package/src/helpers/filterField.ts +73 -0
- package/src/helpers/filterFragmentDefinitions.ts +40 -0
- package/src/helpers/filterFragmentSpreads.ts +28 -0
- package/src/helpers/filterIDsAndTypeNames.ts +31 -0
- package/src/helpers/filterInlineFragments.ts +29 -0
- package/src/helpers/filterOutPropsWithArgsOrDirectives.ts +30 -0
- package/src/helpers/filterQuery.ts +38 -0
- package/src/helpers/normalizeResponseData.ts +9 -0
- package/src/helpers/validTypeIDValue.ts +11 -0
- package/src/index.test.ts +179 -3
- package/src/main/index.ts +516 -499
|
@@ -1,65 +1,187 @@
|
|
|
1
1
|
-----------------------------
|
|
2
2
|
Rollup File Analysis
|
|
3
3
|
-----------------------------
|
|
4
|
-
bundle size:
|
|
5
|
-
original size:
|
|
4
|
+
bundle size: 90.114 KB
|
|
5
|
+
original size: 60.587 KB
|
|
6
6
|
code reduction: 0 %
|
|
7
|
-
module count:
|
|
7
|
+
module count: 21
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
███████████████████████████████████░░░░░░░░░░░░░░░
|
|
10
10
|
file: /src/main/index.ts
|
|
11
|
-
bundle space:
|
|
12
|
-
rendered size: 64.
|
|
13
|
-
original size:
|
|
11
|
+
bundle space: 71.46 %
|
|
12
|
+
rendered size: 64.391 KB
|
|
13
|
+
original size: 35.716 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:
|
|
20
|
+
bundle space: 4.26 %
|
|
21
21
|
rendered size: 3.839 KB
|
|
22
22
|
original size: 1.282 KB
|
|
23
23
|
code reduction: 0 %
|
|
24
24
|
dependents: 1
|
|
25
25
|
- /src/debug/index.ts
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
28
28
|
file: /src/debug/log-cache-entry/index.ts
|
|
29
|
-
bundle space:
|
|
29
|
+
bundle space: 3.83 %
|
|
30
30
|
rendered size: 3.451 KB
|
|
31
|
-
original size: 1.
|
|
31
|
+
original size: 1.197 KB
|
|
32
32
|
code reduction: 0 %
|
|
33
33
|
dependents: 1
|
|
34
34
|
- /src/debug/index.ts
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
37
37
|
file: /src/debug/log-partial-compiled/index.ts
|
|
38
|
-
bundle space:
|
|
38
|
+
bundle space: 3.74 %
|
|
39
39
|
rendered size: 3.37 KB
|
|
40
|
-
original size: 1.
|
|
40
|
+
original size: 1.161 KB
|
|
41
41
|
code reduction: 0 %
|
|
42
42
|
dependents: 1
|
|
43
43
|
- /src/debug/index.ts
|
|
44
44
|
|
|
45
|
+
█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
46
|
+
file: /src/helpers/filterField.ts
|
|
47
|
+
bundle space: 3.14 %
|
|
48
|
+
rendered size: 2.834 KB
|
|
49
|
+
original size: 2.914 KB
|
|
50
|
+
code reduction: 2.75 %
|
|
51
|
+
dependents: 2
|
|
52
|
+
- /src/helpers/filterFragmentDefinitions.ts
|
|
53
|
+
- /src/helpers/filterQuery.ts
|
|
54
|
+
|
|
55
|
+
█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
56
|
+
file: /src/helpers/buildKeysAndPaths.ts
|
|
57
|
+
bundle space: 2.73 %
|
|
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
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
68
|
+
file: /src/helpers/filterFragmentDefinitions.ts
|
|
69
|
+
bundle space: 1.6 %
|
|
70
|
+
rendered size: 1.441 KB
|
|
71
|
+
original size: 1.5 KB
|
|
72
|
+
code reduction: 3.93 %
|
|
73
|
+
dependents: 1
|
|
74
|
+
- /src/helpers/filterQuery.ts
|
|
75
|
+
|
|
76
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
77
|
+
file: /src/helpers/normalizeResponseData.ts
|
|
78
|
+
bundle space: 1.26 %
|
|
79
|
+
rendered size: 1.136 KB
|
|
80
|
+
original size: 277 Bytes
|
|
81
|
+
code reduction: 0 %
|
|
82
|
+
dependents: 1
|
|
83
|
+
- /src/main/index.ts
|
|
84
|
+
|
|
85
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
86
|
+
file: /src/helpers/filterQuery.ts
|
|
87
|
+
bundle space: 1.21 %
|
|
88
|
+
rendered size: 1.088 KB
|
|
89
|
+
original size: 1.467 KB
|
|
90
|
+
code reduction: 25.84 %
|
|
91
|
+
dependents: 1
|
|
92
|
+
- /src/main/index.ts
|
|
93
|
+
|
|
94
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
95
|
+
file: /src/helpers/filterIDsAndTypeNames.ts
|
|
96
|
+
bundle space: 1.11 %
|
|
97
|
+
rendered size: 998 Bytes
|
|
98
|
+
original size: 1.107 KB
|
|
99
|
+
code reduction: 9.85 %
|
|
100
|
+
dependents: 1
|
|
101
|
+
- /src/helpers/filterField.ts
|
|
102
|
+
|
|
103
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
104
|
+
file: /src/helpers/checkFieldPathChecklist.ts
|
|
105
|
+
bundle space: 1.06 %
|
|
106
|
+
rendered size: 957 Bytes
|
|
107
|
+
original size: 828 Bytes
|
|
108
|
+
code reduction: 0 %
|
|
109
|
+
dependents: 1
|
|
110
|
+
- /src/helpers/filterField.ts
|
|
111
|
+
|
|
112
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
113
|
+
file: /src/helpers/filterOutPropsWithArgsOrDirectives.ts
|
|
114
|
+
bundle space: 1.03 %
|
|
115
|
+
rendered size: 927 Bytes
|
|
116
|
+
original size: 1.119 KB
|
|
117
|
+
code reduction: 17.16 %
|
|
118
|
+
dependents: 1
|
|
119
|
+
- /src/main/index.ts
|
|
120
|
+
|
|
121
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
122
|
+
file: /src/helpers/filterInlineFragments.ts
|
|
123
|
+
bundle space: 0.87 %
|
|
124
|
+
rendered size: 788 Bytes
|
|
125
|
+
original size: 941 Bytes
|
|
126
|
+
code reduction: 16.26 %
|
|
127
|
+
dependents: 1
|
|
128
|
+
- /src/helpers/filterField.ts
|
|
129
|
+
|
|
130
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
131
|
+
file: /src/helpers/deriveOpCacheability.ts
|
|
132
|
+
bundle space: 0.87 %
|
|
133
|
+
rendered size: 786 Bytes
|
|
134
|
+
original size: 858 Bytes
|
|
135
|
+
code reduction: 8.39 %
|
|
136
|
+
dependents: 1
|
|
137
|
+
- /src/main/index.ts
|
|
138
|
+
|
|
139
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
140
|
+
file: /src/helpers/filterFragmentSpreads.ts
|
|
141
|
+
bundle space: 0.73 %
|
|
142
|
+
rendered size: 661 Bytes
|
|
143
|
+
original size: 936 Bytes
|
|
144
|
+
code reduction: 29.38 %
|
|
145
|
+
dependents: 1
|
|
146
|
+
- /src/helpers/filterField.ts
|
|
147
|
+
|
|
148
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
149
|
+
file: /src/helpers/createFragmentSpreadChecklist.ts
|
|
150
|
+
bundle space: 0.4 %
|
|
151
|
+
rendered size: 362 Bytes
|
|
152
|
+
original size: 470 Bytes
|
|
153
|
+
code reduction: 22.98 %
|
|
154
|
+
dependents: 1
|
|
155
|
+
- /src/helpers/filterQuery.ts
|
|
156
|
+
|
|
45
157
|
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
46
158
|
file: /src/consts/index.ts
|
|
47
|
-
bundle space: 0.
|
|
159
|
+
bundle space: 0.35 %
|
|
48
160
|
rendered size: 315 Bytes
|
|
49
161
|
original size: 390 Bytes
|
|
50
162
|
code reduction: 19.23 %
|
|
51
|
-
dependents:
|
|
163
|
+
dependents: 6
|
|
52
164
|
- /src/debug/log-cache-entry/index.ts
|
|
53
165
|
- /src/debug/log-cache-query/index.ts
|
|
54
166
|
- /src/debug/log-partial-compiled/index.ts
|
|
167
|
+
- /src/helpers/deriveOpCacheability.ts
|
|
55
168
|
- /src/main/index.ts
|
|
56
169
|
- /src/index.ts
|
|
57
170
|
|
|
171
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
172
|
+
file: /src/helpers/validTypeIDValue.ts
|
|
173
|
+
bundle space: 0.34 %
|
|
174
|
+
rendered size: 309 Bytes
|
|
175
|
+
original size: 426 Bytes
|
|
176
|
+
code reduction: 27.46 %
|
|
177
|
+
dependents: 1
|
|
178
|
+
- /src/main/index.ts
|
|
179
|
+
|
|
58
180
|
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
59
181
|
file: /src/defs/index.ts
|
|
60
182
|
bundle space: 0 %
|
|
61
183
|
rendered size: 0 Byte
|
|
62
|
-
original size: 5.
|
|
184
|
+
original size: 5.422 KB
|
|
63
185
|
code reduction: 100 %
|
|
64
186
|
dependents: 1
|
|
65
187
|
- /src/index.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/debug/log-cache-entry/index.ts"],"names":["logCacheEntry","_target","_propertyName","descriptor","method","value","descriptorValue","args","Promise","resolve","debugManager","otherContext","apply","startTime","now","endTime","duration","emit","CACHE_ENTRY_ADDED","cachemapOptions","cacheType","context","hash","options","stats"],"mappings":";;;;;;;;;AACA;;AAEe,SAASA,aAAT,GAAyB;AACtC,SAAO,CACLC,OADK,EAELC,aAFK,EAGLC,UAHK,KAII;AACT,UAAMC,MAAM,GAAGD,UAAU,CAACE,KAA1B;AACA,QAAI,CAACD,MAAL,EAAa;;AAEbD,IAAAA,UAAU,CAACE,KAAX,GAAmB,eAAeC,eAAf,CAA+B,GAAGC,IAAlC,EAA6D;AAC9E,aAAO,IAAIC,OAAJ,
|
|
1
|
+
{"version":3,"sources":["../../../../src/debug/log-cache-entry/index.ts"],"names":["logCacheEntry","_target","_propertyName","descriptor","method","value","descriptorValue","args","Promise","resolve","debugManager","otherContext","apply","startTime","now","endTime","duration","emit","CACHE_ENTRY_ADDED","cachemapOptions","cacheType","context","hash","options","stats"],"mappings":";;;;;;;;;AACA;;AAEe,SAASA,aAAT,GAAyB;AACtC,SAAO,CACLC,OADK,EAELC,aAFK,EAGLC,UAHK,KAII;AACT,UAAMC,MAAM,GAAGD,UAAU,CAACE,KAA1B;AACA,QAAI,CAACD,MAAL,EAAa;;AAEbD,IAAAA,UAAU,CAACE,KAAX,GAAmB,eAAeC,eAAf,CAA+B,GAAGC,IAAlC,EAA6D;AAC9E,aAAO,IAAIC,OAAJ,CAAkB,MAAMC,OAAN,IAAiB;AACxC,cAAM;AAAEC,UAAAA,YAAF;AAAgB,aAAGC;AAAnB,YAAoCJ,IAAI,CAAC,CAAD,CAA9C;;AAEA,YAAI,CAACG,YAAL,EAAmB;AACjB,gBAAMN,MAAM,CAACQ,KAAP,CAAa,IAAb,EAAmBL,IAAnB,CAAN;AACAE,UAAAA,OAAO;AACP;AACD;;AAED,cAAMI,SAAS,GAAGH,YAAY,CAACI,GAAb,EAAlB;AACA,cAAMV,MAAM,CAACQ,KAAP,CAAa,IAAb,EAAmBL,IAAnB,CAAN;AACA,cAAMQ,OAAO,GAAGL,YAAY,CAACI,GAAb,EAAhB;AACA,cAAME,QAAQ,GAAGD,OAAO,GAAGF,SAA3B;AACAJ,QAAAA,OAAO;AAEPC,QAAAA,YAAY,CAACO,IAAb,CAAkBC,yBAAlB,EAAqC;AACnCC,UAAAA,eAAe,EAAEZ,IAAI,CAAC,CAAD,CADc;AAEnCa,UAAAA,SAAS,EAAEb,IAAI,CAAC,CAAD,CAFoB;AAGnCc,UAAAA,OAAO,EAAEV,YAH0B;AAInCW,UAAAA,IAAI,EAAEf,IAAI,CAAC,CAAD,CAJyB;AAKnCgB,UAAAA,OAAO,EAAEhB,IAAI,CAAC,CAAD,CALsB;AAMnCiB,UAAAA,KAAK,EAAE;AAAER,YAAAA,QAAF;AAAYD,YAAAA,OAAZ;AAAqBF,YAAAA;AAArB,WAN4B;AAOnCR,UAAAA,KAAK,EAAEE,IAAI,CAAC,CAAD;AAPwB,SAArC;AASD,OAxBM,CAAP;AAyBD,KA1BD;AA2BD,GAnCD;AAoCD","sourcesContent":["import { RequestContext } from \"@graphql-box/core\";\nimport { CACHE_ENTRY_ADDED } from \"../../consts\";\n\nexport default function logCacheEntry() {\n return (\n _target: any,\n _propertyName: string,\n descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise<any>>,\n ): void => {\n const method = descriptor.value;\n if (!method) return;\n\n descriptor.value = async function descriptorValue(...args: any[]): Promise<any> {\n return new Promise<void>(async resolve => {\n const { debugManager, ...otherContext } = args[5] as RequestContext;\n\n if (!debugManager) {\n await method.apply(this, args);\n resolve();\n return;\n }\n\n const startTime = debugManager.now();\n await method.apply(this, args);\n const endTime = debugManager.now();\n const duration = endTime - startTime;\n resolve();\n\n debugManager.emit(CACHE_ENTRY_ADDED, {\n cachemapOptions: args[3],\n cacheType: args[0],\n context: otherContext,\n hash: args[1],\n options: args[4],\n stats: { duration, endTime, startTime },\n value: args[2],\n });\n });\n };\n };\n}\n"],"file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/debug/log-partial-compiled/index.ts"],"names":["logPartialCompiled","_target","_propertyName","descriptor","method","value","descriptorValue","args","Promise","resolve","debugManager","otherContext","apply","startTime","now","endTime","duration","emit","PARTIAL_QUERY_COMPILED","context","hash","options","partialQueryResponse","stats"],"mappings":";;;;;;;;;AACA;;AAEe,SAASA,kBAAT,GAA8B;AAC3C,SAAO,CACLC,OADK,EAELC,aAFK,EAGLC,UAHK,KAII;AACT,UAAMC,MAAM,GAAGD,UAAU,CAACE,KAA1B;AACA,QAAI,CAACD,MAAL,EAAa;;AAEbD,IAAAA,UAAU,CAACE,KAAX,GAAmB,eAAeC,eAAf,CAA+B,GAAGC,IAAlC,EAA6D;AAC9E,aAAO,IAAIC,OAAJ,
|
|
1
|
+
{"version":3,"sources":["../../../../src/debug/log-partial-compiled/index.ts"],"names":["logPartialCompiled","_target","_propertyName","descriptor","method","value","descriptorValue","args","Promise","resolve","debugManager","otherContext","apply","startTime","now","endTime","duration","emit","PARTIAL_QUERY_COMPILED","context","hash","options","partialQueryResponse","stats"],"mappings":";;;;;;;;;AACA;;AAEe,SAASA,kBAAT,GAA8B;AAC3C,SAAO,CACLC,OADK,EAELC,aAFK,EAGLC,UAHK,KAII;AACT,UAAMC,MAAM,GAAGD,UAAU,CAACE,KAA1B;AACA,QAAI,CAACD,MAAL,EAAa;;AAEbD,IAAAA,UAAU,CAACE,KAAX,GAAmB,eAAeC,eAAf,CAA+B,GAAGC,IAAlC,EAA6D;AAC9E,aAAO,IAAIC,OAAJ,CAAkB,MAAMC,OAAN,IAAiB;AACxC,cAAM;AAAEC,UAAAA,YAAF;AAAgB,aAAGC;AAAnB,YAAoCJ,IAAI,CAAC,CAAD,CAA9C;;AAEA,YAAI,CAACG,YAAL,EAAmB;AACjB,gBAAMN,MAAM,CAACQ,KAAP,CAAa,IAAb,EAAmBL,IAAnB,CAAN;AACAE,UAAAA,OAAO;AACP;AACD;;AAED,cAAMI,SAAS,GAAGH,YAAY,CAACI,GAAb,EAAlB;AACA,cAAMV,MAAM,CAACQ,KAAP,CAAa,IAAb,EAAmBL,IAAnB,CAAN;AACA,cAAMQ,OAAO,GAAGL,YAAY,CAACI,GAAb,EAAhB;AACA,cAAME,QAAQ,GAAGD,OAAO,GAAGF,SAA3B;AACAJ,QAAAA,OAAO;AAEPC,QAAAA,YAAY,CAACO,IAAb,CAAkBC,8BAAlB,EAA0C;AACxCC,UAAAA,OAAO,EAAER,YAD+B;AAExCS,UAAAA,IAAI,EAAEb,IAAI,CAAC,CAAD,CAF8B;AAGxCc,UAAAA,OAAO,EAAEd,IAAI,CAAC,CAAD,CAH2B;AAIxCe,UAAAA,oBAAoB,EAAEf,IAAI,CAAC,CAAD,CAJc;AAKxCgB,UAAAA,KAAK,EAAE;AAAEP,YAAAA,QAAF;AAAYD,YAAAA,OAAZ;AAAqBF,YAAAA;AAArB;AALiC,SAA1C;AAOD,OAtBM,CAAP;AAuBD,KAxBD;AAyBD,GAjCD;AAkCD","sourcesContent":["import { RequestContext } from \"@graphql-box/core\";\nimport { PARTIAL_QUERY_COMPILED } from \"../../consts\";\n\nexport default function logPartialCompiled() {\n return (\n _target: any,\n _propertyName: string,\n descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise<any>>,\n ): void => {\n const method = descriptor.value;\n if (!method) return;\n\n descriptor.value = async function descriptorValue(...args: any[]): Promise<any> {\n return new Promise<void>(async resolve => {\n const { debugManager, ...otherContext } = args[3] as RequestContext;\n\n if (!debugManager) {\n await method.apply(this, args);\n resolve();\n return;\n }\n\n const startTime = debugManager.now();\n await method.apply(this, args);\n const endTime = debugManager.now();\n const duration = endTime - startTime;\n resolve();\n\n debugManager.emit(PARTIAL_QUERY_COMPILED, {\n context: otherContext,\n hash: args[0],\n options: args[2],\n partialQueryResponse: args[1],\n stats: { duration, endTime, startTime },\n });\n });\n };\n };\n}\n"],"file":"index.js"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.buildFieldKeysAndPaths = exports.buildRequestFieldCacheKey = exports.buildKey = void 0;
|
|
9
|
+
|
|
10
|
+
var _isNumber2 = _interopRequireDefault(require("lodash/isNumber"));
|
|
11
|
+
|
|
12
|
+
var _helpers = require("@graphql-box/helpers");
|
|
13
|
+
|
|
14
|
+
const buildKey = (path, key) => {
|
|
15
|
+
const paths = [];
|
|
16
|
+
|
|
17
|
+
if (path.length) {
|
|
18
|
+
paths.push(path);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
paths.push(key);
|
|
22
|
+
return paths.join(".");
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
exports.buildKey = buildKey;
|
|
26
|
+
|
|
27
|
+
const buildRequestFieldCacheKey = (name, requestFieldCacheKey, args, directives, index) => {
|
|
28
|
+
var _directives$inherited, _directives$own;
|
|
29
|
+
|
|
30
|
+
let key = `${(0, _isNumber2.default)(index) ? index : name}`;
|
|
31
|
+
|
|
32
|
+
if (args) {
|
|
33
|
+
key = `${key}(${JSON.stringify(args)})`;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (directives !== null && directives !== void 0 && (_directives$inherited = directives.inherited) !== null && _directives$inherited !== void 0 && _directives$inherited.length) {
|
|
37
|
+
key = `${directives.inherited.join(" ")} ${key}`;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (directives !== null && directives !== void 0 && (_directives$own = directives.own) !== null && _directives$own !== void 0 && _directives$own.length) {
|
|
41
|
+
key = `${key} ${directives.own.join(" ")}`;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return buildKey(requestFieldCacheKey, key);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
exports.buildRequestFieldCacheKey = buildRequestFieldCacheKey;
|
|
48
|
+
|
|
49
|
+
const buildFieldKeysAndPaths = (field, options, context) => {
|
|
50
|
+
const name = (0, _helpers.getName)(field);
|
|
51
|
+
const {
|
|
52
|
+
index,
|
|
53
|
+
requestFieldCacheKey = "",
|
|
54
|
+
requestFieldPath = "",
|
|
55
|
+
responseDataPath = ""
|
|
56
|
+
} = options;
|
|
57
|
+
const fieldAliasOrName = (0, _helpers.getAlias)(field) || name;
|
|
58
|
+
const updatedRequestFieldPath = (0, _isNumber2.default)(index) ? requestFieldPath : buildKey(requestFieldPath, fieldAliasOrName);
|
|
59
|
+
const fieldTypeInfo = context.fieldTypeMap.get(updatedRequestFieldPath);
|
|
60
|
+
const updatedRequestFieldCacheKey = buildRequestFieldCacheKey(name, requestFieldCacheKey, (0, _helpers.getArguments)(field), fieldTypeInfo === null || fieldTypeInfo === void 0 ? void 0 : fieldTypeInfo.directives, index);
|
|
61
|
+
const propNameOrIndex = (0, _isNumber2.default)(index) ? index : fieldAliasOrName;
|
|
62
|
+
const updatedResponseDataPath = buildKey(responseDataPath, propNameOrIndex);
|
|
63
|
+
return {
|
|
64
|
+
hashedRequestFieldCacheKey: (0, _helpers.hashRequest)(updatedRequestFieldCacheKey),
|
|
65
|
+
propNameOrIndex,
|
|
66
|
+
requestFieldCacheKey: updatedRequestFieldCacheKey,
|
|
67
|
+
requestFieldPath: updatedRequestFieldPath,
|
|
68
|
+
responseDataPath: updatedResponseDataPath
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
exports.buildFieldKeysAndPaths = buildFieldKeysAndPaths;
|
|
73
|
+
//# sourceMappingURL=buildKeysAndPaths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/buildKeysAndPaths.ts"],"names":["buildKey","path","key","paths","length","push","join","buildRequestFieldCacheKey","name","requestFieldCacheKey","args","directives","index","JSON","stringify","inherited","own","buildFieldKeysAndPaths","field","options","context","requestFieldPath","responseDataPath","fieldAliasOrName","updatedRequestFieldPath","fieldTypeInfo","fieldTypeMap","get","updatedRequestFieldCacheKey","propNameOrIndex","updatedResponseDataPath","hashedRequestFieldCacheKey"],"mappings":";;;;;;;;;;;AACA;;AAKO,MAAMA,QAAQ,GAAG,CAACC,IAAD,EAAeC,GAAf,KAAwC;AAC9D,QAAMC,KAA0B,GAAG,EAAnC;;AAEA,MAAIF,IAAI,CAACG,MAAT,EAAiB;AACfD,IAAAA,KAAK,CAACE,IAAN,CAAWJ,IAAX;AACD;;AAEDE,EAAAA,KAAK,CAACE,IAAN,CAAWH,GAAX;AACA,SAAOC,KAAK,CAACG,IAAN,CAAW,GAAX,CAAP;AACD,CATM;;;;AAWA,MAAMC,yBAAyB,GAAG,CACvCC,IADuC,EAEvCC,oBAFuC,EAGvCC,IAHuC,EAIvCC,UAJuC,EAKvCC,KALuC,KAMpC;AAAA;;AACH,MAAIV,GAAG,GAAI,GAAE,wBAASU,KAAT,IAAkBA,KAAlB,GAA0BJ,IAAK,EAA5C;;AAEA,MAAIE,IAAJ,EAAU;AACRR,IAAAA,GAAG,GAAI,GAAEA,GAAI,IAAGW,IAAI,CAACC,SAAL,CAAeJ,IAAf,CAAqB,GAArC;AACD;;AAED,MAAIC,UAAJ,aAAIA,UAAJ,wCAAIA,UAAU,CAAEI,SAAhB,kDAAI,sBAAuBX,MAA3B,EAAmC;AACjCF,IAAAA,GAAG,GAAI,GAAES,UAAU,CAACI,SAAX,CAAqBT,IAArB,CAA0B,GAA1B,CAA+B,IAAGJ,GAAI,EAA/C;AACD;;AAED,MAAIS,UAAJ,aAAIA,UAAJ,kCAAIA,UAAU,CAAEK,GAAhB,4CAAI,gBAAiBZ,MAArB,EAA6B;AAC3BF,IAAAA,GAAG,GAAI,GAAEA,GAAI,IAAGS,UAAU,CAACK,GAAX,CAAeV,IAAf,CAAoB,GAApB,CAAyB,EAAzC;AACD;;AAED,SAAON,QAAQ,CAACS,oBAAD,EAAuBP,GAAvB,CAAf;AACD,CAtBM;;;;AAwBA,MAAMe,sBAAsB,GAAG,CACpCC,KADoC,EAEpCC,OAFoC,EAGpCC,OAHoC,KAInB;AACjB,QAAMZ,IAAI,GAAG,sBAAQU,KAAR,CAAb;AACA,QAAM;AAAEN,IAAAA,KAAF;AAASH,IAAAA,oBAAoB,GAAG,EAAhC;AAAoCY,IAAAA,gBAAgB,GAAG,EAAvD;AAA2DC,IAAAA,gBAAgB,GAAG;AAA9E,MAAqFH,OAA3F;AACA,QAAMI,gBAAgB,GAAG,uBAASL,KAAT,KAAmBV,IAA5C;AACA,QAAMgB,uBAAuB,GAAG,wBAASZ,KAAT,IAAkBS,gBAAlB,GAAqCrB,QAAQ,CAACqB,gBAAD,EAAmBE,gBAAnB,CAA7E;AACA,QAAME,aAAa,GAAGL,OAAO,CAACM,YAAR,CAAqBC,GAArB,CAAyBH,uBAAzB,CAAtB;AAEA,QAAMI,2BAA2B,GAAGrB,yBAAyB,CAC3DC,IAD2D,EAE3DC,oBAF2D,EAG3D,2BAAaS,KAAb,CAH2D,EAI3DO,aAJ2D,aAI3DA,aAJ2D,uBAI3DA,aAAa,CAAEd,UAJ4C,EAK3DC,KAL2D,CAA7D;AAQA,QAAMiB,eAAe,GAAG,wBAASjB,KAAT,IAAkBA,KAAlB,GAA0BW,gBAAlD;AACA,QAAMO,uBAAuB,GAAG9B,QAAQ,CAACsB,gBAAD,EAAmBO,eAAnB,CAAxC;AAEA,SAAO;AACLE,IAAAA,0BAA0B,EAAE,0BAAYH,2BAAZ,CADvB;AAELC,IAAAA,eAFK;AAGLpB,IAAAA,oBAAoB,EAAEmB,2BAHjB;AAILP,IAAAA,gBAAgB,EAAEG,uBAJb;AAKLF,IAAAA,gBAAgB,EAAEQ;AALb,GAAP;AAOD,CA7BM","sourcesContent":["import { FieldTypeInfo, PlainObjectMap } from \"@graphql-box/core\";\nimport { getAlias, getArguments, getName, hashRequest } from \"@graphql-box/helpers\";\nimport { FieldNode } from \"graphql\";\nimport { isNumber } from \"lodash\";\nimport { CacheManagerContext, KeysAndPaths, KeysAndPathsOptions } from \"../defs\";\n\nexport const buildKey = (path: string, key: string | number) => {\n const paths: (string | number)[] = [];\n\n if (path.length) {\n paths.push(path);\n }\n\n paths.push(key);\n return paths.join(\".\");\n};\n\nexport const buildRequestFieldCacheKey = (\n name: string,\n requestFieldCacheKey: string,\n args: PlainObjectMap | undefined,\n directives?: FieldTypeInfo[\"directives\"],\n index?: number,\n) => {\n let key = `${isNumber(index) ? index : name}`;\n\n if (args) {\n key = `${key}(${JSON.stringify(args)})`;\n }\n\n if (directives?.inherited?.length) {\n key = `${directives.inherited.join(\" \")} ${key}`;\n }\n\n if (directives?.own?.length) {\n key = `${key} ${directives.own.join(\" \")}`;\n }\n\n return buildKey(requestFieldCacheKey, key);\n};\n\nexport const buildFieldKeysAndPaths = (\n field: FieldNode,\n options: KeysAndPathsOptions,\n context: CacheManagerContext,\n): KeysAndPaths => {\n const name = getName(field) as FieldNode[\"name\"][\"value\"];\n const { index, requestFieldCacheKey = \"\", requestFieldPath = \"\", responseDataPath = \"\" } = options;\n const fieldAliasOrName = getAlias(field) || name;\n const updatedRequestFieldPath = isNumber(index) ? requestFieldPath : buildKey(requestFieldPath, fieldAliasOrName);\n const fieldTypeInfo = context.fieldTypeMap.get(updatedRequestFieldPath);\n\n const updatedRequestFieldCacheKey = buildRequestFieldCacheKey(\n name,\n requestFieldCacheKey,\n getArguments(field),\n fieldTypeInfo?.directives,\n index,\n );\n\n const propNameOrIndex = isNumber(index) ? index : fieldAliasOrName;\n const updatedResponseDataPath = buildKey(responseDataPath, propNameOrIndex);\n\n return {\n hashedRequestFieldCacheKey: hashRequest(updatedRequestFieldCacheKey),\n propNameOrIndex,\n requestFieldCacheKey: updatedRequestFieldCacheKey,\n requestFieldPath: updatedRequestFieldPath,\n responseDataPath: updatedResponseDataPath,\n };\n};\n"],"file":"buildKeysAndPaths.js"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _default = (fieldPathChecklistValues, fieldTypeName) => {
|
|
9
|
+
if (!fieldPathChecklistValues || !fieldPathChecklistValues.length) {
|
|
10
|
+
return {
|
|
11
|
+
hasData: false,
|
|
12
|
+
typeUnused: !!fieldTypeName
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (fieldPathChecklistValues.length === 1) {
|
|
17
|
+
const {
|
|
18
|
+
hasData,
|
|
19
|
+
typeName
|
|
20
|
+
} = fieldPathChecklistValues[0];
|
|
21
|
+
const typeUnused = !typeName ? undefined : typeName !== fieldTypeName;
|
|
22
|
+
return {
|
|
23
|
+
hasData,
|
|
24
|
+
typeUnused
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return {
|
|
29
|
+
hasData: fieldPathChecklistValues.some(({
|
|
30
|
+
hasData,
|
|
31
|
+
typeName
|
|
32
|
+
}) => typeName === fieldTypeName && hasData),
|
|
33
|
+
typeUnused: !fieldPathChecklistValues.every(({
|
|
34
|
+
typeName
|
|
35
|
+
}) => typeName === fieldTypeName)
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
exports.default = _default;
|
|
40
|
+
//# sourceMappingURL=checkFieldPathChecklist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/checkFieldPathChecklist.ts"],"names":["fieldPathChecklistValues","fieldTypeName","length","hasData","typeUnused","typeName","undefined","some","every"],"mappings":";;;;;;;eAEe,CACbA,wBADa,EAEbC,aAFa,KAGqB;AAClC,MAAI,CAACD,wBAAD,IAA6B,CAACA,wBAAwB,CAACE,MAA3D,EAAmE;AACjE,WAAO;AAAEC,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,UAAU,EAAE,CAAC,CAACH;AAAhC,KAAP;AACD;;AAED,MAAID,wBAAwB,CAACE,MAAzB,KAAoC,CAAxC,EAA2C;AACzC,UAAM;AAAEC,MAAAA,OAAF;AAAWE,MAAAA;AAAX,QAAwBL,wBAAwB,CAAC,CAAD,CAAtD;AACA,UAAMI,UAAU,GAAG,CAACC,QAAD,GAAYC,SAAZ,GAAwBD,QAAQ,KAAKJ,aAAxD;AACA,WAAO;AAAEE,MAAAA,OAAF;AAAWC,MAAAA;AAAX,KAAP;AACD;;AAED,SAAO;AACLD,IAAAA,OAAO,EAAEH,wBAAwB,CAACO,IAAzB,CAA8B,CAAC;AAAEJ,MAAAA,OAAF;AAAWE,MAAAA;AAAX,KAAD,KAA2BA,QAAQ,KAAKJ,aAAb,IAA8BE,OAAvF,CADJ;AAELC,IAAAA,UAAU,EAAE,CAACJ,wBAAwB,CAACQ,KAAzB,CAA+B,CAAC;AAAEH,MAAAA;AAAF,KAAD,KAAkBA,QAAQ,KAAKJ,aAA9D;AAFR,GAAP;AAID,C","sourcesContent":["import { CheckFieldPathChecklistResult, FieldPathChecklistValue } from \"../defs\";\n\nexport default (\n fieldPathChecklistValues: FieldPathChecklistValue[] | undefined,\n fieldTypeName: string | undefined,\n): CheckFieldPathChecklistResult => {\n if (!fieldPathChecklistValues || !fieldPathChecklistValues.length) {\n return { hasData: false, typeUnused: !!fieldTypeName };\n }\n\n if (fieldPathChecklistValues.length === 1) {\n const { hasData, typeName } = fieldPathChecklistValues[0];\n const typeUnused = !typeName ? undefined : typeName !== fieldTypeName;\n return { hasData, typeUnused };\n }\n\n return {\n hasData: fieldPathChecklistValues.some(({ hasData, typeName }) => typeName === fieldTypeName && hasData),\n typeUnused: !fieldPathChecklistValues.every(({ typeName }) => typeName === fieldTypeName),\n };\n};\n"],"file":"checkFieldPathChecklist.js"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _keys2 = _interopRequireDefault(require("lodash/keys"));
|
|
11
|
+
|
|
12
|
+
var _helpers = require("@graphql-box/helpers");
|
|
13
|
+
|
|
14
|
+
var _default = ast => {
|
|
15
|
+
var _getFragmentDefinitio;
|
|
16
|
+
|
|
17
|
+
return (0, _keys2.default)((_getFragmentDefinitio = (0, _helpers.getFragmentDefinitions)(ast)) !== null && _getFragmentDefinitio !== void 0 ? _getFragmentDefinitio : {}).reduce((acc, name) => {
|
|
18
|
+
acc[name] = {
|
|
19
|
+
deleted: 0,
|
|
20
|
+
paths: [],
|
|
21
|
+
total: 0
|
|
22
|
+
};
|
|
23
|
+
return acc;
|
|
24
|
+
}, {});
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
exports.default = _default;
|
|
28
|
+
//# sourceMappingURL=createFragmentSpreadChecklist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/createFragmentSpreadChecklist.ts"],"names":["ast","reduce","acc","name","deleted","paths","total"],"mappings":";;;;;;;;;;;AAAA;;eAYgBA,GAAD;AAAA;;AAAA,SACb,6CAAK,qCAAuBA,GAAvB,CAAL,yEAAoC,EAApC,EAAwCC,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;AAAhC,KAAZ;AACA,WAAOJ,GAAP;AACD,GAHD,EAGG,EAHH,CADa;AAAA,C","sourcesContent":["import { getFragmentDefinitions } from \"@graphql-box/helpers\";\nimport { DocumentNode } from \"graphql\";\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: DocumentNode) =>\n keys(getFragmentDefinitions(ast) ?? {}).reduce((acc: FragmentSpreadCheckist, name) => {\n acc[name] = { deleted: 0, paths: [], total: 0 };\n return acc;\n }, {});\n"],"file":"createFragmentSpreadChecklist.js"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
|
|
11
|
+
|
|
12
|
+
var _cacheability = _interopRequireDefault(require("cacheability"));
|
|
13
|
+
|
|
14
|
+
var _consts = require("../consts");
|
|
15
|
+
|
|
16
|
+
var _default = ({
|
|
17
|
+
_cacheMetadata,
|
|
18
|
+
fallback,
|
|
19
|
+
headers
|
|
20
|
+
}) => {
|
|
21
|
+
if (_cacheMetadata && !(0, _isEmpty2.default)(_cacheMetadata)) {
|
|
22
|
+
const [first, ...rest] = Object.values(_cacheMetadata);
|
|
23
|
+
return new _cacheability.default({
|
|
24
|
+
metadata: rest.reduce((acc, metadata) => {
|
|
25
|
+
if (metadata.ttl < acc.ttl) {
|
|
26
|
+
return metadata;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return acc;
|
|
30
|
+
}, first)
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (headers && headers.has(_consts.HEADER_CACHE_CONTROL)) {
|
|
35
|
+
return new _cacheability.default({
|
|
36
|
+
headers
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return new _cacheability.default({
|
|
41
|
+
cacheControl: fallback
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
exports.default = _default;
|
|
46
|
+
//# sourceMappingURL=deriveOpCacheability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/deriveOpCacheability.ts"],"names":["_cacheMetadata","fallback","headers","first","rest","Object","values","Cacheability","metadata","reduce","acc","ttl","has","HEADER_CACHE_CONTROL","cacheControl"],"mappings":";;;;;;;;;;;AACA;;AAEA;;eAQe,CAAC;AAAEA,EAAAA,cAAF;AAAkBC,EAAAA,QAAlB;AAA4BC,EAAAA;AAA5B,CAAD,KAAiE;AAC9E,MAAIF,cAAc,IAAI,CAAC,uBAAQA,cAAR,CAAvB,EAAgD;AAC9C,UAAM,CAACG,KAAD,EAAQ,GAAGC,IAAX,IAAmBC,MAAM,CAACC,MAAP,CAAcN,cAAd,CAAzB;AAEA,WAAO,IAAIO,qBAAJ,CAAiB;AACtBC,MAAAA,QAAQ,EAAEJ,IAAI,CAACK,MAAL,CAAY,CAACC,GAAD,EAAMF,QAAN,KAAmB;AACvC,YAAIA,QAAQ,CAACG,GAAT,GAAeD,GAAG,CAACC,GAAvB,EAA4B;AAC1B,iBAAOH,QAAP;AACD;;AAED,eAAOE,GAAP;AACD,OANS,EAMPP,KANO;AADY,KAAjB,CAAP;AASD;;AAED,MAAID,OAAO,IAAIA,OAAO,CAACU,GAAR,CAAYC,4BAAZ,CAAf,EAAkD;AAChD,WAAO,IAAIN,qBAAJ,CAAiB;AAAEL,MAAAA;AAAF,KAAjB,CAAP;AACD;;AAED,SAAO,IAAIK,qBAAJ,CAAiB;AAAEO,IAAAA,YAAY,EAAEb;AAAhB,GAAjB,CAAP;AACD,C","sourcesContent":["import { DehydratedCacheMetadata } from \"@graphql-box/core\";\nimport Cacheability from \"cacheability\";\nimport { isEmpty } from \"lodash\";\nimport { HEADER_CACHE_CONTROL } from \"../consts\";\n\nexport type Params = {\n _cacheMetadata?: DehydratedCacheMetadata;\n fallback: string;\n headers?: Headers;\n};\n\nexport default ({ _cacheMetadata, fallback, headers }: Params): Cacheability => {\n if (_cacheMetadata && !isEmpty(_cacheMetadata)) {\n const [first, ...rest] = Object.values(_cacheMetadata);\n\n return new Cacheability({\n metadata: rest.reduce((acc, metadata) => {\n if (metadata.ttl < acc.ttl) {\n return metadata;\n }\n\n return acc;\n }, first),\n });\n }\n\n if (headers && headers.has(HEADER_CACHE_CONTROL)) {\n return new Cacheability({ headers });\n }\n\n return new Cacheability({ cacheControl: fallback });\n};\n"],"file":"deriveOpCacheability.js"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _core = require("@graphql-box/core");
|
|
11
|
+
|
|
12
|
+
var _helpers = require("@graphql-box/helpers");
|
|
13
|
+
|
|
14
|
+
var _buildKeysAndPaths = require("./buildKeysAndPaths");
|
|
15
|
+
|
|
16
|
+
var _checkFieldPathChecklist = _interopRequireDefault(require("./checkFieldPathChecklist"));
|
|
17
|
+
|
|
18
|
+
var _filterFragmentSpreads = _interopRequireDefault(require("./filterFragmentSpreads"));
|
|
19
|
+
|
|
20
|
+
var _filterIDsAndTypeNames = _interopRequireDefault(require("./filterIDsAndTypeNames"));
|
|
21
|
+
|
|
22
|
+
var _filterInlineFragments = _interopRequireDefault(require("./filterInlineFragments"));
|
|
23
|
+
|
|
24
|
+
const filterField = (field, fieldPathChecklist, fragmentSpreadChecklist, ancestorRequestFieldPath, context) => {
|
|
25
|
+
const {
|
|
26
|
+
fragmentDefinitions,
|
|
27
|
+
typeIDKey
|
|
28
|
+
} = context;
|
|
29
|
+
const fieldsAndTypeNames = (0, _helpers.getChildFields)(field, {
|
|
30
|
+
fragmentDefinitions
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
if (!fieldsAndTypeNames) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const fragmentSpreadFieldCounter = {};
|
|
38
|
+
|
|
39
|
+
for (let i = fieldsAndTypeNames.length - 1; i >= 0; i -= 1) {
|
|
40
|
+
const {
|
|
41
|
+
fieldNode: childField,
|
|
42
|
+
fragmentKind,
|
|
43
|
+
fragmentName,
|
|
44
|
+
typeName: childTypeName
|
|
45
|
+
} = fieldsAndTypeNames[i];
|
|
46
|
+
|
|
47
|
+
if (fragmentKind === _helpers.FRAGMENT_SPREAD && fragmentName && !fragmentSpreadFieldCounter[fragmentName]) {
|
|
48
|
+
var _getChildFields$lengt, _getChildFields;
|
|
49
|
+
|
|
50
|
+
fragmentSpreadFieldCounter[fragmentName] = {
|
|
51
|
+
hasData: 0,
|
|
52
|
+
total: fragmentDefinitions !== null && fragmentDefinitions !== void 0 && fragmentDefinitions[fragmentName] ? (_getChildFields$lengt = (_getChildFields = (0, _helpers.getChildFields)(fragmentDefinitions === null || fragmentDefinitions === void 0 ? void 0 : fragmentDefinitions[fragmentName], {
|
|
53
|
+
fragmentDefinitions
|
|
54
|
+
})) === null || _getChildFields === void 0 ? void 0 : _getChildFields.length) !== null && _getChildFields$lengt !== void 0 ? _getChildFields$lengt : 0 : 0
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const childFieldName = (0, _helpers.getName)(childField);
|
|
59
|
+
|
|
60
|
+
if (childFieldName === typeIDKey || childFieldName === _core.TYPE_NAME_KEY) {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const {
|
|
65
|
+
requestFieldPath
|
|
66
|
+
} = (0, _buildKeysAndPaths.buildFieldKeysAndPaths)(childField, {
|
|
67
|
+
requestFieldPath: ancestorRequestFieldPath
|
|
68
|
+
}, context);
|
|
69
|
+
const {
|
|
70
|
+
hasData,
|
|
71
|
+
typeUnused
|
|
72
|
+
} = (0, _checkFieldPathChecklist.default)(fieldPathChecklist.get(requestFieldPath), childTypeName);
|
|
73
|
+
|
|
74
|
+
if (hasData || typeUnused) {
|
|
75
|
+
if (fragmentKind === _helpers.FRAGMENT_SPREAD) {
|
|
76
|
+
fragmentSpreadFieldCounter[fragmentName].hasData += 1;
|
|
77
|
+
} else if (!(0, _helpers.hasChildFields)(childField, {
|
|
78
|
+
fragmentDefinitions
|
|
79
|
+
})) {
|
|
80
|
+
(0, _helpers.deleteChildFields)(field, childField);
|
|
81
|
+
} else if (filterField(childField, fieldPathChecklist, fragmentSpreadChecklist, requestFieldPath, context)) {
|
|
82
|
+
(0, _helpers.deleteChildFields)(field, childField);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
(0, _filterFragmentSpreads.default)(field, fragmentSpreadFieldCounter, fragmentSpreadChecklist, ancestorRequestFieldPath);
|
|
88
|
+
(0, _filterInlineFragments.default)(field, context);
|
|
89
|
+
(0, _filterIDsAndTypeNames.default)(field, context);
|
|
90
|
+
return !(0, _helpers.hasChildFields)(field, {
|
|
91
|
+
fragmentDefinitions
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
var _default = filterField;
|
|
96
|
+
exports.default = _default;
|
|
97
|
+
//# sourceMappingURL=filterField.js.map
|
|
@@ -0,0 +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 } 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,\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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _keys2 = _interopRequireDefault(require("lodash/keys"));
|
|
11
|
+
|
|
12
|
+
var _helpers = require("@graphql-box/helpers");
|
|
13
|
+
|
|
14
|
+
var _filterField = _interopRequireDefault(require("./filterField"));
|
|
15
|
+
|
|
16
|
+
var _default = (ast, fieldPathChecklist, fragmentSpreadChecklist, context) => {
|
|
17
|
+
var _getFragmentDefinitio;
|
|
18
|
+
|
|
19
|
+
const definitionsToFilter = (0, _keys2.default)(fragmentSpreadChecklist).reduce((namesAndPaths, key) => {
|
|
20
|
+
const {
|
|
21
|
+
deleted,
|
|
22
|
+
total
|
|
23
|
+
} = fragmentSpreadChecklist[key];
|
|
24
|
+
return deleted === 0 && total === 1 ? [...namesAndPaths, {
|
|
25
|
+
name: key,
|
|
26
|
+
path: fragmentSpreadChecklist[key].paths[0]
|
|
27
|
+
}] : namesAndPaths;
|
|
28
|
+
}, []);
|
|
29
|
+
const fragmentDefinitions = (_getFragmentDefinitio = (0, _helpers.getFragmentDefinitions)(ast)) !== null && _getFragmentDefinitio !== void 0 ? _getFragmentDefinitio : {};
|
|
30
|
+
definitionsToFilter.forEach(({
|
|
31
|
+
name,
|
|
32
|
+
path
|
|
33
|
+
}) => {
|
|
34
|
+
const fragmentDefinition = fragmentDefinitions[name];
|
|
35
|
+
(0, _filterField.default)(fragmentDefinition, fieldPathChecklist, fragmentSpreadChecklist, path, context);
|
|
36
|
+
});
|
|
37
|
+
const definitionsToDelete = (0, _keys2.default)(fragmentSpreadChecklist).reduce((names, key) => {
|
|
38
|
+
const {
|
|
39
|
+
deleted,
|
|
40
|
+
total
|
|
41
|
+
} = fragmentSpreadChecklist[key];
|
|
42
|
+
return deleted > 0 && deleted === total ? [...names, key] : names;
|
|
43
|
+
}, []);
|
|
44
|
+
return (0, _helpers.deleteFragmentDefinitions)(ast, {
|
|
45
|
+
include: definitionsToDelete
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
exports.default = _default;
|
|
50
|
+
//# sourceMappingURL=filterFragmentDefinitions.js.map
|
|
@@ -0,0 +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","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,SAAO,wCAA0BjB,GAA1B,EAA+B;AACpCkB,IAAAA,OAAO,EAAEF;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 return deleteFragmentDefinitions(ast, {\n include: definitionsToDelete,\n });\n};\n"],"file":"filterFragmentDefinitions.js"}
|