@isograph/react 0.0.0-main-4adb5045 → 0.0.0-main-82400fb8

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 (98) 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/cache.d.ts +5 -18
  9. package/dist/core/cache.d.ts.map +1 -1
  10. package/dist/core/cache.js +6 -218
  11. package/dist/core/componentCache.d.ts +2 -2
  12. package/dist/core/componentCache.d.ts.map +1 -1
  13. package/dist/core/componentCache.js +1 -26
  14. package/dist/core/entrypoint.d.ts +2 -2
  15. package/dist/core/entrypoint.d.ts.map +1 -1
  16. package/dist/core/garbageCollection.d.ts +2 -2
  17. package/dist/core/garbageCollection.d.ts.map +1 -1
  18. package/dist/core/getOrCreateCacheForArtifact.d.ts +8 -0
  19. package/dist/core/getOrCreateCacheForArtifact.d.ts.map +1 -0
  20. package/dist/core/getOrCreateCacheForArtifact.js +40 -0
  21. package/dist/core/logging.d.ts +8 -8
  22. package/dist/core/logging.d.ts.map +1 -1
  23. package/dist/core/makeNetworkRequest.d.ts +3 -3
  24. package/dist/core/makeNetworkRequest.d.ts.map +1 -1
  25. package/dist/core/makeNetworkRequest.js +3 -2
  26. package/dist/core/optimisticProxy.d.ts.map +1 -1
  27. package/dist/core/optimisticProxy.js +2 -1
  28. package/dist/core/read.d.ts +3 -3
  29. package/dist/core/read.d.ts.map +1 -1
  30. package/dist/core/startUpdate.d.ts.map +1 -1
  31. package/dist/core/startUpdate.js +2 -1
  32. package/dist/core/subscribe.d.ts +8 -0
  33. package/dist/core/subscribe.d.ts.map +1 -0
  34. package/dist/core/subscribe.js +127 -0
  35. package/dist/core/util.d.ts +7 -0
  36. package/dist/core/util.d.ts.map +1 -1
  37. package/dist/core/util.js +26 -0
  38. package/dist/core/writeData.d.ts +7 -0
  39. package/dist/core/writeData.d.ts.map +1 -0
  40. package/dist/core/writeData.js +36 -0
  41. package/dist/index.d.ts +5 -2
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +8 -5
  44. package/dist/loadable-hooks/useConnectionSpecPagination.d.ts +3 -3
  45. package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -1
  46. package/dist/loadable-hooks/useConnectionSpecPagination.js +2 -2
  47. package/dist/loadable-hooks/useSkipLimitPagination.d.ts +3 -3
  48. package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +1 -1
  49. package/dist/loadable-hooks/useSkipLimitPagination.js +2 -2
  50. package/dist/react/createIsographEnvironment.d.ts +4 -0
  51. package/dist/react/createIsographEnvironment.d.ts.map +1 -0
  52. package/dist/react/createIsographEnvironment.js +8 -0
  53. package/dist/react/maybeUnwrapNetworkRequest.d.ts +4 -0
  54. package/dist/react/maybeUnwrapNetworkRequest.d.ts.map +1 -0
  55. package/dist/react/maybeUnwrapNetworkRequest.js +14 -0
  56. package/dist/react/useLazyReference.d.ts.map +1 -1
  57. package/dist/react/useLazyReference.js +2 -2
  58. package/dist/react/useReadAndSubscribe.d.ts +4 -2
  59. package/dist/react/useReadAndSubscribe.d.ts.map +1 -1
  60. package/dist/react/useReadAndSubscribe.js +31 -2
  61. package/dist/react/useRerenderOnChange.d.ts +2 -2
  62. package/dist/react/useRerenderOnChange.d.ts.map +1 -1
  63. package/dist/react/useRerenderOnChange.js +2 -2
  64. package/dist/react/useResult.d.ts +2 -4
  65. package/dist/react/useResult.d.ts.map +1 -1
  66. package/dist/react/useResult.js +3 -13
  67. package/package.json +4 -4
  68. package/src/core/FragmentReference.ts +2 -2
  69. package/src/core/IsographEnvironment.ts +26 -10
  70. package/src/core/cache.ts +14 -360
  71. package/src/core/componentCache.ts +8 -43
  72. package/src/core/entrypoint.ts +2 -2
  73. package/src/core/garbageCollection.ts +5 -5
  74. package/src/core/getOrCreateCacheForArtifact.ts +86 -0
  75. package/src/core/logging.ts +10 -10
  76. package/src/core/makeNetworkRequest.ts +8 -8
  77. package/src/core/optimisticProxy.ts +2 -5
  78. package/src/core/read.ts +13 -13
  79. package/src/core/startUpdate.ts +1 -1
  80. package/src/core/subscribe.ts +195 -0
  81. package/src/core/util.ts +26 -0
  82. package/src/core/writeData.ts +79 -0
  83. package/src/index.ts +3 -4
  84. package/src/loadable-hooks/useConnectionSpecPagination.ts +5 -5
  85. package/src/loadable-hooks/useSkipLimitPagination.ts +5 -5
  86. package/src/react/createIsographEnvironment.ts +23 -0
  87. package/src/react/maybeUnwrapNetworkRequest.ts +17 -0
  88. package/src/react/useLazyReference.ts +2 -4
  89. package/src/react/useReadAndSubscribe.ts +53 -5
  90. package/src/react/useRerenderOnChange.ts +3 -3
  91. package/src/react/useResult.ts +6 -24
  92. package/src/tests/garbageCollection.test.ts +3 -6
  93. package/src/tests/meNameSuccessor.ts +1 -1
  94. package/src/tests/nodeQuery.ts +1 -1
  95. package/src/tests/normalizeData.test.ts +5 -3
  96. package/src/tests/optimisticProxy.test.ts +5 -3
  97. package/src/tests/startUpdate.test.ts +5 -7
  98. package/vitest.config.ts +5 -0
