@isograph/react 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-compile-libs.log +9 -2
- package/dist/_virtual/rolldown_runtime.js +25 -0
- package/dist/core/FragmentReference.d.mts +38 -0
- package/dist/core/FragmentReference.d.mts.map +1 -0
- package/dist/core/FragmentReference.d.ts +31 -29
- package/dist/core/FragmentReference.d.ts.map +1 -1
- package/dist/core/FragmentReference.js +7 -5
- package/dist/core/FragmentReference.mjs +10 -0
- package/dist/core/FragmentReference.mjs.map +1 -0
- package/dist/core/IsographEnvironment.d.mts +89 -0
- package/dist/core/IsographEnvironment.d.mts.map +1 -0
- package/dist/core/IsographEnvironment.d.ts +76 -79
- package/dist/core/IsographEnvironment.d.ts.map +1 -1
- package/dist/core/IsographEnvironment.js +60 -82
- package/dist/core/IsographEnvironment.mjs +67 -0
- package/dist/core/IsographEnvironment.mjs.map +1 -0
- package/dist/core/PromiseWrapper.d.mts +36 -0
- package/dist/core/PromiseWrapper.d.mts.map +1 -0
- package/dist/core/PromiseWrapper.d.ts +26 -23
- package/dist/core/PromiseWrapper.d.ts.map +1 -1
- package/dist/core/PromiseWrapper.js +45 -43
- package/dist/core/PromiseWrapper.mjs +49 -0
- package/dist/core/PromiseWrapper.mjs.map +1 -0
- package/dist/core/areEqualWithDeepComparison.js +56 -108
- package/dist/core/areEqualWithDeepComparison.mjs +62 -0
- package/dist/core/areEqualWithDeepComparison.mjs.map +1 -0
- package/dist/core/brand.d.mts +19 -0
- package/dist/core/brand.d.mts.map +1 -0
- package/dist/core/brand.d.ts +6 -6
- package/dist/core/brand.d.ts.map +1 -1
- package/dist/core/cache.d.mts +20 -0
- package/dist/core/cache.d.mts.map +1 -0
- package/dist/core/cache.d.ts +18 -37
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/cache.js +203 -537
- package/dist/core/cache.mjs +237 -0
- package/dist/core/cache.mjs.map +1 -0
- package/dist/core/check.d.mts +28 -0
- package/dist/core/check.d.mts.map +1 -0
- package/dist/core/check.d.ts +21 -19
- package/dist/core/check.d.ts.map +1 -1
- package/dist/core/check.js +80 -127
- package/dist/core/check.mjs +84 -0
- package/dist/core/check.mjs.map +1 -0
- package/dist/core/componentCache.js +9 -35
- package/dist/core/componentCache.mjs +12 -0
- package/dist/core/componentCache.mjs.map +1 -0
- package/dist/core/entrypoint.d.mts +99 -0
- package/dist/core/entrypoint.d.mts.map +1 -0
- package/dist/core/entrypoint.d.ts +83 -78
- package/dist/core/entrypoint.d.ts.map +1 -1
- package/dist/core/entrypoint.js +6 -5
- package/dist/core/entrypoint.mjs +8 -0
- package/dist/core/entrypoint.mjs.map +1 -0
- package/dist/core/garbageCollection.d.mts +18 -0
- package/dist/core/garbageCollection.d.mts.map +1 -0
- package/dist/core/garbageCollection.d.ts +15 -16
- package/dist/core/garbageCollection.d.ts.map +1 -1
- package/dist/core/garbageCollection.js +76 -115
- package/dist/core/garbageCollection.mjs +89 -0
- package/dist/core/garbageCollection.mjs.map +1 -0
- package/dist/core/getOrCreateCacheForArtifact.js +37 -0
- package/dist/core/getOrCreateCacheForArtifact.mjs +38 -0
- package/dist/core/getOrCreateCacheForArtifact.mjs.map +1 -0
- package/dist/core/logging.d.mts +95 -0
- package/dist/core/logging.d.mts.map +1 -0
- package/dist/core/logging.d.ts +66 -61
- package/dist/core/logging.d.ts.map +1 -1
- package/dist/core/logging.js +17 -18
- package/dist/core/logging.mjs +20 -0
- package/dist/core/logging.mjs.map +1 -0
- package/dist/core/makeNetworkRequest.d.mts +13 -0
- package/dist/core/makeNetworkRequest.d.mts.map +1 -0
- package/dist/core/makeNetworkRequest.d.ts +12 -10
- package/dist/core/makeNetworkRequest.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.js +180 -264
- package/dist/core/makeNetworkRequest.mjs +195 -0
- package/dist/core/makeNetworkRequest.mjs.map +1 -0
- package/dist/core/optimisticProxy.d.mts +43 -0
- package/dist/core/optimisticProxy.d.mts.map +1 -0
- package/dist/core/optimisticProxy.d.ts +37 -53
- package/dist/core/optimisticProxy.d.ts.map +1 -1
- package/dist/core/optimisticProxy.js +245 -371
- package/dist/core/optimisticProxy.mjs +268 -0
- package/dist/core/optimisticProxy.mjs.map +1 -0
- package/dist/core/read.d.mts +29 -0
- package/dist/core/read.d.mts.map +1 -0
- package/dist/core/read.d.ts +23 -28
- package/dist/core/read.d.ts.map +1 -1
- package/dist/core/read.js +435 -650
- package/dist/core/read.mjs +456 -0
- package/dist/core/read.mjs.map +1 -0
- package/dist/core/reader.d.mts +89 -0
- package/dist/core/reader.d.mts.map +1 -0
- package/dist/core/reader.d.ts +78 -77
- package/dist/core/reader.d.ts.map +1 -1
- package/dist/core/startUpdate.js +115 -152
- package/dist/core/startUpdate.mjs +125 -0
- package/dist/core/startUpdate.mjs.map +1 -0
- package/dist/core/subscribe.d.mts +12 -0
- package/dist/core/subscribe.d.mts.map +1 -0
- package/dist/core/subscribe.d.ts +12 -0
- package/dist/core/subscribe.d.ts.map +1 -0
- package/dist/core/subscribe.js +79 -0
- package/dist/core/subscribe.mjs +79 -0
- package/dist/core/subscribe.mjs.map +1 -0
- package/dist/core/util.d.mts +27 -0
- package/dist/core/util.d.mts.map +1 -0
- package/dist/core/util.d.ts +21 -17
- package/dist/core/util.d.ts.map +1 -1
- package/dist/core/util.js +22 -2
- package/dist/core/util.mjs +21 -0
- package/dist/core/util.mjs.map +1 -0
- package/dist/core/writeData.d.mts +11 -0
- package/dist/core/writeData.d.mts.map +1 -0
- package/dist/core/writeData.d.ts +11 -0
- package/dist/core/writeData.d.ts.map +1 -0
- package/dist/core/writeData.js +41 -0
- package/dist/core/writeData.mjs +42 -0
- package/dist/core/writeData.mjs.map +1 -0
- package/dist/index.d.mts +32 -0
- package/dist/index.d.ts +32 -29
- package/dist/index.js +70 -69
- package/dist/index.mjs +31 -0
- package/dist/loadable-hooks/useClientSideDefer.d.mts +12 -0
- package/dist/loadable-hooks/useClientSideDefer.d.mts.map +1 -0
- package/dist/loadable-hooks/useClientSideDefer.d.ts +9 -12
- package/dist/loadable-hooks/useClientSideDefer.d.ts.map +1 -1
- package/dist/loadable-hooks/useClientSideDefer.js +13 -44
- package/dist/loadable-hooks/useClientSideDefer.mjs +14 -0
- package/dist/loadable-hooks/useClientSideDefer.mjs.map +1 -0
- package/dist/loadable-hooks/useConnectionSpecPagination.d.mts +33 -0
- package/dist/loadable-hooks/useConnectionSpecPagination.d.mts.map +1 -0
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts +26 -22
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -1
- package/dist/loadable-hooks/useConnectionSpecPagination.js +133 -172
- package/dist/loadable-hooks/useConnectionSpecPagination.mjs +134 -0
- package/dist/loadable-hooks/useConnectionSpecPagination.mjs.map +1 -0
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.mts +8 -0
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.mts.map +1 -0
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts +6 -3
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts.map +1 -1
- package/dist/loadable-hooks/useImperativeExposedMutationField.js +9 -12
- package/dist/loadable-hooks/useImperativeExposedMutationField.mjs +11 -0
- package/dist/loadable-hooks/useImperativeExposedMutationField.mjs.map +1 -0
- package/dist/loadable-hooks/useImperativeLoadableField.d.mts +19 -0
- package/dist/loadable-hooks/useImperativeLoadableField.d.mts.map +1 -0
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts +15 -11
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts.map +1 -1
- package/dist/loadable-hooks/useImperativeLoadableField.js +16 -12
- package/dist/loadable-hooks/useImperativeLoadableField.mjs +17 -0
- package/dist/loadable-hooks/useImperativeLoadableField.mjs.map +1 -0
- package/dist/loadable-hooks/useSkipLimitPagination.d.mts +24 -0
- package/dist/loadable-hooks/useSkipLimitPagination.d.mts.map +1 -0
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts +19 -15
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.js +118 -160
- package/dist/loadable-hooks/useSkipLimitPagination.mjs +119 -0
- package/dist/loadable-hooks/useSkipLimitPagination.mjs.map +1 -0
- package/dist/react/FragmentReader.d.mts +18 -0
- package/dist/react/FragmentReader.d.mts.map +1 -0
- package/dist/react/FragmentReader.d.ts +16 -8
- package/dist/react/FragmentReader.d.ts.map +1 -1
- package/dist/react/FragmentReader.js +8 -7
- package/dist/react/FragmentReader.mjs +10 -0
- package/dist/react/FragmentReader.mjs.map +1 -0
- package/dist/react/FragmentRenderer.d.mts +20 -0
- package/dist/react/FragmentRenderer.d.mts.map +1 -0
- package/dist/react/FragmentRenderer.d.ts +18 -14
- package/dist/react/FragmentRenderer.d.ts.map +1 -1
- package/dist/react/FragmentRenderer.js +11 -33
- package/dist/react/FragmentRenderer.mjs +12 -0
- package/dist/react/FragmentRenderer.mjs.map +1 -0
- package/dist/react/IsographEnvironmentProvider.d.mts +17 -0
- package/dist/react/IsographEnvironmentProvider.d.mts.map +1 -0
- package/dist/react/IsographEnvironmentProvider.d.ts +15 -9
- package/dist/react/IsographEnvironmentProvider.d.ts.map +1 -1
- package/dist/react/IsographEnvironmentProvider.js +15 -39
- package/dist/react/IsographEnvironmentProvider.mjs +17 -0
- package/dist/react/IsographEnvironmentProvider.mjs.map +1 -0
- package/dist/react/LoadableFieldReader.d.mts +21 -0
- package/dist/react/LoadableFieldReader.d.mts.map +1 -0
- package/dist/react/LoadableFieldReader.d.ts +15 -12
- package/dist/react/LoadableFieldReader.d.ts.map +1 -1
- package/dist/react/LoadableFieldReader.js +13 -47
- package/dist/react/LoadableFieldReader.mjs +14 -0
- package/dist/react/LoadableFieldReader.mjs.map +1 -0
- package/dist/react/LoadableFieldRenderer.d.mts +22 -0
- package/dist/react/LoadableFieldRenderer.d.mts.map +1 -0
- package/dist/react/LoadableFieldRenderer.d.ts +16 -13
- package/dist/react/LoadableFieldRenderer.d.ts.map +1 -1
- package/dist/react/LoadableFieldRenderer.js +13 -70
- package/dist/react/LoadableFieldRenderer.mjs +14 -0
- package/dist/react/LoadableFieldRenderer.mjs.map +1 -0
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts +18 -0
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts.map +1 -0
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts +11 -3
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts.map +1 -1
- package/dist/react/RenderAfterCommit__DO_NOT_USE.js +17 -13
- package/dist/react/RenderAfterCommit__DO_NOT_USE.mjs +18 -0
- package/dist/react/RenderAfterCommit__DO_NOT_USE.mjs.map +1 -0
- package/dist/react/createIsographEnvironment.d.mts +9 -0
- package/dist/react/createIsographEnvironment.d.mts.map +1 -0
- package/dist/react/createIsographEnvironment.d.ts +8 -0
- package/dist/react/createIsographEnvironment.d.ts.map +1 -0
- package/dist/react/createIsographEnvironment.js +10 -0
- package/dist/react/createIsographEnvironment.mjs +11 -0
- package/dist/react/createIsographEnvironment.mjs.map +1 -0
- package/dist/react/maybeUnwrapNetworkRequest.js +11 -0
- package/dist/react/maybeUnwrapNetworkRequest.mjs +12 -0
- package/dist/react/maybeUnwrapNetworkRequest.mjs.map +1 -0
- package/dist/react/useImperativeReference.d.mts +15 -0
- package/dist/react/useImperativeReference.d.mts.map +1 -0
- package/dist/react/useImperativeReference.d.ts +13 -8
- package/dist/react/useImperativeReference.d.ts.map +1 -1
- package/dist/react/useImperativeReference.js +34 -30
- package/dist/react/useImperativeReference.mjs +35 -0
- package/dist/react/useImperativeReference.mjs.map +1 -0
- package/dist/react/useLazyReference.d.mts +13 -0
- package/dist/react/useLazyReference.d.mts.map +1 -0
- package/dist/react/useLazyReference.d.ts +11 -6
- package/dist/react/useLazyReference.d.ts.map +1 -1
- package/dist/react/useLazyReference.js +17 -40
- package/dist/react/useLazyReference.mjs +18 -0
- package/dist/react/useLazyReference.mjs.map +1 -0
- package/dist/react/useReadAndSubscribe.d.mts +20 -0
- package/dist/react/useReadAndSubscribe.d.mts.map +1 -0
- package/dist/react/useReadAndSubscribe.d.ts +14 -9
- package/dist/react/useReadAndSubscribe.d.ts.map +1 -1
- package/dist/react/useReadAndSubscribe.js +57 -37
- package/dist/react/useReadAndSubscribe.mjs +59 -0
- package/dist/react/useReadAndSubscribe.mjs.map +1 -0
- package/dist/react/useRerenderOnChange.d.mts +12 -0
- package/dist/react/useRerenderOnChange.d.mts.map +1 -0
- package/dist/react/useRerenderOnChange.d.ts +10 -6
- package/dist/react/useRerenderOnChange.d.ts.map +1 -1
- package/dist/react/useRerenderOnChange.js +16 -20
- package/dist/react/useRerenderOnChange.mjs +17 -0
- package/dist/react/useRerenderOnChange.mjs.map +1 -0
- package/dist/react/useResult.d.mts +8 -0
- package/dist/react/useResult.d.mts.map +1 -0
- package/dist/react/useResult.d.ts +7 -5
- package/dist/react/useResult.d.ts.map +1 -1
- package/dist/react/useResult.js +27 -40
- package/dist/react/useResult.mjs +30 -0
- package/dist/react/useResult.mjs.map +1 -0
- package/package.json +17 -9
- package/src/core/FragmentReference.ts +3 -3
- package/src/core/IsographEnvironment.ts +29 -16
- package/src/core/areEqualWithDeepComparison.ts +2 -18
- package/src/core/cache.ts +18 -383
- package/src/core/check.ts +9 -16
- package/src/core/componentCache.ts +10 -47
- package/src/core/entrypoint.ts +15 -3
- package/src/core/garbageCollection.ts +21 -10
- package/src/core/getOrCreateCacheForArtifact.ts +86 -0
- package/src/core/logging.ts +10 -10
- package/src/core/makeNetworkRequest.ts +16 -23
- package/src/core/optimisticProxy.ts +28 -47
- package/src/core/read.ts +21 -38
- package/src/core/reader.ts +8 -11
- package/src/core/startUpdate.ts +2 -6
- package/src/core/subscribe.ts +189 -0
- package/src/core/util.ts +26 -0
- package/src/core/writeData.ts +79 -0
- package/src/index.ts +5 -4
- package/src/loadable-hooks/useClientSideDefer.ts +4 -4
- package/src/loadable-hooks/useConnectionSpecPagination.ts +20 -18
- package/src/loadable-hooks/useImperativeLoadableField.ts +3 -3
- package/src/loadable-hooks/useSkipLimitPagination.ts +20 -18
- package/src/react/IsographEnvironmentProvider.tsx +2 -1
- package/src/react/LoadableFieldReader.tsx +2 -4
- package/src/react/LoadableFieldRenderer.tsx +2 -4
- package/src/react/createIsographEnvironment.ts +23 -0
- package/src/react/maybeUnwrapNetworkRequest.ts +17 -0
- package/src/react/useImperativeReference.ts +5 -4
- package/src/react/useLazyReference.ts +7 -8
- package/src/react/useReadAndSubscribe.ts +53 -5
- package/src/react/useRerenderOnChange.ts +3 -3
- package/src/react/useResult.ts +6 -24
- package/src/tests/__isograph/Economist/__link/output_type.ts +2 -0
- package/src/tests/garbageCollection.test.ts +3 -6
- package/src/tests/meNameSuccessor.ts +1 -1
- package/src/tests/nodeQuery.ts +2 -2
- package/src/tests/normalizeData.test.ts +5 -3
- package/src/tests/optimisticProxy.test.ts +7 -5
- package/src/tests/startUpdate.test.ts +5 -7
- package/vitest.config.ts +5 -0
- package/dist/core/areEqualWithDeepComparison.d.ts +0 -3
- package/dist/core/areEqualWithDeepComparison.d.ts.map +0 -1
- package/dist/core/brand.js +0 -2
- package/dist/core/componentCache.d.ts +0 -5
- package/dist/core/componentCache.d.ts.map +0 -1
- package/dist/core/reader.js +0 -2
- package/dist/core/startUpdate.d.ts +0 -9
- package/dist/core/startUpdate.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
|
@@ -1,5 +1,12 @@
|
|
|
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.5.
|
|
4
|
-
>
|
|
3
|
+
> @isograph/react@0.5.1 compile-libs /home/runner/work/isograph/isograph/libs/isograph-react
|
|
4
|
+
> tsdown
|
|
5
5
|
|
|
6
|
+
[34mℹ[39m tsdown [2mv0.15.10[22m powered by rolldown [2mv1.0.0-beta.44[22m
|
|
7
|
+
[34mℹ[39m Using tsdown config: [4m/home/runner/work/isograph/isograph/tsdown.config.ts[24m
|
|
8
|
+
(node:3063) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///home/runner/work/isograph/isograph/tsdown.config.ts is not specified and it doesn't parse as CommonJS.
|
|
9
|
+
Reparsing as ES module because module syntax was detected. This incurs a performance overhead.
|
|
10
|
+
To eliminate this warning, add "type": "module" to /home/runner/work/isograph/isograph/package.json.
|
|
11
|
+
(Use `node --trace-warnings ...` to show where the warning was created)
|
|
12
|
+
[34mℹ[39m Build start
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region rolldown:runtime
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
10
|
+
key = keys[i];
|
|
11
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
+
get: ((k) => from[k]).bind(null, key),
|
|
13
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
19
|
+
value: mod,
|
|
20
|
+
enumerable: true
|
|
21
|
+
}) : target, mod));
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
|
|
25
|
+
exports.__toESM = __toESM;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { PromiseWrapper } from "./PromiseWrapper.mjs";
|
|
2
|
+
import { StartUpdate } from "./reader.mjs";
|
|
3
|
+
import { ComponentOrFieldName, StoreLink } from "./IsographEnvironment.mjs";
|
|
4
|
+
import { ReaderWithRefetchQueries } from "./entrypoint.mjs";
|
|
5
|
+
|
|
6
|
+
//#region src/core/FragmentReference.d.ts
|
|
7
|
+
type VariableValue = string | number | boolean | null | {
|
|
8
|
+
readonly [index: string]: VariableValue;
|
|
9
|
+
} | VariableValue[];
|
|
10
|
+
type Variables = {
|
|
11
|
+
readonly [index: string]: VariableValue;
|
|
12
|
+
};
|
|
13
|
+
type UnknownTReadFromStore = {
|
|
14
|
+
parameters: object;
|
|
15
|
+
data: object;
|
|
16
|
+
startUpdate?: StartUpdate<object>;
|
|
17
|
+
};
|
|
18
|
+
type ExtractData<T> = T extends {
|
|
19
|
+
data: infer D extends object;
|
|
20
|
+
} ? D : never;
|
|
21
|
+
type ExtractParameters<T> = T extends {
|
|
22
|
+
parameters: infer P extends Variables;
|
|
23
|
+
} ? P : Variables;
|
|
24
|
+
type ExtractStartUpdate<T extends UnknownTReadFromStore> = T['startUpdate'];
|
|
25
|
+
type FragmentReference<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
|
|
26
|
+
readonly kind: 'FragmentReference';
|
|
27
|
+
readonly readerWithRefetchQueries: PromiseWrapper<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>>;
|
|
28
|
+
readonly root: StoreLink;
|
|
29
|
+
readonly fieldName: ComponentOrFieldName;
|
|
30
|
+
readonly readerArtifactKind: 'EagerReaderArtifact' | 'ComponentReaderArtifact';
|
|
31
|
+
readonly variables: ExtractParameters<TReadFromStore>;
|
|
32
|
+
readonly networkRequest: PromiseWrapper<void, any>;
|
|
33
|
+
};
|
|
34
|
+
type StableIdForFragmentReference = string;
|
|
35
|
+
declare function stableIdForFragmentReference(fragmentReference: FragmentReference<any, any>): StableIdForFragmentReference;
|
|
36
|
+
//#endregion
|
|
37
|
+
export { ExtractData, ExtractParameters, ExtractStartUpdate, FragmentReference, StableIdForFragmentReference, UnknownTReadFromStore, VariableValue, Variables, stableIdForFragmentReference };
|
|
38
|
+
//# sourceMappingURL=FragmentReference.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FragmentReference.d.mts","names":[],"sources":["../../src/core/FragmentReference.ts"],"sourcesContent":[],"mappings":";;;;;;KAUY,aAAA;4BAMoB;AANhC,CAAA,GAQI,aARQ,EAAA;AAUA,KAAA,SAAA,GAAS;EAET,UAAA,KAAA,EAAA,MAAA,CAAqB,EAFmB,aAKpC;AAGhB,CAAA;AAMY,KAZA,qBAAA,GAYiB;EAAM,UAAA,EAAA,MAAA;EACL,IAAA,EAAA,MAAA;EAE1B,WAAA,CAAA,EAZY,WAYZ,CAAA,MAAA,CAAA;CACA;AAAS,KAVD,WAUC,CAAA,CAAA,CAAA,GAVgB,CAUhB,SAAA;EAED,IAAA,EAAA,KAAA,WAAkB,MAAA;AAS9B,CAAA,GAlBI,CAkBQ,GAAA,KAAA;AACa,KAhBb,iBAgBa,CAAA,CAAA,CAAA,GAhBU,CAgBV,SAAA;EAKI,UAAA,EAAA,KAAA,WApBC,SAoBD;CAAgB,GAlBzC,CAkByC,GAjBzC,SAiByC;AAAzC,KAfQ,kBAeR,CAAA,UAfqC,qBAerC,CAAA,GAdF,CAcE,CAAA,aAAA,CAAA;AAGkB,KATV,iBASU,CAAA,uBARG,qBAQH,EAAA,iBAAA,CAAA,GAAA;EAUkB,SAAA,IAAA,EAAA,mBAAA;EAAlB,SAAA,wBAAA,EAde,cAcf,CAblB,wBAakB,CAbO,cAaP,EAbuB,iBAavB,CAAA,CAAA;EACK,SAAA,IAAA,EAZV,SAYU;EAAc,SAAA,SAAA,EAXnB,oBAWmB;EAG7B,SAAA,kBAAA,EAAA,qBAA4B,GAAA,yBAAA;EAExB,SAAA,SAAA,EANM,iBAMsB,CANJ,cAOnB,CAAA;2BANM;;KAGf,4BAAA;iBAEI,4BAAA,oBACK,8BAClB"}
|
|
@@ -1,36 +1,38 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { PromiseWrapper } from "./PromiseWrapper.js";
|
|
2
|
+
import { StartUpdate } from "./reader.js";
|
|
3
|
+
import { ComponentOrFieldName, StoreLink } from "./IsographEnvironment.js";
|
|
4
|
+
import { ReaderWithRefetchQueries } from "./entrypoint.js";
|
|
5
|
+
|
|
6
|
+
//#region src/core/FragmentReference.d.ts
|
|
7
|
+
type VariableValue = string | number | boolean | null | {
|
|
8
|
+
readonly [index: string]: VariableValue;
|
|
7
9
|
} | VariableValue[];
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
type Variables = {
|
|
11
|
+
readonly [index: string]: VariableValue;
|
|
10
12
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
type UnknownTReadFromStore = {
|
|
14
|
+
parameters: object;
|
|
15
|
+
data: object;
|
|
16
|
+
startUpdate?: StartUpdate<object>;
|
|
15
17
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
type ExtractData<T> = T extends {
|
|
19
|
+
data: infer D extends object;
|
|
18
20
|
} ? D : never;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
type ExtractParameters<T> = T extends {
|
|
22
|
+
parameters: infer P extends Variables;
|
|
21
23
|
} ? P : Variables;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
readonly variables: ExtractParameters<TReadFromStore>;
|
|
32
|
-
readonly networkRequest: PromiseWrapper<void, any>;
|
|
24
|
+
type ExtractStartUpdate<T extends UnknownTReadFromStore> = T['startUpdate'];
|
|
25
|
+
type FragmentReference<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
|
|
26
|
+
readonly kind: 'FragmentReference';
|
|
27
|
+
readonly readerWithRefetchQueries: PromiseWrapper<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>>;
|
|
28
|
+
readonly root: StoreLink;
|
|
29
|
+
readonly fieldName: ComponentOrFieldName;
|
|
30
|
+
readonly readerArtifactKind: 'EagerReaderArtifact' | 'ComponentReaderArtifact';
|
|
31
|
+
readonly variables: ExtractParameters<TReadFromStore>;
|
|
32
|
+
readonly networkRequest: PromiseWrapper<void, any>;
|
|
33
33
|
};
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
type StableIdForFragmentReference = string;
|
|
35
|
+
declare function stableIdForFragmentReference(fragmentReference: FragmentReference<any, any>): StableIdForFragmentReference;
|
|
36
|
+
//#endregion
|
|
37
|
+
export { ExtractData, ExtractParameters, ExtractStartUpdate, FragmentReference, StableIdForFragmentReference, UnknownTReadFromStore, VariableValue, Variables, stableIdForFragmentReference };
|
|
36
38
|
//# sourceMappingURL=FragmentReference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentReference.d.ts","
|
|
1
|
+
{"version":3,"file":"FragmentReference.d.ts","names":[],"sources":["../../src/core/FragmentReference.ts"],"sourcesContent":[],"mappings":";;;;;;KAUY,aAAA;4BAMoB;AANhC,CAAA,GAQI,aARQ,EAAA;AAUA,KAAA,SAAA,GAAS;EAET,UAAA,KAAA,EAAA,MAAA,CAAqB,EAFmB,aAKpC;AAGhB,CAAA;AAMY,KAZA,qBAAA,GAYiB;EAAM,UAAA,EAAA,MAAA;EACL,IAAA,EAAA,MAAA;EAE1B,WAAA,CAAA,EAZY,WAYZ,CAAA,MAAA,CAAA;CACA;AAAS,KAVD,WAUC,CAAA,CAAA,CAAA,GAVgB,CAUhB,SAAA;EAED,IAAA,EAAA,KAAA,WAAkB,MAAA;AAS9B,CAAA,GAlBI,CAkBQ,GAAA,KAAA;AACa,KAhBb,iBAgBa,CAAA,CAAA,CAAA,GAhBU,CAgBV,SAAA;EAKI,UAAA,EAAA,KAAA,WApBC,SAoBD;CAAgB,GAlBzC,CAkByC,GAjBzC,SAiByC;AAAzC,KAfQ,kBAeR,CAAA,UAfqC,qBAerC,CAAA,GAdF,CAcE,CAAA,aAAA,CAAA;AAGkB,KATV,iBASU,CAAA,uBARG,qBAQH,EAAA,iBAAA,CAAA,GAAA;EAUkB,SAAA,IAAA,EAAA,mBAAA;EAAlB,SAAA,wBAAA,EAde,cAcf,CAblB,wBAakB,CAbO,cAaP,EAbuB,iBAavB,CAAA,CAAA;EACK,SAAA,IAAA,EAZV,SAYU;EAAc,SAAA,SAAA,EAXnB,oBAWmB;EAG7B,SAAA,kBAAA,EAAA,qBAA4B,GAAA,yBAAA;EAExB,SAAA,SAAA,EANM,iBAMsB,CANJ,cAOnB,CAAA;2BANM;;KAGf,4BAAA;iBAEI,4BAAA,oBACK,8BAClB"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const cache_1 = require("./cache");
|
|
1
|
+
const require_util = require('./util.js');
|
|
2
|
+
|
|
3
|
+
//#region src/core/FragmentReference.ts
|
|
5
4
|
function stableIdForFragmentReference(fragmentReference) {
|
|
6
|
-
|
|
5
|
+
return `${fragmentReference.root.__typename}/${fragmentReference.root.__link}/${fragmentReference.fieldName}/${JSON.stringify(require_util.stableCopy(fragmentReference.variables))}`;
|
|
7
6
|
}
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
exports.stableIdForFragmentReference = stableIdForFragmentReference;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { stableCopy } from "./util.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/core/FragmentReference.ts
|
|
4
|
+
function stableIdForFragmentReference(fragmentReference) {
|
|
5
|
+
return `${fragmentReference.root.__typename}/${fragmentReference.root.__link}/${fragmentReference.fieldName}/${JSON.stringify(stableCopy(fragmentReference.variables))}`;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
export { stableIdForFragmentReference };
|
|
10
|
+
//# sourceMappingURL=FragmentReference.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FragmentReference.mjs","names":[],"sources":["../../src/core/FragmentReference.ts"],"sourcesContent":["import type { ReaderWithRefetchQueries } from './entrypoint';\nimport {\n type ComponentOrFieldName,\n type StoreLink,\n} from './IsographEnvironment';\nimport type { PromiseWrapper } from './PromiseWrapper';\nimport type { StartUpdate } from './reader';\nimport { stableCopy } from './util';\n\n// TODO type this better\nexport type VariableValue =\n | string\n | number\n | boolean\n | null\n | {\n readonly [index: string]: VariableValue;\n }\n | VariableValue[];\n\nexport type Variables = { readonly [index: string]: VariableValue };\n\nexport type UnknownTReadFromStore = {\n parameters: object;\n data: object;\n startUpdate?: StartUpdate<object>;\n};\n\nexport type ExtractData<T> = T extends {\n data: infer D extends object;\n}\n ? D\n : never;\n\nexport type ExtractParameters<T> = T extends {\n parameters: infer P extends Variables;\n}\n ? P\n : Variables;\n\nexport type ExtractStartUpdate<T extends UnknownTReadFromStore> =\n T['startUpdate'];\n\nexport type ExtractUpdatableData<T extends UnknownTReadFromStore> =\n ExtractUpdatableDataFromStartUpdate<ExtractStartUpdate<T>>;\n\nexport type ExtractUpdatableDataFromStartUpdate<T> =\n T extends StartUpdate<infer D> ? D : never;\n\nexport type FragmentReference<\n TReadFromStore extends UnknownTReadFromStore,\n TClientFieldValue,\n> = {\n readonly kind: 'FragmentReference';\n readonly readerWithRefetchQueries: PromiseWrapper<\n ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>\n >;\n readonly root: StoreLink;\n readonly fieldName: ComponentOrFieldName;\n readonly readerArtifactKind:\n | 'EagerReaderArtifact'\n | 'ComponentReaderArtifact';\n // TODO we potentially stably copy and stringify variables a lot!\n // So, we should employ interior mutability: pretend that fragment reference\n // is immutable, but actually store something like\n // `Map<Variable, StablyCopiedStringifiedOutput>`\n // and read or update that map when we would otherwise stably copy and\n // stringify.\n readonly variables: ExtractParameters<TReadFromStore>;\n readonly networkRequest: PromiseWrapper<void, any>;\n};\n\nexport type StableIdForFragmentReference = string;\n\nexport function stableIdForFragmentReference(\n fragmentReference: FragmentReference<any, any>,\n): StableIdForFragmentReference {\n return `${fragmentReference.root.__typename}/${fragmentReference.root.__link}/${fragmentReference.fieldName}/${JSON.stringify(stableCopy(fragmentReference.variables))}`;\n}\n"],"mappings":";;;AA0EA,SAAgB,6BACd,mBAC8B;AAC9B,QAAO,GAAG,kBAAkB,KAAK,WAAW,GAAG,kBAAkB,KAAK,OAAO,GAAG,kBAAkB,UAAU,GAAG,KAAK,UAAU,WAAW,kBAAkB,UAAU,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Brand } from "./brand.mjs";
|
|
2
|
+
import { PromiseWrapper } from "./PromiseWrapper.mjs";
|
|
3
|
+
import { ReaderAst, StartUpdate } from "./reader.mjs";
|
|
4
|
+
import { NetworkRequestReaderOptions, WithEncounteredRecords } from "./read.mjs";
|
|
5
|
+
import { StoreLayer } from "./optimisticProxy.mjs";
|
|
6
|
+
import { WrappedLogFunction } from "./logging.mjs";
|
|
7
|
+
import { ExtractStartUpdate, FragmentReference, StableIdForFragmentReference, UnknownTReadFromStore, Variables } from "./FragmentReference.mjs";
|
|
8
|
+
import { IsographEntrypoint, IsographOperation, IsographPersistedOperation } from "./entrypoint.mjs";
|
|
9
|
+
import { RetainedQuery } from "./garbageCollection.mjs";
|
|
10
|
+
import { ParentCache } from "@isograph/react-disposable-state";
|
|
11
|
+
|
|
12
|
+
//#region src/core/IsographEnvironment.d.ts
|
|
13
|
+
type ComponentOrFieldName = string;
|
|
14
|
+
type StringifiedArgs = string;
|
|
15
|
+
type FieldCache<T> = {
|
|
16
|
+
[key: StableIdForFragmentReference]: T;
|
|
17
|
+
};
|
|
18
|
+
type FragmentSubscription<TReadFromStore extends UnknownTReadFromStore> = {
|
|
19
|
+
readonly kind: 'FragmentSubscription';
|
|
20
|
+
readonly callback: (newEncounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>) => void;
|
|
21
|
+
/** The value read out from the previous call to readButDoNotEvaluate */
|
|
22
|
+
encounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>;
|
|
23
|
+
readonly fragmentReference: FragmentReference<TReadFromStore, any>;
|
|
24
|
+
readonly readerAst: ReaderAst<TReadFromStore>;
|
|
25
|
+
};
|
|
26
|
+
type AnyChangesToRecordSubscription = {
|
|
27
|
+
readonly kind: 'AnyChangesToRecord';
|
|
28
|
+
readonly callback: () => void;
|
|
29
|
+
readonly recordLink: StoreLink;
|
|
30
|
+
};
|
|
31
|
+
type AnyRecordSubscription = {
|
|
32
|
+
readonly kind: 'AnyRecords';
|
|
33
|
+
readonly callback: () => void;
|
|
34
|
+
};
|
|
35
|
+
type Subscription = FragmentSubscription<any> | AnyChangesToRecordSubscription | AnyRecordSubscription;
|
|
36
|
+
type Subscriptions = Set<Subscription>;
|
|
37
|
+
type CacheMap<T> = {
|
|
38
|
+
[index: string]: ParentCache<T>;
|
|
39
|
+
};
|
|
40
|
+
type IsographEnvironment = {
|
|
41
|
+
store: StoreLayer;
|
|
42
|
+
readonly networkFunction: IsographNetworkFunction;
|
|
43
|
+
readonly componentFunction: IsographComponentFunction;
|
|
44
|
+
readonly missingFieldHandler: MissingFieldHandler | null;
|
|
45
|
+
readonly componentCache: FieldCache<React.FC<any>>;
|
|
46
|
+
readonly eagerReaderCache: FieldCache<StartUpdate<any> | undefined>;
|
|
47
|
+
readonly subscriptions: Subscriptions;
|
|
48
|
+
readonly fragmentCache: CacheMap<FragmentReference<any, any>>;
|
|
49
|
+
readonly entrypointArtifactCache: Map<string, PromiseWrapper<IsographEntrypoint<any, any, any, any>>>;
|
|
50
|
+
readonly retainedQueries: Set<RetainedQuery>;
|
|
51
|
+
readonly gcBuffer: Array<RetainedQuery>;
|
|
52
|
+
readonly gcBufferSize: number;
|
|
53
|
+
readonly loggers: Set<WrappedLogFunction>;
|
|
54
|
+
};
|
|
55
|
+
type MissingFieldHandler = (storeRecord: StoreRecord, root: StoreLink, fieldName: string, arguments_: {
|
|
56
|
+
[index: string]: any;
|
|
57
|
+
} | null, variables: Variables | null) => StoreLink | undefined;
|
|
58
|
+
type IsographNetworkFunction = (operation: IsographOperation | IsographPersistedOperation, variables: Variables) => Promise<any>;
|
|
59
|
+
type IsographComponentFunction = <TReadFromStore extends UnknownTReadFromStore = any>(environment: IsographEnvironment, fragmentReference: FragmentReference<TReadFromStore, any>, networkRequestOptions: NetworkRequestReaderOptions, startUpdate: ExtractStartUpdate<TReadFromStore>) => React.FC<any>;
|
|
60
|
+
interface Link<T extends TypeName> extends StoreLink {
|
|
61
|
+
readonly __link: Brand<DataId, T>;
|
|
62
|
+
readonly __typename: T;
|
|
63
|
+
}
|
|
64
|
+
type StoreLink = {
|
|
65
|
+
readonly __link: DataId;
|
|
66
|
+
readonly __typename: TypeName;
|
|
67
|
+
};
|
|
68
|
+
type DataTypeValue = undefined | number | boolean | string | null | StoreLink | readonly DataTypeValue[];
|
|
69
|
+
type StoreRecord = {
|
|
70
|
+
[index: DataId | string]: DataTypeValue;
|
|
71
|
+
readonly id?: DataId;
|
|
72
|
+
};
|
|
73
|
+
type TypeName = string;
|
|
74
|
+
type DataId = string;
|
|
75
|
+
declare const ROOT_ID: DataId & '__ROOT';
|
|
76
|
+
type StoreLayerData = {
|
|
77
|
+
[index: TypeName]: {
|
|
78
|
+
[index: DataId]: StoreRecord | null;
|
|
79
|
+
} | null;
|
|
80
|
+
};
|
|
81
|
+
interface BaseStoreLayerData extends StoreLayerData {
|
|
82
|
+
readonly Query: {
|
|
83
|
+
readonly __ROOT: StoreRecord;
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
declare function createIsographStore(): BaseStoreLayerData;
|
|
87
|
+
//#endregion
|
|
88
|
+
export { AnyChangesToRecordSubscription, AnyRecordSubscription, BaseStoreLayerData, CacheMap, ComponentOrFieldName, DataId, DataTypeValue, FieldCache, FragmentSubscription, IsographEnvironment, IsographNetworkFunction, Link, MissingFieldHandler, ROOT_ID, StoreLayerData, StoreLink, StoreRecord, StringifiedArgs, Subscription, Subscriptions, TypeName, createIsographStore };
|
|
89
|
+
//# sourceMappingURL=IsographEnvironment.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsographEnvironment.d.mts","names":[],"sources":["../../src/core/IsographEnvironment.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1,92 +1,89 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { Brand } from "./brand.js";
|
|
2
|
+
import { PromiseWrapper } from "./PromiseWrapper.js";
|
|
3
|
+
import { ReaderAst, StartUpdate } from "./reader.js";
|
|
4
|
+
import { NetworkRequestReaderOptions, WithEncounteredRecords } from "./read.js";
|
|
5
|
+
import { StoreLayer } from "./optimisticProxy.js";
|
|
6
|
+
import { WrappedLogFunction } from "./logging.js";
|
|
7
|
+
import { ExtractStartUpdate, FragmentReference, StableIdForFragmentReference, UnknownTReadFromStore, Variables } from "./FragmentReference.js";
|
|
8
|
+
import { IsographEntrypoint, IsographOperation, IsographPersistedOperation } from "./entrypoint.js";
|
|
9
|
+
import { RetainedQuery } from "./garbageCollection.js";
|
|
10
|
+
import { ParentCache } from "@isograph/react-disposable-state";
|
|
11
|
+
|
|
12
|
+
//#region src/core/IsographEnvironment.d.ts
|
|
13
|
+
type ComponentOrFieldName = string;
|
|
14
|
+
type StringifiedArgs = string;
|
|
15
|
+
type FieldCache<T> = {
|
|
16
|
+
[key: StableIdForFragmentReference]: T;
|
|
15
17
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
type FragmentSubscription<TReadFromStore extends UnknownTReadFromStore> = {
|
|
19
|
+
readonly kind: 'FragmentSubscription';
|
|
20
|
+
readonly callback: (newEncounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>) => void;
|
|
21
|
+
/** The value read out from the previous call to readButDoNotEvaluate */
|
|
22
|
+
encounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>;
|
|
23
|
+
readonly fragmentReference: FragmentReference<TReadFromStore, any>;
|
|
24
|
+
readonly readerAst: ReaderAst<TReadFromStore>;
|
|
23
25
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
type AnyChangesToRecordSubscription = {
|
|
27
|
+
readonly kind: 'AnyChangesToRecord';
|
|
28
|
+
readonly callback: () => void;
|
|
29
|
+
readonly recordLink: StoreLink;
|
|
28
30
|
};
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
type AnyRecordSubscription = {
|
|
32
|
+
readonly kind: 'AnyRecords';
|
|
33
|
+
readonly callback: () => void;
|
|
32
34
|
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
type Subscription = FragmentSubscription<any> | AnyChangesToRecordSubscription | AnyRecordSubscription;
|
|
36
|
+
type Subscriptions = Set<Subscription>;
|
|
37
|
+
type CacheMap<T> = {
|
|
38
|
+
[index: string]: ParentCache<T>;
|
|
37
39
|
};
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
40
|
+
type IsographEnvironment = {
|
|
41
|
+
store: StoreLayer;
|
|
42
|
+
readonly networkFunction: IsographNetworkFunction;
|
|
43
|
+
readonly componentFunction: IsographComponentFunction;
|
|
44
|
+
readonly missingFieldHandler: MissingFieldHandler | null;
|
|
45
|
+
readonly componentCache: FieldCache<React.FC<any>>;
|
|
46
|
+
readonly eagerReaderCache: FieldCache<StartUpdate<any> | undefined>;
|
|
47
|
+
readonly subscriptions: Subscriptions;
|
|
48
|
+
readonly fragmentCache: CacheMap<FragmentReference<any, any>>;
|
|
49
|
+
readonly entrypointArtifactCache: Map<string, PromiseWrapper<IsographEntrypoint<any, any, any, any>>>;
|
|
50
|
+
readonly retainedQueries: Set<RetainedQuery>;
|
|
51
|
+
readonly gcBuffer: Array<RetainedQuery>;
|
|
52
|
+
readonly gcBufferSize: number;
|
|
53
|
+
readonly loggers: Set<WrappedLogFunction>;
|
|
51
54
|
};
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
type MissingFieldHandler = (storeRecord: StoreRecord, root: StoreLink, fieldName: string, arguments_: {
|
|
56
|
+
[index: string]: any;
|
|
54
57
|
} | null, variables: Variables | null) => StoreLink | undefined;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
type IsographNetworkFunction = (operation: IsographOperation | IsographPersistedOperation, variables: Variables) => Promise<any>;
|
|
59
|
+
type IsographComponentFunction = <TReadFromStore extends UnknownTReadFromStore = any>(environment: IsographEnvironment, fragmentReference: FragmentReference<TReadFromStore, any>, networkRequestOptions: NetworkRequestReaderOptions, startUpdate: ExtractStartUpdate<TReadFromStore>) => React.FC<any>;
|
|
60
|
+
interface Link<T extends TypeName> extends StoreLink {
|
|
61
|
+
readonly __link: Brand<DataId, T>;
|
|
62
|
+
readonly __typename: T;
|
|
59
63
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
64
|
+
type StoreLink = {
|
|
65
|
+
readonly __link: DataId;
|
|
66
|
+
readonly __typename: TypeName;
|
|
63
67
|
};
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
type DataTypeValue = undefined | number | boolean | string | null | StoreLink | readonly DataTypeValue[];
|
|
69
|
+
type StoreRecord = {
|
|
70
|
+
[index: DataId | string]: DataTypeValue;
|
|
71
|
+
readonly id?: DataId;
|
|
68
72
|
};
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
type TypeName = string;
|
|
74
|
+
type DataId = string;
|
|
75
|
+
declare const ROOT_ID: DataId & '__ROOT';
|
|
76
|
+
type StoreLayerData = {
|
|
77
|
+
[index: TypeName]: {
|
|
78
|
+
[index: DataId]: StoreRecord | null;
|
|
79
|
+
} | null;
|
|
76
80
|
};
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
interface BaseStoreLayerData extends StoreLayerData {
|
|
82
|
+
readonly Query: {
|
|
83
|
+
readonly __ROOT: StoreRecord;
|
|
84
|
+
};
|
|
81
85
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
export
|
|
85
|
-
export declare function getLink(maybeLink: DataTypeValue): StoreLink | null;
|
|
86
|
-
export declare function getOrLoadIsographArtifact(environment: IsographEnvironment, key: string, loader: () => Promise<IsographEntrypoint<any, any, any, any>>): PromiseWrapper<IsographEntrypoint<any, any, any, any>>;
|
|
87
|
-
export declare function getOrLoadReaderWithRefetchQueries(_environment: IsographEnvironment, readerWithRefetchQueries: ReaderWithRefetchQueries<any, any> | ReaderWithRefetchQueriesLoader<any, any>): {
|
|
88
|
-
readerWithRefetchQueries: PromiseWrapper<ReaderWithRefetchQueries<any, any>>;
|
|
89
|
-
fieldName: string;
|
|
90
|
-
readerArtifactKind: 'EagerReaderArtifact' | 'ComponentReaderArtifact';
|
|
91
|
-
};
|
|
86
|
+
declare function createIsographStore(): BaseStoreLayerData;
|
|
87
|
+
//#endregion
|
|
88
|
+
export { AnyChangesToRecordSubscription, AnyRecordSubscription, BaseStoreLayerData, CacheMap, ComponentOrFieldName, DataId, DataTypeValue, FieldCache, FragmentSubscription, IsographEnvironment, IsographNetworkFunction, Link, MissingFieldHandler, ROOT_ID, StoreLayerData, StoreLink, StoreRecord, StringifiedArgs, Subscription, Subscriptions, TypeName, createIsographStore };
|
|
92
89
|
//# sourceMappingURL=IsographEnvironment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IsographEnvironment.d.ts","
|
|
1
|
+
{"version":3,"file":"IsographEnvironment.d.ts","names":[],"sources":["../../src/core/IsographEnvironment.ts"],"sourcesContent":[],"mappings":"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"}
|