@cedarjs/web 5.0.6 → 5.0.7-next.219

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 (188) hide show
  1. package/dist/apollo/ApolloProviderWithFetchConfig.d.ts +15 -0
  2. package/dist/apollo/ApolloProviderWithFetchConfig.d.ts.map +1 -0
  3. package/dist/apollo/ApolloProviderWithFetchConfig.js +134 -0
  4. package/dist/apollo/CedarApolloProvider.d.ts +14 -0
  5. package/dist/apollo/CedarApolloProvider.d.ts.map +1 -0
  6. package/dist/apollo/CedarApolloProvider.js +35 -0
  7. package/dist/apollo/ErrorBoundary.d.ts +13 -0
  8. package/dist/apollo/ErrorBoundary.d.ts.map +1 -0
  9. package/dist/apollo/ErrorBoundary.js +13 -0
  10. package/dist/{cjs/apollo/suspense.d.ts → apollo/apolloLinkTypes.d.ts} +22 -22
  11. package/dist/apollo/apolloLinkTypes.d.ts.map +1 -0
  12. package/dist/apollo/fragmentRegistry.d.ts +25 -0
  13. package/dist/apollo/fragmentRegistry.d.ts.map +1 -1
  14. package/dist/apollo/fragmentRegistry.js +19 -1
  15. package/dist/apollo/index.d.ts +50 -70
  16. package/dist/apollo/index.d.ts.map +1 -1
  17. package/dist/apollo/index.js +2 -184
  18. package/dist/apollo/suspense.d.ts +16 -7
  19. package/dist/apollo/suspense.d.ts.map +1 -1
  20. package/dist/apollo/suspense.js +9 -26
  21. package/dist/bins/cedar.js +14 -0
  22. package/dist/bins/cfw.js +14 -0
  23. package/dist/bins/cross-env.js +8 -0
  24. package/dist/bins/msw.js +6 -0
  25. package/dist/bins/redwood.js +14 -0
  26. package/dist/bins/storybook.js +27 -0
  27. package/dist/bins/tsc.js +8 -0
  28. package/dist/bundled/apollo-upload-client.js +2899 -1
  29. package/dist/components/FetchConfigProvider.d.ts +3 -2
  30. package/dist/components/FetchConfigProvider.d.ts.map +1 -1
  31. package/dist/components/cell/CellErrorBoundary.d.ts +3 -2
  32. package/dist/components/cell/CellErrorBoundary.d.ts.map +1 -1
  33. package/dist/components/cell/cellTypes.d.ts +17 -4
  34. package/dist/components/cell/cellTypes.d.ts.map +1 -1
  35. package/dist/components/cell/createCell.d.ts +1 -7
  36. package/dist/components/cell/createCell.d.ts.map +1 -1
  37. package/dist/components/cell/createCell.js +22 -3
  38. package/dist/components/cell/createFragmentCell.d.ts +19 -0
  39. package/dist/components/cell/createFragmentCell.d.ts.map +1 -0
  40. package/dist/components/cell/createFragmentCell.js +73 -0
  41. package/dist/components/cell/createSuspendingCell.d.ts.map +1 -1
  42. package/dist/components/cell/createSuspendingCell.js +12 -3
  43. package/dist/global.web-auto-imports.d.ts +0 -16
  44. package/dist/global.web-auto-imports.d.ts.map +1 -1
  45. package/dist/index.d.ts +5 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +5 -3
  48. package/package.json +48 -106
  49. package/dist/apollo/typeOverride.d.ts +0 -21
  50. package/dist/apollo/typeOverride.d.ts.map +0 -1
  51. package/dist/cjs/apollo/fragmentRegistry.d.ts +0 -43
  52. package/dist/cjs/apollo/fragmentRegistry.d.ts.map +0 -1
  53. package/dist/cjs/apollo/fragmentRegistry.js +0 -75
  54. package/dist/cjs/apollo/index.d.ts +0 -76
  55. package/dist/cjs/apollo/index.d.ts.map +0 -1
  56. package/dist/cjs/apollo/index.js +0 -218
  57. package/dist/cjs/apollo/links.d.ts +0 -27
  58. package/dist/cjs/apollo/links.d.ts.map +0 -1
  59. package/dist/cjs/apollo/links.js +0 -122
  60. package/dist/cjs/apollo/sseLink.d.ts +0 -29
  61. package/dist/cjs/apollo/sseLink.d.ts.map +0 -1
  62. package/dist/cjs/apollo/sseLink.js +0 -120
  63. package/dist/cjs/apollo/suspense.d.ts.map +0 -1
  64. package/dist/cjs/apollo/suspense.js +0 -127
  65. package/dist/cjs/apollo/typeOverride.d.ts +0 -21
  66. package/dist/cjs/apollo/typeOverride.d.ts.map +0 -1
  67. package/dist/cjs/apollo/typeOverride.js +0 -16
  68. package/dist/cjs/apollo/useCache.d.ts +0 -22
  69. package/dist/cjs/apollo/useCache.d.ts.map +0 -1
  70. package/dist/cjs/apollo/useCache.js +0 -49
  71. package/dist/cjs/bins/cedar.d.ts +0 -9
  72. package/dist/cjs/bins/cedar.d.ts.map +0 -1
  73. package/dist/cjs/bins/cedar.js +0 -36
  74. package/dist/cjs/bins/cfw.d.ts +0 -3
  75. package/dist/cjs/bins/cfw.d.ts.map +0 -1
  76. package/dist/cjs/bins/cfw.js +0 -36
  77. package/dist/cjs/bins/cross-env.d.ts +0 -3
  78. package/dist/cjs/bins/cross-env.d.ts.map +0 -1
  79. package/dist/cjs/bins/cross-env.js +0 -30
  80. package/dist/cjs/bins/msw.d.ts +0 -3
  81. package/dist/cjs/bins/msw.d.ts.map +0 -1
  82. package/dist/cjs/bins/msw.js +0 -28
  83. package/dist/cjs/bins/redwood.d.ts +0 -9
  84. package/dist/cjs/bins/redwood.d.ts.map +0 -1
  85. package/dist/cjs/bins/redwood.js +0 -36
  86. package/dist/cjs/bins/storybook.d.ts +0 -3
  87. package/dist/cjs/bins/storybook.d.ts.map +0 -1
  88. package/dist/cjs/bins/storybook.js +0 -49
  89. package/dist/cjs/bins/tsc.d.ts +0 -3
  90. package/dist/cjs/bins/tsc.d.ts.map +0 -1
  91. package/dist/cjs/bins/tsc.js +0 -30
  92. package/dist/cjs/bundled/apollo-upload-client.d.ts +0 -3
  93. package/dist/cjs/bundled/apollo-upload-client.d.ts.map +0 -1
  94. package/dist/cjs/bundled/apollo-upload-client.js +0 -2925
  95. package/dist/cjs/components/DevFatalErrorPage.d.ts +0 -21
  96. package/dist/cjs/components/DevFatalErrorPage.d.ts.map +0 -1
  97. package/dist/cjs/components/DevFatalErrorPage.js +0 -552
  98. package/dist/cjs/components/FatalErrorBoundary.d.ts +0 -24
  99. package/dist/cjs/components/FatalErrorBoundary.d.ts.map +0 -1
  100. package/dist/cjs/components/FatalErrorBoundary.js +0 -63
  101. package/dist/cjs/components/FetchConfigProvider.d.ts +0 -25
  102. package/dist/cjs/components/FetchConfigProvider.d.ts.map +0 -1
  103. package/dist/cjs/components/FetchConfigProvider.js +0 -80
  104. package/dist/cjs/components/GraphQLHooksProvider.d.ts +0 -45
  105. package/dist/cjs/components/GraphQLHooksProvider.d.ts.map +0 -1
  106. package/dist/cjs/components/GraphQLHooksProvider.js +0 -135
  107. package/dist/cjs/components/MetaTags.d.ts +0 -52
  108. package/dist/cjs/components/MetaTags.d.ts.map +0 -1
  109. package/dist/cjs/components/MetaTags.js +0 -68
  110. package/dist/cjs/components/Metadata.d.ts +0 -9
  111. package/dist/cjs/components/Metadata.d.ts.map +0 -1
  112. package/dist/cjs/components/Metadata.js +0 -94
  113. package/dist/cjs/components/PortalHead.d.ts +0 -4
  114. package/dist/cjs/components/PortalHead.d.ts.map +0 -1
  115. package/dist/cjs/components/PortalHead.js +0 -59
  116. package/dist/cjs/components/RedwoodProvider.d.ts +0 -9
  117. package/dist/cjs/components/RedwoodProvider.d.ts.map +0 -1
  118. package/dist/cjs/components/RedwoodProvider.js +0 -57
  119. package/dist/cjs/components/ServerInject.d.ts +0 -26
  120. package/dist/cjs/components/ServerInject.d.ts.map +0 -1
  121. package/dist/cjs/components/ServerInject.js +0 -75
  122. package/dist/cjs/components/cell/CellCacheContext.d.ts +0 -20
  123. package/dist/cjs/components/cell/CellCacheContext.d.ts.map +0 -1
  124. package/dist/cjs/components/cell/CellCacheContext.js +0 -53
  125. package/dist/cjs/components/cell/CellErrorBoundary.d.ts +0 -25
  126. package/dist/cjs/components/cell/CellErrorBoundary.d.ts.map +0 -1
  127. package/dist/cjs/components/cell/CellErrorBoundary.js +0 -66
  128. package/dist/cjs/components/cell/cellTypes.d.ts +0 -152
  129. package/dist/cjs/components/cell/cellTypes.d.ts.map +0 -1
  130. package/dist/cjs/components/cell/cellTypes.js +0 -16
  131. package/dist/cjs/components/cell/createCell.d.ts +0 -10
  132. package/dist/cjs/components/cell/createCell.d.ts.map +0 -1
  133. package/dist/cjs/components/cell/createCell.js +0 -165
  134. package/dist/cjs/components/cell/createCell.test.js +0 -351
  135. package/dist/cjs/components/cell/createServerCell.d.ts +0 -15
  136. package/dist/cjs/components/cell/createServerCell.d.ts.map +0 -1
  137. package/dist/cjs/components/cell/createServerCell.js +0 -91
  138. package/dist/cjs/components/cell/createSuspendingCell.d.ts +0 -11
  139. package/dist/cjs/components/cell/createSuspendingCell.d.ts.map +0 -1
  140. package/dist/cjs/components/cell/createSuspendingCell.js +0 -152
  141. package/dist/cjs/components/cell/createSuspendingCell.test.js +0 -115
  142. package/dist/cjs/components/cell/isCellEmpty.d.ts +0 -41
  143. package/dist/cjs/components/cell/isCellEmpty.d.ts.map +0 -1
  144. package/dist/cjs/components/cell/isCellEmpty.js +0 -35
  145. package/dist/cjs/components/htmlTags.d.ts +0 -52
  146. package/dist/cjs/components/htmlTags.d.ts.map +0 -1
  147. package/dist/cjs/components/htmlTags.js +0 -88
  148. package/dist/cjs/config.d.ts +0 -2
  149. package/dist/cjs/config.d.ts.map +0 -1
  150. package/dist/cjs/config.js +0 -6
  151. package/dist/cjs/global.web-auto-imports.d.ts +0 -30
  152. package/dist/cjs/global.web-auto-imports.d.ts.map +0 -1
  153. package/dist/cjs/global.web-auto-imports.js +0 -16
  154. package/dist/cjs/graphql.d.ts +0 -23
  155. package/dist/cjs/graphql.d.ts.map +0 -1
  156. package/dist/cjs/graphql.js +0 -36
  157. package/dist/cjs/index.d.ts +0 -19
  158. package/dist/cjs/index.d.ts.map +0 -1
  159. package/dist/cjs/index.js +0 -69
  160. package/dist/cjs/package.json +0 -1
  161. package/dist/cjs/routeHooks.types.d.ts +0 -12
  162. package/dist/cjs/routeHooks.types.d.ts.map +0 -1
  163. package/dist/cjs/routeHooks.types.js +0 -16
  164. package/dist/cjs/server/MiddlewareRequest.d.ts +0 -28
  165. package/dist/cjs/server/MiddlewareRequest.d.ts.map +0 -1
  166. package/dist/cjs/server/MiddlewareRequest.js +0 -71
  167. package/dist/cjs/server/MiddlewareResponse.d.ts +0 -44
  168. package/dist/cjs/server/MiddlewareResponse.d.ts.map +0 -1
  169. package/dist/cjs/server/MiddlewareResponse.js +0 -130
  170. package/dist/cjs/server/middleware.d.ts +0 -17
  171. package/dist/cjs/server/middleware.d.ts.map +0 -1
  172. package/dist/cjs/server/middleware.js +0 -24
  173. package/dist/cjs/server/request.d.ts +0 -2
  174. package/dist/cjs/server/request.d.ts.map +0 -1
  175. package/dist/cjs/server/request.js +0 -34
  176. package/dist/cjs/streamUtils/useDocumentReady.d.ts +0 -11
  177. package/dist/cjs/streamUtils/useDocumentReady.d.ts.map +0 -1
  178. package/dist/cjs/streamUtils/useDocumentReady.js +0 -41
  179. package/dist/cjs/toast/index.d.ts +0 -3
  180. package/dist/cjs/toast/index.d.ts.map +0 -1
  181. package/dist/cjs/toast/index.js +0 -41
  182. package/dist/components/GraphQLHooksProvider.d.ts +0 -45
  183. package/dist/components/GraphQLHooksProvider.d.ts.map +0 -1
  184. package/dist/components/GraphQLHooksProvider.js +0 -94
  185. package/dist/components/cell/createCell.test.js +0 -328
  186. package/dist/components/cell/createSuspendingCell.test.js +0 -92
  187. package/dist/package.json +0 -1
  188. /package/dist/apollo/{typeOverride.js → apolloLinkTypes.js} +0 -0
