@isograph/react 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-compile-libs.log +5 -0
- package/dist/core/FragmentReference.d.ts +5 -5
- package/dist/core/FragmentReference.d.ts.map +1 -1
- package/dist/core/IsographEnvironment.d.ts +14 -9
- package/dist/core/IsographEnvironment.d.ts.map +1 -1
- package/dist/core/PromiseWrapper.d.ts +4 -4
- package/dist/core/PromiseWrapper.d.ts.map +1 -1
- package/dist/core/PromiseWrapper.js +2 -9
- package/dist/core/areEqualWithDeepComparison.d.ts +1 -3
- package/dist/core/areEqualWithDeepComparison.d.ts.map +1 -1
- package/dist/core/areEqualWithDeepComparison.js +0 -2
- package/dist/core/brand.d.ts +2 -0
- package/dist/core/brand.d.ts.map +1 -0
- package/dist/core/brand.js +2 -0
- package/dist/core/cache.d.ts +7 -6
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/cache.js +46 -28
- package/dist/core/check.d.ts +3 -3
- package/dist/core/check.d.ts.map +1 -1
- package/dist/core/componentCache.d.ts.map +1 -1
- package/dist/core/componentCache.js +1 -1
- package/dist/core/entrypoint.d.ts +20 -2
- package/dist/core/entrypoint.d.ts.map +1 -1
- package/dist/core/garbageCollection.d.ts +2 -2
- package/dist/core/garbageCollection.d.ts.map +1 -1
- package/dist/core/logging.d.ts +13 -4
- package/dist/core/logging.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.d.ts +3 -3
- package/dist/core/makeNetworkRequest.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.js +15 -15
- package/dist/core/read.d.ts +8 -8
- package/dist/core/read.d.ts.map +1 -1
- package/dist/core/read.js +98 -29
- package/dist/core/reader.d.ts +12 -8
- package/dist/core/reader.d.ts.map +1 -1
- package/dist/core/startUpdate.d.ts +7 -4
- package/dist/core/startUpdate.d.ts.map +1 -1
- package/dist/core/startUpdate.js +153 -5
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -1
- package/dist/loadable-hooks/useConnectionSpecPagination.js +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.js +1 -1
- package/dist/react/FragmentReader.d.ts +7 -13
- package/dist/react/FragmentReader.d.ts.map +1 -1
- package/dist/react/FragmentReader.js +3 -30
- package/dist/react/FragmentRenderer.d.ts +15 -0
- package/dist/react/FragmentRenderer.d.ts.map +1 -0
- package/dist/react/FragmentRenderer.js +35 -0
- package/dist/react/LoadableFieldReader.d.ts +12 -0
- package/dist/react/LoadableFieldReader.d.ts.map +1 -0
- package/dist/react/LoadableFieldReader.js +10 -0
- package/dist/react/LoadableFieldRenderer.d.ts +13 -0
- package/dist/react/LoadableFieldRenderer.d.ts.map +1 -0
- package/dist/react/LoadableFieldRenderer.js +37 -0
- package/dist/react/useImperativeReference.d.ts.map +1 -1
- package/dist/react/useImperativeReference.js +6 -6
- package/dist/react/useResult.d.ts.map +1 -1
- package/dist/react/useResult.js +1 -1
- package/package.json +4 -5
- package/src/core/FragmentReference.ts +16 -7
- package/src/core/IsographEnvironment.ts +19 -9
- package/src/core/PromiseWrapper.ts +13 -16
- package/src/core/areEqualWithDeepComparison.ts +5 -5
- package/src/core/brand.ts +18 -0
- package/src/core/cache.ts +50 -43
- package/src/core/check.ts +4 -4
- package/src/core/componentCache.ts +5 -1
- package/src/core/entrypoint.ts +32 -5
- package/src/core/garbageCollection.ts +3 -3
- package/src/core/logging.ts +16 -4
- package/src/core/makeNetworkRequest.ts +48 -23
- package/src/core/read.ts +153 -48
- package/src/core/reader.ts +11 -7
- package/src/core/startUpdate.ts +313 -7
- package/src/index.ts +11 -3
- package/src/loadable-hooks/useConnectionSpecPagination.ts +1 -0
- package/src/loadable-hooks/useSkipLimitPagination.ts +1 -0
- package/src/react/FragmentReader.tsx +23 -39
- package/src/react/FragmentRenderer.tsx +46 -0
- package/src/react/LoadableFieldReader.tsx +40 -0
- package/src/react/LoadableFieldRenderer.tsx +41 -0
- package/src/react/useImperativeReference.ts +9 -8
- package/src/react/useResult.ts +1 -0
- package/src/tests/__isograph/Economist/link/output_type.ts +2 -0
- package/src/tests/__isograph/Node/asEconomist/resolver_reader.ts +28 -0
- package/src/tests/__isograph/Node/link/output_type.ts +3 -0
- package/src/tests/__isograph/Query/linkedUpdate/entrypoint.ts +31 -0
- package/src/tests/__isograph/Query/linkedUpdate/normalization_ast.ts +95 -0
- package/src/tests/__isograph/Query/linkedUpdate/output_type.ts +3 -0
- package/src/tests/__isograph/Query/linkedUpdate/param_type.ts +51 -0
- package/src/tests/__isograph/Query/linkedUpdate/query_text.ts +20 -0
- package/src/tests/__isograph/Query/linkedUpdate/resolver_reader.ts +93 -0
- package/src/tests/__isograph/Query/meName/entrypoint.ts +4 -1
- package/src/tests/__isograph/Query/meName/query_text.ts +1 -1
- package/src/tests/__isograph/Query/meName/resolver_reader.ts +1 -0
- package/src/tests/__isograph/Query/meNameSuccessor/entrypoint.ts +4 -1
- package/src/tests/__isograph/Query/meNameSuccessor/query_text.ts +1 -1
- package/src/tests/__isograph/Query/meNameSuccessor/resolver_reader.ts +3 -0
- package/src/tests/__isograph/Query/nodeField/entrypoint.ts +4 -1
- package/src/tests/__isograph/Query/nodeField/query_text.ts +1 -1
- package/src/tests/__isograph/Query/nodeField/resolver_reader.ts +1 -0
- package/src/tests/__isograph/Query/startUpdate/entrypoint.ts +31 -0
- package/src/tests/__isograph/Query/startUpdate/normalization_ast.ts +51 -0
- package/src/tests/__isograph/Query/startUpdate/output_type.ts +3 -0
- package/src/tests/__isograph/Query/startUpdate/param_type.ts +26 -0
- package/src/tests/__isograph/Query/startUpdate/parameters_type.ts +3 -0
- package/src/tests/__isograph/Query/startUpdate/query_text.ts +11 -0
- package/src/tests/__isograph/Query/startUpdate/resolver_reader.ts +55 -0
- package/src/tests/__isograph/Query/subquery/entrypoint.ts +4 -1
- package/src/tests/__isograph/Query/subquery/query_text.ts +1 -1
- package/src/tests/__isograph/Query/subquery/resolver_reader.ts +2 -0
- package/src/tests/__isograph/iso.ts +21 -1
- package/src/tests/__isograph/tsconfig.json +8 -0
- package/src/tests/normalizeData.test.ts +0 -1
- package/src/tests/startUpdate.test.ts +205 -0
- package/.turbo/turbo-compile-typescript.log +0 -4
package/dist/core/logging.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { NetworkResponseObject, type EncounteredIds } from './cache';
|
|
|
3
3
|
import { CheckResult } from './check';
|
|
4
4
|
import { IsographEntrypoint, RefetchQueryNormalizationArtifact, type NormalizationAstNodes } from './entrypoint';
|
|
5
5
|
import { FragmentReference, Variables } from './FragmentReference';
|
|
6
|
-
import { IsographEnvironment, IsographStore, StoreRecord, type
|
|
6
|
+
import { IsographEnvironment, IsographStore, StoreRecord, type StoreLink } from './IsographEnvironment';
|
|
7
7
|
import { ReadDataResult } from './read';
|
|
8
8
|
import { Arguments } from './util';
|
|
9
9
|
export type LogMessage = {
|
|
@@ -24,7 +24,7 @@ export type LogMessage = {
|
|
|
24
24
|
} | {
|
|
25
25
|
kind: 'ComponentRerendered';
|
|
26
26
|
componentName: string;
|
|
27
|
-
rootLink:
|
|
27
|
+
rootLink: StoreLink;
|
|
28
28
|
} | {
|
|
29
29
|
kind: 'MakeNetworkRequest';
|
|
30
30
|
artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<any, any, any>;
|
|
@@ -40,7 +40,7 @@ export type LogMessage = {
|
|
|
40
40
|
networkRequestId: string;
|
|
41
41
|
} | {
|
|
42
42
|
kind: 'MissingFieldHandlerCalled';
|
|
43
|
-
root:
|
|
43
|
+
root: StoreLink;
|
|
44
44
|
storeRecord: StoreRecord;
|
|
45
45
|
fieldName: string;
|
|
46
46
|
arguments: Arguments | null;
|
|
@@ -49,7 +49,7 @@ export type LogMessage = {
|
|
|
49
49
|
kind: 'DoneReading';
|
|
50
50
|
response: ReadDataResult<any>;
|
|
51
51
|
fieldName: string;
|
|
52
|
-
root:
|
|
52
|
+
root: StoreLink;
|
|
53
53
|
} | {
|
|
54
54
|
kind: 'NonEntrypointReceived';
|
|
55
55
|
entrypoint: any;
|
|
@@ -58,6 +58,15 @@ export type LogMessage = {
|
|
|
58
58
|
result: CheckResult;
|
|
59
59
|
} | {
|
|
60
60
|
kind: 'EnvironmentCreated';
|
|
61
|
+
} | {
|
|
62
|
+
kind: 'StartUpdateError';
|
|
63
|
+
error: any;
|
|
64
|
+
} | {
|
|
65
|
+
kind: 'StartUpdateComplete';
|
|
66
|
+
updatedIds: EncounteredIds;
|
|
67
|
+
} | {
|
|
68
|
+
kind: 'ErrorEncounteredInWithErrorHandling';
|
|
69
|
+
error: any;
|
|
61
70
|
};
|
|
62
71
|
export type LogFunction = (logMessage: LogMessage) => void;
|
|
63
72
|
export type WrappedLogFunction = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/core/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,iCAAiC,EACjC,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,KAAK,
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/core/logging.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ItemCleanupPair } from '@isograph/disposable-types';
|
|
2
2
|
import { FetchOptions } from './check';
|
|
3
|
-
import { IsographEntrypoint, RefetchQueryNormalizationArtifact, type NormalizationAst, type NormalizationAstLoader } from './entrypoint';
|
|
3
|
+
import { IsographEntrypoint, ReaderWithRefetchQueries, RefetchQueryNormalizationArtifact, type NormalizationAst, type NormalizationAstLoader } from './entrypoint';
|
|
4
4
|
import { ExtractParameters, type UnknownTReadFromStore } from './FragmentReference';
|
|
5
5
|
import { IsographEnvironment } from './IsographEnvironment';
|
|
6
6
|
import { AnyError, PromiseWrapper } from './PromiseWrapper';
|
|
7
|
-
export declare function maybeMakeNetworkRequest<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(environment: IsographEnvironment, artifact:
|
|
8
|
-
export declare function makeNetworkRequest<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(environment: IsographEnvironment, artifact:
|
|
7
|
+
export declare function maybeMakeNetworkRequest<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TArtifact extends RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(environment: IsographEnvironment, artifact: TArtifact, variables: ExtractParameters<TReadFromStore>, readerWithRefetchQueries: PromiseWrapper<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>> | null, fetchOptions: FetchOptions<TClientFieldValue> | null): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
|
|
8
|
+
export declare function makeNetworkRequest<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TArtifact extends RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(environment: IsographEnvironment, artifact: TArtifact, variables: ExtractParameters<TReadFromStore>, readerWithRefetchQueries: PromiseWrapper<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>> | null, fetchOptions: FetchOptions<TClientFieldValue> | null): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
|
|
9
9
|
//# 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;AAE7D,OAAO,EAAqC,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1E,OAAO,EACL,kBAAkB,EAClB,iCAAiC,EACjC,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EAEjB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"makeNetworkRequest.d.ts","sourceRoot":"","sources":["../../src/core/makeNetworkRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAqC,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1E,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iCAAiC,EACjC,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EAEjB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,mBAAmB,EAAsB,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EACL,QAAQ,EACR,cAAc,EAGf,MAAM,kBAAkB,CAAC;AAM1B,wBAAgB,uBAAuB,CACrC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,SAAS,SACL,iCAAiC,GACjC,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAC5E,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EAEnE,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,wBAAwB,EAAE,cAAc,CACtC,wBAAwB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAC5D,GAAG,IAAI,EACR,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,IAAI,GACnD,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CA8CjD;AAeD,wBAAgB,kBAAkB,CAChC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,SAAS,SACL,iCAAiC,GACjC,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAC5E,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EAEnE,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,wBAAwB,EAAE,cAAc,CACtC,wBAAwB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAC5D,GAAG,IAAI,EACR,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,IAAI,GACnD,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAgHjD"}
|
|
@@ -12,11 +12,11 @@ const PromiseWrapper_1 = require("./PromiseWrapper");
|
|
|
12
12
|
const read_1 = require("./read");
|
|
13
13
|
const startUpdate_1 = require("./startUpdate");
|
|
14
14
|
let networkRequestId = 0;
|
|
15
|
-
function maybeMakeNetworkRequest(environment, artifact, variables, fetchOptions) {
|
|
15
|
+
function maybeMakeNetworkRequest(environment, artifact, variables, readerWithRefetchQueries, fetchOptions) {
|
|
16
16
|
var _a;
|
|
17
17
|
switch ((_a = fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.shouldFetch) !== null && _a !== void 0 ? _a : check_1.DEFAULT_SHOULD_FETCH_VALUE) {
|
|
18
18
|
case 'Yes': {
|
|
19
|
-
return makeNetworkRequest(environment, artifact, variables, fetchOptions);
|
|
19
|
+
return makeNetworkRequest(environment, artifact, variables, readerWithRefetchQueries, fetchOptions);
|
|
20
20
|
}
|
|
21
21
|
case 'No': {
|
|
22
22
|
return [(0, PromiseWrapper_1.wrapResolvedValue)(undefined), () => { }];
|
|
@@ -34,7 +34,7 @@ function maybeMakeNetworkRequest(environment, artifact, variables, fetchOptions)
|
|
|
34
34
|
return [(0, PromiseWrapper_1.wrapResolvedValue)(undefined), () => { }];
|
|
35
35
|
}
|
|
36
36
|
else {
|
|
37
|
-
return makeNetworkRequest(environment, artifact, variables, fetchOptions);
|
|
37
|
+
return makeNetworkRequest(environment, artifact, variables, readerWithRefetchQueries, fetchOptions);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -49,7 +49,7 @@ function loadNormalizationAst(normalizationAst) {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
|
|
52
|
+
function makeNetworkRequest(environment, artifact, variables, readerWithRefetchQueries, fetchOptions) {
|
|
53
53
|
// TODO this should be a DataId and stored in the store
|
|
54
54
|
const myNetworkRequestId = networkRequestId + '';
|
|
55
55
|
networkRequestId++;
|
|
@@ -64,10 +64,11 @@ function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
|
|
|
64
64
|
};
|
|
65
65
|
// This should be an observable, not a promise
|
|
66
66
|
const promise = Promise.all([
|
|
67
|
-
environment.networkFunction(artifact.networkRequestInfo.
|
|
67
|
+
environment.networkFunction(artifact.networkRequestInfo.operation, variables),
|
|
68
68
|
loadNormalizationAst(artifact.networkRequestInfo.normalizationAst),
|
|
69
|
+
readerWithRefetchQueries === null || readerWithRefetchQueries === void 0 ? void 0 : readerWithRefetchQueries.promise,
|
|
69
70
|
])
|
|
70
|
-
.then(([networkResponse, normalizationAst]) => {
|
|
71
|
+
.then(([networkResponse, normalizationAst, readerWithRefetchQueries]) => {
|
|
71
72
|
var _a, _b;
|
|
72
73
|
(0, logging_1.logMessage)(environment, () => ({
|
|
73
74
|
kind: 'ReceivedNetworkResponse',
|
|
@@ -85,9 +86,7 @@ function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
|
|
|
85
86
|
}
|
|
86
87
|
const root = { __link: IsographEnvironment_1.ROOT_ID, __typename: artifact.concreteType };
|
|
87
88
|
if (status.kind === 'UndisposedIncomplete') {
|
|
88
|
-
(0, cache_1.normalizeData)(environment, normalizationAst.selections, (_b = networkResponse.data) !== null && _b !== void 0 ? _b : {}, variables,
|
|
89
|
-
? artifact.readerWithRefetchQueries.nestedRefetchQueries
|
|
90
|
-
: [], root);
|
|
89
|
+
(0, cache_1.normalizeData)(environment, normalizationAst.selections, (_b = networkResponse.data) !== null && _b !== void 0 ? _b : {}, variables, root);
|
|
91
90
|
const retainedQuery = {
|
|
92
91
|
normalizationAst: normalizationAst.selections,
|
|
93
92
|
variables,
|
|
@@ -101,7 +100,7 @@ function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
|
|
|
101
100
|
}
|
|
102
101
|
const onComplete = fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.onComplete;
|
|
103
102
|
if (onComplete != null) {
|
|
104
|
-
let data = readDataForOnComplete(artifact, environment, root, variables);
|
|
103
|
+
let data = readDataForOnComplete(artifact, environment, root, variables, readerWithRefetchQueries);
|
|
105
104
|
try {
|
|
106
105
|
// @ts-expect-error this problem will be fixed when we remove RefetchQueryNormalizationArtifact
|
|
107
106
|
// (or we can fix this by having a single param of type { kind: 'Entrypoint', entrypoint,
|
|
@@ -142,7 +141,7 @@ function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
|
|
|
142
141
|
];
|
|
143
142
|
return response;
|
|
144
143
|
}
|
|
145
|
-
function readDataForOnComplete(artifact, environment, root, variables) {
|
|
144
|
+
function readDataForOnComplete(artifact, environment, root, variables, readerWithRefetchQueries) {
|
|
146
145
|
// An entrypoint, but not a RefetchQueryNormalizationArtifact, has a reader ASTs.
|
|
147
146
|
// So, we can only pass data to onComplete if makeNetworkRequest was passed an entrypoint.
|
|
148
147
|
// This is awkward, since we don't express that in the types of the parameters
|
|
@@ -158,16 +157,17 @@ function readDataForOnComplete(artifact, environment, root, variables) {
|
|
|
158
157
|
suspendIfInFlight: false,
|
|
159
158
|
throwOnNetworkError: false,
|
|
160
159
|
};
|
|
160
|
+
const resolvedReaderWithRefetchQueries = readerWithRefetchQueries;
|
|
161
161
|
const fragment = {
|
|
162
162
|
kind: 'FragmentReference',
|
|
163
163
|
// TODO this smells.
|
|
164
|
-
readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)(
|
|
164
|
+
readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)(resolvedReaderWithRefetchQueries),
|
|
165
165
|
root,
|
|
166
166
|
variables,
|
|
167
167
|
networkRequest: fakeNetworkRequest,
|
|
168
168
|
};
|
|
169
169
|
const fragmentResult = (0, read_1.readButDoNotEvaluate)(environment, fragment, fakeNetworkRequestOptions).item;
|
|
170
|
-
const readerArtifact =
|
|
170
|
+
const readerArtifact = resolvedReaderWithRefetchQueries.readerArtifact;
|
|
171
171
|
switch (readerArtifact.kind) {
|
|
172
172
|
case 'ComponentReaderArtifact': {
|
|
173
173
|
// @ts-expect-error We should find a way to encode this in the type system:
|
|
@@ -178,7 +178,7 @@ function readDataForOnComplete(artifact, environment, root, variables) {
|
|
|
178
178
|
readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)({
|
|
179
179
|
kind: 'ReaderWithRefetchQueries',
|
|
180
180
|
readerArtifact: readerArtifact,
|
|
181
|
-
nestedRefetchQueries:
|
|
181
|
+
nestedRefetchQueries: resolvedReaderWithRefetchQueries.nestedRefetchQueries,
|
|
182
182
|
}),
|
|
183
183
|
root,
|
|
184
184
|
variables,
|
|
@@ -188,7 +188,7 @@ function readDataForOnComplete(artifact, environment, root, variables) {
|
|
|
188
188
|
case 'EagerReaderArtifact': {
|
|
189
189
|
return readerArtifact.resolver(Object.assign({ data: fragmentResult, parameters: variables }, (readerArtifact.hasUpdatable
|
|
190
190
|
? {
|
|
191
|
-
startUpdate: (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragment,
|
|
191
|
+
startUpdate: (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragment, resolvedReaderWithRefetchQueries.readerArtifact.fieldName, fakeNetworkRequestOptions),
|
|
192
192
|
}
|
|
193
193
|
: undefined)));
|
|
194
194
|
}
|
package/dist/core/read.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type EncounteredIds } from './cache';
|
|
2
2
|
import { RefetchQueryNormalizationArtifactWrapper } from './entrypoint';
|
|
3
3
|
import { ExtractData, FragmentReference, Variables, type UnknownTReadFromStore } from './FragmentReference';
|
|
4
|
-
import { IsographEnvironment, type DataTypeValue, type
|
|
4
|
+
import { IsographEnvironment, type DataTypeValue, type StoreLink, type StoreRecord } from './IsographEnvironment';
|
|
5
5
|
import { PromiseWrapper } from './PromiseWrapper';
|
|
6
|
-
import { ReaderAst, type
|
|
6
|
+
import { ReaderAst, type LoadablySelectedField, type ReaderImperativelyLoadedField, type ReaderLinkedField, type ReaderNonLoadableResolverField, type ReaderScalarField } from './reader';
|
|
7
7
|
export type WithEncounteredRecords<T> = {
|
|
8
8
|
readonly encounteredRecords: EncounteredIds;
|
|
9
9
|
readonly item: ExtractData<T>;
|
|
@@ -17,16 +17,16 @@ export type ReadDataResult<Data> = ReadDataResultSuccess<Data> | {
|
|
|
17
17
|
readonly kind: 'MissingData';
|
|
18
18
|
readonly reason: string;
|
|
19
19
|
readonly nestedReason?: ReadDataResult<unknown>;
|
|
20
|
-
readonly recordLink:
|
|
20
|
+
readonly recordLink: StoreLink;
|
|
21
21
|
};
|
|
22
|
-
export declare function readLoadablySelectedFieldData(environment: IsographEnvironment, field:
|
|
23
|
-
export declare function readResolverFieldData(environment: IsographEnvironment, field: ReaderNonLoadableResolverField, root:
|
|
24
|
-
export declare function readScalarFieldData(field: ReaderScalarField, storeRecord: StoreRecord, root:
|
|
25
|
-
export declare function readLinkedFieldData(environment: IsographEnvironment, field: ReaderLinkedField, storeRecord: StoreRecord, root:
|
|
22
|
+
export declare function readLoadablySelectedFieldData(environment: IsographEnvironment, field: LoadablySelectedField, root: StoreLink, variables: Variables, networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions, mutableEncounteredRecords: EncounteredIds): ReadDataResult<unknown>;
|
|
23
|
+
export declare function readResolverFieldData(environment: IsographEnvironment, field: ReaderNonLoadableResolverField, root: StoreLink, variables: Variables, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[], networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions, mutableEncounteredRecords: EncounteredIds): ReadDataResult<unknown>;
|
|
24
|
+
export declare function readScalarFieldData(field: ReaderScalarField, storeRecord: StoreRecord, root: StoreLink, variables: Variables): ReadDataResult<string | number | boolean | StoreLink | DataTypeValue[] | null>;
|
|
25
|
+
export declare function readLinkedFieldData(environment: IsographEnvironment, field: ReaderLinkedField, storeRecord: StoreRecord, root: StoreLink, variables: Variables, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[], networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions, readData: <TReadFromStore>(ast: ReaderAst<TReadFromStore>, root: StoreLink) => ReadDataResult<object>): ReadDataResult<unknown>;
|
|
26
26
|
export type NetworkRequestReaderOptions = {
|
|
27
27
|
suspendIfInFlight: boolean;
|
|
28
28
|
throwOnNetworkError: boolean;
|
|
29
29
|
};
|
|
30
30
|
export declare function getNetworkRequestOptionsWithDefaults(networkRequestOptions?: Partial<NetworkRequestReaderOptions> | void): NetworkRequestReaderOptions;
|
|
31
|
-
export declare function readImperativelyLoadedField(environment: IsographEnvironment, field: ReaderImperativelyLoadedField, root:
|
|
31
|
+
export declare function readImperativelyLoadedField(environment: IsographEnvironment, field: ReaderImperativelyLoadedField, root: StoreLink, variables: Variables, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[], networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions, mutableEncounteredRecords: EncounteredIds): ReadDataResult<unknown>;
|
|
32
32
|
//# sourceMappingURL=read.d.ts.map
|
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":"AACA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAEL,wCAAwC,EAEzC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/core/read.ts"],"names":[],"mappings":"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"}
|
package/dist/core/read.js
CHANGED
|
@@ -43,9 +43,8 @@ function readButDoNotEvaluate(environment, fragmentReference, networkRequestOpti
|
|
|
43
43
|
// in the browser. However, during initial SSR on NextJS, throwing a rejected
|
|
44
44
|
// promise results in an infinite loop (including re-issuing the query until the
|
|
45
45
|
// process OOM's or something.) Hence, we throw an error.
|
|
46
|
-
// TODO investigate why we cannot check against NOT_SET here and we have to cast
|
|
47
46
|
const result = fragmentReference.networkRequest.result;
|
|
48
|
-
if (result.kind === 'Err') {
|
|
47
|
+
if (result !== PromiseWrapper_1.NOT_SET && result.kind === 'Err') {
|
|
49
48
|
throw new Error('NetworkError', { cause: result.error });
|
|
50
49
|
}
|
|
51
50
|
throw new Promise((resolve, reject) => {
|
|
@@ -64,7 +63,7 @@ function readButDoNotEvaluate(environment, fragmentReference, networkRequestOpti
|
|
|
64
63
|
}
|
|
65
64
|
function readData(environment, ast, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, mutableEncounteredRecords) {
|
|
66
65
|
var _a, _b, _c;
|
|
67
|
-
const encounteredIds = (0, cache_1.
|
|
66
|
+
const encounteredIds = (0, cache_1.insertEmptySetIfMissing)(mutableEncounteredRecords, root.__typename);
|
|
68
67
|
encounteredIds.add(root.__link);
|
|
69
68
|
let storeRecord = (_a = environment.store[root.__typename]) === null || _a === void 0 ? void 0 : _a[root.__link];
|
|
70
69
|
if (storeRecord === undefined) {
|
|
@@ -96,7 +95,7 @@ function readData(environment, ast, root, variables, nestedRefetchQueries, netwo
|
|
|
96
95
|
break;
|
|
97
96
|
}
|
|
98
97
|
case 'Linked': {
|
|
99
|
-
const data = readLinkedFieldData(environment, field, storeRecord, root, variables, networkRequest, (ast, root) => readData(environment, ast, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, mutableEncounteredRecords));
|
|
98
|
+
const data = readLinkedFieldData(environment, field, storeRecord, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, (ast, root) => readData(environment, ast, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, mutableEncounteredRecords));
|
|
100
99
|
if (data.kind === 'MissingData') {
|
|
101
100
|
return data;
|
|
102
101
|
}
|
|
@@ -176,14 +175,14 @@ function readLoadablySelectedFieldData(environment, field, root, variables, netw
|
|
|
176
175
|
// Fetcher
|
|
177
176
|
() => {
|
|
178
177
|
const fragmentReferenceAndDisposeFromEntrypoint = (entrypoint) => {
|
|
179
|
-
const
|
|
178
|
+
const readerWithRefetchQueries = entrypoint.readerWithRefetchQueries.kind ===
|
|
179
|
+
'ReaderWithRefetchQueriesLoader'
|
|
180
|
+
? (0, PromiseWrapper_1.wrapPromise)(entrypoint.readerWithRefetchQueries.loader())
|
|
181
|
+
: (0, PromiseWrapper_1.wrapResolvedValue)(entrypoint.readerWithRefetchQueries);
|
|
182
|
+
const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, entrypoint, localVariables, readerWithRefetchQueries, fetchOptions !== null && fetchOptions !== void 0 ? fetchOptions : null);
|
|
180
183
|
const fragmentReference = {
|
|
181
184
|
kind: 'FragmentReference',
|
|
182
|
-
readerWithRefetchQueries
|
|
183
|
-
kind: 'ReaderWithRefetchQueries',
|
|
184
|
-
readerArtifact: entrypoint.readerWithRefetchQueries.readerArtifact,
|
|
185
|
-
nestedRefetchQueries: entrypoint.readerWithRefetchQueries.nestedRefetchQueries,
|
|
186
|
-
}),
|
|
185
|
+
readerWithRefetchQueries,
|
|
187
186
|
// TODO localVariables is not guaranteed to have an id field
|
|
188
187
|
root,
|
|
189
188
|
variables: localVariables,
|
|
@@ -203,9 +202,13 @@ function readLoadablySelectedFieldData(environment, field, root, variables, netw
|
|
|
203
202
|
else {
|
|
204
203
|
// Promise is pending or thrown
|
|
205
204
|
let entrypointLoaderState = { kind: 'EntrypointNotLoaded' };
|
|
205
|
+
const readerWithRefetchQueries = (0, PromiseWrapper_1.wrapPromise)(isographArtifactPromiseWrapper.promise.then((entrypoint) => entrypoint.readerWithRefetchQueries.kind ===
|
|
206
|
+
'ReaderWithRefetchQueriesLoader'
|
|
207
|
+
? entrypoint.readerWithRefetchQueries.loader()
|
|
208
|
+
: entrypoint.readerWithRefetchQueries));
|
|
206
209
|
const networkRequest = (0, PromiseWrapper_1.wrapPromise)(isographArtifactPromiseWrapper.promise.then((entrypoint) => {
|
|
207
210
|
if (entrypointLoaderState.kind === 'EntrypointNotLoaded') {
|
|
208
|
-
const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, entrypoint, localVariables, fetchOptions);
|
|
211
|
+
const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, entrypoint, localVariables, readerWithRefetchQueries, fetchOptions !== null && fetchOptions !== void 0 ? fetchOptions : null);
|
|
209
212
|
entrypointLoaderState = {
|
|
210
213
|
kind: 'NetworkRequestStarted',
|
|
211
214
|
disposeNetworkRequest,
|
|
@@ -213,10 +216,9 @@ function readLoadablySelectedFieldData(environment, field, root, variables, netw
|
|
|
213
216
|
return networkRequest.promise;
|
|
214
217
|
}
|
|
215
218
|
}));
|
|
216
|
-
const readerWithRefetchPromise = isographArtifactPromiseWrapper.promise.then((entrypoint) => entrypoint.readerWithRefetchQueries);
|
|
217
219
|
const fragmentReference = {
|
|
218
220
|
kind: 'FragmentReference',
|
|
219
|
-
readerWithRefetchQueries
|
|
221
|
+
readerWithRefetchQueries,
|
|
220
222
|
// TODO localVariables is not guaranteed to have an id field
|
|
221
223
|
root,
|
|
222
224
|
variables: localVariables,
|
|
@@ -339,7 +341,7 @@ function readResolverFieldData(environment, field, root, variables, nestedRefetc
|
|
|
339
341
|
data: data.data,
|
|
340
342
|
parameters: variables,
|
|
341
343
|
startUpdate: field.readerArtifact.hasUpdatable
|
|
342
|
-
? (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragment, readerWithRefetchQueries.readerArtifact.fieldName)
|
|
344
|
+
? (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragment, readerWithRefetchQueries.readerArtifact.fieldName, networkRequestOptions)
|
|
343
345
|
: undefined,
|
|
344
346
|
};
|
|
345
347
|
return {
|
|
@@ -374,7 +376,7 @@ function readScalarFieldData(field, storeRecord, root, variables) {
|
|
|
374
376
|
}
|
|
375
377
|
return { kind: 'Success', data: value };
|
|
376
378
|
}
|
|
377
|
-
function readLinkedFieldData(environment, field, storeRecord, root, variables, networkRequest, readData) {
|
|
379
|
+
function readLinkedFieldData(environment, field, storeRecord, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, readData) {
|
|
378
380
|
const storeRecordName = (0, cache_1.getParentRecordKey)(field, variables);
|
|
379
381
|
const value = storeRecord[storeRecordName];
|
|
380
382
|
if (Array.isArray(value)) {
|
|
@@ -443,25 +445,17 @@ function readLinkedFieldData(environment, field, storeRecord, root, variables, n
|
|
|
443
445
|
root,
|
|
444
446
|
variables: generateChildVariableMap(variables,
|
|
445
447
|
// TODO this is wrong
|
|
446
|
-
// should use field.
|
|
448
|
+
// should use field.arguments
|
|
447
449
|
// but it doesn't exist
|
|
448
450
|
[]),
|
|
449
451
|
networkRequest,
|
|
450
452
|
};
|
|
451
453
|
const condition = field.condition.resolver(Object.assign({ data: data.data, parameters: {} }, (field.condition.hasUpdatable
|
|
452
454
|
? {
|
|
453
|
-
startUpdate: (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragment, readerWithRefetchQueries.readerArtifact.fieldName),
|
|
455
|
+
startUpdate: (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragment, readerWithRefetchQueries.readerArtifact.fieldName, networkRequestOptions),
|
|
454
456
|
}
|
|
455
457
|
: undefined)));
|
|
456
|
-
|
|
457
|
-
link = root;
|
|
458
|
-
}
|
|
459
|
-
else if (condition === false) {
|
|
460
|
-
link = null;
|
|
461
|
-
}
|
|
462
|
-
else {
|
|
463
|
-
link = condition;
|
|
464
|
-
}
|
|
458
|
+
link = condition;
|
|
465
459
|
}
|
|
466
460
|
if (link === undefined) {
|
|
467
461
|
// TODO make this configurable, and also generated and derived from the schema
|
|
@@ -498,6 +492,81 @@ function readLinkedFieldData(environment, field, storeRecord, root, variables, n
|
|
|
498
492
|
};
|
|
499
493
|
}
|
|
500
494
|
const targetId = link;
|
|
495
|
+
const { refetchQueryIndex } = field;
|
|
496
|
+
if (refetchQueryIndex != null) {
|
|
497
|
+
// if field.refetchQueryIndex is not null, then the field is a client pointer, i.e.
|
|
498
|
+
// it is like a loadable field that returns the selections.
|
|
499
|
+
const refetchReaderParams = readData([
|
|
500
|
+
{
|
|
501
|
+
kind: 'Scalar',
|
|
502
|
+
fieldName: 'id',
|
|
503
|
+
alias: null,
|
|
504
|
+
arguments: null,
|
|
505
|
+
isUpdatable: false,
|
|
506
|
+
},
|
|
507
|
+
], targetId);
|
|
508
|
+
if (refetchReaderParams.kind === 'MissingData') {
|
|
509
|
+
return {
|
|
510
|
+
kind: 'MissingData',
|
|
511
|
+
reason: 'Missing data for ' + field.alias + ' on root ' + targetId.__link,
|
|
512
|
+
nestedReason: refetchReaderParams,
|
|
513
|
+
recordLink: refetchReaderParams.recordLink,
|
|
514
|
+
};
|
|
515
|
+
}
|
|
516
|
+
const refetchQuery = nestedRefetchQueries[refetchQueryIndex];
|
|
517
|
+
if (refetchQuery == null) {
|
|
518
|
+
throw new Error('refetchQuery is null in RefetchField. This is indicative of a bug in Isograph.');
|
|
519
|
+
}
|
|
520
|
+
const refetchQueryArtifact = refetchQuery.artifact;
|
|
521
|
+
const allowedVariables = refetchQuery.allowedVariables;
|
|
522
|
+
return {
|
|
523
|
+
kind: 'Success',
|
|
524
|
+
data: (args,
|
|
525
|
+
// TODO get the associated type for FetchOptions from the loadably selected field
|
|
526
|
+
fetchOptions) => {
|
|
527
|
+
const includeReadOutData = (variables, readOutData) => {
|
|
528
|
+
variables.id = readOutData.id;
|
|
529
|
+
return variables;
|
|
530
|
+
};
|
|
531
|
+
const localVariables = includeReadOutData(args !== null && args !== void 0 ? args : {}, refetchReaderParams.data);
|
|
532
|
+
writeQueryArgsToVariables(localVariables, field.arguments, variables);
|
|
533
|
+
return [
|
|
534
|
+
// Stable id
|
|
535
|
+
targetId.__typename +
|
|
536
|
+
':' +
|
|
537
|
+
targetId.__link +
|
|
538
|
+
'/' +
|
|
539
|
+
field.fieldName +
|
|
540
|
+
'/' +
|
|
541
|
+
stableStringifyArgs(localVariables),
|
|
542
|
+
// Fetcher
|
|
543
|
+
() => {
|
|
544
|
+
const variables = includeReadOutData(filterVariables(Object.assign(Object.assign({}, args), localVariables), allowedVariables), refetchReaderParams.data);
|
|
545
|
+
const readerWithRefetchQueries = (0, PromiseWrapper_1.wrapResolvedValue)({
|
|
546
|
+
kind: 'ReaderWithRefetchQueries',
|
|
547
|
+
readerArtifact: {
|
|
548
|
+
kind: 'EagerReaderArtifact',
|
|
549
|
+
fieldName: field.fieldName,
|
|
550
|
+
readerAst: field.selections,
|
|
551
|
+
resolver: ({ data }) => data,
|
|
552
|
+
hasUpdatable: false,
|
|
553
|
+
},
|
|
554
|
+
nestedRefetchQueries,
|
|
555
|
+
});
|
|
556
|
+
const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, refetchQueryArtifact, variables, readerWithRefetchQueries, fetchOptions !== null && fetchOptions !== void 0 ? fetchOptions : null);
|
|
557
|
+
const fragmentReference = {
|
|
558
|
+
kind: 'FragmentReference',
|
|
559
|
+
readerWithRefetchQueries: readerWithRefetchQueries,
|
|
560
|
+
root: targetId,
|
|
561
|
+
variables,
|
|
562
|
+
networkRequest,
|
|
563
|
+
};
|
|
564
|
+
return [fragmentReference, disposeNetworkRequest];
|
|
565
|
+
},
|
|
566
|
+
];
|
|
567
|
+
},
|
|
568
|
+
};
|
|
569
|
+
}
|
|
501
570
|
const data = readData(field.selections, targetId);
|
|
502
571
|
if (data.kind === 'MissingData') {
|
|
503
572
|
return {
|
|
@@ -548,10 +617,10 @@ function readImperativelyLoadedField(environment, field, root, variables, nested
|
|
|
548
617
|
};
|
|
549
618
|
}
|
|
550
619
|
else {
|
|
551
|
-
const refetchQueryIndex = field
|
|
620
|
+
const { refetchQueryIndex } = field;
|
|
552
621
|
const refetchQuery = nestedRefetchQueries[refetchQueryIndex];
|
|
553
622
|
if (refetchQuery == null) {
|
|
554
|
-
throw new Error('
|
|
623
|
+
throw new Error('Refetch query not found. This is indicative of a bug in Isograph.');
|
|
555
624
|
}
|
|
556
625
|
const refetchQueryArtifact = refetchQuery.artifact;
|
|
557
626
|
const allowedVariables = refetchQuery.allowedVariables;
|
|
@@ -561,7 +630,7 @@ function readImperativelyLoadedField(environment, field, root, variables, nested
|
|
|
561
630
|
kind: 'Success',
|
|
562
631
|
data: (args) => [
|
|
563
632
|
// Stable id
|
|
564
|
-
root.__link + '__' + field.name,
|
|
633
|
+
root.__typename + ':' + root.__link + '__' + field.name,
|
|
565
634
|
// Fetcher
|
|
566
635
|
field.refetchReaderArtifact.resolver(environment, refetchQueryArtifact, data.data, filterVariables(Object.assign(Object.assign({}, args), variables), allowedVariables), root,
|
|
567
636
|
// TODO these params should be removed
|
package/dist/core/reader.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Factory } from '@isograph/disposable-types';
|
|
|
2
2
|
import { FetchOptions } from './check';
|
|
3
3
|
import { IsographEntrypoint, IsographEntrypointLoader, RefetchQueryNormalizationArtifact, RefetchQueryNormalizationArtifactWrapper } from './entrypoint';
|
|
4
4
|
import { ExtractParameters, FragmentReference, type UnknownTReadFromStore } from './FragmentReference';
|
|
5
|
-
import { ComponentOrFieldName, IsographEnvironment, type
|
|
5
|
+
import { ComponentOrFieldName, IsographEnvironment, type StoreLink } from './IsographEnvironment';
|
|
6
6
|
import { Arguments } from './util';
|
|
7
7
|
export type TopLevelReaderArtifact<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TComponentProps extends Record<PropertyKey, never>> = EagerReaderArtifact<TReadFromStore, TClientFieldValue> | ComponentReaderArtifact<TReadFromStore, TComponentProps>;
|
|
8
8
|
export type EagerReaderArtifact<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
|
|
@@ -24,9 +24,9 @@ export type StartUpdate<UpdatableData> = (updater: (updatableData: UpdatableData
|
|
|
24
24
|
export type RefetchReaderArtifact = {
|
|
25
25
|
readonly kind: 'RefetchReaderArtifact';
|
|
26
26
|
readonly readerAst: ReaderAst<unknown>;
|
|
27
|
-
readonly resolver: (environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact, variables: any, filteredVariables: any, rootLink:
|
|
27
|
+
readonly resolver: (environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact, variables: any, filteredVariables: any, rootLink: StoreLink, readerArtifact: TopLevelReaderArtifact<any, any, any> | null, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[]) => () => void;
|
|
28
28
|
};
|
|
29
|
-
export type ReaderAstNode = ReaderScalarField | ReaderLinkedField | ReaderNonLoadableResolverField | ReaderImperativelyLoadedField |
|
|
29
|
+
export type ReaderAstNode = ReaderScalarField | ReaderLinkedField | ReaderNonLoadableResolverField | ReaderImperativelyLoadedField | LoadablySelectedField | ReaderLinkField;
|
|
30
30
|
export type ReaderAst<TReadFromStore> = ReadonlyArray<ReaderAstNode>;
|
|
31
31
|
export type ReaderScalarField = {
|
|
32
32
|
readonly kind: 'Scalar';
|
|
@@ -46,11 +46,15 @@ export type ReaderLinkedField = {
|
|
|
46
46
|
readonly selections: ReaderAst<unknown>;
|
|
47
47
|
readonly arguments: Arguments | null;
|
|
48
48
|
readonly condition: EagerReaderArtifact<{
|
|
49
|
-
data:
|
|
49
|
+
data: any;
|
|
50
50
|
parameters: any;
|
|
51
|
-
startUpdate?: StartUpdate<
|
|
52
|
-
},
|
|
51
|
+
startUpdate?: StartUpdate<any>;
|
|
52
|
+
}, StoreLink | null> | null;
|
|
53
53
|
readonly isUpdatable: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* If refetchQueryIndex != null, then the linked field is a client pointer.
|
|
56
|
+
*/
|
|
57
|
+
readonly refetchQueryIndex: number | null;
|
|
54
58
|
};
|
|
55
59
|
export type ReaderNonLoadableResolverField = {
|
|
56
60
|
readonly kind: 'Resolver';
|
|
@@ -63,10 +67,10 @@ export type ReaderImperativelyLoadedField = {
|
|
|
63
67
|
readonly kind: 'ImperativelyLoadedField';
|
|
64
68
|
readonly alias: string;
|
|
65
69
|
readonly refetchReaderArtifact: RefetchReaderArtifact;
|
|
66
|
-
readonly
|
|
70
|
+
readonly refetchQueryIndex: number;
|
|
67
71
|
readonly name: string;
|
|
68
72
|
};
|
|
69
|
-
export type
|
|
73
|
+
export type LoadablySelectedField = {
|
|
70
74
|
readonly kind: 'LoadablySelectedField';
|
|
71
75
|
readonly alias: string;
|
|
72
76
|
readonly name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/core/reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iCAAiC,EACjC,wCAAwC,EACzC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/core/reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import type
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { type EncounteredIds } from './cache';
|
|
2
|
+
import { type ExtractStartUpdate, type ExtractUpdatableData, type FragmentReference, type UnknownTReadFromStore } from './FragmentReference';
|
|
3
|
+
import { type IsographEnvironment } from './IsographEnvironment';
|
|
4
|
+
import { type NetworkRequestReaderOptions } from './read';
|
|
5
|
+
export declare function getOrCreateCachedStartUpdate<TReadFromStore extends UnknownTReadFromStore>(environment: IsographEnvironment, fragmentReference: FragmentReference<TReadFromStore, unknown>, eagerResolverName: string, networkRequestOptions: NetworkRequestReaderOptions): ExtractStartUpdate<TReadFromStore>;
|
|
6
|
+
export declare function createStartUpdate<TReadFromStore extends UnknownTReadFromStore>(environment: IsographEnvironment, fragmentReference: FragmentReference<TReadFromStore, unknown>, networkRequestOptions: NetworkRequestReaderOptions): ExtractStartUpdate<TReadFromStore>;
|
|
7
|
+
export declare function createUpdatableProxy<TReadFromStore extends UnknownTReadFromStore>(environment: IsographEnvironment, fragmentReference: FragmentReference<TReadFromStore, unknown>, networkRequestOptions: NetworkRequestReaderOptions, mutableUpdatedIds: EncounteredIds): ExtractUpdatableData<TReadFromStore>;
|
|
5
8
|
//# sourceMappingURL=startUpdate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startUpdate.d.ts","sourceRoot":"","sources":["../../src/core/startUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"startUpdate.d.ts","sourceRoot":"","sources":["../../src/core/startUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAML,KAAK,2BAA2B,EAEjC,MAAM,QAAQ,CAAC;AAGhB,wBAAgB,4BAA4B,CAC1C,cAAc,SAAS,qBAAqB,EAE5C,WAAW,EAAE,mBAAmB,EAChC,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,EAC7D,iBAAiB,EAAE,MAAM,EACzB,qBAAqB,EAAE,2BAA2B,GACjD,kBAAkB,CAAC,cAAc,CAAC,CAQpC;AAED,wBAAgB,iBAAiB,CAAC,cAAc,SAAS,qBAAqB,EAC5E,WAAW,EAAE,mBAAmB,EAChC,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,EAC7D,qBAAqB,EAAE,2BAA2B,GACjD,kBAAkB,CAAC,cAAc,CAAC,CA2BpC;AAED,wBAAgB,oBAAoB,CAClC,cAAc,SAAS,qBAAqB,EAE5C,WAAW,EAAE,mBAAmB,EAChC,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,EAC7D,qBAAqB,EAAE,2BAA2B,EAClD,iBAAiB,EAAE,cAAc,GAChC,oBAAoB,CAAC,cAAc,CAAC,CAkBtC"}
|