@isograph/react 0.0.0-main-e403ba82 → 0.0.0-main-82cbc3c0

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 (105) hide show
  1. package/.turbo/turbo-compile-libs.log +1 -1
  2. package/dist/core/FragmentReference.d.ts +1 -1
  3. package/dist/core/FragmentReference.d.ts.map +1 -1
  4. package/dist/core/FragmentReference.js +2 -2
  5. package/dist/core/IsographEnvironment.d.ts +7 -5
  6. package/dist/core/IsographEnvironment.d.ts.map +1 -1
  7. package/dist/core/IsographEnvironment.js +5 -4
  8. package/dist/core/areEqualWithDeepComparison.d.ts.map +1 -1
  9. package/dist/core/areEqualWithDeepComparison.js +2 -5
  10. package/dist/core/cache.d.ts +5 -18
  11. package/dist/core/cache.d.ts.map +1 -1
  12. package/dist/core/cache.js +10 -222
  13. package/dist/core/check.js +5 -5
  14. package/dist/core/componentCache.d.ts +2 -2
  15. package/dist/core/componentCache.d.ts.map +1 -1
  16. package/dist/core/componentCache.js +1 -26
  17. package/dist/core/entrypoint.d.ts +2 -2
  18. package/dist/core/entrypoint.d.ts.map +1 -1
  19. package/dist/core/garbageCollection.d.ts +2 -2
  20. package/dist/core/garbageCollection.d.ts.map +1 -1
  21. package/dist/core/garbageCollection.js +3 -3
  22. package/dist/core/getOrCreateCacheForArtifact.d.ts +8 -0
  23. package/dist/core/getOrCreateCacheForArtifact.d.ts.map +1 -0
  24. package/dist/core/getOrCreateCacheForArtifact.js +40 -0
  25. package/dist/core/logging.d.ts +8 -8
  26. package/dist/core/logging.d.ts.map +1 -1
  27. package/dist/core/makeNetworkRequest.d.ts +3 -3
  28. package/dist/core/makeNetworkRequest.d.ts.map +1 -1
  29. package/dist/core/makeNetworkRequest.js +3 -2
  30. package/dist/core/optimisticProxy.d.ts.map +1 -1
  31. package/dist/core/optimisticProxy.js +24 -22
  32. package/dist/core/read.d.ts +3 -3
  33. package/dist/core/read.d.ts.map +1 -1
  34. package/dist/core/read.js +4 -4
  35. package/dist/core/startUpdate.d.ts.map +1 -1
  36. package/dist/core/startUpdate.js +2 -1
  37. package/dist/core/subscribe.d.ts +8 -0
  38. package/dist/core/subscribe.d.ts.map +1 -0
  39. package/dist/core/subscribe.js +127 -0
  40. package/dist/core/util.d.ts +7 -0
  41. package/dist/core/util.d.ts.map +1 -1
  42. package/dist/core/util.js +26 -0
  43. package/dist/core/writeData.d.ts +7 -0
  44. package/dist/core/writeData.d.ts.map +1 -0
  45. package/dist/core/writeData.js +36 -0
  46. package/dist/index.d.ts +5 -2
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +8 -5
  49. package/dist/loadable-hooks/useConnectionSpecPagination.d.ts +3 -3
  50. package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -1
  51. package/dist/loadable-hooks/useConnectionSpecPagination.js +3 -3
  52. package/dist/loadable-hooks/useSkipLimitPagination.d.ts +3 -3
  53. package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +1 -1
  54. package/dist/loadable-hooks/useSkipLimitPagination.js +3 -3
  55. package/dist/react/createIsographEnvironment.d.ts +4 -0
  56. package/dist/react/createIsographEnvironment.d.ts.map +1 -0
  57. package/dist/react/createIsographEnvironment.js +8 -0
  58. package/dist/react/maybeUnwrapNetworkRequest.d.ts +4 -0
  59. package/dist/react/maybeUnwrapNetworkRequest.d.ts.map +1 -0
  60. package/dist/react/maybeUnwrapNetworkRequest.js +14 -0
  61. package/dist/react/useLazyReference.d.ts.map +1 -1
  62. package/dist/react/useLazyReference.js +2 -2
  63. package/dist/react/useReadAndSubscribe.d.ts +4 -2
  64. package/dist/react/useReadAndSubscribe.d.ts.map +1 -1
  65. package/dist/react/useReadAndSubscribe.js +31 -2
  66. package/dist/react/useRerenderOnChange.d.ts +2 -2
  67. package/dist/react/useRerenderOnChange.d.ts.map +1 -1
  68. package/dist/react/useRerenderOnChange.js +2 -2
  69. package/dist/react/useResult.d.ts +2 -4
  70. package/dist/react/useResult.d.ts.map +1 -1
  71. package/dist/react/useResult.js +3 -13
  72. package/package.json +4 -4
  73. package/src/core/FragmentReference.ts +2 -2
  74. package/src/core/IsographEnvironment.ts +26 -10
  75. package/src/core/areEqualWithDeepComparison.ts +2 -6
  76. package/src/core/cache.ts +18 -364
  77. package/src/core/check.ts +5 -5
  78. package/src/core/componentCache.ts +8 -43
  79. package/src/core/entrypoint.ts +2 -2
  80. package/src/core/garbageCollection.ts +8 -8
  81. package/src/core/getOrCreateCacheForArtifact.ts +86 -0
  82. package/src/core/logging.ts +10 -10
  83. package/src/core/makeNetworkRequest.ts +8 -8
  84. package/src/core/optimisticProxy.ts +27 -26
  85. package/src/core/read.ts +17 -17
  86. package/src/core/startUpdate.ts +1 -1
  87. package/src/core/subscribe.ts +195 -0
  88. package/src/core/util.ts +26 -0
  89. package/src/core/writeData.ts +79 -0
  90. package/src/index.ts +3 -4
  91. package/src/loadable-hooks/useConnectionSpecPagination.ts +6 -6
  92. package/src/loadable-hooks/useSkipLimitPagination.ts +6 -6
  93. package/src/react/createIsographEnvironment.ts +23 -0
  94. package/src/react/maybeUnwrapNetworkRequest.ts +17 -0
  95. package/src/react/useLazyReference.ts +2 -4
  96. package/src/react/useReadAndSubscribe.ts +53 -5
  97. package/src/react/useRerenderOnChange.ts +3 -3
  98. package/src/react/useResult.ts +6 -24
  99. package/src/tests/garbageCollection.test.ts +3 -6
  100. package/src/tests/meNameSuccessor.ts +1 -1
  101. package/src/tests/nodeQuery.ts +1 -1
  102. package/src/tests/normalizeData.test.ts +5 -3
  103. package/src/tests/optimisticProxy.test.ts +7 -5
  104. package/src/tests/startUpdate.test.ts +5 -7
  105. package/vitest.config.ts +5 -0
