@apollo/client 3.8.0-rc.0 → 3.8.0-rc.2

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 (293) hide show
  1. package/apollo-client.cjs +231 -202
  2. package/apollo-client.cjs.map +1 -1
  3. package/apollo-client.min.cjs +1 -1
  4. package/cache/index.d.ts +13 -7
  5. package/cache/index.d.ts.map +1 -1
  6. package/cache/index.js +4 -4
  7. package/cache/index.js.map +1 -1
  8. package/cache/inmemory/types.d.ts +2 -2
  9. package/cache/inmemory/types.d.ts.map +1 -1
  10. package/cache/inmemory/types.js.map +1 -1
  11. package/core/core.cjs +2 -2
  12. package/core/core.cjs.map +1 -1
  13. package/core/core.cjs.native.js +2 -2
  14. package/core/equalByQuery.d.ts +2 -2
  15. package/core/equalByQuery.js +3 -3
  16. package/core/equalByQuery.js.map +1 -1
  17. package/core/index.d.ts +19 -14
  18. package/core/index.d.ts.map +1 -1
  19. package/core/index.js +12 -12
  20. package/core/index.js.map +1 -1
  21. package/core/types.d.ts +1 -1
  22. package/core/types.d.ts.map +1 -1
  23. package/core/types.js.map +1 -1
  24. package/dev/dev.cjs +22 -24
  25. package/dev/dev.cjs.map +1 -1
  26. package/dev/dev.cjs.native.js +22 -24
  27. package/dev/index.d.ts +3 -3
  28. package/dev/index.js +3 -3
  29. package/dev/index.js.map +1 -1
  30. package/dev/loadDevMessages.js +2 -2
  31. package/dev/loadDevMessages.js.map +1 -1
  32. package/dev/loadErrorMessageHandler.d.ts +1 -1
  33. package/dev/loadErrorMessageHandler.js +4 -4
  34. package/dev/loadErrorMessageHandler.js.map +1 -1
  35. package/dev/loadErrorMessages.js +2 -2
  36. package/dev/loadErrorMessages.js.map +1 -1
  37. package/invariantErrorCodes.js +16 -18
  38. package/link/batch/batchLink.d.ts +2 -1
  39. package/link/batch/batchLink.d.ts.map +1 -1
  40. package/link/batch/batchLink.js.map +1 -1
  41. package/link/core/types.d.ts +2 -2
  42. package/link/core/types.d.ts.map +1 -1
  43. package/link/core/types.js.map +1 -1
  44. package/link/http/index.d.ts +6 -3
  45. package/link/http/index.d.ts.map +1 -1
  46. package/link/http/index.js +1 -1
  47. package/link/http/index.js.map +1 -1
  48. package/link/remove-typename/index.d.ts +2 -1
  49. package/link/remove-typename/index.d.ts.map +1 -1
  50. package/link/remove-typename/index.js +1 -1
  51. package/link/remove-typename/index.js.map +1 -1
  52. package/link/remove-typename/remove-typename.cjs +2 -2
  53. package/link/remove-typename/remove-typename.cjs.map +1 -1
  54. package/link/remove-typename/remove-typename.cjs.native.js +2 -2
  55. package/link/remove-typename/removeTypenameFromVariables.d.ts +1 -1
  56. package/link/remove-typename/removeTypenameFromVariables.js +6 -6
  57. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  58. package/link/utils/index.d.ts +2 -1
  59. package/link/utils/index.d.ts.map +1 -1
  60. package/link/utils/index.js.map +1 -1
  61. package/package.json +2 -10
  62. package/react/cache/QueryReference.d.ts +10 -6
  63. package/react/cache/QueryReference.d.ts.map +1 -1
  64. package/react/cache/QueryReference.js +42 -31
  65. package/react/cache/QueryReference.js.map +1 -1
  66. package/react/cache/SuspenseCache.d.ts +3 -3
  67. package/react/cache/SuspenseCache.d.ts.map +1 -1
  68. package/react/cache/SuspenseCache.js +3 -3
  69. package/react/cache/SuspenseCache.js.map +1 -1
  70. package/react/cache/getSuspenseCache.d.ts +4 -4
  71. package/react/cache/getSuspenseCache.js +2 -2
  72. package/react/cache/getSuspenseCache.js.map +1 -1
  73. package/react/cache/index.d.ts +3 -3
  74. package/react/cache/index.js +5 -5
  75. package/react/cache/index.js.map +1 -1
  76. package/react/cache/types.d.ts +5 -1
  77. package/react/cache/types.d.ts.map +1 -1
  78. package/react/cache/types.js.map +1 -1
  79. package/react/components/Mutation.d.ts +3 -3
  80. package/react/components/Mutation.js +3 -3
  81. package/react/components/Mutation.js.map +1 -1
  82. package/react/components/Query.d.ts +3 -3
  83. package/react/components/Query.d.ts.map +1 -1
  84. package/react/components/Query.js +3 -3
  85. package/react/components/Query.js.map +1 -1
  86. package/react/components/Subscription.d.ts +3 -3
  87. package/react/components/Subscription.d.ts.map +1 -1
  88. package/react/components/Subscription.js +3 -3
  89. package/react/components/Subscription.js.map +1 -1
  90. package/react/components/components.cjs +3 -3
  91. package/react/components/components.cjs.map +1 -1
  92. package/react/components/components.cjs.native.js +3 -3
  93. package/react/components/index.d.ts +4 -4
  94. package/react/components/index.js +4 -4
  95. package/react/components/index.js.map +1 -1
  96. package/react/components/types.d.ts +4 -4
  97. package/react/components/types.d.ts.map +1 -1
  98. package/react/components/types.js.map +1 -1
  99. package/react/context/ApolloConsumer.d.ts +2 -2
  100. package/react/context/ApolloConsumer.js +3 -3
  101. package/react/context/ApolloConsumer.js.map +1 -1
  102. package/react/context/ApolloContext.d.ts +3 -10
  103. package/react/context/ApolloContext.d.ts.map +1 -1
  104. package/react/context/ApolloContext.js +15 -13
  105. package/react/context/ApolloContext.js.map +1 -1
  106. package/react/context/ApolloProvider.d.ts +2 -2
  107. package/react/context/ApolloProvider.js +3 -3
  108. package/react/context/ApolloProvider.js.map +1 -1
  109. package/react/context/context.cjs +12 -10
  110. package/react/context/context.cjs.map +1 -1
  111. package/react/context/context.cjs.native.js +12 -10
  112. package/react/context/index.d.ts +7 -4
  113. package/react/context/index.d.ts.map +1 -1
  114. package/react/context/index.js +4 -4
  115. package/react/context/index.js.map +1 -1
  116. package/react/hoc/graphql.d.ts +3 -3
  117. package/react/hoc/graphql.js +4 -4
  118. package/react/hoc/graphql.js.map +1 -1
  119. package/react/hoc/hoc-utils.d.ts +3 -3
  120. package/react/hoc/hoc-utils.d.ts.map +1 -1
  121. package/react/hoc/hoc-utils.js +5 -5
  122. package/react/hoc/hoc-utils.js.map +1 -1
  123. package/react/hoc/hoc.cjs +24 -23
  124. package/react/hoc/hoc.cjs.map +1 -1
  125. package/react/hoc/hoc.cjs.native.js +24 -23
  126. package/react/hoc/index.d.ts +7 -7
  127. package/react/hoc/index.js +7 -7
  128. package/react/hoc/index.js.map +1 -1
  129. package/react/hoc/mutation-hoc.d.ts +5 -5
  130. package/react/hoc/mutation-hoc.d.ts.map +1 -1
  131. package/react/hoc/mutation-hoc.js +13 -11
  132. package/react/hoc/mutation-hoc.js.map +1 -1
  133. package/react/hoc/query-hoc.d.ts +3 -3
  134. package/react/hoc/query-hoc.d.ts.map +1 -1
  135. package/react/hoc/query-hoc.js +10 -10
  136. package/react/hoc/query-hoc.js.map +1 -1
  137. package/react/hoc/subscription-hoc.d.ts +3 -3
  138. package/react/hoc/subscription-hoc.d.ts.map +1 -1
  139. package/react/hoc/subscription-hoc.js +11 -12
  140. package/react/hoc/subscription-hoc.js.map +1 -1
  141. package/react/hoc/types.d.ts +4 -4
  142. package/react/hoc/types.d.ts.map +1 -1
  143. package/react/hoc/types.js.map +1 -1
  144. package/react/hoc/withApollo.d.ts +3 -3
  145. package/react/hoc/withApollo.js +6 -6
  146. package/react/hoc/withApollo.js.map +1 -1
  147. package/react/hooks/constants.d.ts +3 -0
  148. package/react/hooks/constants.d.ts.map +1 -0
  149. package/react/hooks/constants.js +2 -0
  150. package/react/hooks/constants.js.map +1 -0
  151. package/react/hooks/hooks.cjs +182 -160
  152. package/react/hooks/hooks.cjs.map +1 -1
  153. package/react/hooks/hooks.cjs.native.js +182 -160
  154. package/react/hooks/index.d.ts +15 -11
  155. package/react/hooks/index.d.ts.map +1 -1
  156. package/react/hooks/index.js +12 -11
  157. package/react/hooks/index.js.map +1 -1
  158. package/react/hooks/internal/__use.js +6 -6
  159. package/react/hooks/internal/__use.js.map +1 -1
  160. package/react/hooks/internal/index.d.ts +3 -3
  161. package/react/hooks/internal/index.js +3 -3
  162. package/react/hooks/internal/index.js.map +1 -1
  163. package/react/hooks/internal/useDeepMemo.d.ts +1 -1
  164. package/react/hooks/internal/useDeepMemo.js +2 -2
  165. package/react/hooks/internal/useDeepMemo.js.map +1 -1
  166. package/react/hooks/internal/useIsomorphicLayoutEffect.d.ts +1 -1
  167. package/react/hooks/internal/useIsomorphicLayoutEffect.js +2 -2
  168. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  169. package/react/hooks/useApolloClient.d.ts +1 -1
  170. package/react/hooks/useApolloClient.js +3 -3
  171. package/react/hooks/useApolloClient.js.map +1 -1
  172. package/react/hooks/useBackgroundQuery.d.ts +48 -21
  173. package/react/hooks/useBackgroundQuery.d.ts.map +1 -1
  174. package/react/hooks/useBackgroundQuery.js +14 -17
  175. package/react/hooks/useBackgroundQuery.js.map +1 -1
  176. package/react/hooks/useFragment.d.ts.map +1 -1
  177. package/react/hooks/useFragment.js +7 -2
  178. package/react/hooks/useFragment.js.map +1 -1
  179. package/react/hooks/useLazyQuery.d.ts +4 -4
  180. package/react/hooks/useLazyQuery.d.ts.map +1 -1
  181. package/react/hooks/useLazyQuery.js +13 -12
  182. package/react/hooks/useLazyQuery.js.map +1 -1
  183. package/react/hooks/useMutation.d.ts +4 -4
  184. package/react/hooks/useMutation.d.ts.map +1 -1
  185. package/react/hooks/useMutation.js +28 -18
  186. package/react/hooks/useMutation.js.map +1 -1
  187. package/react/hooks/useQuery.d.ts +6 -5
  188. package/react/hooks/useQuery.d.ts.map +1 -1
  189. package/react/hooks/useQuery.js +45 -40
  190. package/react/hooks/useQuery.js.map +1 -1
  191. package/react/hooks/useReactiveVar.d.ts +1 -1
  192. package/react/hooks/useReactiveVar.js +1 -1
  193. package/react/hooks/useReactiveVar.js.map +1 -1
  194. package/react/hooks/useReadQuery.d.ts +2 -3
  195. package/react/hooks/useReadQuery.d.ts.map +1 -1
  196. package/react/hooks/useReadQuery.js +11 -24
  197. package/react/hooks/useReadQuery.js.map +1 -1
  198. package/react/hooks/useSubscription.d.ts +4 -4
  199. package/react/hooks/useSubscription.d.ts.map +1 -1
  200. package/react/hooks/useSubscription.js +10 -10
  201. package/react/hooks/useSubscription.js.map +1 -1
  202. package/react/hooks/useSuspenseQuery.d.ts +15 -10
  203. package/react/hooks/useSuspenseQuery.d.ts.map +1 -1
  204. package/react/hooks/useSuspenseQuery.js +22 -18
  205. package/react/hooks/useSuspenseQuery.js.map +1 -1
  206. package/react/hooks/useSyncExternalStore.d.ts.map +1 -1
  207. package/react/hooks/useSyncExternalStore.js +33 -30
  208. package/react/hooks/useSyncExternalStore.js.map +1 -1
  209. package/react/index.d.ts +8 -6
  210. package/react/index.d.ts.map +1 -1
  211. package/react/index.js +6 -6
  212. package/react/index.js.map +1 -1
  213. package/react/parser/index.d.ts +1 -1
  214. package/react/parser/index.d.ts.map +1 -1
  215. package/react/parser/index.js +14 -12
  216. package/react/parser/index.js.map +1 -1
  217. package/react/parser/parser.cjs +13 -11
  218. package/react/parser/parser.cjs.map +1 -1
  219. package/react/parser/parser.cjs.native.js +13 -11
  220. package/react/react.cjs +34 -30
  221. package/react/react.cjs.map +1 -1
  222. package/react/react.cjs.native.js +34 -30
  223. package/react/ssr/RenderPromises.d.ts +2 -2
  224. package/react/ssr/RenderPromises.d.ts.map +1 -1
  225. package/react/ssr/RenderPromises.js +17 -15
  226. package/react/ssr/RenderPromises.js.map +1 -1
  227. package/react/ssr/getDataFromTree.d.ts +2 -2
  228. package/react/ssr/getDataFromTree.d.ts.map +1 -1
  229. package/react/ssr/getDataFromTree.js +9 -7
  230. package/react/ssr/getDataFromTree.js.map +1 -1
  231. package/react/ssr/index.d.ts +3 -3
  232. package/react/ssr/index.js +3 -3
  233. package/react/ssr/index.js.map +1 -1
  234. package/react/ssr/renderToStringWithData.d.ts +1 -1
  235. package/react/ssr/renderToStringWithData.js +3 -3
  236. package/react/ssr/renderToStringWithData.js.map +1 -1
  237. package/react/ssr/ssr.cjs +23 -19
  238. package/react/ssr/ssr.cjs.map +1 -1
  239. package/react/ssr/ssr.cjs.native.js +23 -19
  240. package/react/types/types.d.ts +18 -19
  241. package/react/types/types.d.ts.map +1 -1
  242. package/react/types/types.js.map +1 -1
  243. package/testing/core/index.d.ts +8 -7
  244. package/testing/core/index.d.ts.map +1 -1
  245. package/testing/core/index.js +7 -7
  246. package/testing/core/index.js.map +1 -1
  247. package/testing/index.d.ts +2 -1
  248. package/testing/index.d.ts.map +1 -1
  249. package/testing/index.js.map +1 -1
  250. package/testing/matchers/index.js +3 -3
  251. package/testing/matchers/index.js.map +1 -1
  252. package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +3 -3
  253. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +6 -6
  254. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +1 -1
  255. package/testing/matchers/toMatchDocument.d.ts +2 -2
  256. package/testing/matchers/toMatchDocument.js +8 -8
  257. package/testing/matchers/toMatchDocument.js.map +1 -1
  258. package/utilities/common/omitDeep.d.ts +1 -1
  259. package/utilities/common/omitDeep.js +1 -1
  260. package/utilities/common/omitDeep.js.map +1 -1
  261. package/utilities/common/stripTypename.js +2 -2
  262. package/utilities/common/stripTypename.js.map +1 -1
  263. package/utilities/globals/globals.cjs +4 -4
  264. package/utilities/globals/globals.cjs.map +1 -1
  265. package/utilities/globals/globals.cjs.native.js +4 -4
  266. package/utilities/globals/invariantWrappers.d.ts +2 -2
  267. package/utilities/globals/invariantWrappers.js +7 -7
  268. package/utilities/globals/invariantWrappers.js.map +1 -1
  269. package/utilities/graphql/DocumentTransform.d.ts +1 -1
  270. package/utilities/graphql/DocumentTransform.js +4 -4
  271. package/utilities/graphql/DocumentTransform.js.map +1 -1
  272. package/utilities/graphql/operations.d.ts +1 -1
  273. package/utilities/graphql/operations.d.ts.map +1 -1
  274. package/utilities/graphql/operations.js +4 -5
  275. package/utilities/graphql/operations.js.map +1 -1
  276. package/utilities/graphql/print.d.ts +1 -1
  277. package/utilities/graphql/print.js +2 -2
  278. package/utilities/graphql/print.js.map +1 -1
  279. package/utilities/index.d.ts +40 -34
  280. package/utilities/index.d.ts.map +1 -1
  281. package/utilities/index.js +32 -32
  282. package/utilities/index.js.map +1 -1
  283. package/utilities/promises/decoration.d.ts +3 -3
  284. package/utilities/promises/decoration.js +8 -8
  285. package/utilities/promises/decoration.js.map +1 -1
  286. package/utilities/types/DeepOmit.d.ts +1 -1
  287. package/utilities/types/DeepOmit.js.map +1 -1
  288. package/utilities/types/DeepPartial.d.ts +1 -1
  289. package/utilities/types/DeepPartial.js.map +1 -1
  290. package/utilities/utilities.cjs +12 -12
  291. package/utilities/utilities.cjs.map +1 -1
  292. package/utilities/utilities.cjs.native.js +12 -12
  293. package/version.js +1 -1