@@ -1,5 +1,5 @@
1
1
  ../.. |  WARN  Unsupported engine: wanted: {"node":"22.9.0"} (current: {"node":"v22.21.1","pnpm":"10.15.0"})
2
2
 
3
- > @isograph/react@0.0.0-main-4adb5045 compile-libs /home/runner/work/isograph/isograph/libs/isograph-react
3
+ > @isograph/react@0.0.0-main-82400fb8 compile-libs /home/runner/work/isograph/isograph/libs/isograph-react
4
4
  > rimraf dist && tsc -p tsconfig.pkg.json
5
5
 
@@ -1,4 +1,4 @@
1
- import { ReaderWithRefetchQueries } from '../core/entrypoint';
1
+ import { ReaderWithRefetchQueries } from './entrypoint';
2
2
  import { type ComponentOrFieldName, type StoreLink } from './IsographEnvironment';
3
3
  import { PromiseWrapper } from './PromiseWrapper';
4
4
  import type { StartUpdate } from './reader';
@@ -1 +1 @@
1
- {"version":3,"file":"FragmentReference.d.ts","sourceRoot":"","sources":["../../src/core/FragmentReference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ;IACE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;CACzC,GACD,aAAa,EAAE,CAAC;AAEpB,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CAAC;AAEpE,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS;IACrC,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC;CAC9B,GACG,CAAC,GACD,KAAK,CAAC;AAEV,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS;IAC3C,UAAU,EAAE,MAAM,CAAC,SAAS,SAAS,CAAC;CACvC,GACG,CAAC,GACD,SAAS,CAAC;AAEd,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,qBAAqB,IAC5D,CAAC,CAAC,aAAa,CAAC,CAAC;AAEnB,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,qBAAqB,IAC9D,mCAAmC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,MAAM,MAAM,mCAAmC,CAAC,CAAC,IAC/C,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE7C,MAAM,MAAM,iBAAiB,CAC3B,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,IACf;IACF,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,wBAAwB,EAAE,cAAc,CAC/C,wBAAwB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAC5D,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EACvB,qBAAqB,GACrB,yBAAyB,CAAC;IAO9B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAElD,wBAAgB,4BAA4B,CAC1C,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAC7C,4BAA4B,CAE9B"}
1
+ {"version":3,"file":"FragmentReference.d.ts","sourceRoot":"","sources":["../../src/core/FragmentReference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ;IACE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;CACzC,GACD,aAAa,EAAE,CAAC;AAEpB,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CAAC;AAEpE,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS;IACrC,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC;CAC9B,GACG,CAAC,GACD,KAAK,CAAC;AAEV,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS;IAC3C,UAAU,EAAE,MAAM,CAAC,SAAS,SAAS,CAAC;CACvC,GACG,CAAC,GACD,SAAS,CAAC;AAEd,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,qBAAqB,IAC5D,CAAC,CAAC,aAAa,CAAC,CAAC;AAEnB,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,qBAAqB,IAC9D,mCAAmC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,MAAM,MAAM,mCAAmC,CAAC,CAAC,IAC/C,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE7C,MAAM,MAAM,iBAAiB,CAC3B,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,IACf;IACF,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,wBAAwB,EAAE,cAAc,CAC/C,wBAAwB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAC5D,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EACvB,qBAAqB,GACrB,yBAAyB,CAAC;IAO9B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAElD,wBAAgB,4BAA4B,CAC1C,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAC7C,4BAA4B,CAE9B"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.stableIdForFragmentReference = stableIdForFragmentReference;
4
- const cache_1 = require("./cache");
4
+ const util_1 = require("./util");
5
5
  function stableIdForFragmentReference(fragmentReference) {
6
- return `${fragmentReference.root.__typename}/${fragmentReference.root.__link}/${fragmentReference.fieldName}/${JSON.stringify((0, cache_1.stableCopy)(fragmentReference.variables))}`;
6
+ return `${fragmentReference.root.__typename}/${fragmentReference.root.__link}/${fragmentReference.fieldName}/${JSON.stringify((0, util_1.stableCopy)(fragmentReference.variables))}`;
7
7
  }
@@ -1,12 +1,12 @@
1
1
  import { ParentCache } from '@isograph/react-disposable-state';
2
2
  import type { Brand } from './brand';
3
- import { IsographEntrypoint, IsographOperation, IsographPersistedOperation, type ReaderWithRefetchQueries, type ReaderWithRefetchQueriesLoader } from './entrypoint';
4
- import { FragmentReference, Variables, type StableIdForFragmentReference, type UnknownTReadFromStore } from './FragmentReference';
3
+ import type { IsographEntrypoint, IsographOperation, IsographPersistedOperation, ReaderWithRefetchQueries, ReaderWithRefetchQueriesLoader } from './entrypoint';
4
+ import type { ExtractStartUpdate, FragmentReference, StableIdForFragmentReference, UnknownTReadFromStore, Variables } from './FragmentReference';
5
5
  import type { RetainedQuery } from './garbageCollection';
6
- import { LogFunction, WrappedLogFunction } from './logging';
6
+ import type { LogFunction, WrappedLogFunction } from './logging';
7
7
  import { type StoreLayer } from './optimisticProxy';
8
8
  import { PromiseWrapper } from './PromiseWrapper';
9
- import { WithEncounteredRecords } from './read';
9
+ import type { NetworkRequestReaderOptions, WithEncounteredRecords } from './read';
10
10
  import type { ReaderAst, StartUpdate } from './reader';
11
11
  export type ComponentOrFieldName = string;
12
12
  export type StringifiedArgs = string;
@@ -38,6 +38,7 @@ export type CacheMap<T> = {
38
38
  export type IsographEnvironment = {
39
39
  store: StoreLayer;
40
40
  readonly networkFunction: IsographNetworkFunction;
41
+ readonly componentFunction: IsographComponentFunction;
41
42
  readonly missingFieldHandler: MissingFieldHandler | null;
42
43
  readonly componentCache: FieldCache<React.FC<any>>;
43
44
  readonly eagerReaderCache: FieldCache<StartUpdate<any> | undefined>;
@@ -53,6 +54,7 @@ export type MissingFieldHandler = (storeRecord: StoreRecord, root: StoreLink, fi
53
54
  [index: string]: any;
54
55
  } | null, variables: Variables | null) => StoreLink | undefined;
55
56
  export type IsographNetworkFunction = (operation: IsographOperation | IsographPersistedOperation, variables: Variables) => Promise<any>;
57
+ export type IsographComponentFunction = <TReadFromStore extends UnknownTReadFromStore = any>(environment: IsographEnvironment, fragmentReference: FragmentReference<TReadFromStore, any>, networkRequestOptions: NetworkRequestReaderOptions, startUpdate: ExtractStartUpdate<TReadFromStore>) => React.FC<any>;
56
58
  export interface Link<T extends TypeName> extends StoreLink {
57
59
  readonly __link: Brand<DataId, T>;
58
60
  readonly __typename: T;
@@ -79,7 +81,7 @@ export interface BaseStoreLayerData extends StoreLayerData {
79
81
  readonly __ROOT: StoreRecord;
80
82
  };
81
83
  }
82
- export declare function createIsographEnvironment(baseStoreLayerData: BaseStoreLayerData, networkFunction: IsographNetworkFunction, missingFieldHandler?: MissingFieldHandler | null, logFunction?: LogFunction | null): IsographEnvironment;
84
+ export declare function createIsographEnvironmentCore(baseStoreLayerData: BaseStoreLayerData, networkFunction: IsographNetworkFunction, componentFunction: IsographComponentFunction, missingFieldHandler?: MissingFieldHandler | null, logFunction?: LogFunction | null): IsographEnvironment;
83
85
  export declare function createIsographStore(): BaseStoreLayerData;
84
86
  export declare function assertLink(link: DataTypeValue): StoreLink | null | undefined;
85
87
  export declare function getLink(maybeLink: DataTypeValue): StoreLink | null;
@@ -1 +1 @@
1
- {"version":3,"file":"IsographEnvironment.d.ts","sourceRoot":"","sources":["../../src/core/IsographEnvironment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IsographEnvironment.d.ts","sourceRoot":"","sources":["../../src/core/IsographEnvironment.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ROOT_ID = void 0;
4
- exports.createIsographEnvironment = createIsographEnvironment;
4
+ exports.createIsographEnvironmentCore = createIsographEnvironmentCore;
5
5
  exports.createIsographStore = createIsographStore;
6
6
  exports.assertLink = assertLink;
7
7
  exports.getLink = getLink;
8
8
  exports.getOrLoadIsographArtifact = getOrLoadIsographArtifact;
9
9
  exports.getOrLoadReaderWithRefetchQueries = getOrLoadReaderWithRefetchQueries;
10
- const cache_1 = require("./cache");
11
10
  const PromiseWrapper_1 = require("./PromiseWrapper");
11
+ const util_1 = require("./util");
12
12
  exports.ROOT_ID = '__ROOT';
13
13
  const DEFAULT_GC_BUFFER_SIZE = 10;
14
- function createIsographEnvironment(baseStoreLayerData, networkFunction, missingFieldHandler, logFunction) {
14
+ function createIsographEnvironmentCore(baseStoreLayerData, networkFunction, componentFunction, missingFieldHandler, logFunction) {
15
15
  logFunction === null || logFunction === void 0 ? void 0 : logFunction({
16
16
  kind: 'EnvironmentCreated',
17
17
  });
@@ -24,6 +24,7 @@ function createIsographEnvironment(baseStoreLayerData, networkFunction, missingF
24
24
  return {
25
25
  store,
26
26
  networkFunction,
27
+ componentFunction,
27
28
  missingFieldHandler: missingFieldHandler !== null && missingFieldHandler !== void 0 ? missingFieldHandler : null,
28
29
  componentCache: {},
29
30
  eagerReaderCache: {},
@@ -44,7 +45,7 @@ function createIsographStore() {
44
45
  };
45
46
  }
46
47
  function assertLink(link) {
47
- if ((0, cache_1.isArray)(link)) {
48
+ if ((0, util_1.isArray)(link)) {
48
49
  throw new Error('Unexpected array');
49
50
  }
50
51
  if (link == null) {
@@ -1,20 +1,11 @@
1
- import { Factory, ItemCleanupPair, ParentCache } from '@isograph/react-disposable-state';
2
- import { IsographEntrypoint, NormalizationLinkedField, NormalizationScalarField, type NormalizationAst, type NormalizationAstLoader, type NormalizationAstNodes } from '../core/entrypoint';
3
- import { FetchOptions } from './check';
4
- import { ExtractParameters, FragmentReference, Variables, type UnknownTReadFromStore } from './FragmentReference';
5
- import { DataId, StoreLink, type IsographEnvironment, type TypeName } from './IsographEnvironment';
1
+ import { type Factory, ParentCache } from '@isograph/react-disposable-state';
2
+ import type { NormalizationAstNodes, NormalizationLinkedField, NormalizationScalarField } from './entrypoint';
3
+ import type { FragmentReference, UnknownTReadFromStore, Variables } from './FragmentReference';
4
+ import { type DataId, type IsographEnvironment, type StoreLink, type TypeName } from './IsographEnvironment';
6
5
  import { type StoreLayerWithData } from './optimisticProxy';
7
- import { WithEncounteredRecords } from './read';
8
- import { ReaderLinkedField, ReaderScalarField, type ReaderAst } from './reader';
6
+ import type { ReaderLinkedField, ReaderScalarField } from './reader';
9
7
  export declare const TYPENAME_FIELD_NAME = "__typename";
10
8
  export declare function getOrCreateItemInSuspenseCache<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue>(environment: IsographEnvironment, index: string, factory: Factory<FragmentReference<TReadFromStore, TClientFieldValue>>): ParentCache<FragmentReference<TReadFromStore, TClientFieldValue>>;
11
- /**
12
- * Creates a copy of the provided value, ensuring any nested objects have their
13
- * keys sorted such that equivalent values would have identical JSON.stringify
14
- * results.
15
- */
16
- export declare function stableCopy<T>(value: T): T;
17
- 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>>;
18
9
  export type NetworkResponseScalarValue = string | number | boolean;
19
10
  export type NetworkResponseValue = NetworkResponseScalarValue | null | NetworkResponseObject | readonly (NetworkResponseObject | null)[] | readonly (NetworkResponseScalarValue | null)[];
20
11
  export type NetworkResponseObject = {
@@ -25,15 +16,11 @@ export type NetworkResponseObject = {
25
16
  export declare function normalizeData(environment: IsographEnvironment, storeLayer: StoreLayerWithData, normalizationAst: NormalizationAstNodes, networkResponse: NetworkResponseObject, variables: Variables, root: StoreLink, encounteredIds: EncounteredIds): EncounteredIds;
26
17
  export declare function subscribeToAnyChange(environment: IsographEnvironment, callback: () => void): () => void;
27
18
  export declare function subscribeToAnyChangesToRecord(environment: IsographEnvironment, recordLink: StoreLink, callback: () => void): () => void;
28
- 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;
29
19
  export declare function onNextChangeToRecord(environment: IsographEnvironment, recordLink: StoreLink): Promise<void>;
30
- export declare function callSubscriptions(environment: IsographEnvironment, recordsEncounteredWhenNormalizing: EncounteredIds): void;
31
20
  export type EncounteredIds = Map<TypeName, Set<DataId>>;
32
21
  export declare function insertEmptySetIfMissing<K, V>(map: Map<K, Set<V>>, key: K): Set<V>;
33
- export declare function isArray(value: unknown): value is readonly unknown[];
34
22
  export declare function getParentRecordKey(astNode: NormalizationLinkedField | NormalizationScalarField | ReaderLinkedField | ReaderScalarField, variables: Variables): string;
35
23
  export declare const FIRST_SPLIT_KEY = "____";
36
24
  export declare const SECOND_SPLIT_KEY = "___";
37
25
  export declare const THIRD_SPLIT_KEY = "__";
38
- export declare function writeData<TReadFromStore extends UnknownTReadFromStore, TRawResponseType extends NetworkResponseObject, TClientFieldValue>(environment: IsographEnvironment, entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, NormalizationAst, TRawResponseType>, data: TRawResponseType, variables: ExtractParameters<TReadFromStore>): ItemCleanupPair<FragmentReference<TReadFromStore, TClientFieldValue>>;
39
26
  //# sourceMappingURL=cache.d.ts.map
@@ -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":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,EACV,qBAAqB,EAErB,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,SAAS,EAEV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,MAAM,EAGX,KAAK,mBAAmB,EAExB,KAAK,SAAS,EAEd,KAAK,QAAQ,EACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGrE,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,wBAAgB,8BAA8B,CAC5C,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EAEjB,WAAW,EAAE,mBAAmB,EAChC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,GACrE,WAAW,CAAC,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAMnE;AAED,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AACnE,MAAM,MAAM,oBAAoB,GAC5B,0BAA0B,GAC1B,IAAI,GACJ,qBAAqB,GACrB,SAAS,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,GACzC,SAAS,CAAC,0BAA0B,GAAG,IAAI,CAAC,EAAE,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAAG;IAGlC,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,oBAAoB,CAAC;IAC3D,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC;CAChC,CAAC;AAEF,wBAAgB,aAAa,CAC3B,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,kBAAkB,EAC9B,gBAAgB,EAAE,qBAAqB,EACvC,eAAe,EAAE,qBAAqB,EACtC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,cAAc,GAC7B,cAAc,CAsBhB;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAOZ;AAED,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,SAAS,EACrB,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAQZ;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,SAAS,GACpB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AA6ExD,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,UAOxE;AA6PD,wBAAgB,kBAAkB,CAChC,OAAO,EACH,wBAAwB,GACxB,wBAAwB,GACxB,iBAAiB,GACjB,iBAAiB,EACrB,SAAS,EAAE,SAAS,GACnB,MAAM,CAUR;AA2GD,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,eAAO,MAAM,eAAe,OAAO,CAAC"}
@@ -2,25 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.THIRD_SPLIT_KEY = exports.SECOND_SPLIT_KEY = exports.FIRST_SPLIT_KEY = exports.TYPENAME_FIELD_NAME = void 0;
4
4
  exports.getOrCreateItemInSuspenseCache = getOrCreateItemInSuspenseCache;
5
- exports.stableCopy = stableCopy;
6
- exports.getOrCreateCacheForArtifact = getOrCreateCacheForArtifact;
7
5
  exports.normalizeData = normalizeData;
8
6
  exports.subscribeToAnyChange = subscribeToAnyChange;
9
7
  exports.subscribeToAnyChangesToRecord = subscribeToAnyChangesToRecord;
10
- exports.subscribe = subscribe;
11
8
  exports.onNextChangeToRecord = onNextChangeToRecord;
12
- exports.callSubscriptions = callSubscriptions;
13
9
  exports.insertEmptySetIfMissing = insertEmptySetIfMissing;
14
- exports.isArray = isArray;
15
10
  exports.getParentRecordKey = getParentRecordKey;
16
- exports.writeData = writeData;
17
11
  const react_disposable_state_1 = require("@isograph/react-disposable-state");
18
- const areEqualWithDeepComparison_1 = require("./areEqualWithDeepComparison");
19
12
  const IsographEnvironment_1 = require("./IsographEnvironment");
20
13
  const logging_1 = require("./logging");
21
- const makeNetworkRequest_1 = require("./makeNetworkRequest");
22
14
  const optimisticProxy_1 = require("./optimisticProxy");
23
- const read_1 = require("./read");
15
+ const util_1 = require("./util");
24
16
  exports.TYPENAME_FIELD_NAME = '__typename';
25
17
  function getOrCreateItemInSuspenseCache(environment, index, factory) {
26
18
  if (environment.fragmentCache[index] == null) {
@@ -28,60 +20,6 @@ function getOrCreateItemInSuspenseCache(environment, index, factory) {
28
20
  }
29
21
  return environment.fragmentCache[index];
30
22
  }
31
- /**
32
- * Creates a copy of the provided value, ensuring any nested objects have their
33
- * keys sorted such that equivalent values would have identical JSON.stringify
34
- * results.
35
- */
36
- function stableCopy(value) {
37
- if (value == null || typeof value !== 'object') {
38
- return value;
39
- }
40
- if (isArray(value)) {
41
- // @ts-ignore
42
- return value.map(stableCopy);
43
- }
44
- const keys = Object.keys(value).sort();
45
- const stable = {};
46
- for (let i = 0; i < keys.length; i++) {
47
- // @ts-ignore
48
- stable[keys[i]] = stableCopy(value[keys[i]]);
49
- }
50
- return stable;
51
- }
52
- function getOrCreateCacheForArtifact(environment, entrypoint, variables, fetchOptions) {
53
- let cacheKey = '';
54
- switch (entrypoint.networkRequestInfo.operation.kind) {
55
- case 'Operation':
56
- cacheKey =
57
- entrypoint.networkRequestInfo.operation.text +
58
- JSON.stringify(stableCopy(variables));
59
- break;
60
- case 'PersistedOperation':
61
- cacheKey =
62
- entrypoint.networkRequestInfo.operation.operationId +
63
- JSON.stringify(stableCopy(variables));
64
- break;
65
- }
66
- const factory = () => {
67
- const { fieldName, readerArtifactKind, readerWithRefetchQueries } = (0, IsographEnvironment_1.getOrLoadReaderWithRefetchQueries)(environment, entrypoint.readerWithRefetchQueries);
68
- const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, entrypoint, variables, readerWithRefetchQueries, fetchOptions !== null && fetchOptions !== void 0 ? fetchOptions : null);
69
- const itemCleanupPair = [
70
- {
71
- kind: 'FragmentReference',
72
- readerWithRefetchQueries,
73
- fieldName,
74
- readerArtifactKind,
75
- root: { __link: IsographEnvironment_1.ROOT_ID, __typename: entrypoint.concreteType },
76
- variables,
77
- networkRequest: networkRequest,
78
- },
79
- disposeNetworkRequest,
80
- ];
81
- return itemCleanupPair;
82
- };
83
- return getOrCreateItemInSuspenseCache(environment, cacheKey, factory);
84
- }
85
23
  function normalizeData(environment, storeLayer, normalizationAst, networkResponse, variables, root, encounteredIds) {
86
24
  (0, logging_1.logMessage)(environment, () => ({
87
25
  kind: 'AboutToNormalize',
@@ -110,22 +48,6 @@ function subscribeToAnyChangesToRecord(environment, recordLink, callback) {
110
48
  environment.subscriptions.add(subscription);
111
49
  return () => environment.subscriptions.delete(subscription);
112
50
  }
113
- function subscribe(environment, encounteredDataAndRecords, fragmentReference, callback, readerAst) {
114
- const fragmentSubscription = {
115
- kind: 'FragmentSubscription',
116
- callback,
117
- encounteredDataAndRecords,
118
- fragmentReference,
119
- readerAst,
120
- };
121
- // subscribe is called in an effect. (We should actually subscribe during the
122
- // initial render.) Because it's called in an effect, we might have missed some
123
- // changes since the initial render! So, at this point, we re-read and call the
124
- // subscription (i.e. re-render) if the fragment data has changed.
125
- callSubscriptionIfDataChanged(environment, fragmentSubscription);
126
- environment.subscriptions.add(fragmentSubscription);
127
- return () => environment.subscriptions.delete(fragmentSubscription);
128
- }
129
51
  function onNextChangeToRecord(environment, recordLink) {
130
52
  return new Promise((resolve) => {
131
53
  const unsubscribe = subscribeToAnyChangesToRecord(environment, recordLink, () => {
@@ -134,110 +56,6 @@ function onNextChangeToRecord(environment, recordLink) {
134
56
  });
135
57
  });
136
58
  }
137
- // Calls to readButDoNotEvaluate can suspend (i.e. throw a promise).
138
- // Maybe in the future, they will be able to throw errors.
139
- //
140
- // That's probably okay to ignore. We don't, however, want to prevent
141
- // updating other subscriptions if one subscription had missing data.
142
- function logAnyError(environment, context, f) {
143
- try {
144
- f();
145
- }
146
- catch (e) {
147
- (0, logging_1.logMessage)(environment, () => ({
148
- kind: 'ErrorEncounteredInWithErrorHandling',
149
- error: e,
150
- context,
151
- }));
152
- }
153
- }
154
- function callSubscriptions(environment, recordsEncounteredWhenNormalizing) {
155
- environment.subscriptions.forEach((subscription) => logAnyError(environment, { situation: 'calling subscriptions' }, () => {
156
- var _a;
157
- switch (subscription.kind) {
158
- case 'FragmentSubscription': {
159
- // TODO if there are multiple components subscribed to the same
160
- // fragment, we will call readButNotEvaluate multiple times. We
161
- // should fix that.
162
- if (hasOverlappingIds(recordsEncounteredWhenNormalizing, subscription.encounteredDataAndRecords.encounteredRecords)) {
163
- callSubscriptionIfDataChanged(environment, subscription);
164
- }
165
- return;
166
- }
167
- case 'AnyRecords': {
168
- logAnyError(environment, { situation: 'calling AnyRecords callback' }, () => subscription.callback());
169
- return;
170
- }
171
- case 'AnyChangesToRecord': {
172
- if (((_a = recordsEncounteredWhenNormalizing
173
- .get(subscription.recordLink.__typename)) === null || _a === void 0 ? void 0 : _a.has(subscription.recordLink.__link)) != null) {
174
- logAnyError(environment, { situation: 'calling AnyChangesToRecord callback' }, () => subscription.callback());
175
- }
176
- return;
177
- }
178
- default: {
179
- // Ensure we have covered all variants
180
- const _ = subscription;
181
- _;
182
- throw new Error('Unexpected case');
183
- }
184
- }
185
- }));
186
- }
187
- function callSubscriptionIfDataChanged(environment, subscription) {
188
- const newEncounteredDataAndRecords = (0, read_1.readButDoNotEvaluate)(environment, subscription.fragmentReference,
189
- // Is this wrong?
190
- // Reasons to think no:
191
- // - we are only updating the read-out value, and the network
192
- // options only affect whether we throw.
193
- // - the component will re-render, and re-throw on its own, anyway.
194
- //
195
- // Reasons to think not:
196
- // - it seems more efficient to suspend here and not update state,
197
- // if we expect that the component will just throw anyway
198
- // - consistency
199
- // - it's also weird, this is called from makeNetworkRequest, where
200
- // we don't currently pass network request options
201
- {
202
- suspendIfInFlight: false,
203
- throwOnNetworkError: false,
204
- });
205
- const mergedItem = (0, areEqualWithDeepComparison_1.mergeObjectsUsingReaderAst)(subscription.readerAst, subscription.encounteredDataAndRecords.item, newEncounteredDataAndRecords.item);
206
- (0, logging_1.logMessage)(environment, () => ({
207
- kind: 'DeepEqualityCheck',
208
- fragmentReference: subscription.fragmentReference,
209
- old: subscription.encounteredDataAndRecords.item,
210
- new: newEncounteredDataAndRecords.item,
211
- deeplyEqual: mergedItem === subscription.encounteredDataAndRecords.item,
212
- }));
213
- if (mergedItem !== subscription.encounteredDataAndRecords.item) {
214
- logAnyError(environment, { situation: 'calling FragmentSubscription callback' }, () => {
215
- subscription.callback(newEncounteredDataAndRecords);
216
- });
217
- subscription.encounteredDataAndRecords = newEncounteredDataAndRecords;
218
- }
219
- }
220
- function hasOverlappingIds(ids1, ids2) {
221
- for (const [typeName, set1] of ids1.entries()) {
222
- const set2 = ids2.get(typeName);
223
- if (set2 === undefined) {
224
- continue;
225
- }
226
- if (isNotDisjointFrom(set1, set2)) {
227
- return true;
228
- }
229
- }
230
- return false;
231
- }
232
- // TODO use a polyfill library
233
- function isNotDisjointFrom(set1, set2) {
234
- for (const id of set1) {
235
- if (set2.has(id)) {
236
- return true;
237
- }
238
- }
239
- return false;
240
- }
241
59
  /**
242
60
  * Mutate targetParentRecord according to the normalizationAst and networkResponseParentRecord.
243
61
  */
@@ -302,9 +120,6 @@ function normalizeScalarField(astNode, networkResponseParentRecord, targetStoreR
302
120
  throw new Error('Unexpected object array when normalizing scalar');
303
121
  }
304
122
  }
305
- function isArray(value) {
306
- return Array.isArray(value);
307
- }
308
123
  /**
309
124
  * Mutate targetParentRecord with a given linked field ast node.
310
125
  */
@@ -322,7 +137,7 @@ function normalizeLinkedField(environment, storeLayer, astNode, networkResponseP
322
137
  !isNullOrEmptyArray(networkResponseData)) {
323
138
  throw new Error('Unexpected scalar network response when normalizing a linked field');
324
139
  }
325
- if (isArray(networkResponseData)) {
140
+ if ((0, util_1.isArray)(networkResponseData)) {
326
141
  // TODO check astNode.plural or the like
327
142
  const dataIds = [];
328
143
  for (let i = 0; i < networkResponseData.length; i++) {
@@ -373,7 +188,7 @@ function normalizeInlineFragment(environment, storeLayer, astNode, networkRespon
373
188
  }
374
189
  function dataIdsAreTheSame(existingValue, newDataIds) {
375
190
  var _a, _b;
376
- if (isArray(existingValue)) {
191
+ if ((0, util_1.isArray)(existingValue)) {
377
192
  if (newDataIds.length !== existingValue.length) {
378
193
  return false;
379
194
  }
@@ -405,7 +220,7 @@ function normalizeNetworkResponseObject(environment, storeLayer, astNode, networ
405
220
  }
406
221
  function isScalarOrEmptyArray(data) {
407
222
  // N.B. empty arrays count as empty arrays of scalar fields.
408
- if (isArray(data)) {
223
+ if ((0, util_1.isArray)(data)) {
409
224
  return data.every((x) => isScalarOrEmptyArray(x));
410
225
  }
411
226
  const isScalarValue = data == null ||
@@ -415,7 +230,7 @@ function isScalarOrEmptyArray(data) {
415
230
  return isScalarValue;
416
231
  }
417
232
  function isNullOrEmptyArray(data) {
418
- if (isArray(data)) {
233
+ if ((0, util_1.isArray)(data)) {
419
234
  if (data.length === 0) {
420
235
  return true;
421
236
  }
@@ -470,7 +285,7 @@ function getStoreKeyChunkForArgument(argument, variables) {
470
285
  const [argumentName, argumentValue] = argument;
471
286
  let chunk = getStoreKeyChunkForArgumentValue(argumentValue, variables);
472
287
  if (typeof chunk === 'object') {
473
- chunk = JSON.stringify(stableCopy(chunk));
288
+ chunk = JSON.stringify((0, util_1.stableCopy)(chunk));
474
289
  }
475
290
  return `${exports.FIRST_SPLIT_KEY}${argumentName}${exports.SECOND_SPLIT_KEY}${chunk}`;
476
291
  }
@@ -549,30 +364,3 @@ function getDataIdOfNetworkResponse(parentRecordLink, dataToNormalize, astNode,
549
364
  }
550
365
  return storeKey;
551
366
  }
552
- function writeData(environment, entrypoint, data, variables) {
553
- const encounteredIds = new Map();
554
- environment.store = (0, optimisticProxy_1.addNetworkResponseStoreLayer)(environment.store);
555
- normalizeData(environment, environment.store, entrypoint.networkRequestInfo.normalizationAst.selections, data, variables, { __link: IsographEnvironment_1.ROOT_ID, __typename: entrypoint.concreteType }, encounteredIds);
556
- (0, logging_1.logMessage)(environment, () => ({
557
- kind: 'AfterNormalization',
558
- store: environment.store,
559
- encounteredIds,
560
- }));
561
- callSubscriptions(environment, encounteredIds);
562
- const { fieldName, readerArtifactKind, readerWithRefetchQueries } = (0, IsographEnvironment_1.getOrLoadReaderWithRefetchQueries)(environment, entrypoint.readerWithRefetchQueries);
563
- const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.retainQueryWithoutMakingNetworkRequest)(environment, entrypoint, variables);
564
- return [
565
- {
566
- kind: 'FragmentReference',
567
- readerWithRefetchQueries,
568
- fieldName,
569
- readerArtifactKind,
570
- root: { __link: IsographEnvironment_1.ROOT_ID, __typename: entrypoint.concreteType },
571
- variables,
572
- networkRequest,
573
- },
574
- () => {
575
- disposeNetworkRequest();
576
- },
577
- ];
578
- }
@@ -1,5 +1,5 @@
1
1
  import { FragmentReference } from './FragmentReference';
2
- import { IsographEnvironment } from './IsographEnvironment';
3
- import { NetworkRequestReaderOptions } from './read';
2
+ import type { IsographEnvironment } from './IsographEnvironment';
3
+ import type { NetworkRequestReaderOptions } from './read';
4
4
  export declare function getOrCreateCachedComponent(environment: IsographEnvironment, fragmentReference: FragmentReference<any, any>, networkRequestOptions: NetworkRequestReaderOptions): React.FC<any>;
5
5
  //# sourceMappingURL=componentCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"componentCache.d.ts","sourceRoot":"","sources":["../../src/core/componentCache.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,QAAQ,CAAC;AAGrD,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,mBAAmB,EAChC,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,EAC9C,qBAAqB,EAAE,2BAA2B,GACjD,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CA+Cf"}
1
+ {"version":3,"file":"componentCache.d.ts","sourceRoot":"","sources":["../../src/core/componentCache.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,QAAQ,CAAC;AAG1D,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,mBAAmB,EAChC,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,EAC9C,qBAAqB,EAAE,2BAA2B,GACjD,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAgBf"}
@@ -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"}
@@ -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