@isograph/react 0.0.0-main-0a1fcd2b → 0.0.0-main-5ee444e2

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.
@@ -1,5 +1,5 @@
1
1
  ../.. |  WARN  Unsupported engine: wanted: {"node":"22.9.0"} (current: {"node":"v22.18.0","pnpm":"10.15.0"})
2
2
 
3
- > @isograph/react@0.0.0-main-0a1fcd2b compile-libs /home/runner/work/isograph/isograph/libs/isograph-react
3
+ > @isograph/react@0.0.0-main-5ee444e2 compile-libs /home/runner/work/isograph/isograph/libs/isograph-react
4
4
  > rimraf dist/* && tsc -p tsconfig.pkg.json
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/core/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/core/cache.ts"],"names":[],"mappings":"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"}
@@ -62,15 +62,15 @@ function getOrCreateCacheForArtifact(environment, entrypoint, variables, fetchOp
62
62
  break;
63
63
  }
64
64
  const factory = () => {
65
- const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, entrypoint, variables, fetchOptions);
65
+ const readerWithRefetchQueries = entrypoint.readerWithRefetchQueries.kind ===
66
+ 'ReaderWithRefetchQueriesLoader'
67
+ ? (0, PromiseWrapper_1.wrapPromise)(entrypoint.readerWithRefetchQueries.loader())
68
+ : (0, PromiseWrapper_1.wrapResolvedValue)(entrypoint.readerWithRefetchQueries);
69
+ const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, entrypoint, variables, readerWithRefetchQueries, fetchOptions);
66
70
  const itemCleanupPair = [
67
71
  {
68
72
  kind: 'FragmentReference',
69
- readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)({
70
- kind: 'ReaderWithRefetchQueries',
71
- readerArtifact: entrypoint.readerWithRefetchQueries.readerArtifact,
72
- nestedRefetchQueries: entrypoint.readerWithRefetchQueries.nestedRefetchQueries,
73
- }),
73
+ readerWithRefetchQueries,
74
74
  root: { __link: IsographEnvironment_1.ROOT_ID, __typename: entrypoint.concreteType },
75
75
  variables,
76
76
  networkRequest: networkRequest,
@@ -7,6 +7,10 @@ export type ReaderWithRefetchQueries<TReadFromStore extends UnknownTReadFromStor
7
7
  readonly readerArtifact: TopLevelReaderArtifact<TReadFromStore, TClientFieldValue, any>;
8
8
  readonly nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[];
9
9
  };
10
+ export type ReaderWithRefetchQueriesLoader<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
11
+ readonly kind: 'ReaderWithRefetchQueriesLoader';
12
+ readonly loader: () => Promise<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>>;
13
+ };
10
14
  export type NetworkRequestInfo<TNormalizationAst> = {
11
15
  readonly kind: 'NetworkRequestInfo';
12
16
  readonly operation: IsographOperation | IsographPersistedOperation;
@@ -29,7 +33,7 @@ export type IsographPersistedOperationExtraInfo = {
29
33
  export type IsographEntrypoint<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader> = {
30
34
  readonly kind: 'Entrypoint';
31
35
  readonly networkRequestInfo: NetworkRequestInfo<TNormalizationAst>;
32
- readonly readerWithRefetchQueries: ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>;
36
+ readonly readerWithRefetchQueries: ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue> | ReaderWithRefetchQueriesLoader<TReadFromStore, TClientFieldValue>;
33
37
  readonly concreteType: TypeName;
34
38
  };
35
39
  export type IsographEntrypointLoader<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
@@ -1 +1 @@
1
- {"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../../src/core/entrypoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../../src/core/entrypoint.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: RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
8
- export declare function makeNetworkRequest<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
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: TArtifact['kind'] extends 'Entrypoint' ? PromiseWrapper<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>> : undefined, fetchOptions?: FetchOptions<TClientFieldValue>): 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?: TArtifact['kind'] extends 'Entrypoint' ? PromiseWrapper<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>> : undefined, fetchOptions?: FetchOptions<TClientFieldValue>): 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,EAAiB,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EACL,QAAQ,EACR,cAAc,EAGf,MAAM,kBAAkB,CAAC;AAM1B,wBAAgB,uBAAuB,CACrC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EAEnE,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAC5E,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAC7C,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAuCjD;AAeD,wBAAgB,kBAAkB,CAChC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EAEnE,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAC5E,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAC7C,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CA8GjD"}
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,EAAiB,MAAM,uBAAuB,CAAC;AAE3E,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,SAAS,CAAC,MAAM,CAAC,SAAS,YAAY,GAC5D,cAAc,CACZ,wBAAwB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAC5D,GACD,SAAS,EACb,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAC7C,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,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,YAAY,GAC7D,cAAc,CACZ,wBAAwB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAC5D,GACD,SAAS,EACb,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAC7C,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++;
@@ -66,8 +66,9 @@ function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
66
66
  const promise = Promise.all([
67
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',
@@ -99,7 +100,7 @@ function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
99
100
  }
100
101
  const onComplete = fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.onComplete;
101
102
  if (onComplete != null) {
102
- let data = readDataForOnComplete(artifact, environment, root, variables);
103
+ let data = readDataForOnComplete(artifact, environment, root, variables, readerWithRefetchQueries);
103
104
  try {
104
105
  // @ts-expect-error this problem will be fixed when we remove RefetchQueryNormalizationArtifact
105
106
  // (or we can fix this by having a single param of type { kind: 'Entrypoint', entrypoint,
@@ -140,7 +141,7 @@ function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
140
141
  ];
141
142
  return response;
142
143
  }
143
- function readDataForOnComplete(artifact, environment, root, variables) {
144
+ function readDataForOnComplete(artifact, environment, root, variables, readerWithRefetchQueries) {
144
145
  // An entrypoint, but not a RefetchQueryNormalizationArtifact, has a reader ASTs.
145
146
  // So, we can only pass data to onComplete if makeNetworkRequest was passed an entrypoint.
146
147
  // This is awkward, since we don't express that in the types of the parameters
@@ -156,16 +157,17 @@ function readDataForOnComplete(artifact, environment, root, variables) {
156
157
  suspendIfInFlight: false,
157
158
  throwOnNetworkError: false,
158
159
  };
160
+ const resolvedReaderWithRefetchQueries = readerWithRefetchQueries;
159
161
  const fragment = {
160
162
  kind: 'FragmentReference',
161
163
  // TODO this smells.
162
- readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)(artifact.readerWithRefetchQueries),
164
+ readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)(resolvedReaderWithRefetchQueries),
163
165
  root,
164
166
  variables,
165
167
  networkRequest: fakeNetworkRequest,
166
168
  };
167
169
  const fragmentResult = (0, read_1.readButDoNotEvaluate)(environment, fragment, fakeNetworkRequestOptions).item;
168
- const readerArtifact = artifact.readerWithRefetchQueries.readerArtifact;
170
+ const readerArtifact = resolvedReaderWithRefetchQueries.readerArtifact;
169
171
  switch (readerArtifact.kind) {
170
172
  case 'ComponentReaderArtifact': {
171
173
  // @ts-expect-error We should find a way to encode this in the type system:
@@ -176,7 +178,7 @@ function readDataForOnComplete(artifact, environment, root, variables) {
176
178
  readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)({
177
179
  kind: 'ReaderWithRefetchQueries',
178
180
  readerArtifact: readerArtifact,
179
- nestedRefetchQueries: artifact.readerWithRefetchQueries.nestedRefetchQueries,
181
+ nestedRefetchQueries: resolvedReaderWithRefetchQueries.nestedRefetchQueries,
180
182
  }),
181
183
  root,
182
184
  variables,
@@ -186,7 +188,7 @@ function readDataForOnComplete(artifact, environment, root, variables) {
186
188
  case 'EagerReaderArtifact': {
187
189
  return readerArtifact.resolver(Object.assign({ data: fragmentResult, parameters: variables }, (readerArtifact.hasUpdatable
188
190
  ? {
189
- startUpdate: (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragment, artifact.readerWithRefetchQueries.readerArtifact.fieldName, fakeNetworkRequestOptions),
191
+ startUpdate: (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragment, resolvedReaderWithRefetchQueries.readerArtifact.fieldName, fakeNetworkRequestOptions),
190
192
  }
191
193
  : undefined)));
192
194
  }
@@ -1 +1 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/core/read.ts"],"names":[],"mappings":"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"}
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,IAAI,EACT,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAGL,cAAc,EAIf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACtB,KAAK,8BAA8B,EACnC,KAAK,iBAAiB,EACvB,MAAM,UAAU,CAAC;AAIlB,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,qBAAqB,EAE5C,WAAW,EAAE,mBAAmB,EAChC,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,EAC7D,qBAAqB,EAAE,2BAA2B,GACjD,sBAAsB,CAAC,cAAc,CAAC,CA+DxC;AAED,MAAM,MAAM,qBAAqB,CAAC,IAAI,IAAI;IACxC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,IAAI,IAC3B,qBAAqB,CAAC,IAAI,CAAC,GAC3B;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;AA+IN,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,mBAAmB,EAChC,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,EACzC,qBAAqB,EAAE,2BAA2B,EAClD,yBAAyB,EAAE,cAAc,GACxC,cAAc,CAAC,OAAO,CAAC,CAiKzB;AAoFD,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,mBAAmB,EAChC,KAAK,EAAE,8BAA8B,EACrC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,wCAAwC,EAAE,EAChE,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,EACzC,qBAAqB,EAAE,2BAA2B,EAClD,yBAAyB,EAAE,cAAc,GACxC,cAAc,CAAC,OAAO,CAAC,CAgFzB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,GACnB,cAAc,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC,CAa3E;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,mBAAmB,EAChC,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,wCAAwC,EAAE,EAChE,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,EACzC,qBAAqB,EAAE,2BAA2B,EAClD,QAAQ,EAAE,CAAC,cAAc,EACvB,GAAG,EAAE,SAAS,CAAC,cAAc,CAAC,EAC9B,IAAI,EAAE,IAAI,KACP,cAAc,CAAC,MAAM,CAAC,GAC1B,cAAc,CAAC,OAAO,CAAC,CAmQzB;AAED,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;AAiBD,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,mBAAmB,EAChC,KAAK,EAAE,6BAA6B,EACpC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,wCAAwC,EAAE,EAChE,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,EACzC,qBAAqB,EAAE,2BAA2B,EAClD,yBAAyB,EAAE,cAAc,GACxC,cAAc,CAAC,OAAO,CAAC,CAuDzB"}
package/dist/core/read.js CHANGED
@@ -175,14 +175,14 @@ function readLoadablySelectedFieldData(environment, field, root, variables, netw
175
175
  // Fetcher
176
176
  () => {
177
177
  const fragmentReferenceAndDisposeFromEntrypoint = (entrypoint) => {
178
- const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, entrypoint, localVariables, fetchOptions);
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);
179
183
  const fragmentReference = {
180
184
  kind: 'FragmentReference',
181
- readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)({
182
- kind: 'ReaderWithRefetchQueries',
183
- readerArtifact: entrypoint.readerWithRefetchQueries.readerArtifact,
184
- nestedRefetchQueries: entrypoint.readerWithRefetchQueries.nestedRefetchQueries,
185
- }),
185
+ readerWithRefetchQueries,
186
186
  // TODO localVariables is not guaranteed to have an id field
187
187
  root,
188
188
  variables: localVariables,
@@ -202,9 +202,13 @@ function readLoadablySelectedFieldData(environment, field, root, variables, netw
202
202
  else {
203
203
  // Promise is pending or thrown
204
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));
205
209
  const networkRequest = (0, PromiseWrapper_1.wrapPromise)(isographArtifactPromiseWrapper.promise.then((entrypoint) => {
206
210
  if (entrypointLoaderState.kind === 'EntrypointNotLoaded') {
207
- const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, entrypoint, localVariables, fetchOptions);
211
+ const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, entrypoint, localVariables, readerWithRefetchQueries, fetchOptions);
208
212
  entrypointLoaderState = {
209
213
  kind: 'NetworkRequestStarted',
210
214
  disposeNetworkRequest,
@@ -212,10 +216,9 @@ function readLoadablySelectedFieldData(environment, field, root, variables, netw
212
216
  return networkRequest.promise;
213
217
  }
214
218
  }));
215
- const readerWithRefetchPromise = isographArtifactPromiseWrapper.promise.then((entrypoint) => entrypoint.readerWithRefetchQueries);
216
219
  const fragmentReference = {
217
220
  kind: 'FragmentReference',
218
- readerWithRefetchQueries: (0, PromiseWrapper_1.wrapPromise)(readerWithRefetchPromise),
221
+ readerWithRefetchQueries,
219
222
  // TODO localVariables is not guaranteed to have an id field
220
223
  root,
221
224
  variables: localVariables,
@@ -547,7 +550,7 @@ function readLinkedFieldData(environment, field, storeRecord, root, variables, n
547
550
  // Fetcher
548
551
  () => {
549
552
  const variables = includeReadOutData(filterVariables(Object.assign(Object.assign({}, args), localVariables), allowedVariables), refetchReaderParams.data);
550
- const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, refetchQueryArtifact, variables, fetchOptions);
553
+ const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, refetchQueryArtifact, variables, undefined, fetchOptions);
551
554
  const fragmentReference = {
552
555
  kind: 'FragmentReference',
553
556
  readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)({
@@ -1 +1 @@
1
- {"version":3,"file":"useImperativeReference.d.ts","sourceRoot":"","sources":["../../src/react/useImperativeReference.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAMnC,MAAM,MAAM,4BAA4B,CACtC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,IACjE;IACF,iBAAiB,EAAE,iBAAiB,CAClC,cAAc,EACd,iBAAiB,CAClB,GAAG,IAAI,CAAC;IACT,qBAAqB,EAAE,CACrB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,GAAG,CAAC,YAAY,CAAC,EAAE,sBAAsB,SAAS,iBAAiB,GAC/D,CAAC,YAAY,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,GACvD,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC,KACjD,IAAI,CAAC;CACX,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EAEnE,UAAU,EAAE,kBAAkB,CAC5B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,CAClB,GACA,4BAA4B,CAC7B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,CAClB,CAqCA"}
1
+ {"version":3,"file":"useImperativeReference.d.ts","sourceRoot":"","sources":["../../src/react/useImperativeReference.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAMnC,MAAM,MAAM,4BAA4B,CACtC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,IACjE;IACF,iBAAiB,EAAE,iBAAiB,CAClC,cAAc,EACd,iBAAiB,CAClB,GAAG,IAAI,CAAC;IACT,qBAAqB,EAAE,CACrB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,GAAG,CAAC,YAAY,CAAC,EAAE,sBAAsB,SAAS,iBAAiB,GAC/D,CAAC,YAAY,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,GACvD,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC,KACjD,IAAI,CAAC;CACX,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EAEnE,UAAU,EAAE,kBAAkB,CAC5B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,CAClB,GACA,4BAA4B,CAC7B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,CAClB,CAsCA"}
@@ -12,15 +12,15 @@ function useImperativeReference(entrypoint) {
12
12
  return {
13
13
  fragmentReference: state !== react_disposable_state_1.UNASSIGNED_STATE ? state : null,
14
14
  loadFragmentReference: (variables, fetchOptions) => {
15
- const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, entrypoint, variables, fetchOptions);
15
+ const readerWithRefetchQueries = entrypoint.readerWithRefetchQueries.kind ===
16
+ 'ReaderWithRefetchQueriesLoader'
17
+ ? (0, PromiseWrapper_1.wrapPromise)(entrypoint.readerWithRefetchQueries.loader())
18
+ : (0, PromiseWrapper_1.wrapResolvedValue)(entrypoint.readerWithRefetchQueries);
19
+ const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, entrypoint, variables, readerWithRefetchQueries, fetchOptions);
16
20
  setState([
17
21
  {
18
22
  kind: 'FragmentReference',
19
- readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)({
20
- kind: 'ReaderWithRefetchQueries',
21
- readerArtifact: entrypoint.readerWithRefetchQueries.readerArtifact,
22
- nestedRefetchQueries: entrypoint.readerWithRefetchQueries.nestedRefetchQueries,
23
- }),
23
+ readerWithRefetchQueries,
24
24
  root: { __link: IsographEnvironment_1.ROOT_ID, __typename: entrypoint.concreteType },
25
25
  variables,
26
26
  networkRequest,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isograph/react",
3
- "version": "0.0.0-main-0a1fcd2b",
3
+ "version": "0.0.0-main-5ee444e2",
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": "cross-env ISO_PRINT_ABSOLUTE_FILEPATH=1 ../../target/debug/isograph_cli --config ./isograph.config.json"
20
20
  },
21
21
  "dependencies": {
22
- "@isograph/disposable-types": "0.0.0-main-0a1fcd2b",
23
- "@isograph/react-disposable-state": "0.0.0-main-0a1fcd2b",
24
- "@isograph/reference-counted-pointer": "0.0.0-main-0a1fcd2b"
22
+ "@isograph/disposable-types": "0.0.0-main-5ee444e2",
23
+ "@isograph/react-disposable-state": "0.0.0-main-5ee444e2",
24
+ "@isograph/reference-counted-pointer": "0.0.0-main-5ee444e2"
25
25
  },
26
26
  "peerDependencies": {
27
27
  "react": "^18.0.0 || ^19.0.0"
package/src/core/cache.ts CHANGED
@@ -34,7 +34,7 @@ import {
34
34
  } from './IsographEnvironment';
35
35
  import { logMessage } from './logging';
36
36
  import { maybeMakeNetworkRequest } from './makeNetworkRequest';
37
- import { wrapResolvedValue } from './PromiseWrapper';
37
+ import { wrapPromise, wrapResolvedValue } from './PromiseWrapper';
38
38
  import { readButDoNotEvaluate, WithEncounteredRecords } from './read';
39
39
  import { ReaderLinkedField, ReaderScalarField, type ReaderAst } from './reader';
40
40
  import { Argument, ArgumentValue } from './util';
@@ -106,10 +106,16 @@ export function getOrCreateCacheForArtifact<
106
106
  break;
107
107
  }
108
108
  const factory = () => {
109
+ const readerWithRefetchQueries =
110
+ entrypoint.readerWithRefetchQueries.kind ===
111
+ 'ReaderWithRefetchQueriesLoader'
112
+ ? wrapPromise(entrypoint.readerWithRefetchQueries.loader())
113
+ : wrapResolvedValue(entrypoint.readerWithRefetchQueries);
109
114
  const [networkRequest, disposeNetworkRequest] = maybeMakeNetworkRequest(
110
115
  environment,
111
116
  entrypoint,
112
117
  variables,
118
+ readerWithRefetchQueries,
113
119
  fetchOptions,
114
120
  );
115
121
 
@@ -118,12 +124,7 @@ export function getOrCreateCacheForArtifact<
118
124
  > = [
119
125
  {
120
126
  kind: 'FragmentReference',
121
- readerWithRefetchQueries: wrapResolvedValue({
122
- kind: 'ReaderWithRefetchQueries',
123
- readerArtifact: entrypoint.readerWithRefetchQueries.readerArtifact,
124
- nestedRefetchQueries:
125
- entrypoint.readerWithRefetchQueries.nestedRefetchQueries,
126
- }),
127
+ readerWithRefetchQueries,
127
128
  root: { __link: ROOT_ID, __typename: entrypoint.concreteType },
128
129
  variables,
129
130
  networkRequest: networkRequest,
@@ -17,6 +17,16 @@ export type ReaderWithRefetchQueries<
17
17
  readonly nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[];
18
18
  };
19
19
 
20
+ export type ReaderWithRefetchQueriesLoader<
21
+ TReadFromStore extends UnknownTReadFromStore,
22
+ TClientFieldValue,
23
+ > = {
24
+ readonly kind: 'ReaderWithRefetchQueriesLoader';
25
+ readonly loader: () => Promise<
26
+ ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>
27
+ >;
28
+ };
29
+
20
30
  export type NetworkRequestInfo<TNormalizationAst> = {
21
31
  readonly kind: 'NetworkRequestInfo';
22
32
  readonly operation: IsographOperation | IsographPersistedOperation;
@@ -48,10 +58,9 @@ export type IsographEntrypoint<
48
58
  > = {
49
59
  readonly kind: 'Entrypoint';
50
60
  readonly networkRequestInfo: NetworkRequestInfo<TNormalizationAst>;
51
- readonly readerWithRefetchQueries: ReaderWithRefetchQueries<
52
- TReadFromStore,
53
- TClientFieldValue
54
- >;
61
+ readonly readerWithRefetchQueries:
62
+ | ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>
63
+ | ReaderWithRefetchQueriesLoader<TReadFromStore, TClientFieldValue>;
55
64
  readonly concreteType: TypeName;
56
65
  };
57
66
 
@@ -4,6 +4,7 @@ import { check, DEFAULT_SHOULD_FETCH_VALUE, FetchOptions } from './check';
4
4
  import { getOrCreateCachedComponent } from './componentCache';
5
5
  import {
6
6
  IsographEntrypoint,
7
+ ReaderWithRefetchQueries,
7
8
  RefetchQueryNormalizationArtifact,
8
9
  type NormalizationAst,
9
10
  type NormalizationAstLoader,
@@ -35,18 +36,30 @@ let networkRequestId = 0;
35
36
  export function maybeMakeNetworkRequest<
36
37
  TReadFromStore extends UnknownTReadFromStore,
37
38
  TClientFieldValue,
39
+ TArtifact extends
40
+ | RefetchQueryNormalizationArtifact
41
+ | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>,
38
42
  TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
39
43
  >(
40
44
  environment: IsographEnvironment,
41
- artifact:
42
- | RefetchQueryNormalizationArtifact
43
- | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>,
45
+ artifact: TArtifact,
44
46
  variables: ExtractParameters<TReadFromStore>,
47
+ readerWithRefetchQueries: TArtifact['kind'] extends 'Entrypoint'
48
+ ? PromiseWrapper<
49
+ ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>
50
+ >
51
+ : undefined,
45
52
  fetchOptions?: FetchOptions<TClientFieldValue>,
46
53
  ): ItemCleanupPair<PromiseWrapper<void, AnyError>> {
47
54
  switch (fetchOptions?.shouldFetch ?? DEFAULT_SHOULD_FETCH_VALUE) {
48
55
  case 'Yes': {
49
- return makeNetworkRequest(environment, artifact, variables, fetchOptions);
56
+ return makeNetworkRequest(
57
+ environment,
58
+ artifact,
59
+ variables,
60
+ readerWithRefetchQueries,
61
+ fetchOptions,
62
+ );
50
63
  }
51
64
  case 'No': {
52
65
  return [wrapResolvedValue(undefined), () => {}];
@@ -77,6 +90,7 @@ export function maybeMakeNetworkRequest<
77
90
  environment,
78
91
  artifact,
79
92
  variables,
93
+ readerWithRefetchQueries,
80
94
  fetchOptions,
81
95
  );
82
96
  }
@@ -100,13 +114,19 @@ function loadNormalizationAst(
100
114
  export function makeNetworkRequest<
101
115
  TReadFromStore extends UnknownTReadFromStore,
102
116
  TClientFieldValue,
117
+ TArtifact extends
118
+ | RefetchQueryNormalizationArtifact
119
+ | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>,
103
120
  TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
104
121
  >(
105
122
  environment: IsographEnvironment,
106
- artifact:
107
- | RefetchQueryNormalizationArtifact
108
- | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>,
123
+ artifact: TArtifact,
109
124
  variables: ExtractParameters<TReadFromStore>,
125
+ readerWithRefetchQueries?: TArtifact['kind'] extends 'Entrypoint'
126
+ ? PromiseWrapper<
127
+ ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>
128
+ >
129
+ : undefined,
110
130
  fetchOptions?: FetchOptions<TClientFieldValue>,
111
131
  ): ItemCleanupPair<PromiseWrapper<void, AnyError>> {
112
132
  // TODO this should be a DataId and stored in the store
@@ -130,8 +150,9 @@ export function makeNetworkRequest<
130
150
  variables,
131
151
  ),
132
152
  loadNormalizationAst(artifact.networkRequestInfo.normalizationAst),
153
+ readerWithRefetchQueries?.promise,
133
154
  ])
134
- .then(([networkResponse, normalizationAst]) => {
155
+ .then(([networkResponse, normalizationAst, readerWithRefetchQueries]) => {
135
156
  logMessage(environment, () => ({
136
157
  kind: 'ReceivedNetworkResponse',
137
158
  networkResponse,
@@ -175,6 +196,7 @@ export function makeNetworkRequest<
175
196
  environment,
176
197
  root,
177
198
  variables,
199
+ readerWithRefetchQueries,
178
200
  );
179
201
 
180
202
  try {
@@ -235,14 +257,18 @@ type NetworkRequestStatus =
235
257
  function readDataForOnComplete<
236
258
  TReadFromStore extends UnknownTReadFromStore,
237
259
  TClientFieldValue,
238
- TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
239
- >(
240
- artifact:
260
+ TArtifact extends
241
261
  | RefetchQueryNormalizationArtifact
242
262
  | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>,
263
+ TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
264
+ >(
265
+ artifact: TArtifact,
243
266
  environment: IsographEnvironment,
244
267
  root: Link,
245
268
  variables: ExtractParameters<TReadFromStore>,
269
+ readerWithRefetchQueries:
270
+ | ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>
271
+ | undefined,
246
272
  ): TClientFieldValue | null {
247
273
  // An entrypoint, but not a RefetchQueryNormalizationArtifact, has a reader ASTs.
248
274
  // So, we can only pass data to onComplete if makeNetworkRequest was passed an entrypoint.
@@ -259,12 +285,17 @@ function readDataForOnComplete<
259
285
  suspendIfInFlight: false,
260
286
  throwOnNetworkError: false,
261
287
  };
288
+ const resolvedReaderWithRefetchQueries =
289
+ readerWithRefetchQueries as ReaderWithRefetchQueries<
290
+ TReadFromStore,
291
+ TClientFieldValue
292
+ >;
262
293
 
263
294
  const fragment: FragmentReference<TReadFromStore, TClientFieldValue> = {
264
295
  kind: 'FragmentReference',
265
296
  // TODO this smells.
266
297
  readerWithRefetchQueries: wrapResolvedValue(
267
- artifact.readerWithRefetchQueries,
298
+ resolvedReaderWithRefetchQueries,
268
299
  ),
269
300
  root,
270
301
  variables,
@@ -275,7 +306,7 @@ function readDataForOnComplete<
275
306
  fragment,
276
307
  fakeNetworkRequestOptions,
277
308
  ).item;
278
- const readerArtifact = artifact.readerWithRefetchQueries.readerArtifact;
309
+ const readerArtifact = resolvedReaderWithRefetchQueries.readerArtifact;
279
310
  switch (readerArtifact.kind) {
280
311
  case 'ComponentReaderArtifact': {
281
312
  // @ts-expect-error We should find a way to encode this in the type system:
@@ -290,7 +321,7 @@ function readDataForOnComplete<
290
321
  kind: 'ReaderWithRefetchQueries',
291
322
  readerArtifact: readerArtifact,
292
323
  nestedRefetchQueries:
293
- artifact.readerWithRefetchQueries.nestedRefetchQueries,
324
+ resolvedReaderWithRefetchQueries.nestedRefetchQueries,
294
325
  }),
295
326
  root,
296
327
  variables,
@@ -308,7 +339,7 @@ function readDataForOnComplete<
308
339
  startUpdate: getOrCreateCachedStartUpdate(
309
340
  environment,
310
341
  fragment,
311
- artifact.readerWithRefetchQueries.readerArtifact.fieldName,
342
+ resolvedReaderWithRefetchQueries.readerArtifact.fieldName,
312
343
  fakeNetworkRequestOptions,
313
344
  ),
314
345
  }
package/src/core/read.ts CHANGED
@@ -344,23 +344,23 @@ export function readLoadablySelectedFieldData(
344
344
  const fragmentReferenceAndDisposeFromEntrypoint = (
345
345
  entrypoint: IsographEntrypoint<any, any, any>,
346
346
  ): [FragmentReference<any, any>, CleanupFn] => {
347
+ const readerWithRefetchQueries =
348
+ entrypoint.readerWithRefetchQueries.kind ===
349
+ 'ReaderWithRefetchQueriesLoader'
350
+ ? wrapPromise(entrypoint.readerWithRefetchQueries.loader())
351
+ : wrapResolvedValue(entrypoint.readerWithRefetchQueries);
347
352
  const [networkRequest, disposeNetworkRequest] =
348
353
  maybeMakeNetworkRequest(
349
354
  environment,
350
355
  entrypoint,
351
356
  localVariables,
357
+ readerWithRefetchQueries,
352
358
  fetchOptions,
353
359
  );
354
360
 
355
361
  const fragmentReference: FragmentReference<any, any> = {
356
362
  kind: 'FragmentReference',
357
- readerWithRefetchQueries: wrapResolvedValue({
358
- kind: 'ReaderWithRefetchQueries',
359
- readerArtifact:
360
- entrypoint.readerWithRefetchQueries.readerArtifact,
361
- nestedRefetchQueries:
362
- entrypoint.readerWithRefetchQueries.nestedRefetchQueries,
363
- } as const),
363
+ readerWithRefetchQueries,
364
364
 
365
365
  // TODO localVariables is not guaranteed to have an id field
366
366
  root,
@@ -394,6 +394,14 @@ export function readLoadablySelectedFieldData(
394
394
  }
395
395
  | { kind: 'Disposed' } = { kind: 'EntrypointNotLoaded' };
396
396
 
397
+ const readerWithRefetchQueries = wrapPromise(
398
+ isographArtifactPromiseWrapper.promise.then((entrypoint) =>
399
+ entrypoint.readerWithRefetchQueries.kind ===
400
+ 'ReaderWithRefetchQueriesLoader'
401
+ ? entrypoint.readerWithRefetchQueries.loader()
402
+ : entrypoint.readerWithRefetchQueries,
403
+ ),
404
+ );
397
405
  const networkRequest = wrapPromise(
398
406
  isographArtifactPromiseWrapper.promise.then((entrypoint) => {
399
407
  if (entrypointLoaderState.kind === 'EntrypointNotLoaded') {
@@ -402,6 +410,7 @@ export function readLoadablySelectedFieldData(
402
410
  environment,
403
411
  entrypoint,
404
412
  localVariables,
413
+ readerWithRefetchQueries,
405
414
  fetchOptions,
406
415
  );
407
416
  entrypointLoaderState = {
@@ -412,14 +421,10 @@ export function readLoadablySelectedFieldData(
412
421
  }
413
422
  }),
414
423
  );
415
- const readerWithRefetchPromise =
416
- isographArtifactPromiseWrapper.promise.then(
417
- (entrypoint) => entrypoint.readerWithRefetchQueries,
418
- );
419
424
 
420
425
  const fragmentReference: FragmentReference<any, any> = {
421
426
  kind: 'FragmentReference',
422
- readerWithRefetchQueries: wrapPromise(readerWithRefetchPromise),
427
+ readerWithRefetchQueries,
423
428
 
424
429
  // TODO localVariables is not guaranteed to have an id field
425
430
  root,
@@ -872,6 +877,7 @@ export function readLinkedFieldData(
872
877
  environment,
873
878
  refetchQueryArtifact,
874
879
  variables,
880
+ undefined,
875
881
  fetchOptions,
876
882
  );
877
883
 
@@ -15,7 +15,7 @@ import {
15
15
  } from '../core/FragmentReference';
16
16
  import { ROOT_ID } from '../core/IsographEnvironment';
17
17
  import { maybeMakeNetworkRequest } from '../core/makeNetworkRequest';
18
- import { wrapResolvedValue } from '../core/PromiseWrapper';
18
+ import { wrapPromise, wrapResolvedValue } from '../core/PromiseWrapper';
19
19
  import { useIsographEnvironment } from './IsographEnvironmentProvider';
20
20
 
21
21
  export type UseImperativeReferenceResult<
@@ -61,21 +61,22 @@ export function useImperativeReference<
61
61
  variables: ExtractParameters<TReadFromStore>,
62
62
  fetchOptions?: FetchOptions<TClientFieldValue>,
63
63
  ) => {
64
+ const readerWithRefetchQueries =
65
+ entrypoint.readerWithRefetchQueries.kind ===
66
+ 'ReaderWithRefetchQueriesLoader'
67
+ ? wrapPromise(entrypoint.readerWithRefetchQueries.loader())
68
+ : wrapResolvedValue(entrypoint.readerWithRefetchQueries);
64
69
  const [networkRequest, disposeNetworkRequest] = maybeMakeNetworkRequest(
65
70
  environment,
66
71
  entrypoint,
67
72
  variables,
73
+ readerWithRefetchQueries,
68
74
  fetchOptions,
69
75
  );
70
76
  setState([
71
77
  {
72
78
  kind: 'FragmentReference',
73
- readerWithRefetchQueries: wrapResolvedValue({
74
- kind: 'ReaderWithRefetchQueries',
75
- readerArtifact: entrypoint.readerWithRefetchQueries.readerArtifact,
76
- nestedRefetchQueries:
77
- entrypoint.readerWithRefetchQueries.nestedRefetchQueries,
78
- }),
79
+ readerWithRefetchQueries,
79
80
  root: { __link: ROOT_ID, __typename: entrypoint.concreteType },
80
81
  variables,
81
82
  networkRequest,