@@ -13,24 +13,22 @@ var core = require('../core');
13
13
  var parser = require('./parser');
14
14
 
15
15
  var OBSERVED_CHANGED_OPTIONS = [
16
- 'canonizeResults',
17
- 'context',
18
- 'errorPolicy',
19
- 'fetchPolicy',
20
- 'refetchWritePolicy',
21
- 'returnPartialData',
16
+ "canonizeResults",
17
+ "context",
18
+ "errorPolicy",
19
+ "fetchPolicy",
20
+ "refetchWritePolicy",
21
+ "returnPartialData",
22
22
  ];
23
23
  var InternalQueryReference = (function () {
24
24
  function InternalQueryReference(observable, options) {
25
25
  var _this = this;
26
26
  var _a;
27
27
  this.listeners = new Set();
28
- this.status = 'loading';
28
+ this.status = "loading";
29
29
  this.references = 0;
30
- this.listen = this.listen.bind(this);
31
30
  this.handleNext = this.handleNext.bind(this);
32
31
  this.handleError = this.handleError.bind(this);
33
- this.initiateFetch = this.initiateFetch.bind(this);
34
32
  this.dispose = this.dispose.bind(this);
35
33
  this.observable = observable;
36
34
  this.result = observable.getCurrentResult(false);
@@ -42,7 +40,7 @@ var InternalQueryReference = (function () {
42
40
  (this.result.data &&
43
41
  (!this.result.partial || this.watchQueryOptions.returnPartialData))) {
44
42
  this.promise = utilities.createFulfilledPromise(this.result);
45
- this.status = 'idle';
43
+ this.status = "idle";
46
44
  }
47
45
  else {
48
46
  this.promise = new Promise(function (resolve, reject) {
@@ -94,10 +92,9 @@ var InternalQueryReference = (function () {
94
92
  };
95
93
  InternalQueryReference.prototype.applyOptions = function (watchQueryOptions) {
96
94
  var _a = this.watchQueryOptions, currentFetchPolicy = _a.fetchPolicy, currentCanonizeResults = _a.canonizeResults;
97
- if (currentFetchPolicy === 'standby' &&
95
+ if (currentFetchPolicy === "standby" &&
98
96
  currentFetchPolicy !== watchQueryOptions.fetchPolicy) {
99
- this.observable.reobserve(watchQueryOptions);
100
- this.initiateFetch();
97
+ this.initiateFetch(this.observable.reobserve(watchQueryOptions));
101
98
  }
102
99
  else {
103
100
  this.observable.silentSetOptions(watchQueryOptions);
@@ -116,14 +113,10 @@ var InternalQueryReference = (function () {
116
113
  };
117
114
  };
118
115
  InternalQueryReference.prototype.refetch = function (variables) {
119
- var promise = this.observable.refetch(variables);
120
- this.initiateFetch();
121
- return promise;
116
+ return this.initiateFetch(this.observable.refetch(variables));
122
117
  };
123
118
  InternalQueryReference.prototype.fetchMore = function (options) {
124
- var promise = this.observable.fetchMore(options);
125
- this.initiateFetch();
126
- return promise;
119
+ return this.initiateFetch(this.observable.fetchMore(options));
127
120
  };
128
121
  InternalQueryReference.prototype.dispose = function () {
129
122
  this.subscription.unsubscribe();
@@ -134,16 +127,16 @@ var InternalQueryReference = (function () {
134
127
  InternalQueryReference.prototype.handleNext = function (result) {
135
128
  var _a;
136
129
  switch (this.status) {
137
- case 'loading': {
130
+ case "loading": {
138
131
  if (result.data === void 0) {
139
132
  result.data = this.result.data;
140
133
  }
141
- this.status = 'idle';
134
+ this.status = "idle";
142
135
  this.result = result;
143
136
  (_a = this.resolve) === null || _a === void 0 ? void 0 : _a.call(this, result);
144
137
  break;
145
138
  }
146
- case 'idle': {
139
+ case "idle": {
147
140
  if (result.data === this.result.data) {
148
141
  return;
149
142
  }
@@ -160,12 +153,12 @@ var InternalQueryReference = (function () {
160
153
  InternalQueryReference.prototype.handleError = function (error) {
161
154
  var _a;
162
155
  switch (this.status) {
163
- case 'loading': {
164
- this.status = 'idle';
156
+ case "loading": {
157
+ this.status = "idle";
165
158
  (_a = this.reject) === null || _a === void 0 ? void 0 : _a.call(this, error);
166
159
  break;
167
160
  }
168
- case 'idle': {
161
+ case "idle": {
169
162
  this.promise = utilities.createRejectedPromise(error);
170
163
  this.deliver(this.promise);
171
164
  }
@@ -174,14 +167,25 @@ var InternalQueryReference = (function () {
174
167
  InternalQueryReference.prototype.deliver = function (promise) {
175
168
  this.listeners.forEach(function (listener) { return listener(promise); });
176
169
  };
177
- InternalQueryReference.prototype.initiateFetch = function () {
170
+ InternalQueryReference.prototype.initiateFetch = function (returnedPromise) {
178
171
  var _this = this;
179
- this.status = 'loading';
172
+ this.status = "loading";
180
173
  this.promise = new Promise(function (resolve, reject) {
181
174
  _this.resolve = resolve;
182
175
  _this.reject = reject;
183
176
  });
184
177
  this.promise.catch(function () { });
178
+ returnedPromise
179
+ .then(function (result) {
180
+ var _a;
181
+ if (_this.status === "loading") {
182
+ _this.status = "idle";
183
+ _this.result = result;
184
+ (_a = _this.resolve) === null || _a === void 0 ? void 0 : _a.call(_this, result);
185
+ }
186
+ })
187
+ .catch(function () { });
188
+ return returnedPromise;
185
189
  };
186
190
  return InternalQueryReference;
187
191
  }());
@@ -212,9 +216,9 @@ var SuspenseCache = (function (_super) {
212
216
  tslib.__extends(SuspenseCache, _super);
213
217
  function SuspenseCache() {
214
218
  _super.call(this) || this;
215
- throw new Error('It is no longer necessary to create a `SuspenseCache` instance and pass it into the `ApolloProvider`.\n' +
216
- 'Please remove this code from your application. \n\n' +
217
- 'This export will be removed with the final 3.8 release.');
219
+ throw new Error("It is no longer necessary to create a `SuspenseCache` instance and pass it into the `ApolloProvider`.\n" +
220
+ "Please remove this code from your application. \n\n" +
221
+ "This export will be removed with the final 3.8 release.");
218
222
  }
219
223
  return SuspenseCache;
220
224
  }(SuspenseCache$1));
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import type { ObservableQuery, OperationVariables } from '../../core/index.js';
3
- import type { QueryDataOptions } from '../types/types.js';
2
+ import type { ObservableQuery, OperationVariables } from "../../core/index.js";
3
+ import type { QueryDataOptions } from "../types/types.js";
4
4
  interface QueryData {
5
5
  getOptions(): any;
6
6
  fetchData(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderPromises.d.ts","sourceRoot":"","sources":["../../../src/react/ssr/RenderPromises.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,UAAU,SAAS;IACjB,UAAU,IAAI,GAAG,CAAC;IAClB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAcD,qBAAa,cAAc;IAEzB,OAAO,CAAC,aAAa,CAAuD;IAM5E,OAAO,CAAC,aAAa,CAAmD;IAExE,OAAO,CAAC,OAAO,CAAS;IACjB,IAAI;IASJ,qBAAqB,CAAC,KAAK,EAAE,UAAU,SAAS,kBAAkB,EACvE,UAAU,EAAE,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC;IAOvC,gBAAgB,CAAC,KAAK,EAAE,UAAU,SAAS,kBAAkB,EAClE,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,GACzC,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,IAAI;IAInC,eAAe,CACpB,aAAa,EAAE,SAAS,EACxB,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,GAC7B,KAAK,CAAC,SAAS;IAkBX,yBAAyB,CAAC,KAAK,EAAE,UAAU,SAAS,kBAAkB,EAC3E,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC;IA0BvC,WAAW;IAIX,uBAAuB;IAmB9B,OAAO,CAAC,eAAe;CAYxB"}
1
+ {"version":3,"file":"RenderPromises.d.ts","sourceRoot":"","sources":["../../../src/react/ssr/RenderPromises.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,UAAU,SAAS;IACjB,UAAU,IAAI,GAAG,CAAC;IAClB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAcD,qBAAa,cAAc;IAEzB,OAAO,CAAC,aAAa,CAAuD;IAM5E,OAAO,CAAC,aAAa,CAAmD;IAExE,OAAO,CAAC,OAAO,CAAS;IACjB,IAAI;IASJ,qBAAqB,CAAC,KAAK,EAAE,UAAU,SAAS,kBAAkB,EACvE,UAAU,EAAE,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC;IAOvC,gBAAgB,CAAC,KAAK,EAAE,UAAU,SAAS,kBAAkB,EAClE,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,GACzC,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,IAAI;IAInC,eAAe,CACpB,aAAa,EAAE,SAAS,EACxB,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,GAC7B,KAAK,CAAC,SAAS;IAkBX,yBAAyB,CAC9B,KAAK,EACL,UAAU,SAAS,kBAAkB,EACrC,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC;IA0BvC,WAAW;IAIX,uBAAuB;IAmB9B,OAAO,CAAC,eAAe;CAYxB"}
@@ -1,7 +1,7 @@
1
1
  function makeDefaultQueryInfo() {
2
2
  return {
3
3
  seen: false,
4
- observable: null
4
+ observable: null,
5
5
  };
6
6
  }
7
7
  var RenderPromises = (function () {
@@ -40,23 +40,25 @@ var RenderPromises = (function () {
40
40
  RenderPromises.prototype.addObservableQueryPromise = function (obsQuery) {
41
41
  return this.addQueryPromise({
42
42
  getOptions: function () { return obsQuery.options; },
43
- fetchData: function () { return new Promise(function (resolve) {
44
- var sub = obsQuery.subscribe({
45
- next: function (result) {
46
- if (!result.loading) {
43
+ fetchData: function () {
44
+ return new Promise(function (resolve) {
45
+ var sub = obsQuery.subscribe({
46
+ next: function (result) {
47
+ if (!result.loading) {
48
+ resolve();
49
+ sub.unsubscribe();
50
+ }
51
+ },
52
+ error: function () {
47
53
  resolve();
48
54
  sub.unsubscribe();
49
- }
50
- },
51
- error: function () {
52
- resolve();
53
- sub.unsubscribe();
54
- },
55
- complete: function () {
56
- resolve();
57
- },
55
+ },
56
+ complete: function () {
57
+ resolve();
58
+ },
59
+ });
58
60
  });
59
- }); },
61
+ },
60
62
  });
61
63
  };
62
64
  RenderPromises.prototype.hasPromises = function () {
@@ -1 +1 @@
1
- {"version":3,"file":"RenderPromises.js","sourceRoot":"","sources":["../../../src/react/ssr/RenderPromises.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DocumentNode } from 'graphql';\n\nimport type { ObservableQuery, OperationVariables } from '../../core/index.js';\nimport type { QueryDataOptions } from '../types/types.js';\n\n// TODO: A vestigial interface from when hooks were implemented with utility\n// classes, which should be deleted in the future.\ninterface QueryData {\n getOptions(): any;\n fetchData(): Promise<void>;\n}\n\ntype QueryInfo = {\n seen: boolean;\n observable: ObservableQuery<any, any> | null;\n};\n\nfunction makeDefaultQueryInfo(): QueryInfo {\n return {\n seen: false,\n observable: null\n };\n}\n\nexport class RenderPromises {\n // Map from Query component instances to pending fetchData promises.\n private queryPromises = new Map<QueryDataOptions<any, any>, Promise<any>>();\n\n // Two-layered map from (query document, stringified variables) to QueryInfo\n // objects. These QueryInfo objects are intended to survive through the whole\n // getMarkupFromTree process, whereas specific Query instances do not survive\n // beyond a single call to renderToStaticMarkup.\n private queryInfoTrie = new Map<DocumentNode, Map<string, QueryInfo>>();\n\n private stopped = false;\n public stop() {\n if (!this.stopped) {\n this.queryPromises.clear();\n this.queryInfoTrie.clear();\n this.stopped = true;\n }\n }\n\n // Registers the server side rendered observable.\n public registerSSRObservable<TData, TVariables extends OperationVariables>(\n observable: ObservableQuery<any, TVariables>,\n ) {\n if (this.stopped) return;\n this.lookupQueryInfo(observable.options).observable = observable;\n }\n\n // Get's the cached observable that matches the SSR Query instances query and variables.\n public getSSRObservable<TData, TVariables extends OperationVariables>(\n props: QueryDataOptions<TData, TVariables>\n ): ObservableQuery<any, TVariables> | null {\n return this.lookupQueryInfo(props).observable;\n }\n\n public addQueryPromise(\n queryInstance: QueryData,\n finish?: () => React.ReactNode,\n ): React.ReactNode {\n if (!this.stopped) {\n const info = this.lookupQueryInfo(queryInstance.getOptions());\n if (!info.seen) {\n this.queryPromises.set(\n queryInstance.getOptions(),\n new Promise(resolve => {\n resolve(queryInstance.fetchData());\n })\n );\n // Render null to abandon this subtree for this rendering, so that we\n // can wait for the data to arrive.\n return null;\n }\n }\n return finish ? finish() : null;\n }\n\n public addObservableQueryPromise<TData, TVariables extends OperationVariables>(\n obsQuery: ObservableQuery<TData, TVariables>,\n ) {\n return this.addQueryPromise({\n // The only options which seem to actually be used by the\n // RenderPromises class are query and variables.\n getOptions: () => obsQuery.options,\n fetchData: () => new Promise<void>((resolve) => {\n const sub = obsQuery.subscribe({\n next(result) {\n if (!result.loading) {\n resolve()\n sub.unsubscribe();\n }\n },\n error() {\n resolve();\n sub.unsubscribe();\n },\n complete() {\n resolve();\n },\n });\n }),\n });\n }\n\n public hasPromises() {\n return this.queryPromises.size > 0;\n }\n\n public consumeAndAwaitPromises() {\n const promises: Promise<any>[] = [];\n this.queryPromises.forEach((promise, queryInstance) => {\n // Make sure we never try to call fetchData for this query document and\n // these variables again. Since the queryInstance objects change with\n // every rendering, deduplicating them by query and variables is the\n // best we can do. If a different Query component happens to have the\n // same query document and variables, it will be immediately rendered\n // by calling finish() in addQueryPromise, which could result in the\n // rendering of an unwanted loading state, but that's not nearly as bad\n // as getting stuck in an infinite rendering loop because we kept calling\n // queryInstance.fetchData for the same Query component indefinitely.\n this.lookupQueryInfo(queryInstance).seen = true;\n promises.push(promise);\n });\n this.queryPromises.clear();\n return Promise.all(promises);\n }\n\n private lookupQueryInfo<TData, TVariables extends OperationVariables>(\n props: QueryDataOptions<TData, TVariables>\n ): QueryInfo {\n const { queryInfoTrie } = this;\n const { query, variables } = props;\n const varMap = queryInfoTrie.get(query) || new Map<string, QueryInfo>();\n if (!queryInfoTrie.has(query)) queryInfoTrie.set(query, varMap);\n const variablesString = JSON.stringify(variables);\n const info = varMap.get(variablesString) || makeDefaultQueryInfo();\n if (!varMap.has(variablesString)) varMap.set(variablesString, info);\n return info;\n }\n}\n"]}
1
+ {"version":3,"file":"RenderPromises.js","sourceRoot":"","sources":["../../../src/react/ssr/RenderPromises.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DocumentNode } from \"graphql\";\n\nimport type { ObservableQuery, OperationVariables } from \"../../core/index.js\";\nimport type { QueryDataOptions } from \"../types/types.js\";\n\n// TODO: A vestigial interface from when hooks were implemented with utility\n// classes, which should be deleted in the future.\ninterface QueryData {\n getOptions(): any;\n fetchData(): Promise<void>;\n}\n\ntype QueryInfo = {\n seen: boolean;\n observable: ObservableQuery<any, any> | null;\n};\n\nfunction makeDefaultQueryInfo(): QueryInfo {\n return {\n seen: false,\n observable: null,\n };\n}\n\nexport class RenderPromises {\n // Map from Query component instances to pending fetchData promises.\n private queryPromises = new Map<QueryDataOptions<any, any>, Promise<any>>();\n\n // Two-layered map from (query document, stringified variables) to QueryInfo\n // objects. These QueryInfo objects are intended to survive through the whole\n // getMarkupFromTree process, whereas specific Query instances do not survive\n // beyond a single call to renderToStaticMarkup.\n private queryInfoTrie = new Map<DocumentNode, Map<string, QueryInfo>>();\n\n private stopped = false;\n public stop() {\n if (!this.stopped) {\n this.queryPromises.clear();\n this.queryInfoTrie.clear();\n this.stopped = true;\n }\n }\n\n // Registers the server side rendered observable.\n public registerSSRObservable<TData, TVariables extends OperationVariables>(\n observable: ObservableQuery<any, TVariables>\n ) {\n if (this.stopped) return;\n this.lookupQueryInfo(observable.options).observable = observable;\n }\n\n // Get's the cached observable that matches the SSR Query instances query and variables.\n public getSSRObservable<TData, TVariables extends OperationVariables>(\n props: QueryDataOptions<TData, TVariables>\n ): ObservableQuery<any, TVariables> | null {\n return this.lookupQueryInfo(props).observable;\n }\n\n public addQueryPromise(\n queryInstance: QueryData,\n finish?: () => React.ReactNode\n ): React.ReactNode {\n if (!this.stopped) {\n const info = this.lookupQueryInfo(queryInstance.getOptions());\n if (!info.seen) {\n this.queryPromises.set(\n queryInstance.getOptions(),\n new Promise((resolve) => {\n resolve(queryInstance.fetchData());\n })\n );\n // Render null to abandon this subtree for this rendering, so that we\n // can wait for the data to arrive.\n return null;\n }\n }\n return finish ? finish() : null;\n }\n\n public addObservableQueryPromise<\n TData,\n TVariables extends OperationVariables,\n >(obsQuery: ObservableQuery<TData, TVariables>) {\n return this.addQueryPromise({\n // The only options which seem to actually be used by the\n // RenderPromises class are query and variables.\n getOptions: () => obsQuery.options,\n fetchData: () =>\n new Promise<void>((resolve) => {\n const sub = obsQuery.subscribe({\n next(result) {\n if (!result.loading) {\n resolve();\n sub.unsubscribe();\n }\n },\n error() {\n resolve();\n sub.unsubscribe();\n },\n complete() {\n resolve();\n },\n });\n }),\n });\n }\n\n public hasPromises() {\n return this.queryPromises.size > 0;\n }\n\n public consumeAndAwaitPromises() {\n const promises: Promise<any>[] = [];\n this.queryPromises.forEach((promise, queryInstance) => {\n // Make sure we never try to call fetchData for this query document and\n // these variables again. Since the queryInstance objects change with\n // every rendering, deduplicating them by query and variables is the\n // best we can do. If a different Query component happens to have the\n // same query document and variables, it will be immediately rendered\n // by calling finish() in addQueryPromise, which could result in the\n // rendering of an unwanted loading state, but that's not nearly as bad\n // as getting stuck in an infinite rendering loop because we kept calling\n // queryInstance.fetchData for the same Query component indefinitely.\n this.lookupQueryInfo(queryInstance).seen = true;\n promises.push(promise);\n });\n this.queryPromises.clear();\n return Promise.all(promises);\n }\n\n private lookupQueryInfo<TData, TVariables extends OperationVariables>(\n props: QueryDataOptions<TData, TVariables>\n ): QueryInfo {\n const { queryInfoTrie } = this;\n const { query, variables } = props;\n const varMap = queryInfoTrie.get(query) || new Map<string, QueryInfo>();\n if (!queryInfoTrie.has(query)) queryInfoTrie.set(query, varMap);\n const variablesString = JSON.stringify(variables);\n const info = varMap.get(variablesString) || makeDefaultQueryInfo();\n if (!varMap.has(variablesString)) varMap.set(variablesString, info);\n return info;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ import * as React from "react";
2
2
  export declare function getDataFromTree(tree: React.ReactNode, context?: {
3
3
  [key: string]: any;
4
4
  }): Promise<string>;
@@ -9,5 +9,5 @@ export type GetMarkupFromTreeOptions = {
9
9
  };
10
10
  renderFunction?: (tree: React.ReactElement<any>) => string | PromiseLike<string>;
11
11
  };
12
- export declare function getMarkupFromTree({ tree, context, renderFunction }: GetMarkupFromTreeOptions): Promise<string>;
12
+ export declare function getMarkupFromTree({ tree, context, renderFunction, }: GetMarkupFromTreeOptions): Promise<string>;
13
13
  //# sourceMappingURL=getDataFromTree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDataFromTree.d.ts","sourceRoot":"","sources":["../../../src/react/ssr/getDataFromTree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,wBAAgB,eAAe,CAC7B,IAAI,EAAE,KAAK,CAAC,SAAS,EACrB,OAAO,GAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAO,mBASrC;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACjC,cAAc,CAAC,EAAE,CACf,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,KAC1B,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,OAAY,EAIZ,cAAqC,EACtC,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4B5C"}
1
+ {"version":3,"file":"getDataFromTree.d.ts","sourceRoot":"","sources":["../../../src/react/ssr/getDataFromTree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,wBAAgB,eAAe,CAC7B,IAAI,EAAE,KAAK,CAAC,SAAS,EACrB,OAAO,GAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAO,mBASrC;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACjC,cAAc,CAAC,EAAE,CACf,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,KAC1B,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,OAAY,EAIZ,cAAqC,GACtC,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8B5C"}
@@ -1,14 +1,14 @@
1
1
  import { __assign } from "tslib";
2
- import * as React from 'react';
3
- import { getApolloContext } from '../context/index.js';
4
- import { RenderPromises } from './RenderPromises.js';
5
- import { renderToStaticMarkup } from 'react-dom/server';
2
+ import * as React from "react";
3
+ import { getApolloContext } from "../context/index.js";
4
+ import { RenderPromises } from "./RenderPromises.js";
5
+ import { renderToStaticMarkup } from "react-dom/server";
6
6
  export function getDataFromTree(tree, context) {
7
7
  if (context === void 0) { context = {}; }
8
8
  return getMarkupFromTree({
9
9
  tree: tree,
10
10
  context: context,
11
- renderFunction: renderToStaticMarkup
11
+ renderFunction: renderToStaticMarkup,
12
12
  });
13
13
  }
14
14
  export function getMarkupFromTree(_a) {
@@ -19,11 +19,13 @@ export function getMarkupFromTree(_a) {
19
19
  return new Promise(function (resolve) {
20
20
  var element = React.createElement(ApolloContext.Provider, { value: __assign(__assign({}, context), { renderPromises: renderPromises }) }, tree);
21
21
  resolve(renderFunction(element));
22
- }).then(function (html) {
22
+ })
23
+ .then(function (html) {
23
24
  return renderPromises.hasPromises()
24
25
  ? renderPromises.consumeAndAwaitPromises().then(process)
25
26
  : html;
26
- }).finally(function () {
27
+ })
28
+ .finally(function () {
27
29
  renderPromises.stop();
28
30
  });
29
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getDataFromTree.js","sourceRoot":"","sources":["../../../src/react/ssr/getDataFromTree.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,UAAU,eAAe,CAC7B,IAAqB,EACrB,OAAoC;IAApC,wBAAA,EAAA,YAAoC;IAEpC,OAAO,iBAAiB,CAAC;QACvB,IAAI,MAAA;QACJ,OAAO,SAAA;QAGP,cAAc,EAAE,oBAAoB;KACrC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,iBAAiB,CAAC,EAOP;QANzB,IAAI,UAAA,EACJ,eAAY,EAAZ,OAAO,mBAAG,EAAE,KAAA,EAIZ,sBAAqC,EAArC,cAAc,mBAAG,oBAAoB,KAAA;IAErC,IAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAE5C,SAAS,OAAO;QAMd,IAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QAEzC,OAAO,IAAI,OAAO,CAAS,UAAA,OAAO;YAChC,IAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CACjC,aAAa,CAAC,QAAQ,EACtB,EAAE,KAAK,wBAAO,OAAO,KAAE,cAAc,gBAAA,GAAE,EAAC,EACxC,IAAI,CACL,CAAC;YACF,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAA,IAAI;YACV,OAAO,cAAc,CAAC,WAAW,EAAE;gBACjC,CAAC,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;gBACxD,CAAC,CAAC,IAAI,CAAC;QACX,CAAC,CAAC,CAAC,OAAO,CAAC;YACT,cAAc,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC","sourcesContent":["import * as React from 'react';\nimport { getApolloContext } from '../context/index.js';\nimport { RenderPromises } from './RenderPromises.js';\nimport { renderToStaticMarkup } from 'react-dom/server';\n\nexport function getDataFromTree(\n tree: React.ReactNode,\n context: { [key: string]: any } = {}\n) {\n return getMarkupFromTree({\n tree,\n context,\n // If you need to configure this renderFunction, call getMarkupFromTree\n // directly instead of getDataFromTree.\n renderFunction: renderToStaticMarkup\n });\n}\n\nexport type GetMarkupFromTreeOptions = {\n tree: React.ReactNode;\n context?: { [key: string]: any };\n renderFunction?: (\n tree: React.ReactElement<any>,\n ) => string | PromiseLike<string>;\n};\n\nexport function getMarkupFromTree({\n tree,\n context = {},\n // The rendering function is configurable! We use renderToStaticMarkup as\n // the default, because it's a little less expensive than renderToString,\n // and legacy usage of getDataFromTree ignores the return value anyway.\n renderFunction = renderToStaticMarkup\n}: GetMarkupFromTreeOptions): Promise<string> {\n const renderPromises = new RenderPromises();\n\n function process(): Promise<string> {\n // Always re-render from the rootElement, even though it might seem\n // better to render the children of the component responsible for the\n // promise, because it is not possible to reconstruct the full context\n // of the original rendering (including all unknown context provider\n // elements) for a subtree of the original component tree.\n const ApolloContext = getApolloContext();\n\n return new Promise<string>(resolve => {\n const element = React.createElement(\n ApolloContext.Provider,\n { value: { ...context, renderPromises }},\n tree,\n );\n resolve(renderFunction(element));\n }).then(html => {\n return renderPromises.hasPromises()\n ? renderPromises.consumeAndAwaitPromises().then(process)\n : html;\n }).finally(() => {\n renderPromises.stop();\n });\n }\n\n return Promise.resolve().then(process);\n}\n"]}
1
+ {"version":3,"file":"getDataFromTree.js","sourceRoot":"","sources":["../../../src/react/ssr/getDataFromTree.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,UAAU,eAAe,CAC7B,IAAqB,EACrB,OAAoC;IAApC,wBAAA,EAAA,YAAoC;IAEpC,OAAO,iBAAiB,CAAC;QACvB,IAAI,MAAA;QACJ,OAAO,SAAA;QAGP,cAAc,EAAE,oBAAoB;KACrC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,iBAAiB,CAAC,EAOP;QANzB,IAAI,UAAA,EACJ,eAAY,EAAZ,OAAO,mBAAG,EAAE,KAAA,EAIZ,sBAAqC,EAArC,cAAc,mBAAG,oBAAoB,KAAA;IAErC,IAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAE5C,SAAS,OAAO;QAMd,IAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QAEzC,OAAO,IAAI,OAAO,CAAS,UAAC,OAAO;YACjC,IAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CACjC,aAAa,CAAC,QAAQ,EACtB,EAAE,KAAK,wBAAO,OAAO,KAAE,cAAc,gBAAA,GAAE,EAAE,EACzC,IAAI,CACL,CAAC;YACF,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC;aACC,IAAI,CAAC,UAAC,IAAI;YACT,OAAO,cAAc,CAAC,WAAW,EAAE;gBACjC,CAAC,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;gBACxD,CAAC,CAAC,IAAI,CAAC;QACX,CAAC,CAAC;aACD,OAAO,CAAC;YACP,cAAc,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { getApolloContext } from \"../context/index.js\";\nimport { RenderPromises } from \"./RenderPromises.js\";\nimport { renderToStaticMarkup } from \"react-dom/server\";\n\nexport function getDataFromTree(\n tree: React.ReactNode,\n context: { [key: string]: any } = {}\n) {\n return getMarkupFromTree({\n tree,\n context,\n // If you need to configure this renderFunction, call getMarkupFromTree\n // directly instead of getDataFromTree.\n renderFunction: renderToStaticMarkup,\n });\n}\n\nexport type GetMarkupFromTreeOptions = {\n tree: React.ReactNode;\n context?: { [key: string]: any };\n renderFunction?: (\n tree: React.ReactElement<any>\n ) => string | PromiseLike<string>;\n};\n\nexport function getMarkupFromTree({\n tree,\n context = {},\n // The rendering function is configurable! We use renderToStaticMarkup as\n // the default, because it's a little less expensive than renderToString,\n // and legacy usage of getDataFromTree ignores the return value anyway.\n renderFunction = renderToStaticMarkup,\n}: GetMarkupFromTreeOptions): Promise<string> {\n const renderPromises = new RenderPromises();\n\n function process(): Promise<string> {\n // Always re-render from the rootElement, even though it might seem\n // better to render the children of the component responsible for the\n // promise, because it is not possible to reconstruct the full context\n // of the original rendering (including all unknown context provider\n // elements) for a subtree of the original component tree.\n const ApolloContext = getApolloContext();\n\n return new Promise<string>((resolve) => {\n const element = React.createElement(\n ApolloContext.Provider,\n { value: { ...context, renderPromises } },\n tree\n );\n resolve(renderFunction(element));\n })\n .then((html) => {\n return renderPromises.hasPromises()\n ? renderPromises.consumeAndAwaitPromises().then(process)\n : html;\n })\n .finally(() => {\n renderPromises.stop();\n });\n }\n\n return Promise.resolve().then(process);\n}\n"]}
@@ -1,4 +1,4 @@
1
- export { getMarkupFromTree, getDataFromTree } from './getDataFromTree.js';
2
- export { renderToStringWithData } from './renderToStringWithData.js';
3
- export { RenderPromises } from './RenderPromises.js';
1
+ export { getMarkupFromTree, getDataFromTree } from "./getDataFromTree.js";
2
+ export { renderToStringWithData } from "./renderToStringWithData.js";
3
+ export { RenderPromises } from "./RenderPromises.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- export { getMarkupFromTree, getDataFromTree } from './getDataFromTree.js';
2
- export { renderToStringWithData } from './renderToStringWithData.js';
3
- export { RenderPromises } from './RenderPromises.js';
1
+ export { getMarkupFromTree, getDataFromTree } from "./getDataFromTree.js";
2
+ export { renderToStringWithData } from "./renderToStringWithData.js";
3
+ export { RenderPromises } from "./RenderPromises.js";
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/ssr/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["export { getMarkupFromTree, getDataFromTree } from './getDataFromTree.js';\nexport { renderToStringWithData } from './renderToStringWithData.js';\nexport { RenderPromises } from './RenderPromises.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/ssr/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["export { getMarkupFromTree, getDataFromTree } from \"./getDataFromTree.js\";\nexport { renderToStringWithData } from \"./renderToStringWithData.js\";\nexport { RenderPromises } from \"./RenderPromises.js\";\n"]}
@@ -1,3 +1,3 @@
1
- import type { ReactElement } from 'react';
1
+ import type { ReactElement } from "react";
2
2
  export declare function renderToStringWithData(component: ReactElement<any>): Promise<string>;
3
3
  //# sourceMappingURL=renderToStringWithData.d.ts.map
@@ -1,9 +1,9 @@
1
- import { getMarkupFromTree } from './getDataFromTree.js';
2
- import { renderToString } from 'react-dom/server';
1
+ import { getMarkupFromTree } from "./getDataFromTree.js";
2
+ import { renderToString } from "react-dom/server";
3
3
  export function renderToStringWithData(component) {
4
4
  return getMarkupFromTree({
5
5
  tree: component,
6
- renderFunction: renderToString
6
+ renderFunction: renderToString,
7
7
  });
8
8
  }
9
9
  //# sourceMappingURL=renderToStringWithData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderToStringWithData.js","sourceRoot":"","sources":["../../../src/react/ssr/renderToStringWithData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,UAAU,sBAAsB,CACpC,SAA4B;IAE5B,OAAO,iBAAiB,CAAC;QACvB,IAAI,EAAE,SAAS;QACf,cAAc,EAAE,cAAc;KAC/B,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { ReactElement } from 'react';\nimport { getMarkupFromTree } from './getDataFromTree.js';\nimport { renderToString } from 'react-dom/server';\n\nexport function renderToStringWithData(\n component: ReactElement<any>\n): Promise<string> {\n return getMarkupFromTree({\n tree: component,\n renderFunction: renderToString\n });\n}\n"]}
1
+ {"version":3,"file":"renderToStringWithData.js","sourceRoot":"","sources":["../../../src/react/ssr/renderToStringWithData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,UAAU,sBAAsB,CACpC,SAA4B;IAE5B,OAAO,iBAAiB,CAAC;QACvB,IAAI,EAAE,SAAS;QACf,cAAc,EAAE,cAAc;KAC/B,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { ReactElement } from \"react\";\nimport { getMarkupFromTree } from \"./getDataFromTree.js\";\nimport { renderToString } from \"react-dom/server\";\n\nexport function renderToStringWithData(\n component: ReactElement<any>\n): Promise<string> {\n return getMarkupFromTree({\n tree: component,\n renderFunction: renderToString,\n });\n}\n"]}
package/react/ssr/ssr.cjs CHANGED
@@ -24,7 +24,7 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
24
24
  function makeDefaultQueryInfo() {
25
25
  return {
26
26
  seen: false,
27
- observable: null
27
+ observable: null,
28
28
  };
29
29
  }
30
30
  var RenderPromises = (function () {
@@ -63,23 +63,25 @@ var RenderPromises = (function () {
63
63
  RenderPromises.prototype.addObservableQueryPromise = function (obsQuery) {
64
64
  return this.addQueryPromise({
65
65
  getOptions: function () { return obsQuery.options; },
66
- fetchData: function () { return new Promise(function (resolve) {
67
- var sub = obsQuery.subscribe({
68
- next: function (result) {
69
- if (!result.loading) {
66
+ fetchData: function () {
67
+ return new Promise(function (resolve) {
68
+ var sub = obsQuery.subscribe({
69
+ next: function (result) {
70
+ if (!result.loading) {
71
+ resolve();
72
+ sub.unsubscribe();
73
+ }
74
+ },
75
+ error: function () {
70
76
  resolve();
71
77
  sub.unsubscribe();
72
- }
73
- },
74
- error: function () {
75
- resolve();
76
- sub.unsubscribe();
77
- },
78
- complete: function () {
79
- resolve();
80
- },
78
+ },
79
+ complete: function () {
80
+ resolve();
81
+ },
82
+ });
81
83
  });
82
- }); },
84
+ },
83
85
  });
84
86
  };
85
87
  RenderPromises.prototype.hasPromises = function () {
@@ -115,7 +117,7 @@ function getDataFromTree(tree, context) {
115
117
  return getMarkupFromTree({
116
118
  tree: tree,
117
119
  context: context,
118
- renderFunction: server.renderToStaticMarkup
120
+ renderFunction: server.renderToStaticMarkup,
119
121
  });
120
122
  }
121
123
  function getMarkupFromTree(_a) {
@@ -126,11 +128,13 @@ function getMarkupFromTree(_a) {
126
128
  return new Promise(function (resolve) {
127
129
  var element = React__namespace.createElement(ApolloContext.Provider, { value: tslib.__assign(tslib.__assign({}, context$1), { renderPromises: renderPromises }) }, tree);
128
130
  resolve(renderFunction(element));
129
- }).then(function (html) {
131
+ })
132
+ .then(function (html) {
130
133
  return renderPromises.hasPromises()
131
134
  ? renderPromises.consumeAndAwaitPromises().then(process)
132
135
  : html;
133
- }).finally(function () {
136
+ })
137
+ .finally(function () {
134
138
  renderPromises.stop();
135
139
  });
136
140
  }
@@ -140,7 +144,7 @@ function getMarkupFromTree(_a) {
140
144
  function renderToStringWithData(component) {
141
145
  return getMarkupFromTree({
142
146
  tree: component,
143
- renderFunction: server.renderToString
147
+ renderFunction: server.renderToString,
144
148
  });
145
149
  }
146
150
 
@@ -1 +1 @@
1
- {"version":3,"file":"ssr.cjs","sources":["RenderPromises.js","getDataFromTree.js","renderToStringWithData.js"],"sourcesContent":["function makeDefaultQueryInfo() {\n return {\n seen: false,\n observable: null\n };\n}\nvar RenderPromises = (function () {\n function RenderPromises() {\n this.queryPromises = new Map();\n this.queryInfoTrie = new Map();\n this.stopped = false;\n }\n RenderPromises.prototype.stop = function () {\n if (!this.stopped) {\n this.queryPromises.clear();\n this.queryInfoTrie.clear();\n this.stopped = true;\n }\n };\n RenderPromises.prototype.registerSSRObservable = function (observable) {\n if (this.stopped)\n return;\n this.lookupQueryInfo(observable.options).observable = observable;\n };\n RenderPromises.prototype.getSSRObservable = function (props) {\n return this.lookupQueryInfo(props).observable;\n };\n RenderPromises.prototype.addQueryPromise = function (queryInstance, finish) {\n if (!this.stopped) {\n var info = this.lookupQueryInfo(queryInstance.getOptions());\n if (!info.seen) {\n this.queryPromises.set(queryInstance.getOptions(), new Promise(function (resolve) {\n resolve(queryInstance.fetchData());\n }));\n return null;\n }\n }\n return finish ? finish() : null;\n };\n RenderPromises.prototype.addObservableQueryPromise = function (obsQuery) {\n return this.addQueryPromise({\n getOptions: function () { return obsQuery.options; },\n fetchData: function () { return new Promise(function (resolve) {\n var sub = obsQuery.subscribe({\n next: function (result) {\n if (!result.loading) {\n resolve();\n sub.unsubscribe();\n }\n },\n error: function () {\n resolve();\n sub.unsubscribe();\n },\n complete: function () {\n resolve();\n },\n });\n }); },\n });\n };\n RenderPromises.prototype.hasPromises = function () {\n return this.queryPromises.size > 0;\n };\n RenderPromises.prototype.consumeAndAwaitPromises = function () {\n var _this = this;\n var promises = [];\n this.queryPromises.forEach(function (promise, queryInstance) {\n _this.lookupQueryInfo(queryInstance).seen = true;\n promises.push(promise);\n });\n this.queryPromises.clear();\n return Promise.all(promises);\n };\n RenderPromises.prototype.lookupQueryInfo = function (props) {\n var queryInfoTrie = this.queryInfoTrie;\n var query = props.query, variables = props.variables;\n var varMap = queryInfoTrie.get(query) || new Map();\n if (!queryInfoTrie.has(query))\n queryInfoTrie.set(query, varMap);\n var variablesString = JSON.stringify(variables);\n var info = varMap.get(variablesString) || makeDefaultQueryInfo();\n if (!varMap.has(variablesString))\n varMap.set(variablesString, info);\n return info;\n };\n return RenderPromises;\n}());\nexport { RenderPromises };\n//# sourceMappingURL=RenderPromises.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { getApolloContext } from '../context/index.js';\nimport { RenderPromises } from './RenderPromises.js';\nimport { renderToStaticMarkup } from 'react-dom/server';\nexport function getDataFromTree(tree, context) {\n if (context === void 0) { context = {}; }\n return getMarkupFromTree({\n tree: tree,\n context: context,\n renderFunction: renderToStaticMarkup\n });\n}\nexport function getMarkupFromTree(_a) {\n var tree = _a.tree, _b = _a.context, context = _b === void 0 ? {} : _b, _c = _a.renderFunction, renderFunction = _c === void 0 ? renderToStaticMarkup : _c;\n var renderPromises = new RenderPromises();\n function process() {\n var ApolloContext = getApolloContext();\n return new Promise(function (resolve) {\n var element = React.createElement(ApolloContext.Provider, { value: __assign(__assign({}, context), { renderPromises: renderPromises }) }, tree);\n resolve(renderFunction(element));\n }).then(function (html) {\n return renderPromises.hasPromises()\n ? renderPromises.consumeAndAwaitPromises().then(process)\n : html;\n }).finally(function () {\n renderPromises.stop();\n });\n }\n return Promise.resolve().then(process);\n}\n//# sourceMappingURL=getDataFromTree.js.map","import { getMarkupFromTree } from './getDataFromTree.js';\nimport { renderToString } from 'react-dom/server';\nexport function renderToStringWithData(component) {\n return getMarkupFromTree({\n tree: component,\n renderFunction: renderToString\n });\n}\n//# sourceMappingURL=renderToStringWithData.js.map"],"names":["renderToStaticMarkup","context","getApolloContext","React","__assign","renderToString"],"mappings":"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"}
1
+ {"version":3,"file":"ssr.cjs","sources":["RenderPromises.js","getDataFromTree.js","renderToStringWithData.js"],"sourcesContent":["function makeDefaultQueryInfo() {\n return {\n seen: false,\n observable: null,\n };\n}\nvar RenderPromises = (function () {\n function RenderPromises() {\n this.queryPromises = new Map();\n this.queryInfoTrie = new Map();\n this.stopped = false;\n }\n RenderPromises.prototype.stop = function () {\n if (!this.stopped) {\n this.queryPromises.clear();\n this.queryInfoTrie.clear();\n this.stopped = true;\n }\n };\n RenderPromises.prototype.registerSSRObservable = function (observable) {\n if (this.stopped)\n return;\n this.lookupQueryInfo(observable.options).observable = observable;\n };\n RenderPromises.prototype.getSSRObservable = function (props) {\n return this.lookupQueryInfo(props).observable;\n };\n RenderPromises.prototype.addQueryPromise = function (queryInstance, finish) {\n if (!this.stopped) {\n var info = this.lookupQueryInfo(queryInstance.getOptions());\n if (!info.seen) {\n this.queryPromises.set(queryInstance.getOptions(), new Promise(function (resolve) {\n resolve(queryInstance.fetchData());\n }));\n return null;\n }\n }\n return finish ? finish() : null;\n };\n RenderPromises.prototype.addObservableQueryPromise = function (obsQuery) {\n return this.addQueryPromise({\n getOptions: function () { return obsQuery.options; },\n fetchData: function () {\n return new Promise(function (resolve) {\n var sub = obsQuery.subscribe({\n next: function (result) {\n if (!result.loading) {\n resolve();\n sub.unsubscribe();\n }\n },\n error: function () {\n resolve();\n sub.unsubscribe();\n },\n complete: function () {\n resolve();\n },\n });\n });\n },\n });\n };\n RenderPromises.prototype.hasPromises = function () {\n return this.queryPromises.size > 0;\n };\n RenderPromises.prototype.consumeAndAwaitPromises = function () {\n var _this = this;\n var promises = [];\n this.queryPromises.forEach(function (promise, queryInstance) {\n _this.lookupQueryInfo(queryInstance).seen = true;\n promises.push(promise);\n });\n this.queryPromises.clear();\n return Promise.all(promises);\n };\n RenderPromises.prototype.lookupQueryInfo = function (props) {\n var queryInfoTrie = this.queryInfoTrie;\n var query = props.query, variables = props.variables;\n var varMap = queryInfoTrie.get(query) || new Map();\n if (!queryInfoTrie.has(query))\n queryInfoTrie.set(query, varMap);\n var variablesString = JSON.stringify(variables);\n var info = varMap.get(variablesString) || makeDefaultQueryInfo();\n if (!varMap.has(variablesString))\n varMap.set(variablesString, info);\n return info;\n };\n return RenderPromises;\n}());\nexport { RenderPromises };\n//# sourceMappingURL=RenderPromises.js.map","import { __assign } from \"tslib\";\nimport * as React from \"react\";\nimport { getApolloContext } from \"../context/index.js\";\nimport { RenderPromises } from \"./RenderPromises.js\";\nimport { renderToStaticMarkup } from \"react-dom/server\";\nexport function getDataFromTree(tree, context) {\n if (context === void 0) { context = {}; }\n return getMarkupFromTree({\n tree: tree,\n context: context,\n renderFunction: renderToStaticMarkup,\n });\n}\nexport function getMarkupFromTree(_a) {\n var tree = _a.tree, _b = _a.context, context = _b === void 0 ? {} : _b, _c = _a.renderFunction, renderFunction = _c === void 0 ? renderToStaticMarkup : _c;\n var renderPromises = new RenderPromises();\n function process() {\n var ApolloContext = getApolloContext();\n return new Promise(function (resolve) {\n var element = React.createElement(ApolloContext.Provider, { value: __assign(__assign({}, context), { renderPromises: renderPromises }) }, tree);\n resolve(renderFunction(element));\n })\n .then(function (html) {\n return renderPromises.hasPromises()\n ? renderPromises.consumeAndAwaitPromises().then(process)\n : html;\n })\n .finally(function () {\n renderPromises.stop();\n });\n }\n return Promise.resolve().then(process);\n}\n//# sourceMappingURL=getDataFromTree.js.map","import { getMarkupFromTree } from \"./getDataFromTree.js\";\nimport { renderToString } from \"react-dom/server\";\nexport function renderToStringWithData(component) {\n return getMarkupFromTree({\n tree: component,\n renderFunction: renderToString,\n });\n}\n//# sourceMappingURL=renderToStringWithData.js.map"],"names":["renderToStaticMarkup","context","getApolloContext","React","__assign","renderToString"],"mappings":"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"}
@@ -24,7 +24,7 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
24
24
  function makeDefaultQueryInfo() {
25
25
  return {
26
26
  seen: false,
27
- observable: null
27
+ observable: null,
28
28
  };
29
29
  }
30
30
  var RenderPromises = (function () {
@@ -63,23 +63,25 @@ var RenderPromises = (function () {
63
63
  RenderPromises.prototype.addObservableQueryPromise = function (obsQuery) {
64
64
  return this.addQueryPromise({
65
65
  getOptions: function () { return obsQuery.options; },
66
- fetchData: function () { return new Promise(function (resolve) {
67
- var sub = obsQuery.subscribe({
68
- next: function (result) {
69
- if (!result.loading) {
66
+ fetchData: function () {
67
+ return new Promise(function (resolve) {
68
+ var sub = obsQuery.subscribe({
69
+ next: function (result) {
70
+ if (!result.loading) {
71
+ resolve();
72
+ sub.unsubscribe();
73
+ }
74
+ },
75
+ error: function () {
70
76
  resolve();
71
77
  sub.unsubscribe();
72
- }
73
- },
74
- error: function () {
75
- resolve();
76
- sub.unsubscribe();
77
- },
78
- complete: function () {
79
- resolve();
80
- },
78
+ },
79
+ complete: function () {
80
+ resolve();
81
+ },
82
+ });
81
83
  });
82
- }); },
84
+ },
83
85
  });
84
86
  };
85
87
  RenderPromises.prototype.hasPromises = function () {
@@ -115,7 +117,7 @@ function getDataFromTree(tree, context) {
115
117
  return getMarkupFromTree({
116
118
  tree: tree,
117
119
  context: context,
118
- renderFunction: server.renderToStaticMarkup
120
+ renderFunction: server.renderToStaticMarkup,
119
121
  });
120
122
  }
121
123
  function getMarkupFromTree(_a) {
@@ -126,11 +128,13 @@ function getMarkupFromTree(_a) {
126
128
  return new Promise(function (resolve) {
127
129
  var element = React__namespace.createElement(ApolloContext.Provider, { value: tslib.__assign(tslib.__assign({}, context$1), { renderPromises: renderPromises }) }, tree);
128
130
  resolve(renderFunction(element));
129
- }).then(function (html) {
131
+ })
132
+ .then(function (html) {
130
133
  return renderPromises.hasPromises()
131
134
  ? renderPromises.consumeAndAwaitPromises().then(process)
132
135
  : html;
133
- }).finally(function () {
136
+ })
137
+ .finally(function () {
134
138
  renderPromises.stop();
135
139
  });
136
140
  }
@@ -140,7 +144,7 @@ function getMarkupFromTree(_a) {
140
144
  function renderToStringWithData(component) {
141
145
  return getMarkupFromTree({
142
146
  tree: component,
143
- renderFunction: server.renderToString
147
+ renderFunction: server.renderToString,
144
148
  });
145
149
  }
146
150