@isograph/react 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/.turbo/turbo-compile-typescript.log +4 -0
  2. package/dist/core/FragmentReference.d.ts +25 -6
  3. package/dist/core/FragmentReference.d.ts.map +1 -0
  4. package/dist/core/FragmentReference.js +3 -13
  5. package/dist/core/IsographEnvironment.d.ts +34 -26
  6. package/dist/core/IsographEnvironment.d.ts.map +1 -0
  7. package/dist/core/IsographEnvironment.js +19 -22
  8. package/dist/core/PromiseWrapper.d.ts +4 -4
  9. package/dist/core/PromiseWrapper.d.ts.map +1 -0
  10. package/dist/core/PromiseWrapper.js +9 -9
  11. package/dist/core/areEqualWithDeepComparison.d.ts +5 -3
  12. package/dist/core/areEqualWithDeepComparison.d.ts.map +1 -0
  13. package/dist/core/areEqualWithDeepComparison.js +89 -39
  14. package/dist/core/cache.d.ts +20 -13
  15. package/dist/core/cache.d.ts.map +1 -0
  16. package/dist/core/cache.js +205 -128
  17. package/dist/core/check.d.ts +22 -0
  18. package/dist/core/check.d.ts.map +1 -0
  19. package/dist/core/check.js +127 -0
  20. package/dist/core/componentCache.d.ts +2 -2
  21. package/dist/core/componentCache.d.ts.map +1 -0
  22. package/dist/core/componentCache.js +28 -32
  23. package/dist/core/entrypoint.d.ts +31 -15
  24. package/dist/core/entrypoint.d.ts.map +1 -0
  25. package/dist/core/entrypoint.js +1 -2
  26. package/dist/core/garbageCollection.d.ts +6 -5
  27. package/dist/core/garbageCollection.d.ts.map +1 -0
  28. package/dist/core/garbageCollection.js +49 -16
  29. package/dist/core/logging.d.ts +68 -0
  30. package/dist/core/logging.d.ts.map +1 -0
  31. package/dist/core/logging.js +22 -0
  32. package/dist/core/makeNetworkRequest.d.ts +6 -3
  33. package/dist/core/makeNetworkRequest.d.ts.map +1 -0
  34. package/dist/core/makeNetworkRequest.js +160 -19
  35. package/dist/core/read.d.ts +25 -5
  36. package/dist/core/read.d.ts.map +1 -0
  37. package/dist/core/read.js +416 -259
  38. package/dist/core/reader.d.ts +31 -15
  39. package/dist/core/reader.d.ts.map +1 -0
  40. package/dist/core/startUpdate.d.ts +5 -0
  41. package/dist/core/startUpdate.d.ts.map +1 -0
  42. package/dist/core/startUpdate.js +15 -0
  43. package/dist/core/util.d.ts +5 -0
  44. package/dist/core/util.d.ts.map +1 -0
  45. package/dist/index.d.ts +19 -14
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +11 -2
  48. package/dist/loadable-hooks/useClientSideDefer.d.ts +9 -3
  49. package/dist/loadable-hooks/useClientSideDefer.d.ts.map +1 -0
  50. package/dist/loadable-hooks/useClientSideDefer.js +6 -8
  51. package/dist/loadable-hooks/useConnectionSpecPagination.d.ts +27 -0
  52. package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -0
  53. package/dist/loadable-hooks/useConnectionSpecPagination.js +162 -0
  54. package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts +2 -2
  55. package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts.map +1 -0
  56. package/dist/loadable-hooks/useImperativeExposedMutationField.js +1 -2
  57. package/dist/loadable-hooks/useImperativeLoadableField.d.ts +13 -7
  58. package/dist/loadable-hooks/useImperativeLoadableField.d.ts.map +1 -0
  59. package/dist/loadable-hooks/useImperativeLoadableField.js +4 -5
  60. package/dist/loadable-hooks/useSkipLimitPagination.d.ts +13 -26
  61. package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +1 -0
  62. package/dist/loadable-hooks/useSkipLimitPagination.js +93 -47
  63. package/dist/react/FragmentReader.d.ts +6 -4
  64. package/dist/react/FragmentReader.d.ts.map +1 -0
  65. package/dist/react/FragmentReader.js +4 -2
  66. package/dist/react/IsographEnvironmentProvider.d.ts +1 -0
  67. package/dist/react/IsographEnvironmentProvider.d.ts.map +1 -0
  68. package/dist/react/IsographEnvironmentProvider.js +3 -3
  69. package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts +10 -0
  70. package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts.map +1 -0
  71. package/dist/react/RenderAfterCommit__DO_NOT_USE.js +15 -0
  72. package/dist/react/useImperativeReference.d.ts +8 -6
  73. package/dist/react/useImperativeReference.d.ts.map +1 -0
  74. package/dist/react/useImperativeReference.js +6 -8
  75. package/dist/react/useLazyReference.d.ts +5 -3
  76. package/dist/react/useLazyReference.d.ts.map +1 -0
  77. package/dist/react/useLazyReference.js +34 -6
  78. package/dist/react/useReadAndSubscribe.d.ts +6 -3
  79. package/dist/react/useReadAndSubscribe.d.ts.map +1 -0
  80. package/dist/react/useReadAndSubscribe.js +13 -10
  81. package/dist/react/useRerenderOnChange.d.ts +7 -2
  82. package/dist/react/useRerenderOnChange.d.ts.map +1 -0
  83. package/dist/react/useRerenderOnChange.js +3 -4
  84. package/dist/react/useResult.d.ts +4 -3
  85. package/dist/react/useResult.d.ts.map +1 -0
  86. package/dist/react/useResult.js +14 -9
  87. package/isograph.config.json +8 -0
  88. package/package.json +14 -9
  89. package/{src/tests/schema.graphql → schema.graphql} +1 -0
  90. package/src/core/FragmentReference.ts +44 -17
  91. package/src/core/IsographEnvironment.ts +67 -50
  92. package/src/core/PromiseWrapper.ts +3 -3
  93. package/src/core/areEqualWithDeepComparison.ts +95 -41
  94. package/src/core/cache.ts +316 -169
  95. package/src/core/check.ts +212 -0
  96. package/src/core/componentCache.ts +40 -46
  97. package/src/core/entrypoint.ts +41 -16
  98. package/src/core/garbageCollection.ts +77 -26
  99. package/src/core/logging.ts +118 -0
  100. package/src/core/makeNetworkRequest.ts +249 -20
  101. package/src/core/read.ts +658 -368
  102. package/src/core/reader.ts +61 -21
  103. package/src/core/startUpdate.ts +28 -0
  104. package/src/core/util.ts +8 -0
  105. package/src/index.ts +94 -8
  106. package/src/loadable-hooks/useClientSideDefer.ts +48 -17
  107. package/src/loadable-hooks/useConnectionSpecPagination.ts +344 -0
  108. package/src/loadable-hooks/useImperativeExposedMutationField.ts +1 -1
  109. package/src/loadable-hooks/useImperativeLoadableField.ts +36 -12
  110. package/src/loadable-hooks/useSkipLimitPagination.ts +253 -94
  111. package/src/react/FragmentReader.tsx +15 -6
  112. package/src/react/IsographEnvironmentProvider.tsx +1 -1
  113. package/src/react/RenderAfterCommit__DO_NOT_USE.tsx +17 -0
  114. package/src/react/useImperativeReference.ts +50 -18
  115. package/src/react/useLazyReference.ts +79 -11
  116. package/src/react/useReadAndSubscribe.ts +33 -10
  117. package/src/react/useRerenderOnChange.ts +7 -2
  118. package/src/react/useResult.ts +30 -9
  119. package/src/tests/__isograph/Query/meName/entrypoint.ts +10 -29
  120. package/src/tests/__isograph/Query/meName/normalization_ast.ts +25 -0
  121. package/src/tests/__isograph/Query/meName/param_type.ts +5 -2
  122. package/src/tests/__isograph/Query/meName/query_text.ts +6 -0
  123. package/src/tests/__isograph/Query/meName/resolver_reader.ts +5 -0
  124. package/src/tests/__isograph/Query/meNameSuccessor/entrypoint.ts +10 -65
  125. package/src/tests/__isograph/Query/meNameSuccessor/normalization_ast.ts +56 -0
  126. package/src/tests/__isograph/Query/meNameSuccessor/param_type.ts +9 -6
  127. package/src/tests/__isograph/Query/meNameSuccessor/query_text.ts +13 -0
  128. package/src/tests/__isograph/Query/meNameSuccessor/resolver_reader.ts +10 -0
  129. package/src/tests/__isograph/Query/nodeField/entrypoint.ts +10 -28
  130. package/src/tests/__isograph/Query/nodeField/normalization_ast.ts +30 -0
  131. package/src/tests/__isograph/Query/nodeField/param_type.ts +7 -3
  132. package/src/tests/__isograph/Query/nodeField/parameters_type.ts +3 -0
  133. package/src/tests/__isograph/Query/nodeField/query_text.ts +6 -0
  134. package/src/tests/__isograph/Query/nodeField/resolver_reader.ts +5 -0
  135. package/src/tests/__isograph/Query/subquery/entrypoint.ts +28 -0
  136. package/src/tests/__isograph/Query/subquery/normalization_ast.ts +38 -0
  137. package/src/tests/__isograph/Query/subquery/output_type.ts +3 -0
  138. package/src/tests/__isograph/Query/subquery/param_type.ts +12 -0
  139. package/src/tests/__isograph/Query/subquery/parameters_type.ts +3 -0
  140. package/src/tests/__isograph/Query/subquery/query_text.ts +8 -0
  141. package/src/tests/__isograph/Query/subquery/resolver_reader.ts +52 -0
  142. package/src/tests/__isograph/iso.ts +24 -12
  143. package/src/tests/garbageCollection.test.ts +53 -45
  144. package/src/tests/meNameSuccessor.ts +8 -3
  145. package/src/tests/nodeQuery.ts +7 -4
  146. package/src/tests/normalizeData.test.ts +120 -0
  147. package/src/tests/tsconfig.json +3 -3
  148. package/tsconfig.json +2 -2
  149. package/tsconfig.pkg.json +7 -3
  150. package/vitest.config.ts +20 -0
  151. package/src/tests/isograph.config.json +0 -7
