@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
@@ -20,4 +20,11 @@ export type ArgumentValue = {
20
20
  readonly kind: 'Object';
21
21
  readonly value: Arguments;
22
22
  };
23
+ export declare function isArray(value: unknown): value is readonly unknown[];
24
+ /**
25
+ * Creates a copy of the provided value, ensuring any nested objects have their
26
+ * keys sorted such that equivalent values would have identical JSON.stringify
27
+ * results.
28
+ */
29
+ export declare function stableCopy<T>(value: T): T;
23
30
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/core/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,IACpE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAC1D,MAAM,MAAM,8BAA8B,CAAC,CAAC,IAC1C,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,GAChC,KAAK,CAAC,GAAG,CAAC,mBAAmB,GAC7B,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAExC,MAAM,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;AACnC,MAAM,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACrD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAClC,MAAM,MAAM,aAAa,GACrB;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;CACrB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/core/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,IACpE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAC1D,MAAM,MAAM,8BAA8B,CAAC,CAAC,IAC1C,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,GAChC,KAAK,CAAC,GAAG,CAAC,mBAAmB,GAC7B,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAExC,MAAM,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;AACnC,MAAM,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACrD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAClC,MAAM,MAAM,aAAa,GACrB;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;CACrB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B,CAAC;AAEN,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,OAAO,EAAE,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAezC"}
package/dist/core/util.js CHANGED
@@ -1,2 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isArray = isArray;
4
+ exports.stableCopy = stableCopy;
5
+ function isArray(value) {
6
+ return Array.isArray(value);
7
+ }
8
+ /**
9
+ * Creates a copy of the provided value, ensuring any nested objects have their
10
+ * keys sorted such that equivalent values would have identical JSON.stringify
11
+ * results.
12
+ */
13
+ function stableCopy(value) {
14
+ if (value == null || typeof value !== 'object') {
15
+ return value;
16
+ }
17
+ if (isArray(value)) {
18
+ // @ts-ignore
19
+ return value.map(stableCopy);
20
+ }
21
+ const keys = Object.keys(value).sort();
22
+ const stable = {};
23
+ for (let i = 0; i < keys.length; i++) {
24
+ // @ts-ignore
25
+ stable[keys[i]] = stableCopy(value[keys[i]]);
26
+ }
27
+ return stable;
28
+ }
@@ -0,0 +1,7 @@
1
+ import type { ItemCleanupPair } from '@isograph/isograph-disposable-types/dist';
2
+ import { type NetworkResponseObject } from './cache';
3
+ import type { IsographEntrypoint, NormalizationAst } from './entrypoint';
4
+ import type { UnknownTReadFromStore, ExtractParameters, FragmentReference } from './FragmentReference';
5
+ import { type IsographEnvironment } from './IsographEnvironment';
6
+ 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>>;
7
+ //# sourceMappingURL=writeData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeData.d.ts","sourceRoot":"","sources":["../../src/core/writeData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAEhF,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,uBAAuB,CAAC;AAK/B,wBAAgB,SAAS,CACvB,cAAc,SAAS,qBAAqB,EAC5C,gBAAgB,SAAS,qBAAqB,EAC9C,iBAAiB,EAEjB,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,kBAAkB,CAC5B,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,CACjB,EACD,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,GAC3C,eAAe,CAAC,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CA0CvE"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeData = writeData;
4
+ const subscribe_1 = require("./subscribe");
5
+ const cache_1 = require("./cache");
6
+ const IsographEnvironment_1 = require("./IsographEnvironment");
7
+ const logging_1 = require("./logging");
8
+ const makeNetworkRequest_1 = require("./makeNetworkRequest");
9
+ const optimisticProxy_1 = require("./optimisticProxy");
10
+ function writeData(environment, entrypoint, data, variables) {
11
+ const encounteredIds = new Map();
12
+ environment.store = (0, optimisticProxy_1.addNetworkResponseStoreLayer)(environment.store);
13
+ (0, cache_1.normalizeData)(environment, environment.store, entrypoint.networkRequestInfo.normalizationAst.selections, data, variables, { __link: IsographEnvironment_1.ROOT_ID, __typename: entrypoint.concreteType }, encounteredIds);
14
+ (0, logging_1.logMessage)(environment, () => ({
15
+ kind: 'AfterNormalization',
16
+ store: environment.store,
17
+ encounteredIds,
18
+ }));
19
+ (0, subscribe_1.callSubscriptions)(environment, encounteredIds);
20
+ const { fieldName, readerArtifactKind, readerWithRefetchQueries } = (0, IsographEnvironment_1.getOrLoadReaderWithRefetchQueries)(environment, entrypoint.readerWithRefetchQueries);
21
+ const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.retainQueryWithoutMakingNetworkRequest)(environment, entrypoint, variables);
22
+ return [
23
+ {
24
+ kind: 'FragmentReference',
25
+ readerWithRefetchQueries,
26
+ fieldName,
27
+ readerArtifactKind,
28
+ root: { __link: IsographEnvironment_1.ROOT_ID, __typename: entrypoint.concreteType },
29
+ variables,
30
+ networkRequest,
31
+ },
32
+ () => {
33
+ disposeNetworkRequest();
34
+ },
35
+ ];
36
+ }
package/dist/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  export { retainQuery, unretainQuery, type RetainedQuery, garbageCollectEnvironment, type DidUnretainSomeQuery, } from './core/garbageCollection';
2
2
  export { type PromiseWrapper, readPromise, getPromiseState, wrapResolvedValue, wrapPromise, type PromiseState, type Result, type AnyError, type NotSet, NOT_SET, } from './core/PromiseWrapper';
