@cedarjs/web 6.0.0-canary.2646 → 6.0.0-canary.2652
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apollo/fragmentRegistry.d.ts +8 -0
- package/dist/apollo/fragmentRegistry.d.ts.map +1 -1
- package/dist/apollo/fragmentRegistry.js +19 -1
- package/dist/apollo/index.d.ts.map +1 -1
- package/dist/apollo/index.js +4 -2
- package/dist/apollo/suspense.d.ts.map +1 -1
- package/dist/apollo/suspense.js +7 -4
- package/dist/cjs/apollo/fragmentRegistry.d.ts +8 -0
- package/dist/cjs/apollo/fragmentRegistry.d.ts.map +1 -1
- package/dist/cjs/apollo/fragmentRegistry.js +21 -2
- package/dist/cjs/apollo/index.d.ts.map +1 -1
- package/dist/cjs/apollo/index.js +2 -1
- package/dist/cjs/apollo/suspense.d.ts.map +1 -1
- package/dist/cjs/apollo/suspense.js +7 -4
- package/dist/cjs/components/GraphQLHooksProvider.d.ts +33 -1
- package/dist/cjs/components/GraphQLHooksProvider.d.ts.map +1 -1
- package/dist/cjs/components/GraphQLHooksProvider.js +14 -2
- package/dist/cjs/components/cell/cellTypes.d.ts +14 -1
- package/dist/cjs/components/cell/cellTypes.d.ts.map +1 -1
- package/dist/cjs/components/cell/createCell.d.ts +1 -7
- package/dist/cjs/components/cell/createCell.d.ts.map +1 -1
- package/dist/cjs/components/cell/createCell.js +21 -2
- package/dist/cjs/components/cell/createFragmentCell.d.ts +19 -0
- package/dist/cjs/components/cell/createFragmentCell.d.ts.map +1 -0
- package/dist/cjs/components/cell/createFragmentCell.js +108 -0
- package/dist/cjs/components/cell/createFragmentCell.test.js +235 -0
- package/dist/cjs/components/cell/createSuspendingCell.d.ts.map +1 -1
- package/dist/cjs/components/cell/createSuspendingCell.js +7 -1
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -0
- package/dist/components/GraphQLHooksProvider.d.ts +33 -1
- package/dist/components/GraphQLHooksProvider.d.ts.map +1 -1
- package/dist/components/GraphQLHooksProvider.js +13 -2
- package/dist/components/cell/cellTypes.d.ts +14 -1
- package/dist/components/cell/cellTypes.d.ts.map +1 -1
- package/dist/components/cell/createCell.d.ts +1 -7
- package/dist/components/cell/createCell.d.ts.map +1 -1
- package/dist/components/cell/createCell.js +21 -2
- package/dist/components/cell/createFragmentCell.d.ts +19 -0
- package/dist/components/cell/createFragmentCell.d.ts.map +1 -0
- package/dist/components/cell/createFragmentCell.js +74 -0
- package/dist/components/cell/createFragmentCell.test.js +212 -0
- package/dist/components/cell/createSuspendingCell.d.ts.map +1 -1
- package/dist/components/cell/createSuspendingCell.js +7 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/package.json +5 -5
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { UseFragmentResult } from '@apollo/client';
|
|
2
2
|
import type { FragmentRegistryAPI } from '@apollo/client/cache/index.js';
|
|
3
3
|
import type { DocumentNode } from 'graphql';
|
|
4
|
+
import type { FragmentHookOptions, FragmentHookResult } from '../components/GraphQLHooksProvider.js';
|
|
4
5
|
export type FragmentIdentifier = string | number;
|
|
5
6
|
export type CacheKey = {
|
|
6
7
|
__typename: string;
|
|
@@ -12,6 +13,13 @@ export type RegisterFragmentResult = {
|
|
|
12
13
|
getCacheKey: (id: FragmentIdentifier) => CacheKey;
|
|
13
14
|
useRegisteredFragment: <TData = any>(id: FragmentIdentifier) => UseFragmentResult<TData>;
|
|
14
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* Adapts Apollo's `useFragment` to the client-agnostic fragment hook shape
|
|
18
|
+
* used by fragment Cells (see `GraphQLHooksProvider`). Incomplete reads
|
|
19
|
+
* surface `data: undefined` so that fragment Cells fall back to the data
|
|
20
|
+
* snapshot passed via their data prop.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useCellFragment<TData = any>(options: FragmentHookOptions): FragmentHookResult<TData>;
|
|
15
23
|
/**
|
|
16
24
|
* Creates a fragment registry for Apollo Client's InMemoryCache so that they
|
|
17
25
|
* can be referred to by name in any query or InMemoryCache operation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragmentRegistry.d.ts","sourceRoot":"","sources":["../../src/apollo/fragmentRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,CAAA;AAEhD,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,kBAAkB,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,YAAY,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,CAAC,EAAE,EAAE,kBAAkB,KAAK,QAAQ,CAAA;IACjD,qBAAqB,EAAE,CAAC,KAAK,GAAG,GAAG,EACjC,EAAE,EAAE,kBAAkB,KACnB,iBAAiB,CAAC,KAAK,CAAC,CAAA;CAC9B,CAAA;
|
|
1
|
+
{"version":3,"file":"fragmentRegistry.d.ts","sourceRoot":"","sources":["../../src/apollo/fragmentRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,uCAAuC,CAAA;AAE9C,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,CAAA;AAEhD,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,kBAAkB,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,YAAY,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,CAAC,EAAE,EAAE,kBAAkB,KAAK,QAAQ,CAAA;IACjD,qBAAqB,EAAE,CAAC,KAAK,GAAG,GAAG,EACjC,EAAE,EAAE,kBAAkB,KACnB,iBAAiB,CAAC,KAAK,CAAC,CAAA;CAC9B,CAAA;AA8CD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,GAAG,GAAG,EACzC,OAAO,EAAE,mBAAmB,GAC3B,kBAAkB,CAAC,KAAK,CAAC,CAsB3B;AAED;;;;;;;IAOI;AACJ,eAAO,MAAM,gBAAgB,EAAE,mBAA8C,CAAA;AAE7E;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,YAAY,EAAE,6BAE1D,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,YAAY,KACrB,sBAqBF,CAAA"}
|
|
@@ -12,6 +12,23 @@ const useRegisteredFragmentHook = (fragment, id) => {
|
|
|
12
12
|
from
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
|
+
const UNIDENTIFIABLE_FRAGMENT_REF = "CedarUnidentifiableFragmentRef:_";
|
|
16
|
+
function useCellFragment(options) {
|
|
17
|
+
const client = apolloClient.useApolloClient();
|
|
18
|
+
const { from, ...restOptions } = options;
|
|
19
|
+
const cacheId = client.cache.identify(from);
|
|
20
|
+
const result = apolloClient.useFragment({
|
|
21
|
+
...restOptions,
|
|
22
|
+
// We identify the object ourselves (above) because passing an
|
|
23
|
+
// unidentifiable object to `useFragment` logs a warning and returns a
|
|
24
|
+
// useless `{ data: {}, complete: true }` result
|
|
25
|
+
from: cacheId ?? UNIDENTIFIABLE_FRAGMENT_REF
|
|
26
|
+
});
|
|
27
|
+
if (cacheId !== void 0 && result.complete) {
|
|
28
|
+
return { data: result.data, complete: true };
|
|
29
|
+
}
|
|
30
|
+
return { data: void 0, complete: false };
|
|
31
|
+
}
|
|
15
32
|
const fragmentRegistry = createFragmentRegistry();
|
|
16
33
|
const registerFragments = (fragments) => {
|
|
17
34
|
return fragments.map(registerFragment);
|
|
@@ -35,5 +52,6 @@ const registerFragment = (fragment) => {
|
|
|
35
52
|
export {
|
|
36
53
|
fragmentRegistry,
|
|
37
54
|
registerFragment,
|
|
38
|
-
registerFragments
|
|
55
|
+
registerFragments,
|
|
56
|
+
useCellFragment
|
|
39
57
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/apollo/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAOvB,OAAO,EAAE,UAAU,EAAS,MAAM,mCAAmC,CAAA;AAcrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,mBAAmB,CAAA;AAQ1B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/apollo/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAOvB,OAAO,EAAE,UAAU,EAAS,MAAM,mCAAmC,CAAA;AAcrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,mBAAmB,CAAA;AAQ1B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAKxC,YAAY,EACV,QAAQ,EACR,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,QAAQ,EAAE,CAAA;AAEnB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAA;AAEhE,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAA;AAEzD,MAAM,MAAM,qBAAqB,GAC7B,WAAW,GACX,gBAAgB,GAChB,sBAAsB,GACtB,UAAU,CAAA;AAEd,MAAM,MAAM,iBAAiB,CAC3B,IAAI,SAAS,qBAAqB,EAClC,IAAI,SAAS,UAAU,GAAG,UAAU,IAClC;IACF,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iBAAiB,CAAC,WAAW,CAAC;IAC9B,iBAAiB,CAAC,gBAAgB,CAAC;IACnC,iBAAiB,CAAC,sBAAsB,CAAC;IACzC,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,CAAC;CACrD,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,UAAU,CAAA;AAEhF,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,mBAAmB,CAAC,OAAO,CAAC,EAC5B,OAAO,GAAG,MAAM,CACjB,GAAG;IACF,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAA;IACrC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,wBAAwB,CAAA;CAC7C,CAAA;AAqND,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAC1D,mBAAmB,CAAC,EAAE,uBAAuB,CAAA;IAC7C,SAAS,CAAC,EAAE,YAAY,EAAE,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CA4CA,CAAA"}
|
package/dist/apollo/index.js
CHANGED
|
@@ -29,7 +29,8 @@ import { GraphQLHooksProvider } from "../components/GraphQLHooksProvider.js";
|
|
|
29
29
|
import {
|
|
30
30
|
fragmentRegistry,
|
|
31
31
|
registerFragment,
|
|
32
|
-
registerFragments
|
|
32
|
+
registerFragments,
|
|
33
|
+
useCellFragment
|
|
33
34
|
} from "./fragmentRegistry.js";
|
|
34
35
|
import * as SSELinkExports from "./sseLink.js";
|
|
35
36
|
import { useCache } from "./useCache.js";
|
|
@@ -182,7 +183,8 @@ const RedwoodApolloProvider = ({
|
|
|
182
183
|
useSubscription,
|
|
183
184
|
useBackgroundQuery,
|
|
184
185
|
useReadQuery,
|
|
185
|
-
useSuspenseQuery
|
|
186
|
+
useSuspenseQuery,
|
|
187
|
+
useFragment: useCellFragment
|
|
186
188
|
},
|
|
187
189
|
children
|
|
188
190
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suspense.d.ts","sourceRoot":"","sources":["../../src/apollo/suspense.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAUvB,OAAO,EAEL,aAAa,EAEd,MAAM,gCAAgC,CAAA;AAGvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"suspense.d.ts","sourceRoot":"","sources":["../../src/apollo/suspense.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAUvB,OAAO,EAEL,aAAa,EAEd,MAAM,gCAAgC,CAAA;AAGvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,mBAAmB,CAAA;AAU1B,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,YAAY,CAAA;AASnB,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAA;AAEzD,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,GACnB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,mBAAmB,CAAC,OAAO,CAAC,EAC5B,OAAO,GAAG,MAAM,CACjB,GAAG;IACF,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAA;IACrC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,wBAAwB,CAAA;CAC7C,CAAA;AAkFD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAC1D,mBAAmB,CAAC,EAAE,uBAAuB,CAAA;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAsCA,CAAA"}
|
package/dist/apollo/suspense.js
CHANGED
|
@@ -24,6 +24,7 @@ import {
|
|
|
24
24
|
} from "../components/FetchConfigProvider.js";
|
|
25
25
|
import { GraphQLHooksProvider } from "../components/GraphQLHooksProvider.js";
|
|
26
26
|
import { ServerHtmlContext } from "../components/ServerInject.js";
|
|
27
|
+
import { fragmentRegistry, useCellFragment } from "./fragmentRegistry.js";
|
|
27
28
|
import {
|
|
28
29
|
createAuthApolloLink,
|
|
29
30
|
createFinalLink,
|
|
@@ -84,9 +85,10 @@ const RedwoodApolloProvider = ({
|
|
|
84
85
|
children
|
|
85
86
|
}) => {
|
|
86
87
|
const { cacheConfig, ...config } = graphQLClientConfig ?? {};
|
|
87
|
-
const cache = new InMemoryCache(
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
const cache = new InMemoryCache({
|
|
89
|
+
fragments: fragmentRegistry,
|
|
90
|
+
...cacheConfig
|
|
91
|
+
}).restore(globalThis?.__REDWOOD__APOLLO_STATE ?? {});
|
|
90
92
|
return /* @__PURE__ */ React.createElement(FetchConfigProvider, { useAuth }, /* @__PURE__ */ React.createElement(
|
|
91
93
|
ApolloProviderWithFetchConfig,
|
|
92
94
|
{
|
|
@@ -102,7 +104,8 @@ const RedwoodApolloProvider = ({
|
|
|
102
104
|
useSubscription,
|
|
103
105
|
useSuspenseQuery,
|
|
104
106
|
useBackgroundQuery,
|
|
105
|
-
useReadQuery
|
|
107
|
+
useReadQuery,
|
|
108
|
+
useFragment: useCellFragment
|
|
106
109
|
},
|
|
107
110
|
children
|
|
108
111
|
)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { UseFragmentResult } from '@apollo/client';
|
|
2
2
|
import type { FragmentRegistryAPI } from '@apollo/client/cache/index.js';
|
|
3
3
|
import type { DocumentNode } from 'graphql';
|
|
4
|
+
import type { FragmentHookOptions, FragmentHookResult } from '../components/GraphQLHooksProvider.js';
|
|
4
5
|
export type FragmentIdentifier = string | number;
|
|
5
6
|
export type CacheKey = {
|
|
6
7
|
__typename: string;
|
|
@@ -12,6 +13,13 @@ export type RegisterFragmentResult = {
|
|
|
12
13
|
getCacheKey: (id: FragmentIdentifier) => CacheKey;
|
|
13
14
|
useRegisteredFragment: <TData = any>(id: FragmentIdentifier) => UseFragmentResult<TData>;
|
|
14
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* Adapts Apollo's `useFragment` to the client-agnostic fragment hook shape
|
|
18
|
+
* used by fragment Cells (see `GraphQLHooksProvider`). Incomplete reads
|
|
19
|
+
* surface `data: undefined` so that fragment Cells fall back to the data
|
|
20
|
+
* snapshot passed via their data prop.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useCellFragment<TData = any>(options: FragmentHookOptions): FragmentHookResult<TData>;
|
|
15
23
|
/**
|
|
16
24
|
* Creates a fragment registry for Apollo Client's InMemoryCache so that they
|
|
17
25
|
* can be referred to by name in any query or InMemoryCache operation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragmentRegistry.d.ts","sourceRoot":"","sources":["../../../src/apollo/fragmentRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,CAAA;AAEhD,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,kBAAkB,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,YAAY,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,CAAC,EAAE,EAAE,kBAAkB,KAAK,QAAQ,CAAA;IACjD,qBAAqB,EAAE,CAAC,KAAK,GAAG,GAAG,EACjC,EAAE,EAAE,kBAAkB,KACnB,iBAAiB,CAAC,KAAK,CAAC,CAAA;CAC9B,CAAA;
|
|
1
|
+
{"version":3,"file":"fragmentRegistry.d.ts","sourceRoot":"","sources":["../../../src/apollo/fragmentRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,uCAAuC,CAAA;AAE9C,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,CAAA;AAEhD,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,kBAAkB,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,YAAY,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,CAAC,EAAE,EAAE,kBAAkB,KAAK,QAAQ,CAAA;IACjD,qBAAqB,EAAE,CAAC,KAAK,GAAG,GAAG,EACjC,EAAE,EAAE,kBAAkB,KACnB,iBAAiB,CAAC,KAAK,CAAC,CAAA;CAC9B,CAAA;AA8CD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,GAAG,GAAG,EACzC,OAAO,EAAE,mBAAmB,GAC3B,kBAAkB,CAAC,KAAK,CAAC,CAsB3B;AAED;;;;;;;IAOI;AACJ,eAAO,MAAM,gBAAgB,EAAE,mBAA8C,CAAA;AAE7E;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,YAAY,EAAE,6BAE1D,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,YAAY,KACrB,sBAqBF,CAAA"}
|
|
@@ -30,7 +30,8 @@ var fragmentRegistry_exports = {};
|
|
|
30
30
|
__export(fragmentRegistry_exports, {
|
|
31
31
|
fragmentRegistry: () => fragmentRegistry,
|
|
32
32
|
registerFragment: () => registerFragment,
|
|
33
|
-
registerFragments: () => registerFragments
|
|
33
|
+
registerFragments: () => registerFragments,
|
|
34
|
+
useCellFragment: () => useCellFragment
|
|
34
35
|
});
|
|
35
36
|
module.exports = __toCommonJS(fragmentRegistry_exports);
|
|
36
37
|
var apolloClient = __toESM(require("@apollo/client"), 1);
|
|
@@ -47,6 +48,23 @@ const useRegisteredFragmentHook = (fragment, id) => {
|
|
|
47
48
|
from
|
|
48
49
|
});
|
|
49
50
|
};
|
|
51
|
+
const UNIDENTIFIABLE_FRAGMENT_REF = "CedarUnidentifiableFragmentRef:_";
|
|
52
|
+
function useCellFragment(options) {
|
|
53
|
+
const client = apolloClient.useApolloClient();
|
|
54
|
+
const { from, ...restOptions } = options;
|
|
55
|
+
const cacheId = client.cache.identify(from);
|
|
56
|
+
const result = apolloClient.useFragment({
|
|
57
|
+
...restOptions,
|
|
58
|
+
// We identify the object ourselves (above) because passing an
|
|
59
|
+
// unidentifiable object to `useFragment` logs a warning and returns a
|
|
60
|
+
// useless `{ data: {}, complete: true }` result
|
|
61
|
+
from: cacheId ?? UNIDENTIFIABLE_FRAGMENT_REF
|
|
62
|
+
});
|
|
63
|
+
if (cacheId !== void 0 && result.complete) {
|
|
64
|
+
return { data: result.data, complete: true };
|
|
65
|
+
}
|
|
66
|
+
return { data: void 0, complete: false };
|
|
67
|
+
}
|
|
50
68
|
const fragmentRegistry = (0, import_cache.createFragmentRegistry)();
|
|
51
69
|
const registerFragments = (fragments) => {
|
|
52
70
|
return fragments.map(registerFragment);
|
|
@@ -71,5 +89,6 @@ const registerFragment = (fragment) => {
|
|
|
71
89
|
0 && (module.exports = {
|
|
72
90
|
fragmentRegistry,
|
|
73
91
|
registerFragment,
|
|
74
|
-
registerFragments
|
|
92
|
+
registerFragments,
|
|
93
|
+
useCellFragment
|
|
75
94
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/apollo/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAOvB,OAAO,EAAE,UAAU,EAAS,MAAM,mCAAmC,CAAA;AAcrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,mBAAmB,CAAA;AAQ1B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/apollo/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAOvB,OAAO,EAAE,UAAU,EAAS,MAAM,mCAAmC,CAAA;AAcrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,mBAAmB,CAAA;AAQ1B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAKxC,YAAY,EACV,QAAQ,EACR,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,QAAQ,EAAE,CAAA;AAEnB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAA;AAEhE,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAA;AAEzD,MAAM,MAAM,qBAAqB,GAC7B,WAAW,GACX,gBAAgB,GAChB,sBAAsB,GACtB,UAAU,CAAA;AAEd,MAAM,MAAM,iBAAiB,CAC3B,IAAI,SAAS,qBAAqB,EAClC,IAAI,SAAS,UAAU,GAAG,UAAU,IAClC;IACF,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iBAAiB,CAAC,WAAW,CAAC;IAC9B,iBAAiB,CAAC,gBAAgB,CAAC;IACnC,iBAAiB,CAAC,sBAAsB,CAAC;IACzC,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,CAAC;CACrD,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,UAAU,CAAA;AAEhF,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,mBAAmB,CAAC,OAAO,CAAC,EAC5B,OAAO,GAAG,MAAM,CACjB,GAAG;IACF,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAA;IACrC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,wBAAwB,CAAA;CAC7C,CAAA;AAqND,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAC1D,mBAAmB,CAAC,EAAE,uBAAuB,CAAA;IAC7C,SAAS,CAAC,EAAE,YAAY,EAAE,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CA4CA,CAAA"}
|
package/dist/cjs/apollo/index.js
CHANGED
|
@@ -202,7 +202,8 @@ const RedwoodApolloProvider = ({
|
|
|
202
202
|
useSubscription: import_hooks.useSubscription,
|
|
203
203
|
useBackgroundQuery: import_hooks.useBackgroundQuery,
|
|
204
204
|
useReadQuery: import_hooks.useReadQuery,
|
|
205
|
-
useSuspenseQuery: import_hooks.useSuspenseQuery
|
|
205
|
+
useSuspenseQuery: import_hooks.useSuspenseQuery,
|
|
206
|
+
useFragment: import_fragmentRegistry.useCellFragment
|
|
206
207
|
},
|
|
207
208
|
children
|
|
208
209
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suspense.d.ts","sourceRoot":"","sources":["../../../src/apollo/suspense.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAUvB,OAAO,EAEL,aAAa,EAEd,MAAM,gCAAgC,CAAA;AAGvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"suspense.d.ts","sourceRoot":"","sources":["../../../src/apollo/suspense.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAUvB,OAAO,EAEL,aAAa,EAEd,MAAM,gCAAgC,CAAA;AAGvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,mBAAmB,CAAA;AAU1B,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,YAAY,CAAA;AASnB,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAA;AAEzD,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,GACnB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,mBAAmB,CAAC,OAAO,CAAC,EAC5B,OAAO,GAAG,MAAM,CACjB,GAAG;IACF,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAA;IACrC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,wBAAwB,CAAA;CAC7C,CAAA;AAkFD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAC1D,mBAAmB,CAAC,EAAE,uBAAuB,CAAA;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAsCA,CAAA"}
|
|
@@ -43,6 +43,7 @@ var import_typeOverride = require("./typeOverride.js");
|
|
|
43
43
|
var import_FetchConfigProvider = require("../components/FetchConfigProvider.js");
|
|
44
44
|
var import_GraphQLHooksProvider = require("../components/GraphQLHooksProvider.js");
|
|
45
45
|
var import_ServerInject = require("../components/ServerInject.js");
|
|
46
|
+
var import_fragmentRegistry = require("./fragmentRegistry.js");
|
|
46
47
|
var import_links = require("./links.js");
|
|
47
48
|
const WrappedApolloProvider = (0, import_client_react_streaming.WrapApolloProvider)(
|
|
48
49
|
(0, import_manual_transport.buildManualDataTransport)({
|
|
@@ -97,9 +98,10 @@ const RedwoodApolloProvider = ({
|
|
|
97
98
|
children
|
|
98
99
|
}) => {
|
|
99
100
|
const { cacheConfig, ...config } = graphQLClientConfig ?? {};
|
|
100
|
-
const cache = new import_client_react_streaming.InMemoryCache(
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
const cache = new import_client_react_streaming.InMemoryCache({
|
|
102
|
+
fragments: import_fragmentRegistry.fragmentRegistry,
|
|
103
|
+
...cacheConfig
|
|
104
|
+
}).restore(globalThis?.__REDWOOD__APOLLO_STATE ?? {});
|
|
103
105
|
return /* @__PURE__ */ import_react.default.createElement(import_FetchConfigProvider.FetchConfigProvider, { useAuth }, /* @__PURE__ */ import_react.default.createElement(
|
|
104
106
|
ApolloProviderWithFetchConfig,
|
|
105
107
|
{
|
|
@@ -115,7 +117,8 @@ const RedwoodApolloProvider = ({
|
|
|
115
117
|
useSubscription: import_hooks.useSubscription,
|
|
116
118
|
useSuspenseQuery: import_hooks.useSuspenseQuery,
|
|
117
119
|
useBackgroundQuery: import_hooks.useBackgroundQuery,
|
|
118
|
-
useReadQuery: import_hooks.useReadQuery
|
|
120
|
+
useReadQuery: import_hooks.useReadQuery,
|
|
121
|
+
useFragment: import_fragmentRegistry.useCellFragment
|
|
119
122
|
},
|
|
120
123
|
children
|
|
121
124
|
)
|
|
@@ -16,6 +16,25 @@ type DefaultUseQueryType = <TData = any, TVariables extends OperationVariables =
|
|
|
16
16
|
type DefaultUseMutationType = <TData = any, TVariables = GraphQLOperationVariables>(mutation: DocumentNode | TypedDocumentNode<TData, TVariables>, options?: GraphQLMutationHookOptions<TData, TVariables>) => MutationOperationResult<TData, TVariables>;
|
|
17
17
|
type DefaultUseSubscriptionType = <TData = any, TVariables extends OperationVariables = GraphQLOperationVariables>(subscription: DocumentNode | TypedDocumentNode<TData, TVariables>, options?: GraphQLSubscriptionHookOptions<TData, TVariables>) => SubscriptionOperationResult<TData, TVariables>;
|
|
18
18
|
type DefaultUseSuspenseType = <TData = any, TVariables extends OperationVariables = GraphQLOperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options?: GraphQLSuspenseQueryHookOptions<TData, TVariables>) => SuspenseQueryOperationResult<TData, TVariables>;
|
|
19
|
+
export interface FragmentHookOptions {
|
|
20
|
+
fragment: DocumentNode;
|
|
21
|
+
fragmentName?: string;
|
|
22
|
+
/**
|
|
23
|
+
* The object to read the fragment data for. Usually a cache reference like
|
|
24
|
+
* `{ __typename: 'User', id: 1 }`, but any object that the GraphQL client
|
|
25
|
+
* can identify works.
|
|
26
|
+
*/
|
|
27
|
+
from: Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
export interface FragmentHookResult<TData = any> {
|
|
30
|
+
/**
|
|
31
|
+
* The fragment data read from the client's cache, or `undefined` if the
|
|
32
|
+
* cache doesn't (yet) contain complete data for the fragment.
|
|
33
|
+
*/
|
|
34
|
+
data: TData | undefined;
|
|
35
|
+
complete: boolean;
|
|
36
|
+
}
|
|
37
|
+
type DefaultUseFragmentType = <TData = any>(options: FragmentHookOptions) => FragmentHookResult<TData>;
|
|
19
38
|
export interface GraphQLHooks<TuseQuery = DefaultUseQueryType, TuseMutation = DefaultUseMutationType, TuseSubscription = DefaultUseSubscriptionType, TuseSuspenseQuery = DefaultUseSuspenseType> {
|
|
20
39
|
useQuery: TuseQuery;
|
|
21
40
|
useMutation: TuseMutation;
|
|
@@ -23,6 +42,13 @@ export interface GraphQLHooks<TuseQuery = DefaultUseQueryType, TuseMutation = De
|
|
|
23
42
|
useSuspenseQuery: TuseSuspenseQuery;
|
|
24
43
|
useBackgroundQuery: typeof apolloUseBackgroundQuery;
|
|
25
44
|
useReadQuery: typeof apolloUseReadQuery;
|
|
45
|
+
/**
|
|
46
|
+
* Synchronously read fragment data from the GraphQL client's cache.
|
|
47
|
+
* Optional so that custom GraphQL clients don't have to provide an
|
|
48
|
+
* implementation. Fragment Cells fall back to reading data from their
|
|
49
|
+
* data prop when this reports an incomplete result.
|
|
50
|
+
*/
|
|
51
|
+
useFragment?: DefaultUseFragmentType;
|
|
26
52
|
}
|
|
27
53
|
export declare const GraphQLHooksContext: React.Context<GraphQLHooks<DefaultUseQueryType, DefaultUseMutationType, DefaultUseSubscriptionType, DefaultUseSuspenseType>>;
|
|
28
54
|
interface GraphQlHooksProviderProps<TuseQuery = DefaultUseQueryType, TuseMutation = DefaultUseMutationType, TuseSubscription = DefaultUseSubscriptionType, TuseSuspenseQuery = DefaultUseSuspenseType> extends GraphQLHooks<TuseQuery, TuseMutation, TuseSubscription, TuseSuspenseQuery> {
|
|
@@ -35,11 +61,17 @@ interface GraphQlHooksProviderProps<TuseQuery = DefaultUseQueryType, TuseMutatio
|
|
|
35
61
|
*
|
|
36
62
|
* @todo Let the user pass in the additional type for options.
|
|
37
63
|
*/
|
|
38
|
-
export declare const GraphQLHooksProvider: <TuseQuery extends DefaultUseQueryType, TuseMutation extends DefaultUseMutationType>({ useQuery, useMutation, useSubscription, useSuspenseQuery, useBackgroundQuery, useReadQuery, children, }: GraphQlHooksProviderProps<TuseQuery, TuseMutation>) => React.JSX.Element;
|
|
64
|
+
export declare const GraphQLHooksProvider: <TuseQuery extends DefaultUseQueryType, TuseMutation extends DefaultUseMutationType>({ useQuery, useMutation, useSubscription, useSuspenseQuery, useBackgroundQuery, useReadQuery, useFragment, children, }: GraphQlHooksProviderProps<TuseQuery, TuseMutation>) => React.JSX.Element;
|
|
39
65
|
export declare function useQuery<TData = any, TVariables extends OperationVariables = GraphQLOperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options?: GraphQLQueryHookOptions<TData, TVariables>): QueryOperationResult<TData, TVariables>;
|
|
40
66
|
export declare function useMutation<TData = any, TVariables = GraphQLOperationVariables>(mutation: DocumentNode | TypedDocumentNode<TData, TVariables>, options?: GraphQLMutationHookOptions<TData, TVariables>): MutationOperationResult<TData, TVariables>;
|
|
41
67
|
export declare function useSubscription<TData = any, TVariables extends OperationVariables = GraphQLOperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options?: GraphQLSubscriptionHookOptions<TData, TVariables>): SubscriptionOperationResult<TData, TVariables>;
|
|
42
68
|
export declare function useSuspenseQuery<TData = any, TVariables extends OperationVariables = GraphQLOperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options?: GraphQLSuspenseQueryHookOptions<TData, TVariables>): SuspenseQueryOperationResult<TData, TVariables>;
|
|
43
69
|
export declare const useBackgroundQuery: typeof apolloUseBackgroundQuery<any>;
|
|
44
70
|
export declare const useReadQuery: typeof apolloUseReadQuery;
|
|
71
|
+
/**
|
|
72
|
+
* Read fragment data from the GraphQL client's cache without firing a
|
|
73
|
+
* network request. Used by fragment Cells (Cells that export `FRAGMENT`
|
|
74
|
+
* instead of `QUERY`).
|
|
75
|
+
*/
|
|
76
|
+
export declare function useFragment<TData = any>(options: FragmentHookOptions): FragmentHookResult<TData>;
|
|
45
77
|
//# sourceMappingURL=GraphQLHooksProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphQLHooksProvider.d.ts","sourceRoot":"","sources":["../../../src/components/GraphQLHooksProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,IAAI,wBAAwB,EAC9C,YAAY,IAAI,kBAAkB,EACnC,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,YAAY,EAAE,iBAAiB,EAAE,CAAA;AAEjC;;;;;;;;GAQG;AAEH,KAAK,mBAAmB,GAAG,CACzB,KAAK,GAAG,GAAG,EACX,UAAU,SAAS,kBAAkB,GAAG,yBAAyB,EAEjE,KAAK,EAAE,YAAY,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC1D,OAAO,CAAC,EAAE,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,KACjD,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;AAE5C,KAAK,sBAAsB,GAAG,CAC5B,KAAK,GAAG,GAAG,EACX,UAAU,GAAG,yBAAyB,EAEtC,QAAQ,EAAE,YAAY,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC7D,OAAO,CAAC,EAAE,0BAA0B,CAAC,KAAK,EAAE,UAAU,CAAC,KACpD,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;AAE/C,KAAK,0BAA0B,GAAG,CAChC,KAAK,GAAG,GAAG,EACX,UAAU,SAAS,kBAAkB,GAAG,yBAAyB,EAEjE,YAAY,EAAE,YAAY,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,EACjE,OAAO,CAAC,EAAE,8BAA8B,CAAC,KAAK,EAAE,UAAU,CAAC,KACxD,2BAA2B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;AAEnD,KAAK,sBAAsB,GAAG,CAC5B,KAAK,GAAG,GAAG,EACX,UAAU,SAAS,kBAAkB,GAAG,yBAAyB,EAEjE,KAAK,EAAE,YAAY,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC1D,OAAO,CAAC,EAAE,+BAA+B,CAAC,KAAK,EAAE,UAAU,CAAC,KACzD,4BAA4B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;AAEpD,MAAM,WAAW,YAAY,CAC3B,SAAS,GAAG,mBAAmB,EAC/B,YAAY,GAAG,sBAAsB,EACrC,gBAAgB,GAAG,0BAA0B,EAC7C,iBAAiB,GAAG,sBAAsB;IAE1C,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,EAAE,YAAY,CAAA;IACzB,eAAe,EAAE,gBAAgB,CAAA;IACjC,gBAAgB,EAAE,iBAAiB,CAAA;IAGnC,kBAAkB,EAAE,OAAO,wBAAwB,CAAA;IACnD,YAAY,EAAE,OAAO,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"GraphQLHooksProvider.d.ts","sourceRoot":"","sources":["../../../src/components/GraphQLHooksProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ __export(GraphQLHooksProvider_exports, {
|
|
|
31
31
|
GraphQLHooksContext: () => GraphQLHooksContext,
|
|
32
32
|
GraphQLHooksProvider: () => GraphQLHooksProvider,
|
|
33
33
|
useBackgroundQuery: () => useBackgroundQuery,
|
|
34
|
+
useFragment: () => useFragment,
|
|
34
35
|
useMutation: () => useMutation,
|
|
35
36
|
useQuery: () => useQuery,
|
|
36
37
|
useReadQuery: () => useReadQuery,
|
|
@@ -39,6 +40,9 @@ __export(GraphQLHooksProvider_exports, {
|
|
|
39
40
|
});
|
|
40
41
|
module.exports = __toCommonJS(GraphQLHooksProvider_exports);
|
|
41
42
|
var import_react = __toESM(require("react"), 1);
|
|
43
|
+
const incompleteFragmentRead = () => {
|
|
44
|
+
return { data: void 0, complete: false };
|
|
45
|
+
};
|
|
42
46
|
const GraphQLHooksContext = import_react.default.createContext({
|
|
43
47
|
useQuery: () => {
|
|
44
48
|
throw new Error(
|
|
@@ -70,7 +74,8 @@ const GraphQLHooksContext = import_react.default.createContext({
|
|
|
70
74
|
throw new Error(
|
|
71
75
|
"You must register a useReadQuery hook via the `GraphQLHooksProvider`."
|
|
72
76
|
);
|
|
73
|
-
}
|
|
77
|
+
},
|
|
78
|
+
useFragment: incompleteFragmentRead
|
|
74
79
|
});
|
|
75
80
|
const GraphQLHooksProvider = ({
|
|
76
81
|
useQuery: useQuery2,
|
|
@@ -79,6 +84,7 @@ const GraphQLHooksProvider = ({
|
|
|
79
84
|
useSuspenseQuery: useSuspenseQuery2,
|
|
80
85
|
useBackgroundQuery: useBackgroundQuery2,
|
|
81
86
|
useReadQuery: useReadQuery2,
|
|
87
|
+
useFragment: useFragment2,
|
|
82
88
|
children
|
|
83
89
|
}) => {
|
|
84
90
|
return /* @__PURE__ */ import_react.default.createElement(
|
|
@@ -90,7 +96,8 @@ const GraphQLHooksProvider = ({
|
|
|
90
96
|
useSubscription: useSubscription2,
|
|
91
97
|
useSuspenseQuery: useSuspenseQuery2,
|
|
92
98
|
useBackgroundQuery: useBackgroundQuery2,
|
|
93
|
-
useReadQuery: useReadQuery2
|
|
99
|
+
useReadQuery: useReadQuery2,
|
|
100
|
+
useFragment: useFragment2 ?? incompleteFragmentRead
|
|
94
101
|
}
|
|
95
102
|
},
|
|
96
103
|
children
|
|
@@ -122,11 +129,16 @@ const useBackgroundQuery = (...args) => {
|
|
|
122
129
|
const useReadQuery = (...args) => {
|
|
123
130
|
return import_react.default.useContext(GraphQLHooksContext).useReadQuery(...args);
|
|
124
131
|
};
|
|
132
|
+
function useFragment(options) {
|
|
133
|
+
const useFragmentHook = import_react.default.useContext(GraphQLHooksContext).useFragment ?? incompleteFragmentRead;
|
|
134
|
+
return useFragmentHook(options);
|
|
135
|
+
}
|
|
125
136
|
// Annotate the CommonJS export names for ESM import in node:
|
|
126
137
|
0 && (module.exports = {
|
|
127
138
|
GraphQLHooksContext,
|
|
128
139
|
GraphQLHooksProvider,
|
|
129
140
|
useBackgroundQuery,
|
|
141
|
+
useFragment,
|
|
130
142
|
useMutation,
|
|
131
143
|
useQuery,
|
|
132
144
|
useReadQuery,
|
|
@@ -80,8 +80,21 @@ export interface CreateCellProps<CellProps, CellVariables> {
|
|
|
80
80
|
/**
|
|
81
81
|
* The GraphQL syntax tree to execute or function to call that returns it.
|
|
82
82
|
* If `QUERY` is a function, it's called with the result of `beforeQuery`.
|
|
83
|
+
*
|
|
84
|
+
* Either `QUERY` or `FRAGMENT` must be provided.
|
|
85
|
+
*/
|
|
86
|
+
QUERY?: DocumentNode | ((variables: Record<string, unknown>) => DocumentNode);
|
|
87
|
+
/**
|
|
88
|
+
* A GraphQL fragment that declares this Cell's data requirements. Fragment
|
|
89
|
+
* Cells don't fire their own query. Instead a parent Cell spreads the
|
|
90
|
+
* fragment in its `QUERY` and passes the fetched data object down via a
|
|
91
|
+
* prop named after the fragment (`AuthorCell_author` -> `author`). The
|
|
92
|
+
* fragment is automatically registered with the GraphQL client's fragment
|
|
93
|
+
* registry, so parent queries can spread it by name.
|
|
94
|
+
*
|
|
95
|
+
* Either `QUERY` or `FRAGMENT` must be provided.
|
|
83
96
|
*/
|
|
84
|
-
|
|
97
|
+
FRAGMENT?: DocumentNode;
|
|
85
98
|
/**
|
|
86
99
|
* Parse `props` into query variables. Most of the time `props` are appropriate variables as is.
|
|
87
100
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cellTypes.d.ts","sourceRoot":"","sources":["../../../../src/components/cell/cellTypes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cellTypes.d.ts","sourceRoot":"","sources":["../../../../src/components/cell/cellTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { CreateCellProps } from './cellTypes.js';
|
|
3
|
-
|
|
4
|
-
export declare const createCell: typeof createSuspendingCell | typeof createNonSuspendingCell;
|
|
5
|
-
/**
|
|
6
|
-
* Creates a Cell out of a GraphQL query and components that track to its lifecycle.
|
|
7
|
-
*/
|
|
8
|
-
declare function createNonSuspendingCell<CellProps extends Record<string, unknown>, CellVariables extends Record<string, unknown>>({ QUERY, beforeQuery, afterQuery, isEmpty, Loading, Failure, Empty, Success, displayName, }: CreateCellProps<CellProps, CellVariables>): React.FC<CellProps>;
|
|
9
|
-
export {};
|
|
3
|
+
export declare function createCell<CellProps extends Record<string, unknown>, CellVariables extends Record<string, unknown>>(createCellProps: CreateCellProps<CellProps, CellVariables>): React.FC<CellProps>;
|
|
10
4
|
//# sourceMappingURL=createCell.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCell.d.ts","sourceRoot":"","sources":["../../../../src/components/cell/createCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"createCell.d.ts","sourceRoot":"","sources":["../../../../src/components/cell/createCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAKrD,wBAAgB,UAAU,CACxB,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE7C,eAAe,EAAE,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,GACzD,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAiCrB"}
|
|
@@ -36,9 +36,22 @@ var import_fragmentRegistry = require("../../apollo/fragmentRegistry.js");
|
|
|
36
36
|
var import_graphql = require("../../graphql.js");
|
|
37
37
|
var import_GraphQLHooksProvider = require("../GraphQLHooksProvider.js");
|
|
38
38
|
var import_CellCacheContext = require("./CellCacheContext.js");
|
|
39
|
+
var import_createFragmentCell = require("./createFragmentCell.js");
|
|
39
40
|
var import_createSuspendingCell = require("./createSuspendingCell.js");
|
|
40
41
|
var import_isCellEmpty = require("./isCellEmpty.js");
|
|
41
|
-
|
|
42
|
+
function createCell(createCellProps) {
|
|
43
|
+
if (createCellProps.FRAGMENT) {
|
|
44
|
+
if (!createCellProps.QUERY) {
|
|
45
|
+
return (0, import_createFragmentCell.createFragmentCell)(createCellProps);
|
|
46
|
+
}
|
|
47
|
+
import_fragmentRegistry.fragmentRegistry.register(createCellProps.FRAGMENT);
|
|
48
|
+
}
|
|
49
|
+
if (RWJS_ENV.RWJS_EXP_STREAMING_SSR) {
|
|
50
|
+
const suspendingCellProps = createCellProps;
|
|
51
|
+
return (0, import_createSuspendingCell.createSuspendingCell)(suspendingCellProps);
|
|
52
|
+
}
|
|
53
|
+
return createNonSuspendingCell(createCellProps);
|
|
54
|
+
}
|
|
42
55
|
function createNonSuspendingCell({
|
|
43
56
|
QUERY,
|
|
44
57
|
beforeQuery = (props) => ({
|
|
@@ -61,10 +74,16 @@ function createNonSuspendingCell({
|
|
|
61
74
|
Success,
|
|
62
75
|
displayName = "Cell"
|
|
63
76
|
}) {
|
|
77
|
+
if (!QUERY) {
|
|
78
|
+
throw new Error(
|
|
79
|
+
`Can't create a Cell (${displayName}) without a QUERY or FRAGMENT export`
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
const cellQuery = QUERY;
|
|
64
83
|
function NamedCell(props) {
|
|
65
84
|
const { children: _, ...variables } = props;
|
|
66
85
|
const options = beforeQuery(variables);
|
|
67
|
-
const query = typeof
|
|
86
|
+
const query = typeof cellQuery === "function" ? cellQuery(options) : cellQuery;
|
|
68
87
|
let {
|
|
69
88
|
// eslint-disable-next-line prefer-const
|
|
70
89
|
error,
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { CreateCellProps } from './cellTypes.js';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Cell out of a GraphQL fragment and components that render its
|
|
5
|
+
* data.
|
|
6
|
+
*
|
|
7
|
+
* Fragment Cells don't fire queries of their own. A parent Cell spreads the
|
|
8
|
+
* fragment in its QUERY and passes the matching slice of the query result
|
|
9
|
+
* down via a prop named after the fragment (`AuthorCell_author` -> `author`).
|
|
10
|
+
* `Success` receives the data as that same prop. The data is read
|
|
11
|
+
* synchronously, so fragment Cells never render `Loading`.
|
|
12
|
+
*
|
|
13
|
+
* When the GraphQL client supports it (Apollo does), the fragment data is
|
|
14
|
+
* read from the client's cache, so the Cell re-renders when other queries or
|
|
15
|
+
* mutations update the underlying entity. If the cache read is incomplete,
|
|
16
|
+
* the passed-in object itself is used as the data snapshot.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createFragmentCell<CellProps extends Record<string, unknown>, CellVariables extends Record<string, unknown>>({ FRAGMENT, afterQuery, isEmpty, Empty, Success, displayName, }: CreateCellProps<CellProps, CellVariables>): React.FC<CellProps>;
|
|
19
|
+
//# sourceMappingURL=createFragmentCell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFragmentCell.d.ts","sourceRoot":"","sources":["../../../../src/components/cell/createFragmentCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAqDrD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,QAAQ,EACR,UAA2B,EAC3B,OAAqB,EACrB,KAAK,EACL,OAAO,EACP,WAAoB,GACrB,EAAE,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAkEjE"}
|