@@ -1,39 +1,97 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeNetworkRequest = void 0;
3
+ exports.maybeMakeNetworkRequest = maybeMakeNetworkRequest;
4
+ exports.makeNetworkRequest = makeNetworkRequest;
5
+ const cache_1 = require("./cache");
6
+ const check_1 = require("./check");
7
+ const componentCache_1 = require("./componentCache");
4
8
  const garbageCollection_1 = require("./garbageCollection");
9
+ const IsographEnvironment_1 = require("./IsographEnvironment");
10
+ const logging_1 = require("./logging");
5
11
  const PromiseWrapper_1 = require("./PromiseWrapper");
6
- const cache_1 = require("./cache");
7
- function makeNetworkRequest(environment, artifact, variables) {
8
- // @ts-expect-error
9
- if (typeof window !== 'undefined' && window.__LOG) {
10
- console.log('make network request', artifact, variables);
12
+ const read_1 = require("./read");
13
+ const startUpdate_1 = require("./startUpdate");
14
+ let networkRequestId = 0;
15
+ function maybeMakeNetworkRequest(environment, artifact, variables, fetchOptions) {
16
+ var _a;
17
+ switch ((_a = fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.shouldFetch) !== null && _a !== void 0 ? _a : check_1.DEFAULT_SHOULD_FETCH_VALUE) {
18
+ case 'Yes': {
19
+ return makeNetworkRequest(environment, artifact, variables, fetchOptions);
20
+ }
21
+ case 'No': {
22
+ return [(0, PromiseWrapper_1.wrapResolvedValue)(undefined), () => { }];
23
+ }
24
+ case 'IfNecessary': {
25
+ if (artifact.networkRequestInfo.normalizationAst.kind ===
26
+ 'NormalizationAstLoader') {
27
+ throw new Error('Using lazy loaded normalizationAst with shouldFetch: "IfNecessary" is not supported as it will lead to slower initial load time.');
28
+ }
29
+ const result = (0, check_1.check)(environment, artifact.networkRequestInfo.normalizationAst.selections, variables, {
30
+ __link: IsographEnvironment_1.ROOT_ID,
31
+ __typename: artifact.concreteType,
32
+ });
33
+ if (result.kind === 'EnoughData') {
34
+ return [(0, PromiseWrapper_1.wrapResolvedValue)(undefined), () => { }];
35
+ }
36
+ else {
37
+ return makeNetworkRequest(environment, artifact, variables, fetchOptions);
38
+ }
39
+ }
11
40
  }
41
+ }
42
+ function loadNormalizationAst(normalizationAst) {
43
+ switch (normalizationAst.kind) {
44
+ case 'NormalizationAst': {
45
+ return normalizationAst;
46
+ }
47
+ case 'NormalizationAstLoader': {
48
+ return normalizationAst.loader();
49
+ }
50
+ }
51
+ }
52
+ function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
53
+ // TODO this should be a DataId and stored in the store
54
+ const myNetworkRequestId = networkRequestId + '';
55
+ networkRequestId++;
56
+ (0, logging_1.logMessage)(environment, () => ({
57
+ kind: 'MakeNetworkRequest',
58
+ artifact,
59
+ variables,
60
+ networkRequestId: myNetworkRequestId,
61
+ }));
12
62
  let status = {
13
63
  kind: 'UndisposedIncomplete',
14
64
  };
15
65
  // This should be an observable, not a promise
16
- const promise = environment
17
- .networkFunction(artifact.queryText, variables)
18
- .then((networkResponse) => {
19
- var _a;
20
- // @ts-expect-error
21
- if (typeof window !== 'undefined' && window.__LOG) {
22
- console.log('network response', artifact, networkResponse);
23
- }
66
+ const promise = Promise.all([
67
+ environment.networkFunction(artifact.networkRequestInfo.queryText, variables),
68
+ loadNormalizationAst(artifact.networkRequestInfo.normalizationAst),
69
+ ])
70
+ .then(([networkResponse, normalizationAst]) => {
71
+ var _a, _b;
72
+ (0, logging_1.logMessage)(environment, () => ({
73
+ kind: 'ReceivedNetworkResponse',
74
+ networkResponse,
75
+ networkRequestId: myNetworkRequestId,
76
+ }));
24
77
  if (networkResponse.errors != null) {
25
- // @ts-expect-error Why are we getting the wrong constructor here?
78
+ try {
79
+ (_a = fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.onError) === null || _a === void 0 ? void 0 : _a.call(fetchOptions);
80
+ }
81
+ catch (_c) { }
26
82
  throw new Error('GraphQL network response had errors', {
27
83
  cause: networkResponse,
28
84
  });
29
85
  }
86
+ const root = { __link: IsographEnvironment_1.ROOT_ID, __typename: artifact.concreteType };
30
87
  if (status.kind === 'UndisposedIncomplete') {
31
- (0, cache_1.normalizeData)(environment, artifact.normalizationAst, (_a = networkResponse.data) !== null && _a !== void 0 ? _a : {}, variables, artifact.kind === 'Entrypoint'
88
+ (0, cache_1.normalizeData)(environment, normalizationAst.selections, (_b = networkResponse.data) !== null && _b !== void 0 ? _b : {}, variables, artifact.kind === 'Entrypoint'
32
89
  ? artifact.readerWithRefetchQueries.nestedRefetchQueries
33
- : []);
90
+ : [], root);
34
91
  const retainedQuery = {
35
- normalizationAst: artifact.normalizationAst,
92
+ normalizationAst: normalizationAst.selections,
36
93
  variables,
94
+ root,
37
95
  };
38
96
  status = {
39
97
  kind: 'UndisposedComplete',
@@ -41,6 +99,31 @@ function makeNetworkRequest(environment, artifact, variables) {
41
99
  };
42
100
  (0, garbageCollection_1.retainQuery)(environment, retainedQuery);
43
101
  }
102
+ const onComplete = fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.onComplete;
103
+ if (onComplete != null) {
104
+ let data = readDataForOnComplete(artifact, environment, root, variables);
105
+ try {
106
+ // @ts-expect-error this problem will be fixed when we remove RefetchQueryNormalizationArtifact
107
+ // (or we can fix this by having a single param of type { kind: 'Entrypoint', entrypoint,
108
+ // fetchOptions: FetchOptions<TReadFromStore> } | { kind: 'RefetchQuery', refetchQuery,
109
+ // fetchOptions: FetchOptions<void> }).
110
+ onComplete(data);
111
+ }
112
+ catch (_d) { }
113
+ }
114
+ })
115
+ .catch((e) => {
116
+ var _a;
117
+ (0, logging_1.logMessage)(environment, () => ({
118
+ kind: 'ReceivedNetworkError',
119
+ networkRequestId: myNetworkRequestId,
120
+ error: e,
121
+ }));
122
+ try {
123
+ (_a = fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.onError) === null || _a === void 0 ? void 0 : _a.call(fetchOptions);
124
+ }
125
+ catch (_b) { }
126
+ throw e;
44
127
  });
45
128
  const wrapper = (0, PromiseWrapper_1.wrapPromise)(promise);
46
129
  const response = [
@@ -59,4 +142,62 @@ function makeNetworkRequest(environment, artifact, variables) {
59
142
  ];
60
143
  return response;
61
144
  }
62
- exports.makeNetworkRequest = makeNetworkRequest;
145
+ function readDataForOnComplete(artifact, environment, root, variables) {
146
+ // An entrypoint, but not a RefetchQueryNormalizationArtifact, has a reader ASTs.
147
+ // So, we can only pass data to onComplete if makeNetworkRequest was passed an entrypoint.
148
+ // This is awkward, since we don't express that in the types of the parameters
149
+ // (i.e. FetchOptions could be passed, along with a RefetchQueryNormalizationArtifact).
150
+ //
151
+ // However, this isn't a big deal: RefetchQueryNormalizationArtifact is going away.
152
+ if (artifact.kind === 'Entrypoint') {
153
+ // TODO this is a smell!
154
+ const fakeNetworkRequest = (0, PromiseWrapper_1.wrapResolvedValue)(undefined);
155
+ // TODO this is a smell — we know the network response is not in flight,
156
+ // so we don't really care!
157
+ const fakeNetworkRequestOptions = {
158
+ suspendIfInFlight: false,
159
+ throwOnNetworkError: false,
160
+ };
161
+ const fragment = {
162
+ kind: 'FragmentReference',
163
+ // TODO this smells.
164
+ readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)(artifact.readerWithRefetchQueries),
165
+ root,
166
+ variables,
167
+ networkRequest: fakeNetworkRequest,
168
+ };
169
+ const fragmentResult = (0, read_1.readButDoNotEvaluate)(environment, fragment, fakeNetworkRequestOptions).item;
170
+ const readerArtifact = artifact.readerWithRefetchQueries.readerArtifact;
171
+ switch (readerArtifact.kind) {
172
+ case 'ComponentReaderArtifact': {
173
+ // @ts-expect-error We should find a way to encode this in the type system:
174
+ // if we have a ComponentReaderArtifact, we will necessarily have a
175
+ // TClientFieldValue which is a React.FC<...>
176
+ return (0, componentCache_1.getOrCreateCachedComponent)(environment, readerArtifact.fieldName, {
177
+ kind: 'FragmentReference',
178
+ readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)({
179
+ kind: 'ReaderWithRefetchQueries',
180
+ readerArtifact: readerArtifact,
181
+ nestedRefetchQueries: artifact.readerWithRefetchQueries.nestedRefetchQueries,
182
+ }),
183
+ root,
184
+ variables,
185
+ networkRequest: fakeNetworkRequest,
186
+ }, fakeNetworkRequestOptions);
187
+ }
188
+ case 'EagerReaderArtifact': {
189
+ return readerArtifact.resolver(Object.assign({ data: fragmentResult, parameters: variables }, (readerArtifact.hasUpdatable
190
+ ? {
191
+ startUpdate: (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragment, artifact.readerWithRefetchQueries.readerArtifact.fieldName),
192
+ }
193
+ : undefined)));
194
+ }
195
+ default: {
196
+ const _ = readerArtifact;
197
+ _;
198
+ throw new Error('Expected case');
199
+ }
200
+ }
201
+ }
202
+ return null;
203
+ }
@@ -1,12 +1,32 @@
1
- import { FragmentReference } from './FragmentReference';
2
- import { DataId, IsographEnvironment } from './IsographEnvironment';
1
+ import { type EncounteredIds } from './cache';
2
+ import { RefetchQueryNormalizationArtifactWrapper } from './entrypoint';
3
+ import { ExtractData, FragmentReference, Variables, type UnknownTReadFromStore } from './FragmentReference';
4
+ import { IsographEnvironment, type DataTypeValue, type Link, type StoreRecord } from './IsographEnvironment';
5
+ import { PromiseWrapper } from './PromiseWrapper';
6
+ import { ReaderAst, type ReaderImperativelyLoadedField, type ReaderLinkedField, type ReaderLoadableField, type ReaderNonLoadableResolverField, type ReaderScalarField } from './reader';
3
7
  export type WithEncounteredRecords<T> = {
4
- readonly encounteredRecords: Set<DataId>;
5
- readonly item: T;
8
+ readonly encounteredRecords: EncounteredIds;
9
+ readonly item: ExtractData<T>;
6
10
  };
7
- export declare function readButDoNotEvaluate<TReadFromStore extends Object>(environment: IsographEnvironment, fragmentReference: FragmentReference<TReadFromStore, unknown>, networkRequestOptions: NetworkRequestReaderOptions): WithEncounteredRecords<TReadFromStore>;
11
+ export declare function readButDoNotEvaluate<TReadFromStore extends UnknownTReadFromStore>(environment: IsographEnvironment, fragmentReference: FragmentReference<TReadFromStore, unknown>, networkRequestOptions: NetworkRequestReaderOptions): WithEncounteredRecords<TReadFromStore>;
12
+ export type ReadDataResultSuccess<Data> = {
13
+ readonly kind: 'Success';
14
+ readonly data: Data;
15
+ };
16
+ export type ReadDataResult<Data> = ReadDataResultSuccess<Data> | {
17
+ readonly kind: 'MissingData';
18
+ readonly reason: string;
19
+ readonly nestedReason?: ReadDataResult<unknown>;
20
+ readonly recordLink: Link;
21
+ };
22
+ export declare function readLoadablySelectedFieldData(environment: IsographEnvironment, field: ReaderLoadableField, root: Link, variables: Variables, networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions, mutableEncounteredRecords: EncounteredIds): ReadDataResult<unknown>;
23
+ export declare function readResolverFieldData(environment: IsographEnvironment, field: ReaderNonLoadableResolverField, root: Link, variables: Variables, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[], networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions, mutableEncounteredRecords: EncounteredIds): ReadDataResult<unknown>;
24
+ export declare function readScalarFieldData(field: ReaderScalarField, storeRecord: StoreRecord, root: Link, variables: Variables): ReadDataResult<string | number | boolean | Link | DataTypeValue[] | null>;
25
+ export declare function readLinkedFieldData(environment: IsographEnvironment, field: ReaderLinkedField, storeRecord: StoreRecord, root: Link, variables: Variables, networkRequest: PromiseWrapper<void, any>, readData: <TReadFromStore>(ast: ReaderAst<TReadFromStore>, root: Link) => ReadDataResult<object>): ReadDataResult<unknown>;
8
26
  export type NetworkRequestReaderOptions = {
9
27
  suspendIfInFlight: boolean;
10
28
  throwOnNetworkError: boolean;
11
29
  };
12
30
  export declare function getNetworkRequestOptionsWithDefaults(networkRequestOptions?: Partial<NetworkRequestReaderOptions> | void): NetworkRequestReaderOptions;
31
+ export declare function readImperativelyLoadedField(environment: IsographEnvironment, field: ReaderImperativelyLoadedField, root: Link, variables: Variables, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[], networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions, mutableEncounteredRecords: EncounteredIds): ReadDataResult<unknown>;
32
+ //# sourceMappingURL=read.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/core/read.ts"],"names":[],"mappings":"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"}