3
- export { callSubscriptions, subscribe, normalizeData, writeData, type NetworkResponseObject, type NetworkResponseValue, type NetworkResponseScalarValue, type EncounteredIds, } from './core/cache';
3
+ export { normalizeData, type NetworkResponseObject, type NetworkResponseValue, type NetworkResponseScalarValue, type EncounteredIds, } from './core/cache';
4
+ export { callSubscriptions, subscribe } from './core/subscribe';
5
+ export { writeData } from './core/writeData';
4
6
  export { makeNetworkRequest } from './core/makeNetworkRequest';
5
- export { ROOT_ID, type DataId, type DataTypeValue, type IsographEnvironment, type IsographNetworkFunction, type BaseStoreLayerData as IsographStore, type MissingFieldHandler, type StoreLink, type Link, type StoreRecord, type CacheMap, createIsographEnvironment, createIsographStore, type FieldCache, type Subscriptions, type Subscription, type TypeName, type FragmentSubscription, type AnyChangesToRecordSubscription, type AnyRecordSubscription, type ComponentOrFieldName, type StringifiedArgs, } from './core/IsographEnvironment';
7
+ export { ROOT_ID, type DataId, type DataTypeValue, type IsographEnvironment, type IsographNetworkFunction, type BaseStoreLayerData as IsographStore, type MissingFieldHandler, type StoreLink, type Link, type StoreRecord, type CacheMap, createIsographStore, type FieldCache, type Subscriptions, type Subscription, type TypeName, type FragmentSubscription, type AnyChangesToRecordSubscription, type AnyRecordSubscription, type ComponentOrFieldName, type StringifiedArgs, } from './core/IsographEnvironment';
6
8
  export { type EagerReaderArtifact, type ComponentReaderArtifact, type RefetchReaderArtifact, type ReaderAst, type ReaderAstNode, type ReaderLinkedField, type ReaderNonLoadableResolverField, type ReaderScalarField, type TopLevelReaderArtifact, type LoadableField, type StableId, type ResolverFirstParameter, type ReaderImperativelyLoadedField, type LoadablySelectedField as ReaderLoadableField, type ReaderLinkField, type StartUpdate, } from './core/reader';
7
9
  export { type NormalizationAst, type NormalizationAstNode, type NormalizationAstNodes, type NormalizationAstLoader, type NormalizationLinkedField, type NormalizationScalarField, type IsographEntrypoint, type IsographOperation, type IsographPersistedOperation, type IsographPersistedOperationExtraInfo, assertIsEntrypoint, type RefetchQueryNormalizationArtifact, type RefetchQueryNormalizationArtifactWrapper, type ExtractProps, type ExtractReadFromStore, type ExtractClientFieldValue, type ExtractResolverResult, type FragmentReferenceOfEntrypoint, type NetworkRequestInfo, type NormalizationInlineFragment, type ReaderWithRefetchQueries, type IsographEntrypointLoader, } from './core/entrypoint';
8
10
  export { readButDoNotEvaluate, type WithEncounteredRecords, type NetworkRequestReaderOptions, type ReadDataResult, } from './core/read';
@@ -21,6 +23,7 @@ export { useReadAndSubscribe, useSubscribeToMultiple, } from './react/useReadAnd
21
23
  export { useLazyReference } from './react/useLazyReference';
22
24
  export { useRerenderOnChange } from './react/useRerenderOnChange';
23
25
  export { RenderAfterCommit__DO_NOT_USE } from './react/RenderAfterCommit__DO_NOT_USE';
26
+ export { createIsographEnvironment } from './react/createIsographEnvironment';
24
27
  export { useClientSideDefer } from './loadable-hooks/useClientSideDefer';
25
28
  export { useImperativeExposedMutationField, type UseImperativeLoadableFieldReturn as UseImperativeExposedMutationFieldReturn, } from './loadable-hooks/useImperativeExposedMutationField';
26
29
  export { useSkipLimitPagination, type UseSkipLimitPaginationArgs, type UseSkipLimitReturnValue, } from './loadable-hooks/useSkipLimitPagination';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useImperativeLoadableField = exports.useConnectionSpecPagination = exports.useSkipLimitPagination = exports.useImperativeExposedMutationField = exports.useClientSideDefer = exports.RenderAfterCommit__DO_NOT_USE = exports.useRerenderOnChange = exports.useLazyReference = exports.useSubscribeToMultiple = exports.useReadAndSubscribe = exports.useResult = exports.LoadableFieldRenderer = exports.LoadableFieldReader = exports.FragmentReader = exports.FragmentRenderer = exports.useImperativeReference = exports.useIsographEnvironment = exports.IsographEnvironmentProvider = exports.check = exports.registerLogger = exports.logMessage = exports.stableIdForFragmentReference = exports.readButDoNotEvaluate = exports.assertIsEntrypoint = exports.createIsographStore = exports.createIsographEnvironment = exports.ROOT_ID = exports.makeNetworkRequest = exports.writeData = exports.normalizeData = exports.subscribe = exports.callSubscriptions = exports.NOT_SET = exports.wrapPromise = exports.wrapResolvedValue = exports.getPromiseState = exports.readPromise = exports.garbageCollectEnvironment = exports.unretainQuery = exports.retainQuery = void 0;
