@isograph/react 0.0.0-main-134dea28 → 0.0.0-main-d57fb7f5
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/core/cache.d.ts +1 -1
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/check.d.ts +2 -2
- package/dist/core/check.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.d.ts +9 -3
- package/dist/core/makeNetworkRequest.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.js +73 -6
- package/dist/core/read.d.ts.map +1 -1
- package/dist/core/read.js +4 -1
- package/dist/core/reader.d.ts +1 -1
- package/dist/core/reader.d.ts.map +1 -1
- package/dist/loadable-hooks/useClientSideDefer.d.ts +2 -2
- package/dist/loadable-hooks/useClientSideDefer.d.ts.map +1 -1
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts +1 -1
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -1
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts +1 -1
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts.map +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +1 -1
- package/dist/react/useImperativeReference.d.ts +1 -1
- package/dist/react/useImperativeReference.d.ts.map +1 -1
- package/dist/react/useLazyReference.d.ts +1 -1
- package/dist/react/useLazyReference.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/core/cache.ts +1 -1
- package/src/core/check.ts +2 -2
- package/src/core/makeNetworkRequest.ts +121 -14
- package/src/core/read.ts +6 -1
- package/src/core/reader.ts +1 -1
- package/src/loadable-hooks/useClientSideDefer.ts +3 -3
- package/src/loadable-hooks/useConnectionSpecPagination.ts +5 -2
- package/src/loadable-hooks/useImperativeLoadableField.ts +2 -2
- package/src/loadable-hooks/useSkipLimitPagination.ts +8 -2
- package/src/react/useImperativeReference.ts +2 -2
- package/src/react/useLazyReference.ts +1 -1
package/dist/core/cache.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export declare function stableCopy<T>(value: T): T;
|
|
|
19
19
|
export declare function getOrCreateCacheForArtifact<TReadFromStore extends {
|
|
20
20
|
parameters: object;
|
|
21
21
|
data: object;
|
|
22
|
-
}, TClientFieldValue>(environment: IsographEnvironment, entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions): ParentCache<FragmentReference<TReadFromStore, TClientFieldValue>>;
|
|
22
|
+
}, TClientFieldValue>(environment: IsographEnvironment, entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): ParentCache<FragmentReference<TReadFromStore, TClientFieldValue>>;
|
|
23
23
|
type NetworkResponseScalarValue = string | number | boolean;
|
|
24
24
|
type NetworkResponseValue = NetworkResponseScalarValue | null | NetworkResponseObject | (NetworkResponseObject | null)[] | (NetworkResponseScalarValue | null)[];
|
|
25
25
|
export type NetworkResponseObject = {
|
package/dist/core/cache.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/core/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAEP,WAAW,EACZ,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,MAAM,EACN,IAAI,EAGJ,KAAK,mBAAmB,EAIxB,KAAK,QAAQ,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAEhB,wBAAwB,EACxB,wBAAwB,EACxB,wCAAwC,EACzC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAEhF,OAAO,EAAE,sBAAsB,EAAwB,MAAM,QAAQ,CAAC;AACtE,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,wBAAgB,8BAA8B,CAC5C,cAAc,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3D,iBAAiB,EAEjB,WAAW,EAAE,mBAAmB,EAChC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,GACrE,WAAW,CAAC,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAanE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAezC;AAED,wBAAgB,2BAA2B,CACzC,cAAc,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3D,iBAAiB,EAEjB,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,CAAC,EACjE,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,YAAY,CAAC,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/core/cache.ts"],"names":[],"mappings":"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"}
|
package/dist/core/check.d.ts
CHANGED
|
@@ -3,9 +3,9 @@ import { Variables } from './FragmentReference';
|
|
|
3
3
|
import { IsographEnvironment, Link } from './IsographEnvironment';
|
|
4
4
|
export type ShouldFetch = 'Yes' | 'No' | 'IfNecessary';
|
|
5
5
|
export declare const DEFAULT_SHOULD_FETCH_VALUE: ShouldFetch;
|
|
6
|
-
export type FetchOptions = {
|
|
6
|
+
export type FetchOptions<TReadOutData> = {
|
|
7
7
|
shouldFetch?: ShouldFetch;
|
|
8
|
-
onComplete?: () => void;
|
|
8
|
+
onComplete?: (data: TReadOutData) => void;
|
|
9
9
|
onError?: () => void;
|
|
10
10
|
};
|
|
11
11
|
export type CheckResult = {
|
package/dist/core/check.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/core/check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAEL,mBAAmB,EACnB,IAAI,EAEL,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAEvD,eAAO,MAAM,0BAA0B,EAAE,WAA2B,CAAC;AAErE,MAAM,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/core/check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAEL,mBAAmB,EACnB,IAAI,EAEL,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAEvD,eAAO,MAAM,0BAA0B,EAAE,WAA2B,CAAC;AAErE,MAAM,MAAM,YAAY,CAAC,YAAY,IAAI;IACvC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GACnB;IACE,IAAI,EAAE,YAAY,CAAC;CACpB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,IAAI,CAAC;CACd,CAAC;AAEN,wBAAgB,KAAK,CACnB,WAAW,EAAE,mBAAmB,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,GACT,WAAW,CAgBb"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { ItemCleanupPair } from '@isograph/disposable-types';
|
|
2
2
|
import { IsographEntrypoint, RefetchQueryNormalizationArtifact } from './entrypoint';
|
|
3
|
-
import {
|
|
3
|
+
import { ExtractParameters } from './FragmentReference';
|
|
4
4
|
import { IsographEnvironment } from './IsographEnvironment';
|
|
5
5
|
import { AnyError, PromiseWrapper } from './PromiseWrapper';
|
|
6
6
|
import { FetchOptions } from './check';
|
|
7
|
-
export declare function maybeMakeNetworkRequest
|
|
8
|
-
|
|
7
|
+
export declare function maybeMakeNetworkRequest<TReadFromStore extends {
|
|
8
|
+
parameters: object;
|
|
9
|
+
data: object;
|
|
10
|
+
}, TClientFieldValue>(environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
|
|
11
|
+
export declare function makeNetworkRequest<TReadFromStore extends {
|
|
12
|
+
parameters: object;
|
|
13
|
+
data: object;
|
|
14
|
+
}, TClientFieldValue>(environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
|
|
9
15
|
//# sourceMappingURL=makeNetworkRequest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeNetworkRequest.d.ts","sourceRoot":"","sources":["../../src/core/makeNetworkRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,iCAAiC,EAClC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"makeNetworkRequest.d.ts","sourceRoot":"","sources":["../../src/core/makeNetworkRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,iCAAiC,EAClC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,OAAO,EAAE,mBAAmB,EAAiB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EACL,QAAQ,EACR,cAAc,EAGf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAqC,YAAY,EAAE,MAAM,SAAS,CAAC;AAM1E,wBAAgB,uBAAuB,CACrC,cAAc,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3D,iBAAiB,EAEjB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,CAAC,EACzD,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAC7C,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CA8BjD;AAED,wBAAgB,kBAAkB,CAChC,cAAc,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3D,iBAAiB,EAEjB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,CAAC,EACzD,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAC7C,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CA6GjD"}
|
|
@@ -8,6 +8,8 @@ const PromiseWrapper_1 = require("./PromiseWrapper");
|
|
|
8
8
|
const cache_1 = require("./cache");
|
|
9
9
|
const logging_1 = require("./logging");
|
|
10
10
|
const check_1 = require("./check");
|
|
11
|
+
const read_1 = require("./read");
|
|
12
|
+
const componentCache_1 = require("./componentCache");
|
|
11
13
|
let networkRequestId = 0;
|
|
12
14
|
function maybeMakeNetworkRequest(environment, artifact, variables, fetchOptions) {
|
|
13
15
|
var _a;
|
|
@@ -49,7 +51,7 @@ function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
|
|
|
49
51
|
const promise = environment
|
|
50
52
|
.networkFunction(artifact.networkRequestInfo.queryText, variables)
|
|
51
53
|
.then((networkResponse) => {
|
|
52
|
-
var _a, _b
|
|
54
|
+
var _a, _b;
|
|
53
55
|
(0, logging_1.logMessage)(environment, {
|
|
54
56
|
kind: 'ReceivedNetworkResponse',
|
|
55
57
|
networkResponse,
|
|
@@ -59,14 +61,14 @@ function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
|
|
|
59
61
|
try {
|
|
60
62
|
(_a = fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.onError) === null || _a === void 0 ? void 0 : _a.call(fetchOptions);
|
|
61
63
|
}
|
|
62
|
-
catch (
|
|
64
|
+
catch (_c) { }
|
|
63
65
|
// @ts-expect-error Why are we getting the wrong constructor here?
|
|
64
66
|
throw new Error('GraphQL network response had errors', {
|
|
65
67
|
cause: networkResponse,
|
|
66
68
|
});
|
|
67
69
|
}
|
|
70
|
+
const root = { __link: IsographEnvironment_1.ROOT_ID, __typename: artifact.concreteType };
|
|
68
71
|
if (status.kind === 'UndisposedIncomplete') {
|
|
69
|
-
const root = { __link: IsographEnvironment_1.ROOT_ID, __typename: artifact.concreteType };
|
|
70
72
|
(0, cache_1.normalizeData)(environment, artifact.networkRequestInfo.normalizationAst, (_b = networkResponse.data) !== null && _b !== void 0 ? _b : {}, variables, artifact.kind === 'Entrypoint'
|
|
71
73
|
? artifact.readerWithRefetchQueries.nestedRefetchQueries
|
|
72
74
|
: [], root);
|
|
@@ -81,10 +83,18 @@ function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
|
|
|
81
83
|
};
|
|
82
84
|
(0, garbageCollection_1.retainQuery)(environment, retainedQuery);
|
|
83
85
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
+
const onComplete = fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.onComplete;
|
|
87
|
+
if (onComplete != null) {
|
|
88
|
+
let data = readDataForOnComplete(artifact, environment, root, variables);
|
|
89
|
+
try {
|
|
90
|
+
// @ts-expect-error this problem will be fixed when we remove RefetchQueryNormalizationArtifact
|
|
91
|
+
// (or we can fix this by having a single param of type { kind: 'Entrypoint', entrypoint,
|
|
92
|
+
// fetchOptions: FetchOptions<TReadFromStore> } | { kind: 'RefetchQuery', refetchQuery,
|
|
93
|
+
// fetchOptions: FetchOptions<void> }).
|
|
94
|
+
onComplete(data);
|
|
95
|
+
}
|
|
96
|
+
catch (_d) { }
|
|
86
97
|
}
|
|
87
|
-
catch (_e) { }
|
|
88
98
|
})
|
|
89
99
|
.catch((e) => {
|
|
90
100
|
var _a;
|
|
@@ -116,3 +126,60 @@ function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
|
|
|
116
126
|
];
|
|
117
127
|
return response;
|
|
118
128
|
}
|
|
129
|
+
function readDataForOnComplete(artifact, environment, root, variables) {
|
|
130
|
+
// An entrypoint, but not a RefetchQueryNormalizationArtifact, has a reader ASTs.
|
|
131
|
+
// So, we can only pass data to onComplete if makeNetworkRequest was passed an entrypoint.
|
|
132
|
+
// This is awkward, since we don't express that in the types of the parameters
|
|
133
|
+
// (i.e. FetchOptions could be passed, along with a RefetchQueryNormalizationArtifact).
|
|
134
|
+
//
|
|
135
|
+
// However, this isn't a big deal: RefetchQueryNormalizationArtifact is going away.
|
|
136
|
+
if (artifact.kind === 'Entrypoint') {
|
|
137
|
+
// TODO this is a smell!
|
|
138
|
+
const fakeNetworkRequest = (0, PromiseWrapper_1.wrapResolvedValue)(undefined);
|
|
139
|
+
// TODO this is a smell — we know the network response is not in flight,
|
|
140
|
+
// so we don't really care!
|
|
141
|
+
const fakeNetworkRequestOptions = {
|
|
142
|
+
suspendIfInFlight: false,
|
|
143
|
+
throwOnNetworkError: false,
|
|
144
|
+
};
|
|
145
|
+
const fragmentResult = (0, read_1.readButDoNotEvaluate)(environment, {
|
|
146
|
+
kind: 'FragmentReference',
|
|
147
|
+
// TODO this smells.
|
|
148
|
+
readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)(artifact.readerWithRefetchQueries),
|
|
149
|
+
root,
|
|
150
|
+
variables,
|
|
151
|
+
networkRequest: fakeNetworkRequest,
|
|
152
|
+
}, fakeNetworkRequestOptions).item;
|
|
153
|
+
const readerArtifact = artifact.readerWithRefetchQueries.readerArtifact;
|
|
154
|
+
switch (readerArtifact.kind) {
|
|
155
|
+
case 'ComponentReaderArtifact': {
|
|
156
|
+
// @ts-expect-error We should find a way to encode this in the type system:
|
|
157
|
+
// if we have a ComponentReaderArtifact, we will necessarily have a
|
|
158
|
+
// TClientFieldValue which is a React.FC<...>
|
|
159
|
+
return (0, componentCache_1.getOrCreateCachedComponent)(environment, readerArtifact.componentName, {
|
|
160
|
+
kind: 'FragmentReference',
|
|
161
|
+
readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)({
|
|
162
|
+
kind: 'ReaderWithRefetchQueries',
|
|
163
|
+
readerArtifact: readerArtifact,
|
|
164
|
+
nestedRefetchQueries: artifact.readerWithRefetchQueries.nestedRefetchQueries,
|
|
165
|
+
}),
|
|
166
|
+
root,
|
|
167
|
+
variables,
|
|
168
|
+
networkRequest: fakeNetworkRequest,
|
|
169
|
+
}, fakeNetworkRequestOptions);
|
|
170
|
+
}
|
|
171
|
+
case 'EagerReaderArtifact': {
|
|
172
|
+
return readerArtifact.resolver({
|
|
173
|
+
data: fragmentResult,
|
|
174
|
+
parameters: variables,
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
default: {
|
|
178
|
+
const _ = readerArtifact;
|
|
179
|
+
_;
|
|
180
|
+
throw new Error('Expected case');
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return null;
|
|
185
|
+
}
|
package/dist/core/read.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/core/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AAMjB,OAAO,EACL,iBAAiB,EAEjB,WAAW,EAEZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,mBAAmB,EACnB,KAAK,IAAI,EACV,MAAM,uBAAuB,CAAC;AAe/B,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;IACtC,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,cAAc,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAE3D,WAAW,EAAE,mBAAmB,EAChC,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,EAC7D,qBAAqB,EAAE,2BAA2B,GACjD,sBAAsB,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/core/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AAMjB,OAAO,EACL,iBAAiB,EAEjB,WAAW,EAEZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,mBAAmB,EACnB,KAAK,IAAI,EACV,MAAM,uBAAuB,CAAC;AAe/B,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;IACtC,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,cAAc,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAE3D,WAAW,EAAE,mBAAmB,EAChC,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,EAC7D,qBAAqB,EAAE,2BAA2B,GACjD,sBAAsB,CAAC,cAAc,CAAC,CAmDxC;AAED,MAAM,MAAM,cAAc,CAAC,cAAc,IACrC;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC;CAC7C,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;CAC3B,CAAC;AA2kBN,MAAM,MAAM,2BAA2B,GAAG;IACxC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,wBAAgB,oCAAoC,CAClD,qBAAqB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI,GAClE,2BAA2B,CAK7B"}
|
package/dist/core/read.js
CHANGED
|
@@ -11,6 +11,7 @@ const logging_1 = require("./logging");
|
|
|
11
11
|
function readButDoNotEvaluate(environment, fragmentReference, networkRequestOptions) {
|
|
12
12
|
var _a;
|
|
13
13
|
const mutableEncounteredRecords = new Map();
|
|
14
|
+
// TODO consider moving this to the outside
|
|
14
15
|
const readerWithRefetchQueries = (0, PromiseWrapper_1.readPromise)(fragmentReference.readerWithRefetchQueries);
|
|
15
16
|
const response = readData(environment, readerWithRefetchQueries.readerArtifact.readerAst, fragmentReference.root, (_a = fragmentReference.variables) !== null && _a !== void 0 ? _a : {}, readerWithRefetchQueries.nestedRefetchQueries, fragmentReference.networkRequest, networkRequestOptions, mutableEncounteredRecords);
|
|
16
17
|
(0, logging_1.logMessage)(environment, {
|
|
@@ -299,7 +300,9 @@ function readData(environment, ast, root, variables, nestedRefetchQueries, netwo
|
|
|
299
300
|
};
|
|
300
301
|
}
|
|
301
302
|
else {
|
|
302
|
-
target[field.alias] = (args,
|
|
303
|
+
target[field.alias] = (args,
|
|
304
|
+
// TODO get the associated type for FetchOptions from the loadably selected field
|
|
305
|
+
fetchOptions) => {
|
|
303
306
|
// TODO we should use the reader AST for this
|
|
304
307
|
const includeReadOutData = (variables, readOutData) => {
|
|
305
308
|
variables.id = readOutData.id;
|
package/dist/core/reader.d.ts
CHANGED
|
@@ -82,6 +82,6 @@ type StableId = string;
|
|
|
82
82
|
export type LoadableField<TReadFromStore extends {
|
|
83
83
|
data: object;
|
|
84
84
|
parameters: object;
|
|
85
|
-
}, TResult, TArgs = ExtractParameters<TReadFromStore>> = (args: TArgs | void, fetchOptions: FetchOptions) => [StableId, Factory<FragmentReference<TReadFromStore, TResult>>];
|
|
85
|
+
}, TResult, TArgs = ExtractParameters<TReadFromStore>> = (args: TArgs | void, fetchOptions: FetchOptions<TResult>) => [StableId, Factory<FragmentReference<TReadFromStore, TResult>>];
|
|
86
86
|
export {};
|
|
87
87
|
//# sourceMappingURL=reader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/core/reader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/core/reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,13 +4,13 @@ import { FetchOptions } from '../core/check';
|
|
|
4
4
|
export declare function useClientSideDefer<TReadFromStore extends {
|
|
5
5
|
data: object;
|
|
6
6
|
parameters: object;
|
|
7
|
-
}, TResult>(loadableField: LoadableField<TReadFromStore, TResult, ExtractParameters<TReadFromStore>>, args?: Record<PropertyKey, never>, fetchOptions?: FetchOptions): {
|
|
7
|
+
}, TResult>(loadableField: LoadableField<TReadFromStore, TResult, ExtractParameters<TReadFromStore>>, args?: Record<PropertyKey, never>, fetchOptions?: FetchOptions<TResult>): {
|
|
8
8
|
fragmentReference: FragmentReference<TReadFromStore, TResult>;
|
|
9
9
|
};
|
|
10
10
|
export declare function useClientSideDefer<TReadFromStore extends {
|
|
11
11
|
data: object;
|
|
12
12
|
parameters: object;
|
|
13
|
-
}, TResult, TProvidedArgs extends object>(loadableField: LoadableField<TReadFromStore, TResult, Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>>, args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>, fetchOptions?: FetchOptions): {
|
|
13
|
+
}, TResult, TProvidedArgs extends object>(loadableField: LoadableField<TReadFromStore, TResult, Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>>, args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>, fetchOptions?: FetchOptions<TResult>): {
|
|
14
14
|
fragmentReference: FragmentReference<TReadFromStore, TResult>;
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=useClientSideDefer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useClientSideDefer.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useClientSideDefer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,wBAAgB,kBAAkB,CAChC,cAAc,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC3D,OAAO,EAEP,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,OAAO,EACP,iBAAiB,CAAC,cAAc,CAAC,CAClC,EACD,IAAI,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,EACjC,YAAY,CAAC,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"useClientSideDefer.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useClientSideDefer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,wBAAgB,kBAAkB,CAChC,cAAc,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC3D,OAAO,EAEP,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,OAAO,EACP,iBAAiB,CAAC,cAAc,CAAC,CAClC,EACD,IAAI,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,EACjC,YAAY,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GACnC;IAAE,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAErE,wBAAgB,kBAAkB,CAChC,cAAc,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC3D,OAAO,EACP,aAAa,SAAS,MAAM,EAE5B,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,OAAO,EACP,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,CAC7D,EACD,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,EAClE,YAAY,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GACnC;IAAE,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC"}
|
|
@@ -10,7 +10,7 @@ type UsePaginationReturnValue<TReadFromStore extends {
|
|
|
10
10
|
results: ReadonlyArray<TItem>;
|
|
11
11
|
} | {
|
|
12
12
|
kind: 'Complete';
|
|
13
|
-
fetchMore: (count: number, fetchOptions?: FetchOptions) => void;
|
|
13
|
+
fetchMore: (count: number, fetchOptions?: FetchOptions<Connection<TItem>>) => void;
|
|
14
14
|
results: ReadonlyArray<TItem>;
|
|
15
15
|
hasNextPage: boolean;
|
|
16
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConnectionSpecPagination.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAM9D,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAI/D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,KAAK,wBAAwB,CAC3B,cAAc,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3D,KAAK,IAEH;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,EAAE,iBAAiB,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"useConnectionSpecPagination.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAM9D,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAI/D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,KAAK,wBAAwB,CAC3B,cAAc,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3D,KAAK,IAEH;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,EAAE,iBAAiB,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,CACT,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAC3C,IAAI,CAAC;IACV,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAwBN,KAAK,QAAQ,GAAG;IACd,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,KAAK,UAAU,CAAC,CAAC,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B,CAAC;AAOF,KAAK,+BAA+B,GAAG;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,EACD,KAAK,EAEL,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,UAAU,CAAC,KAAK,CAAC,EACjB,+BAA+B,CAChC,EACD,YAAY,CAAC,EAAE,QAAQ,GACtB,wBAAwB,CAAC,cAAc,EAAE,KAAK,CAAC,CA4OjD"}
|
|
@@ -7,7 +7,7 @@ type UseImperativeLoadableFieldReturn<TReadFromStore extends {
|
|
|
7
7
|
parameters: object;
|
|
8
8
|
}, TResult, TProvidedArgs extends object> = {
|
|
9
9
|
fragmentReference: FragmentReference<TReadFromStore, TResult> | UnassignedState;
|
|
10
|
-
loadField: (args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs> | void, fetchOptions?: FetchOptions) => void;
|
|
10
|
+
loadField: (args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs> | void, fetchOptions?: FetchOptions<TResult>) => void;
|
|
11
11
|
};
|
|
12
12
|
export declare function useImperativeLoadableField<TReadFromStore extends {
|
|
13
13
|
data: object;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useImperativeLoadableField.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,eAAe,EAEhB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,KAAK,gCAAgC,CACnC,cAAc,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC3D,OAAO,EACP,aAAa,SAAS,MAAM,IAC1B;IACF,iBAAiB,EACb,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,GAC1C,eAAe,CAAC;IACpB,SAAS,EAAE,CAGT,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,GAAG,IAAI,EACzE,YAAY,CAAC,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"useImperativeLoadableField.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,eAAe,EAEhB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,KAAK,gCAAgC,CACnC,cAAc,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC3D,OAAO,EACP,aAAa,SAAS,MAAM,IAC1B;IACF,iBAAiB,EACb,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,GAC1C,eAAe,CAAC;IACpB,SAAS,EAAE,CAGT,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,GAAG,IAAI,EACzE,YAAY,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,KACjC,IAAI,CAAC;CACX,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,cAAc,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC3D,OAAO,EACP,aAAa,SAAS,MAAM,EAE5B,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,OAAO,EACP,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,CAC7D,GACA,gCAAgC,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,CAc1E"}
|
|
@@ -6,7 +6,7 @@ type UseSkipLimitReturnValue<TReadFromStore extends {
|
|
|
6
6
|
parameters: object;
|
|
7
7
|
}, TItem> = {
|
|
8
8
|
readonly kind: 'Complete';
|
|
9
|
-
readonly fetchMore: (count: number, fetchOptions?: FetchOptions) => void;
|
|
9
|
+
readonly fetchMore: (count: number, fetchOptions?: FetchOptions<ReadonlyArray<TItem>>) => void;
|
|
10
10
|
readonly results: ReadonlyArray<TItem>;
|
|
11
11
|
} | {
|
|
12
12
|
readonly kind: 'Pending';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSkipLimitPagination.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAgB9D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,KAAK,uBAAuB,CAC1B,cAAc,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC3D,KAAK,IAEH;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"useSkipLimitPagination.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAgB9D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,KAAK,uBAAuB,CAC1B,cAAc,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC3D,KAAK,IAEH;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAC9C,IAAI,CAAC;IACV,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CACxC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CACzC,cAAc,EACd,aAAa,CAAC,KAAK,CAAC,CACrB,CAAC;CACH,CAAC;AA6BN,KAAK,0BAA0B,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,KAAK,EACL,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,EAED,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,aAAa,CAAC,KAAK,CAAC,EACpB,0BAA0B,CAC3B,EACD,YAAY,CAAC,EAAE;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CAC7B,GACA,uBAAuB,CAAC,cAAc,EAAE,KAAK,CAAC,CAkOhD"}
|
|
@@ -7,6 +7,6 @@ export declare function useImperativeReference<TReadFromStore extends {
|
|
|
7
7
|
data: object;
|
|
8
8
|
}, TClientFieldValue>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue>): {
|
|
9
9
|
fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue> | UnassignedState;
|
|
10
|
-
loadFragmentReference: (variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions) => void;
|
|
10
|
+
loadFragmentReference: (variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>) => void;
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=useImperativeReference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useImperativeReference.d.ts","sourceRoot":"","sources":["../../src/react/useImperativeReference.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEhB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI7C,wBAAgB,sBAAsB,CACpC,cAAc,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3D,iBAAiB,EAEjB,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAChE;IACD,iBAAiB,EACb,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,GACpD,eAAe,CAAC;IACpB,qBAAqB,EAAE,CACrB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,YAAY,CAAC,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"useImperativeReference.d.ts","sourceRoot":"","sources":["../../src/react/useImperativeReference.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEhB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI7C,wBAAgB,sBAAsB,CACpC,cAAc,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3D,iBAAiB,EAEjB,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAChE;IACD,iBAAiB,EACb,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,GACpD,eAAe,CAAC;IACpB,qBAAqB,EAAE,CACrB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,KAC3C,IAAI,CAAC;CACX,CAqCA"}
|
|
@@ -4,7 +4,7 @@ import { FetchOptions } from '../core/check';
|
|
|
4
4
|
export declare function useLazyReference<TReadFromStore extends {
|
|
5
5
|
parameters: object;
|
|
6
6
|
data: object;
|
|
7
|
-
}, TClientFieldValue>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions): {
|
|
7
|
+
}, TClientFieldValue>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): {
|
|
8
8
|
fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>;
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=useLazyReference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLazyReference.d.ts","sourceRoot":"","sources":["../../src/react/useLazyReference.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,wBAAgB,gBAAgB,CAC9B,cAAc,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3D,iBAAiB,EAEjB,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,CAAC,EACjE,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,YAAY,CAAC,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"useLazyReference.d.ts","sourceRoot":"","sources":["../../src/react/useLazyReference.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,wBAAgB,gBAAgB,CAC9B,cAAc,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3D,iBAAiB,EAEjB,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,CAAC,EACjE,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAC7C;IACD,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;CACzE,CAqBA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@isograph/react",
|
|
3
|
-
"version": "0.0.0-main-
|
|
3
|
+
"version": "0.0.0-main-d57fb7f5",
|
|
4
4
|
"description": "Use Isograph with React",
|
|
5
5
|
"homepage": "https://isograph.dev",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"iso-watch": "../../target/debug/isograph_cli --config ./isograph.config.json --watch"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@isograph/disposable-types": "0.0.0-main-
|
|
23
|
-
"@isograph/react-disposable-state": "0.0.0-main-
|
|
24
|
-
"@isograph/reference-counted-pointer": "0.0.0-main-
|
|
22
|
+
"@isograph/disposable-types": "0.0.0-main-d57fb7f5",
|
|
23
|
+
"@isograph/react-disposable-state": "0.0.0-main-d57fb7f5",
|
|
24
|
+
"@isograph/reference-counted-pointer": "0.0.0-main-d57fb7f5"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
27
|
"react": "18.3.1"
|
package/src/core/cache.ts
CHANGED
|
@@ -89,7 +89,7 @@ export function getOrCreateCacheForArtifact<
|
|
|
89
89
|
environment: IsographEnvironment,
|
|
90
90
|
entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue>,
|
|
91
91
|
variables: ExtractParameters<TReadFromStore>,
|
|
92
|
-
fetchOptions?: FetchOptions
|
|
92
|
+
fetchOptions?: FetchOptions<TClientFieldValue>,
|
|
93
93
|
): ParentCache<FragmentReference<TReadFromStore, TClientFieldValue>> {
|
|
94
94
|
const cacheKey =
|
|
95
95
|
entrypoint.networkRequestInfo.queryText +
|
package/src/core/check.ts
CHANGED
|
@@ -13,9 +13,9 @@ export type ShouldFetch = 'Yes' | 'No' | 'IfNecessary';
|
|
|
13
13
|
|
|
14
14
|
export const DEFAULT_SHOULD_FETCH_VALUE: ShouldFetch = 'IfNecessary';
|
|
15
15
|
|
|
16
|
-
export type FetchOptions = {
|
|
16
|
+
export type FetchOptions<TReadOutData> = {
|
|
17
17
|
shouldFetch?: ShouldFetch;
|
|
18
|
-
onComplete?: () => void;
|
|
18
|
+
onComplete?: (data: TReadOutData) => void;
|
|
19
19
|
onError?: () => void;
|
|
20
20
|
};
|
|
21
21
|
|
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
IsographEntrypoint,
|
|
4
4
|
RefetchQueryNormalizationArtifact,
|
|
5
5
|
} from './entrypoint';
|
|
6
|
-
import {
|
|
6
|
+
import { ExtractParameters } from './FragmentReference';
|
|
7
7
|
import {
|
|
8
8
|
garbageCollectEnvironment,
|
|
9
9
|
RetainedQuery,
|
|
10
10
|
retainQuery,
|
|
11
11
|
unretainQuery,
|
|
12
12
|
} from './garbageCollection';
|
|
13
|
-
import { IsographEnvironment, ROOT_ID } from './IsographEnvironment';
|
|
13
|
+
import { IsographEnvironment, Link, ROOT_ID } from './IsographEnvironment';
|
|
14
14
|
import {
|
|
15
15
|
AnyError,
|
|
16
16
|
PromiseWrapper,
|
|
@@ -20,14 +20,21 @@ import {
|
|
|
20
20
|
import { normalizeData } from './cache';
|
|
21
21
|
import { logMessage } from './logging';
|
|
22
22
|
import { check, DEFAULT_SHOULD_FETCH_VALUE, FetchOptions } from './check';
|
|
23
|
+
import { readButDoNotEvaluate } from './read';
|
|
24
|
+
import { getOrCreateCachedComponent } from './componentCache';
|
|
23
25
|
|
|
24
26
|
let networkRequestId = 0;
|
|
25
27
|
|
|
26
|
-
export function maybeMakeNetworkRequest
|
|
28
|
+
export function maybeMakeNetworkRequest<
|
|
29
|
+
TReadFromStore extends { parameters: object; data: object },
|
|
30
|
+
TClientFieldValue,
|
|
31
|
+
>(
|
|
27
32
|
environment: IsographEnvironment,
|
|
28
|
-
artifact:
|
|
29
|
-
|
|
30
|
-
|
|
33
|
+
artifact:
|
|
34
|
+
| RefetchQueryNormalizationArtifact
|
|
35
|
+
| IsographEntrypoint<TReadFromStore, TClientFieldValue>,
|
|
36
|
+
variables: ExtractParameters<TReadFromStore>,
|
|
37
|
+
fetchOptions?: FetchOptions<TClientFieldValue>,
|
|
31
38
|
): ItemCleanupPair<PromiseWrapper<void, AnyError>> {
|
|
32
39
|
switch (fetchOptions?.shouldFetch ?? DEFAULT_SHOULD_FETCH_VALUE) {
|
|
33
40
|
case 'Yes': {
|
|
@@ -60,11 +67,16 @@ export function maybeMakeNetworkRequest(
|
|
|
60
67
|
}
|
|
61
68
|
}
|
|
62
69
|
|
|
63
|
-
export function makeNetworkRequest
|
|
70
|
+
export function makeNetworkRequest<
|
|
71
|
+
TReadFromStore extends { parameters: object; data: object },
|
|
72
|
+
TClientFieldValue,
|
|
73
|
+
>(
|
|
64
74
|
environment: IsographEnvironment,
|
|
65
|
-
artifact:
|
|
66
|
-
|
|
67
|
-
|
|
75
|
+
artifact:
|
|
76
|
+
| RefetchQueryNormalizationArtifact
|
|
77
|
+
| IsographEntrypoint<TReadFromStore, TClientFieldValue>,
|
|
78
|
+
variables: ExtractParameters<TReadFromStore>,
|
|
79
|
+
fetchOptions?: FetchOptions<TClientFieldValue>,
|
|
68
80
|
): ItemCleanupPair<PromiseWrapper<void, AnyError>> {
|
|
69
81
|
// TODO this should be a DataId and stored in the store
|
|
70
82
|
const myNetworkRequestId = networkRequestId + '';
|
|
@@ -100,8 +112,8 @@ export function makeNetworkRequest(
|
|
|
100
112
|
});
|
|
101
113
|
}
|
|
102
114
|
|
|
115
|
+
const root = { __link: ROOT_ID, __typename: artifact.concreteType };
|
|
103
116
|
if (status.kind === 'UndisposedIncomplete') {
|
|
104
|
-
const root = { __link: ROOT_ID, __typename: artifact.concreteType };
|
|
105
117
|
normalizeData(
|
|
106
118
|
environment,
|
|
107
119
|
artifact.networkRequestInfo.normalizationAst,
|
|
@@ -124,9 +136,23 @@ export function makeNetworkRequest(
|
|
|
124
136
|
retainQuery(environment, retainedQuery);
|
|
125
137
|
}
|
|
126
138
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
139
|
+
const onComplete = fetchOptions?.onComplete;
|
|
140
|
+
if (onComplete != null) {
|
|
141
|
+
let data = readDataForOnComplete(
|
|
142
|
+
artifact,
|
|
143
|
+
environment,
|
|
144
|
+
root,
|
|
145
|
+
variables,
|
|
146
|
+
);
|
|
147
|
+
|
|
148
|
+
try {
|
|
149
|
+
// @ts-expect-error this problem will be fixed when we remove RefetchQueryNormalizationArtifact
|
|
150
|
+
// (or we can fix this by having a single param of type { kind: 'Entrypoint', entrypoint,
|
|
151
|
+
// fetchOptions: FetchOptions<TReadFromStore> } | { kind: 'RefetchQuery', refetchQuery,
|
|
152
|
+
// fetchOptions: FetchOptions<void> }).
|
|
153
|
+
onComplete(data);
|
|
154
|
+
} catch {}
|
|
155
|
+
}
|
|
130
156
|
})
|
|
131
157
|
.catch((e) => {
|
|
132
158
|
logMessage(environment, {
|
|
@@ -173,3 +199,84 @@ type NetworkRequestStatus =
|
|
|
173
199
|
readonly kind: 'UndisposedComplete';
|
|
174
200
|
readonly retainedQuery: RetainedQuery;
|
|
175
201
|
};
|
|
202
|
+
|
|
203
|
+
function readDataForOnComplete<
|
|
204
|
+
TReadFromStore extends { parameters: object; data: object },
|
|
205
|
+
TClientFieldValue,
|
|
206
|
+
>(
|
|
207
|
+
artifact:
|
|
208
|
+
| RefetchQueryNormalizationArtifact
|
|
209
|
+
| IsographEntrypoint<TReadFromStore, TClientFieldValue>,
|
|
210
|
+
environment: IsographEnvironment,
|
|
211
|
+
root: Link,
|
|
212
|
+
variables: ExtractParameters<TReadFromStore>,
|
|
213
|
+
): TClientFieldValue | null {
|
|
214
|
+
// An entrypoint, but not a RefetchQueryNormalizationArtifact, has a reader ASTs.
|
|
215
|
+
// So, we can only pass data to onComplete if makeNetworkRequest was passed an entrypoint.
|
|
216
|
+
// This is awkward, since we don't express that in the types of the parameters
|
|
217
|
+
// (i.e. FetchOptions could be passed, along with a RefetchQueryNormalizationArtifact).
|
|
218
|
+
//
|
|
219
|
+
// However, this isn't a big deal: RefetchQueryNormalizationArtifact is going away.
|
|
220
|
+
if (artifact.kind === 'Entrypoint') {
|
|
221
|
+
// TODO this is a smell!
|
|
222
|
+
const fakeNetworkRequest = wrapResolvedValue(undefined);
|
|
223
|
+
// TODO this is a smell — we know the network response is not in flight,
|
|
224
|
+
// so we don't really care!
|
|
225
|
+
const fakeNetworkRequestOptions = {
|
|
226
|
+
suspendIfInFlight: false,
|
|
227
|
+
throwOnNetworkError: false,
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
const fragmentResult = readButDoNotEvaluate(
|
|
231
|
+
environment,
|
|
232
|
+
{
|
|
233
|
+
kind: 'FragmentReference',
|
|
234
|
+
// TODO this smells.
|
|
235
|
+
readerWithRefetchQueries: wrapResolvedValue(
|
|
236
|
+
artifact.readerWithRefetchQueries,
|
|
237
|
+
),
|
|
238
|
+
root,
|
|
239
|
+
variables,
|
|
240
|
+
networkRequest: fakeNetworkRequest,
|
|
241
|
+
},
|
|
242
|
+
fakeNetworkRequestOptions,
|
|
243
|
+
).item;
|
|
244
|
+
const readerArtifact = artifact.readerWithRefetchQueries.readerArtifact;
|
|
245
|
+
switch (readerArtifact.kind) {
|
|
246
|
+
case 'ComponentReaderArtifact': {
|
|
247
|
+
// @ts-expect-error We should find a way to encode this in the type system:
|
|
248
|
+
// if we have a ComponentReaderArtifact, we will necessarily have a
|
|
249
|
+
// TClientFieldValue which is a React.FC<...>
|
|
250
|
+
return getOrCreateCachedComponent(
|
|
251
|
+
environment,
|
|
252
|
+
readerArtifact.componentName,
|
|
253
|
+
{
|
|
254
|
+
kind: 'FragmentReference',
|
|
255
|
+
readerWithRefetchQueries: wrapResolvedValue({
|
|
256
|
+
kind: 'ReaderWithRefetchQueries',
|
|
257
|
+
readerArtifact: readerArtifact,
|
|
258
|
+
nestedRefetchQueries:
|
|
259
|
+
artifact.readerWithRefetchQueries.nestedRefetchQueries,
|
|
260
|
+
}),
|
|
261
|
+
root,
|
|
262
|
+
variables,
|
|
263
|
+
networkRequest: fakeNetworkRequest,
|
|
264
|
+
} as const,
|
|
265
|
+
fakeNetworkRequestOptions,
|
|
266
|
+
);
|
|
267
|
+
}
|
|
268
|
+
case 'EagerReaderArtifact': {
|
|
269
|
+
return readerArtifact.resolver({
|
|
270
|
+
data: fragmentResult,
|
|
271
|
+
parameters: variables,
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
default: {
|
|
275
|
+
const _: never = readerArtifact;
|
|
276
|
+
_;
|
|
277
|
+
throw new Error('Expected case');
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return null;
|
|
282
|
+
}
|
package/src/core/read.ts
CHANGED
|
@@ -49,6 +49,7 @@ export function readButDoNotEvaluate<
|
|
|
49
49
|
): WithEncounteredRecords<TReadFromStore> {
|
|
50
50
|
const mutableEncounteredRecords: EncounteredIds = new Map();
|
|
51
51
|
|
|
52
|
+
// TODO consider moving this to the outside
|
|
52
53
|
const readerWithRefetchQueries = readPromise(
|
|
53
54
|
fragmentReference.readerWithRefetchQueries,
|
|
54
55
|
);
|
|
@@ -461,7 +462,11 @@ function readData<TReadFromStore>(
|
|
|
461
462
|
recordLink: refetchReaderParams.recordLink,
|
|
462
463
|
};
|
|
463
464
|
} else {
|
|
464
|
-
target[field.alias] = (
|
|
465
|
+
target[field.alias] = (
|
|
466
|
+
args: any,
|
|
467
|
+
// TODO get the associated type for FetchOptions from the loadably selected field
|
|
468
|
+
fetchOptions?: FetchOptions<any>,
|
|
469
|
+
) => {
|
|
465
470
|
// TODO we should use the reader AST for this
|
|
466
471
|
const includeReadOutData = (variables: any, readOutData: any) => {
|
|
467
472
|
variables.id = readOutData.id;
|
package/src/core/reader.ts
CHANGED
|
@@ -156,5 +156,5 @@ export type LoadableField<
|
|
|
156
156
|
// user-facing API. Users should only interact with LoadableFields via APIs
|
|
157
157
|
// like useClientSideDefer. These APIs should have a nullable fetchOptions
|
|
158
158
|
// parameter, and provide a default value ({}) to the LoadableField.
|
|
159
|
-
fetchOptions: FetchOptions
|
|
159
|
+
fetchOptions: FetchOptions<TResult>,
|
|
160
160
|
) => [StableId, Factory<FragmentReference<TReadFromStore, TResult>>];
|
|
@@ -18,7 +18,7 @@ export function useClientSideDefer<
|
|
|
18
18
|
ExtractParameters<TReadFromStore>
|
|
19
19
|
>,
|
|
20
20
|
args?: Record<PropertyKey, never>,
|
|
21
|
-
fetchOptions?: FetchOptions
|
|
21
|
+
fetchOptions?: FetchOptions<TResult>,
|
|
22
22
|
): { fragmentReference: FragmentReference<TReadFromStore, TResult> };
|
|
23
23
|
|
|
24
24
|
export function useClientSideDefer<
|
|
@@ -32,7 +32,7 @@ export function useClientSideDefer<
|
|
|
32
32
|
Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>
|
|
33
33
|
>,
|
|
34
34
|
args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>,
|
|
35
|
-
fetchOptions?: FetchOptions
|
|
35
|
+
fetchOptions?: FetchOptions<TResult>,
|
|
36
36
|
): { fragmentReference: FragmentReference<TReadFromStore, TResult> };
|
|
37
37
|
|
|
38
38
|
export function useClientSideDefer<
|
|
@@ -46,7 +46,7 @@ export function useClientSideDefer<
|
|
|
46
46
|
Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>
|
|
47
47
|
>,
|
|
48
48
|
args?: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>,
|
|
49
|
-
fetchOptions?: FetchOptions
|
|
49
|
+
fetchOptions?: FetchOptions<TResult>,
|
|
50
50
|
): { fragmentReference: FragmentReference<TReadFromStore, TResult> } {
|
|
51
51
|
const [id, loader] = loadableField(args, fetchOptions ?? {});
|
|
52
52
|
const environment = useIsographEnvironment();
|
|
@@ -32,7 +32,10 @@ type UsePaginationReturnValue<
|
|
|
32
32
|
}
|
|
33
33
|
| {
|
|
34
34
|
kind: 'Complete';
|
|
35
|
-
fetchMore: (
|
|
35
|
+
fetchMore: (
|
|
36
|
+
count: number,
|
|
37
|
+
fetchOptions?: FetchOptions<Connection<TItem>>,
|
|
38
|
+
) => void;
|
|
36
39
|
results: ReadonlyArray<TItem>;
|
|
37
40
|
hasNextPage: boolean;
|
|
38
41
|
};
|
|
@@ -194,7 +197,7 @@ export function useConnectionSpecPagination<
|
|
|
194
197
|
|
|
195
198
|
const getFetchMore =
|
|
196
199
|
(after: string | null) =>
|
|
197
|
-
(count: number, fetchOptions?: FetchOptions): void => {
|
|
200
|
+
(count: number, fetchOptions?: FetchOptions<Connection<TItem>>): void => {
|
|
198
201
|
const loadedField = loadableField(
|
|
199
202
|
{
|
|
200
203
|
after: after,
|
|
@@ -21,7 +21,7 @@ type UseImperativeLoadableFieldReturn<
|
|
|
21
21
|
// TODO this should be void iff all args are provided by the query, like in
|
|
22
22
|
// useClientSideDefer.
|
|
23
23
|
args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs> | void,
|
|
24
|
-
fetchOptions?: FetchOptions
|
|
24
|
+
fetchOptions?: FetchOptions<TResult>,
|
|
25
25
|
) => void;
|
|
26
26
|
};
|
|
27
27
|
|
|
@@ -42,7 +42,7 @@ export function useImperativeLoadableField<
|
|
|
42
42
|
return {
|
|
43
43
|
loadField: (
|
|
44
44
|
args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs> | void,
|
|
45
|
-
fetchOptions?: FetchOptions
|
|
45
|
+
fetchOptions?: FetchOptions<TResult>,
|
|
46
46
|
) => {
|
|
47
47
|
const [_id, loader] = loadableField(args, fetchOptions ?? {});
|
|
48
48
|
setState(loader());
|
|
@@ -25,7 +25,10 @@ type UseSkipLimitReturnValue<
|
|
|
25
25
|
> =
|
|
26
26
|
| {
|
|
27
27
|
readonly kind: 'Complete';
|
|
28
|
-
readonly fetchMore: (
|
|
28
|
+
readonly fetchMore: (
|
|
29
|
+
count: number,
|
|
30
|
+
fetchOptions?: FetchOptions<ReadonlyArray<TItem>>,
|
|
31
|
+
) => void;
|
|
29
32
|
readonly results: ReadonlyArray<TItem>;
|
|
30
33
|
}
|
|
31
34
|
| {
|
|
@@ -179,7 +182,10 @@ export function useSkipLimitPagination<
|
|
|
179
182
|
|
|
180
183
|
const getFetchMore =
|
|
181
184
|
(loadedSoFar: number) =>
|
|
182
|
-
(
|
|
185
|
+
(
|
|
186
|
+
count: number,
|
|
187
|
+
fetchOptions?: FetchOptions<ReadonlyArray<TItem>>,
|
|
188
|
+
): void => {
|
|
183
189
|
const loadedField = loadableField(
|
|
184
190
|
{
|
|
185
191
|
skip: loadedSoFar,
|
|
@@ -26,7 +26,7 @@ export function useImperativeReference<
|
|
|
26
26
|
| UnassignedState;
|
|
27
27
|
loadFragmentReference: (
|
|
28
28
|
variables: ExtractParameters<TReadFromStore>,
|
|
29
|
-
fetchOptions?: FetchOptions
|
|
29
|
+
fetchOptions?: FetchOptions<TClientFieldValue>,
|
|
30
30
|
) => void;
|
|
31
31
|
} {
|
|
32
32
|
const { state, setState } =
|
|
@@ -38,7 +38,7 @@ export function useImperativeReference<
|
|
|
38
38
|
fragmentReference: state,
|
|
39
39
|
loadFragmentReference: (
|
|
40
40
|
variables: ExtractParameters<TReadFromStore>,
|
|
41
|
-
fetchOptions?: FetchOptions
|
|
41
|
+
fetchOptions?: FetchOptions<TClientFieldValue>,
|
|
42
42
|
) => {
|
|
43
43
|
const [networkRequest, disposeNetworkRequest] = maybeMakeNetworkRequest(
|
|
44
44
|
environment,
|
|
@@ -15,7 +15,7 @@ export function useLazyReference<
|
|
|
15
15
|
>(
|
|
16
16
|
entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue>,
|
|
17
17
|
variables: ExtractParameters<TReadFromStore>,
|
|
18
|
-
fetchOptions?: FetchOptions
|
|
18
|
+
fetchOptions?: FetchOptions<TClientFieldValue>,
|
|
19
19
|
): {
|
|
20
20
|
fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>;
|
|
21
21
|
} {
|