@@ -1,37 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getOrCreateCachedComponent = getOrCreateCachedComponent;
4
- const useReadAndSubscribe_1 = require("../react/useReadAndSubscribe");
5
- const useResult_1 = require("../react/useResult");
6
4
  const FragmentReference_1 = require("./FragmentReference");
7
- const logging_1 = require("./logging");
8
- const PromiseWrapper_1 = require("./PromiseWrapper");
9
5
  const startUpdate_1 = require("./startUpdate");
10
6
  function getOrCreateCachedComponent(environment, fragmentReference, networkRequestOptions) {
11
7
  var _a;
12
8
  var _b, _c;
13
9
  // We create startUpdate outside of component to make it stable
14
10
  const startUpdate = (0, startUpdate_1.createStartUpdate)(environment, fragmentReference, networkRequestOptions);
15
- return ((_a = (_b = environment.componentCache)[_c = (0, FragmentReference_1.stableIdForFragmentReference)(fragmentReference)]) !== null && _a !== void 0 ? _a : (_b[_c] = (() => {
16
- function Component(additionalRuntimeProps) {
17
- (0, useResult_1.maybeUnwrapNetworkRequest)(fragmentReference.networkRequest, networkRequestOptions);
18
- const readerWithRefetchQueries = (0, PromiseWrapper_1.readPromise)(fragmentReference.readerWithRefetchQueries);
19
- const data = (0, useReadAndSubscribe_1.useReadAndSubscribe)(fragmentReference, networkRequestOptions, readerWithRefetchQueries.readerArtifact.readerAst);
20
- (0, logging_1.logMessage)(environment, () => ({
21
- kind: 'ComponentRerendered',
22
- componentName: fragmentReference.fieldName,
23
- rootLink: fragmentReference.root,
24
- }));
25
- return readerWithRefetchQueries.readerArtifact.resolver({
26
- data,
27
- parameters: fragmentReference.variables,
28
- startUpdate: readerWithRefetchQueries.readerArtifact.hasUpdatable
29
- ? startUpdate
30
- : undefined,
31
- }, additionalRuntimeProps);
32
- }
33
- const idString = `(type: ${fragmentReference.root.__typename}, id: ${fragmentReference.root.__link})`;
34
- Component.displayName = `${fragmentReference.fieldName} ${idString} @component`;
35
- return Component;
36
- })()));
11
+ return ((_a = (_b = environment.componentCache)[_c = (0, FragmentReference_1.stableIdForFragmentReference)(fragmentReference)]) !== null && _a !== void 0 ? _a : (_b[_c] = environment.componentFunction(environment, fragmentReference, networkRequestOptions, startUpdate)));
37
12
  }
@@ -2,8 +2,8 @@ import type { Contravariant, PhantomData } from './brand';
2
2
  import type { NetworkResponseObject } from './cache';
3
3
  import type { FragmentReference, UnknownTReadFromStore } from './FragmentReference';
4
4
  import type { ComponentOrFieldName, TypeName } from './IsographEnvironment';
5
- import { TopLevelReaderArtifact } from './reader';
6
- import { Arguments } from './util';
5
+ import type { TopLevelReaderArtifact } from './reader';
6
+ import type { Arguments } from './util';
7
7
  export type ReaderWithRefetchQueries<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
8
8
  readonly kind: 'ReaderWithRefetchQueries';
9
9
  readonly readerArtifact: TopLevelReaderArtifact<TReadFromStore, TClientFieldValue, any>;