3
+ exports.useImperativeLoadableField = exports.useConnectionSpecPagination = exports.useSkipLimitPagination = exports.useImperativeExposedMutationField = exports.useClientSideDefer = exports.createIsographEnvironment = exports.RenderAfterCommit__DO_NOT_USE = exports.useRerenderOnChange = exports.useLazyReference = exports.useSubscribeToMultiple = exports.useReadAndSubscribe = exports.useResult = exports.LoadableFieldRenderer = exports.LoadableFieldReader = exports.FragmentReader = exports.FragmentRenderer = exports.useImperativeReference = exports.useIsographEnvironment = exports.IsographEnvironmentProvider = exports.check = exports.registerLogger = exports.logMessage = exports.stableIdForFragmentReference = exports.readButDoNotEvaluate = exports.assertIsEntrypoint = exports.createIsographStore = exports.ROOT_ID = exports.makeNetworkRequest = exports.writeData = exports.subscribe = exports.callSubscriptions = exports.normalizeData = exports.NOT_SET = exports.wrapPromise = exports.wrapResolvedValue = exports.getPromiseState = exports.readPromise = exports.garbageCollectEnvironment = exports.unretainQuery = exports.retainQuery = void 0;
4
4
  var garbageCollection_1 = require("./core/garbageCollection");
5
5
  Object.defineProperty(exports, "retainQuery", { enumerable: true, get: function () { return garbageCollection_1.retainQuery; } });
6
6
  Object.defineProperty(exports, "unretainQuery", { enumerable: true, get: function () { return garbageCollection_1.unretainQuery; } });
