@isograph/react 0.0.0-main-a840a70e → 0.0.0-main-c09c9dbf
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 +8 -5
- package/.turbo/turbo-tsc.log +2 -2
- package/dist/_virtual/{rolldown_runtime.js → rolldown_runtime.cjs} +10 -6
- package/dist/core/{FragmentReference.js → FragmentReference.cjs} +1 -1
- package/dist/core/{FragmentReference.d.ts → FragmentReference.d.cts} +5 -5
- package/dist/core/FragmentReference.d.cts.map +1 -0
- package/dist/core/FragmentReference.d.mts.map +1 -1
- package/dist/core/{IsographEnvironment.js → IsographEnvironment.cjs} +5 -5
- package/dist/core/{IsographEnvironment.d.ts → IsographEnvironment.d.cts} +15 -16
- package/dist/core/IsographEnvironment.d.cts.map +1 -0
- package/dist/core/IsographEnvironment.d.mts +5 -6
- package/dist/core/IsographEnvironment.d.mts.map +1 -1
- package/dist/core/IsographEnvironment.mjs +3 -3
- package/dist/core/IsographEnvironment.mjs.map +1 -1
- package/dist/core/{PromiseWrapper.d.ts → PromiseWrapper.d.cts} +1 -1
- package/dist/core/PromiseWrapper.d.cts.map +1 -0
- package/dist/core/PromiseWrapper.d.mts.map +1 -1
- package/dist/core/PromiseWrapper.mjs.map +1 -1
- package/dist/core/{areEqualWithDeepComparison.js → areEqualWithDeepComparison.cjs} +7 -7
- package/dist/core/areEqualWithDeepComparison.mjs +7 -7
- package/dist/core/areEqualWithDeepComparison.mjs.map +1 -1
- package/dist/core/{brand.d.ts → brand.d.cts} +2 -2
- package/dist/core/brand.d.cts.map +1 -0
- package/dist/core/brand.d.mts +1 -1
- package/dist/core/brand.d.mts.map +1 -1
- package/dist/core/{cache.js → cache.cjs} +11 -12
- package/dist/core/cache.d.cts +44 -0
- package/dist/core/cache.d.cts.map +1 -0
- package/dist/core/cache.d.mts +27 -19
- package/dist/core/cache.d.mts.map +1 -1
- package/dist/core/cache.mjs +4 -4
- package/dist/core/cache.mjs.map +1 -1
- package/dist/core/{check.js → check.cjs} +4 -4
- package/dist/core/{check.d.ts → check.d.cts} +4 -4
- package/dist/core/check.d.cts.map +1 -0
- package/dist/core/check.d.mts.map +1 -1
- package/dist/core/check.mjs.map +1 -1
- package/dist/core/{componentCache.js → componentCache.cjs} +2 -2
- package/dist/core/{entrypoint.d.ts → entrypoint.d.cts} +7 -7
- package/dist/core/entrypoint.d.cts.map +1 -0
- package/dist/core/entrypoint.d.mts.map +1 -1
- package/dist/core/{garbageCollection.js → garbageCollection.cjs} +3 -3
- package/dist/core/{garbageCollection.d.ts → garbageCollection.d.cts} +4 -4
- package/dist/core/garbageCollection.d.cts.map +1 -0
- package/dist/core/garbageCollection.d.mts.map +1 -1
- package/dist/core/garbageCollection.mjs.map +1 -1
- package/dist/core/{getOrCreateCacheForArtifact.js → getOrCreateCacheForArtifact.cjs} +4 -4
- package/dist/core/getOrCreateCacheForArtifact.mjs.map +1 -1
- package/dist/core/{logging.d.ts → logging.d.cts} +9 -10
- package/dist/core/logging.d.cts.map +1 -0
- package/dist/core/logging.d.mts +0 -1
- package/dist/core/logging.d.mts.map +1 -1
- package/dist/core/{makeNetworkRequest.js → makeNetworkRequest.cjs} +15 -15
- package/dist/core/{makeNetworkRequest.d.ts → makeNetworkRequest.d.cts} +7 -7
- package/dist/core/makeNetworkRequest.d.cts.map +1 -0
- package/dist/core/makeNetworkRequest.d.mts.map +1 -1
- package/dist/core/makeNetworkRequest.mjs +4 -4
- package/dist/core/makeNetworkRequest.mjs.map +1 -1
- package/dist/core/{optimisticProxy.js → optimisticProxy.cjs} +2 -2
- package/dist/core/{optimisticProxy.d.ts → optimisticProxy.d.cts} +2 -3
- package/dist/core/optimisticProxy.d.cts.map +1 -0
- package/dist/core/optimisticProxy.d.mts +0 -1
- package/dist/core/optimisticProxy.d.mts.map +1 -1
- package/dist/core/optimisticProxy.mjs.map +1 -1
- package/dist/core/{read.js → read.cjs} +47 -47
- package/dist/core/{read.d.ts → read.d.cts} +4 -5
- package/dist/core/read.d.cts.map +1 -0
- package/dist/core/read.d.mts.map +1 -1
- package/dist/core/read.mjs +39 -39
- package/dist/core/read.mjs.map +1 -1
- package/dist/core/{reader.d.ts → reader.d.cts} +6 -6
- package/dist/core/reader.d.cts.map +1 -0
- package/dist/core/reader.d.mts.map +1 -1
- package/dist/core/{startUpdate.js → startUpdate.cjs} +14 -14
- package/dist/core/startUpdate.mjs +6 -6
- package/dist/core/startUpdate.mjs.map +1 -1
- package/dist/core/{subscribe.js → subscribe.cjs} +3 -3
- package/dist/core/{subscribe.d.ts → subscribe.d.cts} +6 -6
- package/dist/core/subscribe.d.cts.map +1 -0
- package/dist/core/subscribe.d.mts.map +1 -1
- package/dist/core/subscribe.mjs.map +1 -1
- package/dist/core/{util.d.ts → util.d.cts} +1 -1
- package/dist/core/util.d.cts.map +1 -0
- package/dist/core/util.d.mts.map +1 -1
- package/dist/core/util.mjs.map +1 -1
- package/dist/core/{writeData.js → writeData.cjs} +6 -6
- package/dist/core/{writeData.d.ts → writeData.d.cts} +6 -6
- package/dist/core/writeData.d.cts.map +1 -0
- package/dist/core/writeData.d.mts +1 -1
- package/dist/core/writeData.d.mts.map +1 -1
- package/dist/core/writeData.mjs.map +1 -1
- package/dist/{index.js → index.cjs} +29 -29
- package/dist/{index.d.ts → index.d.cts} +31 -31
- package/dist/loadable-hooks/useClientSideDefer.cjs +14 -0
- package/dist/loadable-hooks/{useClientSideDefer.d.ts → useClientSideDefer.d.cts} +4 -4
- package/dist/loadable-hooks/useClientSideDefer.d.cts.map +1 -0
- package/dist/loadable-hooks/useClientSideDefer.d.mts.map +1 -1
- package/dist/loadable-hooks/{useConnectionSpecPagination.js → useConnectionSpecPagination.cjs} +13 -16
- package/dist/loadable-hooks/{useConnectionSpecPagination.d.ts → useConnectionSpecPagination.d.cts} +4 -4
- package/dist/loadable-hooks/useConnectionSpecPagination.d.cts.map +1 -0
- package/dist/loadable-hooks/useConnectionSpecPagination.d.mts.map +1 -1
- package/dist/loadable-hooks/useConnectionSpecPagination.mjs.map +1 -1
- package/dist/loadable-hooks/{useImperativeExposedMutationField.d.ts → useImperativeExposedMutationField.d.cts} +1 -1
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.cts.map +1 -0
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.mts.map +1 -1
- package/dist/loadable-hooks/{useImperativeLoadableField.js → useImperativeLoadableField.cjs} +4 -5
- package/dist/loadable-hooks/{useImperativeLoadableField.d.ts → useImperativeLoadableField.d.cts} +4 -4
- package/dist/loadable-hooks/useImperativeLoadableField.d.cts.map +1 -0
- package/dist/loadable-hooks/useImperativeLoadableField.d.mts.map +1 -1
- package/dist/loadable-hooks/{useSkipLimitPagination.js → useSkipLimitPagination.cjs} +13 -16
- package/dist/loadable-hooks/{useSkipLimitPagination.d.ts → useSkipLimitPagination.d.cts} +4 -4
- package/dist/loadable-hooks/useSkipLimitPagination.d.cts.map +1 -0
- package/dist/loadable-hooks/useSkipLimitPagination.d.mts.map +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.mjs.map +1 -1
- package/dist/react/{FragmentReader.js → FragmentReader.cjs} +1 -1
- package/dist/react/{FragmentReader.d.ts → FragmentReader.d.cts} +5 -5
- package/dist/react/FragmentReader.d.cts.map +1 -0
- package/dist/react/FragmentReader.d.mts.map +1 -1
- package/dist/react/{FragmentRenderer.js → FragmentRenderer.cjs} +2 -2
- package/dist/react/{FragmentRenderer.d.ts → FragmentRenderer.d.cts} +5 -5
- package/dist/react/FragmentRenderer.d.cts.map +1 -0
- package/dist/react/FragmentRenderer.d.mts.map +1 -1
- package/dist/react/{IsographEnvironmentProvider.js → IsographEnvironmentProvider.cjs} +1 -1
- package/dist/react/{IsographEnvironmentProvider.d.ts → IsographEnvironmentProvider.d.cts} +2 -2
- package/dist/react/IsographEnvironmentProvider.d.cts.map +1 -0
- package/dist/react/IsographEnvironmentProvider.d.mts.map +1 -1
- package/dist/react/{LoadableFieldReader.js → LoadableFieldReader.cjs} +3 -3
- package/dist/react/{LoadableFieldReader.d.ts → LoadableFieldReader.d.cts} +5 -5
- package/dist/react/LoadableFieldReader.d.cts.map +1 -0
- package/dist/react/LoadableFieldReader.d.mts.map +1 -1
- package/dist/react/{LoadableFieldRenderer.js → LoadableFieldRenderer.cjs} +3 -3
- package/dist/react/{LoadableFieldRenderer.d.ts → LoadableFieldRenderer.d.cts} +5 -5
- package/dist/react/LoadableFieldRenderer.d.cts.map +1 -0
- package/dist/react/LoadableFieldRenderer.d.mts.map +1 -1
- package/dist/react/{RenderAfterCommit__DO_NOT_USE.js → RenderAfterCommit__DO_NOT_USE.cjs} +1 -2
- package/dist/react/{RenderAfterCommit__DO_NOT_USE.d.ts → RenderAfterCommit__DO_NOT_USE.d.cts} +1 -2
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.cts.map +1 -0
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts +0 -1
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts.map +1 -1
- package/dist/react/{createIsographEnvironment.js → createIsographEnvironment.cjs} +2 -2
- package/dist/react/{createIsographEnvironment.d.ts → createIsographEnvironment.d.cts} +3 -3
- package/dist/react/createIsographEnvironment.d.cts.map +1 -0
- package/dist/react/createIsographEnvironment.d.mts +0 -1
- package/dist/react/createIsographEnvironment.d.mts.map +1 -1
- package/dist/react/{maybeUnwrapNetworkRequest.js → maybeUnwrapNetworkRequest.cjs} +1 -1
- package/dist/react/{useImperativeReference.js → useImperativeReference.cjs} +7 -8
- package/dist/react/{useImperativeReference.d.ts → useImperativeReference.d.cts} +5 -6
- package/dist/react/useImperativeReference.d.cts.map +1 -0
- package/dist/react/useImperativeReference.d.mts +0 -1
- package/dist/react/useImperativeReference.d.mts.map +1 -1
- package/dist/react/useLazyReference.cjs +18 -0
- package/dist/react/{useLazyReference.d.ts → useLazyReference.d.cts} +5 -6
- package/dist/react/useLazyReference.d.cts.map +1 -0
- package/dist/react/useLazyReference.d.mts +0 -1
- package/dist/react/useLazyReference.d.mts.map +1 -1
- package/dist/react/{useReadAndSubscribe.js → useReadAndSubscribe.cjs} +9 -10
- package/dist/react/{useReadAndSubscribe.d.ts → useReadAndSubscribe.d.cts} +4 -5
- package/dist/react/useReadAndSubscribe.d.cts.map +1 -0
- package/dist/react/useReadAndSubscribe.d.mts +0 -1
- package/dist/react/useReadAndSubscribe.d.mts.map +1 -1
- package/dist/react/useReadAndSubscribe.mjs.map +1 -1
- package/dist/react/{useRerenderOnChange.js → useRerenderOnChange.cjs} +3 -4
- package/dist/react/{useRerenderOnChange.d.ts → useRerenderOnChange.d.cts} +4 -4
- package/dist/react/useRerenderOnChange.d.cts.map +1 -0
- package/dist/react/useRerenderOnChange.d.mts.map +1 -1
- package/dist/react/{useResult.js → useResult.cjs} +7 -7
- package/dist/react/{useResult.d.ts → useResult.d.cts} +3 -3
- package/dist/react/useResult.d.cts.map +1 -0
- package/dist/react/useResult.d.mts.map +1 -1
- package/package.json +9 -9
- package/src/core/IsographEnvironment.ts +8 -4
- package/src/core/cache.ts +38 -25
- package/src/core/getOrCreateCacheForArtifact.ts +2 -2
- package/src/core/writeData.ts +4 -4
- package/src/tests/garbageCollection.test.ts +11 -11
- package/src/tests/normalizeData.test.ts +11 -3
- package/src/tests/optimisticProxy.test.ts +23 -23
- package/src/tests/startUpdate.test.ts +2 -2
- package/tsconfig.json +5 -4
- package/tsconfig.package.json +8 -0
- package/tsconfig.package.tsbuildinfo +1 -0
- package/tsconfig.test.json +12 -0
- package/tsconfig.test.tsbuildinfo +1 -0
- package/tsdown.config.ts +8 -0
- package/vitest.config.ts +1 -1
- package/dist/core/FragmentReference.d.ts.map +0 -1
- package/dist/core/IsographEnvironment.d.ts.map +0 -1
- package/dist/core/PromiseWrapper.d.ts.map +0 -1
- package/dist/core/brand.d.ts.map +0 -1
- package/dist/core/cache.d.ts +0 -37
- package/dist/core/cache.d.ts.map +0 -1
- package/dist/core/check.d.ts.map +0 -1
- package/dist/core/entrypoint.d.ts.map +0 -1
- package/dist/core/garbageCollection.d.ts.map +0 -1
- package/dist/core/logging.d.ts.map +0 -1
- package/dist/core/makeNetworkRequest.d.ts.map +0 -1
- package/dist/core/optimisticProxy.d.ts.map +0 -1
- package/dist/core/read.d.ts.map +0 -1
- package/dist/core/reader.d.ts.map +0 -1
- package/dist/core/subscribe.d.ts.map +0 -1
- package/dist/core/util.d.ts.map +0 -1
- package/dist/core/writeData.d.ts.map +0 -1
- package/dist/loadable-hooks/useClientSideDefer.d.ts.map +0 -1
- package/dist/loadable-hooks/useClientSideDefer.js +0 -15
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +0 -1
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts.map +0 -1
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts.map +0 -1
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +0 -1
- package/dist/react/FragmentReader.d.ts.map +0 -1
- package/dist/react/FragmentRenderer.d.ts.map +0 -1
- package/dist/react/IsographEnvironmentProvider.d.ts.map +0 -1
- package/dist/react/LoadableFieldReader.d.ts.map +0 -1
- package/dist/react/LoadableFieldRenderer.d.ts.map +0 -1
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts.map +0 -1
- package/dist/react/createIsographEnvironment.d.ts.map +0 -1
- package/dist/react/useImperativeReference.d.ts.map +0 -1
- package/dist/react/useLazyReference.d.ts.map +0 -1
- package/dist/react/useLazyReference.js +0 -19
- package/dist/react/useReadAndSubscribe.d.ts.map +0 -1
- package/dist/react/useRerenderOnChange.d.ts.map +0 -1
- package/dist/react/useResult.d.ts.map +0 -1
- package/src/tests/tsconfig.json +0 -21
- package/tsconfig.pkg.json +0 -16
- /package/dist/core/{PromiseWrapper.js → PromiseWrapper.cjs} +0 -0
- /package/dist/core/{entrypoint.js → entrypoint.cjs} +0 -0
- /package/dist/core/{logging.js → logging.cjs} +0 -0
- /package/dist/core/{util.js → util.cjs} +0 -0
- /package/dist/loadable-hooks/{useImperativeExposedMutationField.js → useImperativeExposedMutationField.cjs} +0 -0
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
../.. | WARN Unsupported engine: wanted: {"node":"24.12.0"} (current: {"node":"v22.22.0","pnpm":"10.15.0"})
|
|
2
2
|
|
|
3
|
-
> @isograph/react@0.0.0-main-
|
|
3
|
+
> @isograph/react@0.0.0-main-c09c9dbf compile-libs /home/runner/work/isograph/isograph/libs/isograph-react
|
|
4
4
|
> tsdown
|
|
5
5
|
|
|
6
|
-
[34mℹ[39m tsdown [2mv0.
|
|
7
|
-
[34mℹ[39m
|
|
8
|
-
(node:
|
|
6
|
+
[34mℹ[39m tsdown [2mv0.20.1[22m powered by rolldown [2mv1.0.0-rc.1[22m
|
|
7
|
+
[34mℹ[39m config file: [4m/home/runner/work/isograph/isograph/libs/isograph-react/tsdown.config.ts[24m
|
|
8
|
+
(node:2801) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///home/runner/work/isograph/isograph/libs/isograph-react/tsdown.config.ts?no-cache=65f3915d-22f5-477f-b474-35d106d76316 is not specified and it doesn't parse as CommonJS.
|
|
9
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.
|
|
10
|
+
To eliminate this warning, add "type": "module" to /home/runner/work/isograph/isograph/libs/isograph-react/package.json.
|
|
11
11
|
(Use `node --trace-warnings ...` to show where the warning was created)
|
|
12
|
+
(node:2801) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///home/runner/work/isograph/isograph/tsdown.config.ts?no-cache=65f3915d-22f5-477f-b474-35d106d76316 is not specified and it doesn't parse as CommonJS.
|
|
13
|
+
Reparsing as ES module because module syntax was detected. This incurs a performance overhead.
|
|
14
|
+
To eliminate this warning, add "type": "module" to /home/runner/work/isograph/isograph/package.json.
|
|
12
15
|
[34mℹ[39m Build start
|
package/.turbo/turbo-tsc.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
../.. | WARN Unsupported engine: wanted: {"node":"24.12.0"} (current: {"node":"v22.22.0","pnpm":"10.15.0"})
|
|
2
2
|
|
|
3
|
-
> @isograph/react@0.0.0-main-
|
|
4
|
-
> tsc
|
|
3
|
+
> @isograph/react@0.0.0-main-c09c9dbf tsc /home/runner/work/isograph/isograph/libs/isograph-react
|
|
4
|
+
> tsc -b
|
|
5
5
|
|
|
@@ -6,12 +6,16 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
8
|
var __copyProps = (to, from, except, desc) => {
|
|
9
|
-
if (from && typeof from === "object" || typeof from === "function")
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
+
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
11
|
+
key = keys[i];
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
13
|
+
__defProp(to, key, {
|
|
14
|
+
get: ((k) => from[k]).bind(null, key),
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
15
19
|
}
|
|
16
20
|
return to;
|
|
17
21
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { PromiseWrapper } from "./PromiseWrapper.
|
|
2
|
-
import { StartUpdate } from "./reader.
|
|
3
|
-
import { ComponentOrFieldName, StoreLink } from "./IsographEnvironment.
|
|
4
|
-
import { ReaderWithRefetchQueries } from "./entrypoint.
|
|
1
|
+
import { PromiseWrapper } from "./PromiseWrapper.cjs";
|
|
2
|
+
import { StartUpdate } from "./reader.cjs";
|
|
3
|
+
import { ComponentOrFieldName, StoreLink } from "./IsographEnvironment.cjs";
|
|
4
|
+
import { ReaderWithRefetchQueries } from "./entrypoint.cjs";
|
|
5
5
|
|
|
6
6
|
//#region src/core/FragmentReference.d.ts
|
|
7
7
|
type VariableValue = string | number | boolean | null | {
|
|
@@ -35,4 +35,4 @@ type StableIdForFragmentReference = string;
|
|
|
35
35
|
declare function stableIdForFragmentReference(fragmentReference: FragmentReference<any, any>): StableIdForFragmentReference;
|
|
36
36
|
//#endregion
|
|
37
37
|
export { ExtractData, ExtractParameters, ExtractStartUpdate, FragmentReference, StableIdForFragmentReference, UnknownTReadFromStore, VariableValue, Variables, stableIdForFragmentReference };
|
|
38
|
-
//# sourceMappingURL=FragmentReference.d.
|
|
38
|
+
//# sourceMappingURL=FragmentReference.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FragmentReference.d.cts","names":[],"sources":["../../src/core/FragmentReference.ts"],"mappings":";;;;;;KAUY,aAAA;EAAA,UAMI,KAAA,WAAgB,aAAA;AAAA,IAE5B,aAAA;AAAA,KAEQ,SAAA;EAAA,UAAwB,KAAA,WAAgB,aAAA;AAAA;AAAA,KAExC,qBAAA;EACV,UAAA;EACA,IAAA;EACA,WAAA,GAAc,WAAA;AAAA;AAAA,KAGJ,WAAA,MAAiB,CAAA;EAC3B,IAAA;AAAA,IAEE,CAAA;AAAA,KAGQ,iBAAA,MAAuB,CAAA;EACjC,UAAA,kBAA4B,SAAA;AAAA,IAE1B,CAAA,GACA,SAAA;AAAA,KAEQ,kBAAA,WAA6B,qBAAA,IACvC,CAAA;AAAA,KAQU,iBAAA,wBACa,qBAAA;EAAA,SAGd,IAAA;EAAA,SACA,wBAAA,EAA0B,cAAA,CACjC,wBAAA,CAAyB,cAAA,EAAgB,iBAAA;EAAA,SAElC,IAAA,EAAM,SAAA;EAAA,SACN,SAAA,EAAW,oBAAA;EAAA,SACX,kBAAA;EAAA,SASA,SAAA,EAAW,iBAAA,CAAkB,cAAA;EAAA,SAC7B,cAAA,EAAgB,cAAA;AAAA;AAAA,KAGf,4BAAA;AAAA,iBAEI,4BAAA,CACd,iBAAA,EAAmB,iBAAA,aAClB,4BAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentReference.d.mts","names":[],"sources":["../../src/core/FragmentReference.ts"],"
|
|
1
|
+
{"version":3,"file":"FragmentReference.d.mts","names":[],"sources":["../../src/core/FragmentReference.ts"],"mappings":";;;;;;KAUY,aAAA;EAAA,UAMI,KAAA,WAAgB,aAAA;AAAA,IAE5B,aAAA;AAAA,KAEQ,SAAA;EAAA,UAAwB,KAAA,WAAgB,aAAA;AAAA;AAAA,KAExC,qBAAA;EACV,UAAA;EACA,IAAA;EACA,WAAA,GAAc,WAAA;AAAA;AAAA,KAGJ,WAAA,MAAiB,CAAA;EAC3B,IAAA;AAAA,IAEE,CAAA;AAAA,KAGQ,iBAAA,MAAuB,CAAA;EACjC,UAAA,kBAA4B,SAAA;AAAA,IAE1B,CAAA,GACA,SAAA;AAAA,KAEQ,kBAAA,WAA6B,qBAAA,IACvC,CAAA;AAAA,KAQU,iBAAA,wBACa,qBAAA;EAAA,SAGd,IAAA;EAAA,SACA,wBAAA,EAA0B,cAAA,CACjC,wBAAA,CAAyB,cAAA,EAAgB,iBAAA;EAAA,SAElC,IAAA,EAAM,SAAA;EAAA,SACN,SAAA,EAAW,oBAAA;EAAA,SACX,kBAAA;EAAA,SASA,SAAA,EAAW,iBAAA,CAAkB,cAAA;EAAA,SAC7B,cAAA,EAAgB,cAAA;AAAA;AAAA,KAGf,4BAAA;AAAA,iBAEI,4BAAA,CACd,iBAAA,EAAmB,iBAAA,aAClB,4BAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_PromiseWrapper = require('./PromiseWrapper.
|
|
2
|
-
const require_util = require('./util.
|
|
1
|
+
const require_PromiseWrapper = require('./PromiseWrapper.cjs');
|
|
2
|
+
const require_util = require('./util.cjs');
|
|
3
3
|
|
|
4
4
|
//#region src/core/IsographEnvironment.ts
|
|
5
5
|
const ROOT_ID = "__ROOT";
|
|
@@ -61,10 +61,10 @@ function getOrLoadReaderWithRefetchQueries(_environment, readerWithRefetchQuerie
|
|
|
61
61
|
readerArtifactKind: readerArtifact.kind
|
|
62
62
|
};
|
|
63
63
|
case "ReaderWithRefetchQueriesLoader": return {
|
|
64
|
-
readerWithRefetchQueries: require_PromiseWrapper.wrapPromise(readerWithRefetchQueries.loader().then((readerWithRefetchQueries
|
|
64
|
+
readerWithRefetchQueries: require_PromiseWrapper.wrapPromise(readerWithRefetchQueries.loader().then((readerWithRefetchQueries) => ({
|
|
65
65
|
kind: "ReaderWithRefetchQueries",
|
|
66
|
-
nestedRefetchQueries: readerWithRefetchQueries
|
|
67
|
-
readerArtifact: readerWithRefetchQueries
|
|
66
|
+
nestedRefetchQueries: readerWithRefetchQueries.nestedRefetchQueries,
|
|
67
|
+
readerArtifact: readerWithRefetchQueries.readerArtifact()
|
|
68
68
|
}))),
|
|
69
69
|
fieldName: readerWithRefetchQueries.fieldName,
|
|
70
70
|
readerArtifactKind: readerWithRefetchQueries.readerArtifactKind
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Brand } from "./brand.
|
|
2
|
-
import { PromiseWrapper } from "./PromiseWrapper.
|
|
3
|
-
import { ReaderAst, StartUpdate } from "./reader.
|
|
4
|
-
import { NetworkRequestReaderOptions, WithEncounteredRecords } from "./read.
|
|
5
|
-
import { StoreLayer } from "./optimisticProxy.
|
|
6
|
-
import { WrappedLogFunction } from "./logging.
|
|
7
|
-
import { ExtractStartUpdate, FragmentReference, StableIdForFragmentReference, UnknownTReadFromStore, Variables } from "./FragmentReference.
|
|
8
|
-
import { LinkedParentRecordKey, ScalarParentRecordKey } from "./cache.
|
|
9
|
-
import { IsographEntrypoint, IsographOperation, IsographPersistedOperation } from "./entrypoint.
|
|
10
|
-
import { RetainedQuery } from "./garbageCollection.
|
|
1
|
+
import { Brand } from "./brand.cjs";
|
|
2
|
+
import { PromiseWrapper } from "./PromiseWrapper.cjs";
|
|
3
|
+
import { ReaderAst, StartUpdate } from "./reader.cjs";
|
|
4
|
+
import { NetworkRequestReaderOptions, WithEncounteredRecords } from "./read.cjs";
|
|
5
|
+
import { StoreLayer } from "./optimisticProxy.cjs";
|
|
6
|
+
import { WrappedLogFunction } from "./logging.cjs";
|
|
7
|
+
import { ExtractStartUpdate, FragmentReference, StableIdForFragmentReference, UnknownTReadFromStore, Variables } from "./FragmentReference.cjs";
|
|
8
|
+
import { LinkedParentRecordKey, ParentRecordKey, ScalarParentRecordKey } from "./cache.cjs";
|
|
9
|
+
import { IsographEntrypoint, IsographOperation, IsographPersistedOperation } from "./entrypoint.cjs";
|
|
10
|
+
import { RetainedQuery } from "./garbageCollection.cjs";
|
|
11
11
|
import { ParentCache } from "@isograph/react-disposable-state";
|
|
12
12
|
|
|
13
13
|
//#region src/core/IsographEnvironment.d.ts
|
|
@@ -18,8 +18,7 @@ type FieldCache<T> = {
|
|
|
18
18
|
};
|
|
19
19
|
type FragmentSubscription<TReadFromStore extends UnknownTReadFromStore> = {
|
|
20
20
|
readonly kind: 'FragmentSubscription';
|
|
21
|
-
readonly callback: (newEncounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>) => void;
|
|
22
|
-
/** The value read out from the previous call to readButDoNotEvaluate */
|
|
21
|
+
readonly callback: (newEncounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>) => void; /** The value read out from the previous call to readButDoNotEvaluate */
|
|
23
22
|
encounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>;
|
|
24
23
|
readonly fragmentReference: FragmentReference<TReadFromStore, any>;
|
|
25
24
|
readonly readerAst: ReaderAst<TReadFromStore>;
|
|
@@ -69,9 +68,9 @@ type StoreLink = {
|
|
|
69
68
|
type DataTypeValueScalar = undefined | unknown | number | boolean | string | null | readonly DataTypeValueScalar[];
|
|
70
69
|
type DataTypeValueLinked = undefined | null | StoreLink | readonly DataTypeValueLinked[];
|
|
71
70
|
type StoreRecord = {
|
|
72
|
-
[
|
|
73
|
-
[
|
|
74
|
-
|
|
71
|
+
[key: ScalarParentRecordKey]: DataTypeValueScalar;
|
|
72
|
+
[key: LinkedParentRecordKey]: DataTypeValueLinked;
|
|
73
|
+
readonly [key: ParentRecordKey]: DataTypeValueScalar | DataTypeValueLinked;
|
|
75
74
|
readonly __typename?: TypeName;
|
|
76
75
|
readonly id?: DataId;
|
|
77
76
|
};
|
|
@@ -91,4 +90,4 @@ interface BaseStoreLayerData extends StoreLayerData {
|
|
|
91
90
|
declare function createIsographStore(): BaseStoreLayerData;
|
|
92
91
|
//#endregion
|
|
93
92
|
export { AnyChangesToRecordSubscription, AnyRecordSubscription, BaseStoreLayerData, CacheMap, ComponentOrFieldName, DataId, DataTypeValueLinked, DataTypeValueScalar, FieldCache, FragmentSubscription, IsographEnvironment, IsographNetworkFunction, Link, MissingFieldHandler, ROOT_ID, StoreLayerData, StoreLink, StoreRecord, StringifiedArgs, Subscription, Subscriptions, TypeName, createIsographStore };
|
|
94
|
-
//# sourceMappingURL=IsographEnvironment.d.
|
|
93
|
+
//# sourceMappingURL=IsographEnvironment.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsographEnvironment.d.cts","names":[],"sources":["../../src/core/IsographEnvironment.ts"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { NetworkRequestReaderOptions, WithEncounteredRecords } from "./read.mjs"
|
|
|
5
5
|
import { StoreLayer } from "./optimisticProxy.mjs";
|
|
6
6
|
import { WrappedLogFunction } from "./logging.mjs";
|
|
7
7
|
import { ExtractStartUpdate, FragmentReference, StableIdForFragmentReference, UnknownTReadFromStore, Variables } from "./FragmentReference.mjs";
|
|
8
|
-
import { LinkedParentRecordKey, ScalarParentRecordKey } from "./cache.mjs";
|
|
8
|
+
import { LinkedParentRecordKey, ParentRecordKey, ScalarParentRecordKey } from "./cache.mjs";
|
|
9
9
|
import { IsographEntrypoint, IsographOperation, IsographPersistedOperation } from "./entrypoint.mjs";
|
|
10
10
|
import { RetainedQuery } from "./garbageCollection.mjs";
|
|
11
11
|
import { ParentCache } from "@isograph/react-disposable-state";
|
|
@@ -18,8 +18,7 @@ type FieldCache<T> = {
|
|
|
18
18
|
};
|
|
19
19
|
type FragmentSubscription<TReadFromStore extends UnknownTReadFromStore> = {
|
|
20
20
|
readonly kind: 'FragmentSubscription';
|
|
21
|
-
readonly callback: (newEncounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>) => void;
|
|
22
|
-
/** The value read out from the previous call to readButDoNotEvaluate */
|
|
21
|
+
readonly callback: (newEncounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>) => void; /** The value read out from the previous call to readButDoNotEvaluate */
|
|
23
22
|
encounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>;
|
|
24
23
|
readonly fragmentReference: FragmentReference<TReadFromStore, any>;
|
|
25
24
|
readonly readerAst: ReaderAst<TReadFromStore>;
|
|
@@ -69,9 +68,9 @@ type StoreLink = {
|
|
|
69
68
|
type DataTypeValueScalar = undefined | unknown | number | boolean | string | null | readonly DataTypeValueScalar[];
|
|
70
69
|
type DataTypeValueLinked = undefined | null | StoreLink | readonly DataTypeValueLinked[];
|
|
71
70
|
type StoreRecord = {
|
|
72
|
-
[
|
|
73
|
-
[
|
|
74
|
-
|
|
71
|
+
[key: ScalarParentRecordKey]: DataTypeValueScalar;
|
|
72
|
+
[key: LinkedParentRecordKey]: DataTypeValueLinked;
|
|
73
|
+
readonly [key: ParentRecordKey]: DataTypeValueScalar | DataTypeValueLinked;
|
|
75
74
|
readonly __typename?: TypeName;
|
|
76
75
|
readonly id?: DataId;
|
|
77
76
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IsographEnvironment.d.mts","names":[],"sources":["../../src/core/IsographEnvironment.ts"],"
|
|
1
|
+
{"version":3,"file":"IsographEnvironment.d.mts","names":[],"sources":["../../src/core/IsographEnvironment.ts"],"mappings":"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"}
|
|
@@ -61,10 +61,10 @@ function getOrLoadReaderWithRefetchQueries(_environment, readerWithRefetchQuerie
|
|
|
61
61
|
readerArtifactKind: readerArtifact.kind
|
|
62
62
|
};
|
|
63
63
|
case "ReaderWithRefetchQueriesLoader": return {
|
|
64
|
-
readerWithRefetchQueries: wrapPromise(readerWithRefetchQueries.loader().then((readerWithRefetchQueries
|
|
64
|
+
readerWithRefetchQueries: wrapPromise(readerWithRefetchQueries.loader().then((readerWithRefetchQueries) => ({
|
|
65
65
|
kind: "ReaderWithRefetchQueries",
|
|
66
|
-
nestedRefetchQueries: readerWithRefetchQueries
|
|
67
|
-
readerArtifact: readerWithRefetchQueries
|
|
66
|
+
nestedRefetchQueries: readerWithRefetchQueries.nestedRefetchQueries,
|
|
67
|
+
readerArtifact: readerWithRefetchQueries.readerArtifact()
|
|
68
68
|
}))),
|
|
69
69
|
fieldName: readerWithRefetchQueries.fieldName,
|
|
70
70
|
readerArtifactKind: readerWithRefetchQueries.readerArtifactKind
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IsographEnvironment.mjs","names":["ROOT_ID: DataId & '__ROOT'","readerWithRefetchQueries"],"sources":["../../src/core/IsographEnvironment.ts"],"sourcesContent":["import type { ParentCache } from '@isograph/react-disposable-state';\nimport type { Brand } from './brand';\nimport type { LinkedParentRecordKey, ScalarParentRecordKey } from './cache';\nimport type {\n IsographEntrypoint,\n IsographOperation,\n IsographPersistedOperation,\n RawReaderWithRefetchQueries,\n ReaderWithRefetchQueries,\n ReaderWithRefetchQueriesLoader,\n} from './entrypoint';\nimport type {\n ExtractStartUpdate,\n FragmentReference,\n StableIdForFragmentReference,\n UnknownTReadFromStore,\n Variables,\n} from './FragmentReference';\nimport type { RetainedQuery } from './garbageCollection';\nimport type { LogFunction, WrappedLogFunction } from './logging';\nimport { type StoreLayer } from './optimisticProxy';\nimport type { PromiseWrapper } from './PromiseWrapper';\nimport { wrapPromise, wrapResolvedValue } from './PromiseWrapper';\nimport type {\n NetworkRequestReaderOptions,\n WithEncounteredRecords,\n} from './read';\nimport type { ReaderAst, StartUpdate } from './reader';\nimport { isArray } from './util';\n\nexport type ComponentOrFieldName = string;\nexport type StringifiedArgs = string;\n\nexport type FieldCache<T> = {\n [key: StableIdForFragmentReference]: T;\n};\n\nexport type FragmentSubscription<TReadFromStore extends UnknownTReadFromStore> =\n {\n readonly kind: 'FragmentSubscription';\n readonly callback: (\n newEncounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>,\n ) => void;\n /** The value read out from the previous call to readButDoNotEvaluate */\n encounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>;\n readonly fragmentReference: FragmentReference<TReadFromStore, any>;\n readonly readerAst: ReaderAst<TReadFromStore>;\n };\n\nexport type AnyChangesToRecordSubscription = {\n readonly kind: 'AnyChangesToRecord';\n readonly callback: () => void;\n readonly recordLink: StoreLink;\n};\n\nexport type AnyRecordSubscription = {\n readonly kind: 'AnyRecords';\n readonly callback: () => void;\n};\n\nexport type Subscription =\n | FragmentSubscription<any>\n | AnyChangesToRecordSubscription\n | AnyRecordSubscription;\nexport type Subscriptions = Set<Subscription>;\n// Should this be a map?\nexport type CacheMap<T> = { [index: string]: ParentCache<T> };\n\nexport type IsographEnvironment = {\n store: StoreLayer;\n readonly networkFunction: IsographNetworkFunction;\n readonly componentFunction: IsographComponentFunction;\n readonly missingFieldHandler: MissingFieldHandler | null;\n readonly componentCache: FieldCache<React.FC<any>>;\n readonly eagerReaderCache: FieldCache<StartUpdate<any> | undefined>;\n readonly subscriptions: Subscriptions;\n // N.B. this must be <any, any>, but all *usages* of this should go through\n // a function that adds type parameters.\n readonly fragmentCache: CacheMap<FragmentReference<any, any>>;\n // TODO make this a CacheMap and add GC\n readonly entrypointArtifactCache: Map<\n string,\n PromiseWrapper<IsographEntrypoint<any, any, any, any>>\n >;\n readonly retainedQueries: Set<RetainedQuery>;\n readonly gcBuffer: Array<RetainedQuery>;\n readonly gcBufferSize: number;\n readonly loggers: Set<WrappedLogFunction>;\n};\n\nexport type MissingFieldHandler = (\n storeRecord: StoreRecord,\n root: StoreLink,\n fieldName: string,\n arguments_: { [index: string]: any } | null,\n variables: Variables | null,\n) => StoreLink | undefined;\n\nexport type IsographNetworkFunction = (\n operation: IsographOperation | IsographPersistedOperation,\n variables: Variables,\n) => Promise<any>;\n\nexport type IsographComponentFunction = <\n TReadFromStore extends UnknownTReadFromStore = any,\n>(\n environment: IsographEnvironment,\n fragmentReference: FragmentReference<TReadFromStore, any>,\n networkRequestOptions: NetworkRequestReaderOptions,\n startUpdate: ExtractStartUpdate<TReadFromStore>,\n) => React.FC<any>;\n\nexport interface Link<T extends TypeName> extends StoreLink {\n readonly __link: Brand<DataId, T>;\n readonly __typename: T;\n}\n\nexport type StoreLink = {\n readonly __link: DataId;\n readonly __typename: TypeName;\n};\n\nexport type DataTypeValueScalar =\n // N.B. undefined is here to support optional id's, but\n // undefined should not *actually* be present in the store.\n | undefined\n // Singular fields:\n | unknown\n | number\n | boolean\n | string\n | null\n // Plural fields:\n | readonly DataTypeValueScalar[];\n\nexport type DataTypeValueLinked =\n // N.B. undefined is here to support optional id's, but\n // undefined should not *actually* be present in the store.\n | undefined\n // Singular fields:\n | null\n | StoreLink\n // Plural fields:\n | readonly DataTypeValueLinked[];\n\nexport type StoreRecord = {\n [index: ScalarParentRecordKey]: DataTypeValueScalar;\n [index: LinkedParentRecordKey]: DataTypeValueLinked;\n} & {\n // TODO __typename?: T, which is restricted to being a concrete string\n // TODO this shouldn't always be named id\n readonly __typename?: TypeName;\n readonly id?: DataId;\n};\n\nexport type TypeName = string;\nexport type DataId = string;\n\nexport const ROOT_ID: DataId & '__ROOT' = '__ROOT';\n\nexport type StoreLayerData = {\n [index: TypeName]: {\n [index: DataId]: StoreRecord | null;\n } | null;\n};\n\nexport interface BaseStoreLayerData extends StoreLayerData {\n readonly Query: {\n readonly __ROOT: StoreRecord;\n };\n}\n\nconst DEFAULT_GC_BUFFER_SIZE = 10;\nexport function createIsographEnvironmentCore(\n baseStoreLayerData: BaseStoreLayerData,\n networkFunction: IsographNetworkFunction,\n componentFunction: IsographComponentFunction,\n missingFieldHandler?: MissingFieldHandler | null,\n logFunction?: LogFunction | null,\n): IsographEnvironment {\n logFunction?.({\n kind: 'EnvironmentCreated',\n });\n let store = {\n kind: 'BaseStoreLayer',\n data: baseStoreLayerData,\n parentStoreLayer: null,\n childStoreLayer: null,\n } as const;\n return {\n store,\n networkFunction,\n componentFunction,\n missingFieldHandler: missingFieldHandler ?? null,\n componentCache: {},\n eagerReaderCache: {},\n subscriptions: new Set(),\n fragmentCache: {},\n entrypointArtifactCache: new Map(),\n retainedQueries: new Set(),\n gcBuffer: [],\n gcBufferSize: DEFAULT_GC_BUFFER_SIZE,\n loggers: logFunction != null ? new Set([{ log: logFunction }]) : new Set(),\n };\n}\n\nexport function createIsographStore(): BaseStoreLayerData {\n return {\n Query: {\n [ROOT_ID]: {},\n },\n };\n}\n\nexport function assertLink(\n link: DataTypeValueLinked,\n): StoreLink | null | undefined {\n if (isArray(link)) {\n throw new Error('Unexpected array');\n }\n if (link == null) {\n return link;\n }\n if (typeof link === 'object') {\n return link;\n }\n throw new Error('Invalid link');\n}\n\nexport function getLink(maybeLink: DataTypeValueLinked): StoreLink | null {\n if (!isArray(maybeLink)) {\n return maybeLink ?? null;\n }\n return null;\n}\n\nexport function getOrLoadIsographArtifact(\n environment: IsographEnvironment,\n key: string,\n loader: () => Promise<IsographEntrypoint<any, any, any, any>>,\n): PromiseWrapper<IsographEntrypoint<any, any, any, any>> {\n const value = environment.entrypointArtifactCache.get(key);\n if (value != null) {\n return value;\n }\n const wrapped = wrapPromise(loader());\n environment.entrypointArtifactCache.set(key, wrapped);\n return wrapped;\n}\n\nexport function getOrLoadReaderWithRefetchQueries(\n _environment: IsographEnvironment,\n readerWithRefetchQueries:\n | RawReaderWithRefetchQueries<any, any>\n | ReaderWithRefetchQueriesLoader<any, any>,\n): {\n readerWithRefetchQueries: PromiseWrapper<ReaderWithRefetchQueries<any, any>>;\n fieldName: string;\n readerArtifactKind: 'EagerReaderArtifact' | 'ComponentReaderArtifact';\n} {\n switch (readerWithRefetchQueries.kind) {\n case 'ReaderWithRefetchQueries':\n const readerArtifact = readerWithRefetchQueries.readerArtifact();\n return {\n readerWithRefetchQueries: wrapResolvedValue({\n kind: 'ReaderWithRefetchQueries',\n nestedRefetchQueries: readerWithRefetchQueries.nestedRefetchQueries,\n readerArtifact: readerArtifact,\n }),\n fieldName: readerArtifact.fieldName,\n readerArtifactKind: readerArtifact.kind,\n };\n case 'ReaderWithRefetchQueriesLoader':\n return {\n // TODO: cache promise wrapper\n readerWithRefetchQueries: wrapPromise(\n readerWithRefetchQueries\n .loader()\n .then((readerWithRefetchQueries) => ({\n kind: 'ReaderWithRefetchQueries',\n nestedRefetchQueries:\n readerWithRefetchQueries.nestedRefetchQueries,\n readerArtifact: readerWithRefetchQueries.readerArtifact(),\n })),\n ),\n fieldName: readerWithRefetchQueries.fieldName,\n readerArtifactKind: readerWithRefetchQueries.readerArtifactKind,\n };\n }\n}\n"],"mappings":";;;;AA8JA,MAAaA,UAA6B;AAc1C,MAAM,yBAAyB;AAC/B,SAAgB,8BACd,oBACA,iBACA,mBACA,qBACA,aACqB;AACrB,eAAc,EACZ,MAAM,sBACP,CAAC;AAOF,QAAO;EACL,OAPU;GACV,MAAM;GACN,MAAM;GACN,kBAAkB;GAClB,iBAAiB;GAClB;EAGC;EACA;EACA,qBAAqB,uBAAuB;EAC5C,gBAAgB,EAAE;EAClB,kBAAkB,EAAE;EACpB,+BAAe,IAAI,KAAK;EACxB,eAAe,EAAE;EACjB,yCAAyB,IAAI,KAAK;EAClC,iCAAiB,IAAI,KAAK;EAC1B,UAAU,EAAE;EACZ,cAAc;EACd,SAAS,eAAe,OAAO,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC,mBAAG,IAAI,KAAK;EAC3E;;AAGH,SAAgB,sBAA0C;AACxD,QAAO,EACL,OAAO,GACJ,UAAU,EAAE,EACd,EACF;;AAGH,SAAgB,WACd,MAC8B;AAC9B,KAAI,QAAQ,KAAK,CACf,OAAM,IAAI,MAAM,mBAAmB;AAErC,KAAI,QAAQ,KACV,QAAO;AAET,KAAI,OAAO,SAAS,SAClB,QAAO;AAET,OAAM,IAAI,MAAM,eAAe;;AAGjC,SAAgB,QAAQ,WAAkD;AACxE,KAAI,CAAC,QAAQ,UAAU,CACrB,QAAO,aAAa;AAEtB,QAAO;;AAGT,SAAgB,0BACd,aACA,KACA,QACwD;CACxD,MAAM,QAAQ,YAAY,wBAAwB,IAAI,IAAI;AAC1D,KAAI,SAAS,KACX,QAAO;CAET,MAAM,UAAU,YAAY,QAAQ,CAAC;AACrC,aAAY,wBAAwB,IAAI,KAAK,QAAQ;AACrD,QAAO;;AAGT,SAAgB,kCACd,cACA,0BAOA;AACA,SAAQ,yBAAyB,MAAjC;EACE,KAAK;GACH,MAAM,iBAAiB,yBAAyB,gBAAgB;AAChE,UAAO;IACL,0BAA0B,kBAAkB;KAC1C,MAAM;KACN,sBAAsB,yBAAyB;KAC/B;KACjB,CAAC;IACF,WAAW,eAAe;IAC1B,oBAAoB,eAAe;IACpC;EACH,KAAK,iCACH,QAAO;GAEL,0BAA0B,YACxB,yBACG,QAAQ,CACR,MAAM,gCAA8B;IACnC,MAAM;IACN,sBACEC,2BAAyB;IAC3B,gBAAgBA,2BAAyB,gBAAgB;IAC1D,EAAE,CACN;GACD,WAAW,yBAAyB;GACpC,oBAAoB,yBAAyB;GAC9C"}
|
|
1
|
+
{"version":3,"file":"IsographEnvironment.mjs","names":[],"sources":["../../src/core/IsographEnvironment.ts"],"sourcesContent":["import type { ParentCache } from '@isograph/react-disposable-state';\nimport type { Brand } from './brand';\nimport type {\n LinkedParentRecordKey,\n ParentRecordKey,\n ScalarParentRecordKey,\n} from './cache';\nimport type {\n IsographEntrypoint,\n IsographOperation,\n IsographPersistedOperation,\n RawReaderWithRefetchQueries,\n ReaderWithRefetchQueries,\n ReaderWithRefetchQueriesLoader,\n} from './entrypoint';\nimport type {\n ExtractStartUpdate,\n FragmentReference,\n StableIdForFragmentReference,\n UnknownTReadFromStore,\n Variables,\n} from './FragmentReference';\nimport type { RetainedQuery } from './garbageCollection';\nimport type { LogFunction, WrappedLogFunction } from './logging';\nimport { type StoreLayer } from './optimisticProxy';\nimport type { PromiseWrapper } from './PromiseWrapper';\nimport { wrapPromise, wrapResolvedValue } from './PromiseWrapper';\nimport type {\n NetworkRequestReaderOptions,\n WithEncounteredRecords,\n} from './read';\nimport type { ReaderAst, StartUpdate } from './reader';\nimport { isArray } from './util';\n\nexport type ComponentOrFieldName = string;\nexport type StringifiedArgs = string;\n\nexport type FieldCache<T> = {\n [key: StableIdForFragmentReference]: T;\n};\n\nexport type FragmentSubscription<TReadFromStore extends UnknownTReadFromStore> =\n {\n readonly kind: 'FragmentSubscription';\n readonly callback: (\n newEncounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>,\n ) => void;\n /** The value read out from the previous call to readButDoNotEvaluate */\n encounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>;\n readonly fragmentReference: FragmentReference<TReadFromStore, any>;\n readonly readerAst: ReaderAst<TReadFromStore>;\n };\n\nexport type AnyChangesToRecordSubscription = {\n readonly kind: 'AnyChangesToRecord';\n readonly callback: () => void;\n readonly recordLink: StoreLink;\n};\n\nexport type AnyRecordSubscription = {\n readonly kind: 'AnyRecords';\n readonly callback: () => void;\n};\n\nexport type Subscription =\n | FragmentSubscription<any>\n | AnyChangesToRecordSubscription\n | AnyRecordSubscription;\nexport type Subscriptions = Set<Subscription>;\n// Should this be a map?\nexport type CacheMap<T> = { [index: string]: ParentCache<T> };\n\nexport type IsographEnvironment = {\n store: StoreLayer;\n readonly networkFunction: IsographNetworkFunction;\n readonly componentFunction: IsographComponentFunction;\n readonly missingFieldHandler: MissingFieldHandler | null;\n readonly componentCache: FieldCache<React.FC<any>>;\n readonly eagerReaderCache: FieldCache<StartUpdate<any> | undefined>;\n readonly subscriptions: Subscriptions;\n // N.B. this must be <any, any>, but all *usages* of this should go through\n // a function that adds type parameters.\n readonly fragmentCache: CacheMap<FragmentReference<any, any>>;\n // TODO make this a CacheMap and add GC\n readonly entrypointArtifactCache: Map<\n string,\n PromiseWrapper<IsographEntrypoint<any, any, any, any>>\n >;\n readonly retainedQueries: Set<RetainedQuery>;\n readonly gcBuffer: Array<RetainedQuery>;\n readonly gcBufferSize: number;\n readonly loggers: Set<WrappedLogFunction>;\n};\n\nexport type MissingFieldHandler = (\n storeRecord: StoreRecord,\n root: StoreLink,\n fieldName: string,\n arguments_: { [index: string]: any } | null,\n variables: Variables | null,\n) => StoreLink | undefined;\n\nexport type IsographNetworkFunction = (\n operation: IsographOperation | IsographPersistedOperation,\n variables: Variables,\n) => Promise<any>;\n\nexport type IsographComponentFunction = <\n TReadFromStore extends UnknownTReadFromStore = any,\n>(\n environment: IsographEnvironment,\n fragmentReference: FragmentReference<TReadFromStore, any>,\n networkRequestOptions: NetworkRequestReaderOptions,\n startUpdate: ExtractStartUpdate<TReadFromStore>,\n) => React.FC<any>;\n\nexport interface Link<T extends TypeName> extends StoreLink {\n readonly __link: Brand<DataId, T>;\n readonly __typename: T;\n}\n\nexport type StoreLink = {\n readonly __link: DataId;\n readonly __typename: TypeName;\n};\n\nexport type DataTypeValueScalar =\n // N.B. undefined is here to support optional id's, but\n // undefined should not *actually* be present in the store.\n | undefined\n // Singular fields:\n | unknown\n | number\n | boolean\n | string\n | null\n // Plural fields:\n | readonly DataTypeValueScalar[];\n\nexport type DataTypeValueLinked =\n // N.B. undefined is here to support optional id's, but\n // undefined should not *actually* be present in the store.\n | undefined\n // Singular fields:\n | null\n | StoreLink\n // Plural fields:\n | readonly DataTypeValueLinked[];\n\nexport type StoreRecord = {\n [key: ScalarParentRecordKey]: DataTypeValueScalar;\n [key: LinkedParentRecordKey]: DataTypeValueLinked;\n readonly [key: ParentRecordKey]: DataTypeValueScalar | DataTypeValueLinked;\n // TODO __typename?: T, which is restricted to being a concrete string\n // TODO this shouldn't always be named id\n readonly __typename?: TypeName;\n readonly id?: DataId;\n};\n\nexport type TypeName = string;\nexport type DataId = string;\n\nexport const ROOT_ID: DataId & '__ROOT' = '__ROOT';\n\nexport type StoreLayerData = {\n [index: TypeName]: {\n [index: DataId]: StoreRecord | null;\n } | null;\n};\n\nexport interface BaseStoreLayerData extends StoreLayerData {\n readonly Query: {\n readonly __ROOT: StoreRecord;\n };\n}\n\nconst DEFAULT_GC_BUFFER_SIZE = 10;\nexport function createIsographEnvironmentCore(\n baseStoreLayerData: BaseStoreLayerData,\n networkFunction: IsographNetworkFunction,\n componentFunction: IsographComponentFunction,\n missingFieldHandler?: MissingFieldHandler | null,\n logFunction?: LogFunction | null,\n): IsographEnvironment {\n logFunction?.({\n kind: 'EnvironmentCreated',\n });\n let store = {\n kind: 'BaseStoreLayer',\n data: baseStoreLayerData,\n parentStoreLayer: null,\n childStoreLayer: null,\n } as const;\n return {\n store,\n networkFunction,\n componentFunction,\n missingFieldHandler: missingFieldHandler ?? null,\n componentCache: {},\n eagerReaderCache: {},\n subscriptions: new Set(),\n fragmentCache: {},\n entrypointArtifactCache: new Map(),\n retainedQueries: new Set(),\n gcBuffer: [],\n gcBufferSize: DEFAULT_GC_BUFFER_SIZE,\n loggers: logFunction != null ? new Set([{ log: logFunction }]) : new Set(),\n };\n}\n\nexport function createIsographStore(): BaseStoreLayerData {\n return {\n Query: {\n [ROOT_ID]: {},\n },\n };\n}\n\nexport function assertLink(\n link: DataTypeValueLinked,\n): StoreLink | null | undefined {\n if (isArray(link)) {\n throw new Error('Unexpected array');\n }\n if (link == null) {\n return link;\n }\n if (typeof link === 'object') {\n return link;\n }\n throw new Error('Invalid link');\n}\n\nexport function getLink(maybeLink: DataTypeValueLinked): StoreLink | null {\n if (!isArray(maybeLink)) {\n return maybeLink ?? null;\n }\n return null;\n}\n\nexport function getOrLoadIsographArtifact(\n environment: IsographEnvironment,\n key: string,\n loader: () => Promise<IsographEntrypoint<any, any, any, any>>,\n): PromiseWrapper<IsographEntrypoint<any, any, any, any>> {\n const value = environment.entrypointArtifactCache.get(key);\n if (value != null) {\n return value;\n }\n const wrapped = wrapPromise(loader());\n environment.entrypointArtifactCache.set(key, wrapped);\n return wrapped;\n}\n\nexport function getOrLoadReaderWithRefetchQueries(\n _environment: IsographEnvironment,\n readerWithRefetchQueries:\n | RawReaderWithRefetchQueries<any, any>\n | ReaderWithRefetchQueriesLoader<any, any>,\n): {\n readerWithRefetchQueries: PromiseWrapper<ReaderWithRefetchQueries<any, any>>;\n fieldName: string;\n readerArtifactKind: 'EagerReaderArtifact' | 'ComponentReaderArtifact';\n} {\n switch (readerWithRefetchQueries.kind) {\n case 'ReaderWithRefetchQueries':\n const readerArtifact = readerWithRefetchQueries.readerArtifact();\n return {\n readerWithRefetchQueries: wrapResolvedValue({\n kind: 'ReaderWithRefetchQueries',\n nestedRefetchQueries: readerWithRefetchQueries.nestedRefetchQueries,\n readerArtifact: readerArtifact,\n }),\n fieldName: readerArtifact.fieldName,\n readerArtifactKind: readerArtifact.kind,\n };\n case 'ReaderWithRefetchQueriesLoader':\n return {\n // TODO: cache promise wrapper\n readerWithRefetchQueries: wrapPromise(\n readerWithRefetchQueries\n .loader()\n .then((readerWithRefetchQueries) => ({\n kind: 'ReaderWithRefetchQueries',\n nestedRefetchQueries:\n readerWithRefetchQueries.nestedRefetchQueries,\n readerArtifact: readerWithRefetchQueries.readerArtifact(),\n })),\n ),\n fieldName: readerWithRefetchQueries.fieldName,\n readerArtifactKind: readerWithRefetchQueries.readerArtifactKind,\n };\n }\n}\n"],"mappings":";;;;AAkKA,MAAa,UAA6B;AAc1C,MAAM,yBAAyB;AAC/B,SAAgB,8BACd,oBACA,iBACA,mBACA,qBACA,aACqB;AACrB,eAAc,EACZ,MAAM,sBACP,CAAC;AAOF,QAAO;EACL,OAPU;GACV,MAAM;GACN,MAAM;GACN,kBAAkB;GAClB,iBAAiB;GAClB;EAGC;EACA;EACA,qBAAqB,uBAAuB;EAC5C,gBAAgB,EAAE;EAClB,kBAAkB,EAAE;EACpB,+BAAe,IAAI,KAAK;EACxB,eAAe,EAAE;EACjB,yCAAyB,IAAI,KAAK;EAClC,iCAAiB,IAAI,KAAK;EAC1B,UAAU,EAAE;EACZ,cAAc;EACd,SAAS,eAAe,OAAO,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC,mBAAG,IAAI,KAAK;EAC3E;;AAGH,SAAgB,sBAA0C;AACxD,QAAO,EACL,OAAO,GACJ,UAAU,EAAE,EACd,EACF;;AAGH,SAAgB,WACd,MAC8B;AAC9B,KAAI,QAAQ,KAAK,CACf,OAAM,IAAI,MAAM,mBAAmB;AAErC,KAAI,QAAQ,KACV,QAAO;AAET,KAAI,OAAO,SAAS,SAClB,QAAO;AAET,OAAM,IAAI,MAAM,eAAe;;AAGjC,SAAgB,QAAQ,WAAkD;AACxE,KAAI,CAAC,QAAQ,UAAU,CACrB,QAAO,aAAa;AAEtB,QAAO;;AAGT,SAAgB,0BACd,aACA,KACA,QACwD;CACxD,MAAM,QAAQ,YAAY,wBAAwB,IAAI,IAAI;AAC1D,KAAI,SAAS,KACX,QAAO;CAET,MAAM,UAAU,YAAY,QAAQ,CAAC;AACrC,aAAY,wBAAwB,IAAI,KAAK,QAAQ;AACrD,QAAO;;AAGT,SAAgB,kCACd,cACA,0BAOA;AACA,SAAQ,yBAAyB,MAAjC;EACE,KAAK;GACH,MAAM,iBAAiB,yBAAyB,gBAAgB;AAChE,UAAO;IACL,0BAA0B,kBAAkB;KAC1C,MAAM;KACN,sBAAsB,yBAAyB;KAC/B;KACjB,CAAC;IACF,WAAW,eAAe;IAC1B,oBAAoB,eAAe;IACpC;EACH,KAAK,iCACH,QAAO;GAEL,0BAA0B,YACxB,yBACG,QAAQ,CACR,MAAM,8BAA8B;IACnC,MAAM;IACN,sBACE,yBAAyB;IAC3B,gBAAgB,yBAAyB,gBAAgB;IAC1D,EAAE,CACN;GACD,WAAW,yBAAyB;GACpC,oBAAoB,yBAAyB;GAC9C"}
|
|
@@ -33,4 +33,4 @@ type PromiseState<T, E> = {
|
|
|
33
33
|
declare function getPromiseState<T, E>(p: PromiseWrapper<T, E>): PromiseState<T, E>;
|
|
34
34
|
//#endregion
|
|
35
35
|
export { AnyError, NOT_SET, NotSet, PromiseState, PromiseWrapper, Result, getPromiseState, readPromise, wrapPromise, wrapResolvedValue };
|
|
36
|
-
//# sourceMappingURL=PromiseWrapper.d.
|
|
36
|
+
//# sourceMappingURL=PromiseWrapper.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromiseWrapper.d.cts","names":[],"sources":["../../src/core/PromiseWrapper.ts"],"mappings":";KAAY,QAAA;AAAA,cAEC,OAAA;AAAA,KACD,MAAA,UAAgB,OAAA;AAAA,KAEhB,MAAA;EAAA,SAEG,IAAA;EAAA,SACA,KAAA,EAAO,CAAA;AAAA;EAAA,SAGP,IAAA;EAAA,SACA,KAAA,EAAO,CAAA;AAAA;;AATtB;;;KAgBY,cAAA;EAAA,SACD,OAAA,EAAS,OAAA,CAAQ,OAAA,CAAQ,CAAA,EAAG,MAAA;EACrC,MAAA,EAAQ,MAAA,CAAO,OAAA,CAAQ,CAAA,EAAG,MAAA,GAAS,CAAA,IAAK,MAAA;AAAA;AAAA,UAGzB,gBAAA,qBAAqC,cAAA,CAAe,CAAA,EAAG,CAAA;EACtE,MAAA;IAAA,SACW,IAAA;IAAA,SACA,KAAA,EAAO,OAAA,CAAQ,CAAA,EAAG,MAAA;EAAA;AAAA;AAAA,iBAIf,WAAA,GAAA,CACd,OAAA,EAAS,OAAA,CAAQ,OAAA,CAAQ,CAAA,EAAG,MAAA,KAC3B,cAAA,CAAe,CAAA;AAAA,iBAaF,iBAAA,GAAA,CACd,KAAA,EAAO,OAAA,CAAQ,CAAA,EAAG,MAAA,IACjB,gBAAA,CAAiB,CAAA;AAAA,iBAUJ,WAAA,MAAA,CAAkB,CAAA,EAAG,cAAA,CAAe,CAAA,EAAG,CAAA,IAAK,CAAA;AAAA,KAchD,YAAA;EAAA,SAEG,IAAA;EAAA,SACA,OAAA,EAAS,OAAA,CAAQ,CAAA;AAAA,IAE5B,MAAA,CAAO,CAAA,EAAG,CAAA;AAAA,iBAEE,eAAA,MAAA,CACd,CAAA,EAAG,cAAA,CAAe,CAAA,EAAG,CAAA,IACpB,YAAA,CAAa,CAAA,EAAG,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromiseWrapper.d.mts","names":[],"sources":["../../src/core/PromiseWrapper.ts"],"
|
|
1
|
+
{"version":3,"file":"PromiseWrapper.d.mts","names":[],"sources":["../../src/core/PromiseWrapper.ts"],"mappings":";KAAY,QAAA;AAAA,cAEC,OAAA;AAAA,KACD,MAAA,UAAgB,OAAA;AAAA,KAEhB,MAAA;EAAA,SAEG,IAAA;EAAA,SACA,KAAA,EAAO,CAAA;AAAA;EAAA,SAGP,IAAA;EAAA,SACA,KAAA,EAAO,CAAA;AAAA;;AATtB;;;KAgBY,cAAA;EAAA,SACD,OAAA,EAAS,OAAA,CAAQ,OAAA,CAAQ,CAAA,EAAG,MAAA;EACrC,MAAA,EAAQ,MAAA,CAAO,OAAA,CAAQ,CAAA,EAAG,MAAA,GAAS,CAAA,IAAK,MAAA;AAAA;AAAA,UAGzB,gBAAA,qBAAqC,cAAA,CAAe,CAAA,EAAG,CAAA;EACtE,MAAA;IAAA,SACW,IAAA;IAAA,SACA,KAAA,EAAO,OAAA,CAAQ,CAAA,EAAG,MAAA;EAAA;AAAA;AAAA,iBAIf,WAAA,GAAA,CACd,OAAA,EAAS,OAAA,CAAQ,OAAA,CAAQ,CAAA,EAAG,MAAA,KAC3B,cAAA,CAAe,CAAA;AAAA,iBAaF,iBAAA,GAAA,CACd,KAAA,EAAO,OAAA,CAAQ,CAAA,EAAG,MAAA,IACjB,gBAAA,CAAiB,CAAA;AAAA,iBAUJ,WAAA,MAAA,CAAkB,CAAA,EAAG,cAAA,CAAe,CAAA,EAAG,CAAA,IAAK,CAAA;AAAA,KAchD,YAAA;EAAA,SAEG,IAAA;EAAA,SACA,OAAA,EAAS,OAAA,CAAQ,CAAA;AAAA,IAE5B,MAAA,CAAO,CAAA,EAAG,CAAA;AAAA,iBAEE,eAAA,MAAA,CACd,CAAA,EAAG,cAAA,CAAe,CAAA,EAAG,CAAA,IACpB,YAAA,CAAa,CAAA,EAAG,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromiseWrapper.mjs","names":[
|
|
1
|
+
{"version":3,"file":"PromiseWrapper.mjs","names":[],"sources":["../../src/core/PromiseWrapper.ts"],"sourcesContent":["export type AnyError = any;\n\nexport const NOT_SET = Symbol('NOT_SET');\nexport type NotSet = typeof NOT_SET;\n\nexport type Result<T, E> =\n | {\n readonly kind: 'Ok';\n readonly value: T;\n }\n | {\n readonly kind: 'Err';\n readonly error: E;\n };\n\n/**\n * Invariant:\n * Before the promise is resolved, value becomes non-null.\n */\nexport type PromiseWrapper<T, E = any> = {\n readonly promise: Promise<Exclude<T, NotSet>>;\n result: Result<Exclude<T, NotSet>, E> | NotSet;\n};\n\nexport interface PromiseWrapperOk<T, E = any> extends PromiseWrapper<T, E> {\n result: {\n readonly kind: 'Ok';\n readonly value: Exclude<T, NotSet>;\n };\n}\n\nexport function wrapPromise<T>(\n promise: Promise<Exclude<T, NotSet>>,\n): PromiseWrapper<T, unknown> {\n // TODO confirm suspense works if the promise is already resolved.\n const wrapper: PromiseWrapper<T, any> = { promise, result: NOT_SET };\n promise\n .then((v) => {\n wrapper.result = { kind: 'Ok', value: v };\n })\n .catch((e) => {\n wrapper.result = { kind: 'Err', error: e };\n });\n return wrapper;\n}\n\nexport function wrapResolvedValue<T>(\n value: Exclude<T, NotSet>,\n): PromiseWrapperOk<T, never> {\n return {\n promise: Promise.resolve(value),\n result: {\n kind: 'Ok',\n value,\n },\n };\n}\n\nexport function readPromise<T, E>(p: PromiseWrapper<T, E>): T {\n const { result } = p;\n if (result !== NOT_SET) {\n const resultKind = result;\n if (resultKind.kind === 'Ok') {\n return resultKind.value;\n } else {\n throw resultKind.error;\n }\n }\n\n throw p.promise;\n}\n\nexport type PromiseState<T, E> =\n | {\n readonly kind: 'Pending';\n readonly promise: Promise<T>;\n }\n | Result<T, E>;\n\nexport function getPromiseState<T, E>(\n p: PromiseWrapper<T, E>,\n): PromiseState<T, E> {\n if (p.result !== NOT_SET) {\n return p.result;\n }\n return {\n kind: 'Pending',\n promise: p.promise,\n };\n}\n"],"mappings":";AAEA,MAAa,UAAU,OAAO,UAAU;AA6BxC,SAAgB,YACd,SAC4B;CAE5B,MAAM,UAAkC;EAAE;EAAS,QAAQ;EAAS;AACpE,SACG,MAAM,MAAM;AACX,UAAQ,SAAS;GAAE,MAAM;GAAM,OAAO;GAAG;GACzC,CACD,OAAO,MAAM;AACZ,UAAQ,SAAS;GAAE,MAAM;GAAO,OAAO;GAAG;GAC1C;AACJ,QAAO;;AAGT,SAAgB,kBACd,OAC4B;AAC5B,QAAO;EACL,SAAS,QAAQ,QAAQ,MAAM;EAC/B,QAAQ;GACN,MAAM;GACN;GACD;EACF;;AAGH,SAAgB,YAAkB,GAA4B;CAC5D,MAAM,EAAE,WAAW;AACnB,KAAI,WAAW,SAAS;EACtB,MAAM,aAAa;AACnB,MAAI,WAAW,SAAS,KACtB,QAAO,WAAW;MAElB,OAAM,WAAW;;AAIrB,OAAM,EAAE;;AAUV,SAAgB,gBACd,GACoB;AACpB,KAAI,EAAE,WAAW,QACf,QAAO,EAAE;AAEX,QAAO;EACL,MAAM;EACN,SAAS,EAAE;EACZ"}
|
|
@@ -40,16 +40,16 @@ function mergeObjectsUsingReaderAst(ast, oldItemObject, newItemObject) {
|
|
|
40
40
|
else newItemObject[key] = mergedValue;
|
|
41
41
|
break;
|
|
42
42
|
case "Resolver": {
|
|
43
|
-
const key
|
|
44
|
-
if (oldItemObject[key
|
|
43
|
+
const key = field.alias;
|
|
44
|
+
if (oldItemObject[key] !== newItemObject[key]) canRecycle = false;
|
|
45
45
|
break;
|
|
46
46
|
}
|
|
47
47
|
case "Link": {
|
|
48
|
-
const key
|
|
49
|
-
const oldValue
|
|
50
|
-
const newValue
|
|
51
|
-
if (oldValue
|
|
52
|
-
else newItemObject[key
|
|
48
|
+
const key = field.alias;
|
|
49
|
+
const oldValue = oldItemObject[key];
|
|
50
|
+
const newValue = newItemObject[key];
|
|
51
|
+
if (oldValue.__link !== newValue.__link || oldValue.__typename !== newValue.__typename) canRecycle = false;
|
|
52
|
+
else newItemObject[key] = oldValue;
|
|
53
53
|
break;
|
|
54
54
|
}
|
|
55
55
|
case "ImperativelyLoadedField":
|
|
@@ -39,16 +39,16 @@ function mergeObjectsUsingReaderAst(ast, oldItemObject, newItemObject) {
|
|
|
39
39
|
else newItemObject[key] = mergedValue;
|
|
40
40
|
break;
|
|
41
41
|
case "Resolver": {
|
|
42
|
-
const key
|
|
43
|
-
if (oldItemObject[key
|
|
42
|
+
const key = field.alias;
|
|
43
|
+
if (oldItemObject[key] !== newItemObject[key]) canRecycle = false;
|
|
44
44
|
break;
|
|
45
45
|
}
|
|
46
46
|
case "Link": {
|
|
47
|
-
const key
|
|
48
|
-
const oldValue
|
|
49
|
-
const newValue
|
|
50
|
-
if (oldValue
|
|
51
|
-
else newItemObject[key
|
|
47
|
+
const key = field.alias;
|
|
48
|
+
const oldValue = oldItemObject[key];
|
|
49
|
+
const newValue = newItemObject[key];
|
|
50
|
+
if (oldValue.__link !== newValue.__link || oldValue.__typename !== newValue.__typename) canRecycle = false;
|
|
51
|
+
else newItemObject[key] = oldValue;
|
|
52
52
|
break;
|
|
53
53
|
}
|
|
54
54
|
case "ImperativelyLoadedField":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areEqualWithDeepComparison.mjs","names":[
|
|
1
|
+
{"version":3,"file":"areEqualWithDeepComparison.mjs","names":[],"sources":["../../src/core/areEqualWithDeepComparison.ts"],"sourcesContent":["import type { StoreLink } from './IsographEnvironment';\nimport type { ReaderAst, ReaderLinkedField, ReaderScalarField } from './reader';\n\nfunction mergeUsingReaderAst(\n field: ReaderScalarField | ReaderLinkedField,\n oldItem: unknown,\n newItem: unknown,\n): unknown {\n if (newItem == null || oldItem == null) {\n return newItem;\n }\n\n if (Array.isArray(newItem)) {\n if (!Array.isArray(oldItem)) {\n return newItem;\n }\n\n return mergeArraysUsingReaderAst(field, oldItem, newItem);\n }\n\n switch (field.kind) {\n case 'Scalar':\n return oldItem === newItem ? oldItem : newItem;\n case 'Linked':\n if (oldItem == null) {\n return newItem;\n }\n\n return mergeObjectsUsingReaderAst(field.selections, oldItem, newItem);\n }\n}\n\nfunction mergeArraysUsingReaderAst(\n field: ReaderScalarField | ReaderLinkedField,\n oldItems: ReadonlyArray<unknown>,\n newItems: Array<unknown>,\n): ReadonlyArray<unknown> {\n if (newItems.length !== oldItems.length) {\n return newItems;\n }\n\n let canRecycle = true;\n for (let i = 0; i < newItems.length; i++) {\n const mergedItem = mergeUsingReaderAst(field, oldItems[i], newItems[i]);\n if (mergedItem !== oldItems[i]) {\n canRecycle = false;\n } else {\n newItems[i] = mergedItem;\n }\n }\n\n return canRecycle ? oldItems : newItems;\n}\n\nexport function mergeObjectsUsingReaderAst(\n ast: ReaderAst<object>,\n oldItemObject: object,\n newItemObject: object,\n): object {\n let canRecycle = true;\n for (const field of ast) {\n switch (field.kind) {\n case 'Scalar':\n case 'Linked':\n if (field.kind === 'Linked' && field.refetchQueryIndex != null) {\n // client pointers are functions, so we can't merge them\n canRecycle = false;\n break;\n }\n const key = field.alias ?? field.fieldName;\n // @ts-expect-error\n const oldValue = oldItemObject[key];\n // @ts-expect-error\n const newValue = newItemObject[key];\n\n const mergedValue = mergeUsingReaderAst(field, oldValue, newValue);\n if (mergedValue !== oldValue) {\n canRecycle = false;\n } else {\n // @ts-expect-error\n newItemObject[key] = mergedValue;\n }\n break;\n case 'Resolver': {\n const key = field.alias;\n // @ts-expect-error\n const oldValue = oldItemObject[key];\n // @ts-expect-error\n const newValue = newItemObject[key];\n\n if (oldValue !== newValue) {\n canRecycle = false;\n }\n break;\n }\n case 'Link': {\n const key = field.alias;\n // @ts-expect-error\n const oldValue: StoreLink = oldItemObject[key];\n // @ts-expect-error\n const newValue: StoreLink = newItemObject[key];\n\n if (\n oldValue.__link !== newValue.__link ||\n oldValue.__typename !== newValue.__typename\n ) {\n canRecycle = false;\n } else {\n // @ts-expect-error\n newItemObject[key] = oldValue;\n }\n break;\n }\n case 'ImperativelyLoadedField':\n case 'LoadablySelectedField':\n break;\n }\n }\n\n return canRecycle ? oldItemObject : newItemObject;\n}\n"],"mappings":";AAGA,SAAS,oBACP,OACA,SACA,SACS;AACT,KAAI,WAAW,QAAQ,WAAW,KAChC,QAAO;AAGT,KAAI,MAAM,QAAQ,QAAQ,EAAE;AAC1B,MAAI,CAAC,MAAM,QAAQ,QAAQ,CACzB,QAAO;AAGT,SAAO,0BAA0B,OAAO,SAAS,QAAQ;;AAG3D,SAAQ,MAAM,MAAd;EACE,KAAK,SACH,QAAO,YAAY,UAAU,UAAU;EACzC,KAAK;AACH,OAAI,WAAW,KACb,QAAO;AAGT,UAAO,2BAA2B,MAAM,YAAY,SAAS,QAAQ;;;AAI3E,SAAS,0BACP,OACA,UACA,UACwB;AACxB,KAAI,SAAS,WAAW,SAAS,OAC/B,QAAO;CAGT,IAAI,aAAa;AACjB,MAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,aAAa,oBAAoB,OAAO,SAAS,IAAI,SAAS,GAAG;AACvE,MAAI,eAAe,SAAS,GAC1B,cAAa;MAEb,UAAS,KAAK;;AAIlB,QAAO,aAAa,WAAW;;AAGjC,SAAgB,2BACd,KACA,eACA,eACQ;CACR,IAAI,aAAa;AACjB,MAAK,MAAM,SAAS,IAClB,SAAQ,MAAM,MAAd;EACE,KAAK;EACL,KAAK;AACH,OAAI,MAAM,SAAS,YAAY,MAAM,qBAAqB,MAAM;AAE9D,iBAAa;AACb;;GAEF,MAAM,MAAM,MAAM,SAAS,MAAM;GAEjC,MAAM,WAAW,cAAc;GAE/B,MAAM,WAAW,cAAc;GAE/B,MAAM,cAAc,oBAAoB,OAAO,UAAU,SAAS;AAClE,OAAI,gBAAgB,SAClB,cAAa;OAGb,eAAc,OAAO;AAEvB;EACF,KAAK,YAAY;GACf,MAAM,MAAM,MAAM;AAMlB,OAJiB,cAAc,SAEd,cAAc,KAG7B,cAAa;AAEf;;EAEF,KAAK,QAAQ;GACX,MAAM,MAAM,MAAM;GAElB,MAAM,WAAsB,cAAc;GAE1C,MAAM,WAAsB,cAAc;AAE1C,OACE,SAAS,WAAW,SAAS,UAC7B,SAAS,eAAe,SAAS,WAEjC,cAAa;OAGb,eAAc,OAAO;AAEvB;;EAEF,KAAK;EACL,KAAK,wBACH;;AAIN,QAAO,aAAa,gBAAgB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/core/brand.d.ts
|
|
2
|
-
type Brand<BaseType, Brand
|
|
2
|
+
type Brand<BaseType, Brand extends symbol | string> = infer _ extends Brand ? BaseType : never;
|
|
3
3
|
declare const PhantomDataBrand: unique symbol;
|
|
4
4
|
/**
|
|
5
5
|
* A phantom data type is one that shouldn't show up at runtime, but is checked statically (and only) at compile time.
|
|
@@ -16,4 +16,4 @@ type PhantomData<T> = Brand<T, typeof PhantomDataBrand>;
|
|
|
16
16
|
type Contravariant<T> = (_: T) => void;
|
|
17
17
|
//#endregion
|
|
18
18
|
export { Brand, Contravariant, PhantomData };
|
|
19
|
-
//# sourceMappingURL=brand.d.
|
|
19
|
+
//# sourceMappingURL=brand.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand.d.cts","names":[],"sources":["../../src/core/brand.ts"],"mappings":";KAaY,KAAA,4DAIQ,KAAA,GAAQ,QAAA;AAAA,cAEd,gBAAA;;;;;;;;;;;AAF+B;KAcjC,WAAA,MAAiB,KAAA,CAAM,CAAA,SAAU,gBAAA;AAAA,KAIjC,aAAA,OAAoB,CAAA,EAAG,CAAA"}
|
package/dist/core/brand.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/core/brand.d.ts
|
|
2
|
-
type Brand<BaseType, Brand
|
|
2
|
+
type Brand<BaseType, Brand extends symbol | string> = infer _ extends Brand ? BaseType : never;
|
|
3
3
|
declare const PhantomDataBrand: unique symbol;
|
|
4
4
|
/**
|
|
5
5
|
* A phantom data type is one that shouldn't show up at runtime, but is checked statically (and only) at compile time.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.d.mts","names":[],"sources":["../../src/core/brand.ts"],"
|
|
1
|
+
{"version":3,"file":"brand.d.mts","names":[],"sources":["../../src/core/brand.ts"],"mappings":";KAaY,KAAA,4DAIQ,KAAA,GAAQ,QAAA;AAAA,cAEd,gBAAA;;;;;;;;;;;AAF+B;KAcjC,WAAA,MAAiB,KAAA,CAAM,CAAA,SAAU,gBAAA;AAAA,KAIjC,aAAA,OAAoB,CAAA,EAAG,CAAA"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.
|
|
2
|
-
const require_util = require('./util.
|
|
3
|
-
const require_IsographEnvironment = require('./IsographEnvironment.
|
|
4
|
-
const require_logging = require('./logging.
|
|
5
|
-
const require_optimisticProxy = require('./optimisticProxy.
|
|
6
|
-
let
|
|
7
|
-
__isograph_react_disposable_state = require_rolldown_runtime.__toESM(__isograph_react_disposable_state);
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_util = require('./util.cjs');
|
|
3
|
+
const require_IsographEnvironment = require('./IsographEnvironment.cjs');
|
|
4
|
+
const require_logging = require('./logging.cjs');
|
|
5
|
+
const require_optimisticProxy = require('./optimisticProxy.cjs');
|
|
6
|
+
let _isograph_react_disposable_state = require("@isograph/react-disposable-state");
|
|
8
7
|
|
|
9
8
|
//#region src/core/cache.ts
|
|
10
9
|
const TYPENAME_FIELD_NAME = "__typename";
|
|
11
10
|
function getOrCreateItemInSuspenseCache(environment, index, factory) {
|
|
12
|
-
if (environment.fragmentCache[index] == null) environment.fragmentCache[index] = new
|
|
11
|
+
if (environment.fragmentCache[index] == null) environment.fragmentCache[index] = new _isograph_react_disposable_state.ParentCache(factory);
|
|
13
12
|
return environment.fragmentCache[index];
|
|
14
13
|
}
|
|
15
14
|
function normalizeData(environment, storeLayer, normalizationAst, networkResponse, variables, root, encounteredIds) {
|
|
@@ -170,8 +169,8 @@ function getParentRecordKey(astNode, variables) {
|
|
|
170
169
|
}
|
|
171
170
|
function getStoreKeyChunkForArgumentValue(argumentValue, variables) {
|
|
172
171
|
switch (argumentValue.kind) {
|
|
173
|
-
case "Object": return Object.fromEntries(argumentValue.value.map(([argumentName, argumentValue
|
|
174
|
-
return [argumentName, getStoreKeyChunkForArgumentValue(argumentValue
|
|
172
|
+
case "Object": return Object.fromEntries(argumentValue.value.map(([argumentName, argumentValue]) => {
|
|
173
|
+
return [argumentName, getStoreKeyChunkForArgumentValue(argumentValue, variables)];
|
|
175
174
|
}));
|
|
176
175
|
case "Literal": return argumentValue.value;
|
|
177
176
|
case "Variable": return variables[argumentValue.name] ?? "null";
|
|
@@ -196,8 +195,8 @@ function getNetworkResponseKey(astNode) {
|
|
|
196
195
|
}
|
|
197
196
|
function getArgumentValueChunk(argumentValue) {
|
|
198
197
|
switch (argumentValue.kind) {
|
|
199
|
-
case "Object": return "o_" + argumentValue.value.map(([argumentName, argumentValue
|
|
200
|
-
return argumentName + THIRD_SPLIT_KEY + getArgumentValueChunk(argumentValue
|
|
198
|
+
case "Object": return "o_" + argumentValue.value.map(([argumentName, argumentValue]) => {
|
|
199
|
+
return argumentName + THIRD_SPLIT_KEY + getArgumentValueChunk(argumentValue);
|
|
201
200
|
}).join("_") + "_c";
|
|
202
201
|
case "Literal": return "l_" + argumentValue.value;
|
|
203
202
|
case "Variable": return "v_" + argumentValue.name;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { StoreLayerWithData } from "./optimisticProxy.cjs";
|
|
2
|
+
import { DataId, IsographEnvironment, StoreLink, TypeName } from "./IsographEnvironment.cjs";
|
|
3
|
+
import { Variables } from "./FragmentReference.cjs";
|
|
4
|
+
import { NormalizationAstNodes } from "./entrypoint.cjs";
|
|
5
|
+
import { ParentCache } from "@isograph/react-disposable-state";
|
|
6
|
+
|
|
7
|
+
//#region src/core/cache.d.ts
|
|
8
|
+
type NetworkResponsePlural<T> = null | T | readonly T[] | readonly (null | T)[];
|
|
9
|
+
type NetworkResponseScalarValue = string | number | boolean | unknown;
|
|
10
|
+
type NetworkResponseValue = NetworkResponsePlural<NetworkResponseScalarValue> | NetworkResponsePlural<NetworkResponseObject>;
|
|
11
|
+
type NetworkResponseObject = {
|
|
12
|
+
readonly [key: ScalarNetworkResponseKey]: undefined | NetworkResponsePlural<NetworkResponseScalarValue>;
|
|
13
|
+
readonly [key: LinkedNetworkResponseKey]: undefined | NetworkResponsePlural<NetworkResponseObject>;
|
|
14
|
+
readonly [key: NetworkResponseKey]: undefined | NetworkResponsePlural<NetworkResponseScalarValue> | NetworkResponsePlural<NetworkResponseObject>;
|
|
15
|
+
readonly id?: DataId;
|
|
16
|
+
readonly __typename?: TypeName;
|
|
17
|
+
};
|
|
18
|
+
declare function normalizeData(environment: IsographEnvironment, storeLayer: StoreLayerWithData, normalizationAst: NormalizationAstNodes, networkResponse: NetworkResponseObject, variables: Variables, root: StoreLink, encounteredIds: EncounteredIds): EncounteredIds;
|
|
19
|
+
type EncounteredIds = Map<TypeName, Set<DataId>>;
|
|
20
|
+
type ParentRecordKey = string;
|
|
21
|
+
/**
|
|
22
|
+
* these don't actually start with the different prefixes, but they let
|
|
23
|
+
* us use multiple indexes, e.g.
|
|
24
|
+
* {
|
|
25
|
+
* readonly [key: `NOT_AN_ACTUAL_TYPE_LinkedParentRecordKey_${string} `]: ...
|
|
26
|
+
* readonly [key: `NOT_AN_ACTUAL_TYPE_ScalarParentRecordKey_${string} `]: ...
|
|
27
|
+
* }
|
|
28
|
+
*/
|
|
29
|
+
type LinkedParentRecordKey = `NOT_AN_ACTUAL_TYPE_LinkedParentRecordKey_${string}`;
|
|
30
|
+
type ScalarParentRecordKey = `NOT_AN_ACTUAL_TYPE_ScalarParentRecordKey_${string}`;
|
|
31
|
+
type NetworkResponseKey = string;
|
|
32
|
+
/**
|
|
33
|
+
* these don't actually start with the different prefixes, but they let
|
|
34
|
+
* us use multiple indexes, e.g.
|
|
35
|
+
* {
|
|
36
|
+
* readonly [key: `NOT_AN_ACTUAL_TYPE_LinkedNetworkResponseKey_${string} `]: ...
|
|
37
|
+
* readonly [key: `NOT_AN_ACTUAL_TYPE_ScalarNetworkResponseKey_${string} `]: ...
|
|
38
|
+
* }
|
|
39
|
+
*/
|
|
40
|
+
type LinkedNetworkResponseKey = `NOT_AN_ACTUAL_TYPE_LinkedNetworkResponseKey_${string}`;
|
|
41
|
+
type ScalarNetworkResponseKey = `NOT_AN_ACTUAL_TYPE_ScalarNetworkResponseKey_${string}`;
|
|
42
|
+
//#endregion
|
|
43
|
+
export { EncounteredIds, LinkedParentRecordKey, NetworkResponseObject, NetworkResponseScalarValue, NetworkResponseValue, ParentRecordKey, ScalarParentRecordKey, normalizeData };
|
|
44
|
+
//# sourceMappingURL=cache.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.cts","names":[],"sources":["../../src/core/cache.ts"],"mappings":";;;;;;;KAgDY,qBAAA,aAER,CAAA,YACS,CAAA,sBACQ,CAAA;AAAA,KACT,0BAAA;AAAA,KAEA,oBAAA,GACR,qBAAA,CAAsB,0BAAA,IACtB,qBAAA,CAAsB,qBAAA;AAAA,KAEd,qBAAA;EAAA,UAGA,GAAA,EAAK,wBAAA,eAEX,qBAAA,CAAsB,0BAAA;EAAA,UAChB,GAAA,EAAK,wBAAA,eAEX,qBAAA,CAAsB,qBAAA;EAAA,UAChB,GAAA,EAAK,kBAAA,eAEX,qBAAA,CAAsB,0BAAA,IACtB,qBAAA,CAAsB,qBAAA;EAAA,SACjB,EAAA,GAAK,MAAA;EAAA,SACL,UAAA,GAAa,QAAA;AAAA;AAAA,iBAGR,aAAA,CACd,WAAA,EAAa,mBAAA,EACb,UAAA,EAAY,kBAAA,EACZ,gBAAA,EAAkB,qBAAA,EAClB,eAAA,EAAiB,qBAAA,EACjB,SAAA,EAAW,SAAA,EACX,IAAA,EAAM,SAAA,EACN,cAAA,EAAgB,cAAA,GACf,cAAA;AAAA,KAkES,cAAA,GAAiB,GAAA,CAAI,QAAA,EAAU,GAAA,CAAI,MAAA;AAAA,KAgSnC,eAAA;;AA/XZ;;;;;;;KAyYY,qBAAA;AAAA,KAEA,qBAAA;AAAA,KAwEA,kBAAA;;;;AA/cZ;;;;;KAydY,wBAAA;AAAA,KAEA,wBAAA"}
|