@@ -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,5 +1,5 @@
1
- import { type NormalizationAst } from './entrypoint';
2
- import { IsographEnvironment, type StoreLink } from './IsographEnvironment';
1
+ import type { NormalizationAst } from './entrypoint';
2
+ import { type IsographEnvironment, type StoreLink } from './IsographEnvironment';
3
3
  import type { BaseStoreLayer } from './optimisticProxy';
4
4
  import { type PromiseWrapper, type PromiseWrapperOk } from './PromiseWrapper';
5
5
  export type RetainedQuery = {
@@ -1 +1 @@
1
- {"version":3,"file":"garbageCollection.d.ts","sourceRoot":"","sources":["../../src/core/garbageCollection.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAGL,mBAAmB,EAGnB,KAAK,SAAS,EAEf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC5D,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,iCAAkC,SAAQ,aAAa;IACtE,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;CAC/D;AAWD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAC3C,wBAAgB,aAAa,CAC3B,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,aAAa,GAC3B,oBAAoB,CAUtB;AAED,wBAAgB,WAAW,CACzB,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,aAAa,QAM7B;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,mBAAmB,QAqBzE;AAED,wBAAgB,4BAA4B,CAC1C,eAAe,EAAE,iCAAiC,EAAE,EACpD,cAAc,EAAE,cAAc,QA6B/B"}
1
+ {"version":3,"file":"garbageCollection.d.ts","sourceRoot":"","sources":["../../src/core/garbageCollection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAGL,KAAK,mBAAmB,EAGxB,KAAK,SAAS,EAEf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC5D,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,iCAAkC,SAAQ,aAAa;IACtE,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;CAC/D;AAWD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAC3C,wBAAgB,aAAa,CAC3B,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,aAAa,GAC3B,oBAAoB,CAUtB;AAED,wBAAgB,WAAW,CACzB,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,aAAa,QAM7B;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,mBAAmB,QAqBzE;AAED,wBAAgB,4BAA4B,CAC1C,eAAe,EAAE,iCAAiC,EAAE,EACpD,cAAc,EAAE,cAAc,QA6B/B"}
@@ -56,7 +56,7 @@ function garbageCollectBaseStoreLayer(retainedQueries, baseStoreLayer) {
56
56
  continue;
57
57
  const retainedTypeIds = retainedIds[typeName];
58
58
  // delete all objects
59
- if (retainedTypeIds == undefined || retainedTypeIds.size == 0) {
59
+ if (retainedTypeIds === undefined || retainedTypeIds.size === 0) {
60
60
  delete baseStoreLayer.data[typeName];
61
61
  continue;
62
62
  }
@@ -102,10 +102,10 @@ function recordReachableIdsFromRecord(dataLayer, currentRecord, mutableRetainedI
102
102
  links.push(link);
103
103
  }
104
104
  }
105
- let typeStore = selection.concreteType !== null
105
+ let typeStore = selection.concreteType != null
106
106
  ? dataLayer[selection.concreteType]
107
107
  : null;
108
- if (typeStore == null && selection.concreteType !== null) {
108
+ if (typeStore == null && selection.concreteType != null) {
109
109
  continue;
110
110
  }
111
111
  for (const nextRecordLink of links) {
@@ -0,0 +1,8 @@
1
+ import type { ParentCache } from '@isograph/isograph-react-disposable-state/dist';
2
+ import { type NetworkResponseObject } from './cache';
3
+ import type { FetchOptions } from './check';
4
+ import type { IsographEntrypoint, NormalizationAst, NormalizationAstLoader } from './entrypoint';
5
+ import type { ExtractParameters, FragmentReference, UnknownTReadFromStore } from './FragmentReference';
6
+ import { type IsographEnvironment } from './IsographEnvironment';
7
+ export declare function getOrCreateCacheForArtifact<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(environment: IsographEnvironment, entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue, TRawResponseType>): ParentCache<FragmentReference<TReadFromStore, TClientFieldValue>>;
8
+ //# sourceMappingURL=getOrCreateCacheForArtifact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOrCreateCacheForArtifact.d.ts","sourceRoot":"","sources":["../../src/core/getOrCreateCacheForArtifact.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,uBAAuB,CAAC;AAI/B,wBAAgB,2BAA2B,CACzC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EACnE,gBAAgB,SAAS,qBAAqB,EAE9C,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,kBAAkB,CAC5B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB,EACD,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,GAC/D,WAAW,CAAC,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CA6CnE"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOrCreateCacheForArtifact = getOrCreateCacheForArtifact;
4
+ const cache_1 = require("./cache");
5
+ const IsographEnvironment_1 = require("./IsographEnvironment");
6
+ const makeNetworkRequest_1 = require("./makeNetworkRequest");
7
+ const util_1 = require("./util");
8
+ function getOrCreateCacheForArtifact(environment, entrypoint, variables, fetchOptions) {
9
+ let cacheKey = '';
10
+ switch (entrypoint.networkRequestInfo.operation.kind) {
11
+ case 'Operation':
12
+ cacheKey =
13
+ entrypoint.networkRequestInfo.operation.text +
14
+ JSON.stringify((0, util_1.stableCopy)(variables));
15
+ break;
16
+ case 'PersistedOperation':
17
+ cacheKey =
18
+ entrypoint.networkRequestInfo.operation.operationId +
19
+ JSON.stringify((0, util_1.stableCopy)(variables));
20
+ break;
21
+ }
22
+ const factory = () => {
23
+ const { fieldName, readerArtifactKind, readerWithRefetchQueries } = (0, IsographEnvironment_1.getOrLoadReaderWithRefetchQueries)(environment, entrypoint.readerWithRefetchQueries);
24
+ const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, entrypoint, variables, readerWithRefetchQueries, fetchOptions !== null && fetchOptions !== void 0 ? fetchOptions : null);
25
+ const itemCleanupPair = [
26
+ {
27
+ kind: 'FragmentReference',
28
+ readerWithRefetchQueries,
29
+ fieldName,
30
+ readerArtifactKind,
31
+ root: { __link: IsographEnvironment_1.ROOT_ID, __typename: entrypoint.concreteType },
32
+ variables,
33
+ networkRequest: networkRequest,
34
+ },
35
+ disposeNetworkRequest,
36
+ ];
37
+ return itemCleanupPair;
38
+ };
39
+ return (0, cache_1.getOrCreateItemInSuspenseCache)(environment, cacheKey, factory);
40
+ }
@@ -1,11 +1,11 @@
1
- import { CleanupFn } from '@isograph/disposable-types';
2
- import { NetworkResponseObject, type EncounteredIds } from './cache';
3
- import { CheckResult } from './check';
4
- import { IsographEntrypoint, RefetchQueryNormalizationArtifact, type NormalizationAstNodes } from './entrypoint';
5
- import { FragmentReference, Variables } from './FragmentReference';
6
- import { IsographEnvironment, StoreRecord, type StoreLink } from './IsographEnvironment';
7
- import { ReadDataResult } from './read';
8
- import { Arguments } from './util';
1
+ import type { CleanupFn } from '@isograph/disposable-types';
2
+ import type { NetworkResponseObject, EncounteredIds } from './cache';
3
+ import type { CheckResult } from './check';
4
+ import type { IsographEntrypoint, RefetchQueryNormalizationArtifact, NormalizationAstNodes } from './entrypoint';
5
+ import type { FragmentReference, Variables } from './FragmentReference';
6
+ import type { IsographEnvironment, StoreRecord, StoreLink } from './IsographEnvironment';
7
+ import type { ReadDataResult } from './read';
8
+ import type { Arguments } from './util';
9
9
  import type { StoreLayer } from './optimisticProxy';
10
10
  /**
11
11
  * Note: these types are unstable. We will add and remove items from this enum
@@ -1 +1 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/core/logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/core/logging.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { ItemCleanupPair } from '@isograph/disposable-types';
1
+ import type { ItemCleanupPair } from '@isograph/disposable-types';
2
2
  import { type NetworkResponseObject } from './cache';
3
3
  import { FetchOptions } from './check';
4
- import { IsographEntrypoint, ReaderWithRefetchQueries, RefetchQueryNormalizationArtifact, type NormalizationAst, type NormalizationAstLoader } from './entrypoint';
5
- import { ExtractParameters, type UnknownTReadFromStore } from './FragmentReference';
4
+ import type { IsographEntrypoint, NormalizationAst, NormalizationAstLoader, ReaderWithRefetchQueries, RefetchQueryNormalizationArtifact } from './entrypoint';
5
+ import type { ExtractParameters, UnknownTReadFromStore } from './FragmentReference';
6
6
  import { IsographEnvironment } from './IsographEnvironment';
7
7
  import { AnyError, PromiseWrapper } from './PromiseWrapper';
8
8
  export declare function maybeMakeNetworkRequest<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>, variables: ExtractParameters<TReadFromStore>, readerWithRefetchQueries: PromiseWrapper<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>> | null, fetchOptions: FetchOptions<TClientFieldValue, TRawResponseType> | null): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
@@ -1 +1 @@
1
- {"version":3,"file":"makeNetworkRequest.d.ts","sourceRoot":"","sources":["../../src/core/makeNetworkRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,SAAS,CAAC;AACjB,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;AAShF,OAAO,EACL,QAAQ,EACR,cAAc,EAGf,MAAM,kBAAkB,CAAC;AAM1B,wBAAgB,uBAAuB,CACrC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EACnE,gBAAgB,SAAS,qBAAqB,EAE9C,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB,EACL,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,EAAE,gBAAgB,CAAC,GAAG,IAAI,GACrE,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAuDjD;AAED,wBAAgB,sCAAsC,CACpD,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,gBAAgB,SAAS,qBAAqB,EAE9C,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GAAG,sBAAsB,EACzC,gBAAgB,CACjB,EACL,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,GAC3C,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAmBjD;AAED,wBAAgB,kBAAkB,CAChC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EACnE,gBAAgB,SAAS,qBAAqB,EAE9C,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB,EACL,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,EAAE,gBAAgB,CAAC,GAAG,IAAI,GACrE,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAiKjD"}
1
+ {"version":3,"file":"makeNetworkRequest.d.ts","sourceRoot":"","sources":["../../src/core/makeNetworkRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAqC,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1E,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACxB,iCAAiC,EAClC,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,iBAAiB,EAEjB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,mBAAmB,EAAsB,MAAM,uBAAuB,CAAC;AAShF,OAAO,EACL,QAAQ,EACR,cAAc,EAGf,MAAM,kBAAkB,CAAC;AAO1B,wBAAgB,uBAAuB,CACrC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EACnE,gBAAgB,SAAS,qBAAqB,EAE9C,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB,EACL,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,EAAE,gBAAgB,CAAC,GAAG,IAAI,GACrE,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAuDjD;AAED,wBAAgB,sCAAsC,CACpD,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,gBAAgB,SAAS,qBAAqB,EAE9C,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GAAG,sBAAsB,EACzC,gBAAgB,CACjB,EACL,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,GAC3C,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAmBjD;AAED,wBAAgB,kBAAkB,CAChC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EACnE,gBAAgB,SAAS,qBAAqB,EAE9C,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB,EACL,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,EAAE,gBAAgB,CAAC,GAAG,IAAI,GACrE,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAiKjD"}
@@ -13,6 +13,7 @@ const optimisticProxy_1 = require("./optimisticProxy");
13
13
  const PromiseWrapper_1 = require("./PromiseWrapper");
14
14
  const read_1 = require("./read");
15
15
  const startUpdate_1 = require("./startUpdate");
16
+ const subscribe_1 = require("./subscribe");
16
17
  let networkRequestId = 0;
17
18
  function maybeMakeNetworkRequest(environment, artifact, variables, readerWithRefetchQueries, fetchOptions) {
18
19
  var _a;
@@ -113,7 +114,7 @@ function makeNetworkRequest(environment, artifact, variables, readerWithRefetchQ
113
114
  store: environment.store,
114
115
  encounteredIds: encounteredIds,
115
116
  }));
116
- (0, cache_1.callSubscriptions)(environment, encounteredIds);
117
+ (0, subscribe_1.callSubscriptions)(environment, encounteredIds);
117
118
  status = {
118
119
  kind: 'UndisposedComplete',
119
120
  retainedQuery: status.retainedQuery,
@@ -257,7 +258,7 @@ function makeOptimisticUpdate(environment, artifact, variables, optimisticNetwor
257
258
  store: environment.store,
258
259
  encounteredIds: encounteredIds,
259
260
  }));
260
- (0, cache_1.callSubscriptions)(environment, encounteredIds);
261
+ (0, subscribe_1.callSubscriptions)(environment, encounteredIds);
261
262
  return optimistic;
262
263
  }
263
264
  function revertOptimisticStoreLayerAndMaybeReplaceIfUndisposedIncomplete(environment, status, normalizeData) {
@@ -1 +1 @@
1
- {"version":3,"file":"optimisticProxy.d.ts","sourceRoot":"","sources":["../../src/core/optimisticProxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"optimisticProxy.d.ts","sourceRoot":"","sources":["../../src/core/optimisticProxy.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ exports.addOptimisticUpdaterStoreLayer = addOptimisticUpdaterStoreLayer;
9
9
  exports.addOptimisticNetworkResponseStoreLayer = addOptimisticNetworkResponseStoreLayer;
10
10
  exports.revertOptimisticStoreLayerAndMaybeReplace = revertOptimisticStoreLayerAndMaybeReplace;
11
11
  const cache_1 = require("./cache");
12
+ const subscribe_1 = require("./subscribe");
12
13
  function getOrInsertRecord(dataLayer, link) {
13
14
  var _a, _b;
14
15
  var _c, _d;
@@ -23,15 +24,16 @@ function getOrInsertRecord(dataLayer, link) {
23
24
  function getStoreRecordProxy(storeLayer, link) {
24
25
  var _a;
25
26
  let startNode = storeLayer;
26
- while (startNode !== null) {
27
+ while (startNode != null) {
27
28
  const storeRecord = (_a = startNode.data[link.__typename]) === null || _a === void 0 ? void 0 : _a[link.__link];
28
- if (storeRecord === null) {
29
- return null;
29
+ if (storeRecord === undefined) {
30
+ startNode = startNode.parentStoreLayer;
31
+ continue;
30
32
  }
31
- if (storeRecord != null) {
32
- return getMutableStoreRecordProxy(startNode, link);
33
+ if (storeRecord == null) {
34
+ return null;
33
35
  }
34
- startNode = startNode.parentStoreLayer;
36
+ return getMutableStoreRecordProxy(startNode, link);
35
37
  }
36
38
  return undefined;
37
39
  }
@@ -40,12 +42,12 @@ function getMutableStoreRecordProxy(childMostStoreLayer, link) {
40
42
  get(_, propertyName) {
41
43
  var _a;
42
44
  let currentStoreLayer = childMostStoreLayer;
43
- while (currentStoreLayer !== null) {
45
+ while (currentStoreLayer != null) {
44
46
  const storeRecord = (_a = currentStoreLayer.data[link.__typename]) === null || _a === void 0 ? void 0 : _a[link.__link];
45
- if (storeRecord === null) {
46
- return undefined;
47
- }
48
- if (storeRecord != null) {
47
+ if (storeRecord !== undefined) {
48
+ if (storeRecord == null) {
49
+ return undefined;
50
+ }
49
51
  const value = Reflect.get(storeRecord, propertyName);
50
52
  if (value !== undefined) {
51
53
  return value;
@@ -57,14 +59,14 @@ function getMutableStoreRecordProxy(childMostStoreLayer, link) {
57
59
  has(_, propertyName) {
58
60
  var _a;
59
61
  let currentStoreLayer = childMostStoreLayer;
60
- while (currentStoreLayer !== null) {
62
+ while (currentStoreLayer != null) {
61
63
  const storeRecord = (_a = currentStoreLayer.data[link.__typename]) === null || _a === void 0 ? void 0 : _a[link.__link];
62
- if (storeRecord === null) {
63
- return false;
64
- }
65
- if (storeRecord != null) {
64
+ if (storeRecord !== undefined) {
65
+ if (storeRecord == null) {
66
+ return false;
67
+ }
66
68
  const value = Reflect.has(storeRecord, propertyName);
67
- if (value !== undefined) {
69
+ if (value) {
68
70
  return true;
69
71
  }
70
72
  }
@@ -110,7 +112,7 @@ function mergeDataLayer(target, source) {
110
112
  }
111
113
  const targetRecordById = ((_a = target[typeName]) !== null && _a !== void 0 ? _a : (target[typeName] = {}));
112
114
  for (const [id, sourceRecord] of Object.entries(sourceById)) {
113
- if (sourceRecord === null) {
115
+ if (sourceRecord == null) {
114
116
  targetRecordById[id] = null;
115
117
  continue;
116
118
  }
@@ -240,7 +242,7 @@ function reexecuteUpdatesAndMergeData(storeLayer,
240
242
  oldMergedData,
241
243
  // reflects whatever replaced the optimistic layer
242
244
  newMergedData) {
243
- while (storeLayer !== null) {
245
+ while (storeLayer != null) {
244
246
  mergeDataLayer(oldMergedData, storeLayer.data);
245
247
  switch (storeLayer.kind) {
246
248
  case 'OptimisticNetworkResponseStoreLayer':
@@ -273,7 +275,7 @@ newMergedData) {
273
275
  */
274
276
  function setChildOfNode(environment, storeLayerToModify, newChildStoreLayer) {
275
277
  storeLayerToModify.childStoreLayer = newChildStoreLayer;
276
- if (newChildStoreLayer !== null) {
278
+ if (newChildStoreLayer != null) {
277
279
  newChildStoreLayer.parentStoreLayer = storeLayerToModify;
278
280
  }
279
281
  else {
@@ -302,7 +304,7 @@ function revertOptimisticStoreLayerAndMaybeReplace(environment, optimisticNode,
302
304
  optimisticNode.data = {};
303
305
  let newMergedData = {};
304
306
  let childNode = optimisticNode.childStoreLayer;
305
- if (normalizeData !== null) {
307
+ if (normalizeData != null) {
306
308
  const networkResponseStoreLayer = {
307
309
  kind: 'NetworkResponseStoreLayer',
308
310
  data: {},
@@ -363,7 +365,7 @@ function revertOptimisticStoreLayerAndMaybeReplace(environment, optimisticNode,
363
365
  // the modified IDs, and re-execute subscriptions.
364
366
  let encounteredIds = new Map();
365
367
  compareData(oldMergedData, newMergedData, encounteredIds);
366
- (0, cache_1.callSubscriptions)(environment, encounteredIds);
368
+ (0, subscribe_1.callSubscriptions)(environment, encounteredIds);
367
369
  }
368
370
  function compareData(oldData, newData, encounteredIds) {
369
371
  var _a;
@@ -1,9 +1,9 @@
1
1
  import { type EncounteredIds } from './cache';
2
- import { RefetchQueryNormalizationArtifactWrapper } from './entrypoint';
3
- import { ExtractData, FragmentReference, Variables, type UnknownTReadFromStore } from './FragmentReference';
2
+ import type { RefetchQueryNormalizationArtifactWrapper } from './entrypoint';
3
+ import type { ExtractData, FragmentReference, UnknownTReadFromStore, Variables } from './FragmentReference';
4
4
  import { IsographEnvironment, type DataTypeValue, type StoreLink, type StoreRecord } from './IsographEnvironment';
5
5
  import { PromiseWrapper } from './PromiseWrapper';
6
- import { ReaderAst, type LoadablySelectedField, type ReaderClientPointer, type ReaderImperativelyLoadedField, type ReaderLinkedField, type ReaderNonLoadableResolverField, type ReaderScalarField } from './reader';
6
+ import type { LoadablySelectedField, ReaderAst, ReaderClientPointer, ReaderImperativelyLoadedField, ReaderLinkedField, ReaderNonLoadableResolverField, ReaderScalarField } from './reader';
7
7
  export type WithEncounteredRecords<T> = {
8
8
  readonly encounteredRecords: EncounteredIds;
9
9
  readonly item: ExtractData<T>;
@@ -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":"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"}
package/dist/core/read.js CHANGED
@@ -75,7 +75,7 @@ function readData(environment, ast, root, variables, nestedRefetchQueries, netwo
75
75
  recordLink: root,
76
76
  };
77
77
  }
78
- if (storeRecord === null) {
78
+ if (storeRecord == null) {
79
79
  return {
80
80
  kind: 'Success',
81
81
  data: null,
@@ -435,7 +435,7 @@ function readLinkedFieldData(environment, field, storeRecord, root, variables, n
435
435
  recordLink: root,
436
436
  };
437
437
  }
438
- else if (link === null) {
438
+ else if (link == null) {
439
439
  results.push(null);
440
440
  continue;
441
441
  }
@@ -507,7 +507,7 @@ function readLinkedFieldData(environment, field, storeRecord, root, variables, n
507
507
  link = altLink;
508
508
  }
509
509
  }
510
- else if (link === null) {
510
+ else if (link == null) {
511
511
  return {
512
512
  kind: 'Success',
513
513
  data: null,
@@ -537,7 +537,7 @@ function readLinkedFieldData(environment, field, storeRecord, root, variables, n
537
537
  return data;
538
538
  }
539
539
  function isClientPointer(field) {
540
- return field.refetchQueryIndex !== null;
540
+ return field.refetchQueryIndex != null;
541
541
  }
542
542
  function readClientPointerData(environment, field, root, variables, nestedRefetchQueries, readData) {
543
543
  const refetchReaderParams = readData([
@@ -1 +1 @@
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;AAE/B,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAE3B,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,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,CAqCpC;AAED,wBAAgB,oBAAoB,CAClC,cAAc,SAAS,qBAAqB,EAE5C,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,EAC7D,qBAAqB,EAAE,2BAA2B,EAClD,iBAAiB,EAAE,cAAc,GAChC,oBAAoB,CAAC,cAAc,CAAC,CAmBtC"}
1
+ {"version":3,"file":"startUpdate.d.ts","sourceRoot":"","sources":["../../src/core/startUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,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;AAE/B,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAML,KAAK,2BAA2B,EAEjC,MAAM,QAAQ,CAAC;AAIhB,wBAAgB,4BAA4B,CAC1C,cAAc,SAAS,qBAAqB,EAE5C,WAAW,EAAE,mBAAmB,EAChC,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,EAC7D,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,CAqCpC;AAED,wBAAgB,oBAAoB,CAClC,cAAc,SAAS,qBAAqB,EAE5C,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,EAC7D,qBAAqB,EAAE,2BAA2B,EAClD,iBAAiB,EAAE,cAAc,GAChC,oBAAoB,CAAC,cAAc,CAAC,CAmBtC"}
@@ -10,6 +10,7 @@ const logging_1 = require("./logging");
10
10
  const optimisticProxy_1 = require("./optimisticProxy");
11
11
  const PromiseWrapper_1 = require("./PromiseWrapper");
12
12
  const read_1 = require("./read");
13
+ const subscribe_1 = require("./subscribe");
13
14
  function getOrCreateCachedStartUpdate(environment, fragmentReference, networkRequestOptions) {
14
15
  var _a;
15
16
  var _b, _c;
@@ -37,7 +38,7 @@ function createStartUpdate(environment, fragmentReference, networkRequestOptions
37
38
  kind: 'StartUpdateComplete',
38
39
  updatedIds: mutableUpdatedIds,
39
40
  }));
40
- (0, cache_1.callSubscriptions)(environment, mutableUpdatedIds);
41
+ (0, subscribe_1.callSubscriptions)(environment, mutableUpdatedIds);
41
42
  };
42
43
  }
43
44
  function createUpdatableProxy(environment, storeLayer, fragmentReference, networkRequestOptions, mutableUpdatedIds) {
@@ -0,0 +1,8 @@
1
+ import type { EncounteredIds } from './cache';
2
+ import type { FragmentReference, UnknownTReadFromStore } from './FragmentReference';
3
+ import type { IsographEnvironment } from './IsographEnvironment';
4
+ import { type WithEncounteredRecords } from './read';
5
+ import type { ReaderAst } from './reader';
6
+ export declare function subscribe<TReadFromStore extends UnknownTReadFromStore>(environment: IsographEnvironment, encounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>, fragmentReference: FragmentReference<TReadFromStore, any>, callback: (newEncounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>) => void, readerAst: ReaderAst<TReadFromStore>): () => void;
7
+ export declare function callSubscriptions(environment: IsographEnvironment, recordsEncounteredWhenNormalizing: EncounteredIds): void;
8
+ //# sourceMappingURL=subscribe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../src/core/subscribe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,sBAAsB,EAAwB,MAAM,QAAQ,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,wBAAgB,SAAS,CAAC,cAAc,SAAS,qBAAqB,EACpE,WAAW,EAAE,mBAAmB,EAChC,yBAAyB,EAAE,sBAAsB,CAAC,cAAc,CAAC,EACjE,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,EACzD,QAAQ,EAAE,CACR,4BAA4B,EAAE,sBAAsB,CAAC,cAAc,CAAC,KACjE,IAAI,EACT,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,GACnC,MAAM,IAAI,CAiBZ;AAuBD,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,mBAAmB,EAChC,iCAAiC,EAAE,cAAc,QAkDlD"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.subscribe = subscribe;
4
+ exports.callSubscriptions = callSubscriptions;
5
+ const areEqualWithDeepComparison_1 = require("./areEqualWithDeepComparison");
6
+ const logging_1 = require("./logging");
7
+ const read_1 = require("./read");
8
+ function subscribe(environment, encounteredDataAndRecords, fragmentReference, callback, readerAst) {
9
+ const fragmentSubscription = {
10
+ kind: 'FragmentSubscription',
11
+ callback,
12
+ encounteredDataAndRecords,
13
+ fragmentReference,
14
+ readerAst,
15
+ };
16
+ // subscribe is called in an effect. (We should actually subscribe during the
17
+ // initial render.) Because it's called in an effect, we might have missed some
18
+ // changes since the initial render! So, at this point, we re-read and call the
19
+ // subscription (i.e. re-render) if the fragment data has changed.
20
+ callSubscriptionIfDataChanged(environment, fragmentSubscription);
21
+ environment.subscriptions.add(fragmentSubscription);
22
+ return () => environment.subscriptions.delete(fragmentSubscription);
23
+ }
24
+ // Calls to readButDoNotEvaluate can suspend (i.e. throw a promise).
25
+ // Maybe in the future, they will be able to throw errors.
26
+ //
27
+ // That's probably okay to ignore. We don't, however, want to prevent
28
+ // updating other subscriptions if one subscription had missing data.
29
+ function logAnyError(environment, context, f) {
30
+ try {
31
+ f();
32
+ }
33
+ catch (e) {
34
+ (0, logging_1.logMessage)(environment, () => ({
35
+ kind: 'ErrorEncounteredInWithErrorHandling',
36
+ error: e,
37
+ context,
38
+ }));
39
+ }
40
+ }
41
+ function callSubscriptions(environment, recordsEncounteredWhenNormalizing) {
42
+ environment.subscriptions.forEach((subscription) => logAnyError(environment, { situation: 'calling subscriptions' }, () => {
43
+ var _a;
44
+ switch (subscription.kind) {
45
+ case 'FragmentSubscription': {
46
+ // TODO if there are multiple components subscribed to the same
47
+ // fragment, we will call readButNotEvaluate multiple times. We
48
+ // should fix that.
49
+ if (hasOverlappingIds(recordsEncounteredWhenNormalizing, subscription.encounteredDataAndRecords.encounteredRecords)) {
50
+ callSubscriptionIfDataChanged(environment, subscription);
51
+ }
52
+ return;
53
+ }
54
+ case 'AnyRecords': {
55
+ logAnyError(environment, { situation: 'calling AnyRecords callback' }, () => subscription.callback());
56
+ return;
57
+ }
58
+ case 'AnyChangesToRecord': {
59
+ if (((_a = recordsEncounteredWhenNormalizing
60
+ .get(subscription.recordLink.__typename)) === null || _a === void 0 ? void 0 : _a.has(subscription.recordLink.__link)) != null) {
61
+ logAnyError(environment, { situation: 'calling AnyChangesToRecord callback' }, () => subscription.callback());
62
+ }
63
+ return;
64
+ }
65
+ default: {
66
+ // Ensure we have covered all variants
67
+ const _ = subscription;
68
+ _;
69
+ throw new Error('Unexpected case');
70
+ }
71
+ }
72
+ }));
73
+ }
74
+ function callSubscriptionIfDataChanged(environment, subscription) {
75
+ const newEncounteredDataAndRecords = (0, read_1.readButDoNotEvaluate)(environment, subscription.fragmentReference,
76
+ // Is this wrong?
77
+ // Reasons to think no:
78
+ // - we are only updating the read-out value, and the network
79
+ // options only affect whether we throw.
80
+ // - the component will re-render, and re-throw on its own, anyway.
81
+ //
82
+ // Reasons to think not:
83
+ // - it seems more efficient to suspend here and not update state,
84
+ // if we expect that the component will just throw anyway
85
+ // - consistency
86
+ // - it's also weird, this is called from makeNetworkRequest, where
87
+ // we don't currently pass network request options
88
+ {
89
+ suspendIfInFlight: false,
90
+ throwOnNetworkError: false,
91
+ });
92
+ const mergedItem = (0, areEqualWithDeepComparison_1.mergeObjectsUsingReaderAst)(subscription.readerAst, subscription.encounteredDataAndRecords.item, newEncounteredDataAndRecords.item);
93
+ (0, logging_1.logMessage)(environment, () => ({
94
+ kind: 'DeepEqualityCheck',
95
+ fragmentReference: subscription.fragmentReference,
96
+ old: subscription.encounteredDataAndRecords.item,
97
+ new: newEncounteredDataAndRecords.item,
98
+ deeplyEqual: mergedItem === subscription.encounteredDataAndRecords.item,
99
+ }));
100
+ if (mergedItem !== subscription.encounteredDataAndRecords.item) {
101
+ logAnyError(environment, { situation: 'calling FragmentSubscription callback' }, () => {
102
+ subscription.callback(newEncounteredDataAndRecords);
103
+ });
104
+ subscription.encounteredDataAndRecords = newEncounteredDataAndRecords;
105
+ }
106
+ }
107
+ function hasOverlappingIds(ids1, ids2) {
108
+ for (const [typeName, set1] of ids1.entries()) {
109
+ const set2 = ids2.get(typeName);
110
+ if (set2 === undefined) {
111
+ continue;
112
+ }
113
+ if (isNotDisjointFrom(set1, set2)) {
114
+ return true;
115
+ }
116
+ }
117
+ return false;
118
+ }
119
+ // TODO use a polyfill library
120
+ function isNotDisjointFrom(set1, set2) {
121
+ for (const id of set1) {
122
+ if (set2.has(id)) {
123
+ return true;
124
+ }
125
+ }
126
+ return false;
127
+ }