@@ -12,15 +12,16 @@ Object.defineProperty(exports, "wrapResolvedValue", { enumerable: true, get: fun
12
12
  Object.defineProperty(exports, "wrapPromise", { enumerable: true, get: function () { return PromiseWrapper_1.wrapPromise; } });
13
13
  Object.defineProperty(exports, "NOT_SET", { enumerable: true, get: function () { return PromiseWrapper_1.NOT_SET; } });
14
14
  var cache_1 = require("./core/cache");
15
- Object.defineProperty(exports, "callSubscriptions", { enumerable: true, get: function () { return cache_1.callSubscriptions; } });
16
- Object.defineProperty(exports, "subscribe", { enumerable: true, get: function () { return cache_1.subscribe; } });
17
15
  Object.defineProperty(exports, "normalizeData", { enumerable: true, get: function () { return cache_1.normalizeData; } });
18
- Object.defineProperty(exports, "writeData", { enumerable: true, get: function () { return cache_1.writeData; } });
16
+ var subscribe_1 = require("./core/subscribe");
17
+ Object.defineProperty(exports, "callSubscriptions", { enumerable: true, get: function () { return subscribe_1.callSubscriptions; } });
18
+ Object.defineProperty(exports, "subscribe", { enumerable: true, get: function () { return subscribe_1.subscribe; } });
19
+ var writeData_1 = require("./core/writeData");
20
+ Object.defineProperty(exports, "writeData", { enumerable: true, get: function () { return writeData_1.writeData; } });
19
21
  var makeNetworkRequest_1 = require("./core/makeNetworkRequest");
20
22
  Object.defineProperty(exports, "makeNetworkRequest", { enumerable: true, get: function () { return makeNetworkRequest_1.makeNetworkRequest; } });
21
23
  var IsographEnvironment_1 = require("./core/IsographEnvironment");
22
24
  Object.defineProperty(exports, "ROOT_ID", { enumerable: true, get: function () { return IsographEnvironment_1.ROOT_ID; } });
23
- Object.defineProperty(exports, "createIsographEnvironment", { enumerable: true, get: function () { return IsographEnvironment_1.createIsographEnvironment; } });
24
25
  Object.defineProperty(exports, "createIsographStore", { enumerable: true, get: function () { return IsographEnvironment_1.createIsographStore; } });
25
26
  var entrypoint_1 = require("./core/entrypoint");
26
27
  Object.defineProperty(exports, "assertIsEntrypoint", { enumerable: true, get: function () { return entrypoint_1.assertIsEntrypoint; } });
@@ -57,6 +58,8 @@ var useRerenderOnChange_1 = require("./react/useRerenderOnChange");
57
58
  Object.defineProperty(exports, "useRerenderOnChange", { enumerable: true, get: function () { return useRerenderOnChange_1.useRerenderOnChange; } });
58
59
  var RenderAfterCommit__DO_NOT_USE_1 = require("./react/RenderAfterCommit__DO_NOT_USE");
59
60
  Object.defineProperty(exports, "RenderAfterCommit__DO_NOT_USE", { enumerable: true, get: function () { return RenderAfterCommit__DO_NOT_USE_1.RenderAfterCommit__DO_NOT_USE; } });
61
+ var createIsographEnvironment_1 = require("./react/createIsographEnvironment");
62
+ Object.defineProperty(exports, "createIsographEnvironment", { enumerable: true, get: function () { return createIsographEnvironment_1.createIsographEnvironment; } });
60
63
  var useClientSideDefer_1 = require("./loadable-hooks/useClientSideDefer");
61
64
  Object.defineProperty(exports, "useClientSideDefer", { enumerable: true, get: function () { return useClientSideDefer_1.useClientSideDefer; } });
62
65
  var useImperativeExposedMutationField_1 = require("./loadable-hooks/useImperativeExposedMutationField");
@@ -1,6 +1,6 @@
1
- import { FetchOptions } from '../core/check';
2
- import { FragmentReference, type UnknownTReadFromStore } from '../core/FragmentReference';
3
- import { LoadableField } from '../core/reader';
1
+ import type { FetchOptions } from '../core/check';
2
+ import type { FragmentReference, UnknownTReadFromStore } from '../core/FragmentReference';
3
+ import type { LoadableField } from '../core/reader';
4
4
  export type UsePaginationReturnValue<TReadFromStore extends UnknownTReadFromStore, TItem> = {
5
5
  kind: 'Pending';
6
6
  pendingFragment: FragmentReference<TReadFromStore, Connection<TItem>>;
@@ -1 +1 @@
1
- {"version":3,"file":"useConnectionSpecPagination.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAM/D,MAAM,MAAM,wBAAwB,CAClC,cAAc,SAAS,qBAAqB,EAC5C,KAAK,IAEH;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,EAAE,iBAAiB,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,CACT,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAClD,IAAI,CAAC;IACV,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CAC/B,CAAC;AAwBN,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B,CAAC;AAOF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,cAAc,SAAS,qBAAqB,EAC5C,KAAK,EAEL,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,UAAU,CAAC,KAAK,CAAC,EACjB,+BAA+B,CAChC,EACD,YAAY,CAAC,EAAE,QAAQ,GACtB,wBAAwB,CAAC,cAAc,EAAE,KAAK,CAAC,CAwQjD"}
1
+ {"version":3,"file":"useConnectionSpecPagination.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AAMnC,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,gBAAgB,CAAC;AAM/D,MAAM,MAAM,wBAAwB,CAClC,cAAc,SAAS,qBAAqB,EAC5C,KAAK,IAEH;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,EAAE,iBAAiB,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,CACT,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAClD,IAAI,CAAC;IACV,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CAC/B,CAAC;AAwBN,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B,CAAC;AAOF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,cAAc,SAAS,qBAAqB,EAC5C,KAAK,EAEL,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,UAAU,CAAC,KAAK,CAAC,EACjB,+BAA+B,CAChC,EACD,YAAY,CAAC,EAAE,QAAQ,GACtB,wBAAwB,CAAC,cAAc,EAAE,KAAK,CAAC,CAwQjD"}
@@ -9,8 +9,8 @@ const PromiseWrapper_1 = require("../core/PromiseWrapper");
9
9
  const read_1 = require("../core/read");
10
10
  const startUpdate_1 = require("../core/startUpdate");
11
11
  const IsographEnvironmentProvider_1 = require("../react/IsographEnvironmentProvider");
12
+ const maybeUnwrapNetworkRequest_1 = require("../react/maybeUnwrapNetworkRequest");
12
13
  const useReadAndSubscribe_1 = require("../react/useReadAndSubscribe");
13
- const useResult_1 = require("../react/useResult");
14
14
  function flatten(arr) {
15
15
  let outArray = [];
16
16
  for (const subarr of arr) {
@@ -61,7 +61,7 @@ function useConnectionSpecPagination(loadableField, initialState) {
61
61
  }
62
62
  function subscribeCompletedFragmentReferences(completedReferences) {
63
63
  return completedReferences.map((fragmentReference, i) => {
64
- (0, useResult_1.maybeUnwrapNetworkRequest)(fragmentReference.networkRequest, networkRequestOptions);
64
+ (0, maybeUnwrapNetworkRequest_1.maybeUnwrapNetworkRequest)(fragmentReference.networkRequest, networkRequestOptions);
65
65
  const readerWithRefetchQueries = (0, PromiseWrapper_1.readPromise)(fragmentReference.readerWithRefetchQueries);
66
66
  const records = readOutDataAndRecords[i];
67
67
  if (records == null) {
@@ -106,7 +106,7 @@ function useConnectionSpecPagination(loadableField, initialState) {
106
106
  const loadedReferences = state === react_disposable_state_1.UNASSIGNED_STATE ? [] : state;
107
107
  const mostRecentItem = loadedReferences[loadedReferences.length - 1];
108
108
  const mostRecentFragmentReference = mostRecentItem === null || mostRecentItem === void 0 ? void 0 : mostRecentItem[0].getItemIfNotDisposed();
109
- if (mostRecentItem != null && mostRecentFragmentReference === null) {
109
+ if (mostRecentItem != null && mostRecentFragmentReference == null) {
110
110
  throw new Error('FragmentReference is unexpectedly disposed. \
111
111
  This is indicative of a bug in Isograph.');
112
112
  }
@@ -1,6 +1,6 @@
1
- import { FetchOptions } from '../core/check';
2
- import { FragmentReference, type UnknownTReadFromStore } from '../core/FragmentReference';
3
- import { LoadableField } from '../core/reader';
1
+ import type { FetchOptions } from '../core/check';
2
+ import type { FragmentReference, UnknownTReadFromStore } from '../core/FragmentReference';
3
+ import type { LoadableField } from '../core/reader';
4
4
  export type UseSkipLimitReturnValue<TReadFromStore extends UnknownTReadFromStore, TItem> = {
5
5
  readonly kind: 'Complete';
6
6
  readonly fetchMore: (count: number, fetchOptions?: FetchOptions<ReadonlyArray<TItem>, never>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useSkipLimitPagination.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAM/D,MAAM,MAAM,uBAAuB,CACjC,cAAc,SAAS,qBAAqB,EAC5C,KAAK,IAEH;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KACrD,IAAI,CAAC;IACV,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CACxC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CACzC,cAAc,EACd,aAAa,CAAC,KAAK,CAAC,CACrB,CAAC;CACH,CAAC;AA6BN,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,KAAK,EACL,cAAc,SAAS,qBAAqB,EAE5C,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,aAAa,CAAC,KAAK,CAAC,EACpB,0BAA0B,CAC3B,EACD,YAAY,CAAC,EAAE;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CAC7B,GACA,uBAAuB,CAAC,cAAc,EAAE,KAAK,CAAC,CA+OhD"}
1
+ {"version":3,"file":"useSkipLimitPagination.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AAMnC,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,gBAAgB,CAAC;AAM/D,MAAM,MAAM,uBAAuB,CACjC,cAAc,SAAS,qBAAqB,EAC5C,KAAK,IAEH;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KACrD,IAAI,CAAC;IACV,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CACxC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CACzC,cAAc,EACd,aAAa,CAAC,KAAK,CAAC,CACrB,CAAC;CACH,CAAC;AA6BN,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,KAAK,EACL,cAAc,SAAS,qBAAqB,EAE5C,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,aAAa,CAAC,KAAK,CAAC,EACpB,0BAA0B,CAC3B,EACD,YAAY,CAAC,EAAE;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CAC7B,GACA,uBAAuB,CAAC,cAAc,EAAE,KAAK,CAAC,CA+OhD"}
@@ -9,8 +9,8 @@ const PromiseWrapper_1 = require("../core/PromiseWrapper");
9
9
  const read_1 = require("../core/read");
10
10
  const startUpdate_1 = require("../core/startUpdate");
11
11
  const IsographEnvironmentProvider_1 = require("../react/IsographEnvironmentProvider");
12
+ const maybeUnwrapNetworkRequest_1 = require("../react/maybeUnwrapNetworkRequest");
12
13
  const useReadAndSubscribe_1 = require("../react/useReadAndSubscribe");
13
- const useResult_1 = require("../react/useResult");
14
14
  function flatten(arr) {
15
15
  let outArray = [];
16
16
  for (const subarr of arr) {
@@ -54,7 +54,7 @@ function useSkipLimitPagination(loadableField, initialState) {
54
54
  }
55
55
  function subscribeCompletedFragmentReferences(completedReferences) {
56
56
  return completedReferences.map((fragmentReference, i) => {
57
- (0, useResult_1.maybeUnwrapNetworkRequest)(fragmentReference.networkRequest, networkRequestOptions);
57
+ (0, maybeUnwrapNetworkRequest_1.maybeUnwrapNetworkRequest)(fragmentReference.networkRequest, networkRequestOptions);
58
58
  const readerWithRefetchQueries = (0, PromiseWrapper_1.readPromise)(fragmentReference.readerWithRefetchQueries);
59
59
  const records = readOutDataAndRecords[i];
60
60
  if (records == null) {
@@ -99,7 +99,7 @@ function useSkipLimitPagination(loadableField, initialState) {
99
99
  const loadedReferences = state === react_disposable_state_1.UNASSIGNED_STATE ? [] : state;
100
100
  const mostRecentItem = loadedReferences[loadedReferences.length - 1];
101
101
  const mostRecentFragmentReference = mostRecentItem === null || mostRecentItem === void 0 ? void 0 : mostRecentItem[0].getItemIfNotDisposed();
102
- if (mostRecentItem != null && mostRecentFragmentReference === null) {
102
+ if (mostRecentItem != null && mostRecentFragmentReference == null) {
103
103
  throw new Error('FragmentReference is unexpectedly disposed. \
104
104
  This is indicative of a bug in Isograph.');
105
105
  }
@@ -0,0 +1,4 @@
1
+ import { type BaseStoreLayerData, type IsographNetworkFunction, type MissingFieldHandler } from '../core/IsographEnvironment';
2
+ import type { LogFunction } from '../core/logging';
3
+ export declare function createIsographEnvironment(baseStoreLayerData: BaseStoreLayerData, networkFunction: IsographNetworkFunction, missingFieldHandler?: MissingFieldHandler | null, logFunction?: LogFunction | null): import("../core/IsographEnvironment").IsographEnvironment;
4
+ //# sourceMappingURL=createIsographEnvironment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createIsographEnvironment.d.ts","sourceRoot":"","sources":["../../src/react/createIsographEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,wBAAgB,yBAAyB,CACvC,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,uBAAuB,EACxC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,IAAI,EAChD,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,6DASjC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createIsographEnvironment = createIsographEnvironment;
4
+ const IsographEnvironment_1 = require("../core/IsographEnvironment");
5
+ const useReadAndSubscribe_1 = require("./useReadAndSubscribe");
6
+ function createIsographEnvironment(baseStoreLayerData, networkFunction, missingFieldHandler, logFunction) {
7
+ return (0, IsographEnvironment_1.createIsographEnvironmentCore)(baseStoreLayerData, networkFunction, useReadAndSubscribe_1.componentFunction, missingFieldHandler, logFunction);
8
+ }
@@ -0,0 +1,4 @@
1
+ import { type PromiseWrapper } from '../core/PromiseWrapper';
2
+ import type { NetworkRequestReaderOptions } from '../core/read';
3
+ export declare function maybeUnwrapNetworkRequest(networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions): void;
4
+ //# sourceMappingURL=maybeUnwrapNetworkRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybeUnwrapNetworkRequest.d.ts","sourceRoot":"","sources":["../../src/react/maybeUnwrapNetworkRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAEhE,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,EACzC,qBAAqB,EAAE,2BAA2B,QAWnD"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.maybeUnwrapNetworkRequest = maybeUnwrapNetworkRequest;
4
+ const PromiseWrapper_1 = require("../core/PromiseWrapper");
5
+ function maybeUnwrapNetworkRequest(networkRequest, networkRequestOptions) {
6
+ const state = (0, PromiseWrapper_1.getPromiseState)(networkRequest);
7
+ if (state.kind === 'Err' && networkRequestOptions.throwOnNetworkError) {
8
+ throw state.error;
9
+ }
10
+ else if (state.kind === 'Pending' &&
11
+ networkRequestOptions.suspendIfInFlight) {
12
+ throw state.promise;
13
+ }
14
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"useLazyReference.d.ts","sourceRoot":"","sources":["../../src/react/useLazyReference.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAC;AACvB,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;AAInC,wBAAgB,gBAAgB,CAC9B,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EACnE,gBAAgB,SAAS,qBAAqB,EAE9C,UAAU,EAAE,kBAAkB,CAC5B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB,EACD,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,GAAG,CAAC,YAAY,CAAC,EAAE,iBAAiB,SAAS,sBAAsB,GAC/D,CAAC,YAAY,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,GACvD,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,GACrE,gBAAgB,GAAG,sBAAsB,SAAS,iBAAiB,GAClE,OAAO,GACP;IACE,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;CACzE,CAqBJ"}
1
+ {"version":3,"file":"useLazyReference.d.ts","sourceRoot":"","sources":["../../src/react/useLazyReference.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,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;AAKnC,wBAAgB,gBAAgB,CAC9B,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EACnE,gBAAgB,SAAS,qBAAqB,EAE9C,UAAU,EAAE,kBAAkB,CAC5B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB,EACD,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,GAAG,CAAC,YAAY,CAAC,EAAE,iBAAiB,SAAS,sBAAsB,GAC/D,CAAC,YAAY,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,GACvD,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,GACrE,gBAAgB,GAAG,sBAAsB,SAAS,iBAAiB,GAClE,OAAO,GACP;IACE,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;CACzE,CAqBJ"}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useLazyReference = useLazyReference;
4
4
  const react_disposable_state_1 = require("@isograph/react-disposable-state");
5
- const cache_1 = require("../core/cache");
6
5
  const logging_1 = require("../core/logging");
7
6
  const IsographEnvironmentProvider_1 = require("./IsographEnvironmentProvider");
7
+ const getOrCreateCacheForArtifact_1 = require("../core/getOrCreateCacheForArtifact");
8
8
  function useLazyReference(entrypoint, variables, ...[fetchOptions]) {
9
9
  const environment = (0, IsographEnvironmentProvider_1.useIsographEnvironment)();
10
10
  if ((entrypoint === null || entrypoint === void 0 ? void 0 : entrypoint.kind) !== 'Entrypoint') {
@@ -14,7 +14,7 @@ function useLazyReference(entrypoint, variables, ...[fetchOptions]) {
14
14
  entrypoint,
15
15
  }));
16
16
  }
17
- const cache = (0, cache_1.getOrCreateCacheForArtifact)(environment, entrypoint, variables, fetchOptions);
17
+ const cache = (0, getOrCreateCacheForArtifact_1.getOrCreateCacheForArtifact)(environment, entrypoint, variables, fetchOptions);
18
18
  return {
19
19
  fragmentReference: (0, react_disposable_state_1.useLazyDisposableState)(cache).state,
20
20
  };
@@ -1,5 +1,6 @@
1
- import { ExtractData, FragmentReference, type UnknownTReadFromStore } from '../core/FragmentReference';
2
- import { NetworkRequestReaderOptions, WithEncounteredRecords } from '../core/read';
1
+ import { type ExtractData, type FragmentReference, type UnknownTReadFromStore } from '../core/FragmentReference';
2
+ import type { IsographComponentFunction } from '../core/IsographEnvironment';
3
+ import { type NetworkRequestReaderOptions, type WithEncounteredRecords } from '../core/read';
3
4
  import type { ReaderAst } from '../core/reader';
4
5
  /**
5
6
  * Read the data from a fragment reference and subscribe to updates.
@@ -11,4 +12,5 @@ export declare function useSubscribeToMultiple<TReadFromStore extends UnknownTRe
11
12
  fragmentReference: FragmentReference<TReadFromStore, any>;
12
13
  readerAst: ReaderAst<TReadFromStore>;
13
14
  }>): void;
15
+ export declare const componentFunction: IsographComponentFunction;
14
16
  //# sourceMappingURL=useReadAndSubscribe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useReadAndSubscribe.d.ts","sourceRoot":"","sources":["../../src/react/useReadAndSubscribe.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,iBAAiB,EAEjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAE3B,sBAAsB,EACvB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,SAAS,qBAAqB,EAE5C,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,EACzD,qBAAqB,EAAE,2BAA2B,EAClD,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,GACnC,WAAW,CAAC,cAAc,CAAC,CAY7B;AAED,wBAAgB,sBAAsB,CACpC,cAAc,SAAS,qBAAqB,EAE5C,KAAK,EAAE,aAAa,CAAC;IACnB,OAAO,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAChD,QAAQ,EAAE,CAAC,cAAc,EAAE,sBAAsB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC3E,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAC1D,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CACtC,CAAC,QAiCH"}
1
+ {"version":3,"file":"useReadAndSubscribe.d.ts","sourceRoot":"","sources":["../../src/react/useReadAndSubscribe.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EAEtB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAG7E,OAAO,EACL,KAAK,2BAA2B,EAEhC,KAAK,sBAAsB,EAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAMhD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,SAAS,qBAAqB,EAE5C,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,EACzD,qBAAqB,EAAE,2BAA2B,EAClD,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,GACnC,WAAW,CAAC,cAAc,CAAC,CAY7B;AAED,wBAAgB,sBAAsB,CACpC,cAAc,SAAS,qBAAqB,EAE5C,KAAK,EAAE,aAAa,CAAC;IACnB,OAAO,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAChD,QAAQ,EAAE,CAAC,cAAc,EAAE,sBAAsB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC3E,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAC1D,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CACtC,CAAC,QAiCH;AAED,eAAO,MAAM,iBAAiB,EAAE,yBA0C/B,CAAC"}
@@ -1,12 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.componentFunction = void 0;
3
4
  exports.useReadAndSubscribe = useReadAndSubscribe;
4
5
  exports.useSubscribeToMultiple = useSubscribeToMultiple;
5
6
  const react_1 = require("react");
6
- const cache_1 = require("../core/cache");
7
7
  const FragmentReference_1 = require("../core/FragmentReference");
8
+ const logging_1 = require("../core/logging");
9
+ const PromiseWrapper_1 = require("../core/PromiseWrapper");
8
10
  const read_1 = require("../core/read");
11
+ const subscribe_1 = require("../core/subscribe");
9
12
  const IsographEnvironmentProvider_1 = require("./IsographEnvironmentProvider");
13
+ const maybeUnwrapNetworkRequest_1 = require("./maybeUnwrapNetworkRequest");
10
14
  const useRerenderOnChange_1 = require("./useRerenderOnChange");
11
15
  /**
12
16
  * Read the data from a fragment reference and subscribe to updates.
@@ -21,7 +25,7 @@ function useSubscribeToMultiple(items) {
21
25
  const environment = (0, IsographEnvironmentProvider_1.useIsographEnvironment)();
22
26
  (0, react_1.useEffect)(() => {
23
27
  const cleanupFns = items.map(({ records, callback, fragmentReference, readerAst }) => {
24
- return (0, cache_1.subscribe)(environment, records, fragmentReference, callback, readerAst);
28
+ return (0, subscribe_1.subscribe)(environment, records, fragmentReference, callback, readerAst);
25
29
  });
26
30
  return () => {
27
31
  cleanupFns.forEach((loader) => {
@@ -40,3 +44,28 @@ function useSubscribeToMultiple(items) {
40
44
  .join('.'),
41
45
  ]);
42
46
  }
47
+ const componentFunction = (environment, fragmentReference, networkRequestOptions, startUpdate) => {
48
+ function Component(additionalRuntimeProps) {
49
+ (0, maybeUnwrapNetworkRequest_1.maybeUnwrapNetworkRequest)(fragmentReference.networkRequest, networkRequestOptions);
50
+ const readerWithRefetchQueries = (0, PromiseWrapper_1.readPromise)(fragmentReference.readerWithRefetchQueries);
51
+ const data = useReadAndSubscribe(fragmentReference, networkRequestOptions, readerWithRefetchQueries.readerArtifact.readerAst);
52
+ (0, logging_1.logMessage)(environment, () => ({
53
+ kind: 'ComponentRerendered',
54
+ componentName: fragmentReference.fieldName,
55
+ rootLink: fragmentReference.root,
56
+ }));
57
+ return readerWithRefetchQueries.readerArtifact.resolver(
58
+ // @ts-expect-error
59
+ {
60
+ data,
61
+ parameters: fragmentReference.variables,
62
+ startUpdate: readerWithRefetchQueries.readerArtifact.hasUpdatable
63
+ ? startUpdate
64
+ : undefined,
65
+ }, additionalRuntimeProps);
66
+ }
67
+ const idString = `(type: ${fragmentReference.root.__typename}, id: ${fragmentReference.root.__link})`;
68
+ Component.displayName = `${fragmentReference.fieldName} ${idString} @component`;
69
+ return Component;
70
+ };
71
+ exports.componentFunction = componentFunction;
@@ -1,5 +1,5 @@
1
- import { FragmentReference } from '../core/FragmentReference';
2
- import { WithEncounteredRecords } from '../core/read';
1
+ import type { FragmentReference } from '../core/FragmentReference';
2
+ import type { WithEncounteredRecords } from '../core/read';
3
3
  import type { ReaderAst } from '../core/reader';
4
4
  export declare function useRerenderOnChange<TReadFromStore extends {
5
5
  parameters: object;
@@ -1 +1 @@
1
- {"version":3,"file":"useRerenderOnChange.d.ts","sourceRoot":"","sources":["../../src/react/useRerenderOnChange.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAKhD,wBAAgB,mBAAmB,CACjC,cAAc,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAE3D,yBAAyB,EAAE,sBAAsB,CAAC,cAAc,CAAC,EACjE,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,EAC9C,4BAA4B,EAAE,CAC5B,IAAI,EAAE,sBAAsB,CAAC,cAAc,CAAC,KACzC,IAAI,EACT,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,QAoBrC"}
1
+ {"version":3,"file":"useRerenderOnChange.d.ts","sourceRoot":"","sources":["../../src/react/useRerenderOnChange.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAMhD,wBAAgB,mBAAmB,CACjC,cAAc,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAE3D,yBAAyB,EAAE,sBAAsB,CAAC,cAAc,CAAC,EACjE,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,EAC9C,4BAA4B,EAAE,CAC5B,IAAI,EAAE,sBAAsB,CAAC,cAAc,CAAC,KACzC,IAAI,EACT,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,QAoBrC"}
@@ -2,14 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useRerenderOnChange = useRerenderOnChange;
4
4
  const react_1 = require("react");
5
- const cache_1 = require("../core/cache");
5
+ const subscribe_1 = require("../core/subscribe");
6
6
  const IsographEnvironmentProvider_1 = require("./IsographEnvironmentProvider");
7
7
  // TODO add unit tests for this. Add integration tests that test
8
8
  // behavior when the encounteredRecords underneath a fragment change.
9
9
  function useRerenderOnChange(encounteredDataAndRecords, fragmentReference, setEncounteredDataAndRecords, readerAst) {
10
10
  const environment = (0, IsographEnvironmentProvider_1.useIsographEnvironment)();
11
11
  (0, react_1.useEffect)(() => {
12
- return (0, cache_1.subscribe)(environment, encounteredDataAndRecords, fragmentReference, (newEncounteredDataAndRecords) => {
12
+ return (0, subscribe_1.subscribe)(environment, encounteredDataAndRecords, fragmentReference, (newEncounteredDataAndRecords) => {
13
13
  setEncounteredDataAndRecords(newEncounteredDataAndRecords);
14
14
  }, readerAst);
15
15
  // Note: this is an empty array on purpose:
@@ -1,6 +1,4 @@
1
- import { FragmentReference, type UnknownTReadFromStore } from '../core/FragmentReference';
2
- import { PromiseWrapper } from '../core/PromiseWrapper';
3
- import { NetworkRequestReaderOptions } from '../core/read';
1
+ import type { FragmentReference, UnknownTReadFromStore } from '../core/FragmentReference';
2
+ import { type NetworkRequestReaderOptions } from '../core/read';
4
3
  export declare function useResult<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue>(fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>, partialNetworkRequestOptions?: Partial<NetworkRequestReaderOptions> | void): TClientFieldValue;
5
- export declare function maybeUnwrapNetworkRequest(networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions): void;
6
4
  //# sourceMappingURL=useResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useResult.d.ts","sourceRoot":"","sources":["../../src/react/useResult.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,cAAc,EAEf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,2BAA2B,EAC5B,MAAM,cAAc,CAAC;AAKtB,wBAAgB,SAAS,CACvB,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EAEjB,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,EACvE,4BAA4B,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI,GACzE,iBAAiB,CA6CnB;AAED,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,EACzC,qBAAqB,EAAE,2BAA2B,QAWnD"}
1
+ {"version":3,"file":"useResult.d.ts","sourceRoot":"","sources":["../../src/react/useResult.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,KAAK,2BAA2B,EAEjC,MAAM,cAAc,CAAC;AAMtB,wBAAgB,SAAS,CACvB,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EAEjB,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,EACvE,4BAA4B,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI,GACzE,iBAAiB,CA6CnB"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useResult = useResult;
4
- exports.maybeUnwrapNetworkRequest = maybeUnwrapNetworkRequest;
5
4
  const componentCache_1 = require("../core/componentCache");
6
5
  const PromiseWrapper_1 = require("../core/PromiseWrapper");
7
6
  const read_1 = require("../core/read");
8
7
  const startUpdate_1 = require("../core/startUpdate");
9
- const IsographEnvironmentProvider_1 = require("../react/IsographEnvironmentProvider");
8
+ const IsographEnvironmentProvider_1 = require("./IsographEnvironmentProvider");
9
+ const maybeUnwrapNetworkRequest_1 = require("./maybeUnwrapNetworkRequest");
10
10
  const useReadAndSubscribe_1 = require("./useReadAndSubscribe");
11
11
  function useResult(fragmentReference, partialNetworkRequestOptions) {
12
12
  const environment = (0, IsographEnvironmentProvider_1.useIsographEnvironment)();
@@ -17,7 +17,7 @@ function useResult(fragmentReference, partialNetworkRequestOptions) {
17
17
  return (0, componentCache_1.getOrCreateCachedComponent)(environment, fragmentReference, networkRequestOptions);
18
18
  }
19
19
  case 'EagerReaderArtifact': {
20
- maybeUnwrapNetworkRequest(fragmentReference.networkRequest, networkRequestOptions);
20
+ (0, maybeUnwrapNetworkRequest_1.maybeUnwrapNetworkRequest)(fragmentReference.networkRequest, networkRequestOptions);
21
21
  const readerWithRefetchQueries = (0, PromiseWrapper_1.readPromise)(fragmentReference.readerWithRefetchQueries);
22
22
  const data = (0, useReadAndSubscribe_1.useReadAndSubscribe)(fragmentReference, networkRequestOptions, readerWithRefetchQueries.readerArtifact.readerAst);
23
23
  const param = Object.assign({ data: data, parameters: fragmentReference.variables }, (readerWithRefetchQueries.readerArtifact.hasUpdatable
@@ -30,13 +30,3 @@ function useResult(fragmentReference, partialNetworkRequestOptions) {
30
30
  }
31
31
  }
32
32
  }
33
- function maybeUnwrapNetworkRequest(networkRequest, networkRequestOptions) {
34
- const state = (0, PromiseWrapper_1.getPromiseState)(networkRequest);
35
- if (state.kind === 'Err' && networkRequestOptions.throwOnNetworkError) {
36
- throw state.error;
37
- }
38
- else if (state.kind === 'Pending' &&
39
- networkRequestOptions.suspendIfInFlight) {
40
- throw state.promise;
41
- }
42
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isograph/react",
3
- "version": "0.0.0-main-e403ba82",
3
+ "version": "0.0.0-main-82cbc3c0",
4
4
  "description": "Use Isograph with React",
5
5
  "homepage": "https://isograph.dev",
6
6
  "main": "dist/index.js",
@@ -8,9 +8,9 @@
8
8
  "author": "Isograph Labs",
9
9
  "license": "MIT",
10
10
  "dependencies": {
11
- "@isograph/disposable-types": "0.0.0-main-e403ba82",
12
- "@isograph/react-disposable-state": "0.0.0-main-e403ba82",
13
- "@isograph/reference-counted-pointer": "0.0.0-main-e403ba82"
11
+ "@isograph/disposable-types": "0.0.0-main-82cbc3c0",
12
+ "@isograph/react-disposable-state": "0.0.0-main-82cbc3c0",
13
+ "@isograph/reference-counted-pointer": "0.0.0-main-82cbc3c0"
14
14
  },
15
15
  "peerDependencies": {
16
16
  "react": "^18.0.0 || ^19.0.0"
@@ -1,11 +1,11 @@
1
- import { ReaderWithRefetchQueries } from '../core/entrypoint';
2
- import { stableCopy } from './cache';
1
+ import { ReaderWithRefetchQueries } from './entrypoint';
3
2
  import {
4
3
  type ComponentOrFieldName,
5
4
  type StoreLink,
6
5
  } from './IsographEnvironment';
7
6
  import { PromiseWrapper } from './PromiseWrapper';
8
7
  import type { StartUpdate } from './reader';
8
+ import { stableCopy } from './util';
9
9
 
10
10
  // TODO type this better
11
11
  export type VariableValue =