@@ -1,165 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var createCell_exports = {};
30
- __export(createCell_exports, {
31
- createCell: () => createCell
32
- });
33
- module.exports = __toCommonJS(createCell_exports);
34
- var import_react = __toESM(require("react"), 1);
35
- var import_fragmentRegistry = require("../../apollo/fragmentRegistry.js");
36
- var import_graphql = require("../../graphql.js");
37
- var import_GraphQLHooksProvider = require("../GraphQLHooksProvider.js");
38
- var import_CellCacheContext = require("./CellCacheContext.js");
39
- var import_createSuspendingCell = require("./createSuspendingCell.js");
40
- var import_isCellEmpty = require("./isCellEmpty.js");
41
- const createCell = RWJS_ENV.RWJS_EXP_STREAMING_SSR ? import_createSuspendingCell.createSuspendingCell : createNonSuspendingCell;
42
- function createNonSuspendingCell({
43
- QUERY,
44
- beforeQuery = (props) => ({
45
- // By default, we assume that the props are the gql-variables.
46
- variables: props,
47
- /**
48
- * We're duplicating these props here due to a suspected bug in Apollo Client v3.5.4
49
- * (it doesn't seem to be respecting `defaultOptions` in `RedwoodApolloProvider`.)
50
- *
51
- * @see {@link https://github.com/apollographql/apollo-client/issues/9105}
52
- */
53
- fetchPolicy: "cache-and-network",
54
- notifyOnNetworkStatusChange: true
55
- }),
56
- afterQuery = (data) => data,
57
- isEmpty = import_isCellEmpty.isDataEmpty,
58
- Loading = () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Loading..."),
59
- Failure,
60
- Empty,
61
- Success,
62
- displayName = "Cell"
63
- }) {
64
- function NamedCell(props) {
65
- const { children: _, ...variables } = props;
66
- const options = beforeQuery(variables);
67
- const query = typeof QUERY === "function" ? QUERY(options) : QUERY;
68
- let {
69
- // eslint-disable-next-line prefer-const
70
- error,
71
- loading,
72
- data,
73
- ...queryResult
74
- } = (0, import_GraphQLHooksProvider.useQuery)(query, options);
75
- if (globalThis.__REDWOOD__PRERENDERING) {
76
- const { queryCache } = (0, import_CellCacheContext.useCellCacheContext)();
77
- const operationName = (0, import_graphql.getOperationName)(query);
78
- const transformedQuery = import_fragmentRegistry.fragmentRegistry.transform(query);
79
- let cacheKey;
80
- if (operationName) {
81
- cacheKey = operationName + "_" + JSON.stringify(variables);
82
- } else {
83
- const cellName = displayName === "Cell" ? "the cell" : displayName;
84
- throw new Error(
85
- `The gql query in ${cellName} is missing an operation name. Something like FindBlogPostQuery in \`query FindBlogPostQuery($id: Int!)\``
86
- );
87
- }
88
- const queryInfo = queryCache[cacheKey];
89
- if (queryInfo?.renderLoading) {
90
- loading = true;
91
- } else {
92
- if (queryInfo?.hasProcessed) {
93
- loading = false;
94
- data = queryInfo.data;
95
- queryResult = { variables };
96
- } else {
97
- queryCache[cacheKey] ||= {
98
- query: transformedQuery,
99
- variables: options.variables,
100
- hasProcessed: false
101
- };
102
- }
103
- }
104
- }
105
- if (error) {
106
- if (Failure) {
107
- return /* @__PURE__ */ import_react.default.createElement(
108
- Failure,
109
- {
110
- error,
111
- errorCode: (
112
- // Use the ad-hoc QueryResultWithErrorCode type to access the errorCode
113
- queryResult.errorCode ?? error.graphQLErrors?.[0]?.extensions?.["code"]
114
- ),
115
- ...props,
116
- updating: loading,
117
- queryResult
118
- }
119
- );
120
- } else {
121
- throw error;
122
- }
123
- } else if (data) {
124
- const afterQueryData = afterQuery(data);
125
- if (isEmpty(data, { isDataEmpty: import_isCellEmpty.isDataEmpty }) && Empty) {
126
- return /* @__PURE__ */ import_react.default.createElement(
127
- Empty,
128
- {
129
- ...props,
130
- ...afterQueryData,
131
- updating: loading,
132
- queryResult
133
- }
134
- );
135
- } else {
136
- return /* @__PURE__ */ import_react.default.createElement(
137
- Success,
138
- {
139
- ...props,
140
- ...afterQueryData,
141
- updating: loading,
142
- queryResult
143
- }
144
- );
145
- }
146
- } else if (loading) {
147
- return /* @__PURE__ */ import_react.default.createElement(Loading, { ...props, queryResult });
148
- } else {
149
- console.warn(
150
- `If you're using Apollo Client, check for its debug logs here in the console, which may help explain the error.`
151
- );
152
- throw new Error(
153
- "Cannot render Cell: reached an unexpected state where the query succeeded but `data` is `null`. If this happened in Storybook, your query could be missing fields; otherwise this is most likely a GraphQL caching bug. Note that adding an `id` field to all the fields on your query may fix the issue."
154
- );
155
- }
156
- }
157
- NamedCell.displayName = displayName;
158
- return (props) => {
159
- return /* @__PURE__ */ import_react.default.createElement(NamedCell, { ...props });
160
- };
161
- }
162
- // Annotate the CommonJS export names for ESM import in node:
163
- 0 && (module.exports = {
164
- createCell
165
- });
@@ -1,351 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (let key of __getOwnPropNames(from))
11
- if (!__hasOwnProp.call(to, key) && key !== except)
12
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- }
14
- return to;
15
- };
16
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
- // If the importer is in node compatibility mode or this is not an ESM
18
- // file that has been converted to a CommonJS file using a Babel-
19
- // compatible transform (i.e. "__esModule" has not been set), then set
20
- // "default" to the CommonJS "module.exports" for node compatibility.
21
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
- mod
23
- ));
24
- var import_react = __toESM(require("react"), 1);
25
- var import_react2 = require("@testing-library/react");
26
- var import_vitest = require("vitest");
27
- var import_GraphQLHooksProvider = require("../GraphQLHooksProvider.js");
28
- var import_createCell = require("./createCell.js");
29
- (0, import_vitest.describe)("createCell", () => {
30
- (0, import_vitest.beforeAll)(() => {
31
- globalThis.RWJS_ENV = {
32
- RWJS_EXP_STREAMING_SSR: false
33
- };
34
- });
35
- (0, import_vitest.test)("Renders a static Success component", () => {
36
- const TestCell = (0, import_createCell.createCell)({
37
- // @ts-expect-error - Purposefully using a plain string here.
38
- QUERY: "query TestQuery { answer }",
39
- Success: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Great success!")
40
- });
41
- const myUseQueryHook = () => ({ data: {} });
42
- (0, import_react2.render)(
43
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
44
- );
45
- import_react2.screen.getByText(/^Great success!$/);
46
- });
47
- (0, import_vitest.test)("Renders Success with data", () => {
48
- const TestCell = (0, import_createCell.createCell)({
49
- // @ts-expect-error - Purposefully using a plain string here.
50
- QUERY: "query TestQuery { answer }",
51
- Success: ({ answer }) => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("dl", null, /* @__PURE__ */ import_react.default.createElement("dt", null, "What's the meaning of life?"), /* @__PURE__ */ import_react.default.createElement("dd", null, answer)))
52
- });
53
- const myUseQueryHook = () => {
54
- return { data: { answer: 42 } };
55
- };
56
- (0, import_react2.render)(
57
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
58
- );
59
- import_react2.screen.getByText(/^What's the meaning of life\?$/);
60
- import_react2.screen.getByText(/^42$/);
61
- });
62
- (0, import_vitest.test)("Renders Success if any of the fields have data (i.e. not just the first)", () => {
63
- const TestCell = (0, import_createCell.createCell)({
64
- // @ts-expect-error - Purposefully using a plain string here.
65
- QUERY: "query TestQuery { users { name } posts { title } }",
66
- Empty: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "No users or posts"),
67
- Success: ({ users, posts }) => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("div", null, users.length > 0 ? /* @__PURE__ */ import_react.default.createElement("ul", null, users.map(({ name }) => /* @__PURE__ */ import_react.default.createElement("li", { key: name }, name))) : "no users"), /* @__PURE__ */ import_react.default.createElement("div", null, posts.length > 0 ? /* @__PURE__ */ import_react.default.createElement("ul", null, posts.map(({ title }) => /* @__PURE__ */ import_react.default.createElement("li", { key: title }, title))) : "no posts"))
68
- });
69
- const myUseQueryHook = () => {
70
- return {
71
- data: {
72
- users: [],
73
- posts: [{ title: "bazinga" }, { title: "kittens" }]
74
- }
75
- };
76
- };
77
- (0, import_react2.render)(
78
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
79
- );
80
- import_react2.screen.getByText(/bazinga/);
81
- import_react2.screen.getByText(/kittens/);
82
- });
83
- (0, import_vitest.test)("Renders default Loading when there is no data", () => {
84
- const TestCell = (0, import_createCell.createCell)({
85
- // @ts-expect-error - Purposefully using a plain string here.
86
- QUERY: "query TestQuery { answer }",
87
- Success: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Great success!")
88
- });
89
- const myUseQueryHook = () => ({ loading: true });
90
- (0, import_react2.render)(
91
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
92
- );
93
- import_react2.screen.getByText(/^Loading...$/);
94
- });
95
- (0, import_vitest.test)("Renders custom Loading when there is no data", () => {
96
- const TestCell = (0, import_createCell.createCell)({
97
- // @ts-expect-error - Purposefully using a plain string here.
98
- QUERY: "query TestQuery { answer }",
99
- Success: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Great success!"),
100
- Loading: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Fetching answer...")
101
- });
102
- const myUseQueryHook = () => ({ loading: true });
103
- (0, import_react2.render)(
104
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
105
- );
106
- import_react2.screen.getByText(/^Fetching answer...$/);
107
- });
108
- (0, import_vitest.test)("Renders Success even when `loading` is true if there is data", () => {
109
- const TestCell = (0, import_createCell.createCell)({
110
- // @ts-expect-error - Purposefully using a plain string here.
111
- QUERY: "query TestQuery { answer }",
112
- Success: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Great success!"),
113
- Loading: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Fetching answer...")
114
- });
115
- const myUseQueryHook = () => ({ loading: true, data: {} });
116
- (0, import_react2.render)(
117
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
118
- );
119
- import_react2.screen.getByText(/^Great success!$/);
120
- });
121
- (0, import_vitest.test)("Renders Empty if available, and data field is null", () => {
122
- const TestCell = (0, import_createCell.createCell)({
123
- // @ts-expect-error - Purposefully using a plain string here.
124
- QUERY: "query TestQuery { answer }",
125
- Success: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Great success!"),
126
- Empty: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "No one knows")
127
- });
128
- const myUseQueryHook = () => ({ loading: true, data: { answer: null } });
129
- (0, import_react2.render)(
130
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
131
- );
132
- import_react2.screen.getByText(/^No one knows$/);
133
- });
134
- (0, import_vitest.test)("Renders Empty if available, and data field is an empty array", () => {
135
- const TestCell = (0, import_createCell.createCell)({
136
- // @ts-expect-error - Purposefully using a plain string here.
137
- QUERY: "query TestQuery { answers }",
138
- Success: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Great success!"),
139
- Empty: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "No one knows")
140
- });
141
- const myUseQueryHook = () => ({ loading: true, data: { answers: [] } });
142
- (0, import_react2.render)(
143
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
144
- );
145
- import_react2.screen.getByText(/^No one knows$/);
146
- });
147
- (0, import_vitest.test)("Renders Success even if data is empty when no Empty is available", () => {
148
- const TestCell = (0, import_createCell.createCell)({
149
- // @ts-expect-error - Purposefully using a plain string here.
150
- QUERY: "query TestQuery { answer }",
151
- Success: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Empty success")
152
- });
153
- const myUseQueryHook = () => ({ loading: true, data: { answer: null } });
154
- (0, import_react2.render)(
155
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
156
- );
157
- import_react2.screen.getByText(/^Empty success$/);
158
- });
159
- (0, import_vitest.test)("Allows passing children to Success", () => {
160
- const TestCell = (0, import_createCell.createCell)({
161
- // @ts-expect-error - Purposefully using a plain string here.
162
- QUERY: "query TestQuery { answer }",
163
- Success: ({ children }) => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Look at my beautiful ", children)
164
- });
165
- const myUseQueryHook = () => ({ data: {} });
166
- (0, import_react2.render)(
167
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null, /* @__PURE__ */ import_react.default.createElement("div", null, "\u{1F986}")))
168
- );
169
- import_react2.screen.getByText(/^Look at my beautiful$/);
170
- import_react2.screen.getByText(/^🦆$/);
171
- });
172
- (0, import_vitest.test)("Cell props are passed to the query as variables", () => {
173
- const TestCell = (0, import_createCell.createCell)({
174
- // @ts-expect-error - Purposefully using a plain string here.
175
- QUERY: `query Greet($name: String!) {
176
- greet(name: $name) {
177
- greeting
178
- }
179
- }`,
180
- Success: ({ greeting }) => /* @__PURE__ */ import_react.default.createElement("p", null, greeting)
181
- });
182
- const myUseQueryHook = (_query, options) => {
183
- return { data: { greeting: `Hello ${options.variables.name}!` } };
184
- };
185
- (0, import_react2.render)(
186
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, { name: "Bob" }))
187
- );
188
- import_react2.screen.getByText(/^Hello Bob!$/);
189
- });
190
- (0, import_vitest.test)("Allows QUERY to be a function", () => {
191
- const TestCell = (0, import_createCell.createCell)({
192
- // @ts-expect-error - Purposefully using a plain string here.
193
- QUERY: ({ variables }) => {
194
- if (variables.character === "BEAST") {
195
- return "query BeastQuery { name }";
196
- }
197
- return "query HeroQuery { name }";
198
- },
199
- Success: ({ name }) => /* @__PURE__ */ import_react.default.createElement("p", null, "Call me ", name)
200
- });
201
- const myUseQueryHook = (query) => {
202
- if (query.includes("BeastQuery")) {
203
- return { data: { name: "Boogeyman" } };
204
- } else if (query.includes("HeroQuery")) {
205
- return { data: { name: "Lara Croft" } };
206
- }
207
- return { data: { name: "John Doe" } };
208
- };
209
- (0, import_react2.render)(
210
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, { character: "BEAST" }), /* @__PURE__ */ import_react.default.createElement(TestCell, { character: "HERO" }))
211
- );
212
- import_react2.screen.getByText(/^Call me Boogeyman$/);
213
- import_react2.screen.getByText(/^Call me Lara Croft$/);
214
- });
215
- (0, import_vitest.test)("Renders Failure when there is an error", () => {
216
- const TestCell = (0, import_createCell.createCell)({
217
- // @ts-expect-error - Purposefully using a plain string here.
218
- QUERY: "query TestQuery { answer }",
219
- Failure: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Sad face :("),
220
- Success: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Great success!"),
221
- Loading: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Fetching answer...")
222
- });
223
- const myUseQueryHook = () => ({ error: true });
224
- (0, import_react2.render)(
225
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
226
- );
227
- import_react2.screen.getByText(/^Sad face :\($/);
228
- });
229
- (0, import_vitest.test)("Passes error to Failure component", () => {
230
- const TestCell = (0, import_createCell.createCell)({
231
- // @ts-expect-error - Purposefully using a plain string here.
232
- QUERY: "query TestQuery { answer }",
233
- Failure: ({ error }) => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, JSON.stringify(error)),
234
- Success: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Great success!"),
235
- Loading: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Fetching answer...")
236
- });
237
- const myUseQueryHook = () => ({ error: { msg: "System malfunction" } });
238
- (0, import_react2.render)(
239
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
240
- );
241
- import_react2.screen.getByText(/^{"msg":"System malfunction"}$/);
242
- });
243
- (0, import_vitest.test)("Passes error and errorCode to Failure component", () => {
244
- const TestCell = (0, import_createCell.createCell)({
245
- // @ts-expect-error - Purposefully using a plain string here.
246
- QUERY: "query TestQuery { answer }",
247
- Failure: ({ error, errorCode }) => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, JSON.stringify(error), ",code:", errorCode),
248
- Success: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Great success!"),
249
- Loading: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Fetching answer...")
250
- });
251
- const myUseQueryHook = () => ({
252
- error: { msg: "System malfunction" },
253
- errorCode: "SIMON_SAYS_NO"
254
- });
255
- (0, import_react2.render)(
256
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
257
- );
258
- import_react2.screen.getByText(/^{"msg":"System malfunction"},code:SIMON_SAYS_NO$/);
259
- });
260
- (0, import_vitest.test)("Passes children to Failure", () => {
261
- const TestCell = (0, import_createCell.createCell)({
262
- // @ts-expect-error - Purposefully using a plain string here.
263
- QUERY: "query TestQuery { answer }",
264
- Failure: ({ children }) => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "I'm a failure ", children)
265
- });
266
- const myUseQueryHook = () => ({ error: {} });
267
- (0, import_react2.render)(
268
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null, /* @__PURE__ */ import_react.default.createElement("div", null, "Child")))
269
- );
270
- import_react2.screen.getByText(/^I'm a failure$/);
271
- import_react2.screen.getByText(/^Child$/);
272
- });
273
- (0, import_vitest.test)("Throws an error when there is an error if no Failure component exists", () => {
274
- const TestCell = (0, import_createCell.createCell)({
275
- // @ts-expect-error - Purposefully using a plain string here.
276
- QUERY: "query TestQuery { answer }",
277
- Success: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Great success!"),
278
- Loading: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Fetching answer...")
279
- });
280
- const myUseQueryHook = () => ({ error: { message: "200 GraphQL" } });
281
- const err = console.error;
282
- console.error = import_vitest.vi.fn();
283
- let error;
284
- try {
285
- (0, import_react2.render)(
286
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
287
- );
288
- } catch (e) {
289
- error = e;
290
- }
291
- (0, import_vitest.expect)(error.message).toEqual("200 GraphQL");
292
- console.error = err;
293
- });
294
- (0, import_vitest.test)("Allows overriding of default isDataEmpty", () => {
295
- const TestCell = (0, import_createCell.createCell)({
296
- // @ts-expect-error - Purposefully using a plain string here.
297
- QUERY: "query TestQuery { answer }",
298
- Success: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Great success!"),
299
- Empty: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Got nothing"),
300
- isEmpty: () => true
301
- });
302
- const myUseQueryHook = () => ({
303
- data: {},
304
- loading: false
305
- });
306
- (0, import_react2.render)(
307
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
308
- );
309
- import_react2.screen.getByText(/^Got nothing$/);
310
- });
311
- (0, import_vitest.test)("Allows mixing isDataEmpty with custom logic", () => {
312
- const TestCell = (0, import_createCell.createCell)({
313
- // @ts-expect-error - Purposefully using a plain string here.
314
- QUERY: "query TestQuery { answer }",
315
- Success: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Great success!"),
316
- Empty: () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, "Got nothing"),
317
- isEmpty: (data, { isDataEmpty }) => isDataEmpty(data) || data.answer === "0"
318
- });
319
- const myUseQueryHook = () => ({
320
- data: { answer: "0" },
321
- loading: false
322
- });
323
- (0, import_react2.render)(
324
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
325
- );
326
- import_react2.screen.getByText(/^Got nothing$/);
327
- });
328
- (0, import_vitest.test)("Allows overriding variables in beforeQuery", () => {
329
- const TestCell = (0, import_createCell.createCell)({
330
- // @ts-expect-error - Purposefully using a plain string here.
331
- QUERY: `query Greet($name: String!) {
332
- greet(name: $name) {
333
- greeting
334
- }
335
- }`,
336
- Success: ({ greeting }) => /* @__PURE__ */ import_react.default.createElement("p", null, greeting),
337
- beforeQuery: () => ({
338
- variables: {
339
- name: "Bob"
340
- }
341
- })
342
- });
343
- const myUseQueryHook = (_query, options) => {
344
- return { data: { greeting: `Hello ${options.variables.name}!` } };
345
- };
346
- (0, import_react2.render)(
347
- /* @__PURE__ */ import_react.default.createElement(import_GraphQLHooksProvider.GraphQLHooksProvider, { useQuery: myUseQueryHook, useMutation: null }, /* @__PURE__ */ import_react.default.createElement(TestCell, null))
348
- );
349
- import_react2.screen.getByText(/^Hello Bob!$/);
350
- });
351
- });
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- import type { CreateCellProps } from './cellTypes.js';
3
- type CreateServerCellProps<CellProps, CellVariables> = Omit<CreateCellProps<CellProps, CellVariables>, 'QUERY' | 'Failure'> & {
4
- data: (variables?: AnyObj) => any;
5
- Failure?: React.ComponentType<{
6
- error: unknown;
7
- queryResult: {
8
- refetch: (variables: CellProps) => AnyObj;
9
- };
10
- }>;
11
- };
12
- type AnyObj = Record<string, unknown>;
13
- export declare function createServerCell<CellProps extends AnyObj, CellVariables extends AnyObj>(createCellProps: CreateServerCellProps<CellProps, CellVariables>): React.FC<CellProps>;
14
- export {};
15
- //# sourceMappingURL=createServerCell.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createServerCell.d.ts","sourceRoot":"","sources":["../../../../src/components/cell/createServerCell.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIrD,KAAK,qBAAqB,CAAC,SAAS,EAAE,aAAa,IAAI,IAAI,CACzD,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,EACzC,OAAO,GAAG,SAAS,CACpB,GAAG;IACF,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,GAAG,CAAA;IACjC,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC5B,KAAK,EAAE,OAAO,CAAA;QACd,WAAW,EAAE;YAAE,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,MAAM,CAAA;SAAE,CAAA;KAC3D,CAAC,CAAA;CACH,CAAA;AAED,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAErC,wBAAgB,gBAAgB,CAC9B,SAAS,SAAS,MAAM,EACxB,aAAa,SAAS,MAAM,EAE5B,eAAe,EAAE,qBAAqB,CAAC,SAAS,EAAE,aAAa,CAAC,GAC/D,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CA2ErB"}
@@ -1,91 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var createServerCell_exports = {};
30
- __export(createServerCell_exports, {
31
- createServerCell: () => createServerCell
32
- });
33
- module.exports = __toCommonJS(createServerCell_exports);
34
- var import_react = __toESM(require("react"), 1);
35
- var import_isCellEmpty = require("./isCellEmpty.js");
36
- function createServerCell(createCellProps) {
37
- const {
38
- data: dataFn,
39
- isEmpty = import_isCellEmpty.isDataEmpty,
40
- Loading,
41
- Failure,
42
- Empty,
43
- Success,
44
- displayName = "Cell"
45
- } = createCellProps;
46
- async function SuspendingSuccess(props) {
47
- const { children: _, ...variables } = props;
48
- const FailureComponent = ({ error }) => {
49
- if (!Failure) {
50
- throw error;
51
- }
52
- const queryResultWithRefetch = {
53
- refetch: (variables2) => {
54
- return dataFn(variables2);
55
- }
56
- };
57
- return /* @__PURE__ */ import_react.default.createElement(Failure, { error, queryResult: queryResultWithRefetch });
58
- };
59
- try {
60
- const data = await dataFn(variables);
61
- if (isEmpty(data, { isDataEmpty: import_isCellEmpty.isDataEmpty }) && Empty) {
62
- return /* @__PURE__ */ import_react.default.createElement(Empty, { ...props, ...data });
63
- }
64
- return /* @__PURE__ */ import_react.default.createElement(Success, { ...data, ...props });
65
- } catch (error) {
66
- return /* @__PURE__ */ import_react.default.createElement(FailureComponent, { error });
67
- }
68
- }
69
- SuspendingSuccess.displayName = displayName;
70
- return (props) => {
71
- const wrapInSuspenseIfLoadingPresent = (suspendingSuccessElement, LoadingComponent) => {
72
- if (!LoadingComponent) {
73
- return suspendingSuccessElement;
74
- }
75
- return /* @__PURE__ */ import_react.default.createElement(import_react.Suspense, { fallback: /* @__PURE__ */ import_react.default.createElement(LoadingComponent, { ...props }) }, suspendingSuccessElement);
76
- };
77
- return (
78
- // TODO(RSC): Do we always want a client side error boundary? If so, this
79
- // is where we'd add it
80
- // <CellErrorBoundary renderFallback={FailureComponent}>
81
- /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, wrapInSuspenseIfLoadingPresent(
82
- /* @__PURE__ */ import_react.default.createElement(SuspendingSuccess, { ...props }),
83
- Loading
84
- ))
85
- );
86
- };
87
- }
88
- // Annotate the CommonJS export names for ESM import in node:
89
- 0 && (module.exports = {
90
- createServerCell
91
- });
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import type { CreateCellProps } from './cellTypes.js';
3
- type AnyObj = Record<string, unknown>;
4
- /**
5
- * Creates a Cell ~~ with Apollo Client only ~~
6
- * using the hooks useBackgroundQuery and useReadQuery
7
- *
8
- */
9
- export declare function createSuspendingCell<CellProps extends AnyObj, CellVariables extends AnyObj>(createCellProps: CreateCellProps<AnyObj, CellVariables>): React.FC<CellProps>;
10
- export {};
11
- //# sourceMappingURL=createSuspendingCell.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createSuspendingCell.d.ts","sourceRoot":"","sources":["../../../../src/components/cell/createSuspendingCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAYvC,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,gBAAgB,CAAA;AAGvB,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACrC;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,SAAS,MAAM,EACxB,aAAa,SAAS,MAAM,EAE5B,eAAe,EAAE,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,GACtD,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAqIrB"}